@charset "utf-8";

.contentsInner{
    /*border: 1px solid #f00;*/
}

.fadeIn {
  opacity: 0;
  transition: 2s;
}
.fadeIn.is-show {
  opacity: 1;
}
img.roundedImg{
    border-radius: 4px;
}

/* 動画用リンクボタン ---------------*/
section .link_button{
    color: #fff;
    font-size: 16px;
    box-sizing: border-box;
    border-radius: 8px;
    background: #991400;
    padding: 12px 45px 15px 20px;
	transition: 0.5s;
	display: inline-block;
}
section a:hover .link_button {
	background: #000;
}
section .link_button span{
    position: relative;
	display: inline-block;
}
section .link_button span:before{
    position: absolute;
    content: '';
    width: 20px;
    height: 20px;
    background: #fff;
    border-radius: 50%;
    top: 50%;
    right: -25px;
    transform: translateY(-50%);
}
section .link_button span:after{
    position: absolute;
    content: '';
    box-sizing: border-box;
    width: 9px;
    height: 7px;
    right: -21px;
    top: 8px;
    border-top: 6px solid transparent;
    border-right: 0 solid transparent;
    border-left: 9px solid #000;
    border-bottom: 6px solid transparent;
}
/* 外部リンク用 ---------------*/
section .outLink_button a{
    border: 1px solid #C3C3C3;
    border-radius: 8px;
    color: #000;
}
section .outLink_button a {
    color: #000;
    font-size: 16px;
    box-sizing: border-box;
    border-radius: 8px;    
    padding: 12px 20px 15px 20px;
	transition: 0.5s;
	display: inline-block;
    background: #fff;
}
#pageBody section .outLink_button a:visited{
	color: #000;
}
section .outLink_button a:hover{
	background: #000;
    color: #fff !important;
}
#pageBody section .outLink_button a[target="_blank"]::after {
    content: '';
    background: url("/perspectives_symposium/shared/img/icon_window_red.svg") no-repeat;
    background-size: auto;
    background-size: 15px 15px;
    width: 15px;
    height: 15px;
}
#pageBody section .outLink_button a[target="_blank"]:hover::after {
    content: '';
    background: url("/perspectives_symposium/shared/img/icon_window_w.svg") no-repeat;
    background-size: auto;
    background-size: 15px 15px;
    width: 15px;
    height: 15px;
}


/*=============================================================
 header
=============================================================*/
#pageBody{padding-top: 0!important;}
/* #pageBlock
--------------------------------------------------------------*/
#pageBlock{
	/*display: flex;
	justify-content: center;
	align-items: center;*/
	/*max-height: 620px;*/
	background-color: transparent;
/*	background: url("/index/img/index_main.jpg")no-repeat;
	background-size: cover;
	padding: 16% 0 14%;*/
	position: relative;
	width: 100%;
	height: 100vh;
  overflow: hidden;
	background: #000;
}
#pageBlock::after{content: none;}
#pageBlock .video-box {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100vh;
    /*opacity: .6;*/
}
#pageBlock .video img{
    position: absolute;
    top: 0;
    left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#pageTtlMain{
	width: 100%;
	color: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
    text-align: left;
}
#pageTtlMain .contentsInner{
    max-width: 1280px;
    padding: 0 40px;
}
#pageTtlMain h1{
	font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 300;
    font-style: normal;
	color: #FBCC33;
    line-height: 1.1;
    /*height: 128px;*/
    /*text-align: center;*/
    letter-spacing: -1px;
    display: inline-block;
    text-align: right;
}
#pageTtlMain  h1 span.h1main{
    /*font-size: clamp(5.938rem, -2.313rem + 13.75vw, 8rem);*/
    font-size: clamp(5.938rem, -0.25rem + 10.31vw, 8rem);
}
#pageTtlMain  h1 span.h1sub{
    display: block;
    font-weight: 400;
	font-size: clamp(3.688rem, -1.563rem + 8.75vw, 5rem)
}
#pageTtlMain  p{
    color: #fff;
    font-weight: bold;
    font-size: 44px;
    line-height: 1.5;
}
#pageTtlMain  p.lead_sub{
    font-size: 20px;
    margin-bottom: 20px;
}


#pageBlock .scroll{
	position: absolute;
	bottom: 58px;
	left: 50%;
	color: #fff;
	font-size: 12px;
	transform: translateX(-50%);
}
#pageBlock .scroll span{
	position: relative;
	display: block;
}
#pageBlock .scroll span::after{
	content: '';
	width: 1px;
	height: 56px;
	position: absolute;
	right: 50%;
	bottom: -58px;
	background: #fff;
}
#pageBlock .scroll span::before{
	content: '';
	width: 1px;
	height: 40px;
	position: absolute;
	right: 50%;
	bottom: -98px;
	background: #666666;
}

/* #contentsArea
--------------------------------------------------------------*/
.flexBox{
    display: flex;
    flex-wrap: wrap;
}
.h2_ttl{
    font-size: 20px;
    font-weight: bold;
    color: #000;
    margin-bottom: 40px;    
}
.roundedArea{
	border-radius: 8px;
	background: #fff;
}

/*------------------------------------
    section02
------------------------------------*/
/* topBox01 */
#sec02 .topBox01{
/*
	display: flex;
	justify-content: center;
	align-items: center;
	max-height: 420px;
*/
	background-color: transparent;
	background: #c93 url("../img/sec02_bg.png") center center no-repeat;
	background-size: auto 100%;
    background-position: 80% top;
	position: relative;
	padding: 80px 0;
	width: 100%;
}
#sec02 .topBox01 .flexBox{
    justify-content: space-between;
    color: #fff;
}
#sec02 .topBox01 .flexBox div.flexBoxInner{width: 77%;}
#sec02 .topBox01 .flexBox h3{
	font-size: 28px;
    margin-bottom: 24px;
	color: #fff;
    font-weight: 400;
}
#sec02 .topBox01 .flexBox figure.flexBoxInner{width: 16%;}
#sec02 .topBox01 .flexBox figure.flexBoxInner figcaption{
    font-size: 14px;
    color: #000;
}
#sec02 .topBox01 .flexBox figure.flexBoxInner figcaption span{
    font-size: 18px;
    display: block;
    line-height: 2;
}

/*------------------------------------
    section03
------------------------------------*/
/* topBox01 */
#sec03 {
    background: #f3f3f3;
    padding-bottom: 80px;
}
#sec03 .titleArea{
    height: 238px;
    max-width: 1200px;
    padding: 32px 19px;
    color: #fff;
    border-radius: 8px 8px 0px 0px;
    position: relative;
}
#sec03 .session01 .titleArea{
	background: #000 url("../img/sec03-1_title_bg.jpg") no-repeat;
    background-size: auto 100%;
    background-position: right center;
}
#sec03 .titleArea .titleAreaInner{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: auto;
    padding-right: 19px;
}
#sec03 .titleArea p.subTitle{
    margin-bottom: 8px;
}
#sec03 .titleArea p.subTitle span{
    font-size: 14px;
    font-weight: bold;
    background: #3095BF;
    border-radius: 8px;
    padding: 8px 12px;
    line-height: 1;
    display: inline-block;
}
#sec03 .titleArea.session01 p span{
    background: #3095BF;
}
#sec03 .titleArea h3{
    font-size: 28px;
    line-height: 150%;
}
#sec03 .titleArea + p{
    background: #fff;
    border-radius: 0px 0px 8px 8px;
    padding: 24px;
}
#sec03 .flexBox.flexBoxWrap{
    justify-content: space-between;
    align-items:flex-start;
}    
#sec03 .flexBox.flexBoxWrap .flexBoxInner.card{
    margin-top: 24px;
    width: 49%;
    display: flex;
    flex-direction: column;
    min-height: 450px;
}
#sec03 .flexBox.flexBoxWrap .flexBox{
    
}
#sec03 .flexBox .flexBoxInner .flexBox .flexBoxInner:nth-child(1),
#sec03 .flexBox .flexBox p{
    width: 70%;
    /*border: 1px solid #369;*/
}
#sec03 .flexBox .flexBoxInner .flexBox .flexBoxInner:nth-child(2),
#sec03 .flexBox .flexBoxInner figure{
    width: 28%;
    /*border: 1px solid #0f0;*/
}
#sec03 .flexBox figure{
    align-items: flex-end;
    flex-direction: column;
    margin-top: auto;
}
#sec03 .flexBox .flexBoxInner.card > .flexBox{
    padding: 24px 24px 0 24px;
    min-height: 12em;
    justify-content: space-between;
}
#sec03 .flexBox .flexBoxInner.card h4{
    font-weight: 600;
    font-size: 18px;
    margin-bottom: 24px;
}
#sec03 .flexBox .flexBoxInner.card h4 span{
    display: block;
    color: #3095BF;
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 10px;
}
#sec03 .flexBox .flexBoxInner p {
    font-size: 16px
}
#sec03 .flexBox .flexBoxInner p span{
    display:block;
}
#sec03 .flexBox .flexBoxInner p span.corpName{
    font-weight: bold;
    font-size: 14px;
}
#sec03 .flexBox .flexBoxInner p span.position{
    font-size: 12px;
}
/* ポップアップ */
#sec03 .mov-area{
    margin: 24px auto;
    text-align: center;
}
#sec03 .mov-area a[target="_blank"]::after{
  content: none;
}  
#sec03 .box-toggle {
    margin-top: auto;
    border-bottom: none;
    border-top: 1px solid #ccc;
}
#sec03 .box-toggle .toggle-btn{
    text-align: center;
    border-top: none;
    Font-weight: 400;
    color: #333;
}
#sec03 .box-toggle .toggle-btn::after{
    content: none;
}
#sec03 .box-toggle .toggle-btn span{
    position: relative;
    height: inherit;
    padding: 20px 40px 20px 20px;
    display: inline-block;
}
#sec03 .box-toggle .toggle-btn span::after{
        position: absolute;
        content: '';
        width: 20px;
        height: 20px;
        background: #991400;
        border-radius: 50%;
        top: 50%;
        right: 10px;
        transform: translateY(-50%);        
    }
#sec03 .box-toggle .toggle-btn span em{
    position: relative;
    font-style: normal;
}
#sec03 .box-toggle .toggle-btn span em::before,
#sec03 .box-toggle .toggle-btn span em::after {
    content: '';
    display: block;
    width: 11px;
    height: 1px;
    background: #fff;
    position: absolute;
    right: -26px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
}  
#sec03 .box-toggle .toggle-btn span em::after {
    background: #fff;
    transform: translateY(-50%) rotate(90deg);
    transition: 0.5s;
}
#sec03 .box-toggle.open > .toggle-btn {
    background: none;
}
#sec03 .box-toggle.open .toggle-btn span em::after {
    transform: rotate(0);
    transition: 0.5s;
}
#sec03 .box-toggle.open > .toggle-box {
    padding: 20px 24px 10px 24px;
}
#sec03 .box-toggle.open > .toggle-box figure{
    width: 100%;
    margin-top: 24px;
}

/* session02 ------------------------------------*/
#sec03 h4{
	font-family: "Montserrat", sans-serif;
	font-size: 16px;
	margin-bottom: 12px;
}
#sec03 h4 span{
	font-size: 12px;
}
#sec03 .session02 .titleArea{
	background: #000 url("../img/sec03-2_title_bg.png") no-repeat;
    background-size: auto 100%;
    background-position: right center;
}
#sec03 .session02 .titleArea p.subTitle span{
    background: #4FA331;
}
#sec03 .session02 .titleArea p{
	font-size: 16px;
}
#sec03 .contentsInner:nth-child(2) .roundedArea:nth-child(2){
	padding: 24px;
}
#sec03 .contentsInner:nth-child(2) .flexBox{
	justify-content: space-between;
}
#sec03 .flexBox#panelists{
	border-top: 1px solid #c3c3c3;
	border-bottom: 1px solid #c3c3c3;
}
#sec03 .flexBox#panelists .flexBoxInner{
	width: 48%;
	padding: 24px 0;
}
#sec03 .flexBox#panelists .flexBoxInner:nth-of-type(3),
#sec03 .flexBox#panelists .flexBoxInner:nth-of-type(4){
	border-top: 1px solid #c3c3c3;
}
#sec03 .flexBox#panelists .flexBox p {
	width: auto;
}
#sec03 .flexBox#panelists figure{
    align-items: flex-start;
    flex-direction: column;
    margin-top: 0 !important;
}
#sec03 .flexBox#panelists .flexBoxInner .flexBox div.flexBoxInner{
	width: 70%;
	padding: 0;
	display: block;
}
#sec03 .flexBox#panelists .flexBoxInner .flexBox figure.flexBoxInner{
	width: 27%;
	padding: 0;
}
#sec03 .session02 .flexBox#panelists .flexBox p.link{
    font-size: 12px;
}
#sec03 .session02 .flexBox#panelists .flexBox p.link a:hover{
    text-decoration: underline;
}
#sec03 .flexBox#panelists .flexBoxInner .flexBox div.flexBoxInner a[target="_blank"]::after {
	content: "";
	display: inline;
	width: 14px;
	height: 14px;
	background: url("/perspectives_symposium/shared/img/icon_window_red.svg") 0 0 no-repeat;
	margin-left: 3px;
	position: absolute;
	bottom: 0.3em;
}

#sec03 .flexBox#facilitator .flexBoxInner{
	width: calc(48% - 32px);
	background: #f3f3f3;
	padding: 16px;
	border-radius: 8px;
}
#sec03 .flexBox#facilitator .flexBox .flexBoxInner:nth-child(1){
	width: 70%;
	padding: 0;
}
#sec03 .flexBox#facilitator .flexBox figure.flexBoxInner{
	width: 27%;
	margin-top: 0 !important;
	padding: 0;
}
#sec03 .contentsInner:last-of-type .mov-area{
	/*width: 50%;*/
	margin: 24px auto 0 auto;
}

#sec03 .session02.contentsInner div.youtubeWrap{
    text-align: center;
    margin: 0 auto;
    padding: 12px 24px 24px 24px;
}
#sec03 .session02.contentsInner div.youtubeWrap div.youtubeInn{
    position: relative;
    width: 100%;
/*    max-width: 800px;*/
    padding-top: 56.25%; /* 16:9のアスペクト比 */
    height: 0;
}
#sec03 .session02.contentsInner div.youtubeWrap div.youtubeInn iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
#sec03 .session02.contentsInner div.youtubeWrap .surveyForm{
    text-align: center;
    padding-top: 0;
    margin-top: 40px;;
}
#sec03 .session02.contentsInner div.youtubeWrap .surveyForm a{
    display: inline-block;
    padding: 12px 140px;
    background: #FCD145;
    text-align: center;    
}
#sec03 .session02.contentsInner div.youtubeWrap .surveyForm a[target="_blank"]::after {
    background: url("/perspectives_symposium/shared/img/icon_window_red.svg") no-repeat;
}
#sec03 .session02.contentsInner div.youtubeWrap .surveyForm span{
    font-weight: bold;
    font-size: 28px;
    line-height: 1.5;
}

/*------------------------------------
    section04
------------------------------------*/
#sec04 {
    background: #292929;
    padding-bottom: 80px;
}
#sec04 .contentsInner{}

#sec04 .topBox02{
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 100%;
    color: #fff;
}
#sec04 h2{
    color: #FCD145;
}
#sec04 p{
    margin-bottom: 24px;
}
#sec04 p.eventTitle{
    font-size: 28px;
    line-height: 1.5;   
}
#sec04 .flexBox{
    justify-content: space-between;   
}
#sec04 .flexBox .flexBoxInner:first-of-type{
    width: 65%;    
}
#sec04 .flexBox figure.flexBoxInner:last-of-type{
    width: 30%;    
}
#sec04 .link-area a{
    padding: 0;
}
#sec04 .link-area .link_button span{
    margin-right: 0.5em;
}
#sec04 .link-area a::before,
#sec04 .link-area a::after,
#sec04 .link-area .link_button span::after{
    content: none;
}
#sec04 .link-area .link_button span::before{
    background: #991400 url("/perspectives_symposium/shared/img/icon_window_w.svg") no-repeat;
    background-size: auto;
    background-size: 15px 15px;
    width: 15px;
    height: 15px;
    border-radius: 0;
}
#sec04 .link-area a:hover .link_button span::before{
    background: #000 url("/perspectives_symposium/shared/img/icon_window_w.svg") no-repeat;
    background-size: auto;
    background-size: 15px 15px;
    width: 15px;
    height: 15px;
    border-radius: 0;
}

/*------------------------------------
    section05
------------------------------------*/
#sec05 {
    background: #f3f3f3;
    padding-bottom: 80px;
}
#sec05 .perspectives_logo{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 60px;
    gap: 12px 30px;
}
#sec05 .perspectives_logo div{
    max-width: 260px;
    border: 1px solid #f00;
    
}
#sec05 .perspectives_logo div img{
    width: 100%;
}
#sec05 .perspectives_logo p{
    font-size: 12px;
    font-weight: bold;
    line-height: 18px;
}
#sec05 .perspectives_logo p span{
    color: #c93;
}
#sec05 .flexBox{
    justify-content: space-between;
}
#sec05 .flexBox .flexBoxInner{
    width: 65%;
}
#sec05 .flexBox figure{
    width: 30%;
}
#sec05 div.outLink_button{
    margin: 24px 0;
}
#sec05 div.youtubeWrap{
    text-align: center;
    margin: 0 auto;
}
#sec05 div.youtubeWrap div.youtubeInn{
    position: relative;
    width: 100%;
    padding-top: 56.25%; /* 16:9のアスペクト比 */
    height: 0;
}
#sec05 .contentsInner div.youtubeWrap div.youtubeInn iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Tablet
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
@media only screen and (max-width:959px){
/*#pageBody{padding-top: 80px!important;}	*/

    section + section{
        padding: 40px 0;
    }

/*　アコーディオン　*/
    .accordion {
        position: relative;
    }
/* ボタン */
    .accordion-btn {
        bottom: 0;
        color: #fff;
        cursor: pointer;
        display: inline-block;
        font-size: 18px;
        left: 0;
        margin: auto;
        padding: 5px 40px 5px 15px;
        position: absolute;
        right: 0;
        text-align: center;
        transition: all .2s;
        width: fit-content;
        z-index: 1;
        bottom: -65px;
        z-index: 0;
    }
/* 続きを読むボタンの表記 */
    .accordion-btn::before {
        content: "続きを読む";
    }
    .accordion-btn::after{
        position: absolute;
        content: '';
        width: 20px;
        height: 20px;
        background: #fff;
        border-radius: 50%;
        top: 50%;
        right: 10px;
        transform: translateY(-50%);        
    }
    .accordion-btn span {
        position: relative;
    }
  /* 二本の横棒を作成する */
    .accordion-btn span::before,
    .accordion-btn span::after {
        content: '';
        display: block;
        width: 11px;
        height: 1px;
        background: #000;
        position: absolute;
        right: -26px;
        top: 50%;
        transform: translateY(-50%);
        z-index: 1;
    }
  
  /* 2本の横棒のうち一本は縦棒にする */
      .accordion-btn span::after {
          background: #000;
    /* 横棒を縦にするために90℃回転させる */
          transform: translateY(-50%) rotate(90deg);
    /* プラスからマイナスへの切り替えをゆっくり行いアニメーションさせる */
          transition: 0.5s;
      }
  /*
  プラスがクリックされたら縦棒を横にしてマイナスにする疑似要素
  jQueryで付け外しを行う
  */
    .accordion-btn.is-show span::after {
          transform: rotate(0);
          transition: 0.5s;
    }
/* ボタンhover時のスタイル */
    .accordion-btn:hover {
        /*background-color: #fff;*/
        color: #000;
    }
    .accordion-text {
        overflow: hidden; /* テキストを隠す */
        position: relative;
    }
/* 最初に見えてるテキストエリアの高さ */
    .accordion-text.is-hide {
        height: 9em;
    }
    .accordion-text.is-hide:after {
        height: 9em;
    }
/* テキストをグラデーションで隠す */
    .accordion-text::before {
        /*background: #CC9933;
        content: "...";*/
        width: 1.9em;
        height: 2em; /* グラデーションで隠す高さ */
        position: absolute;
        bottom: -6px;
        right: 0;
    }
/* 閉じるボタンの位置 */
    .accordion-btn.is-show {
        bottom: -3em;
    }
/* 閉じるボタンの表記 */
    .accordion-btn.is-show::before {
        content: "閉じる";
    }
/* 続きを見るボタンをクリックしたらテキストを隠しているグラデーションを消す */
    .accordion-btn.is-show + .accordion-text::before {
        display: none;
    }
    
    
/*=============================================================
 header
=============================================================*/
#header{
	z-index: 99999999;
	background: #000;
}
.index-dsp-none{display: block!important;}
.index-block{display: none!important;}		

    
    

#pageBody {
    padding-top: 135px!important;
}	

/* #pageBlock
--------------------------------------------------------------*/
#pageBlock{
/*
	position: static;
	overflow: visible;
*/
    max-height: inherit;
    height: calc(100vh - 135px);
}
#pageBlock .video-box{
	/*height: ;*/
	/*padding-top: 160%;*/
}
#pageBlock .video img {
    top: 40%;
    left: 50%;
/*
    width: 100%;
    height: 100%;
    object-fit: cover;
*/
    transform: translate(-50%, -50%);
}
#pageTtlMain{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	/*min-height: 190px;*/
	/*background: #000;
	position: static;
	transform: none;*/
	/*padding: 20px 0;*/
	box-sizing: border-box;
    margin-top: -30px;
}
    #pageTtlMain .contentsInner {
        max-width: inherit;
        padding: 0 24px;
    }
    #pageTtlMain h1 {
        margin-bottom: 40px;
    }
    #pageTtlMain h1 span.h1main{
		/*font-size: clamp(3.75rem, 2.655rem + 5.48vw, 5.938rem);*/
		/*font-size: clamp(3.75rem, 2.896rem + 4.55vw, 5.625rem);*/
        /*font-size: clamp(3.125rem, 1.336rem + 7.16vw, 5.625rem);*/
        font-size: clamp(3.625rem, 2.341rem + 5.48vw, 5.625rem);
        float: left;
        text-align: left;
	}
    .justify-text {
        text-align: justify;
        text-align-last: justify; /* 対応ブラウザで最後の行も両端揃え */
    }
    
    .justify-text::after {
        content: "";
        display: inline-block;
        width: 100%;
    }
    
    
	#pageTtlMain h1 span.h1sub{
		font-size: clamp(20px,9vw,40px);
	}
    #pageTtlMain  p{
        font-size: 20px;
        line-height: 1.5;
        letter-spacing: 0;
    }
    #pageTtlMain  p.lead_sub{
        font-size: 15px;
        margin-bottom: 12px;
    }


	
#pageBlock .scroll{display: none;}
#pageBlock .scroll span::after,
#pageBlock .scroll span::before{content: none;}
    
    
    
/* #contentsArea
--------------------------------------------------------------*/
    #contentsArea{padding-top: 0;}
    #contents {
        margin-top: 0;
        padding-bottom: 0px;
    }

/*------------------------------------
    section02
------------------------------------*/
    #sec02 .topBox01 {
    	padding: 50px 0;
        background: #c93 url(../img/sec02_bg.png) center center no-repeat;
        background-size: auto 50%;
        background-position: 60% top;
    }
    #sec02 .topBox01 .flexBox .flexBoxInner{
        width: 100% !important;
    }
    #sec02 .topBox01 .flexBox figure.flexBoxInner{
        width: 50%;
        max-width: 210px;
        margin: 100px auto 0 auto;
        padding: 0 10%;
    }
    #sec02 .topBox01 .flexBox figure.flexBoxInner img{
       /* margin: 0 10%;*/
    }
    #sec02 .topBox01 .flexBox h3{
    	font-size: 22px;
    }
    
/*------------------------------------
    section03
------------------------------------*/
    #sec03 .session01 .titleArea{
        background-position: 70% center;
    }
    #sec03 .flexBox.flexBoxWrap{
        display: block;
    }
    #sec03 .flexBox .flexBoxInner.card{
        width: 100% !important;
    }
    #sec03 .flexBoxInner.card h4.sp-dsp-block{
        display: block;
        padding: 24px 15px 0 15px
    }
    #sec03 .flexBox .flexBoxInner.card h4{
        font-size: 22px
    }
    #sec03 .flexBox .flexBoxInner.card h4 span{
        font-size: 16px
    }
    #sec03 .flexBox .flexBoxInner .flexBox .flexBoxInner:nth-child(1){
		width: 55% !important;
        order: 2;
        width: inherit;
    }
    #sec03 .flexBox .flexBoxInner .flexBox .flexBoxInner:nth-child(2){
        order: 1;
        width: 40%;
    }
    #sec03 .flexBox.flexBoxWrap .flexBoxInner.card{
        min-height: inherit;
    }
	#sec03 .flexBox .flexBoxInner.card > .flexBox {
        min-height: inherit;
	}	
    #sec03 .flexBox .flexBoxInner .flexBox .flexBoxInner:nth-child(2){}
    #sec03 .flexBox .flexBox .flexBox{
        display: block;
    }
    #sec03 .flexBox .flexBox p{
        width: 100%;
    }
    #sec03 .flexBox .flexBoxInner figure{
        width: 50%;
		margin-top: 24px;
    }

/* session02 ------------------------------------*/
    #sec03 .session02 .titleArea{
        background-position: 50% center;
    }
	#sec03 .flexBox#panelists{
		border-top: none;
	}
	#sec03 .flexBox#panelists .flexBoxInner,
	#sec03 .flexBox#facilitator .flexBoxInner{
		width: 100%;
		border-top: 1px solid #c3c3c3;
	}
	 #sec03 .flexBox#panelists .flexBoxInner figure {
		 width: 50%;
		 margin-top: 0;
	}
    #sec03 .flexBox#panelists .flexBoxInner .flexBox .flexBoxInner:nth-child(1),
	#sec03 .flexBox#facilitator .flexBoxInner .flexBox .flexBoxInner:nth-child(1){
        order: 1;
		border-top: none;
    }
    #sec03 .flexBox#panelists .flexBoxInner .flexBox figure.flexBoxInner:nth-child(2),
	#sec03 .flexBox#facilitator .flexBoxInner .flexBox figure.flexBoxInner:nth-child(2){
        order: 2;
		border-top: none;
		text-align: right;
    }
    #sec03 .session02.contentsInner div.youtubeWrap{
    }
    #sec03 .session02.contentsInner div.youtubeWrap div.youtubeInn{
        position: relative;
        width: 100%;
        padding-top: 56.25%; /* 16:9のアスペクト比 */
        height: 0;
    }
    #sec03 .session02.contentsInner div.youtubeWrap div.youtubeInn iframe{
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
    #sec03 .session02.contentsInner div.youtubeWrap .surveyForm a{
        padding: 12px;
        width: calc(100% - 24px);
    }
    #sec03 .session02.contentsInner div.youtubeWrap .surveyForm span{
        font-size: 18px;
    }

/*------------------------------------
    section04
------------------------------------*/
    #sec04 .flexBox .flexBoxInner:first-of-type,
    #sec04 .flexBox figure.flexBoxInner:last-of-type{
        width: 100%;
    }
    #sec04 .flexBox figure.flexBoxInner:last-of-type{
        margin-top: 40px;        
    }
    #sec04 p.eventTitle {
        font-size: 22px;
    }

/*------------------------------------
    section05
------------------------------------*/
    #sec05 .perspectives_logo p,
    #sec05 .perspectives_logo figure,
    #sec05 .flexBox div.flexBoxInner,
    #sec05 .flexBox figure{
        width: 100%;
    }
    #sec05 .perspectives_logo{
        text-align: center;
    }
    #sec05 .flexBox figure{
        margin-top: 24px;
    }
    #sec05 .flexBox div.flexBoxInner .outLink_button a {
        display: block;
    }
    #pageBody section#sec05 .flexBox div.flexBoxInner .outLink_button a[target="_blank"]::after {
        position: absolute;
        right: 15px;
        top: 35%;
    }
}




