 @charset "utf-8";
/* CSS Document */
/* style_overwrite.css */





/* =========================
breakpoint
========================= */
@media screen and ( min-width: 1389px ){
    /* XDデザインサイズ　1388 */
}
@media screen and ( min-width: 769px ){
    /* SP <> PC ブレークポイント */
}





/* =========================
font-family
========================= */
/* .noto-serif-jp
----------------------------------------*/
.noto-serif-jp-l {
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 300;
    font-style: normal;
}
.noto-serif-jp-r {
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}
.noto-serif-jp-m {
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
}
.noto-serif-jp-b {
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
}
/* .noto-sans-jp
----------------------------------------*/
.noto-sans-jp-l {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 300;
    font-style: normal;
}
.noto-sans-jp-r {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}
.noto-sans-jp-m {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
}
.noto-sans-jp-b {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
}
/* .Roboto
----------------------------------------*/
.roboto-l {
    font-family: "Roboto", serif;
    font-optical-sizing: auto;
    font-weight: 300;
    font-style: normal;
    font-variation-settings: "wdth" 100;
}
.roboto-r {
    font-family: "Roboto", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-variation-settings: "wdth" 100;
}
.roboto-m {
    font-family: "Roboto", serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    font-variation-settings: "wdth" 100;
}
.roboto-b {
    font-family: "Roboto", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-variation-settings: "wdth" 100;
}





/* =========================
font-size
========================= */
:root {
    /* font-size */
    --font_size-ex_large: calc( 22 * 100vw / 375 );
    --font_size-large: calc( 17 * 100vw / 375 );
    --font_size-normal: calc( 15 * 100vw / 375 );
    --font_size-small: calc( 12 * 100vw / 375 );
    --font_size-caption: max( min( calc( 12 * 100vw / 375 ), 14px ), 10px );
}
@media screen and ( min-width: 769px ){
    :root {
        /* font-size */
        /* 1920 / 1388 => XDの 1.38倍 が最大値 */
        /* XDデザインの等倍が最小値 */
        --font_size-ex_large: max( min( calc( 30 * 100vw / 1388 ), 41.5px ), 30px );
        --font_size-large: max( min( calc( 23 * 100vw / 1388 ), 31.7px ), 23px );
        --font_size-normal: max( min( calc( 15 * 100vw / 1388 ), 20.7px ), 15px );
        --font_size-small: max( min( calc( 12 * 100vw / 1388 ), 16.6px ), 12px );
        --font_size-caption: max( min( calc( 12 * 100vw / 1388 ), 14px ), 10px );
    }
}
@media screen and ( min-width: 1389px ){
}





/* =========================
body
========================= */
body {
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-feature-settings: "palt";
    letter-spacing: 0.1em;
}





/* =========================
header
========================= */
header {
    /*
    font-family: "Roboto", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    */
    font-family: "Noto Serif JP", serif;
}
.l-header__btns__btn {
    font-family: "Noto Serif JP", serif;
    background-color: #908552;
    border-radius: 0;
}
@media screen and ( min-width: 769px ){
    .l-header__hamburger {
        background-color: #fff;
    }
    .l-header__hamburger::before, 
    .l-header__hamburger::after {
        color: #333;
    }
}





/* =========================
footer
========================= */
footer {
    /*
    font-family: "Roboto", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    */
    font-family: "Noto Serif JP", serif;
}
.l-footer__logo .l-footer__logo__img {
    width: auto;
    max-width: 100%;
    height: min(4.267vw, 19.2px);
}
@media screen and ( min-width: 769px ){
    .l-footer__logo {
        width: 100%;
        max-width: min(103.746vw, 1728px);
        padding-left: min(2.882vw, 48px);
        padding-right: min(2.882vw, 48px);
    }
    .l-footer__logo img {
    }
    .l-footer__logo .l-footer__logo__img {
        height: min(2.161vw, 36px);
    }
}
@media screen and ( min-width: 1389px ){
}





/* =========================
figcaption
========================= */
figure {
    position: relative;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
}
figure figcaption {
    position: absolute;
    display: inline-block;
    bottom: 0;
    right: 0;
    margin: 0;
    padding: 0.3em 0.5em;
    color: #fff;
    font-size: var( --font_size-caption );
    line-height: 1.5;
    letter-spacing: 0.06em;
    background-color: rgba( 0, 0, 0, 0.4 );
}
@media screen and ( min-width: 769px ){
    figure {
    }
    figure figcaption {
    }
}
@media screen and ( min-width: 1389px ){
}





/* =========================
layout
========================= */
.l-content-section, 
.l-content-section--v2 {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
.l-content-section-inner, 
.l-content-section-inner--v2, 
.l-content-section-inner--v3 {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0 calc( 27 * 100vw / 375 );
}
.l-content-section-inner.border-bottom, 
.l-content-section-inner--v2.border-bottom {
    border-bottom: 1px solid #333;
}
@media screen and ( min-width: 769px ){
    .l-content-section {
        margin: 0;
    }
    .l-content-section--v2 {
        max-width: 1920px;
        margin: 0 auto;
        padding: 0 min( calc( 100 * 100vw / 1388 ), 100px );
    }
    .l-content-section-inner {
        max-width: 1920px;
        margin: 0 auto;
        padding: 0 min( calc( 100 * 100vw / 1388 ), 100px );
    }
    .l-content-section-inner--v2 {
        padding: 0;
    }
    .l-content-section-inner--v3 {
        max-width: 1920px;
        margin: 0 auto;
        padding: 0 min( calc( 100 * 100vw / 1388 ), 100px ) 0 0;
    }
}





/* =========================
layout
========================= */
.page_main_visual figure {
    height: auto;
}
.page_main_visual figure figcaption {
}
.page_main_visual .c-title--page--full__title {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    font-size: inherit;
}
.page_main_visual .c-title--page--full__title img {
    max-width: none;
    width: 100%;
}
@media screen and ( min-width: 769px ){
    .page_main_visual figure {
    }
    .page_main_visual figure figcaption {
    }
    .page_main_visual .c-title--page--full__title {
    }
    .page_main_visual .c-title--page--full__title img {
    }
}
@media screen and ( min-width: 1389px ){
}





.c-breadcrumbs {
    width: 100%;
    margin-top: min(7.205vw, 120px);
    border-top: 1px solid #eee;
}





.c-cta {
    background-color: #fff;
}
.c-button {
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-style: normal;
    background-color: #908552;
}
.c-button--secondary {
    color: #908552;
    background-color: transparent;
    border: 2px solid #908552;
}





.l-footer__contact {
    color: #333;
    background-color: #EFEDEA;
}




