/* ************************************************ */
/**** 共通タグ設定 ****/
/* ************************************************ */
* {
box-sizing:border-box;
vertical-align:top;
}

html {
overflow: auto;
height: 100%;
font-size: 62.5%;
}

body {
font-family: "Yu Mincho", "YuMincho", serif;
padding: 0px;
margin: 0px;
font-size:1.6rem;
line-height:1.5;
color:#000;
background:#FAFAFF;
text-align:left;
height:100%;
word-wrap: break-word;
-webkit-text-size-adjust: 100%;
}

section {
text-align:center;
padding: 0;
}

p {
padding: 0;
margin:0 0 1.5em 0;
}

img{
max-width: 100%;
height: auto;
width :auto;
vertical-align:top;
}
video {
max-width: 100%;
height: auto;
width :auto;
vertical-align:top;
}

h1,h2,h3,h4,h5,h6 {
padding:0;
margin:0;
font-weight: inherit;
}

a {
color:#4D4B57;
text-decoration:underline;
text-decoration-skip-ink: none;
transition: all 0.5s ease;
}
a:hover {
color:#FF560F;
text-decoration:underline;
text-decoration-skip-ink: none;
transition: all 0.5s ease;
}

ul {
padding:0;
margin:0 0 1.5em 0;
list-style: none;
list-style-type: disc;
}
ul li {
padding: 0;
margin:0;
list-style: none;
}

ol {
padding:0;
margin:0 0 1.5em 0;
list-style: decimal outside;
}
ol li {
padding:0;
margin:0 0 0 1.5em;
}

dl {
padding: 0;
margin:0 0 1.5em 0;
}
dt {
margin:0;
padding:0;
}
dd {
margin:0;
padding:0;
}


/* ************************************************ */
/**** 共通クラス定義 ****/
/* ************************************************ */

/***** clearfix *****/
.clearfix:after { 
visibility: hidden;
display: block;
font-size: 0;
content: " ";
clear: both;
height: 0;
}

/***** inner *****/
.inner {
/*width:1280px;*/
max-width:100%;
margin:auto;
}
.inner > *:last-child {
margin-bottom:0;
}

/***** PCのみ/SPのみ *****/
.pc_only {
display:inline-block!important;
}
.sp_only {
display:none!important;
}

/***** 改行無し *****/
.nobr {
display:inline-block;
}

/***** フォントカラー *****/
.clr_orange {
color:#FF560F;
}


/* ****************************************************************************** */
/**** wrapper ****/
/* ****************************************************************************** */
.wrapper{
width:100%;
min-width:100%;
max-width:100%;
position:relative;
overflow: hidden;
background:#FAFAFF;
padding:100px 0 0 0;
}

/* ******************************************************************** */
/**** header ****/
/* ******************************************************************** */
.header {
background:rgba(250,250,255,.9);
text-align:left;
width:100%;
height:100px;
position:fixed;
top:0;
bottom:auto;
left:0;
right:0;
margin:auto;
z-index:10;
}

.header .inner {
display:flex;
justify-content:space-between;
align-items: center;
position:relative;
max-width:1420px;
padding:0 50px;
height:100px;
}
/***** logo *****/
.header .logo {
display:block;
padding:0 ;
margin:0 ;
width:280px;
height:auto;
}
.header .logo a {
display:block;
text-decoration:none;
}
.header .logo img {
width:280px;
height:auto;
}

/***** グロナビ *****/
.header .globalnavi {
width:calc(100% - 280px);
}

.header .globalnavi #navToggle {
display:none;
}

/*** sitenavi ***/
.header .sitenavi {
display:block;
margin: 0 ;
}

.header .sitenavi ul {
text-align:center;
position:relative;
display:flex;
align-items: center;
justify-content: right;
margin:0;
}
.header .sitenavi ul > li {
vertical-align: top;
margin:0 0 0 1.25em;
position:relative;
}
.header .sitenavi ul > li a {
text-decoration:none;
padding: 5px 0 4px 0;
margin:5px 0;
font-size:1.6rem;
line-height:20px;
color:#000;
font-weight: bold;
border-bottom:1.5px solid transparent;
display: flex;
align-items: center;
justify-content: center;
}
.header .sitenavi ul > li a:hover {
color:#FF560F;
border-bottom:1.5px solid #FF560F;
opacity:1;
transition: all 0.5s ease;
}
.header .sitenavi ul > li.entry {
margin:0 0 0 1.75em;
}
.header .sitenavi ul > li.entry a {
padding:8px .75em ;
margin:0;
background:#FF560F;
color:#fff;
border:2px solid #FF560F;
transition: all 0.5s ease;
}
.header .sitenavi ul > li.entry a:after {
font-family: "Font Awesome 5 Free";
content:'\f078';
font-weight:bold;
margin-left:1em;
font-size:1rem;
}
.header .sitenavi ul > li.entry a:hover {
color:#FF560F;
background:#fff;
opacity:1;
transition: all 0.5s ease;
}
.header .sitenavi ul > li.entry a:active {
box-shadow: 0 0 10px rgba(0,0,0,.2);
}

/* ******************************************************************** */
/**** container ****/
/* ******************************************************************** */

/* ************************************************ */
/**** main ****/
/* ************************************************ */

/******************** 共通 ********************/
/***** タイトル *****/
/* section_title */
.section_title {
font-size:4.8rem;
font-weight:bold;
color:#28272E;
margin:0 auto 1em auto;
padding:0;
}
.section_title:after {
content:"";
display:block;
width:120px;
border-bottom:1px solid #4D4B57;
margin:.25em auto 0 auto;
}

/***** speaker_card *****/
.speaker_card {
}
.speaker_card ul {
display:flex;
flex-wrap: wrap;
}
.speaker_card ul li {
width:calc((100% / 3) - 40px);
margin:calc(10% + 20px) 20px 40px 20px;
background:#FAFAFF;

border:1px solid #a3a2ab;
transition: all 0.5s ease;
box-shadow: 0 0 5px rgba(0,0,0,.1);
}
.speaker_card ul li a {
text-decoration:none;
}
.speaker_card ul li a .speaker_txt {
display:block;
padding:5% 10%;
text-align:left;
}
.speaker_card ul li a .speaker_txt .name {
font-size:2.4rem;
font-weight:bold;
color:#28272E;
border-bottom:1px solid transparent;
display: inline-block;
margin-bottom:.5em;
}
.speaker_card ul li a .speaker_txt .name small {
font-size:2rem;
}
.speaker_card ul li a .speaker_txt .position {
font-size:1.2rem;
color:#28272E;
}
.speaker_card ul li a .speaker_img {
position:relative;
width:90%;
margin:-30% 5% 0 5%;
border:1px solid transparent;
transition: all 0.5s ease;
}
.speaker_card ul li a .speaker_img .photo {
display:block;
width:100%;
height:0;
padding-top:calc(3/4 * 100%);
/*padding-top:calc(9/16 * 100%);*/
position:relative;
overflow:hidden;
transition: all 0.5s ease;
}
.speaker_card ul li a .speaker_img .photo img {
position:absolute;
top:50%;
left:50%;
transform: translate(-50%,-50%) scale(1,1);
width: 100%;
height: 100%;
object-fit: cover;
transition: all 0.5s ease;
}
.speaker_card ul li a .speaker_img .logo {
position:absolute;
bottom:15px;
left:1px;
background:#fff;
width: 65%;
border-radius:0 4px 4px 0;
padding:10px 20px;
}
/* Hover */
.speaker_card ul li:hover {
border:1px solid #4d4b57;
box-shadow: 0 0 5px rgba(0,0,0,.2);
transition: all 0.5s ease;
}
.speaker_card ul li a:hover .speaker_txt {
}
.speaker_card ul li a:hover .speaker_txt .name {
color:#FF560F;
border-bottom:1px solid #FF560F;
transition: all 0.5s ease;
}
.speaker_card ul li a:hover .speaker_img {
border:1px solid #c6c5d1 ;
transition: all 0.5s ease;
}
.speaker_card ul li a:hover .speaker_img .photo img {
transform: translate(-50%,-50%) scale(1.1,1.1);
transition: all 0.5s ease;
}

/***** モーダル *****/
.modalstage {
display: none;
position: fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
width: 100%;
height: 100%;
overflow: hidden;
margin: 0;
padding: 0;
background: #000;
box-sizing: border-box;
z-index: 9998;

background:rgba(115,113,128,.32);
display:block;
backdrop-filter: blur(5px);

visibility: hidden;
opacity: 0;
transition: 500ms;
}
.is-fadein {
visibility: visible;
opacity: 1;
}
.modalinnr {
background:#fff;
width:calc(100% - 100px);
/*height: max-content;*/
height:548px;
max-width:1008px;
max-height: calc(100% - 100px);
position:absolute;
top:0;
bottom:0;
left:0;
right:0;
margin:auto;
padding:0;
/*overflow: auto;*/
box-sizing: border-box;

display:flex;
flex-wrap:wrap;
}
.modal_close {
text-align:center;
display:block;
line-height:60px;
width:calc(100% - 100px);
max-width: 1008px;
/*height:60px;*/
margin:0px auto;
position:fixed;
/*right:0;
top:0;*/
}
.modal_close a {
color:#2B2E43;
text-decoration:none;
font-size:3rem;
line-height:60px;
font-weight: bold;
width: 60px;
height: 60px;
display: block;
background:none;
  float: right;
}

/*** modal_session ***/
.modal_session {
width:65%;
padding:50px;
text-align:left;
height:100%;
overflow: auto;
}
.modal_session .time {
color:#000;
font-size:2.4rem;
font-weight:bold;
letter-spacing:.1em;
margin-bottom:1em;
}
.modal_session .title {
color:#FF560F;
font-size:2.8rem;
font-weight:bold;
margin-bottom:1em;
}
.modal_session .description {
color:#28272E;
font-size:1.4rem;
line-height:1.75;
margin-bottom:3em;

min-height: 15rem;
}
.modal_session .entry {
display:block;
}
.modal_session .entry a {
padding:.75em 1.75em;
margin: 0 auto;
background: #FF560F;
color: #fff;
border-radius:4px;
text-decoration: none;
border: 2px solid #FF560F;
transition: all 0.5s ease;
display: flex;
align-items: center;
justify-content: center;
width: fit-content;
font-size: 1.6rem;
font-weight:bold;
letter-spacing:.05em;
}
.modal_session .entry a:after {
font-family: "Font Awesome 5 Free";
content:'\f078';
font-weight:bold;
margin-left:1em;
font-size:1.2rem;
}
.modal_session .entry a:hover {
color:#FF560F;
background:#fff;
opacity:1;
transition: all 0.5s ease;
}
.modal_session .entry a:active {
box-shadow: 0 0 10px rgba(0,0,0,.2);
}

/*** modal_speaker ***/
.modal_speaker {
width:35%;
padding:50px 30px;
text-align:left;
background:#EEEEF2;
height:100%;
overflow: auto;
}
.modal_speaker .speaker_title {
color:#000;
font-size:2.4rem;
font-weight:bold;
margin-bottom:1em;
}
.modal_speaker .modal_speaker_flex {
}
.modal_speaker .modal_speaker_flex .speaker_set {
margin:0 0 1em 0!important;
max-width:none!important;
}

.modal_speaker .people {
display:flex!important;
align-items: center!important;
margin-bottom:1em!important;
width:100%!important;
}
.modal_speaker .people .people_img {
width:120px!important;
height:120px!important;
padding-top:0!important;
display:block;
border-radius:50%;
overflow: hidden;
position:relative;
}
.modal_speaker .people .people_img img {
position:absolute;
top:50%;
left:50%;
transform: translate(-50%,-50%);
width: 100%;
height: 100%;
object-fit: cover;
}
.modal_speaker .people .people_txt {
width:calc(100% - 120px)!important;
padding:0 0 0 1em!important;
}
.modal_speaker .people .people_txt .name {
color:#28272E;
font-size:2.4rem;
font-weight:bold;
margin-bottom:.2em;
}
.modal_speaker .people .people_txt .name small {
font-size:2rem;
}
.modal_speaker .people .people_txt .position {
color:#000;
font-size:1.2rem;
font-weight:bold;
}

.modal_speaker .profile {
color:#28272E;
font-size:1.4rem;
line-height:1.75;
}

/******************** Scroll Down ********************/
.scroll_down{
position: fixed;
bottom: 50px;
left: 50%;
color: #000;
font-size: 1.6rem;
text-decoration: none;
font-family: 'Noto Sans JP', sans-serif;
z-index: 1;
padding:0 70px;
width: 1440px;
max-width: 100%;
transform: translateX(-50%);
}

.scroll_down_inner {
padding:0 30px;
position:relative;
}
.scroll_down_inner:before {
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 2px;
height: 10px;
animation:
allowmove 1.6s ease-in-out infinite,
allowmovehide 1.6s ease-out infinite;
border:6px solid transparent;
border-top:6px solid #000;
margin-left: 0;
}
.scroll_down_inner:after{
content:"";
position: absolute;
bottom:0;
left:6px;
width:2px;
height: 80px;
background:#000;
}

@keyframes allowmove{
0%{bottom:60px;}
100%{bottom:-20px;}
}

@keyframes allowmovehide{
0%{opacity:0}
50%{opacity:1;}
80%{opacity:0.9;}
100%{opacity:0;}
}

/******************** 参加はこちらから フローティングボタン ********************/
.entry_floating {
position:fixed;
right:50px;
bottom:50px;
z-index:1;
}
.entry_floating a {
font-size:2.4rem;
text-decoration:none;
border:2px solid #FF560F;
background:#FF560F;
color:#fff;
font-weight:bold;
border-radius:50%;
width:172px;
height:172px;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
flex-direction:column;
}
.entry_floating a:after {
font-family: "Font Awesome 5 Free";
content:'\f078';
font-weight:bold;
font-size:1.6rem;
margin-top: .25em;
}
.entry_floating a:hover {
background:#fff;
color:#FF560F;
}
.entry_floating a:active {
box-shadow: 0 0 10px rgba(0,0,0,.2);
}

/******************** メインビジュアル ********************/
.mainvisual {
width:100%;
position:relative;
padding: 0 50px;
margin-bottom:100px;
}

.mainvisual .inner {
width:1320px;
text-align: left;
border:1px solid #4D4B57;
padding:100px 50px;
margin:20px auto 0 auto;
}
/*** mv_txt ***/
.mainvisual .mv_txt {
}
.mainvisual .mv_txt .site_title {
/*font-size:5.6rem;*/
font-size: 4vw;
line-height:1.5;
font-weight:bold;
margin-bottom:.5em;
}
.mainvisual .mv_txt .site_title span {
display:inline-block;
letter-spacing: -.1em;
}
.mainvisual .mv_txt .site_title big {
/*font-size:8rem;*/
font-size: 5.8vw;
vertical-align: baseline;
margin-right: .1em;
}

.mainvisual .mv_txt .date {
display:inline-block;
text-align:right;
/*font-size:3.2rem;*/
font-size: 2.4vw;
font-weight:bold;
margin-bottom:1em;
}

.mainvisual .mv_txt .entry {
display:block;
}
.mainvisual .mv_txt .entry a {
padding: 1vw 2.5vw;
margin: 0;
background: #FF560F;
color: #fff;
text-decoration: none;
border: 2px solid #FF560F;
transition: all 0.5s ease;
display: flex;
align-items: center;
justify-content: center;
width: fit-content;
font-size: 1.6vw;
font-weight:bold;
letter-spacing:.05em;
}
.mainvisual .mv_txt .entry a:after {
font-family: "Font Awesome 5 Free";
content:'\f078';
font-weight:bold;
margin-left:1.5vw;
font-size:1vw;
}
.mainvisual .mv_txt .entry a:hover {
color:#FF560F;
background:#fff;
opacity:1;
transition: all 0.5s ease;
}
.mainvisual .mv_txt .entry a:active {
box-shadow: 0 0 10px rgba(0,0,0,.2);
}

/*** mv_img ***/
.mainvisual .mv_img {
position:absolute;
right: 0;
top: 50%;
transform: translateY(-50%);
width:50vw;
}
.mainvisual .mv_img img {
width:100%;
}

/******************** コンセプト ********************/
.concept {
background:url(../images/grid_bg.svg) repeat center center;
position:relative;
padding:100px 50px;
box-shadow:inset 50px 50px 25px #FAFAFF, inset -50px -50px 25px #FAFAFF;
}
.concept .inner {
width: fit-content;
max-width:100%;
padding:80px 100px;
margin:0 auto ;
background:#FAFAFF;
box-shadow: 0 0 3px rgba(0,0,0,.2);
text-align:left;
}

.concept .concept_copy {
font-size: 4rem;
font-weight:bold;
color: #FF560F;
margin-bottom: 1em;
}
.concept .concept_text {
font-size: 2.4rem;
line-height:1.75;
font-weight:bold;
color: #28272E;
}

/******************** 告知ムービー ********************/
.movie {
background:#FAFAFF;
padding:100px 50px;
}
.movie .inner {
width: 1160px;
max-width:100%;
padding:40px;
margin:0 auto ;
position:relative;
}
.movie .inner:before {
content:"";
border-left:1px solid #4D4B57;
width:40%;
height:0;
padding-top:40%;
position:absolute;
left:0;
bottom:-40px;
}
.movie .inner:after {
content:"";
border-top:1px solid #4D4B57;
width:40%;
height:0;
padding-top:40%;
position:absolute;
right:-40px;
top:0;
}
.movie .movie_stage:before {
content:"";
border-bottom:1px solid #4D4B57;
width:40%;
height:0;
padding-top:40%;
position:absolute;
left:0;
bottom:0;
}
.movie .movie_stage:after {
content:"";
border-right:1px solid #4D4B57;
width:40%;
height:0;
padding-top:40%;
position:absolute;
right:0;
top:0;
}

/******************** ピックアップスピーカー ********************/
.pickup {
background:#FAFAFF;
padding:100px 0;
}
.pickup .inner {
width: 1120px;
max-width:100%;
padding:0 20px;
margin:0 auto ;
position:relative;
}
.pickup .speaker_card ul {
justify-content: center;
}

/******************** スピーカー ********************/
.speaker {
background:#F5F5F5;
padding:100px 0;
}
.speaker .inner {
width: 1120px;
max-width:100%;
padding:0 20px;
margin:0 auto ;
position:relative;
}

/******************** タイムテーブル ********************/
.timetable {
background:url(../images/grid_bg.svg) repeat center center;
position:relative;
padding:100px 50px;
box-shadow:inset 50px 50px 25px #FAFAFF, inset -50px -50px 25px #FAFAFF;
}
.timetable .inner {
width: 1180px;
max-width:100%;
margin:0 auto ;
}
/***** 開催日TAB *****/
.timetable .schedule_select {
display:flex;
justify-content: space-between;
}
.timetable .schedule_select li {
width:calc((100% - 74px) / 2);
border:1px solid #4D4B57;
background:#FAFAFF;
padding:.5em 1em;
color:#28272E;
font-size:2.4rem;
font-weight:bold;
display:block;
}
/***** スケジュール *****/
.timetable .schedule {
}
.timetable .schedule .schedule_block {
display:flex;
justify-content: space-between;
flex-wrap: wrap;
margin-bottom:1em;
position:relative;
}
.timetable .schedule .schedule_block:after {
content:"";
width:44px;
border-bottom:1px solid #000;
margin: 1em auto 0 auto;
}
.timetable .schedule .schedule_block .day1 ,
.timetable .schedule .schedule_block .day2 {
width:calc((100% - 74px) / 2);
/*height: 100%;*/
margin-bottom: 4em;
border:1px solid #a3a2ab;
background:#FAFAFF;
box-shadow: 0 0 5px rgba(0,0,0,.1);
transition: all 0.5s ease;
}
.timetable .schedule .schedule_block .day1:hover ,
.timetable .schedule .schedule_block .day2:hover {
border:1px solid #FF560F;
box-shadow: 0 0 5px rgba(0,0,0,.2);
transition: all 0.5s ease;
}
.timetable .schedule .schedule_block .day1 a ,
.timetable .schedule .schedule_block .day2 a {
text-decoration:none;
display:block;
padding:30px;
transition: all 0.5s ease;
}

.timetable .schedule .schedule_block .time {
color:#000;
font-size:2.4rem;
font-weight:bold;
letter-spacing:.1em;
margin-bottom:1em;
text-align:left;
}
.timetable .schedule .schedule_block .title {
color:#FF560F;
font-size:2.8rem;
font-weight:bold;
margin-bottom:1em;
text-align:left;
transition: all 0.5s ease;
}
.timetable .schedule .schedule_block a:hover .title {
text-decoration:underline;
text-underline-offset: .25em;
transition: all 0.5s ease;
}

.timetable .schedule .schedule_block .speaker_flex {
display:flex;
justify-content: center;
}

.timetable .schedule .schedule_block .speaker_set {
margin:1em;
width: 100%;
max-width: 150px;
}
.timetable .schedule .schedule_block .speaker_set .people {
display:block;
margin-bottom:0;
/*width:120px;*/
}
.timetable .schedule .schedule_block .speaker_set .people .people_img {
width:120px;
height:120px;
display:block;
border-radius:50%;
overflow: hidden;
position:relative;
border:1px solid #c6c5d1;
margin:auto;
/*  width: 100%;
  height: 0;
  padding-top: 100%;*/
}
.timetable .schedule .schedule_block .speaker_set .people .people_img img {
position:absolute;
top:50%;
left:50%;
transform: translate(-50%,-50%);
width: 100%;
height: 100%;
object-fit: cover;
}
.timetable .schedule .schedule_block .speaker_set .people .people_txt {
width:100%;
padding:1em 0 0 0;
}
.timetable .schedule .schedule_block .speaker_set .people .people_txt .name {
color:#28272E;
font-size:2rem;
font-weight:bold;
margin-bottom:.2em;
}
.timetable .schedule .schedule_block .speaker_set .people .people_txt .name small {
font-size:1.6rem;
}
.timetable .schedule .schedule_block .speaker_set .people .people_txt .position {
color:#000;
font-size:1.2rem;
font-weight:bold;
}

.timetable .schedule .schedule_block .timeline {
width:44px;
}
.timetable .schedule .schedule_block .timeline span {
width:44px;
height:100%;
background:#EEEEF2;
font-size:2.4rem;
font-weight:bold;
margin:auto;
display:flex;
align-items: center;
justify-content: center;
}


.timetable .schedule .schedule_block.pm1 .day1 ,
.timetable .schedule .schedule_block.pm1 .day2 {
transform: translateY(-4em);
}
.timetable .schedule .schedule_block.pm2 .day1 ,
.timetable .schedule .schedule_block.pm2 .day2 {
transform: translateY(-6em);
}
.timetable .schedule .schedule_block.pm3 .day1 ,
.timetable .schedule .schedule_block.pm3 .day2 {
transform: translateY(-8em);
}
.timetable .schedule .schedule_block.pm4 .day1 ,
.timetable .schedule .schedule_block.pm4 .day2 {
transform: translateY(-10em);
}
.timetable .schedule .schedule_block.pm5 .day1 ,
.timetable .schedule .schedule_block.pm5 .day2 {
transform: translateY(-12em);
}
.timetable .schedule .schedule_block.pm5:after {
display:none;
}
.timetable .schedule .schedule_block.pm5 {
margin-bottom: -13em;
}
.timetable .schedule .schedule_block.pm5 .timeline span {
height:calc(100% - 9em);
}


/******************** 参加申し込みフォーム ********************/
.entryform {
position:relative;
padding:150px 50px;
}
.entryform .inner {
width: 960px;
max-width:100%;
padding:50px 100px;
margin:0 auto ;
box-shadow: 0 0 5px rgba(0,0,0,.1);
}

/******************** 開催概要 ********************/
.outline {
background:#F5F5F5;
padding:100px 50px;
}
.outline .inner {
width: 960px;
max-width:100%;
padding:0 ;
margin:0 auto ;
position:relative;
}

.outline dl {
display:flex;
flex-wrap:wrap;

font-size:2.4rem;
color:#000;
font-weight:bold;
text-align:left;
border-top:1px solid #4D4B57;
}
.outline dl dt {
width:10em;
border-bottom:1px solid #4D4B57;
padding:1em 0;
}
.outline dl dd {
width:calc(100% - 10em);
border-bottom:1px solid #4D4B57;
padding:1em 0;
}
.outline dl dd .al_right {
text-align:right;
display: inline-block;
}

/******************** よくあるご質問 ********************/
.faq {
padding:100px 50px;
}
.faq .inner {
width: 960px;
max-width:100%;
padding:0 ;
margin:0 auto ;
position:relative;
}

.faq dl {
text-align:left;
}
.faq dl .qa {
color:#000;
font-weight:bold;
padding: 20px;
margin-bottom: 20px;
cursor:pointer;
border-radius:4px;
border:1px solid #FAFAFF;
box-shadow: 0 0 5px rgba(0,0,0,.1);
position:relative;
transition: all 0.5s ease;
}
.faq dl .qa:hover {
border:1px solid #C6C5D1;
transition: all 0.5s ease;
box-shadow: 0 0 5px rgba(0,0,0,.2);
}
.faq dl .qa:after {
font-family: "Font Awesome 5 Free";
content: "\f078";
font-size:2rem;
line-height:60px;
width:60px;
height:60px;
text-align:center;
position:absolute;
top:20px;
right:20px;
}
.faq dl .qa.faq_open:after {
font-family: "Font Awesome 5 Free";
content: "\f077";
font-size:2rem;
line-height:60px;
}
.faq dl .qa dt {
font-size:2.4rem;
position:relative;
padding:0 60px 0 calc(68px + 1em);
min-height:68px;
display: flex;
align-items: center;
}
.faq dl .qa dt span {
text-decoration: underline;
text-decoration-color: #FAFAFF;
text-underline-offset: .5em;
transition: all 0.5s ease;
}
.faq dl .qa:hover dt span {
text-decoration-color: #FF560F;
transition: all 0.5s ease;
}
.faq dl .qa dt:before {
content:"";
width:68px;
height:68px;
display:block;
border-radius:4px;
border:1px solid #FF560F;
background:#FF560F url(../images/q.svg) no-repeat center center;
background-size:30px 30px;
position:absolute;
left: 0;
}
.faq dl .qa dd {
display:none;

font-size:2rem;
position:relative;
margin-top: 30px;
padding-left:calc(68px + 1em);
min-height:68px;
align-items: center;
}
.faq dl .qa.faq_open dd {
display: flex;
align-items: flex-start;
}
.faq dl .qa dd:before {
content:"";
width:68px;
height:68px;
display:block;
border-radius:4px;
border:1px solid #FF560F;
background:#fff url(../images/a.svg) no-repeat center center;
background-size:30px 30px;
position:absolute;
left: 0;
}
.faq dl .qa dd span {
padding:.25em 0 0 0;
}



/* ******************************************************************** */
/**** footer ****/
/* ******************************************************************** */
.footer {
padding: 0;
}

.footer .inner {
max-width: 100%;
padding: 20px;
}

/* footer_navi */
.footer ul.footer_navi {
margin:0 auto 100px auto;
display:flex;
justify-content: center;
}
.footer ul.footer_navi li {
  margin: 0 1em;
}
.footer ul.footer_navi li a {
font-size:1.6rem;
}

.footer .copyright {
color:#28272E;
font-size:1.6rem;
line-height:1;
text-align:center;
}



/************************************************ 1340px以下 ************************************************/
@media screen and (max-width: 1340px){

/* ****************************************************************************** */
/**** wrapper ****/
/* ****************************************************************************** */
/* ******************************************************************** */
/**** header ****/
/* ******************************************************************** */
/***** logo *****/
.header .logo {
width:200px;
}
.header .logo img {
width:200px;
}

/***** グロナビ *****/
.header .globalnavi {
width:calc(100% - 200px);
}

/*** sitenavi ***/
.header .sitenavi {
}
.header .sitenavi ul {
}
.header .sitenavi ul > li {
margin:0 0 0 .75em;
}
.header .sitenavi ul > li a {
font-size:1.4rem;
}
.header .sitenavi ul > li.entry {
margin:0 0 0 1.25em;
}
.header .sitenavi ul > li.entry a {
padding:8px .75em ;
}

}

/************************************************ 1100px以下 ************************************************/
@media screen and (max-width: 1100px){
/* ****************************************************************************** */
/**** wrapper ****/
/* ****************************************************************************** */

/* ******************************************************************** */
/**** header ****/
/* ******************************************************************** */

/***** グロナビ *****/
.header.openNav {
}
.header .globalnavi {
display:none;

margin:0;
padding: 0;
position:fixed;
width: 100%;
height:100%;
top:100px;
left: 0;
right:0;
transform: none;
/*backdrop-filter: blur(5px);*/
background:rgba(250,250,255,.95);
}
.header.openNav .globalnavi {
display:block;
overflow-y: auto;
height: calc(100% - 100px);
}
.header #navToggle {
display:block;
text-align:center;
width:40px;
height:40px;
cursor:pointer;
margin: 0 ;
padding: 0;
z-index:10;
position: absolute;
right: 40px;
top: 50%;
transform: translateY(-50%);
transition: all 0.5s ease;
}
.header #navToggle:after {
content:"";
width:40px;
height:40px;
display:block;
vertical-align:middle;
background:url(../images/hamburger.svg) no-repeat center center;
background-size:40px 40px;
}
.header.openNav #navToggle:after {
content:"";
width:40px;
height:40px;
display:block;
vertical-align:middle;
background:url(../images/close.svg) no-repeat center center;
background-size:40px 40px;
}

/*** sitenavi ***/
.header .sitenavi {
}

.header .sitenavi ul {
text-align:left;
display:block;
margin:20px;
}
.header .sitenavi ul > li {
margin:0;
}
.header .sitenavi ul > li a {
padding: 0 0 1em 0;
margin: 0 0 2em 0;
display:block;
font-size:1.6rem;
line-height: 2;
border-bottom:1.5px solid #000;
}
.header .sitenavi ul > li.entry {
margin:0 auto;
text-align:center;
width:100%;
}
.header .sitenavi ul > li.entry a {
padding: 8px 1.25em;
display: flex;
width: fit-content;
margin: auto;
}

/* ******************************************************************** */
/**** container ****/
/* ******************************************************************** */

/* ************************************************ */
/**** main ****/
/* ************************************************ */
/***** モーダル *****/

/*** modal_session ***/
.modal_session {
width:60%;
padding:40px;
}
/*** modal_speaker ***/
.modal_speaker {
width:40%;
padding:40px 20px;
}

.modal_speaker .people .people_img {
width:80px!important;
height:80px!important;
}
.modal_speaker .people .people_txt {
width:calc(100% - 80px)!important;
}






/******************** Scroll Down ********************/
.scroll_down{
bottom: 20px;
font-size: 1.6rem;
padding:0 20px;
}

.scroll_down_inner {
padding:0 20px;
}
.scroll_down_inner:after{
height: 50px;
}

@keyframes allowmove{
0%{bottom:30px;}
100%{bottom:-20px;}
}

/******************** 参加はこちらから フローティングボタン ********************/
.entry_floating {
right:20px;
bottom:20px;
}

.entry_floating a {
font-size:1.8rem;
width:120px;
height:120px;
}
.entry_floating a:after {
font-size:1.4rem;
margin-top: .25em;
}


}
/************************************************ 768px以下 ************************************************/
@media screen and (max-width: 768px){
/* ************************************************ */
/**** 共通タグ設定 ****/
/* ************************************************ */


/* ************************************************ */
/**** 共通クラス定義 ****/
/* ************************************************ */

/***** PCのみ/SPのみ *****/
.pc_only {
display:none!important;
}
.sp_only {
display:inline-block!important;
}

/* ****************************************************************************** */
/**** wrapper ****/
/* ****************************************************************************** */
.wrapper {
padding: 60px 0 0 0;
}

/* ******************************************************************** */
/**** header ****/
/* ******************************************************************** */
.header {
height:60px;
}

.header .inner {
padding:0 20px;
height:60px;
}

.header #navToggle {
right: 20px;
}
/***** グロナビ *****/
.header .globalnavi {
top:60px;
}
.header.openNav .globalnavi {
height: calc(100% - 60px);
}


/* ******************************************************************** */
/**** container ****/
/* ******************************************************************** */

/* ************************************************ */
/**** main ****/
/* ************************************************ */


/******************** 共通 ********************/
/***** タイトル *****/
/* section_title */
.section_title {
font-size:3rem;
}

/***** speaker_card *****/
.speaker_card {
}
.speaker_card ul {
max-width: 640px;
margin:auto;
}
.speaker_card ul li {
width:100%;
margin:calc(30% + 20px) 0 20px 0;
}

/***** モーダル *****/
.modalinnr {
width:calc(100% - 40px);
/*height: max-content;*/
height:calc(100% - 100px);
overflow: auto;
}
.modal_close {
width:calc(100% - 40px);
}

/*** modal_session ***/
.modal_session {
width:100%;
height: auto;
padding:20px;
overflow:inherit;
}
.modal_session .description {
min-height: 5rem;
}
/*** modal_speaker ***/
.modal_speaker {
width:100%;
height: auto;
padding:20px 20px;
overflow:inherit;
}
.modal_speaker .modal_speaker_flex {
display:flex;
justify-content: center;
flex-wrap:wrap;
}
.modal_speaker .modal_speaker_flex .speaker_set {
margin:1em!important;
max-width:120px!important;
}

.modal_speaker .people {
display:block!important;
margin-bottom:0!important;
}
.modal_speaker .people .people_img {
width:120px!important;
height:120px!important;
}
.modal_speaker .people .people_txt {
width:100%!important;
padding:1em 0 0 0!important;
}
.modal_speaker .people .people_txt .name {
font-size:2rem;
margin-bottom:.2em;
text-align:center;
}
.modal_speaker .people .people_txt .name small {
font-size:1.6rem;
}
.modal_speaker .people .people_txt .position {
font-size:1.2rem;
text-align:center;
}

.modal_speaker .profile {
display:none;
}


/******************** 参加はこちらから フローティングボタン ********************/
.entry_floating a {
font-size:1.2rem;
line-height: 1.2;
width:70px;
height:70px;
}
.entry_floating a:after {
font-size:1rem;
}

/******************** メインビジュアル ********************/
.mainvisual {
padding: 0 20px;
margin-bottom:0;
}

.mainvisual .inner {
padding:0 ;
margin:10px auto 0 auto;
}
/*** mv_txt ***/
.mainvisual .mv_txt {
padding:7vw 5vw 0 5vw;
margin:0 ;
text-align:center;
}
.mainvisual .mv_txt .site_title {
font-size: 9vw;
line-height:1.3;
margin-bottom: .25em;
text-align:left;
display: inline-grid;
}
.mainvisual .mv_txt .site_title big {
font-size: 12vw;
margin-right: 0;
}

.mainvisual .mv_txt .date {
font-size: 4vw;
}

.mainvisual .mv_txt .entry a {
padding: 1.5vw 4vw;
font-size: 4vw;
margin:auto;
}
.mainvisual .mv_txt .entry a:after {
font-size:2.5vw;
}

/*** mv_img ***/
.mainvisual .mv_img {
position:relative;
right: auto;
top:auto;
transform: translateY(0);
width:calc(100% + 42px);
margin:0 -20px -1px -20px;
}

/******************** コンセプト ********************/
.concept {
padding:50px 20px;
background-size: 30px 30px;
box-shadow: inset 25px 25px 25px #FAFAFF, inset -25px -25px 25px #FAFAFF;
}
.concept .inner {
padding:40px;
}

.concept .concept_copy {
font-size: 2.4rem;
}
.concept .concept_text {
font-size: 1.8rem;
}

/******************** 告知ムービー ********************/
.movie {
padding:50px 10px;
}
.movie .inner {
padding:10px;
}
.movie .inner:before {
bottom:-10px;
}
.movie .inner:after {
right:-10px;
}

/******************** ピックアップスピーカー ********************/
.pickup {
padding:50px 10px;
}
.pickup .inner {
padding:0 20px;
}


/******************** スピーカー ********************/
.speaker {
padding:50px 10px;
}
.speaker .inner {
padding:0 20px;
}


/******************** タイムテーブル ********************/
.timetable {
padding:50px 20px;
background-size: 30px 30px;
box-shadow: inset 25px 25px 25px #FAFAFF, inset -25px -25px 25px #FAFAFF;
}
.timetable .inner {
}
/***** 開催日TAB *****/
.timetable .schedule_select {
display:flex;
justify-content: space-between;
}
.timetable .schedule_select li {
width:calc((100% - 10px) / 2);
padding:.5em 1em;
font-size:1.6rem;
cursor:pointer;
color:#878594;
border:1px solid #878594;
position:relative;
}
.timetable .schedule_select li.active {
color:#FF560F;
border:1px solid #FF560F;
}
.timetable .schedule_select li.active:before {
content: "";
position: absolute;
bottom: -16px;
left: 50%;
border: 8px solid transparent;
border-top: 8px solid #FAFAFF;
z-index: 2;
transform: translateX(-50%);
}
.timetable .schedule_select li.active:after {
content: "";
position: absolute;
bottom: -20px;
left: 50%;
border: 10px solid transparent;
border-top: 10px solid #FF560F;
z-index: 1;
transform: translateX(-50%);
}

/***** スケジュール *****/
.timetable .schedule {
}
.timetable .schedule .schedule_block {
}
.timetable .schedule .schedule_block:after {
display:none;
}
.timetable .schedule .schedule_block .hide {
display:none;
}
.timetable .schedule .schedule_block .day1 ,
.timetable .schedule .schedule_block .day2 {
width:100%;
margin-bottom: 1em;
}
.timetable .schedule .schedule_block .day1 a ,
.timetable .schedule .schedule_block .day2 a {
padding:20px;
}

.timetable .schedule .schedule_block .time {
color:#000;
font-size:2.4rem;
font-weight:bold;
letter-spacing:.1em;
margin-bottom:1em;
text-align:left;
}
.timetable .schedule .schedule_block .title {
color:#FF560F;
font-size:2.8rem;
font-weight:bold;
margin-bottom:1em;
text-align:left;
transition: all 0.5s ease;
}
.timetable .schedule .schedule_block a:hover .title {
text-decoration:underline;
transition: all 0.5s ease;
}

.timetable .schedule .schedule_block .speaker_flex {
flex-wrap:wrap;
}
.timetable .schedule .schedule_block .speaker_set {
margin:1em;
max-width: 120px;
}

.timetable .schedule .schedule_block .timeline {
display:none;
}

.timetable .schedule .schedule_block.pm1 .day1 ,
.timetable .schedule .schedule_block.pm1 .day2 {
transform: translateY(0);
}
.timetable .schedule .schedule_block.pm2 .day1 ,
.timetable .schedule .schedule_block.pm2 .day2 {
transform: translateY(0);
}
.timetable .schedule .schedule_block.pm3 .day1 ,
.timetable .schedule .schedule_block.pm3 .day2 {
transform: translateY(0);
}
.timetable .schedule .schedule_block.pm4 .day1 ,
.timetable .schedule .schedule_block.pm4 .day2 {
transform: translateY(0);
}
.timetable .schedule .schedule_block.pm5 .day1 ,
.timetable .schedule .schedule_block.pm5 .day2 {
transform: translateY(0);
}
.timetable .schedule .schedule_block.pm5:after {
display:none;
}
.timetable .schedule .schedule_block.pm5 {
margin-bottom: 0;
}
.timetable .schedule .schedule_block.pm5 .timeline span {
height:100%;
}

/******************** 参加申し込みフォーム ********************/
.entryform {
position:relative;
padding:50px 20px;
}
.entryform .inner {
padding:20px;
}

/******************** 開催概要 ********************/
.outline {
padding:50px 20px;
}
.outline .inner {
}

.outline dl {
font-size:1.8rem;
}
.outline dl dt {
width:100%;
border-bottom:0;
padding:1em 0 0 0;
}
.outline dl dd {
width:100%;
border-bottom:1px solid #4D4B57;
padding:.5em 0 1em 0;
}

/******************** よくあるご質問 ********************/
.faq {
padding:50px 20px;
}
.faq .inner {
}

.faq dl {
}
.faq dl .qa {
padding: 20px;
}
.faq dl .qa:after {
font-size:1.6rem;
line-height:30px;
width:30px;
height:30px;
top:20px;
right:20px;
}
.faq dl .qa.faq_open:after {
font-size:1.6rem;
line-height:30px;
}
.faq dl .qa dt {
font-size:1.8rem;
padding:0 30px 0 calc(30px + 1em);
min-height:30px;
align-items: flex-start;
}
.faq dl .qa dt:before {
width:30px;
height:30px;
background-size:20px 20px;
}
.faq dl .qa dt span {
padding:.15em 0 0 0;
text-underline-offset: .25em;
}
.faq dl .qa dd {

font-size:1.4rem;
margin-top: 20px;
padding-left:calc(30px + 1em);
min-height:30px;
}
.faq dl .qa dd:before {
width:30px;
height:30px;
background-size:20px 20px;
}
.faq dl .qa dd span {
padding:0 0;
}




/* ******************************************************************** */
/**** footer ****/
/* ******************************************************************** */
.footer .inner {
padding: 20px 20px 100px 20px;
}
/* footer_navi */
.footer ul.footer_navi {
margin:0 auto 50px auto;
}
.footer ul.footer_navi li a {
font-size:1.4rem;
}

.footer .copyright {
font-size:1.2rem;
}

}
