@charset "utf-8";

@import url('https://fonts.googleapis.com/earlyaccess/notosansjapanese.css');
@import url('https://fonts.googleapis.com/css2?family=Inter+Tight:ital,wght@0,100..900;1,100..900&display=swap');

/* Reset-----------------------------------------------------------*/

html, body, div, span, h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, address, big, code, em, font, img,  small, strong,ol, ul, li, form, label, table,  tr, th, td, dl, dd, dt,article, aside, footer, header, menu, nav, section, summary, textarea,main,figure,figcaption{margin: 0;padding: 0;border: 0;outline: 0;font-size: 100%;vertical-align: baseline;background: transparent;}
i{font-style:normal;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}
html {-webkit-text-size-adjust:none;-webkit-touch-callout: none;}
a {outline:none;text-decoration:none;}
iframe {border:none;}
ul, ol { list-style: none;}
img { border: none; vertical-align:bottom;max-width: 100%;height: auto;width /***/:auto;}
:focus { outline: 0;}
table { border-collapse: collapse;border-spacing:0;font-size:inherit;font:100%;}
h1, h2, h3, h4, h5, h6 {line-height:1.4;}
html {height: 100%;font-size: 62.5%;}
body {
font: 1rem "Noto Sans Japanese","Meiryo","Hiragino Kaku Gothic Pro",sans-serif;
color:#000;
background:#f5f5f5;
letter-spacing:0.1rem;
font-feature-settings :palt;
height: 100%;
overflow-x:hidden;
line-height: 1.8;
}

@-ms-viewport {
  width: device-width;
}

:root {
  --c01: #ff3c33;
  --c02: #514b85;
  --c03: #f5f5f5;
  --c04: #224875;
  --c05: #0462c1;    
}

/* common -----------------------------------------------------------*/
body { overflow-x: hidden; position: relative;}
*,*::before,*::after { box-sizing: border-box;}

a { color: #fff;}

.gf{ font-family: 'Inter Tight', sans-serif; font-weight: 400; letter-spacing:0.4;}

hr { display: block; height: 0; border: 0; margin: 0; padding: 0; page-break-after: always; margin: 0;}

.txt_al { text-align:left !important; }
.txt_ar { text-align:right !important; }
.txt_ac { text-align:center !important; }

.w15{ width:15% !important;}
.w25{ width:25% !important;}
.w30{ width:30% !important;}
.w45{ width:45% !important;}
.w50{ width:50% !important;}
.w60{ width:60% !important;}
.w65{ width:65% !important;}

.mt_ss{ margin-bottom:1rem !important;}
.mt_s{ margin-bottom:2rem !important;}
.mt_m{ margin-bottom:3rem !important;}
.mt_l{ margin-bottom:4rem !important;}
.mt_xl{ margin-bottom:8rem !important;}
.mb_ss{ margin-bottom:1rem !important;}
.mb_s{ margin-bottom:2rem !important;}
.mb_m{ margin-bottom:3rem !important;}
.mb_l{ margin-bottom:4rem !important;}
.mb_xl{ margin-bottom:8rem !important;}
.mr_m{ margin-right:3rem !important;}
.mr_s{ margin-right:2rem !important;}
.pt_ss{ padding-top:2rem !important;}
.pt_s{ padding-top:9rem !important;}
.pt_l{ padding-top:10rem !important;}
.font_s{ font-size:1.2rem !important;}
.font_m{ font-size:2rem !important;}
.font_l{ font-size:2.5rem !important;}
.font_xl{ font-size:3.5rem !important;}
.font_xxl{ font-size:4.5rem !important;}
.bigger{ font-size:150% !important;}


[class*="btn__"] { display:inline-block; text-align:center; padding:2.4rem 6rem; min-width: 30rem; color:#fff; background:var(--c01); line-height:1; position:relative; overflow:hidden; z-index: 1; border-radius:7rem; transition: 0.6s;}	

[class*="column__"] { display: flex; flex-wrap: wrap; width:100%; }
[class*="column__"] .row{ position:relative;}

.column__02 .row{ width:48.3%; margin:0 0 3% 3.4%;}
.column__02 .row:nth-child(2n+1){ margin:0 0 3%;}

/* .column__03 .row{ width:31.066%; margin:0 0 3% 3.4%;}
.column__03 .row:nth-child(3n+1){ margin:0 0 3%;} */
.column__03 .row {float: left; margin: 0 0 3% 3.4%;}
.column__03 .row:nth-child(3n+1) {  width:39.94%;  margin-left: 0;}
.column__03 .row:nth-child(3n+2) {  width:39.94%;}
.column__03 .row:nth-child(3n) {  width:13.314%;}
.column__04 .row{ width:23.5%; margin:0 0 3% 2%;}
.column__04 .row:nth-child(4n+1){ margin:0 0 3%;}

.column__05 .row{ width:18%; margin:0 0 2% 2%;}
.column__05 .row:nth-child(5n+1){ margin:0 0 2%;}

.column__06 .row{ width:15%; margin:0 0 2% 2%;}
.column__06 .row:nth-child(6n+1){ margin:0 0 2%;}


/* header__ -------------------------------------*/
[id^="header__"] { height:14rem; display: block; position:relative; width: 1024px; margin: 0 auto; color: #FFF; text-align: right; background: url("../img/bg_pdf.png") left top no-repeat; background-size: cover; }
[id^="header__"] h1{ font-size:4.7rem; line-height: 13rem; padding: 0 4rem; font-weight: 500; }

/* main -------------------------------------*/
[id^="main__"] { position:relative; font-size:1.7rem; width: 1024px; margin: 0 auto; padding: 0 1.5rem; background: #fff; }

.tab{ padding: 2rem 0;}
.tab .column__02 .row{ display: block; margin: 0; width: 50%; text-align: center; color: #fff; }
.tab .column__02 .halla{ background:var(--c01); border-right: 1px solid #fff; }
.tab .column__02 .hallb{ background:var(--c02);}

.tab .column__02 .row dl dt{ padding: 1rem 1rem; line-height: 1.5;}
.tab .column__02 .row dl dt strong{ display:block; font-size: 1.5rem;}
.tab .column__02 .row dl dt small{ display:block; font-size: 1.2rem;}
.tab .column__02 .row dl dd { background: rgba(255,255,255,0.3);}
.tab .column__02 .row dl dd ul { display: flex; flex-wrap: wrap; width:100%;}
.tab .column__02 .row dl dd ul li{line-height: 1.2; width: 33.333%; font-size: 1.5rem; border-right: 1px solid rgba(255,255,255,0.5);}
.tab .column__02 .row dl dd ul li:last-child{ border-right: none;}
.tab .column__02 .row dl dd ul li a{ display:block; padding: 1rem 1rem; }

/*.tab .column__03 .row{ display: block; margin: 0; width: 50%; text-align: center; color: #fff; }*/
.tab .column__03 { font-size: 0; /* インラインブロックの隙間対策 */}
.tab .column__03 .row {  display: inline-block;  vertical-align: top;  margin: 0;  text-align: center;  color: #fff;  font-size: 1rem;}
/* 1列目（3単位） */
.tab .column__03 .row:nth-child(3n+1) {width: 42.8571%;  margin-left: 0;}
/* 2列目（3単位） */
.tab .column__03 .row:nth-child(3n+2) {width: 42.8571%;　margin-left: 0;}
/* 3列目（1単位） */
.tab .column__03 .row:nth-child(3n) {  width: 14.2857%;　margin-left: 0;}

.tab .column__03 .halla{ background:var(--c01); border-right: 1px solid #fff; }
.tab .column__03 .hallb{ background:var(--c02); border-right: 1px solid #fff;}
.tab .column__03 .hallc{ background:var(--c04); }

.tab .column__03 .row dl dt{ padding: 1rem 1rem; line-height: 1.5;}
.tab .column__03 .row dl dt strong{ display:block; font-size: 1.5rem;}
.tab .column__03 .row dl dt small{ display:block; font-size: 1.2rem;}
.tab .column__03 .row dl dd { background: rgba(255,255,255,0.3);}
.tab .column__03 .row dl dd ul { display: flex; flex-wrap: wrap; width:100%;}
.tab .column__03 .row dl dd ul li{line-height: 1.2; width: 33.333%; font-size: 1.5rem; border-right: 1px solid rgba(255,255,255,0.5);}

.tab .column__03 .row dl dd ul li.hallc{line-height: 1.2; width:100%!important; font-size: 1.5rem; background: rgba(255,255,255,0);}

.tab .column__03 .row dl dd ul li:last-child{ border-right: none;}
.tab .column__03 .row dl dd ul li a{ display:block; padding: 1rem 1rem; }

.section__{ margin: 0 0 20rem;}
.section__ h2{ display: block; font-size: 1.4rem; background:var(--c03); padding: 0.8rem 1.5rem; font-weight: normal;}
.section__ h2 strong{ padding:0 1rem 0 0; }
[id^="A"]  h2{ color: var(--c01); }
[id^="B"]  h2{ color: var(--c02); }
[id^="C"]  h2{ color: var(--c04); }

.section__ .day{ padding: 0.2rem 1.5rem; color: #fff; font-weight: bold; font-size: 2.4rem; opacity: 0.8;}
[id^="A"] .day{ background: var(--c01); }
[id^="B"] .day{ background: var(--c02); }
[id^="C"] .day{ background: var(--c04); }

.table__ {}
.table__ .session{ padding: 1rem 1.5rem; display: flex; flex-wrap: wrap; width: 100%; }
.table__ .session:nth-child(2n){ background:var(--c03);}
.table__ .session > dt{ width:14%; border-right:1px solid rgba(0,0,0,0.1);font-weight: bold;}
.table__ .session > dd{ width:86%; padding: 0 0 2rem 2rem; position: relative; display: block;}
.table__ .session > dd .id{ position: absolute; right:0; top:0; font-size: 1.4rem; background: rgba(0,0,0,0.05); padding: 0.2rem 1.5rem;}
.table__ .session > dd h3{ margin:0 7rem 1rem 0; font-size: 1.8rem;}
.table__ .session > dd h3 small{ font-size:1.4rem; margin: 0 1rem 0 0;}
.table__ .session > dd h3 small::before{ content: "[";}
.table__ .session > dd h3 small::after{ content: "]";}
.table__ .session > dd .speakers{ margin:0 0 1.5rem;}
.table__ .session > dd .speakers > small{ display:block; font-size: 1.1rem; opacity: 0.5;}
.table__ .session > dd .speakers dl{ display: table; margin: 0 0 0.8rem; line-height: 1.2;}
.table__ .session > dd .speakers dl dt{ display:table-cell; white-space: nowrap; font-size: 1.5rem; }
.table__ .session > dd .speakers dl dd{ display:table-cell; position: relative; font-size: 1.1rem; opacity: 0.7; padding: 0 0 0 2rem; vertical-align:middle;}
.table__ .session > dd .speakers dl dd::before{ content: "- "; position: absolute; left: 1rem;}
.table__ .session > dd .summary { border-top:1px solid rgba(0,0,0,0.1); padding: 1rem 0 0; font-size: 1.2rem; opacity: 0.6; line-height: 1.3;}

@media print{
body{background:#fff;}
.section__{ margin: 0;}
}
@page { size: A4; margin: 2rem; }
