 @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:nth-child(3) {
    font-family: "Noto Serif JP", serif;
    background-color: #013e4c;
    border-radius: 0;
}
.l-header__btns__btn:nth-child(2) {
    font-family: "Noto Serif JP", serif;
    background-color: #908552;
    border-radius: 0;
}
.l-header__btns__btn {
    font-family: "Noto Serif JP", serif;
    background-color: #fff;
    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,
.c-button2 {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    max-width: 100%;
    background-color: #060606;
    color: #fff;
    font-family: "Roboto", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    font-weight: 500;
    text-decoration: none;
    text-align: center;
    line-height: 1.4;
    border: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: auto;
    padding: 0 1em;
    cursor: pointer;
    position: relative;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
    overflow: hidden;
    z-index: 1;
}
.c-button {
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-style: normal;
    background-color: #908552;
}
.c-button2 {
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-style: normal;
    background-color: #015466;
}
.c-button--secondary {
    color: #908552;
    background-color: transparent;
    border: 2px solid #908552;
}


.c-cta--fixed .c-button,
.c-cta--fixed .c-button2 {
    width: 100%;
    height: min(11.733vw, 52.8px);
    font-size: clamp(11.2px, 3.733vw, 16.8px);
    line-height: 1;
}

.c-cta .c-button--primary{
    margin-top: min(2.667vw, 12px);
}

@media screen and ( min-width: 769px ){
.c-cta .c-button + .c-button {
        margin-top: min(2.667vw, 12px);
    }
.c-cta .c-button,
.c-cta .c-button2 {
        font-size: clamp(11.2px, 3.733vw, 16.8px);
        height: min(14.933vw, 67.2px);
    }
}

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



/* Brilliaを知るページ画像小の注釈位置 */
.tight{
    right: 19%;
}


/*グロナビのNEWマーク*/
.new {
    color: #aa0000 !important;
    font-size: 10px;
    position: absolute;
    bottom: 3px;
    width: 100%;
    text-align: center;
}
@media screen and (max-width: 768px) {
    .new {
        bottom: 14px;
        left: 15rem;
        text-align: left;
    }
}


/*共通バナー*/
.bnr-area{
    width: 90%;
    max-width: 800px;
    margin: 30px auto 80px;
}
.location .bnr-area{
    margin: 80px auto;
}
.bnr-area figcaption{
    width: 100px;
    left: 0;
}
@media screen and (max-width: 768px) {
.bnr-area{
    margin: 20px auto 30px;
}
.location .bnr-area{
    margin: 30px auto;
}
}