@charset "UTF-8";

@media screen and (min-width: 768px) { .mv { height: 0; padding-bottom: 43.42857%; background: url(../img/top/img_mv_pc.jpg) no-repeat center top/contain; } }
@media screen and (max-width: 1024px) and (min-width: 768px) { .mv { padding-bottom: 61.29032%; background-image: url(../img/top/img_mv_tab.jpg); } }
@media screen and (min-width: 768px) { .mv span { display: none; } }

.link-school { position: relative; display: block; background: #303030; color: #FFFFFF; text-align: center; }
@media screen and (min-width: 768px) { .link-school { padding: 1.0em 0; font-size: 1.8rem; } }
@media screen and (max-width: 767px) { .link-school { padding: 0.5em 6.25815vw; font-size: 1.2rem; } }
.link-school::before { top: 50%; margin-top: -0.5em; color: #dd4e84; }
@media screen and (min-width: 768px) { .link-school::before { right: 20px; transition-duration: .3s; z-index: +1; } }
@media screen and (max-width: 767px) { .link-school::before { right: 6.25815vw; } }
@media screen and (min-width: 768px) { .link-school::after { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #dd4e84; content: ""; transition-duration: .3s; transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1); transform: scaleX(0); transform-origin: left top; } }
.link-school span { position: relative; }
@media screen and (min-width: 768px) { .link-school span { display: inline-block; padding-left: 50px; z-index: +1; } }
@media screen and (max-width: 767px) { .link-school span { display: block; } }
.link-school span::before { position: absolute; top: 50%; left: 0; display: block; background: url(../img/top/icon_school.png) no-repeat center top/contain; content: ""; transform: translateY(-50%); }
@media screen and (min-width: 768px) { .link-school span::before { width: 30px; height: 26px; } }
@media screen and (max-width: 767px) { .link-school span::before { width: 18px; height: 15px; } }
@media screen and (min-width: 768px) { .link-school:hover::before { color: #FFFFFF; } }
@media screen and (min-width: 768px) { .link-school:hover::after { transform: scaleX(1); } }

@media screen and (min-width: 768px) { [class|="top-contents"] { padding: 60px 15px 70px; } }
@media screen and (max-width: 767px) { [class|="top-contents"] { padding: 35px 3.12907vw; } }
[class|="top-contents"] .contents-title { text-align: center; }
@media screen and (min-width: 768px) { [class|="top-contents"] .contents-title { margin-bottom: 50px; } }
@media screen and (max-width: 767px) { [class|="top-contents"] .contents-title { margin-bottom: 25px; } }
[class|="top-contents"] .contents-title .eng { display: block; font-family: 'Prata', serif; }
@media screen and (min-width: 768px) { [class|="top-contents"] .contents-title .eng { font-size: 4.8rem; } }
@media screen and (max-width: 767px) { [class|="top-contents"] .contents-title .eng { font-size: 2.6rem; } }
[class|="top-contents"] .contents-title .jpg { display: block; }
@media screen and (min-width: 768px) { [class|="top-contents"] .contents-title .jpg { font-size: 2.0rem; } }
@media screen and (max-width: 767px) { [class|="top-contents"] .contents-title .jpg { font-size: 1.4rem; } }
[class|="top-contents"] .contents-txt { font-family: 'Noto Sans Japanese', sans-serif; }
@media screen and (min-width: 768px) { [class|="top-contents"] .contents-txt { margin-bottom: 60px; font-size: 1.7rem; line-height: 1.88; text-align: center; } }
@media screen and (max-width: 767px) { [class|="top-contents"] .contents-txt { margin-bottom: 30px; font-size: 1.3rem; line-height: 1.6; } }
@media screen and (min-width: 768px) { [class|="top-contents"] .link-list { max-width: 1200px; } }

.top-contents-about .definition-box { background: #EAEAEA; }
@media screen and (min-width: 768px) { .top-contents-about .definition-box { width: 100%; max-width: 1200px; margin: 0 auto; padding: 25px 0 30px; } }
@media screen and (max-width: 767px) { .top-contents-about .definition-box { padding: 20px 15px 25px; } }
.top-contents-about .definition-box .definition-title { color: #dd4e84; text-align: center; }
@media screen and (min-width: 768px) { .top-contents-about .definition-box .definition-title { margin-bottom: 20px; font-size: 2.7rem; } }
@media screen and (max-width: 767px) { .top-contents-about .definition-box .definition-title { margin-bottom: 15px; font-size: 1.5rem; } }
.top-contents-about .definition-box .definition-title span { position: relative; display: inline-block; padding-left: 0.5em; letter-spacing: 0.5em; }
.top-contents-about .definition-box .definition-title span::after { position: absolute; right: 0.5em; bottom: 0; left: 0.5em; height: 1px; background: #dd4e84; content: ""; }
@media screen and (min-width: 768px) { .top-contents-about .definition-box .definition-txt { font-size: 1.7rem; text-align: center; } }
@media screen and (max-width: 767px) { .top-contents-about .definition-box .definition-txt { font-size: 1.3rem; } }

.top-contents-advantage { background: url(../img/top/bg_advantage.png) no-repeat center center/cover; }
.top-contents-advantage .merit-list { color: #dd4e84; }
@media screen and (min-width: 768px) { .top-contents-advantage .merit-list { display: flex; justify-content: center; width: 100%; max-width: 1200px; margin: 0 auto 65px; font-size: 2.6rem; } }
@media screen and (max-width: 1024px) and (min-width: 768px) { .top-contents-advantage .merit-list { font-size: 2.4rem; } }
@media screen and (max-width: 767px) { .top-contents-advantage .merit-list { margin-bottom: 35px; padding-left: 19.55671vw; font-size: 1.8rem; } }
@media screen and (min-width: 768px) { .top-contents-advantage .merit-list .txt { flex-grow: 1; text-align: center; } }
@media screen and (max-width: 767px) { .top-contents-advantage .merit-list .txt { margin-bottom: 15px; } }
.top-contents-advantage .merit-list .txt span { display: inline-block; background: no-repeat left center; }
@media screen and (min-width: 768px) { .top-contents-advantage .merit-list .txt span { padding-left: 90px; line-height: 76px; background-size: 76px 76px; } }
@media screen and (max-width: 1024px) and (min-width: 768px) { .top-contents-advantage .merit-list .txt span { padding-left: 80px; line-height: 70px; background-size: 70px 70px; } }
@media screen and (max-width: 767px) { .top-contents-advantage .merit-list .txt span { padding-left: 65px; line-height: 55px; background-size: 55px 55px; } }
.top-contents-advantage .merit-list .txt:nth-of-type(1) span { background-image: url(../img/top/icon_advantage01.png); }
.top-contents-advantage .merit-list .txt:nth-of-type(2) span { background-image: url(../img/top/icon_advantage02.png); }
.top-contents-advantage .merit-list .txt:nth-of-type(3) span { background-image: url(../img/top/icon_advantage03.png); }
.top-contents-advantage .merit-list .txt + .txt { position: relative; }
@media screen and (min-width: 768px) { .top-contents-advantage .merit-list .txt + .txt::before { position: absolute; top: 0; left: 0; width: 1px; height: 100%; background: rgba(48, 48, 48, 0.3); content: ""; } }

@media screen and (min-width: 768px) { .top-contents-howto .link-list { justify-content: center; } }
@media screen and (max-width: 767px) { .top-contents-howto .link-list { display: flex; flex-wrap: wrap; justify-content: space-between; } }
@media screen and (min-width: 768px) { .top-contents-howto .link-list .link-block { width: 31.16667%; margin-bottom: 35px; margin-left: 3.25%; } }
@media screen and (max-width: 1024px) and (min-width: 768px) { .top-contents-howto .link-list .link-block { width: 36.52344vw; margin-left: 3.90625vw; } }
@media screen and (max-width: 767px) { .top-contents-howto .link-list .link-block { width: 45.63233vw; margin-bottom: 3.91134vw; } }
@media screen and (min-width: 768px) { .top-contents-howto .link-list .link-block:nth-of-type(3n-2) { margin-left: 0; } }
@media screen and (max-width: 1024px) and (min-width: 768px) { .top-contents-howto .link-list .link-block:nth-of-type(3n-2) { margin-left: 3.90625vw; } }
@media screen and (max-width: 1024px) { .top-contents-howto .link-list .link-block:nth-of-type(2n-1) { margin-left: 0; } }
@media screen and (max-width: 1024px) and (min-width: 768px) { .top-contents-howto .link-list .txt::before { border-right-width: 36.52344vw; border-bottom-width: 33px; } }
@media screen and (max-width: 767px) { .top-contents-howto .link-list .txt::before { border-right-width: 45.63233vw; border-bottom-width: 15px; } }

.top-contents-instructors { background: url(../img/top/bg_instructors.png) no-repeat center center/cover; }
@media screen and (min-width: 768px) { .top-contents-instructors .link-list { justify-content: space-between; } }
@media screen and (max-width: 1024px) and (min-width: 768px) { .top-contents-instructors .link-list { display: block; } }
@media screen and (min-width: 768px) { .top-contents-instructors .link-list .link-block { width: 48.33333%; } }
@media screen and (max-width: 1024px) and (min-width: 768px) { .top-contents-instructors .link-list .link-block { width: 580px; margin: 0 auto 25px; } }
@media screen and (max-width: 767px) { .top-contents-instructors .link-list .link-block { margin-bottom: 3.25945vw; } }
@media screen and (max-width: 1024px) and (min-width: 768px) { .top-contents-instructors .link-list .txt::before { border-right-width: 580px; border-bottom-width: 50px; } }
@media screen and (max-width: 767px) { .top-contents-instructors .link-list .txt::before { border-right-width: 93.87223vw; border-bottom-width: 15px; } }
