@charset "UTF-8";

/*
/* common設定
/* -------------------------------------------------- */

h1,
h2,
h3,
h4,
h5,
h6 { margin-top: initial; margin-bottom: initial; font-size: initial; font-weight: initial; }

article h2 { background: #000000; color: #ffffff; font-weight: bold; }
._border-radius_20px { border-radius: 20px; }

@media screen and (min-width: 700px), print {
:target::before { height: 50px !important; margin-top: -50px !important; }
article h2 { margin-bottom: 2rem; padding: .75rem 0 .75rem 2rem; font-size: 1.5em; }
}

@media only screen and (max-width: 699px) {
:target::before { height: 150px !important; margin-top: -150px !important; }
article h2 { margin-bottom: 1rem; padding: .5rem 0 .5rem .5rem; font-size: 1.25em; }
}

/*
/* section_anchor
/* -------------------------------------------------- */

._button { position: relative; background: #d1ee7f; border-radius: 100vh; text-align: center; transition: all .2s linear; }
._button a { border-radius: 100vh; color: #000000; text-decoration: none; }
._button::after { content: "\EA02"; position: absolute; top: 0; right: 14px; pointer-events: none; font-family: "icons"; font-size: 14px; }
._button:hover { box-shadow: 0 0 10px rgba(0,0,0,.1); }

@media screen and (min-width: 700px), print {
._button,
._button a { height: 50px; line-height: 50px; }
}

@media only screen and (max-width: 699px) {
._button,
._button a { height: 40px; line-height: 40px; }
}

/*
/* section_about
/* -------------------------------------------------- */

/*
/* section_price
/* -------------------------------------------------- */

/*
/* section_howto
/* -------------------------------------------------- */

.section_howto dl { position: relative; }
.section_howto dl.arrow::after { content: ""; position: absolute; background: #ffffff; clip-path: polygon(0 0, 100% 0, 50% 100%); }
.section_howto dl dt { background: #55cc7c; color: #ffffff; font-weight: bold; text-align: center; }
.section_howto dl dd { background: #ffffff; }
.section_howto dl dd a { color: #00a0e9; text-decoration: underline; }

@media screen and (min-width: 700px), print {
.section_howto dl { display: flex; flex-wrap: wrap; }
.section_howto dl.arrow { margin-bottom: 39px; }
.section_howto dl.arrow::after { bottom: -25px; left: calc((100% - 104px) / 2); width: 104px; height: 26px; }
.section_howto dl dt { display: flex; justify-content: center; align-items: center; width: 25%; border-radius: 20px 0 0 20px; font-size: 1.5em; }
.section_howto dl dd { width: 75%; border-radius: 0 20px 20px 0; font-size: 1.25em; padding: 2em; }
}

@media only screen and (max-width: 699px) {
.section_howto dl.arrow { margin-bottom: 26px; }
.section_howto dl.arrow::after { bottom: -12px; left: calc((100% - 52px) / 2); width: 52px; height: 13px; }
.section_howto dl dt { width: 100%; padding: .5em 0; border-radius: 20px 20px 0 0; font-size: 1.25em; }
.section_howto dl dd { width: 100%; border-radius: 0 0 20px 20px; padding: 1em; }
}

/*
/* section_calender
/* -------------------------------------------------- */

.section_calender_wrapper { background: linear-gradient(150deg, #d1ee7f, #55cc7c 45%); }

/*
/* section_schedule
/* -------------------------------------------------- */

.section_schedule_subtitle { padding: .75rem 0; border-radius: 20px 20px 0 0; background:#2a7db5; color: #ffffff; text-align: center; font-weight: bold; }
.section_schedule_wrapper { position: relative; border-radius: 0 0 20px 20px; background: #ffffff; }
.section_schedule_wrapper.arrow::after { content: ""; position: absolute; background: #ffffff; clip-path: polygon(0 0, 100% 0, 50% 100%); }
.section_schedule_wrapper_am { padding: .75rem 0; background:#7ec0e3; color: #ffffff; text-align: center; font-weight: bold; }
.section_schedule_wrapper_pm { padding: .75rem 0; background:#ea9f9c; color: #ffffff; text-align: center; font-weight: bold; }

@media screen and (min-width: 700px), print {
.section_schedule_subtitle { font-size: 1.5em; }
.section_schedule_wrapper { padding: 2em; }
.section_schedule_wrapper.arrow { margin-bottom: 39px; }
.section_schedule_wrapper.arrow::after { bottom: -25px; left: calc((100% - 104px) / 2); width: 104px; height: 26px; }
.section_schedule_wrapper_am,
.section_schedule_wrapper_pm { font-size: 1.5em; }
}

@media only screen and (max-width: 699px) {
.section_schedule_subtitle { font-size: 1.25em; }
.section_schedule_wrapper { padding: 1em; }
.section_schedule_wrapper.arrow { margin-bottom: 26px; }
.section_schedule_wrapper.arrow::after { bottom: -12px; left: calc((100% - 52px) / 2); width: 52px; height: 13px; }
.section_schedule_wrapper_am,
.section_schedule_wrapper_pm {  }
}

/*
/* section_faq
/* -------------------------------------------------- */

.section_faq dl dt { position: relative; margin-top: 1.5em; }
.section_faq dl dt::before { content: ""; position: absolute; top: 2px; left: 0; width: 36px; height: 36px; border-radius: 100vw; background: #000000; }
.section_faq dl dt::after { content: "Q"; position: absolute; color: #ffffff; }
.section_faq dl dd { position: relative; margin-top: 1.5em; padding-bottom: 1em; border-bottom: 1px solid #e8e8e8;}
.section_faq dl dd::before { content: ""; position: absolute; top: 2px; left: 0; width: 36px; height: 36px; border-radius: 100vw; background: #fff000; }
.section_faq dl dd::after { content: "A"; position: absolute; top: 6px; left: 13px; color: #000000; }

@media screen and (min-width: 700px), print {
.section_faq dl { font-size: 1.25em; }
.section_faq dl dt { padding-top: .3em; padding-left: 2.75em; }
.section_faq dl dt::after { top: 6px; left: 11px; }
.section_faq dl dd { padding-top: .3em; padding-left: 2.75em; }
.section_faq dl dd::after { top: 7px; left: 12px; }
}

@media only screen and (max-width: 699px) {
.section_faq dl dt { padding-top: .6em; padding-left: 3.25em; }
.section_faq dl dt::after { top: 8px; left: 13px; }
.section_faq dl dd { padding-top: .6em; padding-left: 3.25em; }
.section_faq dl dd::after { top: 9px; left: 14px; }
}

/*
/* section_disclaimer
/* -------------------------------------------------- */

.section_disclaimer ul li:not(:last-child) { margin-bottom: 1em; }
.section_disclaimer ul li a { color: #00a0e9; text-decoration: underline; }