@charset "UTF-8";
* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; word-wrap: break-word; }

html { font-size: 62.5%; }
@media screen and (max-width: 750px) { html { font-size: 2.5333333333vw; } }

body { color: #222; font-family: YuGothicM, YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; font-size: 1.5rem; -webkit-text-size-adjust: 100%; }

li { list-style: none; }

img { max-width: 100%; vertical-align: bottom; }

video { max-width: 100%; }

a { color: #222; }
a:hover { text-decoration: none; }

button { padding: 0; border: none; background: none; font-family: inherit; font-size: 1.5rem; cursor: pointer; }

input[type="text"], input[type="password"], input[type="tel"], input[type="email"], input[type="submit"], input[type="button"], textarea, select { font-family: inherit; font-size: 1.5rem; }

.only-pc { display: block; }
@media screen and (max-width: 750px) { .only-pc { display: none; } }

.only-sp { display: none; }
@media screen and (max-width: 750px) { .only-sp { display: block; } }

img.only-pc, span.only-pc { display: inline; }
@media screen and (max-width: 750px) { img.only-pc, span.only-pc { display: none; } }
img.only-sp, span.only-sp { display: none; }
@media screen and (max-width: 750px) { img.only-sp, span.only-sp { display: inline; } }

table.only-pc { display: table; }
@media screen and (max-width: 750px) { table.only-pc { display: none; } }
table.only-sp { display: none; }
@media screen and (max-width: 750px) { table.only-sp { display: table; } }

.js-tel { color: #000 !important; text-decoration: none; cursor: default; }

.pagetop { position: fixed; bottom: 0; right: 0; z-index: 9999; opacity: 0; transition: all .5s; transform: translateY(100px); width: 75px; }
@media screen and (max-width: 750px) { .pagetop { width: 40px; } }
.pagetop.is-show { opacity: 1; transform: translateY(0); }

.inner { width: 100%; max-width: 1720px; margin: 0 auto; padding: 0 20px; line-height: 1.6; }
@media screen and (max-width: 750px) { .inner { padding: 0 4%; } }

.slide-nav { position: fixed; top: 0; right: 0; margin-top: 60px; }
@media screen and (max-width: 750px) { .slide-nav { width: 8%; } }

/* ------------------------------ ヘッダー
------------------------------ */
.header { margin-bottom: 70px; }
.header .header-in { display: flex; align-items: center; justify-content: space-between; flex-direction: row-reverse; }
@media screen and (max-width: 960px) { .header .header-in { display: block; } }
.header .header-fig { width: 72.9166666667%; }
@media screen and (max-width: 960px) { .header .header-fig { width: 100%; } }
.header .header-con { flex: 1; padding: 20px 2.6041666667% 20px 6.25%; }
@media screen and (max-width: 960px) { .header .header-con { padding: 40px 20px 0; } }
.header .header-con .header-logo { max-width: 310px; margin-bottom: 15px; }
@media screen and (max-width: 960px) { .header .header-con .header-logo { margin: 0 auto 15px; } }
.header .header-con .header-logo-txt { margin-bottom: 60px; font-size: 2.0rem; }
@media screen and (max-width: 960px) { .header .header-con .header-logo-txt { text-align: center; } }
@media screen and (max-width: 750px) { .header .header-con .header-logo-txt { font-size: 1.6rem; } }
.header .header-con .header-txt { margin-bottom: 50px; font-size: 1.6rem; font-weight: 700; line-height: 2.4; }
@media screen and (max-width: 960px) { .header .header-con .header-txt { text-align: center; } }
.header .header-con .header-sns { display: flex; align-items: center; justify-content: center; }
.header .header-con .header-sns li { width: 65px; margin-right: 17px; }
.header .header-con .header-sns li:last-child { margin-right: 0; }

/* ------------------------------ フッター
------------------------------ */
.footer { padding: 100px 0 50px; }
.footer .footer-in { width: 100%; max-width: 1720px; margin: 0 auto; padding: 0 20px; }
@media screen and (max-width: 750px) { .footer .footer-in { padding: 0 4%; } }
.footer .footer-lead { margin-bottom: 55px; font-size: 2.0rem; text-align: center; line-height: 1.6; }
.footer .footer-logo { margin-bottom: 20px; font-size: 1.8rem; text-align: center; }
.footer .footer-sns { display: flex; align-items: center; justify-content: center; margin-bottom: 40px; }
.footer .footer-sns li { width: 65px; margin-right: 17px; }
.footer .footer-sns li:last-child { margin-right: 0; }
.footer .footer-address { margin-bottom: 70px; font-size: 1.4rem; text-align: center; line-height: 2; }
.footer .copy { font-size: 1.3rem; text-align: center; }

.font-zen { font-family: "Zen Kaku Gothic New", sans-serif; font-weight: 900; font-style: normal; }

.opacity { transition: all .6s; }
.opacity:hover { opacity: 0.7; }

.ico { display: inline-flex; justify-content: center; align-items: center; width: 1em; line-height: 0; }
.ico::before { width: 100% !important; }

.ico-school::before { content: url("../img/ico_school.svg"); }

._btn { display: block; text-decoration: none; width: 100%; padding: 20px; border: 1px solid #707070; background: #222 url("../img/ico_arrow.svg") no-repeat right 15px center; background-size: 16px auto; font-size: 1.6rem; color: #fff; text-align: center; line-height: 1; transition: all .6s; }
._btn:hover { opacity: 0.7; }

.js-modalopen { overflow: hidden; }

.modal-sec { display: none; position: fixed; top: 0; left: 0; z-index: 99999; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.8); }
.modal-sec .modal-in { position: absolute; top: 0; left: 0; display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; padding: 50px; overflow-y: auto; }
@media screen and (max-width: 750px) { .modal-sec .modal-in { padding: 100px 20px 20px; } }
.modal-sec .modal-con { position: relative; width: 100%; max-width: 900px; margin: auto; padding: 50px; background-color: #fff; line-height: 1.5; border-radius: 1em; }
@media screen and (max-width: 750px) { .modal-sec .modal-con { padding: 30px; } }
.modal-sec .modal-close { position: absolute; top: 0; right: 0; width: 60px; margin-top: -30px; margin-right: -30px; }
@media screen and (max-width: 750px) { .modal-sec .modal-close { width: 40px; margin-top: -20px; margin-right: -10px; } }
.modal-sec .modal-fig { margin: 0 auto 20px; text-align: center; }
.modal-sec .modal-heading { font-size: 2.8rem; }
.modal-sec .modal-note { margin-top: 15px; font-size: 1.6rem; font-weight: 700; line-height: 2; }
.modal-sec .modal-txt { margin-top: 5px; font-size: 1.6rem; font-weight: 700; line-height: 2; }

.lnav { padding: 70px 0 90px; }
@media screen and (max-width: 750px) { .lnav { padding: 80px 0 40px; } }
.lnav .lnav-in { display: flex; align-items: flex-start; justify-content: space-between; width: 100%; max-width: 1400px; margin: 0 auto; }
@media screen and (max-width: 750px) { .lnav .lnav-in { display: block; } }
.lnav .lnav-fig { width: 37.8571428571%; margin-right: 4.2857142857%; }
@media screen and (max-width: 750px) { .lnav .lnav-fig { width: 100%; margin-right: 0; margin-bottom: 40px; } }
.lnav .lnav-con { flex: 1; }
.lnav .lnav-con .lnav-ttl { margin-bottom: 50px; background: url("../img/lnav_bg002.png") no-repeat right center; }
@media screen and (max-width: 750px) { .lnav .lnav-con .lnav-ttl { margin-bottom: 30px; background: none; text-align: center; } }
.lnav .lnav-con .lnav-ttl span { display: inline-block; padding: 0 0.5em 0.3em; background: #fff url("../img/lnav_bg001.png") no-repeat left bottom; font-size: 3.6rem; }
@media screen and (max-width: 750px) { .lnav .lnav-con .lnav-ttl span { padding: 0 0.5em 0.5em; font-size: 3.0rem; text-align: center; background-position: center bottom; } }
.lnav .lnav-con .lnav-list { display: flex; align-items: flex-start; justify-content: space-between; }
@media screen and (max-width: 750px) { .lnav .lnav-con .lnav-list { display: block; } }
.lnav .lnav-con .lnav-list ol { width: 50%; padding-right: 20px; }
@media screen and (max-width: 750px) { .lnav .lnav-con .lnav-list ol { width: 100%; padding-right: 0; } }
.lnav .lnav-con .lnav-list ol li { margin-bottom: 20px; }
.lnav .lnav-con .lnav-list ol li a { display: flex; align-items: center; text-decoration: none; }
.lnav .lnav-con .lnav-list ol li a:hover p { text-decoration: underline; }
.lnav .lnav-con .lnav-list ol li a figure { width: 51px; margin-right: 10px; }
.lnav .lnav-con .lnav-list ol li a p { flex: 1; font-size: 2.0rem; font-weight: 700; }

.spot-sec { padding: 150px 0; }
@media screen and (max-width: 750px) { .spot-sec { padding: 40px 0; } }
.spot-sec._reverse { background: #F9F9F9 url("../img/bg_main.png"); }
.spot-sec._reverse .spot-top { flex-direction: row-reverse; margin: 0 0 70px auto; }
@media screen and (max-width: 960px) { .spot-sec._reverse .spot-top { margin-bottom: 20px; } }
@media screen and (max-width: 960px) { .spot-sec._reverse .spot-top .spot-top-main { margin: 0; } }
.spot-sec._reverse .spot-top .spot-top-side { left: initial; right: 0; width: 19.5454545455%; margin-right: 3.2467532468%; margin-left: 0; margin-bottom: 0; }
@media screen and (max-width: 960px) { .spot-sec._reverse .spot-top .spot-top-side { margin-right: 0; } }
.spot-sec._reverse .spot-con { flex-direction: row-reverse; }
.spot-sec._reverse .spot-con .spot-con-fig { width: 50%; }
@media screen and (max-width: 960px) { .spot-sec._reverse .spot-con .spot-con-fig { width: 80%; } }
.spot-sec._reverse .spot-con .spot-con-box { padding-top: 20px; padding-left: 1.7857142857%; padding-right: 4.1666666667%; }
@media screen and (max-width: 960px) { .spot-sec._reverse .spot-con .spot-con-box { padding-top: 0; padding-left: 0; padding-right: 0; } }
.spot-sec._reverse .spot-con .spot-con-box .spot-con-item { max-width: 500px; margin: 0 0 0 auto; }
@media screen and (max-width: 960px) { .spot-sec._reverse .spot-con .spot-con-box .spot-con-item { max-width: 100%; } }
.spot-sec .spot-top { position: relative; display: flex; justify-content: space-between; width: 100%; max-width: 1540px; margin-bottom: 70px; }
@media screen and (max-width: 960px) { .spot-sec .spot-top { display: block; margin-bottom: 20px; } }
.spot-sec .spot-top .spot-top-num { width: 17.5324675325%; padding: 30px 20px; }
@media screen and (max-width: 960px) { .spot-sec .spot-top .spot-top-num { margin: 0 auto 20px; padding: 0; } }
.spot-sec .spot-top .spot-top-num p { text-align: center; }
.spot-sec .spot-top .spot-top-main { width: 82.4675324675%; }
@media screen and (max-width: 960px) { .spot-sec .spot-top .spot-top-main { width: 90%; margin: 0 0 0 auto; } }
.spot-sec .spot-top .spot-top-side { position: absolute; bottom: 0; left: 0; width: 19.1558441558%; margin-left: 7.1428571429%; margin-bottom: 1.9480519481%; }
@media screen and (max-width: 960px) { .spot-sec .spot-top .spot-top-side { margin-left: 0; } }
.spot-sec .spot-con { display: flex; justify-content: space-between; margin-bottom: 100px; }
@media screen and (max-width: 960px) { .spot-sec .spot-con { display: block; } }
.spot-sec .spot-con .spot-con-fig { width: 50%; }
@media screen and (max-width: 960px) { .spot-sec .spot-con .spot-con-fig { width: 80%; margin: 0 auto 40px; } }
@media screen and (max-width: 960px) { .spot-sec .spot-con .spot-con-fig._figpc { display: none; } }
.spot-sec .spot-con .spot-con-fig._figsp { display: none; }
@media screen and (max-width: 960px) { .spot-sec .spot-con .spot-con-fig._figsp { display: block; } }
.spot-sec .spot-con .spot-con-box { flex: 1; display: flex; justify-content: flex-end; padding-top: 40px; padding-right: 11.3095238095%; padding-left: 4.1666666667%; }
@media screen and (max-width: 960px) { .spot-sec .spot-con .spot-con-box { display: block; padding-top: 0; padding-right: 0; padding-left: 0; } }
.spot-sec .spot-con .spot-con-box .spot-con-item { width: 100%; max-width: 470px; }
@media screen and (max-width: 960px) { .spot-sec .spot-con .spot-con-box .spot-con-item { max-width: 100%; } }
.spot-sec .spot-con .spot-con-box .spot-con-item .spot-con-area { display: flex; align-items: center; justify-content: center; width: 107px; height: 56px; margin-bottom: 5px; background: url("../img/bg_area.png") no-repeat left top; text-align: center; line-height: 1; }
.spot-sec .spot-con .spot-con-box .spot-con-item .spot-con-ttl { display: flex; align-items: center; margin-bottom: 10px; }
@media screen and (max-width: 750px) { .spot-sec .spot-con .spot-con-box .spot-con-item .spot-con-ttl { justify-content: space-between; } }
.spot-sec .spot-con .spot-con-box .spot-con-item .spot-con-ttl .spot-con-ttl-txt { margin-right: 1em; padding: 0 0.2em 0.5em 0.1em; font-size: 3.6rem; }
@media screen and (max-width: 750px) { .spot-sec .spot-con .spot-con-box .spot-con-item .spot-con-ttl .spot-con-ttl-txt { font-size: 2.6rem; } }
@media screen and (max-width: 750px) { .spot-sec .spot-con .spot-con-box .spot-con-item .spot-con-ttl p { width: 70px; } }
.spot-sec .spot-con .spot-con-box .spot-con-item .spot-con-lead { margin-bottom: 60px; font-weight: 700; line-height: 2.4; }
@media screen and (max-width: 960px) { .spot-sec .spot-con .spot-con-box .spot-con-item .spot-con-lead { margin-bottom: 40px; } }
.spot-sec .spot-con .spot-con-box .spot-con-item .spot-con-btn { max-width: 400px; }
@media screen and (max-width: 960px) { .spot-sec .spot-con .spot-con-box .spot-con-item .spot-con-btn { margin: 0 auto; } }
.spot-sec .spot-gallery { width: 100%; max-width: 1300px; margin: 0 auto; padding: 35px 50px 60px; background-color: #F5EE5B; }
@media screen and (max-width: 750px) { .spot-sec .spot-gallery { padding: 30px 20px; } }
.spot-sec .spot-gallery .spot-gallery-ttl { margin-bottom: 10px; background: url("../img/photo_bg001.png") no-repeat right 20px top 2.5em; }
@media screen and (max-width: 750px) { .spot-sec .spot-gallery .spot-gallery-ttl { background: none; margin: 0 auto 20px; text-align: center; } }
.spot-sec .spot-gallery .spot-gallery-ttl img { background-color: #F5EE5B; }
.spot-sec .spot-gallery .spot-gallery-slide { position: relative; }
.spot-sec .spot-gallery .spot-gallery-slide .slide-btn { position: absolute; top: 50%; width: 20px; margin-top: -15px; cursor: pointer; }
.spot-sec .spot-gallery .spot-gallery-slide .slide-btn._prev { left: 0; }
.spot-sec .spot-gallery .spot-gallery-slide .slide-btn._next { right: 0; }
.spot-sec .spot-gallery .spot-gallery-slide .spot-gallery-swiper { width: 93.3333333333%; margin: 0 auto; overflow: hidden; }
@media screen and (max-width: 750px) { .spot-sec .spot-gallery .spot-gallery-slide .spot-gallery-swiper { width: 80%; } }

._spot01 .spot-con .spot-con-box .spot-con-item .spot-con-ttl .spot-con-ttl-txt { background: url("../img/item01_line.png") no-repeat left bottom; }

._spot02 .spot-con .spot-con-box .spot-con-item .spot-con-ttl .spot-con-ttl-txt { background: url("../img/item02_line.png") no-repeat left bottom; }

._spot03 .spot-con .spot-con-box .spot-con-item .spot-con-ttl .spot-con-ttl-txt { background: url("../img/item03_line.png") no-repeat left bottom; }

._spot04 .spot-con .spot-con-box .spot-con-item .spot-con-ttl .spot-con-ttl-txt { background: url("../img/item04_line.png") no-repeat left bottom; }

._spot05 .spot-con .spot-con-box .spot-con-item .spot-con-ttl .spot-con-ttl-txt { background: url("../img/item05_line.png") no-repeat left bottom; }

._spot06 .spot-con .spot-con-box .spot-con-item .spot-con-ttl .spot-con-ttl-txt { background: url("../img/item06_line.png") no-repeat left bottom; }

.school-sec { padding: 100px 0 150px; background-color: #F6F4EF; }
@media screen and (max-width: 750px) { .school-sec { padding: 80px 0; } }
.school-sec .school-ttl { display: flex; align-items: flex-end; justify-content: center; margin-bottom: 60px; }
.school-sec .school-ttl .ico { width: 7.5em; margin-right: 10px; }
@media screen and (max-width: 750px) { .school-sec .school-ttl .ico { width: 86px; } }
.school-sec .school-ttl h2 { font-size: 3.6rem; }
@media screen and (max-width: 750px) { .school-sec .school-ttl h2 { font-size: 3.0rem; } }
.school-sec .school-list { display: flex; width: 100%; max-width: 1200px; margin: 0 auto; }
@media screen and (max-width: 750px) { .school-sec .school-list { display: block; } }
.school-sec .school-list li { width: 46.6666666667%; margin-right: 6.6666666667%; padding: 30px 40px 80px; background-color: #fff; }
@media screen and (max-width: 750px) { .school-sec .school-list li { width: 100%; margin-right: 0; margin-bottom: 60px; } }
.school-sec .school-list li:nth-child(2n) { margin-right: 0; }
.school-sec .school-list li:last-child { margin-right: 0; }
@media screen and (max-width: 750px) { .school-sec .school-list li:last-child { margin-bottom: 0; } }
.school-sec .school-list li .school-list-fig { margin-bottom: 20px; }
.school-sec .school-list li dl { margin-bottom: 50px; }
.school-sec .school-list li dl dt { margin-bottom: 20px; font-size: 2.5rem; }
.school-sec .school-list li dl dd { font-weight: 700; line-height: 2.4; }
.school-sec .school-list li .school-list-btn { max-width: 365px; margin: 0 auto; }

.clearfix { zoom: 1; }
.clearfix::before { content: ""; display: table; }
.clearfix::after { content: ""; display: table; clear: both; }

.w100 { width: 100%; }

.mr1rem { margin-right: 1rem !important; }

.js-anime-fadein { opacity: 0; animation-duration: .5s; animation-timing-function: ease-in-out; animation-fill-mode: forwards; }
.js-anime-fadein.js-anime-on { animation-name: fadeIn; }

@keyframes fadeIn { 0% { opacity: 0; }
  100% { opacity: 1; } }
.js-anime-slide { opacity: 0; animation-duration: .5s; animation-timing-function: ease-in-out; animation-fill-mode: forwards; }
.js-anime-slide.js-anime-on { animation-name: slide; }

@keyframes slide { 0% { opacity: 0; transform: translateY(100px); }
  100% { opacity: 1; transform: translateY(0); } }
.js-anime-slideleft { opacity: 0; animation-duration: .5s; animation-timing-function: ease-in-out; animation-fill-mode: forwards; }
.js-anime-slideleft.js-anime-on { animation-name: slideLeft; }

@keyframes slideLeft { 0% { opacity: 0; transform: translateX(-100px); }
  100% { opacity: 1; transform: translateX(0); } }
.js-anime-slideright { opacity: 0; animation-duration: .5s; animation-timing-function: ease-in-out; animation-fill-mode: forwards; }
.js-anime-slideright.js-anime-on { animation-name: slideRight; }

@keyframes slideRight { 0% { opacity: 0; transform: translateX(100px); }
  100% { opacity: 1; transform: translateX(0); } }
@media print { .js-anime-fadein, .js-anime-slide, .js-anime-slideleft, .js-anime-slideright { opacity: initial; } }

/*# sourceMappingURL=style.css.map */
