/* 全体 */
body {
    background: #1c1c1c;
}
h1, h2, h3, h4, h5 {
    font-family: 'Cormorant Garamond', serif;
    font-variant-numeric: lining-nums;
    font-weight: 500;
    letter-spacing: 1px;
}
a {
    color: #C6A75E !important;
}
.sp_only {
    display: none;
}
@media screen and (max-width: 767px) {
    .pc_only {
        display: none;
    }
	.sp_only {
        display: inherit;
    }
}


/* ローディング */
#loader.fullscreen {
    background-color: #111;
}


/* ヘッダー */
header {
    position: fixed;
    z-index: 6;
}
header .container {
    justify-content: center !important;/* メニュー入れる時消す */
}
header h1 a {
    outline: none;
}
.navbar-brand {
    max-width: 144px;
    margin: 0;
}
.navbar-brand img {
    width: 100%;
    filter: drop-shadow(0 0 5px #111);
}
header .navbar .nav-link.active {
    color: #C6A75E !important;
}


/* ナビ */
header .navbar .dropdown-menu .dropdown-item:hover {
    background: #ededed;
}
.navbar-toggler {
    outline-color: #C6A75E !important;
}


/* 基本 */
section h2, section h3 {
    color: #F5F3EF;
}
section p {
    color: #B8B3A8;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 300;
}
.slider-wrap::after,
section.bg-dark,
.bottom-slant-gray:after {
    background-color: #111 !important;
}
.heading-wrap h2{
    margin-bottom: .5em;
}
.heading-wrap h2:before {
    background: #958047;
}


/* FV */
.owl-carousel.home-slider,
.owl-carousel.home-slider-loop-false {
    height: 104svh;
}
.owl-carousel.home-slider-loop-false .slider-item .slider-text,
.owl-carousel.home-slider .slider-item .slider-text {
    min-height: 104svh;
    max-height: 104svh;
}
.home-slider .owl-nav {
    display: none !important;
}
.owl-carousel.home-slider .slider-item .col-md-8 {
    max-width: 240px;
    width: 48%;
}
.owl-carousel.home-slider .slider-item .col-md-8 img {
    filter: drop-shadow(0 0 5px #111);
}
@media screen and (max-width: 767px) {
    .owl-carousel.home-slider .slider-item {
        min-height: 104svh;
    }
}


/* Concept */
@media screen and (max-width: 767px) {
    .section-concept .col-lg-6 {
        margin-top: 30px;
    }
    .section-concept .col-lg-6 img {
        width: 100%;
    }
}


/* Style */
.csWrapper {
    width: 100%;
}
.section-style .csSwiper {
    padding: 0 15px;
}
.section-style .csSwiper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.swiper-pagination {
    position: static !important;
}
.swiper-pagination-bullet {
    background: rgba(255,255,255,0.6) !important;
    opacity: 1;
}
.swiper-pagination-bullet-active {
    background: #fff !important;
}
@media screen and (max-width: 767px) {
	.section-style .csSwiper {
        margin-top: 40px;
        padding: 0;
    }
}
.section-style .gallery {
    display: grid;
    grid-template-columns: 1fr 1.5fr 1fr;
    gap: 8px;
    padding: 0 30px;
}
.section-style .gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.section-style .gallery img:nth-child(3) {
    grid-row: span 2;
}
.section-style .col-lg-4 img {
    width: 100%;
}
@media screen and (max-width: 767px) {
    .section-style .gallery {
        grid-template-columns: repeat(2, 1fr);
        padding: 0 15px;
    }
    .section-style .gallery img:nth-child(1) {
        order: 1;
    }
    .section-style .gallery img:nth-child(2) {
        order: 3;
        grid-column: span 2;
        grid-row: auto;
        aspect-ratio: 16 / 9;
    }
    .section-style .gallery img:nth-child(3) {
        order: 2;
        grid-row: span 1;
    }
    .section-style .gallery img:nth-child(4) {
        order: 5;
    }
    .section-style .gallery img:nth-child(5) {
        order: 4;
    }
    /* .section-style .gallery img:nth-child(3) {
        grid-column: span 2;
        grid-row: auto;
        aspect-ratio: 16 / 9;
    } */
}


/* À la carte */
.btn-hanare {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 18px 36px;
    border-bottom: 1px solid #C6A75E;
    color: #222;
    text-decoration: none;
    letter-spacing: .15em;
    transition: .3s;
    font-family: 'Cormorant Garamond', serif;
}
.btn-hanare::after {
    content: "→";
    transition: .3s;
}
.btn-hanare:hover::after {
    transform: translateX(6px);
}


/* Special Menu */
.section-specialmenu {
    padding-bottom: 0;/* このエリアを使用する場合消す */
}
.owl-carousel .owl-dots .owl-dot span {
    display: none !important;
}
.top-slant-white:before {
    background: #1c1c1c;
}


/* Our Course */
.section-ourcourse h2 {
    margin-top: .8em;
}
.section-ourcourse .sched {
    min-height: 18em;
}
.section-ourcourse .sched .text {
    background: #1c1c1c;
    text-align: justify;
}
.section-ourcourse .sched .text h3 {
    margin-bottom: 1em;
}
.section-ourcourse .sched .text p {
    font-size: 14px;
}
.section-ourcourse .text-primary {
    color: #C6A75E !important;
}
.section-ourcourse .col-md-max {
    width: 100%;
}
.section-ourcourse p.add {
    font-size: 80%;
    opacity: .8;
}
@media screen and (max-width: 1200px) {
	.section-ourcourse .sched {
        min-height: 23em;
    }
}
@media screen and (max-width: 991px) {
    .section-ourcourse .sched .bg-image {
        height: 320px;
    }
}
@media screen and (max-width: 767px) {
    .section-ourcourse .sched .bg-image {
        height: 240px;
    }
}


/* otherpage */
.section-inner {
    max-width: 1140px;
    margin: auto;
}
.section-inner h2 {
    color: #C6A75E
}


/* otherpage - Menu */
.section-menu .section-inner {
    text-align: center;
    max-width: 600px;
}
.section-menu .section-inner table + h2 {
    margin-top: 3em;
}
.section-menu .section-inner h3 {
    font-size: 140%;
    margin-top: 3em;
    color: #f5f3ef;
}
.section-menu table {
    width: 100%;
    border-spacing: 0;
}
.section-menu table th,
.section-menu table td {
    border-bottom: 1px dotted #333;
}
.section-menu table th {
    text-align: left;
    padding: 2em 1em;
    font-weight: normal;
}
.section-menu table th span {
    font-size: 80%;
}
.section-menu table th.menutable-sub {
    padding: 2em 1em 2em 3em;
}
.section-menu table td {
    text-align: right;
    padding: 2em 1em;
}
.section-menu table.subtable th,
.section-menu table.subtable td {
    padding: .3em 0;
    border-bottom: 0;
}
@media screen and (max-width: 800px) {
    .section-menu .section-inner {
        width: calc(100% - 30px);
    }
    .section-menu table td {
        width: 38%;
    }
}


/* フッター */
.site-footer:before {
    background: #1c1c1c;
}
footer h3 {
    color: #F5F3EF;
}
footer .text-white {
    color: #B8B3A8 !important;
}
.footer-logo {
    max-width: 250px;
}
.footer-logo img {
    width: 100%;
}
.footer-social a {
    width: 2em;
    height: 2em;
    font-size: 2em;
    line-height: normal;
}
.footer-social a:hover {
    color: #1c1c1c !important;
}
.footer-mapwrap {
    width: 100%;
    height: 100%;
}
.footer-mapwrap iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}
@media screen and (max-width: 767px) {
    footer {
        text-align: center;
    }
	.footer-logo {
        margin: auto;
    }
    .footer-social {
        justify-content: center;
    }
    .footer-mapwrap {
        position: relative;
        width: 100%;
        padding-top: 56.25%;
        /* 16:9のアスペクト比 */
        height: 0;
    }
    .footer-mapwrap iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}


/* fixed-btn */
.fixed-btn {
    position: fixed;
    right: 16px;
    bottom: 16px;
    z-index: 9999;
    opacity: 0;
    pointer-events: none;
    transition: 0.3s;
}
.fixed-btn ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.fixed-btn ul li {
    
}
.fixed-btn li:not(.fixed-btn-tablecheck) {
    display: none;
}
.fixed-btn ul li a {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    background-color: #C6A75E;
    color: #1c1c1c !important;
    text-align: center;
    line-height: 1.5;
    width: 100px;
    height: 100px;
    border-radius: 50%;
}
.fixed-btn ul li a span {
    font-size: 1.4em;
}
.fixed-btn ul li a p {
    margin: 0;
    font-size: 13px;
}
.fixed-btn.is-show {
    opacity: 1;
    pointer-events: auto;
}
@media screen and (max-width: 767px) {
    .fixed-btn {
        width: 100%;
        right: 0;
        bottom: 0;
    }
    .fixed-btn ul {
        display: flex;
        justify-content: space-between;
        gap: 1px;
    }
    .fixed-btn ul li {
        width: 100%
    }
    .fixed-btn li:not(.fixed-btn-tablecheck) {
        display: block;
    }
    .fixed-btn ul li a {
        display: block;
        padding: .5em;
        width: auto;
        height: 100%;
        border-radius: inherit;
    }
}