@charset "UTF-8";

a.target.pt { top: -65px; }

#goshoukai { font-family: "Noto Sans JP", sans-serif; color: #333; font-size: 62.5%; -webkit-text-size-adjust: 100%; }

.wrap-container { padding-top: calc(65 * var(--px)); padding-bottom: 32px; }

.l-inner { padding: 0 8.8vw; }

.sp-view { display: block; }

.pc-view { display: none; }

img { margin: 0 auto; }

.wrap-img { text-align: center; }

.wrap-img img { margin: 0 auto; max-width: 100%; height: auto; }

#header .logo { margin-top: 4px; width: 233px; margin-right: 47px; }

#header .logo a { display: block; }

#header .wrap-anchor-head { padding: 6.4vw 8.8vw; }

#header .list-anchor-head > li + li { margin-top: 24px; }

#header .list-anchor-head .link-anchor { position: relative; text-decoration: none; padding-left: 1.4em; font-weight: 700; font-size: 1.8rem; line-height: 1.5; color: #314dbc; font-family: "Hiragino Kaku Gothic ProN", sans-serif; }

#header .list-anchor-head .link-anchor:before { content: ""; display: block; background-color: #314DBC; font-weight: 700; border-radius: 50%; width: 16px; height: 16px; position: absolute; top: 5%; left: 0; }

#header .list-anchor-head .link-anchor:after { content: ""; display: block; border-bottom: 2px solid #FFF; border-right: 2px solid #FFF; width: 6px; height: 6px; -webkit-transform: rotate(45deg); transform: rotate(45deg); position: absolute; top: calc(5% + 4px); left: 5px; }

.wrap-mainvisual { background-image: url(../images/bg_mv_sp.jpg); background-repeat: no-repeat; background-size: cover; background-position: center; position: relative; overflow: hidden; }

.wrap-mainvisual .img-mainvisual { margin: 0 auto; height: 100%; }

.wrap-btn-introduce { padding: 24px 8.8vw; background-color: #0537C7; }

a.btn-intro, button.btn-intro { font-family: "Noto Sans JP", sans-serif; text-decoration: none; display: flex; align-items: center; justify-content: center; min-height: 61px; border-radius: 8px; background: linear-gradient(#fff500 0%, #ffd210 100%); box-shadow: 0px 3px 20px rgba(0, 0, 0, 0.5); font-weight: 800; font-size: 2.2rem; line-height: 1.45; letter-spacing: -0.02em; text-align: center; color: #333; position: relative; padding-left: 25px; padding-right: 40px; }

a.btn-intro:after, button.btn-intro:after { content: ""; display: block; width: 10px; height: 10px; border-top: 3px solid #333333; border-right: 3px solid #333333; -webkit-transform: rotate(135deg); transform: rotate(135deg); position: absolute; top: 0; bottom: 0; right: 19px; margin: auto; }

a.btn-intro.pt-small, button.btn-intro.pt-small { font-size: 1.8rem; min-height: 50px; height: 50px; box-shadow: none; }

a.btn-member, button.btn-member { cursor: pointer; margin-top: 24px; width: 100%; text-decoration: none; font-family: "Noto Sans JP", sans-serif; font-weight: 700; font-size: 1.8rem; letter-spacing: -0.02em; line-height: 1.44; text-align: center; color: #FFF; display: flex; align-items: center; justify-content: center; min-height: 50px; border-radius: 8px; background: linear-gradient(#35c0f7 0%, #003ff2 100%); }

a.btn-share, button.btn-share { cursor: pointer; }

.sec-intro { padding: 24px 0; }

.sec-intro .box-intro { border-radius: 12px; background-color: #003ff2; padding: 12px 16px 16px; }

.sec-intro .hdg-lead { text-align: center; font-weight: 700; font-size: 1.6rem; line-height: 1.5; color: #FFF; }

.sec-intro .hdg-lead strong { margin: 2px -16px 0; display: block; font-size: 2.4rem; line-height: 1.45; text-align: center; color: #ff0; }

.sec-intro .hdg-lead + .wrap-img { margin-top: 12px; }

.hdg-lv2 { text-align: center; margin-bottom: 24px; }

.hdg-lv2:has(.txt-role) { margin-bottom: 16px; }

.hdg-lv2 .main { display: inline-block; font-weight: 800; font-size: 3.6rem; line-height: 1.1; text-align: center; color: #333; padding: 0 35px; position: relative; }

.hdg-lv2 .main:before, .hdg-lv2 .main:after { content: ""; display: block; width: 4px; height: 40px; position: absolute; bottom: 0; top: 0; margin: auto; background-color: #333333; }

.hdg-lv2 .main:before { left: 10px; -webkit-transform: rotate(150deg); transform: rotate(150deg); }

.hdg-lv2 .main:after { right: 10px; -webkit-transform: rotate(30deg); transform: rotate(30deg); }

.hdg-lv2 .sub { display: block; font-weight: 800; font-size: 2rem; line-height: 1.45; text-align: center; color: #333; }

.hdg-lv2 .txt-role { margin-top: 10px; padding-left: 4px; padding-right: 4px; }

.hdg-lv2 .txt-role .txt { font-size: 1.8rem; }

.hdg-lv2-pt1 { font-weight: 800; font-size: 2.4rem; line-height: 1.45; text-align: center; color: #333; margin-bottom: 24px; }

.hdg-lv2-pt2 { text-align: center; margin-bottom: 12px; }

.hdg-lv2-pt2 span { display: inline-block; font-weight: 800; font-size: 2.4rem; line-height: 1.45; text-align: center; color: #333; padding-bottom: 4px; border-bottom: 2px solid #B3C4CC; }

.sec-intro-material .txt-lead { font-weight: 500; font-size: 1.6rem; line-height: 1.5; text-align: left; color: #333; }

.sec-intro-material .wrap-img { margin: 0 -15px; }

.sec-intro-material .wrap-cnt + .list-input { margin-top: 32px; }

.hdg-lv3 { font-weight: 800; font-size: 2.2rem; line-height: 1.5; text-align: center; color: #333; margin-bottom: 16px; }

.sec-step-intro { padding: 24px 0; background-color: #ffdc64; }

.sec-step-intro .list-notify { margin-top: 12px; }

.sec-step-intro .list-notify > li span { font-weight: 400; font-size: 1.4rem; }

.list-step-intro { counter-reset: step; }

.list-step-intro .ft-sm { font-size: 1.6rem !important; }

.list-step-intro .ft-lg { font-size: 2.8rem !important; }

.list-step-intro > li { padding-top: 31px; padding-bottom: 22px; position: relative; }

.list-step-intro > li + li { margin-top: 16px; }

.list-step-intro > li:last-child { padding-bottom: 0; }

.list-step-intro > li:last-child:after { display: none; }

.list-step-intro > li:before { counter-increment: step; content: "0" counter(step); border: 6px solid #FFDC64; font-family: "Roboto", sans-serif; font-weight: 700; font-size: 3.2rem; line-height: 1.1875; text-align: center; color: #FFF; background-color: #003FF2; display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 50%; position: absolute; left: 0; right: 0; top: 0; margin: auto; z-index: 2; }

.list-step-intro > li:after { content: ""; display: block; width: 63px; height: 44px; background-image: url(../images/icon_arrow.svg); background-repeat: no-repeat; background-size: contain; position: absolute; bottom: 0; left: 0; right: 0; margin: auto; }

.list-step-intro .wrap-box { padding: 49px 18px 32px; border-radius: 10px; background-color: #FFF; position: relative; text-align: center; }

.list-step-intro .txt-lead { font-size: 1.6rem; line-height: 2; font-weight: 500; color: #333; }

.list-step-intro .txt-lead span + .txt-role { margin-left: -8px; }

.list-step-intro .txt-lead span.underline { position: relative; --underline-color: #FFFF00; --underline-cap-width: 4px; --underline-offset-y: -5px; --underline-width-scale: calc(var(--underline-width) / var(--underline-intrinsic-width)); --underline-intrinsic-width: 11; --underline-width: 4; display: inline; --underline-width-scale: calc(var(--underline-width) / var(--underline-intrinsic-width)); padding: 0 calc(var(--underline-padding-x) + calc(var(--underline-cap-width) * var(--underline-width-scale))); padding-bottom: 5px; -webkit-box-decoration-break: clone; box-decoration-break: clone; background-repeat: no-repeat; background-image: linear-gradient(180deg, var(--underline-color), var(--underline-color)); background-position-x: calc(var(--underline-cap-width) * var(--underline-width-scale)), 0, 100%; background-position-y: calc(100% - var(--underline-offset-y) * -1); background-size: calc(100% - calc(var(--underline-cap-width) * var(--underline-width-scale) * 2)) calc(var(--underline-width) * 1px), auto calc(var(--underline-width) * 1px), auto calc(var(--underline-width) * 1px); --underline-offset-y: -3px; }

.list-step-intro .txt-lead + .txt-lead { margin-top: 4px; }

.list-step-intro .txt-lead + .txt-lead + .txt-lead { margin-top: -4px; }

.list-step-intro .txt-lead strong { font-weight: 800; }

.list-step-intro .wrap-img { margin-top: 16px; margin-bottom: 16px; padding-left: 56px; padding-right: 57px; }

.list-step-intro .wrap-img.padding-sm { margin-top: 0; padding-left: 31px; padding-right: 31px; }

.list-step-intro .wrap-block-image { margin-top: 8px; gap: 7px; display: flex; justify-content: space-between; }

.list-step-intro .wrap-block-image .wrap-img { margin: 0; padding: 0; }

.list-step-intro .desc { font-weight: 500; font-size: 2rem; line-height: 1.5; text-align: center; color: #333; }

.list-step-intro .desc strong { font-weight: 800; }

.list-step-intro .desc.warning { position: relative; display: inline-flex; align-items: center; }

.list-step-intro .desc.warning:after { content: ""; margin-left: 1px; background-image: url(../images/icon_warning_border.svg); width: 32px; height: 32px; background-repeat: no-repeat; background-size: contain; display: inline-block; }

.list-step-intro .wrap-btn { margin-top: 16px; }

.sec-invitation { padding: 24px 0; background-color: #DFF4FE; }

.txt-role { display: inline-block; border-radius: 8px; padding: 3px 16px 5px; text-align: center; color: #FFF; }

.txt-role.role01 { background-color: #ED5A0C; }

.txt-role.role02 { background-color: #003AFA; }

.txt-role:has(.ft-sm) { padding-left: 4px; padding-right: 4px; }

.txt-role .txt { font-weight: 700; display: block; font-size: 2rem; line-height: 1.45; }

.txt-role .sub { font-weight: 700; display: block; font-size: 1.6rem; line-height: 1.5; }

.wrap-invitation { padding-top: 22px; position: relative; }

.wrap-invitation + .wrap-invitation { margin-top: 24px; scroll-margin-top: 70px; }

.wrap-invitation .wrap-box { border-radius: 10px; padding: 43px 24px 24px; background-color: #FFF; }

.wrap-invitation .ttl { font-weight: 800; font-size: 1.8rem; line-height: 1.5; text-align: center; color: #333; }

.wrap-invitation .ttl + .list-input { margin-top: 21px; }

.wrap-invitation .txt { margin-top: 7px; font-weight: 500; font-size: 1.6rem; line-height: 1.3125; color: #333; }

.wrap-invitation .txt + .list-input { margin-top: 14px; }

.wrap-invitation .tag { max-width: 175px; padding: 8px 20px; font-weight: 700; font-size: 2rem; line-height: 1.45; text-align: center; color: #FFF; border-radius: 999em; background-color: #003ff2; border: 8px solid #dff4fe; position: absolute; left: 0; right: 0; margin: auto; top: -7px; }

.wrap-input .wrap-label-head { display: flex; align-items: center; justify-content: space-between; }

.wrap-input .wrap-label-head .wrap-link { margin-top: 0; margin-bottom: 8px; }

.wrap-input label { display: block; font-weight: 800; font-size: 1.6rem; line-height: 1.5; text-align: left; color: #333; margin-bottom: 8px; }

.wrap-input .txt-input { font-family: "Noto Sans JP", sans-serif; display: block; width: 100%; height: 49px; padding: 9px 12px 11px; border-radius: 8px; background: #FFF; border: 1px solid #b3c4cc; background-color: #FFF; font-weight: 500; font-size: 2rem; line-height: 1.45; color: #333; }

.wrap-input .txt-input::-webkit-input-placeholder { color: #b3c4cc; }

.wrap-input .txt-input:-ms-input-placeholder { color: #b3c4cc; }

.wrap-input .txt-input::-ms-input-placeholder { color: #b3c4cc; }

.wrap-input .txt-input::placeholder { color: #b3c4cc; }

.wrap-input .txt-confirm { min-height: 48px; border-radius: 8px; background: #f4fafd; padding: 12px 16px; font-weight: 500; font-size: 1.6rem; line-height: 1.5; color: #333; }

.wrap-input .txt-error { margin-top: 12px; font-weight: 500; font-size: 1.4rem; line-height: 1.5; text-align: left; color: #df201f; }

.wrap-input:has(.txt-error:not(:empty)) .txt-input { border: 2px solid #DF201F; }

.wrap-link { margin-top: 8px; }

.wrap-link.question { margin-top: 12px; margin-right: -2px; }

.wrap-link.question .txt-link { text-decoration: underline; }

.wrap-link.question .txt-link span { padding-left: 22px; }

.wrap-link.question .txt-link span:before { content: ""; display: block; width: 18px; height: 18px; background-image: url(../images/icon_question.svg); background-repeat: no-repeat; background-size: contain; position: absolute; top: 1px; left: 0; }

.wrap-link.clear .txt-link { color: #4A636E; }

.wrap-link .txt-link { font-family: "Noto Sans JP", sans-serif; display: block; font-weight: 500; text-decoration: none; font-size: 1.4rem; line-height: 1.42; text-align: left; color: #003ff2; cursor: pointer; }

.wrap-link .txt-link-btn { margin-top: 24px; cursor: pointer; width: 100%; display: block; min-height: 44px; border-radius: 8px; background: linear-gradient(#35c0f7 0%, #003ff2 100%); display: flex; align-items: center; justify-content: center; font-family: "Noto Sans JP", sans-serif; font-weight: 700; font-size: 1.4rem; letter-spacing: -0.02em; line-height: 1.42; text-align: center; color: #fff; padding: 12px 8px; }

.wrap-link button.txt-link { display: inline-block; }

.wrap-link span { display: block; position: relative; }

.wrap-link + .list-note { margin-top: 16px; }

.wrap-link.inquery { text-align: center; margin: 20px 0 30px; }

.wrap-link.inquery .txt-link-btn:link, .wrap-link.inquery .txt-link-btn:visited, .wrap-link.inquery .txt-link-btn:hover, .wrap-link.inquery .txt-link-btn:active { text-decoration: none; }

.wrap-btn-share { margin-top: 24px; }

.wrap-btn-share span { display: block; margin-top: 16px; margin-bottom: 16px; text-align: center; font-weight: 500; font-size: 1.8rem; line-height: 1.44; color: #333; }

.wrap-btn-share .btn-member { margin: 0; }

.list-note { margin-top: 24px; }

.list-note > li + li { margin-top: 4px; }

.list-note span { position: relative; font-weight: 400; font-size: 1.4rem; line-height: 1.5; color: #666; display: block; padding-left: 1em; }

.list-note span:before { content: attr(data-ico); position: absolute; left: 0; top: 0; }

.wrap-notify { margin-top: 40px; border-radius: 16px; background: #fffce5; padding: 22px 14px 0; border: 2px solid #ffd800; }

.wrap-notify .wrap-cnt { margin-top: 16px; }

.wrap-notify .txt-notify { font-weight: 500; font-size: 1.6rem; line-height: 1.5; color: #333; }

.wrap-notify .wrap-img { margin-top: -25px; padding: 0 41px 0 42px; }

.list-notify > li span { display: block; padding-left: 40px; font-weight: 800; font-size: 1.6rem; line-height: 1.5; color: #333; position: relative; }

.list-notify > li span:before { content: ""; background-image: url(../images/icon_warning_border.svg); width: 32px; height: 32px; background-repeat: no-repeat; background-size: contain; position: absolute; top: 0; left: 0; }

.sec-program { padding: 56px 0; }

.dl-info { border-bottom: 1px solid #CCCCCC; }

.dl-info dt { border-top: 1px solid #CCCCCC; font-weight: 700; font-size: 1.6rem; line-height: 1.5; color: #333; padding: 8px 16px; background: #dff4fe; }

.dl-info dd { font-weight: 500; font-size: 1.4rem; line-height: 1.42; color: #333; padding: 12px 16px; background-color: #FFF; }

.dl-info dd span { display: block; }

.dl-info dd span + span { margin-top: 8px; }

.dl-info dd span.bold { display: block; font-weight: 700; }

.dl-info dd span.bold + span { margin-top: 4px; margin-left: 10px; }

.dl-info dd span + .bold { margin-top: 12px; }

.dl-info dd .list-note { margin-top: 4px; }

.dl-info dd .list-notify { margin-top: 12px; }

.dl-info dd .list-notify > li span { padding-left: 28px; font-weight: 600; font-size: 1.6rem; line-height: 1.3125; color: #666; }

.dl-info dd .list-notify > li span:before { width: 24px; height: 24px; }

.dl-info dd .txt-notify { margin-top: 4px; font-weight: 400; font-size: 1.4rem; line-height: 1.5; color: #666; }

.list-dots { margin-top: 16px; }

.list-dots > li { font-weight: 400; font-size: 1.4rem; line-height: 1.5; text-align: left; color: #666; position: relative; padding-left: 1.5em; }

.list-dots > li:before { content: ""; display: block; width: 4px; height: 4px; position: absolute; left: 8px; top: 1rem; background-color: #666666; border-radius: 50%; }

.list-dots > li span.bold { font-weight: 700; }

.list-dots > li + li { margin-top: 12px; }

.list-number { margin-top: 8px; counter-reset: number; }

.list-number > li { padding-left: 1.2em; position: relative; }

.list-number > li:before { display: block; counter-increment: number; content: "(" counter(number) ")"; position: absolute; left: 0; top: 0; }

.sec-contact { padding: 24px 0; background-color: #E9F2F7; }

.sec-contact .txt-lead { font-weight: 500; font-size: 1.6rem; line-height: 1.5; text-align: center; color: #333; }

.sec-contact .working-hour { margin-top: 20px; font-weight: 500; font-size: 1.6rem; line-height: 1.5; text-align: center; color: #333; }

.sec-contact .working-hour + .list-note { margin-top: 16px; }

.list-phone-number { margin-top: 16px; }

.list-phone-number > li { font-weight: 500; font-size: 2rem; line-height: 1.45; text-align: center; color: #333; }

.list-phone-number > li span { font-weight: 700; }

.list-phone-number > li + li { margin-top: 8px; }

.list-phone-number > li a { text-decoration: none; }

.wrap-form-invitation-pt1 { margin-top: 40px; padding: 20px 24px; background-color: #AFE6FF; border-radius: 10px; }

@-webkit-keyframes modalFadeIn { 0% { opacity: 0; }
  100% { opacity: 1; } }

@keyframes modalFadeIn { 0% { opacity: 0; }
  100% { opacity: 1; } }

html:has(.basicmodal[open]) { overflow: hidden; }

.basicmodal { /*reset*/ width: unset; max-width: unset; height: unset; max-height: unset; padding: unset; color: unset; background-color: unset; border: unset; overflow: unset; /*basic setting*/ position: fixed; top: 0; left: 0; right: 0; bottom: 0; text-align: center; overflow: scroll; background: rgba(0, 0, 0, 0.8); }

.basicmodal[open] { -webkit-animation: modalFadeIn 0.3s; animation: modalFadeIn 0.3s; }

.basicmodal.closing { opacity: 0; transition: opacity 0.3s; }

.basicmodal:before { content: ""; display: inline-block; height: 100%; vertical-align: middle; }

.basicmodal .wrap-btn-close { position: absolute; top: 16px; right: 24px; }

.basicmodal .btn-close { cursor: pointer; font-size: 0rem; line-height: 0; display: block; width: 19px; height: 19px; position: relative; }

.basicmodal .btn-close:before, .basicmodal .btn-close:after { content: ""; display: block; width: 2.5px; height: 100%; background-color: #333333; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); position: absolute; inset: 0; margin: auto; }

.basicmodal .btn-close:after { -webkit-transform: rotate(45deg); transform: rotate(45deg); }

.basicmodal::-webkit-backdrop { display: none; }

.basicmodal::backdrop { display: none; }

.basicmodal__inner { display: inline-block; vertical-align: middle; text-align: left; pointer-events: none; width: 100%; }

.basicmodal__inner > * { pointer-events: auto; margin: auto; }

/*---------------------------------basicmodal*/
.box-modal { width: 82.4%; max-width: 1120px; margin: 50px auto; padding: 56px 24px 40px; border-radius: 10px; background-color: #DFF4FE; box-shadow: 8px 8px 8px rgba(0, 0, 0, 0.16); position: relative; }

.modal-content .txt-lead { margin-top: 12px; font-weight: 500; font-size: 1.6rem; line-height: 1.5; text-align: left; color: #333; }

.modal-content .txt-lead span { font-weight: 800; }

.modal-content .txt-modal { font-weight: 500; font-size: 1.6rem; line-height: 1.5; text-align: left; color: #333; }

.modal-content .txt-modal span { font-weight: 800; }

.modal-content .wrap-link { margin-top: 0; }

.modal-content .wrap-link.question .txt-link { text-decoration: none; }

.modal-content .wrap-link.question .txt-link span { padding-left: 0; text-align: center; }

.modal-content .wrap-link.question .txt-link span:before { display: inline-block; position: static; width: 24px; height: 24px; }

.modal-content .txt-link { font-weight: 800; font-size: 2.2rem; line-height: 1.5; }

.modal-content .list-dots > li { color: #333; font-weight: 500; }

.modal-content .list-dots > li:before { background-color: #333; }

.modal-content .wrap-box-image { margin-top: 32px; }

.modal-content .wrap-img + .txt-modal { margin-top: 8px; }

.modal-content .wrap-cnt { margin-top: 24px; }

@media all and (min-width: 768px) { a.target.pt { top: -56px; } body { min-width: 1280px; }
  body::before { display: none; }
  body.head-min #header { -webkit-transform: translateY(-95px); transform: translateY(-95px); height: 151px; }
  body.head-min #header .wrap-anchor-head { position: absolute; justify-content: flex-end; background-color: #FFF; padding: 16px clamp(calc(15 * var(--px)), calc((100vw - (1400 * var(--px))) * .15 + (15 * var(--px))), calc(60 * var(--px))); } .wrap-container { padding-top: 104px; padding-bottom: 40px; } .l-inner { padding: 0; width: 1120px; margin: 0 auto; } .sp-view { display: none; } .pc-view { display: block; } #header { -webkit-transform: translateY(0); transform: translateY(0); transition: height .5s ease-in-out, -webkit-transform .5s ease-in-out; transition: height .5s ease-in-out, transform .5s ease-in-out; transition: height .5s ease-in-out, transform .5s ease-in-out, -webkit-transform .5s ease-in-out; align-items: stretch; padding-top: 20px; padding-bottom: 19px; height: auto; background-color: #FFF !important; }
  #header .logo { margin-top: 10px; width: 260px; flex: 0 0 260px; }
  #header .nav { flex-wrap: wrap; justify-content: space-between; }
  #header .wrap-anchor-head { padding: 16px 0; bottom: 0; left: 0; right: 0; display: flex; justify-content: center; background-color: #FFF; }
  #header .list-anchor-head { display: flex; flex-wrap: wrap; padding: 0; margin-left: -1.7vw; }
  #header .list-anchor-head > li { padding-left: 1.7vw; }
  #header .list-anchor-head > li + li { margin-top: 0; }
  #header .list-anchor-head > li .link-anchor { transition: opacity 0.3s; cursor: pointer; font-size: 1.6rem; }
  #header .list-anchor-head > li .link-anchor:hover { opacity: 0.7; }
  #header .txt { flex: 1; }
  #header .txt span { display: block; margin-right: 0; }
  #header .txt img { width: auto; max-width: 180px; }
  #header .bnav > li > a { min-width: 130px; } .wrap-mainvisual { background-image: url(../images/bg_mv_pc.jpg); padding-top: 556px; }
  .wrap-mainvisual .img-mainvisual { position: absolute; bottom: 0; max-width: 1596px; margin: 0 auto; left: -158px; right: -158px; height: 100%; } .wrap-btn-introduce { padding: 28px 0; } a.btn-intro, button.btn-intro { max-width: 565px; margin: 0 auto; font-size: 2.6rem; line-height: 1; transition: opacity 0.3s; cursor: pointer; }
  a.btn-intro:hover, button.btn-intro:hover { opacity: 0.7; }
  a.btn-intro.pt-small, button.btn-intro.pt-small { width: 261px; } a.btn-member, button.btn-member { font-size: 2.2rem; line-height: 1.45; width: 316px; min-height: 59px; margin: 32px auto 0; transition: opacity 0.3s; cursor: pointer; }
  a.btn-member:hover, button.btn-member:hover { opacity: 0.7; } a.btn-share, button.btn-share { width: 261px; transition: opacity 0.3s; cursor: pointer; }
  a.btn-share:hover, button.btn-share:hover { opacity: 0.7; } .sec-intro { padding: 40px 0; }
  .sec-intro .box-intro { padding: 24px 32px 32px; }
  .sec-intro .hdg-lead { font-size: 2.8rem; color: #fff; line-height: 1.42; }
  .sec-intro .hdg-lead strong { font-size: 4rem; display: inline-block; }
  .sec-intro .hdg-lead .sub { font-size: 2.4rem; line-height: 1.45; } .hdg-lv2 { margin-bottom: 40px; }
  .hdg-lv2:has(.txt-role) { margin-bottom: 40px; }
  .hdg-lv2 .main { font-size: 5.6rem; line-height: 1.44; padding: 0 55px; }
  .hdg-lv2 .main:before, .hdg-lv2 .main:after { height: 52px; width: 6px; top: 10px; }
  .hdg-lv2 .main:before { left: 16px; -webkit-transform: rotate(140deg); transform: rotate(140deg); }
  .hdg-lv2 .main:after { right: 16px; -webkit-transform: rotate(40deg); transform: rotate(40deg); }
  .hdg-lv2 .sub { font-size: 2.4rem; line-height: 1.45; }
  .hdg-lv2 .txt-role { margin-top: 0; padding-left: 16px; padding-right: 16px; } .hdg-lv2-pt1 { font-size: 3.2rem; line-height: 1.4375; margin-bottom: 32px; } .hdg-lv2-pt2 { margin-bottom: 27px; }
  .hdg-lv2-pt2 span { font-size: 2.8rem; line-height: 1.42; padding-bottom: 6px; border-bottom: 3px solid #B3C4CC; } .sec-intro-material .txt-lead { font-size: 2rem; line-height: 1.75; }
  .sec-intro-material .wrap-cnt { display: flex; }
  .sec-intro-material .wrap-cnt + .list-input { margin-top: 0; }
  .sec-intro-material .wrap-img { margin-top: -40px; flex: 0 0 230px; margin-right: -10px; } .hdg-lv3 { font-size: 2.8rem; line-height: 1.42; margin-bottom: 22px; } .sec-step-intro { padding: 40px 0; }
  .sec-step-intro .list-notify > li span { font-weight: 400; font-size: 1.6rem; } .list-step-intro { display: flex; flex-wrap: wrap; margin-left: -25px; }
  .list-step-intro .ft-sm { font-size: 2.8rem !important; }
  .list-step-intro .ft-lg { font-size: 4rem !important; }
  .list-step-intro > li { width: calc(100% / 3); padding-left: 25px; padding-top: 44px; padding-bottom: 0; }
  .list-step-intro > li + li { margin-top: 0; }
  .list-step-intro > li:nth-child(3) .wrap-img { margin-top: 48px; }
  .list-step-intro > li:nth-child(3):after { left: 0; top: auto; bottom: -53px; -webkit-transform: rotate(0); transform: rotate(0); }
  .list-step-intro > li:nth-child(4) { width: 100%; margin-top: 16px; }
  .list-step-intro > li:before { border: 8px solid #FFDC64; font-size: 3.6rem; width: 88px; height: 88px; left: 25px; }
  .list-step-intro > li:after { top: 0; bottom: 0; left: auto; right: -45px; margin: auto; z-index: 2; -webkit-transform: rotate(-90deg); transform: rotate(-90deg); }
  .list-step-intro .wrap-box { padding: 55px 24px 30px; border-radius: 16px; height: 100%; }
  .list-step-intro .txt-lead { font-size: 2.8rem; line-height: 1.42; }
  .list-step-intro .txt-lead span.underline { position: relative; --underline-color: #FFFF00; --underline-cap-width: 4px; --underline-offset-y: -5px; --underline-width-scale: calc(var(--underline-width) / var(--underline-intrinsic-width)); --underline-intrinsic-width: 11; --underline-width: 8; display: inline; --underline-width-scale: calc(var(--underline-width) / var(--underline-intrinsic-width)); padding: 0 calc(var(--underline-padding-x) + calc(var(--underline-cap-width) * var(--underline-width-scale))); padding-bottom: 9px; -webkit-box-decoration-break: clone; box-decoration-break: clone; background-repeat: no-repeat; background-image: linear-gradient(180deg, var(--underline-color), var(--underline-color)); background-position-x: calc(var(--underline-cap-width) * var(--underline-width-scale)), 0, 100%; background-position-y: calc(100% - var(--underline-offset-y) * -1); background-size: calc(100% - calc(var(--underline-cap-width) * var(--underline-width-scale) * 2)) calc(var(--underline-width) * 1px), auto calc(var(--underline-width) * 1px), auto calc(var(--underline-width) * 1px); --underline-offset-y: -6px; }
  .list-step-intro .txt-lead + .txt-lead { margin-top: 12px; }
  .list-step-intro .txt-lead + .txt-lead + .txt-lead { margin-top: 10px; }
  .list-step-intro .wrap-img { width: 160px; margin-top: 24px; margin-bottom: 16px; margin-left: auto; margin-right: auto; padding: 0; }
  .list-step-intro .wrap-img.padding-sm { margin-top: 0; padding: 0; width: 211px; }
  .list-step-intro .wrap-block-image { margin-top: 0; position: absolute; pointer-events: none; top: 55px; left: 24px; right: 24px; }
  .list-step-intro .wrap-block-image .wrap-img { width: 190px; margin: 0; padding: 0; } .sec-invitation { padding: 40px 0 48px; } .txt-role:has(.ft-sm) { padding-left: 16px; padding-right: 16px; }
  .txt-role .txt { font-size: 2.4rem; } .wrap-invitation + .wrap-invitation { scroll-margin-top: 60px; } .wrap-invitation + .wrap-invitation { margin-top: 32px; }
  .wrap-invitation .wrap-box { padding: 55px 82px 32px; }
  .wrap-invitation .ttl { font-size: 2.8rem; line-height: 1.42; }
  .wrap-invitation .ttl + .list-input { margin-top: 32px; }
  .wrap-invitation .txt { text-align: center; margin-top: 12px; font-size: 1.8rem; line-height: 1.44; }
  .wrap-invitation .txt + .list-input { margin-top: 40px; } .wrap-inner-layout { max-width: 980px; margin: 0 auto; } .wrap-input label { font-size: 2rem; line-height: 1.45; }
  .wrap-input .txt-input { height: 59px; border: 2px solid #b3c4cc; font-size: 2.4rem; padding: 11px 24px 13px; }
  .wrap-input .txt-confirm { min-height: 53px; font-size: 2rem; padding: 12px 24px; }
  .wrap-input .txt-error { font-size: 1.8rem; }
  .wrap-input .txt-error + .wrap-link { margin-top: 20px; } .wrap-link { margin-top: 4px; }
  .wrap-link.question { margin-right: 0; }
  .wrap-link.question .txt-link span { padding-left: 32px; }
  .wrap-link.question .txt-link span:before { top: 3px; width: 24px; height: 24px; }
  .wrap-link.clear .txt-link, .wrap-link.copy .txt-link { font-size: 1.8rem; }
  .wrap-link .txt-link { transition: opacity 0.3s; cursor: pointer; font-size: 2rem; line-height: 1.45; }
  .wrap-link .txt-link:hover { opacity: 0.7; }
  .wrap-link .txt-link-btn { margin-top: 32px; max-width: 233px; min-height: 53px; border-radius: 8px; font-size: 1.8rem; line-height: 1.44; }
  .wrap-link + .list-note { margin-top: 8px; }
  .wrap-link.inquery .txt-link-btn { margin: 0; display: inline-block; } .wrap-btn-share { margin-top: 32px; display: flex; align-items: center; }
  .wrap-btn-share span { margin-top: 0; margin-bottom: 0; margin-left: 20px; margin-right: 20px; } .list-note { margin-top: 8px; }
  .list-note span { padding-left: 1.2em; font-size: 1.6rem; } .wrap-notify { margin-top: 56px; border: 4px solid #ffd800; padding: 36px 54px 10px; }
  .wrap-notify .wrap-cnt { margin-top: -25px; display: flex; align-items: center; }
  .wrap-notify .txt-notify { font-size: 2rem; line-height: 1.75; }
  .wrap-notify .wrap-img { margin-top: 0; flex: 0 0 190px; margin-left: 68px; padding: 0; } .list-notify > li span { font-size: 2.4rem; line-height: 1.5; padding-left: 64px; }
  .list-notify > li span:before { width: 48px; height: 48px; bottom: 0; margin: auto; } .sec-program { padding: 96px 0 80px; } .dl-info { border-bottom: 0; }
  .dl-info .wrap-box { display: flex; }
  .dl-info .wrap-box:first-of-type dt { border-top: 2px solid #DFF4FE; }
  .dl-info .wrap-box:last-of-type dt { border-bottom: 2px solid #DFF4FE; }
  .dl-info .wrap-box:last-of-type dd { border-bottom: 2px solid #CCCCCC; }
  .dl-info dt { flex: 0 0 326px; padding: 18px 23px; border-top: 2px solid #FFF; font-size: 2rem; line-height: 1.45; display: flex; align-items: center; }
  .dl-info dd { font-size: 2rem; line-height: 1.45; flex: 1; border-top: 2px solid #CCCCCC; padding: 16px 0 16px 32px; }
  .dl-info dd .list-note { margin-top: 8px; }
  .dl-info dd .list-notify { margin-top: 12px; }
  .dl-info dd .list-notify > li span { font-weight: 600; font-size: 1.6rem; line-height: 1.5; }
  .dl-info dd .list-notify > li span:before { top: 0; bottom: auto; }
  .dl-info dd span + span { margin-top: 4px; }
  .dl-info dd span + .bold { margin-top: 16px; }
  .dl-info dd .txt-notify { margin-top: 8px; font-size: 1.6rem; } .list-dots > li { font-size: 1.6rem; }
  .list-dots > li:before { width: 6px; height: 6px; } .list-number { margin-top: 4px; } .sec-contact { padding: 32px 0; }
  .sec-contact .txt-lead { font-size: 2.2rem; line-height: 1.45; }
  .sec-contact .working-hour { margin-top: 16px; font-size: 2.2rem; line-height: 1.45; }
  .sec-contact .working-hour + .list-note { margin-top: 40px; display: flex; flex-direction: column; align-items: center; } .list-phone-number { width: 608px; margin: 24px auto 0; display: flex; flex-wrap: wrap; gap: 8px 80px; justify-content: space-between; }
  .list-phone-number > li { font-size: 2.8rem; }
  .list-phone-number > li + li { margin-top: 0; }
  .list-phone-number .tel { text-decoration: none; cursor: auto; } .wrap-form-invitation-pt1 { margin-top: 56px; padding: 32px 83px; border-radius: 16px; } .basicmodal .wrap-btn-close { top: 24px; } .box-modal { padding: 40px 70px; width: 1120px; border-radius: 16px; } .modal-content .txt-lead { margin-top: 24px; font-size: 2.4rem; }
  .modal-content .wrap-link.question .txt-link { text-decoration: none; }
  .modal-content .wrap-link.question .txt-link span { padding-left: 36px; text-align: left; }
  .modal-content .wrap-link.question .txt-link span:before { position: absolute; width: 32px; height: 32px; }
  .modal-content .txt-link { font-size: 2.8rem; line-height: 1.42; text-align: left; }
  .modal-content .wrap-box-image { margin-top: 40px; }
  .modal-content .wrap-img + .txt-modal { margin-top: 16px; }
  .modal-content .wrap-cnt { margin-top: 40px; }
  .modal-content .list-dots { margin-top: 0; }
  .modal-content .list-dots > li { padding-left: 1.3em; font-size: 2rem; }
  .modal-content .list-dots > li + li { margin-top: 8px; }
  .modal-content .list-dots > li:before { top: 1.4rem; } }

@media screen and (min-width: 898px) and (max-width: 1025px) { .wrap-container { padding-top: 121px; } }

@media screen and (min-width: 768px) and (max-width: 897px) { .wrap-container { padding-top: 138px; } }

@media screen and (max-width: 897px) { #header .wrap-anchor-head { padding-bottom: 0; } }

@media screen and (max-width: 1050px) { #header .txt span { line-height: 1.8; } }

@media screen and (max-width: 1690px) { #header .txt span { margin-bottom: 0; } }