@charset "UTF-8";
/**
 * お得になるには理由がある！CSS（2022.9.30作成／2023.9.28改修／2024.1.27改修／2025.1.30改修／2025.8.29改修）
 */

/* -----------------------------------------------------------
import
----------------------------------------------------------- */

@import url('https://fonts.googleapis.com/css2?family=Lato:wght@700;900&family=Noto+Sans+JP:wght@100..900&display=swap');


/* -----------------------------------------------------------
recet
----------------------------------------------------------- */

.no-responsive_contents {
background: #073082;
font-size: 16px;
line-height: 1;
-webkit-text-size-adjust: 100%;
}

.no-responsive_contents * {
font-family: "FOT-UD角ゴ_スモール Pr6 B", "Lato", "Noto Sans JP", sans-serif;
color: #000;
font-weight: 700;
}

.no-responsive_contents .body-group {
padding-top: 0;
padding-bottom: 0;
}

.no-responsive_contents p, .no-responsive_contents li, .no-responsive_contents dt, .no-responsive_contents dd {
line-height: 1.75;
}

.section {
padding: calc(6.25rem - (clamp(2rem, 2.431vw + 1.43rem, 3.375rem) * 0.25)) 0 6.25rem;
}

.section p {
margin-top: 1em;
}

.no-responsive_contents h2 + p, .no-responsive_contents h3 + p, .no-responsive_contents h4 + p, 
.section p:nth-child(1),
.no-responsive_contents h2 + h3, .no-responsive_contents h3 + h4 {
margin-top: 0;
}

.no-responsive_contents a {
color: inherit;
text-decoration: underline;
}

.no-responsive_contents em.marker {
font-weight: 700;
}


/* -----------------------------------------------------------
style
----------------------------------------------------------- */

.clearfix {
overflow: hidden;
position: relative;
}

.br {
display: block;
font-family: inherit;
color: inherit;
line-height: inherit;
}

.br-inline {
display: inline-block;
font-family: inherit;
color: inherit;
line-height: inherit;
}

.br-sp {
font-family: inherit;
color: inherit;
line-height: inherit;
}

.heading01 {
font-family: "FOT-コメット Std B", "Lato", "Noto Sans JP", sans-serif;
font-size: clamp(2.063rem, 2.983vw + 1.363rem, 3.75rem);
font-weight: 900;
color: #f2e33c;
text-align:center;
line-height: 1.5;
margin: calc(clamp(5rem, 9.375vw, 7.5rem) - (clamp(3rem, 1.326vw + 2.689rem, 3.75rem) * 0.25)) auto calc(clamp(2.5rem, 4.6875vw, 3.75rem) - (clamp(3rem, 1.326vw + 2.689rem, 3.75rem) * 0.25));
}

.heading01 small {
font-family: inherit;
font-size: 80%;
font-weight: inherit;
color: inherit;
}

.heading01 span.br {
font-family: inherit;
}

.section p.notice {
font-size: 75%;
line-height: 1.5;
}

.btn {
text-align: center;
}

.btn a {
border: 3px solid #ff629f;
border-image: linear-gradient(135deg, #ff629f 0%, #105bbe 50%, #2793f2 100%);
border-image-slice: 1;
display: inline-flex;
align-items: center;
justify-content: center;
height: 3em;
color: #fff;
text-decoration: none;
line-height: 1;
}

.btn-md a {
font-size: clamp(1.313rem, 0.994vw + 1.079rem, 1.875rem);
padding: 0 2em;
}

.btn-sm a {
font-size: clamp(0.75rem, 0.166vw + 0.711rem, 0.844rem);
padding: 0 1.5em;
}


/* -----------------------------------------------------------
layout
----------------------------------------------------------- */

/**
 * main
 */

#main {
aspect-ratio: 2 / 1;
background: url("../img/bg_main.png") no-repeat center center / 100% auto;
display: flex;
align-items: center;
justify-content: center;
width: 100%;
position: relative;
}

#main #pageId {
width: 80%;
}

#deadline {
display: block;
width: max(12%, 84px);
position: absolute;
top: 0;
left: 2.5%;
z-index: 2;
}

#deadline img {
width: 100%;
}

/**
 * contents
 */

#contents {
background-image: linear-gradient( 135deg, #073082 0%, #ff629f 100%);
/*width: 1080px;*/
padding: clamp(3.75rem, 7.03125vw, 5.625rem) 0;
position: relative;
z-index: 1;
}

#contents::before {
background: url("../img/pat_dots.png") repeat center top / clamp(400px, 60.9375%, 800px) auto;
content: "";
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
z-index: -1;
}

#contents .wrap {
width: 84.375%;
max-width: 1080px;
margin-right: auto;
margin-left: auto;
}

#intro p {
font-size: clamp(1.031rem, 0.497vw + 0.915rem, 1.313rem);
color: #ff629f;
text-align: center;
line-height: clamp(1.856rem, 1.359vw + 1.538rem, 2.625rem);
}

#intro dl {
text-align: center;
}

#intro dl dt {
font-family: "FOT-コメット Std B", "Lato", "Noto Sans JP", sans-serif;
font-size: clamp(1.125rem, 1.326vw + 0.814rem, 1.875rem);
color: #2793f2;
margin-top: 2em;
margin-bottom: 1em;
}

/**
 * entry
 */

#entry .heading01 {
margin-top: calc(clamp(3.75rem, 7.03125vw, 5.625rem) - (clamp(3rem, 1.326vw + 2.689rem, 3.75rem) * 0.25));
}
 
#entry .heading01 + p.notice {
font-size: clamp(0.656rem, 0.166vw + 0.617rem, 0.75rem);
color: #2793f2;
text-align: center;
line-height: 1.5;
}

#entry p.info {
font-size: clamp(0.844rem, 0.166vw + 0.805rem, 0.938rem);
color: #fff;
text-align: center;
margin-top: 1em;
}

#entry p.info:has(+ .lineup-wrapper) {
margin-bottom: clamp(1.25rem, 2.34375vw, 1.875rem);
}

.lineup-wrapper {
display: flex;
flex-wrap: wrap;
justify-content: center;
column-gap: clamp(0.625rem, 1.171875vw, 0.9375rem);
row-gap: clamp(0.625rem, 1.171875vw, 0.9375rem);
}

.lineup-wrapper div.lineup {
border: 2px solid #ff629f;
border-image: linear-gradient(135deg, #ff629f 0%, #105bbe 50%, #2793f2 100%);
border-image-slice: 1;
box-sizing: border-box;
display: flex;
flex-direction: column;
width: calc((100% - (clamp(0.625rem, 1.171875vw, 0.9375rem) * 2)) / 3);
text-align: center;
padding: calc(clamp(1.25rem, 2.34375vw, 1.875rem) - (clamp(1.031rem, 0.497vw + 0.915rem, 1.313rem) * 0.25)) clamp(0.9375rem, 1.5625vw, 1.25rem) clamp(1.25rem, 2.34375vw, 1.875rem);
}

#entry div.lineup p.goal {
font-family: "FOT-コメット Std B", "Lato", "Noto Sans JP", sans-serif;
font-size: clamp(1.031rem, 0.497vw + 0.915rem, 1.313rem);
color: #f2e33c;
text-align: center;
line-height: 1.5;
margin-bottom: calc(clamp(1.125rem, 1.875vw, 1.5rem) - (clamp(1.031rem, 0.497vw + 0.915rem, 1.313rem) * 0.25));
}

#entry div.lineup .course {
font-size: clamp(0.844rem, 0.166vw + 0.805rem, 0.938rem);
color: #fff;
text-align: center;
line-height: 1.8;
}

#entry div.lineup .course span.pic {
display: flex;
justify-content: center;
text-align: center;
margin-bottom: calc(clamp(1.25rem, 1.875vw, 1.5rem) - (clamp(0.844rem, 0.166vw + 0.805rem, 0.938rem) * 0.4));
}

#entry div.lineup .course span.pic img {
width: 58%;
}

#entry div.lineup .course span.pic img:nth-child(1) {
margin-right: -16%;
}

#entry div.lineup .course span.br {
margin-top: 0.5em;
}

#entry p.price {
font-size: clamp(0.938rem, 0.331vw + 0.86rem, 1.125rem);
color: #fff;
line-height: 1.8;
margin-top: calc(1em - (clamp(0.844rem, 0.166vw + 0.805rem, 0.938rem) * 0.4));
margin-bottom: calc(clamp(1.5rem, 2.34375vw, 1.875rem) - (clamp(0.844rem, 0.166vw + 0.805rem, 0.938rem) * 0.4));
}

#entry p.price span.usually {
font-family: "FOT-UD角ゴ_スモール Pr6 M", "Lato", "Noto Sans JP", sans-serif;
font-weight: 500;
color: inherit;
text-decoration: line-through;
}

#entry p.price em.special {
display: inline-block;
font-size: 200%;
font-weight: 700;
color: #2793f2;
line-height: 1;
}

#entry p.price span.yen {
font-weight: 700;
color: #fff;
line-height: 1;
}

#contents .bnr-area {
text-align: center;
margin-top: clamp(3.75rem, 7.03125vw, 5.625rem);
}

#about .text p {
font-size: clamp(1.031rem, 0.497vw + 0.915rem, 1.313rem);
color: #fff;
text-align: center;
line-height: clamp(1.856rem, 1.359vw + 1.538rem, 2.625rem);
}

#about figure {
background: url("../img/bg_about.svg") repeat-x center top / min(146.25%, 1872px) auto;
text-align: center;
margin-top: clamp(2.5rem, 4.6875vw, 3.75rem)
}

#about figure img {
width: 74.0625%;
max-width: 948px;
margin: 0 auto;
}

#faq .heading01 {
color: #fff;
}

#faq dt.trigger {
background: #073082;
box-sizing: border-box;
display: flex;
align-items: center;
cursor: pointer;
min-height: 4em;
font-size: clamp(1.031rem, 0.497vw + 0.915rem, 1.313rem);
font-weight: 700;
color: #fff;
line-height: 1.5;
margin-top: clamp(1.25rem, 2.34375vw, 1.875rem);
padding: 0.5em 1em;
position: relative;
}

#faq dt.trigger div {
box-sizing: border-box;
width: calc(100% - 2em - 1.25em);
color: inherit;
padding: 0 0.75em;
}

#faq dt.trigger:nth-child(1) {
margin-top: 0;
}

#faq dt.trigger::before {
content: "Q"attr(data-text);
width: 2em;
height: 1.25em;
font-family:  "FOT-コメット Std B", "Lato", "Noto Sans JP", sans-serif;
font-size: 112.5%;
font-weight: 700;
color: #fff;
text-align: center;
line-height: 1.25;
}

#faq dt.trigger::after {
background: url("../img/icon-plus.svg") no-repeat center center / 100% auto;
content: "";
width: 1.25em;
height: 1.25em;
transition: all 0.25s linear;
}

#faq dt.trigger.active::after {
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}

#faq dd.toggle {
display: none;
}

#faq dd.toggle.box {
background: #fff;
font-size: clamp(0.938rem, 0.331vw + 0.86rem, 1.125rem);
line-height: clamp(1.688rem, 0.994vw + 1.454rem, 2.25rem);
color: #073082;
margin-top: 0;
padding: 1em 1.25em;
}


@media only screen and (max-width: 834px){

#about figure {
background-size: calc((146.25 / 74.0625) * 80%);
}

#about figure img {
width: 80%;
}

}

@media only screen and (min-width: 481px) and (max-width: 834px) {

.lineup-wrapper div.lineup {
width: calc((100% - clamp(0.625rem, 1.171875vw, 0.9375rem)) / 2);
}

}

@media only screen and (max-width: 767px) {

.btn-md a {
padding: 0 1.5em;
}

#contents .wrap {
width: 90%;
}

#intro {
text-align: center;
}

#intro .text, #about .text {
display: inline-block;
}

#intro .text p, #about .text p {
text-align: left;
}

#intro .text p .br-inline {
display: inline;
}

#contents #about .wrap {
text-align: center;
}

#about figure {
background-size: calc((146.25 / 74.0625) * 90%);
}

#about figure img {
width: 90%;
}

}

@media only screen and (max-width: 600px) {

.br-sp {
display: block;
}

#main {
aspect-ratio: 6 / 5;
background-size: cover;
}

#main #pageId {
width: 100%;
}

#deadline {
width: 22.4%;
left: inherit;
right: 2.5%;
}

}

@media only screen and (max-width: 480px) {

.br-inline-sp {
display: inline-block;
}

.lineup-wrapper div.lineup {
width: 100%;
max-width: 350px;
}

#about figure {
background-size: calc((146.25 / 74.0625) * 96%);
}

#about figure img {
width: 96%;
}

}