@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200;300;400;500;600;700;800&family=Noto+Sans+JP:wght@100;200;300;400;500;600;700;800;900&family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap');
* {box-sizing:border-box;}
html, html a, * {-webkit-font-smoothing:antialiased; font-smoothing:antialiased; text-rendering:optimizeLegibility;}
body {min-width:1140px; margin:0; padding:0; padding-right:0 !important; background-color:#fff; color:#000; -webkit-text-size-adjust:none; font-family:'Arial', 'Noto Sans JP', sans-serif; font-weight:400; font-size:16px; letter-spacing:.055em; line-height:1.65; word-wrap:break-word;}
body.loading {overflow-y:hidden;}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {margin:0; letter-spacing:.15em; line-height:1; font-weight:400;}
a, button {color:#000; transition:all .3s ease-in-out;}
a:hover {color:#D12A2A; text-decoration:none;}
button:focus {outline:none;}
p {margin-bottom:0;}
small {font-weight:400; font-size:12px; color:#696969;}
figure {margin:0;}
.container {min-width:1140px; max-width:1500px; padding-left:50px; padding-right:50px;}
.container-fluid {min-width:1140px; max-width:1500px; padding-left:50px; padding-right:50px;}
.bg-light {background-color:#f4f5f8 !important;}
.img-full {width:100%;}
#wpadminbar {display:none;}
#wrapper {overflow-x:hidden;}

/* fadeUp */
.fadeUp {animation-name:fadeUpAnime; animation-duration:.5s; animation-fill-mode:forwards; opacity:0;}
@keyframes fadeUpAnime {
    from {opacity:0; transform:translateY(100px);}
    to {opacity:1; transform:translateY(0);}
}

#header {position:fixed; top:0; left:0; width:200px; height:100%; background-color:#fff; border-right:1px solid #e2e2e2;}
.navbar-global {align-items:center; flex-flow:column; height:100%; margin:0; padding:40px 0 0;}
.navbar-brand {margin:0 auto 40px; padding:0; font-size:0; line-height:1;}
.navbar-brand a {display:block; width:140px; height:92px; padding:0; background:url(../images/logo.svg) 0 0 / 100% auto no-repeat;}
.navbar-header {width:100%; flex-grow:inherit; margin-bottom:auto;}
.navbar-header .navbar-nav {flex-direction:column; width:100%; padding:20px 0; border-top:1px solid #e2e2e2; border-bottom:1px solid #e2e2e2;}
.navbar-header .navbar-nav .nav-link {display:block; padding:10px 30px; line-height:1;}
.navbar-banner-link {display:block;}
.navbar-banner-link:nth-child(1) {margin-bottom:30px; text-align:center; font-size:10px;}
.navbar-banner-link:nth-child(2) {margin-bottom:1px;}

.wrapper {margin-left:200px;}

.breadcrumbs {position:relative; padding-top:10px; padding-bottom:10px; background-color:transparent;}
.breadcrumbs span,
.breadcrumbs i,
.breadcrumbs a {font-size:10px;}
.breadcrumbs span {color:#D12A2A;}
.breadcrumbs a span {color:#696969; transition:all .3s ease-in-out;}
.breadcrumbs a:hover span {color:#D12A2A;}

.pagination {justify-content:center; margin-top:50px;}
.pagination .screen-reader-text {display:none;}
.pagination .page-numbers {display:inline-flex; justify-content:center; align-items:center; background-color:#fff; border-radius:4px; min-width:40px; min-height:40px; font-size:13px;}
.pagination .page-numbers:hover,
.pagination .page-numbers.current {background-color:#D12A2A; color:#fff;}

.button {position:relative; display:inline-flex; justify-content:center; align-items:center; width:160px; height:30px; text-align:center; background-color:#D12A2A; border:1px solid #D12A2A; border-radius:30px; color:#fff; font-size:12px;}
.button::before {position:absolute; top:calc(50% - 6px); right:15px; font-family:'FontAwesome'; content:'\f061'; line-height:1;}
.button:hover {background-color:#fff; border:1px solid #D12A2A; color:#D12A2A;}
.button-white {background-color:#fff; border:1px solid #fff; color:#D12A2A;}
.button-white:hover {background-color:#D12A2A; color:#fff;}
.button-block {width:100% !important;}

.section {padding-top:70px; padding-bottom:70px;}
.section > section:not(:last-child) {margin-bottom:50px;}
.heading {margin-bottom:30px;}
.section-heading {margin-bottom:30px;}
.section-heading-text {}
.section-heading .en {margin-bottom:10px; font-size:12px; color:#696969; line-height:1;}
.section-heading .en span {position:relative; display:inline-block; padding-right:10px;}
.section-heading .en span::before {position:absolute; content:''; top:50%; right:-60px; width:60px; height:1px; background-color:#b3b4b5;}
.section-heading .ja {font-size:18px; line-height:1;}
.section-content {}
.section-header .headline {padding-top:10px; padding-bottom:10px; text-align:right; font-size:10px; color:#696969;}

.section-hero {position:relative; height:400px; background-image:url(../images/hero.jpg); background-position:center top; background-size:cover;}
.section-hero::before {position:absolute; content:''; top:0; left:0; width:100%; height:100%; background-color:rgba(0, 0, 0, .5);}
.hero-overlay {position:absolute; top:30px; left:50%; transform:translateX(-50%); text-align:center; color:#fff;}
.hero-overlay-heading {margin-bottom:10px; font-weight:700; font-size:24px; line-height:1.5;}
.hero-overlay-text {}

.card-list {display:flex; flex-wrap:wrap; margin-left:-10px; margin-right:-10px;}
.card-list-title {margin-bottom:20px; font-size:14px;}
.card-list-title b {font-size:16px; color:#D12A2A;}
.card-item {width:100%; flex:0 0 25%; max-width:25%; padding-left:10px; padding-right:10px;}
.card-item-link {display:block; background-color:#fff; border-radius:5px;}
.card-item-thumbnail {position:relative; overflow:hidden; border-radius:5px 5px 0 0;}
.card-item-thumbnail-image {padding-top:72%; background-position:center center; background-size:cover; transition:all .3s ease-in-out;}
.card-item-text {padding:10px 15px; letter-spacing:0;}
.card-item-title {margin-bottom:2px; font-weight:700; font-size:16px;}
.card-item-price {margin-bottom:5px; font-weight:700; font-size:14px;}
.card-item-price small {font-weight:400; font-size:12px; color:#000;}
.card-item-meta {font-size:12px; color:#696969;}
.card-item-meta-deposit {margin-bottom:5px;}
.card-item-meta-deposit span {display:inline-block; width:20px; height:20px; margin-right:5px; text-align:center; background-color:#D12A2A; border-radius:20px; color:#fff; line-height:20px;}
.card-item-link:hover {color:inherit;}
.card-item-link:hover .card-item-thumbnail-image {transform:scale(1.15);}

.post-list {max-width:800px; margin-left:auto; margin-right:auto;}
.post-list-title {margin-bottom:30px; font-size:18px; line-height:1;}
.post-item {border-top:1px solid #d6d6d6;}
.post-item:last-child {border-bottom:1px solid #d6d6d6;}
.post-item-link {display:block; padding:20px 0; font-weight:700;}
.post-item-meta {display:flex; gap:20px; font-size:14px; color:#696969;}
.post-item-title {font-size:16px;}

.listing {display:flex; flex-wrap:wrap; margin-top:50px; overflow:hidden; border-radius:5px;}
.listing-text {width:100%; flex:0 0 calc(100% - 700px); max-width:calc(100% - 700px); padding:40px 30px; background-color:#D12A2A; color:#fff;}
.listing-text-title {margin-bottom:30px; text-align:center; font-weight:700; font-size:24px; line-height:1;}
.listing-text-heading {margin-bottom:25px; font-weight:700; font-size:18px;}
.listing-text-description {margin-bottom:25px; font-size:12px;}
.listing-text-cta {text-align:center;}
.listing-image {width:100%; flex:0 0 700px; max-width:700px; background-image:url(../images/listing.jpg); background-position:center center; background-size:cover;}

/* form-parts */
label {margin-bottom:0;}
.form-group {margin-bottom:20px;}
.form-control {height:50px; padding:0 20px; border-color:#d6d6d6; border-radius:5px; font-size:16px;}
textarea.form-control {padding:12px 20px;}
.col-form-label {display:flex; justify-content:space-between;}
.required {display:inline-block; padding:11px 20px; background-color:#D12A2A; border-radius:30px; color:#fff; font-size:14px; line-height:1;}
.no-required {display:inline-block; padding:11px 20px; background-color:#717171; border-radius:30px; color:#fff; font-size:14px; line-height:1;}
.box-scroll {max-height:300px; overflow-y:auto; margin-bottom:30px; padding:20px; background-color:#fff;}

/* footer */
.footer {padding-top:70px; padding-bottom:70px; background-color:#383b3a;}
.footer-about h3 {line-height:1;}
.footer-about h3 img {max-width:300px;}
.footer-sitemap {}
.footer-sitemap ul {margin-bottom:0; padding-left:0; list-style:none; display:flex; gap:15px;}
.footer-sitemap ul li a {color:#fff;}
.footer-sitemap ul li a:hover {color:#D12A2A;}
.footer-copyright {margin-top:50px; text-align:right; font-size:13px; color:#fff; letter-spacing:0;}
#pagetop {position:fixed; bottom:20px; right:20px; display:flex; justify-content:center; align-items:center; width:50px; height:50px; padding-bottom:5px; text-align:center; background-color:#fff; border-radius:4px; color:#D12A2A; line-height:1; font-size:30px; z-index:100;}

.page-header {position:relative; display:flex; justify-content:center; align-items:center; height:200px; background-position:center center; background-size:cover;}
.page-header::before {position:absolute; content:''; top:0; left:0; width:100%; height:100%; background-color:rgba(0, 0, 0, .2);}
.page-header-image {position:absolute; top:0; left:0; width:100%; height:100%; background-position:center center; background-size:cover; z-index:-1;}
.page-header-heading {position:relative; text-align:center;}
.page-header-heading .ja {margin-bottom:20px; font-weight:700; font-size:24px; color:#fff; letter-spacing:.15em; line-height:1;}
.page-header-heading .en {font-size:12px; color:rgba(255, 255, 255, .5); letter-spacing:.25em;}
.editor {}
.editor h1 {margin-bottom:20px; font-weight:700; font-size:24px;}
.editor .meta {margin-bottom:30px; padding-top:10px; padding-bottom:10px; border-top:1px solid #ebeaea; border-bottom:1px solid #ebeaea;}
.editor h2 {margin-bottom:30px; font-weight:700; font-size:20px;}
.editor h3 {margin-bottom:0; font-weight:700; font-size:18px; color:#D12A2A;}
.editor h4 {margin-bottom:20px; font-weight:700; font-size:16px; color:#D12A2A;}
.editor p {margin-bottom:30px; line-height:1.85;}
.editor blockquote {margin-bottom:40px; padding:30px; background-color:#ebeaea;}
.editor hr {margin:0; padding:0 0 50px; border-top:none;}
.editor strong {font-weight:700;}

.table-custom {table-layout:fixed; margin-bottom:30px;}
.table-custom td,
.table-custom th {padding:15px 0; border-top:1px solid #ebeaea;}
.table-custom tr:last-child td,
.table-custom tr:last-child th {border-bottom:1px solid #ebeaea;}
.table-custom th {width:200px;}

.search-form {position:sticky; top:0;}
.form-search {padding:15px; border-radius:5px;}
.form-search .form-label {display:block; margin-bottom:5px; font-size:14px; color:#696969;}
.form-search .checkbox input[type=checkbox],
.form-search .custom-control input[type=checkbox],
.form-search .radio input[type=radio],
.form-search .radio-inline input[type=radio] {position:static; margin:0 5px 0 0;}
.form-search .custom-control {display:inline-block; margin:0 15px 0 0;}
.form-search .custom-checkbox {padding-left:0;}
.form-search .custom-control-input:checked~.custom-control-label::before {background-color:#D12A2A; border-color:#D12A2A;}
.form-search .form-group {margin-bottom:15px;}
.form-search .form-control {height:40px; padding-left:5px; padding-right:5px; font-size:14px;}
.form-search .input-group-text {padding-left:5px; padding-right:5px;}
.form-search .custom-control-label {font-size:14px;}
.form-search .custom-control-label a {text-decoration:underline;}
.form-search .custom-control-label a:hover {text-decoration:none;}
.card-list.school {gap:20px 0;}
.card-list.school .card-item {flex:0 0 33.333333%; max-width:33.333333%;}

.school-detail {font-size:13px;}
.school-detail-title {margin-bottom:20px; font-weight:700; font-size:20px; color:#D12A2A;}
.school-detail-subtitle {margin-bottom:10px; font-weight:700; color:#D12A2A;}
h3.school-detail-subtitle {margin-bottom:20px; font-size:18px;}
h4.school-detail-subtitle {margin-bottom:10px; font-size:14px;}
.school-detail-item:not(:last-child) {margin-bottom:30px; padding-bottom:30px; border-bottom:1px solid #ebeaea;}
.table-school-detail {table-layout:fixed; margin-bottom:0;}
.table-school-detail th,
.table-school-detail td {padding:10px; vertical-align:middle;}
.table-school-detail th {width:40%;}
.table-school-detail .price {font-size:18px; font-weight:700; color:#D12A2A;}
.school-detail-gallery {margin-bottom:50px; padding:20px; border:1px solid #ebeaea;}
.slider-school {padding:30px;}
.slider-school-thumb-slide {opacity:.75; cursor:pointer;}
.slider-school-thumb-slide.swiper-slide-thumb-active {opacity:1;}
.slider-school-slide-image,
.slider-school-thumb-slide-image {padding-top:75%; background-color:#fff; background-position:center center; background-size:contain; background-repeat:no-repeat;}
.slider-school .swiper-button-prev,
.slider-school .swiper-button-next {width:40px; height:40px; background-color:#f4f5f8; border-radius:5px; transition:all .3s ease-in-out;}
.slider-school .swiper-button-prev:hover,
.slider-school .swiper-button-next:hover {background-color:#D12A2A; color:#fff;}
.slider-school .swiper-button-prev::after,
.slider-school .swiper-button-next::after {font-weight:700; font-size:16px;}

.news-selects {margin-bottom:50px;}

.post-share {display:flex; gap:0 10px;}
.post-share-button {padding:0; color:#fff; flex:0 0 85px; width:100%; max-width:85px; border:none; font-size:12px; letter-spacing:0;}
.post-share-button:hover {color:#fff; opacity:.75;}
.post-share-button span {display:block; padding:5px 0; border-radius:5px; text-align:center;}
.post-share-button.twitter span {background-color:#1da1f2;}
.post-share-button.facebook span {background-color:#3b5998;}
.post-share-button.hatebu span {background-color:#2c6ebd;}
.post-share-button.pocket span {background-color:#ef4056;}
.post-share-button.line span {background-color:#00c300;}
.post-share-button.youtube span {background-color:#e64a4c;}
.post-share-button.instagram span {background-color:#c13584;}

.faq-item {background-color:#fff; border-radius:5px;}
.faq-item:not(:last-child) {margin-bottom:20px;}
.faq-item-question,
.faq-item-answer {position:relative;}
.faq-item-question {padding:15px 40px; font-weight:700; cursor:pointer;}
.faq-item-answer {padding:0 40px 15px; font-size:14px;}
.faq-item-question::before,
.faq-item-answer::before {position:absolute; left:20px; font-weight:700; font-size:16px; line-height:1;}
.faq-item-question::before {top:19px; color:#2374C4; content:'Q';}
.faq-item-answer::before {top:4px; color:#D12A2A; content:'A';}
.faq-item-question::after {position:absolute; top:19px; right:20px; color:#696969; font-family:'FontAwesome'; content:'\f107'; font-size:18px; line-height:1; transition:all .3s ease-in-out;}
.faq-item-question[aria-expanded="true"]::after {transform:rotate(180deg);}

@media (max-width:767px) {
    body {min-width:inherit; font-weight:400; font-size:14px;}
    body.menu-open {overflow-y:hidden;}
    .container-fluid {min-width:inherit; padding-left:20px; padding-right:20px;}
    .container {min-width:inherit; max-width:inherit; padding-left:20px; padding-right:20px;}
    .button {width:120px;}
    .button::before {right:10px; font-size:10px;}

    #header {width:100%; height:auto; z-index:100;}
    #header .container-fluid {padding-left:0; padding-right:0;}
    .navbar-global {flex-flow:row; height:60px; margin:0; padding:0 20px;}
    .navbar-brand {margin:0; z-index:100;}
    .navbar-brand a {width:160px; height:41px; background-image:url(../images/logo-dark.svg);}
    .navbar-toggler {position:relative; display:flex; justify-content:flex-start; align-items:center; border:none; outline:none; width:75px; height:60px; padding:0; z-index:100;}
    .navbar-toggler-bar {position:absolute; right:0; content:''; width:20px; height:1px; background-color:#000; transition:all .3s ease-in-out;}
    .navbar-toggler-bar:nth-child(1) {top:calc(50% - 5px);}
    .navbar-toggler-bar:nth-child(2) {top:50%;}
    .navbar-toggler-bar:nth-child(3) {top:calc(50% + 5px);}
    .navbar-toggler-text-open,
    .navbar-toggler-text-close {position:absolute; top:calc(50% - 7px); left:0; display:block; text-align:center; font-weight:700; font-size:14px; color:#000; transition:all .3s ease-in-out;}
    .navbar-toggler-text-open {opacity:1;}
    .navbar-toggler-text-close {opacity:0;}
    .navbar-toggler[aria-expanded="true"] .navbar-toggler-bar:nth-child(1) {top:calc(50% - 1px); transform:rotate(45deg);}
    .navbar-toggler[aria-expanded="true"] .navbar-toggler-bar:nth-child(2) {opacity:0;}
    .navbar-toggler[aria-expanded="true"] .navbar-toggler-bar:nth-child(3) {top:calc(50% - 1px); transform:rotate(-45deg);}
    .navbar-toggler[aria-expanded="true"] .navbar-toggler-text-open {opacity:0;}
    .navbar-toggler[aria-expanded="true"] .navbar-toggler-text-close {opacity:1;}
    .navbar-header {position:absolute; top:60px; left:0;}
    .navbar-header .navbar-nav {background-color:#fff;}
    .navbar-header .navbar-nav .nav-link {padding-left:20px; padding-right:20px;}
    .navbar-banner {display:none;}

    .wrapper {margin-left:0;}

    .breadcrumbs {overflow-x:auto; white-space:nowrap;}

    .section {padding-top:30px; padding-bottom:30px;}
    .section-heading .en span {font-size:10px; letter-spacing:.1em;}
    .section-heading .en span::before {right:-40px; width:40px;}
    .section-heading .ja {font-size:16px;}
    .section-header .headline {display:none;}

    .section-hero {height:320px;}
    .hero-overlay {}

    .card-list {gap:20px 0;}
    .card-item {flex:0 0 50%; max-width:50%;}
    .card-item-link {height:100%;}
    .card-item-text {padding:10px;}
    .card-item-title {font-size:14px;}
    .card-item-price {font-size:12px;}
    .card-item-price small {display:block;}
    .card-item-meta {font-size:10px;}

    .post-item-link {padding:10px 0;}
    .post-item-meta {gap:10px; font-size:12px;}
    .post-item-title {font-size:14px;}

    .listing {flex-flow:column;}
    .listing-text {flex:inherit; max-width:inherit; padding:30px 20px;}
    .listing-text-title {margin-bottom:20px; font-size:18px;}
    .listing-text-heading {margin-bottom:10px; font-size:14px;}
    .listing-text-description {margin-bottom:15px;}
    .listing-image {flex:0 0 200px; max-width:inherit;}

    /* form parts */
    .col-form-label {justify-content:flex-start;}
    .required,
    .no-required {padding:7px 10px; font-size:10px;}
    .form-control {height:40px; padding:0 10px; font-size:14px;}
    textarea.form-control {padding:8px 10px;}

    /* footer */
    .footer {padding-top:30px; padding-bottom:80px;}
    .footer-about {margin-bottom:20px;}
    .footer-about h3 {text-align:center;}
    .footer-about h3 img {max-width:200px;}
    .footer-sitemap {margin-bottom:30px;}
    .footer-sitemap ul {display:block;}
    .footer-sitemap ul li:first-child {border-top:1px solid #d6d6d6;}
    .footer-sitemap ul li {border-bottom:1px solid #d6d6d6;}
    .footer-sitemap ul li a {position:relative; display:block; padding:15px 0;}
    .footer-sitemap ul li a::before {position:absolute;}
    .footer-sitemap ul li a::before,
    .footer-sitemap ul li a::after {position:absolute; top:calc(50% - 10px); right:15px; width:20px; height:20px;}
    .footer-sitemap ul li a::before {content:''; background-color:#D12A2A; border-radius:23px;}
    .footer-sitemap ul li a::after {display:flex; justify-content:center; align-items:center; color:#fff; font-family:'FontAwesome'; content:'\f105'; font-size:14px; line-height:1;}
    .footer-copyright {margin-top:30px; text-align:left; font-size:10px;}
    #pagetop {bottom:15px; right:15px;}

    .page-header {min-height:auto; height:auto; padding-top:90px; padding-bottom:20px;}
    .page-header-heading .ja {margin-bottom:10px; font-size:20px;}
    .page-header-heading .en {font-size:10px;}
    .editor {margin-bottom:30px;}
    .editor h1 {margin-bottom:10px; font-size:20px;}
    .editor .meta {margin-bottom:20px; padding-top:5px; padding-bottom:5px;}
    .editor h2 {margin-bottom:20px; font-size:18px;}
    .editor h3 {font-size:16px;}
    .editor h4 {margin-bottom:10px; font-size:14px;}
    .editor p {margin-bottom:20px;}
    .editor hr {padding-bottom:30px;}
    .table-custom {table-layout:fixed; margin-bottom:20px;}
    .table-custom td,
    .table-custom th {display:block; width:100%; padding:10px 0; border-top:none;}
    .table-custom tr:last-child th {border-bottom:none;}
    .table-custom th {padding:10px 0 5px; border-top:1px solid #ebeaea;}
    .table-custom td {padding:5px 0 10px; font-size:12px;}

    .form-search {margin-bottom:30px;}
    .card-list.school .card-item {flex:0 0 50%; max-width:50%;}

    .school-detail {margin-top:30px;}
    .school-detail-item:not(:last-child) {margin-bottom:15px; padding-bottom:15px;}
    h3.school-detail-subtitle {margin-bottom:15px;}
    .table-school-detail {table-layout:fixed; margin-bottom:0;}
    .table-school-detail th,
    .table-school-detail td {padding:5px 0;}
    .table-school-detail .price {font-size:16px;}
    .school-detail-gallery {margin-bottom:30px; padding:15px;}
    .slider-school {padding:15px;}
    .slider-school .swiper-button-prev,
    .slider-school .swiper-button-next {width:30px; height:30px; margin-top:-15px;}
    .slider-school .swiper-button-prev::after,
    .slider-school .swiper-button-next::after {font-size:12px;}
    .slider-school .swiper-button-prev {left:0;}
    .slider-school .swiper-button-next {right:0;}

    .news-selects {margin-bottom:30px;}
    .news-select {margin-bottom:10px;}

    .post-list-title {margin-bottom:15px; font-size:16px;}
    .post-share-button {flex:0 0 calc(20% - 40px / 5); max-width:calc(20% - 40px / 5); font-size:10px;}

    .faq-item-question {padding:15px 30px;}
    .faq-item-answer {padding:0 30px 15px;}
    .faq-item-question::before,
    .faq-item-answer::before {left:10px;}
    .faq-item-question::before {top:18px;}
    .faq-item-answer::before {top:4px;}
    .faq-item-question::after {top:18px; right:15px;}
}
