@charset "utf-8";

@font-face {
    font-family: 'Noto Serif Japanese';
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Regular.woff2) format('woff2'),
        url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Regular.woff) format('woff'),
        url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Regular.otf) format('opentype');
}

@font-face {
    font-family: 'Noto Serif Japanese';
    font-style: normal;
    font-weight: 500;
    src: url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Medium.woff2) format('woff2'),
        url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Medium.woff) format('woff'),
        url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Medium.otf) format('opentype');
}

@font-face {
    font-family: 'Noto Serif Japanese';
    font-style: normal;
    font-weight: 700;
    src: url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Bold.woff2) format('woff2'),
        url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Bold.woff) format('woff'),
        url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Bold.otf) format('opentype');
}

/*==============================
    remの基準
==============================*/
html {
    font-size: 10px;
}

@media only screen and (max-width:1500px) {
    html {
        font-size: calc((10 / 1500) * 100vw);
    }
}

@media only screen and (max-width:1215px) {
    html {
        font-size: 10px;
    }
}

/*==============================
    変数設定
==============================*/
/* 幅の基準 */
:root {
    --widthBase: 192rem;
}

@media only screen and (max-width:1920px) {
    :root {
        --widthBase: 100vw;
    }
}

@media only screen and (max-width:1400px) {
    :root {
        --widthBase: 1400px;
    }
}

@media only screen and (max-width:1215px) {
    :root {
        --widthBase: 375px;
    }
}

@media only screen and (max-width:374px) {
    :root {
        --widthBase: 100vw;
    }
}

:root {
    /* フッターの上の余白 */
    --footerPc: 15rem;
    --footerSp: 8rem;

    /* 色 */
    --textColor: #000000;
    --keyColor: #016a36;
    --keyColor02: rgba(1, 106, 54, 0.7);
    --editor_linkColor: #295ea2;
    --editor_borderColor: #ccc;
    --bgFooter: #302b29;
    --whiteColor: #ffffff;
    --whiteBorder05:rgba(255, 255, 255, 0.5);
    --blackBorder03:rgba(0, 0, 0, 0.3);
    --bgGradGreen: linear-gradient(90deg,rgba(88, 158, 106, 1) 0%, rgba(3, 106, 53, 1) 50%, rgba(1, 105, 52, 1) 100%);
    --borderBrandColor: linear-gradient(90deg,rgba(121, 176, 132, 1) 0%, rgba(66, 143, 104, 1) 50%, rgba(65, 143, 103, 1) 100%);
    --borderMessageColor: linear-gradient(90deg,rgba(67, 145, 194, 1) 0%, rgba(68, 145, 193, 1) 50%, rgba(67, 145, 194, 1) 100%);
    --bgGradGreen02: linear-gradient(90deg,rgba(88, 158, 106, 0.6) 0%, rgba(3, 106, 53, 0.6) 50%, rgba(1, 105, 52, 0.6) 100%);
    --borderColor:rgba(50, 45, 41, 0.25);
    --colorPager: #cccac9;
    --borderPager: rgba(204, 202, 201, 0.2);
    --bgNewsSlider: #f0f0f0;
    --colorPagenation: #dfdede;
    --colorDetailsPager:#292d30;
    --colorNewIcon:#cc3300;
    --colorMessage:rgba(227, 221, 202, 0.251);

    --whiteBorder025:rgba(255, 255, 255, 0.25);
    --whiteBorder01:rgba(255, 255, 255, 0.1);

    /* フォントサイズ（PC） */
    --pcFontSize10: 1rem;
    --pcFontSize11: 1.1rem;
    --pcFontSize12: 1.2rem;
    --pcFontSize13: 1.3rem;
    --pcFontSize14: 1.4rem;
    --pcFontSize15: 1.5rem;
    --pcFontSize16: 1.6rem;
    --pcFontSize17: 1.7rem;
    --pcFontSize18: 1.8rem;
    --pcFontSize19: 1.9rem;
    --pcFontSize20: 2rem;
    --pcFontSize22: 2.2rem;
    --pcFontSize24: 2.4rem;
    --pcFontSize25: 2.5rem;
    --pcFontSize26: 2.6rem;
    --pcFontSize28: 2.8rem;
    --pcFontSize30: 3rem;
    --pcFontSize32: 3.2rem;
    --pcFontSize33: 3.3rem;
    --pcFontSize34: 3.4rem;
    --pcFontSize35: 3.5rem;
    --pcFontSize36: 3.6rem;
    --pcFontSize38: 3.8rem;
    --pcFontSize40: 4rem;
    --pcFontSize44: 4.4rem;
    --pcFontSize45: 4.5rem;
    --pcFontSize50: 5rem;
    --pcFontSize60: 6rem;
    --pcFontSize66: 6.6rem;
    --pcFontSize70: 7rem;
    --pcFontSize72: 7.2rem;
    --pcFontSize75: 7.5rem;
    --pcFontSize80: 8rem;
    --pcFontSize100: 10rem;
    --pcFontSize110: 11rem;
    --pcFontSize120: 12rem;
    --pcFontSize130: 13rem;
    --pcFontSize144: 14.4rem;
    --pcFontSize160: 16rem;
    --pcFontSize200: 20rem;
    --pcFontSize220: 22rem;

    /* line-height（PC） */
    --pcLineHeight10_15: calc(15 / 10);
    --pcLineHeight11_24: calc(24 / 11);
    --pcLineHeight13_43: calc(43 / 13);
    --pcLineHeight14_32: calc(32 / 14);
    --pcLineHeight14_35: calc(35 / 14);
    --pcLineHeight15_26: calc(26 / 15);
    --pcLineHeight16_26: calc(26 / 16);
    --pcLineHeight16_32: calc(32 / 16);
    --pcLineHeight16_40: calc(40 / 16);
    --pcLineHeight16_45: calc(45 / 16);
    --pcLineHeight16_50: calc(50 / 16);
    --pcLineHeight18_40: calc(40 / 18);
    --pcLineHeight18_45: calc(45 / 18);
    --pcLineHeight20_34: calc(34 / 20);
    --pcLineHeight20_35: calc(35 / 20);
    --pcLineHeight20_36: calc(36 / 20);
    --pcLineHeight22_50: calc(50 / 22);
    --pcLineHeight22_60: calc(60 / 22);
    --pcLineHeight22_65: calc(65 / 22);
    --pcLineHeight25_36: calc(36 / 25);
    --pcLineHeight26_60: calc(60 / 26);
    --pcLineHeight30_36: calc(36 / 30);
    --pcLineHeight30_60: calc(60 / 30);
    --pcLineHeight30_80: calc(80 / 30);
    --pcLineHeight35_50: calc(50 / 35);
    --pcLineHeight35_132: calc(132 / 35);
    --pcLineHeight40_130: calc(130 / 40);
    --pcLineHeight45_70: calc(70 / 45);
    --pcLineHeight45_80: calc(80 / 45);


    /* letter-spacing（PC） */
    --pcLetterSpacing10_50: 0.05em;
    --pcLetterSpacing10_200: 0.2em;
    --pcLetterSpacing11_50: 0.05em;
    --pcLetterSpacing11_100: 0.1em;
    --pcLetterSpacing11_150: 0.15em;
    --pcLetterSpacing12_60: 0.06em;
    --pcLetterSpacing12_100: 0.1em;
    --pcLetterSpacing12_150: 0.15em;
    --pcLetterSpacing13_150: 0.15em;
    --pcLetterSpacing13_200: 0.20em;
    --pcLetterSpacing13_400: 0.40em;
    --pcLetterSpacing14_150: 0.15em;
    --pcLetterSpacing14_200: 0.2em;
    --pcLetterSpacing15_50: 0.05em;
    --pcLetterSpacing15_100: 0.1em;
    --pcLetterSpacing15_200: 0.2em;
    --pcLetterSpacing16_50: 0.05em;
    --pcLetterSpacing16_100: 0.1em;
    --pcLetterSpacing17_550: 0.55em;
    --pcLetterSpacing18_70: 0.07em;
    --pcLetterSpacing18_150: 0.15em;
    --pcLetterSpacing18_200: 0.2em;
    --pcLetterSpacing20_50: 0.05em;
    --pcLetterSpacing20_100: 0.1em;
    --pcLetterSpacing20_200: 0.2em;
    --pcLetterSpacing20_150: 0.15em;
    --pcLetterSpacing22_100: 0.1em;
    --pcLetterSpacing22_150: 0.15em;
    --pcLetterSpacing22_200: 0.2em;
    --pcLetterSpacing25_100: 0.1em;
    --pcLetterSpacing25_150: 0.15em;
    --pcLetterSpacing26_100: 0.1em;
    --pcLetterSpacing26_200: 0.2em;
    --pcLetterSpacing30_100: 0.1em;
    --pcLetterSpacing30_150: 0.15em;
    --pcLetterSpacing30_300: 0.3em;
    --pcLetterSpacing33_180: 0.18em;
    --pcLetterSpacing35_50: 0.05em;
    --pcLetterSpacing35_100: 0.1em;
    --pcLetterSpacing40_150: 0.15em;
    --pcLetterSpacing45_50: 0.05em;
    --pcLetterSpacing45_100: 0.1em;
    --pcLetterSpacing45_150: 0.15em;
    --pcLetterSpacing72_80: 0.08em;
    --pcLetterSpacing75_100: 0.1em;
    --pcLetterSpacing144_80: 0.08em;

    /* フォントサイズ（SP）*/
    --spFontSize10: calc((10 / 375) * var(--widthBase));
    --spFontSize11: calc((11 / 375) * var(--widthBase));
    --spFontSize12: calc((12 / 375) * var(--widthBase));
    --spFontSize13: calc((13 / 375) * var(--widthBase));
    --spFontSize14: calc((14 / 375) * var(--widthBase));
    --spFontSize15: calc((15 / 375) * var(--widthBase));
    --spFontSize16: calc((16 / 375) * var(--widthBase));
    --spFontSize17: calc((17 / 375) * var(--widthBase));
    --spFontSize18: calc((18 / 375) * var(--widthBase));
    --spFontSize19: calc((19 / 375) * var(--widthBase));
    --spFontSize20: calc((20 / 375) * var(--widthBase));
    --spFontSize22: calc((22 / 375) * var(--widthBase));
    --spFontSize24: calc((24 / 375) * var(--widthBase));
    --spFontSize26: calc((26 / 375) * var(--widthBase));
    --spFontSize28: calc((28 / 375) * var(--widthBase));
    --spFontSize30: calc((30 / 375) * var(--widthBase));
    --spFontSize32: calc((32 / 375) * var(--widthBase));
    --spFontSize34: calc((34 / 375) * var(--widthBase));
    --spFontSize36: calc((36 / 375) * var(--widthBase));
    --spFontSize38: calc((38 / 375) * var(--widthBase));
    --spFontSize40: calc((40 / 375) * var(--widthBase));
    --spFontSize50: calc((50 / 375) * var(--widthBase));
    --spFontSize60: calc((60 / 375) * var(--widthBase));
    --spFontSize70: calc((70 / 375) * var(--widthBase));
    --spFontSize71: calc((71 / 375) * var(--widthBase));
    --spFontSize72: calc((72 / 375) * var(--widthBase));
    --spFontSize80: calc((80 / 375) * var(--widthBase));

    /* line-height（SP） */
    --spLineHeight10_15: calc(15 / 10);
    --spLineHeight10_20: calc(20 / 10);
    --spLineHeight10_30: calc(30 / 10);
    --spLineHeight11_20: calc(20 / 11);
    --spLineHeight11_24: calc(24 / 11);
    --spLineHeight12_20: calc(20 / 12);
    --spLineHeight12_22: calc(22 / 12);
    --spLineHeight12_24: calc(24 / 12);
    --spLineHeight12_30: calc(30 / 12);
    --spLineHeight13_16: calc(16 / 13);
    --spLineHeight13_22: calc(22 / 13);
    --spLineHeight13_24: calc(24 / 13);
    --spLineHeight13_26: calc(26 / 13);
    --spLineHeight13_35: calc(35 / 13);
    --spLineHeight14_26: calc(26 / 14);
    --spLineHeight14_30: calc(30 / 14);
    --spLineHeight14_32: calc(32 / 14);
    --spLineHeight14_45: calc(45 / 14);
    --spLineHeight15_26: calc(26 / 15);
    --spLineHeight18_32: calc(32 / 18);
    --spLineHeight18_34: calc(34 / 18);
    --spLineHeight18_50: calc(50 / 18);
    --spLineHeight20_35: calc(35 / 20);
    --spLineHeight20_40: calc(40 / 20);
    --spLineHeight24_50: calc(50 / 24);
    --spLineHeight30_50: calc(50 / 30);

    /* letter-spacing（SP） */
    --spLetterSpacing0: 0rem;
    --spLetterSpacing10_20: 0.02em;
    --spLetterSpacing10_50: 0.05em;
    --spLetterSpacing10_100: 0.1em;
    --spLetterSpacing10_300: 0.3em;
    --spLetterSpacing11_50: 0.05em;
    --spLetterSpacing11_100: 0.1em;
    --spLetterSpacing11_200: 0.2em;
    --spLetterSpacing12_100: 0.1em;
    --spLetterSpacing12_150: 0.15em;
    --spLetterSpacing13_50: 0.05em;
    --spLetterSpacing13_100: 0.1em;
    --spLetterSpacing13_200: 0.2em;
    --spLetterSpacing14_50: 0.05em;
    --spLetterSpacing14_60: 0.06em;
    --spLetterSpacing14_100: 0.1em;
    --spLetterSpacing15_50: 0.05em;
    --spLetterSpacing16_50: 0.05em;
    --spLetterSpacing16_150: 0.15em;
    --spLetterSpacing18_50: 0.05em;
    --spLetterSpacing18_60: 0.06em;
    --spLetterSpacing18_100: 0.1em;
    --spLetterSpacing18_150: 0.15em;
    --spLetterSpacing20_100: 0.1em;
    --spLetterSpacing20_180: 0.18em;
    --spLetterSpacing20_200: 0.2em;
    --spLetterSpacing24_200: 0.2em;
    --spLetterSpacing30_50: 0.05em;
}

/*==============================
    基本設定
==============================*/
body {
    color: var(--textColor);
    font-size: var(--pcFontSize12);
    font-family: "YakuHanMP", "游明朝体", YuMincho, "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", 'Noto Serif Japanese';
    margin: 0;
    padding: 0;
    text-align: left;
    background: #fff;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.25);
    position: relative;
    word-break: break-all;
    min-width: 1180px;
    overflow-y: scroll;
}

@media only screen and (max-width:1215px) {
    body {
        min-width: 0;
    }
}

body *,
body *::before,
body *::after {
    box-sizing: border-box;
}

img {
    vertical-align: bottom;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: normal;
}

th {
    font-weight: normal;
    text-align: left;
}

/*font layout*/
.fBold {
    font-weight: bold;
}

.fSerif {
    font-family: 'Noto Serif Japanese', serif;
}

/*rollover*/
.ro a:hover,
a.ro:hover,
a .ro:hover,
.cursorPointer:hover {
    opacity: 0.8;
}

.ro a,
a.ro,
a .ro,
.cursorPointer {
    transition: opacity 0.2s ease-out;
}

.cursorPointer {
    cursor: pointer;
}

@media only screen and (max-width:1215px) {

    .ro a:hover,
    a.ro:hover,
    a .ro:hover,
    .cursorPointer:hover {
        opacity: 1;
    }
}

/*rollover(brightnessによる変化)*/
.cursorPointer.brt:hover,
.cursorPointer .brt:hover,
.brt a:hover,
a.brt:hover,
a .brt:hover {
    -webkit-filter: brightness(1.1);
    filter: brightness(1.1);
}

.cursorPointer.brt,
.cursorPointer .brt,
.brt a,
a.brt,
a .brt {
    transition: filter 0.2s ease-out;
}

@media only screen and (max-width:1215px) {

    .cursorPointer.brt:hover,
    .cursorPointer .brt:hover,
    .brt a:hover,
    a.brt:hover,
    a .brt:hover {
        filter: none;
    }
}

/*ro無効化*/
.ro .no_ro a:hover,
.ro a.no_ro:hover,
.ro .no_ro .cursorPointer:hover,
.ro .cursorPointer.no_ro:hover {
    opacity: 1;
}

/* 電話リンクの無効化 */
a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
}

.cmnwhite {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    text-shadow: 5px 5px 10px rgba(255, 255, 255, 0.6), -5px 5px 10px rgba(255, 255, 255, 0.6), 5px -5px 10px rgba(255, 255, 255, 0.6), -5px -5px 10px rgba(255, 255, 255, 0.6), 10px 10px 20px rgba(255, 255, 255, 0.6), -10px 10px 20px rgba(255, 255, 255, 0.6), 10px -10px 20px rgba(255, 255, 255, 0.6), -10px -10px 20px rgba(255, 255, 255, 0.6);
    color: transparent;
}
@media only screen and (max-width:1215px) {
    a[href^="tel:"] {
        pointer-events: auto;
        cursor: pointer;
    }
}

a {
    color: inherit;
    text-decoration: none;
}

.fPlayfair {
    font-family: "Playfair Display", serif;
}

.fLato {
    font-family: "Lato", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}

/* container */
#container {
    overflow: hidden;
    max-width: 1920px;
    width: 100%;
    margin: 0 auto;
}

/*========================================
    レスポンシブ用(不要な場合は削除)
========================================*/
.spOnly,
.brSp,
.imgSp {
    display: none;
}

.img100 {
    width: 100%;
    height: auto;
}

@media only screen and (max-width:1215px) {

    .spNone,
    .brPc,
    .imgPc {
        display: none;
    }

    .spOnly {
        display: block;
    }

    .brSp,
    .imgSp {
        display: inline;
    }

    .imgR {
        width: 100%;
        height: auto;
    }
}

/*-----------------------------------------------
    imgCover
-----------------------------------------------*/
/* imgCover */
.imgCover,
.imgCont {
    position: relative;
}

.imgCover img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
}

.imgCont img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

/*-----------------------------------------------
    wrapper
-----------------------------------------------*/
.wrapper1580 {
    max-width: calc(100% - 10rem);
    width: 158rem;
    margin: 0 auto;
}
.wrapper1840 {
    max-width: calc(100% - 10rem);
    width: 184rem;
    margin: 0 auto;
}
.wrapper1320 {
    max-width: calc(100% - 10rem);
    width: 132rem;
    margin: 0 auto;
}

@media only screen and (max-width:1215px) {
    .wrapper1580,
    .wrapper1840,
    .wrapper1320 {
        max-width: none;
        width: 100%;
    }

    .wrapperFit {
        max-width: 40rem;
        margin: 0 auto;
    }

    .wrapperSp {
        width: 92%;
        margin: 0 auto;
    }

    .wrapperSp335 {
        width: 89.336%;
        margin: 0 auto;
    }
}
/*-----------------------------------------------
	jsHide
-----------------------------------------------*/
.jsHide{
    opacity: 0;
    transform: translate(0px, 50px);
    transition: opacity 0.5s cubic-bezier(0.18, 1.00, 0.29, 1.00), transform 2s cubic-bezier(0.18, 1.00, 0.29, 1.00);
}
.jsHide.jsShow{
    transform: none;
    opacity: 1;
}
/* ▼cssアニメーション */
/* slideinleft */
.jsHide .slideinleft{
    opacity: 0;
}
.jsHide.jsShow .slideinleft{
    animation: slideinleft 0.8s ease-in-out 0.4s 1 forwards;
}
@keyframes slideinleft {
    0% {
        opacity: 0;
        transform: translateX(-0.625rem);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}
.jsHide .orderleft .orderlefttxt{
    opacity: 0.2;
}
.jsHide.jsShow .orderleft .orderlefttxt{
    animation: orderleft 0.2s ease-in-out 0.6s 1 forwards;
}
@keyframes orderleft {
    0% {
        opacity: 0.2;
    }
    100% {
        opacity: 1;
    }
}
/*-----------------------------------------------
    footer
-----------------------------------------------*/
#footer {
    background: var(--bgFooter);
    padding: 10.5rem 0 10rem;
    color: var(--whiteColor);
    font-family: "YakuHanJP_Narrow", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    overflow: hidden;
}

#footer .innerFlex {
    display: flex;
    justify-content: space-between;
}

#footer .boxLogo {
    display: flex;
    gap: 7.8rem;
}


/* boxLink */
#footer .boxLink {
    display: flex;
}

#footer .boxLink .item {
    position: relative;
}

#footer .footerLink {
    margin-top: 2rem;
}

#footer .boxLink .item::before {
    content: '';
    position: absolute;
    height: 11.5rem;
    width: 0.1rem;
    background: #55483c;
    top: calc(50% - 5.525rem);
    right: -2.5rem;
}

#footer .boxLink .item:last-child::before {
    display: none;
}

#footer .boxLink.privacy .item:before {
    display: none;
}

#footer .boxLink .itemAdd {
    font-size: var(--pcFontSize14);
    letter-spacing: var(--pcLetterSpacing14_150);
    line-height: var(--pcLineHeight14_32);
}

#footer .boxLink .itemTel {
    font-size: var(--pcFontSize35);
    line-height: var(--pcLineHeight35_50);
    letter-spacing: var(--pcLetterSpacing35_50);
    margin-top: 1.5rem;
    display: block;
    font-weight: 300;
}

#footer .boxLink .itemOpen {
    font-size: var(--pcFontSize10);
    margin-top: 2.2rem;
    white-space: nowrap;
}

#footer .boxBtn {
    margin-top: 5rem;
}

#footer .txtBusiness {
    font-size: var(--pcFontSize11);
    line-height: var(--pcLineHeight11_24);
    letter-spacing: var(--pcLetterSpacing11_100);
}

#footer .footerLeft {
    flex-shrink: 0;
}

#footer .footerRight {
    width: 56.33%;
    margin-top: 1rem;
}

#footer .footerRight .itemMenu {
    display: flex;
    justify-content: space-between;
}

#footer .footerRight .titMenu {
    font-size: var(--pcFontSize22);
    letter-spacing: var(--pcLetterSpacing22_150);
    font-weight: 300;
}

#footer .footerRight .titMenu+.titMenu {
    margin-top: 3rem;
}

#footer .footerRight .titMenu+.txtMenu {
    margin-top: 1.5rem;
}

#footer .footerRight .txtMenu {
    font-size: var(--pcFontSize13);
    letter-spacing: var(--pcLetterSpacing13_150);
    line-height: var(--pcLineHeight13_43);
}

#footer .footerInfo {
    display: flex;
    justify-content: space-between;
    margin-top: 4rem;
}

#footer .footerInfo .item {
    font-size: var(--pcFontSize12);
    letter-spacing: var(--pcLetterSpacing12_100);
}

#footer .footerInfo .item:nth-child(n + 2) {
    position: relative;
    border-left: 0.1rem solid var(--whiteColor);
    margin-left: 1.5rem;
    padding-left: 1.5rem;
}

#footer .copy {
    font-size: var(--pcFontSize10);
    letter-spacing: var(--pcLetterSpacing10_200);
}

#footer .footerSns {
    margin-top: 12rem;
    display: flex;
    gap: 2rem;
    align-items: center;
    justify-content: flex-end;
}

#footer .footerSns .linkSns {
    width: 6rem;
    height: 6rem;
    background: var(--whiteColor);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

#footer .footerSns.spOnly {
    display: none;
}
#footer .footerSns .bnrLogo01 {
    margin-right: 1rem;
}
#footer .footerSns .bnrLogo02 {
    margin-right: 1.2rem;
}
#footer .footerSns .bnrLogo03 {
    margin-right: 1rem;
}


@media only screen and (max-width:1215px) {
    #footer {
        padding: 5rem 0 6rem;
        position: relative;
        z-index: 2;
    }

    #footer .innerFlex {
        gap: 0;
        flex-direction: column;
        position: relative;
    }

    #footer .footerRight {
        width: 100%;
        display: contents;
    }

    #footer .footerLeft {
        width: 100%;
        margin-top: 0;
        display: contents;
    }

    #footer .boxLogo {
        gap: 0;
        justify-content: center;
        order: 1;
    }

    #footer .boxLogo .img {
        width: 15rem;
    }

    #footer .boxLink .itemAdd {
        font-size: var(--spFontSize11);
        letter-spacing: var(--spLetterSpacing11_100);
        line-height: var(--spLineHeight12_22);
    }

    #footer .boxLink .itemOpen {
        font-size: var(--spFontSize11);
        letter-spacing: var(--spLetterSpacing11_100);
        margin-top: 1.7rem;
        white-space: nowrap;
    }

    #footer .footerLink {
        margin-top: 2rem;
        text-align: center;
        order: 2;
    }

    #footer .linkList {
        order: 3;
        margin-top: 3.5rem;
    }

    #footer .boxLink .itemTel {
        margin-top: 0;
        font-size: var(--spFontSize30);
        letter-spacing: var(--spLetterSpacing30_50);
        line-height: var(--spLineHeight30_50);
    }

    #footer .boxLink .item::before {
        content: '';
        position: absolute;
        height: 0.1rem;
        width: 100%;
        background: #55483c25;
        bottom: -20px;
        right: unset;
        left: 0;
        top: unset;
    }

    #footer .link .img {
        width: 1.7rem;
    }

    #footer .link:nth-child(2) .img {
        width: 2rem;
    }

    #footer .footerRight .listMenu {
        width: 55%;
    }

    #footer .footerRight .listMenu:nth-child(n + 2) {
        margin-top: 3rem;
    }

    #footer .footerRight .txtBr {
        padding-left: 1.8rem;
    }

    #footer .footerRight .listMenu:nth-child(3) {
        width: 45%;
    }

    #footer .footerRight .listMenu:first-child {
        width: 100%;
        margin-bottom: 0rem;
        display: flex;
        flex-wrap: wrap;
    }

    #footer .footerRight .listMenu:first-child .titMenu:nth-child(odd) {
        width: 55%;
    }

    #footer .footerRight .listMenu:first-child .titMenu:nth-child(even) {
        width: 45%;
    }

    #footer .footerRight .itemMenu {
        display: flex;
        gap: 0;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    #footer .footerRight .txtMenu {
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing12_100);
        line-height: var(--spLineHeight12_20);
        margin-bottom: 1rem;
    }

    #footer .footerRight .txtMenu:last-child {
        margin-bottom: 0;
    }

    #footer .footerRight .titMenu {
        font-size: var(--spFontSize18);
        letter-spacing: var(--spLetterSpacing18_100);
    }

    #footer .boxBtn .link+.link {
        margin-top: 1.5rem;
    }

    #footer .boxBtn {
        margin-top: 3rem;
        order: 4;
    }

    #footer .footerInfo {
        margin-top: 2.5rem;
        flex-direction: column;
        align-items: center;
    }

    #footer .copy {
        margin-top: 2.7rem;
        letter-spacing: var(--pcLetterSpacing10_50);
    }

    #footer .footerSns.spOnly {
        display: flex;
        margin-top: 3rem;
        flex-direction: column;
        gap: 2.5rem;
    }

    #footer .footerSns.spNone {
        display: none;
    }

    #footer .footerRight .titMenu+.titMenu {
        margin-top: 0;
    }
    #footer .txtBusiness {
        font-size: var(--spFontSize10);
        line-height: var(--spLineHeight10_20);
        letter-spacing: var(--spLetterSpacing10_100);
        text-align: center;
    }
    #footer .footerSns .linkSns {
        width: 5rem;
        height: 5rem;
    }
    #footer .footerSns .linkSns {
        width: 5rem;
        height: 5rem;
    }
    #footer .boxLink {
        justify-content: center;
    }
    #footer .wrapperLogoSns {
        display: flex;
        gap: 2rem;
    }
    #footer .footerSns .bnrLogo01 {
        margin-right: 0;
    }
    #footer .footerSns .bnrLogo02 {
        margin-right: 0;
    }
    #footer .footerSns .bnrLogo03 {
        margin-right: 0;
    }
}

@media only screen and (max-width:370px) {
    #footer .footerRight .txtBr {
        padding-left: 1.4rem;
    }
}



/*-----------------------------------------------
    menu
-----------------------------------------------*/
#menu {
    padding: 10.5rem 0 10rem;
    color: var(--whiteColor);
    font-family: "YakuHanJP_Narrow", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    overflow: hidden;
    display: none;
    z-index: 9999;
    position: relative;
    min-height: 100vh;
}
#menu.lazyloaded {
    background: url(../img/common/bgMenu.jpg) center bottom / cover no-repeat;
}

#menu .innerFlex {
    display: flex;
    justify-content: space-between;
}

#menu .boxLogo {
    display: flex;
    gap: 7.8rem;
}


/* boxLink */
#menu .boxLink {
    display: flex;
}

#menu .boxLink .item {
    position: relative;
}

#menu .menuLink {
    margin-top: 2rem;
}

#menu .boxLink .item::before {
    content: '';
    position: absolute;
    height: 11.5rem;
    width: 0.1rem;
    background: #55483c;
    top: calc(50% - 5.525rem);
    right: -2.5rem;
}

#menu .boxLink .item:last-child::before {
    display: none;
}

#menu .boxLink.privacy .item:before {
    display: none;
}

#menu .boxLink .itemAdd {
    font-size: var(--pcFontSize14);
    letter-spacing: var(--pcLetterSpacing14_150);
    line-height: var(--pcLineHeight14_32);
}

#menu .boxLink .itemTel {
    font-size: var(--pcFontSize35);
    line-height: var(--pcLineHeight35_50);
    letter-spacing: var(--pcLetterSpacing35_50);
    margin-top: 1.5rem;
    display: block;
    font-weight: 300;
}

#menu .boxLink .itemOpen {
    font-size: var(--pcFontSize10);
    margin-top: 2.2rem;
    white-space: nowrap;
}

#menu .boxBtn {
    margin-top: 5rem;
}

#menu .txtBusiness {
    font-size: var(--pcFontSize11);
    line-height: var(--pcLineHeight11_24);
    letter-spacing: var(--pcLetterSpacing11_100);
}

#menu .menuLeft {
    flex-shrink: 0;
}

#menu .menuRight {
    width: 56.33%;
    margin-top: 1rem;
}

#menu .menuRight .itemMenu {
    display: flex;
    justify-content: space-between;
}

#menu .menuRight .titMenu {
    font-size: var(--pcFontSize22);
    letter-spacing: var(--pcLetterSpacing22_150);
    font-weight: 300;
}

#menu .menuRight .titMenu+.titMenu {
    margin-top: 3rem;
}

#menu .menuRight .titMenu+.txtMenu {
    margin-top: 1.5rem;
}

#menu .menuRight .txtMenu {
    font-size: var(--pcFontSize13);
    letter-spacing: var(--pcLetterSpacing13_150);
    line-height: var(--pcLineHeight13_43);
}

#menu .menuInfo {
    display: flex;
    justify-content: space-between;
    margin-top: 4rem;
}

#menu .menuInfo .item {
    font-size: var(--pcFontSize12);
    letter-spacing: var(--pcLetterSpacing12_100);
}

#menu .menuInfo .item:nth-child(n + 2) {
    position: relative;
    border-left: 0.1rem solid var(--whiteColor);
    margin-left: 1.5rem;
    padding-left: 1.5rem;
}

#menu .copy {
    font-size: var(--pcFontSize10);
    letter-spacing: var(--pcLetterSpacing10_200);
}

#menu .menuSns {
    margin-top: 12rem;
    display: flex;
    gap: 2rem;
    align-items: center;
    justify-content: flex-end;
}

#menu .menuSns .linkSns {
    width: 6rem;
    height: 6rem;
    background: var(--whiteColor);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

#menu .menuSns.spOnly {
    display: none;
}


@media only screen and (max-width:1215px) {
    #menu {
        padding: 5rem 0 6rem;
        position: relative;
        z-index: 9998;
    }
    #menu.lazyloaded {
        background: url(../img/common/bgMenu_sp.jpg) center bottom / cover no-repeat;
    }

    #menu .innerFlex {
        gap: 0;
        flex-direction: column;
        position: relative;
    }

    #menu .menuRight {
        width: 100%;
        display: contents;
    }

    #menu .menuLeft {
        width: 100%;
        margin-top: 0;
        /* display: contents; */
        display: none;
    }

    #menu .boxLogo {
        gap: 0;
        justify-content: center;
        order: 1;
    }

    #menu .boxLogo .img {
        width: 15rem;
    }

    #menu .boxLink .itemAdd {
        font-size: var(--spFontSize11);
        letter-spacing: var(--spLetterSpacing11_100);
        line-height: var(--spLineHeight12_22);
    }

    #menu .boxLink .itemOpen {
        font-size: var(--spFontSize11);
        letter-spacing: var(--spLetterSpacing11_100);
        margin-top: 1.7rem;
        white-space: nowrap;
    }

    #menu .menuLink {
        margin-top: 2rem;
        text-align: center;
        order: 2;
    }

    #menu .linkList {
        order: 3;
        margin-top: 4.3rem;
    }

    #menu .boxLink .itemTel {
        margin-top: 0;
        font-size: var(--spFontSize30);
        letter-spacing: var(--spLetterSpacing30_50);
        line-height: var(--spLineHeight30_50);
    }

    #menu .boxLink .item::before {
        content: '';
        position: absolute;
        height: 0.1rem;
        width: 100%;
        background: #55483c25;
        bottom: -20px;
        right: unset;
        left: 0;
        top: unset;
    }

    #menu .link .img {
        width: 1.7rem;
    }

    #menu .link:nth-child(2) .img {
        width: 2rem;
    }

    #menu .menuRight .listMenu {
        width: 55%;
    }

    #menu .menuRight .listMenu:nth-child(n + 2) {
        margin-top: 3rem;
    }

    #menu .menuRight .txtBr {
        padding-left: 1.8rem;
    }

    #menu .menuRight .listMenu:nth-child(3) {
        width: 45%;
    }

    #menu .menuRight .listMenu:first-child {
        width: 100%;
        margin-bottom: 0rem;
        display: flex;
        flex-wrap: wrap;
    }

    #menu .menuRight .listMenu:first-child .titMenu:nth-child(odd) {
        width: 55%;
    }

    #menu .menuRight .listMenu:first-child .titMenu:nth-child(even) {
        width: 45%;
    }

    #menu .menuRight .itemMenu {
        display: flex;
        gap: 0;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    #menu .menuRight .txtMenu {
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing12_100);
        line-height: var(--spLineHeight12_20);
        margin-bottom: 1rem;
    }

    #menu .menuRight .txtMenu:last-child {
        margin-bottom: 0;
    }

    #menu .menuRight .titMenu {
        font-size: var(--spFontSize18);
        letter-spacing: var(--spLetterSpacing18_100);
    }

    #menu .boxBtn .link+.link {
        margin-top: 1.5rem;
    }

    #menu .boxBtn {
        margin-top: 2.5rem;
        order: 4;
    }

    #menu .menuInfo {
        margin-top: 2.5rem;
        flex-direction: column;
        align-items: center;
    }

    #menu .copy {
        margin-top: 2.7rem;
        letter-spacing: var(--pcLetterSpacing10_50);
    }

    #menu .menuSns.spOnly {
        display: flex;
        margin-top: 3rem;
        flex-direction: column;
        gap: 2.5rem;
    }

    #menu .menuSns.spNone {
        display: none;
    }

    #menu .menuRight .titMenu+.titMenu {
        margin-top: 0;
    }
    #menu .txtBusiness {
        font-size: var(--spFontSize10);
        line-height: var(--spLineHeight10_20);
        letter-spacing: var(--spLetterSpacing10_100);
        text-align: center;
    }
    #menu .menuSns .linkSns {
        width: 5rem;
        height: 5rem;
    }
    #menu .menuSns .linkSns {
        width: 5rem;
        height: 5rem;
    }
    #menu .boxLink {
        justify-content: center;
    }
    #menu .wrapperLogoSns {
        display: flex;
        gap: 2rem;
    }
}

@media only screen and (max-width:370px) {
    #menu .menuRight .txtBr {
        padding-left: 1.4rem;
    }
}

/*-----------------------------------------------
    herder
-----------------------------------------------*/
#header{
    /* max-width: 192rem; */
    width: 100%;
    position: fixed;
    display: flex;
    top: 0;
    left: 0;
    z-index: 10000;
    color: var(--whiteColor);
    transition: 0.5s;
}
#header .headerWrapper{
    position: relative;
    z-index: 10;
    display: flex;
    justify-content: space-between;
    width: 100%;
    height: 100%;
    padding: 0 13rem 0 4.2rem;
    z-index: 9999;
    height: 9.5rem;
    align-items: center;
}
#header .headerWrapper .boxLeft{
    display: flex;
    align-items: center;
}
#header .headerWrapper .logoWrapper{
    display: flex;
    align-items: center;
    gap: 2rem;
}
#header .headerWrapper .txtCorporate{
    font-size: var(--pcFontSize15);
    letter-spacing: var(--pcLetterSpacing15_100);
    position: relative;
    margin-left: 3rem;
    padding-left: 3rem;
}
#header .headerWrapper .txtCorporate::before{
    content: '';
    position: absolute;
    top: calc(50% - 1.9rem);
    left: 0;
    height: 3.8rem;
    width: 0.1rem;
    background: var(--whiteBorder05);
}
#header .gNaviList{
    display: flex;
}
#header .gNaviItem{
    margin-left: 3.2rem;
}
#header .gNaviItem:first-child{
    margin-left: 0;
}
#header .naviLink{
    text-decoration: none;
    color: var(--whiteColor);
    display: block;
}
#header .jpnTit{
    font-size: var(--pcFontSize15);
    letter-spacing: var(--pcLetterSpacing15_50);
}
#header .engTit{
    font-size: var(--pcFontSize11);
    letter-spacing: var(--pcLetterSpacing11_50);
    margin-top: 1rem;
}
body.isHeaderBlue #header{
    color: var(--tabColor);
}
body.isHeaderBlue #header .naviLink{
    color: var(--tabColor);
}
#header.scroll {
    position: fixed;
    top: 0;
    left: 0;
    background: var(--keyColor02);
}

@media only screen and (max-width:1215px){
    #header{
        width: 89.336%;
        left: 5.332%;
        margin: 0 auto;
        position: absolute;
    }
    #header.scroll {
        position: absolute;
        left: 5.332%;
        background: none;
    }
    #header.scroll .naviCover{
        position: relative;
    }
    #header.scroll .naviCover::before{
        content: '';
        position: absolute;
        background: var(--keyColor02);
        top: calc(50% - 3rem);
        left: calc(50% - 3.5rem);
        width: 7.5rem;
        height: 6.5rem;
        z-index: -1;
    }
    #header .headerWrapper{
        padding: 0;
        height: 5.3rem;
    }
    #header .gNaviList{
        display: none;
    }
    #header .headerWrapper .txtCorporate {
        display: none;
    }
    #header .headerWrapper .logoHeader {
        width: 9.5rem;
        flex-shrink: 0;
    }
    #header .headerWrapper .logoGoals {
        width: 11rem;
    }
    #header .headerWrapper .linkLogoTop {
        width: 100%;
        height: 100%;
    }
    #header .headerWrapper .logoWrapper {
        gap: 1rem;
    }
}
/*-------------------------------------------
    btnNavi
-----------------------------------------------*/
.btnNavi{
    width: 4rem;
    position: absolute;
    top: 2.2rem;
    right: 5rem;
    z-index: 10000;
}
.btnNavi .txtNavi{
    font-size: var(--pcFontSize11);
    letter-spacing: var(--pcLetterSpacing11_150);
}
.btnNavi .naviCover{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-flow: column;
    text-decoration: none;
    height: 100%;
    color: #fff;
    transition: all 0.5s;
    height: 3rem;
}
.btnNavi .border{
	width: 4rem;
	height: 1.2rem;
	position: relative;
}
.btnNavi .border .inner,
.btnNavi .border .inner::before,
.btnNavi .border .inner::after{
	display: block;
	width: 4rem;
	height: 0.1rem;
	background: var(--whiteColor);
    left: 0;
    right: 0;
    margin: auto;
    transition: all 0.5s;
}
.btnNavi .border .inner{
    width: 0;
    height: 0;
}
.btnNavi .border .inner::before{
	content: '';
	position: absolute;
	transition: all 0.4s ease-out;
    top: 0;
    left:0;
    right:0;
    margin: auto;
}
.btnNavi .border .inner::after{
	content: '';
	position: absolute;
	transition: all 0.4s ease-out;
    bottom: 0;
    left:0;
    right:auto;
    margin: auto;
    width: 3rem;
}
.btnNavi.naviOpen .border .inner::before{
    transform: translateY(4rem) rotate(-15deg);
    top: -3.6rem;
    width: 4.5rem;
    left: 0;
}
.btnNavi.naviOpen .border .inner::after{
    transform: translateY(1.2rem) rotate(15deg);
    bottom: 2rem;
    left: 0rem;
    width: 4.5rem;
}
body.isHeaderBlue .btnNavi .border .inner,
body.isHeaderBlue .btnNavi .border .inner::before,
body.isHeaderBlue .btnNavi .border .inner::after{
	background: var(--tabColor);
}
body.isHeaderBlue .btnNavi.naviOpen .border .inner,
body.isHeaderBlue .btnNavi.naviOpen .border .inner::before,
body.isHeaderBlue .btnNavi.naviOpen .border .inner::after{
	background: var(--whiteColor);
}

/* 初期状態：Menu表示 / Close非表示 */
#btnNavi .txtMenu {
    display: block;
}
#btnNavi .txtClose {
    display: none;
}

/* メニューOPEN時 */
#btnNavi.naviOpen .txtMenu {
    display: none;
}
#btnNavi.naviOpen .txtClose {
    display: block;
}
@media only screen and (max-width:1215px){
    .btnNavi{
        top: 1.1rem;
        left: auto;
        right: 2rem;
        position: fixed;
    }
}

/*-----------------------------------------------
	pnkz
-----------------------------------------------*/
#pnkz {
    font-size: 0;
    padding: 2rem 0;
    position: relative;
    border-bottom: 0.1rem solid var(--borderColor);
}

#pnkz .boxList {
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;
}

#pnkz li {
    display: inline;
    font-size: var(--pcFontSize13);
    letter-spacing: var(--pcLetterSpacing13_200);
    flex-shrink: 0;
}

#pnkz li::after {
    content: ">";
    margin: 0 0.5rem 0 0.5rem;
    flex-shrink: 0;
}

#pnkz li:last-child::after {
    display: none;
}

#pnkz .boxList li:last-child {
    display: inline-block;
    min-width: 0;
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#pnkz a {
    text-decoration: none;
    color: var(--textColor);
}

@media only screen and (max-width:1215px) {
    #pnkz {
        padding: 1rem 0;
        text-align: left;
        border-bottom: none;
    }

    #pnkz .boxList {
        display: flex;
        align-items: center;
        white-space: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
    }

    #pnkz li {
        font-size: var(--spFontSize11);
        letter-spacing: var(--spLetterSpacing11_200);
        flex-shrink: 0;
    }

    #pnkz li::after {
        margin: 0 0.3rem 0 0.2rem;
        flex-shrink: 0;
    }

    #pnkz .boxList li:last-child {
        display: inline-block;
        min-width: 0;
        flex: 1;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .pnkzWrapper{
        position: relative;
    }

    .pnkzWrapper #pnkz{
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
    }
}

/*-----------------------------------------------
    secCmnIndexPager
-----------------------------------------------*/
.secCmnIndexPager{
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    padding: 5rem 0 15rem;
    gap: 0.5rem;
}
.secCmnIndexPager .boxList{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}
.secCmnIndexPager .dots {
    font-size: var(--pcFontSize40);
    color: var(--colorPager);
}
.secCmnIndexPager .btn{
    font-size: var(--pcFontSize14);
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    /* border: 0.1rem solid var(--borderPager);
    display: flex;
    align-items: center;
    justify-content: center; */
}
.secCmnIndexPager .btn .inner{
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 0.1rem solid var(--borderPager);
}
.secCmnIndexPager .btn.on{
    background: var(--colorPager);
    border: none;
}
.secCmnIndexPager .btnNext{
    position: relative;
    transform: rotate(180deg);
}
@media only screen and (max-width:1215px) {
    .secCmnIndexPager .btn {
        font-size: var(--spFontSize11);
        width: 3rem;
        height: 3rem;
    }
    .secCmnIndexPager .dots {
        font-size: var(--spFontSize26);
    }
    .secCmnIndexPager .innerArrow {
        width: 3rem;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .secCmnIndexPager .btnNext .innerArrow {
        padding-top: 0.3rem;
    }
    .secCmnIndexPager .btnPrev .innerArrow {
        padding-bottom: 0.3rem;
    }
    .secCmnIndexPager {
        padding: 5rem 0 8rem;
    }
}