@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Crimson+Pro:wght@200;300;400;500;600;700&family=Montserrat:ital,wght@0,400;0,500;1,900&display=swap");
img { max-width: 100%; height: auto; }

*, html, body { font-family: 'Crimson Pro', serif; }

br.pc { display: none; }

br.sp { display: block; }

.content-wrap.bg-img, body header.bg-img { background-image: url(../img/main_bg.png); background-repeat: repeat-y; background-position: bottom; background-size: 100% auto; padding-top: 3rem; }

.content-wrap.bg-img .bgimage, body header.bg-img .bgimage { min-height: auto; }

.content-wrap.bg-img02, body header.bg-img02 { background-image: url(../img/bg02.jpg); background-repeat: repeat-y; background-position: top; background-size: 100% auto; }

.content-wrap .inner, body header .inner { width: 100%; margin: 0 auto; position: relative; }

.content-wrap .inner.inner-m, body header .inner.inner-m { width: 100%; }

.content-wrap .inner.inner-s, body header .inner.inner-s { width: 100%; }

body > header .pagetitle { background-color: rgba(0, 0, 0, 0.3); font-size: 1.5rem; padding: 1rem 0; line-height: 1.2; }

body > header .mainvi { width: 94%; margin: 0 auto; padding-bottom: 1.5rem; }

body > header .date { position: relative; text-align: center; margin: 1rem 0; }

body > header .date > img { position: absolute; width: 100%; height: auto; left: 0; }

body > header .date .main { position: relative; display: inline-block; font-size: 3rem; line-height: 1; border-top: 2px solid rgba(255, 255, 255, 0.3); border-bottom: 2px solid rgba(255, 255, 255, 0.3); padding: 0.5rem 0 1rem 0; margin: 1rem 0 0 0; }

body > header .date .main span.sub { font-size: 1rem; }

body > header .date .main span.mid { font-size: 3rem; }

body > header .date .main span.abs { position: absolute; font-size: 0.9rem; font-weight: bold; bottom: 3em; right: 0.9em; color: #660000; background-color: white; border-radius: 100rem; padding: 0.3em; }

body > header .date div.sub { padding: 1rem; }

body > header .date div.sub p { font-size: 1.8rem; }

body > header .date div.sub p:not(.org) { counter-increment: dayNum 1; }

body > header .date div.sub p:not(.org):before { content: "Day" counter(dayNum); margin-right: 1em; }

body > header .date div.sub .org { margin-top: 1rem; font-size: 1rem; }

body > header .entry-form { text-align: center; margin-bottom: 1rem; }

body > header .entry-form .title h2 { color: #FF15C6; font-size: 1.5rem; padding: 0; line-height: 1.2em; margin: -1.3em 0 -1.3em; }

body > header .entry-form .title h2 .sub { display: block; font-size: 0.8em; }

body > header .entry-form .bg { background-color: #660000; padding: 5rem 2rem 2rem 2rem; }

body > header .entry-form .form-wrap { margin: 1rem 0; padding: 0.5rem; background-color: rgba(255, 255, 255, 0.5); }

body > header .entry-form .form-wrap input, body > header .entry-form .form-wrap button { font-family: 'Noto Sans JP', sans-serif; width: 100%; }

body > header .entry-form .form-wrap .btn { margin-top: 1rem; background-color: #1FC32E; padding-top: 1rem; padding-bottom: 1rem; color: white; font-weight: bold; font-size: 1.2em; }

body > header .entry-form p.sub { font-family: 'Noto Sans JP', sans-serif; text-align: left; font-size: 0.9rem; color: white; }

body.entry > header .starttime { font-size: 1rem; }

body.entry > header .entry-form .title h2 { font-size: 2.2rem; padding-top: 2rem; margin: -1.7em 0 -1.7em; }

body.entry > header .entry-form .form-wrap .btn { font-size: .8em; }

body.entry > header .entry-form p.sub { font-size: 0.6rem; color: rgba(255, 255, 255, 0.7); }

body.entry .content-wrap .privilege .title h2 { margin: -1.8em 0 -1.8em; }

body.entry .content-wrap .privilege p.sub { font-size: 1rem; }

body .present-caption { background-color: rgba(0, 0, 0, 0.3); padding: 1rem 0; }

body .present-caption p { font-weight: bold; font-size: 1.3rem; color: white; }

body .present-caption p.red { color: red; background-color: rgba(255, 255, 255, 0.8); margin: 0 1rem; padding: 1rem; border-radius: 0.5rem; }

body .content-wrap.bg-purple { background-color: #E2CFFB; }

body .content-wrap img.bg { top: 0; }

body .content-wrap h2 { color: #FF15C6; font-size: 1.3rem; line-height: 1.8em; padding: 3em 0 1em 0; }

body .content-wrap h2 span.sub { display: block; font-size: 0.8em; }

body .content-wrap .text-pink { color: #FF15C6; }

body .content-wrap iframe { padding: 1rem; width: 100%; aspect-ratio: 16/9; }

body .content-wrap .caption { color: #660000; padding: 1rem; }

body .content-wrap .caption p { font-size: 1rem; line-height: 1.5em; }

body .content-wrap .caption p strong { font-size: 1.5rem; }

body .content-wrap .privilege { text-align: center; }

body .content-wrap .privilege .title h2 { font-size: 1.5rem; padding: 0; line-height: 1.2em; margin: -1.8em 0 -1.8em; }

body .content-wrap .privilege .bg { padding: 5rem 2rem 2rem 2rem; }

body .content-wrap .privilege p { font-size: 1rem; font-weight: bold; }

body .content-wrap .privilege p img { display: block; width: 100%; margin: 2rem auto; }

body .content-wrap .privilege p.sub { font-size: 1.2rem; }

body .content-wrap .mainspeaker { text-align: center; }

body .content-wrap .mainspeaker .title h2 { font-size: 1.5rem; }

body .content-wrap .mainspeaker .bg { padding: 3rem 1rem 1rem 1rem; width: 100%; margin: 0 auto; }

body .content-wrap .mainspeaker .bg .vi .image { aspect-ratio: 10 / 7; width: 100%; background-size: cover; background-position: center; background-repeat: no-repeat; border-radius: 1rem; outline: 3px solid white; }

body .content-wrap .mainspeaker .bg .vi p { font-size: 1.2rem; font-weight: bold; color: white; margin-top: 1em; }

body .content-wrap .mainspeaker .bg .list-wrap img { margin-top: -2rem; }

body .content-wrap .mainspeaker .bg .list-wrap h3 { font-size: 1.2rem; padding: 0.5rem; margin: 1rem; }

body .content-wrap .mainspeaker .bg .list-wrap .list { font-size: 0.9rem; padding: 1em 1em 1em 2em; text-align: left; }

body .content-wrap .mainspeaker .bg .list-wrap .list p { color: yellow; text-indent: -1em; margin-bottom: 1em; }

body .content-wrap .mainspeaker .bg .list-wrap .list p:before { content: "・"; text-indent: -1em; }

body .content-wrap .mainspeaker .bg .list-wrap .list p:last-child { margin-bottom: 0; }

body .content-wrap .speakers .title h2 { font-size: 1.5rem; }

body .content-wrap .speakers .items { padding: 4rem 1rem 1rem 1rem; }

body .content-wrap .speakers .items .item { padding: 1rem; margin-bottom: 1rem; }

body .content-wrap .speakers .items .item .head { text-align: center; }

body .content-wrap .speakers .items .item .head .day { font-size: 12vw; }

body .content-wrap .speakers .items .item .head .day span.date { color: #FF15C6; }

body .content-wrap .speakers .items .item .head .day span.arrow img { height: 1rem; width: auto; margin: 0 1rem 0.5rem 1rem; }

body .content-wrap .speakers .items .item .head .time { font-size: 2rem; padding: 0.5rem 0; }

body .content-wrap .speakers .items .item .head .name p { font-size: 1.5rem; font-weight: bold; }

body .content-wrap .speakers .items .item .head .name p.sub { font-size: 1rem; }

body .content-wrap .speakers .items .item .img.img-02 { aspect-ratio: 2 / 1; width: 90%; }

body .content-wrap .speakers .items .item .copy { font-size: 1.1rem; }

body .content-wrap .speakers .items .item .text p { line-height: 1.5em; }

body hr { height: 10px; background-image: url(../img/hr.png); background-repeat: repeat-x; background-size: 100%; }

body .outro { font-size: 1.3rem; padding: 0; }

body .btn-wrap { width: 100%; margin: 0 auto; padding: 2rem; }

body .btn-wrap a { display: block; width: 100%; }

body .btn-wrap a img { display: block; width: 100%; height: auto; }

body .btn-wrap p { font-family: 'Noto Sans JP', sans-serif; text-align: center; }

body footer { font-family: 'Noto Sans JP', sans-serif; text-align: center; padding: 2rem 0 5rem 0; }

body footer a { display: block; padding: 1em 0; text-align: center; }

.sp-image { width: 85%; margin: 0 auto; }
