@charset "utf-8";

@font-face{
    font-family:'ZenKakuGothicNew';
    font-style:normal;
    font-weight:400;
    src:url(../fonts/Zen_Kaku_Gothic_New/ZenKakuGothicNew-Regular.woff2) format('woff2'),
        url(../fonts/ZenKakuGothicNew/Zen_Kaku_Gothic_New-Regular.woff) format('woff'),
        url(../fonts/Zen_Kaku_Gothic_New/ZenKakuGothicNew-Regular.otf) format('opentype');
}
@font-face{
    font-family:'ZenKakuGothicNew';
    font-style:normal;
    font-weight:700;
    src:url(../fonts/Zen_Kaku_Gothic_New/ZenKakuGothicNew-Bold.woff2) format('woff2'),
        url(../fonts/Zen_Kaku_Gothic_New/ZenKakuGothicNew-Bold.woff) format('woff'),
        url(../fonts/Zen_Kaku_Gothic_New/ZenKakuGothicNew-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: #231815;
    --textColor_10:rgba(35,24,21,0.1);
    --textColor_15:rgba(35,24,21,0.15);
    --textColor_25:rgba(35,24,21,0.25);
    --textColor_50:rgba(35,24,21,0.5);
    --textColor_80:rgba(35,24,21,0.8);
    --keyColor: #21b8c5;
    --borderColorGray: #ddd;
    --btnOffColor: #dedddc;
    --whiteColor: #fff;
    --whiteColor_20:rgba(255,255,255,0.2);
    --whiteColor_50:rgba(255,255,255,0.5);
    --blackColor: #000;
    --blackColor_0:rgba(0,0,0,0);
    --blackColor_10:rgba(0,0,0,0.1);
    --blackColor_25:rgba(0,0,0,0.25);
    --blackColor_40:rgba(0,0,0,0.4);
    --grayColor_f0: #f0f0f0;
    --menuColor:#211714;
    --menuBgColor:#2d2d2d;
    --catalogColor:#9b8d76;
    --endcontentBgColor:#faf9f8;
    --footerBorderColor:rgba(204,204,204,0.3);
    --footerTelBorderColor:#404040;
    --pnkzBgColor:#f0f0f0;
    --NewColor:#f7f967;
    --IndexWorksbgColor:#efe5d4;
    --formBoxColor:#faf9f8;
    --privacyColor: #21b8c5;
    --formRedColor: #ff000e;
    --interviewColor:#d71717;
    --borderColor:#dddddd;
    --borderColor01:#3e2a24;



    /* フォントサイズ（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;
    --pcFontSize21: 2.1rem;
    --pcFontSize22: 2.2rem;
    --pcFontSize24: 2.4rem;
    --pcFontSize26: 2.6rem;
    --pcFontSize28: 2.8rem;
    --pcFontSize30: 3rem;
    --pcFontSize32: 3.2rem;
    --pcFontSize34: 3.4rem;
    --pcFontSize36: 3.6rem;
    --pcFontSize38: 3.8rem;
    --pcFontSize40: 4rem;
    --pcFontSize45: 4.5rem;
    --pcFontSize48: 4.8rem;
    --pcFontSize50: 5rem;
    --pcFontSize56: 5.6rem;
    --pcFontSize60: 6rem;
    --pcFontSize70: 7rem;
    --pcFontSize75: 7.5rem;
    --pcFontSize76: 7.6rem;
    --pcFontSize80: 8rem;

    /* line-height（PC） */
    --pcLineHeight10_15: calc(15 / 10);
    --pcLineHeight11_14: calc(14 / 11);
    --pcLineHeight12_16: calc(16 / 12);
    --pcLineHeight12_18: calc(18 / 12);
    --pcLineHeight12_20: calc(20 / 12);
    --pcLineHeight13_18: calc(18 / 13);
    --pcLineHeight13_20: calc(20 / 13);
    --pcLineHeight13_24: calc(24 / 13);
    --pcLineHeight13_25: calc(25 / 13);
    --pcLineHeight14_15: calc(15 / 14);
    --pcLineHeight14_16: calc(16 / 14);
    --pcLineHeight14_20: calc(20 / 14);
    --pcLineHeight14_22: calc(22 / 14);
    --pcLineHeight14_30: calc(30 / 14);
    --pcLineHeight15_28: calc(28 / 15);
    --pcLineHeight15_30: calc(30 / 15);
    --pcLineHeight16_24: calc(24 / 16);
    --pcLineHeight16_26: calc(26 / 16);
    --pcLineHeight16_28: calc(28 / 16);
    --pcLineHeight16_34: calc(34 / 16);
    --pcLineHeight16_32: calc(32 / 16);
    --pcLineHeight16_36: calc(36 / 16);
    --pcLineHeight16_52: calc(52 / 16);
    --pcLineHeight18_20: calc(20 / 18);
    --pcLineHeight18_22: calc(22 / 18);
    --pcLineHeight18_26: calc(26 / 18);
    --pcLineHeight18_30: calc(30 / 18);
    --pcLineHeight18_36: calc(36 / 18);
    --pcLineHeight18_40: calc(40 / 18);
    --pcLineHeight18_42: calc(42 / 18);
    --pcLineHeight20_30: calc(30 / 20);
    --pcLineHeight20_32: calc(32 / 20);
    --pcLineHeight20_38: calc(38 / 20);
    --pcLineHeight20_40: calc(40 / 20);
    --pcLineHeight20_42: calc(42 / 20);
    --pcLineHeight21_40: calc(40 / 21);
    --pcLineHeight22_30: calc(30 / 22);
    --pcLineHeight22_36: calc(36 / 22);
    --pcLineHeight22_40: calc(40 / 22);
    --pcLineHeight24_40: calc(40 / 24);
    --pcLineHeight24_46: calc(46 / 24);
    --pcLineHeight24_50: calc(50 / 24);
    --pcLineHeight26_44: calc(44 / 26);
    --pcLineHeight28_40: calc(40 / 28);
    --pcLineHeight28_44: calc(44 / 28);
    --pcLineHeight28_48: calc(48 / 28);
    --pcLineHeight28_50: calc(50 / 28);
    --pcLineHeight28_60: calc(60 / 28);
    --pcLineHeight28_62: calc(62 / 28);
    --pcLineHeight30_40: calc(40 / 30);
    --pcLineHeight34_40: calc(40 / 34);
    --pcLineHeight34_48: calc(48 / 34);
    --pcLineHeight34_50: calc(50 / 34);
    --pcLineHeight34_70: calc(70 / 34);
    --pcLineHeight34_74: calc(74 / 34);
    --pcLineHeight36_40: calc(40 / 36);
    --pcLineHeight36_42: calc(42 / 36);
    --pcLineHeight38_74: calc(74 / 38);
    --pcLineHeight40_44: calc(44 / 40);
    --pcLineHeight40_50: calc(50 / 40);
    --pcLineHeight40_60: calc(60 / 40);
    --pcLineHeight45_60: calc(60 / 45);
    --pcLineHeight48_56: calc(56 / 48);
    --pcLineHeight50_60: calc(60 / 50);
    --pcLineHeight56_100: calc(100 / 56);
    --pcLineHeight60_70: calc(70 / 60);
    --pcLineHeight76_80: calc(80 / 76);
    --pcLineHeight80_90: calc(90 / 80);
    --pcLineHeight80_100: calc(100 / 80);

    /* letter-spacing（PC） */
    --pcLetterSpacing0: 0;
    --pcLetterSpacing10_50: 0.05em;
    --pcLetterSpacing11_100: 0.1em;
    --pcLetterSpacing12_150: 0.15em;
    --pcLetterSpacing13_50: 0.05em;
    --pcLetterSpacing14_50: 0.05em;
    --pcLetterSpacing14_100: 0.1em;
    --pcLetterSpacing15_50: 0.05em;
    --pcLetterSpacing15_100: 0.1em;
    --pcLetterSpacing16_50: 0.05em;
    --pcLetterSpacing16_100: 0.1em;
    --pcLetterSpacing16_200: 0.2em;
    --pcLetterSpacing17_50: 0.05em;
    --pcLetterSpacing18_50: 0.05em;
    --pcLetterSpacing18_100: 0.1em;
    --pcLetterSpacing18_200: 0.2em;
    --pcLetterSpacing20_50: 0.05em;
    --pcLetterSpacing22_50: 0.05em;
    --pcLetterSpacing24_400: 0.4em;
    --pcLetterSpacing26_50: 0.05em;
    --pcLetterSpacing28_50: 0.05em;
    --pcLetterSpacing28_300: 0.3em;
    --pcLetterSpacing30_50: 0.05em;
    --pcLetterSpacing30_350: 0.35em;
    --pcLetterSpacing34_50: 0.05em;
    --pcLetterSpacing34_100: 0.1em;
    --pcLetterSpacing34_220: 0.22em;
    --pcLetterSpacing34_300: 0.3em;
    --pcLetterSpacing36_50: 0.05em;
    --pcLetterSpacing38_200: 0.2em;
    --pcLetterSpacing40_25: 0.025em;
    --pcLetterSpacing40_50: 0.05em;
    --pcLetterSpacing45_100: 0.1em;
    --pcLetterSpacing48_25: 0.025em;
    --pcLetterSpacing50_100: 0.1em;
    --pcLetterSpacing56_200: 0.2em;
    --pcLetterSpacing60_50: 0.05em;
    --pcLetterSpacing76_150: 0.15em;
    --pcLetterSpacing80_50: 0.05em;
    --pcLetterSpacing80_75: 0.075em;
    --pcLetterSpacing80_100: 0.1em;

    /* フォントサイズ（SP）*/
    --spFontSize9: calc((9 / 375) * var(--widthBase));
    --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));

    /* line-height（SP） */
    --spLineHeight9_16: calc(16 / 9);
    --spLineHeight10_13: calc(13 / 10);
    --spLineHeight10_15: calc(15 / 10);
    --spLineHeight10_16: calc(16 / 10);
    --spLineHeight10_20: calc(20 / 10);
    --spLineHeight11_16: calc(16 / 11);
    --spLineHeight11_20: calc(20 / 11);
    --spLineHeight12_14: calc(14 / 12);
    --spLineHeight12_18: calc(18 / 12);
    --spLineHeight12_20: calc(20 / 12);
    --spLineHeight12_22: calc(22 / 12);
    --spLineHeight12_26: calc(26 / 12);
    --spLineHeight13_19: calc(19 / 13);
    --spLineHeight14_16: calc(16 / 14);
    --spLineHeight14_20: calc(20 / 14);
    --spLineHeight14_22: calc(22 / 14);
    --spLineHeight14_24: calc(24 / 14);
    --spLineHeight14_28: calc(28 / 14);
    --spLineHeight14_36: calc(36 / 14);
    --spLineHeight15_22: calc(22 / 15);
    --spLineHeight16_20: calc(20 / 16);
    --spLineHeight16_25: calc(25 / 16);
    --spLineHeight16_26: calc(26 / 16);
    --spLineHeight16_28: calc(28 / 16);
    --spLineHeight16_30: calc(30 / 16);
    --spLineHeight16_32: calc(32 / 16);
    --spLineHeight18_20: calc(20 / 18);
    --spLineHeight18_24: calc(24 / 18);
    --spLineHeight18_26: calc(26 / 18);
    --spLineHeight18_30: calc(30 / 18);
    --spLineHeight18_32: calc(32 / 18);
    --spLineHeight18_36: calc(36 / 18);
    --spLineHeight18_38: calc(38 / 18);
    --spLineHeight20_26: calc(26 / 20);
    --spLineHeight20_30: calc(30 / 20);
    --spLineHeight20_40: calc(40 / 20);
    --spLineHeight22_26: calc(26 / 22);
    --spLineHeight28_34: calc(34 / 28);
    --spLineHeight30_40: calc(40 / 30);
    --spLineHeight32_38: calc(38 / 32);
    --spLineHeight34_40: calc(40 / 34);
    --spLineHeight40_45: calc(45 / 40);
    --spLineHeight40_50: calc(50 / 40);

    /* letter-spacing（SP） */
    --spLetterSpacing0: 0;
    --spLetterSpacing10_50: 0.05em;
    --spLetterSpacing11_100: 0.1em;
    --spLetterSpacing12_150: 0.15em;
    --spLetterSpacing14_200: 0.2em;
    --spLetterSpacing14_300: 0.3em;
    --spLetterSpacing16_50: 0.05em;
    --spLetterSpacing18_50: 0.05em;
    --spLetterSpacing18_100: 0.1em;
    --spLetterSpacing18_300: 0.3em;
    --spLetterSpacing20_100: 0.1em;
    --spLetterSpacing20_300: 0.3em;
    --spLetterSpacing28_50: 0.05em;
    --spLetterSpacing28_100: 0.1em;
    --spLetterSpacing30_50: 0.05em;
    --spLetterSpacing34_50: 0.05em;
    --spLetterSpacing40_50: 0.05em;
}

/*==============================
    基本設定
==============================*/
body{
    color:var(--textColor);
    font-size:var(--pcFontSize12);
    font-family:'ZenKakuGothicNew', sans-serif;
    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:140rem;
}
@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;}
.fInter{
    font-family:'Inter', sans-serif;
    font-weight: 300;
}
.type_Italic{
    font-style: italic;
}

/*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;
}
@media only screen and (max-width:1215px){
    a[href^="tel:"]{
        pointer-events:auto;
        cursor:pointer;
    }
}

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

/* 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;
}

/*-----------------------------------------------
	jsHide
-----------------------------------------------*/
/* jsHide */
.jsHide{
    opacity: 0;
    transform: translate(0px, 50px);
    transition: opacity 3.2s cubic-bezier(0.19, 1, 0.22, 1), transform 3.2s cubic-bezier(0.19, 1, 0.22, 1);
}
.jsHide.jsShow{
    opacity: 1;
    transform: none;
}

/*-----------------------------------------------
    wrapper
-----------------------------------------------*/
.wrapper1200{
    width: calc(100% - 10rem);
    max-width: 120rem;
    margin: 0 auto;
}
.wrapper1420{
    width: calc(100% - 10rem);
    max-width: 142rem;
    margin: 0 auto;
}
.wrapper1500{
    width: calc(100% - 10rem);
    max-width: 150rem;
    margin: 0 auto;
}
.wrapper1720{
    width: calc(100% - 10rem);
    max-width: 172rem;
    margin: 0 auto;
}
@media only screen and (max-width:1215px){
    .wrapper1720,
    .wrapper1500,
    .wrapper1420,
    .wrapper1200{
        width: 100%;
    }
    .wrapperFit{
        max-width: 40rem;
        margin: 0 auto;
	}
    .wrapperSp335{
        width: calc(335 / 375 * 100%);
        margin: 0 auto;
	}
    .wrapperSp{
        width: calc(345 / 375 * 100%);
        margin: 0 auto;
	}
}

/*-----------------------------------------------
	secCmnNextLoad(もっと見るボタン)
-----------------------------------------------*/
.secCmnNextLoad{
	max-width: 46rem;
    width: 100%;
	margin: 10rem auto 0;
}
.secCmnNextLoad .btnMore{
    display: flex;
    align-items: center;
    height: 8rem;
    border-radius: 0.5rem;
    background: var(--textColor);
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_32);
    font-weight: bold;
    color: var(--whiteColor);
    position: relative;
    padding: 0 4rem;
    cursor: pointer;
    overflow: hidden;
}
.secCmnNextLoad .btnMore::before{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--catalogColor);
    transform-origin: 100% 50%;
    transform: scaleX(0);
    transition: transform ease .6s;
}
.secCmnNextLoad .inner{
    position: relative;
    display: inline-block;
    width: 100%;
    z-index: 5;
}
.secCmnNextLoad .inner::after,
.secCmnNextLoad .inner::before{
    content: '';
    position: absolute;
    top: calc(50% - 0.5px);
    right: 0rem;
    width: 1.7rem;
    height: 1px;
    background: var(--whiteColor);
}
.secCmnNextLoad .inner::before{
    transform: rotate(90deg);
}
.secCmnNextLoad .icoLoader{
	display: none;
	width: 3.2rem;
	height: 9.5rem;
	margin: 0 auto;
}
.txtNoEvent{
    font-size: var(--pcFontSize16);
    letter-spacing: var(--pcLetterSpacing16_50);
    text-align: center;
    margin-top: 4rem;
}
@media only screen and (min-width:1216px){
    .secCmnNextLoad .btnMore{
        letter-spacing: var(--pcLetterSpacing16_100);
    }
    .secCmnNextLoad .btnMore:hover::before {
        transform-origin: 0% 50%; transform: scaleX(1);
    }
}
@media only screen and (max-width:1215px){
    .secCmnNextLoad{
        width: 100%;
        max-width: 26.5rem;
        margin: 3rem auto 0;
    }
    .secCmnNextLoad .btnMore{
        height: 5.6rem;
        border-radius: 0.3rem;
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_20);
        padding: 0 2rem;
    }
    .secCmnNextLoad .btnMore::after,
    .secCmnNextLoad .btnMore::before{
        width: 1.7rem;
    }
    .secCmnNextLoad .icoLoader{
        width: 3.2rem;
        height: 5.5rem;
    }
    .txtNoEvent{
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing0);
        margin-top: 3rem;
    }
}

/*-----------------------------------------------
    boxCmnBtn
-----------------------------------------------*/
.boxCmnBtn{
    margin-top: 6rem;
}
.boxCmnBtn .cmnBtn{
    position: relative;
    margin: 0 auto;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    background-color: var(--textColor);
    padding: 0 4rem 0 3.8rem;
    overflow: hidden;
    transition: .6s;
}
.boxCmnBtn .cmnBtn .txtBtn{
    font-size: var(--pcFontSize16);
    letter-spacing: var(--pcLetterSpacing16_100);
    transition: .6s;
}

/* 色指定 */
.boxCmnBtn .isNormal{
    background-color: var(--textColor);
    color: var(--whiteColor);
}
.boxCmnBtn .isNormal .txt:before,
.boxCmnBtn .isNormal .txt:after{
    background-color: var(--whiteColor);
}
.boxCmnBtn .cmnBtn.isInversion{
    background-color: var(--keyColor);
    color: var(--whiteColor);
    /* border: 1px solid var(--keyColor); */
}
.boxCmnBtn .cmnBtn.isInversion:hover .txtBtn{
    color: var(--whiteColor);
}
/* サイズ指定 */
.cmnBtn.isW460{
    width: 46rem;
    height: 8rem;
    border-radius: 0.5rem;
}
.cmnBtn.isW305{
    width: 30.5rem;
    height: 7.4rem;
    border-radius: 0.5rem;
    padding: 0 3rem;
}

/* ホバー時 */
.boxCmnBtn .cmnBtn::before {
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--catalogColor);
    transform-origin: 100% 50%; transform: scaleX(0); transition: transform ease .6s;
}
@media only screen and (min-width:1216px){
    .boxCmnBtn .cmnBtn:hover::before {
        transform-origin: 0% 50%; transform: scaleX(1);
    }
    /* .boxCmnBtn .cmnBtn.isInversion::before{
        background-color: var(--catalogColor);
    } */
}
@media only screen and (max-width:1215px){
    .boxCmnBtn{
        margin-top: 4rem;
    }
    .boxCmnBtn:not(.wrapperSp){
        width: 100%;
    }
    .boxCmnBtn .cmnBtn{
        padding: 0 1.8rem!important;
    }
    .boxCmnBtn .cmnBtn .txtBtn{
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing12_0);
    }
    /* サイズ指定 */
    .cmnBtn.isW100sp{
        width: 100%;
        height: 5.9rem;
        border-radius: 0.3rem;
    }
    .cmnBtn.isW460{
        width: 100%;
        height: 5.6rem;
        border-radius: 0.3rem;
    }
    .cmnBtn.isW305{
        width: 16rem;
        height: 5rem;
        border-radius: 0.3rem;
    }
}

/*-----------------------------------------------
    isArrow
-----------------------------------------------*/
.isArrow{
    position: relative;
    width: 100%;
}
.isArrow:before,
.isArrow:after{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    bottom: 0;
    right: 0;
    width: 1.6rem;
    height: 1px;
    background-color: var(--textColor);
    transition: .6s;
}
.isArrow:before{
    width: 0.4rem;
    transform: translateY(-0.1rem) rotate(32deg);
}
.isArrow.isWhite:before,
.isArrow.isWhite:after{
    background-color: var(--whiteColor);
}
.isArrow.isInversion:before,
.isArrow.isInversion:after{
    background-color: var(--textColor);
}
a:hover .isArrow.isInversion:before,
a:hover .isArrow.isInversion:after{
    background-color: var(--whiteColor);
}
.isArrow.isGray:before,
.isArrow.isGray:after{
    background-color: var(--grayColor_light7);
}
a:hover.isArrow:before,
a:hover .isArrow:before{
    animation: fuwafuwa2 .6s linear 2;
}
a:hover.isArrow:after,
a:hover .isArrow:after{
    animation: fuwafuwa .6s linear 2;
}

@keyframes fuwafuwa{
    0%{transform:translateX(0)}
    50%{transform:translateX(-5px)}
    100%{transform:translateX(0)}
}
@keyframes fuwafuwa2{
    0%{transform: translateY(-0.1rem) rotate(32deg) translateX(0)}
    50%{transform: translateY(0.2rem) rotate(32deg) translateX(-5px)}
    100%{transform: translateY(-0.1rem) rotate(32deg) translateX(0)}
}
@keyframes fuwafuwa3{
    0%{transform: translateY(-0.1rem) rotate(-32deg) translateX(0)}
    50%{transform: translateY(-0.4rem) rotate(-32deg) translateX(-5px)}
    100%{transform: translateY(-0.1rem) rotate(-32deg) translateX(0)}
}
/* ▼左から右 */
@keyframes fuwafuwa_reverse{
    0%{transform:translateX(0)}
    50%{transform:translateX(5px)}
    100%{transform:translateX(0)}
}
@keyframes fuwafuwa2_reverse{
    0%{transform: translateY(-0.1rem) rotate(32deg) translateX(0)}
    50%{transform: translateY(-0.4rem) rotate(32deg) translateX(5px)}
    100%{transform: translateY(-0.1rem) rotate(32deg) translateX(0)}
}

/*-----------------------------------------------
	hoverZoom
-----------------------------------------------*/
.hoverZoom{
	overflow: hidden;
}
.hoverZoom img:not(.noZoom){
	-webkit-transition: all 0.5s ease-out;
	transition: all 0.5s ease-out;
}
.hoverZoom:hover img:not(.noZoom){
	-webkit-transform: scale(1.05);
	transform: scale(1.05);
}

/*-----------------------------------------------
    header
-----------------------------------------------*/
#header{
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    padding-right: 10rem;
    color: var(--whiteColor);
    z-index: 9996;
    padding-top: 3rem;
}
#header .headerInner{
    width: calc(100% - 6rem);
    margin: 0 auto;
    display: flex;
    align-items: center;
}
#header .leftArea{
    display: inline-block;
}
#header .leftInner{
    display: flex;
    align-items: center;
}
#header .logo{
    width: 12.5rem;
}
#header .logolink{
    display: block;
    width: 100%;
}
#header .headertitlebox{
    padding-left:3rem;
}
#header .headertitle{
    font-size: var(--pcFontSize12);
    line-height: var(--pcLineHeight12_20);
}
#header .headertitle .headertitInner{
    display: inline-block;
    position: relative;
    padding-left: 0.5rem;
    margin-left: 0.5rem;
}
#header .headertitle .headertitInner::after{
    content: "";
    position: absolute;
    width: 1px;
    height: 1rem;
    left: 0;
    top: calc(50% - 0.5rem);
    background-color: var(--whiteColor);
}
#header .rightArea{
    flex: 1;
    padding-left: 3rem;
    padding-right: 0.5rem;
}
#header .rightInner{
    width: 100%;
}
#header .linklist{
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
#header .linkItem{
    display: inline-block;
}
#header .linkItem + .linkItem{
    margin-left: 3.4rem;
}
#header .rightLink{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_32);
    font-weight: bold;
}
@media only screen and (min-width:1921px){
    #header .headerInner{
        width: calc(192rem - 10rem);
        padding-left: 3rem;
    }
}
@media only screen and (max-width:1880px){
    #header .linkItem + .linkItem{
        margin-left: 2rem;
    }
    #header .headertitle .brSp{
        display: block;
    }
    #header .headertitle .headertitInner{
        margin-left: 0;
        padding-left: 0;
    }
    #header .headertitle .headertitInner::after{
        display: none;
    }
}
@media only screen and (max-width:1800px){
    #header .rightLink{
        font-size: var(--pcFontSize14);
        line-height: var(--pcLineHeight14_22);
    }
}
@media only screen and (max-width:1215px){
    #header{
        padding-right: 6rem;
        padding-top: 2rem;
    }
    #header .headerInner{
        width: 100%;
        padding-left: 2rem;
    }
    #header .leftArea{
        display: block;
        width: 100%;
    }
    #header .leftInner{
        align-items: flex-end;
    }
    #header .logo{
        width: 8.4rem;
    }
    #header .headertitlebox{
        padding-left:1.3rem;
        flex: 1;
        padding-bottom: 0.6rem;
    }
    #header .headertitle{
        font-size: var(--spFontSize9);
        line-height: var(--spLineHeight9_16);
    }
    #header .headertitle .headertitInner{
        display: block;
    }
    #header .rightArea{
        display: none;
    }
}
/*-----------------------------------------------
    btnNavi
-----------------------------------------------*/
#btnNavi{
    position: fixed;
    top: 0;
    right: 0;
    width: 10rem;
    height: 10rem;
    z-index: 9999;
    background-color: var(--whiteColor);
    display: flex;
    align-items: center;
    transition: 0.5s;
    cursor: pointer;
}
#btnNavi .navIn{
    display: inline-block;
    width: 100%;
    position: relative;
    padding-top: 1.9rem;
}
#btnNavi .borderbox{
    position: absolute;
    width: 3rem;
    height: 1.9rem;
    left: calc(50% - 1.5rem);
    top: 0;
    padding: 0.9rem 0;
}
#btnNavi .borderbox::before,
#btnNavi .borderbox::after{
    content: '';
    position: absolute;
    background-color: var(--menuColor);
    height: 1px;
    transition: 0.5s;
}
#btnNavi .borderbox::before{
    top: 0;
    width: 100%;
}
#btnNavi .borderbox::after{
    bottom: 0;
    width: calc(100% - 1.4rem);
}
#btnNavi .borderIn{
    width: calc(100% - 0.7rem);
    height: 1px;
    background-color: var(--menuColor);
}
#btnNavi .navtxtbox{
    display: inline-block;
    width: 100%;
    text-align: center;
    margin-top: 1rem;
}
#btnNavi .navtxtbox .navtxt{
    font-size: var(--pcFontSize13);
    line-height: var(--pcLineHeight13_20);
    font-weight: 300;
}
#btnNavi .ontxt,
#btnNavi.naviOpen .offtxt{
    display: none;
    transition: 0.5s;
}
#btnNavi.naviOpen .ontxt{
    display: inline-block;
}
#btnNavi.naviOpen{
    background-color: var(--menuBgColor);
    color: var(--whiteColor);
}
#btnNavi.naviOpen .borderbox::before,
#btnNavi.naviOpen .borderbox::after{
    background-color: var(--whiteColor);
    left: calc(50% - 1.5rem);
}
#btnNavi.naviOpen .borderIn{
    background-color: var(--blackColor_0);
}
#btnNavi.naviOpen .borderbox::before{
    width: 3rem;
    top: calc(50% - 0.5px);
    transform: rotate(35deg);
}
#btnNavi.naviOpen .borderbox::after{
    width: 3rem;
    bottom: calc(50% - 0.5px);
    transform: rotate(-35deg);
}
@media only screen and (max-width:1216px){
    #btnNavi{
        width: 6rem;
        height: 6rem;
    }
    #btnNavi .navIn{
        padding-top: calc(1.5rem + 0.5rem);
    }
    #btnNavi .borderbox{
        width: 2rem;
        height: 1.5rem;
        left: calc(50% - 1rem);
        padding: 0.7rem 0;
        top: 0.5rem;
    }
    #btnNavi .borderbox::before{
        width: 100%;
    }
    #btnNavi .borderbox::after{
        width: calc(100% - 1.2rem);
    }
    #btnNavi .borderIn{
        width: calc(100% - 0.5rem);
    }
    #btnNavi .navtxtbox{
        margin-top: 0px;
    }
    #btnNavi .navtxtbox .navtxt{
        font-size: var(--spFontSize10);
        line-height: var(--spLineHeight10_20);
    }
    #btnNavi.naviOpen .borderbox::before,
    #btnNavi.naviOpen .borderbox::after{
        left: calc(50% - 1rem);
    }
    #btnNavi.naviOpen .borderbox::before{
        width: 2rem;
    }
    #btnNavi.naviOpen .borderbox::after{
        width: 2rem;
    }
}
/*-----------------------------------------------
    fNavi
-----------------------------------------------*/
#fNavi{
    position: fixed;
    z-index: 9996;
    background-color: var(--menuColor);
}
#fNavi .navlist{
    width: 100%;
}
#fNavi .navItem{
    width: 100%;
    position: relative;
}
#fNavi .navItem + .navItem::after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color:var(--whiteColor_20);
}
#fNavi .navLink{
    display: flex;
    align-items: center;
    width: 100%;
    height: 10rem;
    color: var(--whiteColor);
    background: var(--menuColor);
}
#fNavi .navLink.type_reserve{
    background-color: var(--keyColor);
}
#fNavi .navLink.type_catalog{
    background-color: var(--catalogColor);
}
#fNavi .navInner{
    display: inline-block;
    width: 100%;
    text-align: center;
    position: relative;
}
#fNavi .navInner::after{
    content: "";
    position: absolute;
    top: 0;
    background: url(../img/common/tp.gif) center top no-repeat;
    background-size: 100% auto;
}
#fNavi .navLink.type_reserve .navInner::after{
    width: 2rem;
    height: 2.2rem;
    left: calc(50% - 1rem);
    background-image: url(../img/common/imgfNaviIcon01.png);
}
#fNavi .navLink.type_catalog .navInner::after{
    width: 2.4rem;
    height: 1.8rem;
    left: calc(50% - 1.2rem);
    background-image: url(../img/common/imgfNaviIcon02.png);
}
#fNavi .navLink.type_estate .navInner::after{
    width: 2rem;
    height: 2rem;
    left: calc(50% - 1rem);
    background-image: url(../img/common/imgfNaviIcon03.png);
}
#fNavi .navLink.type_event .navInner::after{
    width: 1.8rem;
    height: 2rem;
    left: calc(50% - 0.9rem);
    background-image: url(../img/common/imgfNaviIcon04.png);
}
#fNavi .navtxt{
    font-size: var(--pcFontSize12);
    line-height: var(--pcLineHeight12_16);
    text-align: center;
    font-weight: bold;
}

@media only screen and (min-width:1216px){
    #fNavi{
        width:10rem;
        top: 10rem;
        right: 0;
    }
    #fNavi .navLink.type_reserve .navInner{
        padding-top: calc(2.2rem + 0.8rem);
    }
    #fNavi .navLink.type_catalog .navInner{
        padding-top: calc(1.8rem + 0.7rem);
    }
    #fNavi .navLink.type_estate .navInner{
        padding-top: calc(2rem + 0.7rem);
    }
    #fNavi .navLink.type_event .navInner{
        padding-top: calc(2rem + 0.5rem);
    }
}
@media only screen and (max-width:1216px){
    #fNavi{
        width: 100%;
        left: 0;
        bottom: 0;
        transform: translateY(100%);
        transition: 0.5s;
        background-color: var(--whiteColor);
        padding-top: 1px;
    }
    #fNavi.active{
        transform: translateY(0);
    }
    #fNavi .navlist{
        display: flex;
    }
    #fNavi .navItem{
        width: calc((100% - 3px) / 4);
        margin-right: 1px;
    }
    #fNavi .navItem:last-child{
        margin-right: 0;
    }
    #fNavi .navItem + .navItem::after{
        display: none;
    }
    #fNavi .navLink{
        display: block;
        height: 7rem;
    }
    #fNavi .navInner{
        display: block;
        padding-top: 3.3rem;
    }
    #fNavi .navLink.type_reserve .navInner::after{
        width: 1.7rem;
        height: 1.9rem;
        left: calc(50% - 0.85rem);
        top: 1rem;
    }
    #fNavi .navLink.type_catalog .navInner::after{
        width: 2rem;
        height: 1.5rem;
        left: calc(50% - 1rem);
        top: 1.2rem;
    }
    #fNavi .navLink.type_estate .navInner::after{
        width: 1.7rem;
        height: 1.7rem;
        left: calc(50% - 0.85rem);
        top: 1.1rem;
    }
    #fNavi .navLink.type_event .navInner::after{
        width: 1.6rem;
        height: 1.7rem;
        left: calc(50% - 0.8rem);
        top: 1.1rem;
    }
    #fNavi .navtxt{
        font-size: var(--spFontSize10);
        line-height: var(--spLineHeight10_13);
    }
}

/*-----------------------------------------------
    secCmnHero
-----------------------------------------------*/
.secCmnHero{
    width: 100%;
    background: url(../img/common/tp.gif) center top no-repeat var(--textColor);
    height: 46rem;
    padding-top: 8rem;
    overflow: hidden;
    position: relative;
}
.secCmnHero::after{
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: var(--blackColor_40);
    top: 0;
    left: 0;
}
.secCmnHero .heroInner{
    height: 100%;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 3;
}
.secCmnHero .titleArea{
    display: inline-block;
    width: 100%;
    text-align: left;
}
.secCmnHero .titleIn{
    display: flex;
    color: var(--whiteColor);
    align-items: flex-end;
}
.secCmnHero .titEng{
    display: inline-block;
    font-size:var(--pcFontSize80);
    line-height: var(--pcLineHeight80_90);
    font-weight: 300;
    font-style: italic;
}
.secCmnHero .titJpn{
    padding-left: 3.2rem;
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_32);
    padding-bottom: calc(var(--pcFontSize80) * (15 / 80));
    letter-spacing: var(--pcLetterSpacing16_50);
}
.secCmnHero .titJpn .titInner{
    display: inline-block;
    padding-bottom: 0.8rem;
    border-bottom: 1px solid;
    border-color: var(--whiteColor);
}
@media only screen and (min-width:1216px){
    .secCmnHero .titEng{
        letter-spacing: var(--pcLetterSpacing80_75);
    }
}
@media only screen and (max-width:1215px){
    .secCmnHero{
        min-height: 25rem;
        height: calc(400 / 1215 * 100vw);
        padding-top: 6rem;
        background-size: cover;
    }
    .secCmnHero .heroInner{
        align-items: flex-end;
        padding-bottom: 4rem;
    }
    .secCmnHero .titleIn{
        display: block;
    }
    .secCmnHero .titEng{
        font-size:var(--spFontSize40);
        line-height: var(--spLineHeight40_50);
        letter-spacing: var(--spLetterSpacing40_50);
    }
    .secCmnHero .titJpn{
        padding: 0;
        margin-top: 0.5rem;
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_20);
    }
    .secCmnHero .titJpn .titInner{
        padding-bottom: 0.3rem;
    }
}
@media only screen and (max-width:767px){
    .secCmnHero{
        height: calc(250 / 375 * 100vw);
    }
}
/*-----------------------------------------------
    boxCmnMore
-----------------------------------------------*/
.boxCmnMore{
    position: relative;
    width: 24rem;
    padding-bottom: 1.4rem;
    margin: 0 0 0 auto;
}
.boxCmnMore::before,
.boxCmnMore::after {
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 1px;
    background-color: var(--textColor);
}
.boxCmnMore::after{
    transform: scale(0, 1);
    transition: transform 0.8s;
    transform-origin: right top;
    background-color: var(--borderColorGray);
}
.boxCmnMore.fWhite{
    color: var(--whiteColor);
}
.boxCmnMore.fWhite::before{
    background-color: var(--whiteColor);
}
.boxCmnMore .txtMore{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_32);
    letter-spacing: var(--pcLetterSpacing16_50);
    font-weight: 300;
}
@media only screen and (min-width:1216px){
    a:hover .boxCmnMore::after{
        transform-origin:left top;
        transform: scale(1, 1)
    }
}
@media only screen and (max-width:1215px){
    .boxCmnMore{
        max-width: 24rem;
        width: 100%;
        padding-bottom: 1.2rem;
        margin: 0 auto;
    }
    .boxCmnMore .txtMore{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_20);
    }
}

/*-----------------------------------------------
secCmnEndcontent
-----------------------------------------------*/
.secCmnEndcontent{
    width: 100%;
    background-color: var(--endcontentBgColor);
    margin-top: 15rem;
}
.secCmnEndcontent .list{
    display: flex;
}
.secCmnEndcontent .Item{
    width: calc(100% / 4);
}
.secCmnEndcontent .Item:last-child{
    margin-right: 0;
}
.secCmnEndcontent .itemLink{
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    overflow: visible;
}
.secCmnEndcontent .Item:nth-child(2) .imgBox{
    background-color: #9c8d76;
}
.secCmnEndcontent .itemInner{
    width: 100%;
    padding-bottom: 10rem;
}
.secCmnEndcontent .imgArea{
    width: 100%;
    overflow: hidden;
}
.secCmnEndcontent .imgBox{
    width: 100%;
    height: 0;
    padding-top: calc(300 / 480 * 100%);
    position: relative;
    overflow: hidden;
}
.secCmnEndcontent .txtArea{
    width: 100%;
    padding-top: 5.4rem;
    padding-bottom: 9.6rem;
    position: relative;
}
.secCmnEndcontent .txtInner{
    width: 100%;
    padding: 0 2rem;
}
.secCmnEndcontent .titbox{
    text-align: center;
    width: 100%;
}
.secCmnEndcontent .itemtit{
    font-size: var(--pcFontSize20);
    line-height: var(--pcLineHeight20_30);
    font-weight: bold;
}
.secCmnEndcontent .itemsubtit{
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_22);
    color: var(--textColor_50);
    margin-top: 1.3rem;
    letter-spacing: var(--pcLetterSpacing14_50);
}
.secCmnEndcontent .txtbox{
    width: 100%;
    margin-top: 1.7rem;
    text-align: center;
}
.secCmnEndcontent .txt{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_32);
}
.secCmnEndcontent .boxCmnMore{
    position: absolute;
    left: calc(50% - 12rem);
    bottom: 0;
}
.secCmnEndcontent .boxCmnMore .txtMore{
    font-weight: bold;
}
@media only screen and (min-width:1216px){
    .secCmnEndcontent .txtArea::after{
        content: "";
        position: absolute;
        width: 1px;
        height: calc(100% - 6rem);
        top: 6rem;
        right: calc(0% - 0.5px);
        background-color: var(--borderColorGray);
    }
    .secCmnEndcontent .Item:last-child .txtArea::after{
        display: none;
    }
}
@media only screen and (max-width:1215px){
    .secCmnEndcontent{
        margin-top: 7rem;
        padding-top: 5rem;
        padding-bottom: 7rem;
    }
    .secCmnEndcontent .list{
        flex-wrap: wrap;
    }
    .secCmnEndcontent .Item{
        width: calc((100% - 1px) / 2);
        margin-right: 1px;
    }
    .secCmnEndcontent .Item:nth-child(2n),
    .secCmnEndcontent .Item:last-child{
        margin-right: 0;
    }
    .secCmnEndcontent .Item:nth-child(n + 3){
        margin-top: 30px;
    }
    .secCmnEndcontent .itemInner{
        padding-bottom:0;
    }
    .secCmnEndcontent .txtArea{
        padding-top: 1.2rem;
        padding-bottom: calc(1.1rem + 3.2rem);
    }
    .secCmnEndcontent .txtInner{
        padding: 0;
    }
    .secCmnEndcontent .itemtit{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_22);
    }
    .secCmnEndcontent .itemsubtit{
        display: none;
    }
    .secCmnEndcontent .txtbox{
        width: 100%;
        margin-top: 0.6rem;
        text-align: center;
    }
    .secCmnEndcontent .txt{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_20);
    }
    .secCmnEndcontent .boxCmnMore{
        width: calc(100% - 4rem);
        left: 2rem;
    }
}
/*-----------------------------------------------
footer
-----------------------------------------------*/
#footer{
    background-color: var(--menuBgColor);
    width: 100%;
    color: var(--whiteColor);
}
.secCmnEndcontent + #footer{
    margin-top: 0;
}
#footer a{
    color: var(--whiteColor);
    text-decoration: none;
}
#footer .footerInner{
    padding: 9.2rem 0 10rem;
}
#footer .footerOn{
    display: flex;
}
#footer .leftArea{
    flex: 1;
    padding-right: 3rem;
    padding-top: 0.8rem;
}
#footer .leftInner{
    width: 100%;
}
#footer .logobox{
    width: 18rem;
}
#footer .logobox .logolink{
    display: block;
}
#footer .lefttxtbox{
    text-align: left;
    width: 100%;
    margin-top: 2.8rem;
}
#footer .lefttxt{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_32);
}
#footer .lefttxt + .lefttxt{
    margin-top: 0;
}
#footer .lefttxt .txtLink{
    text-decoration: underline;
    text-decoration-color: var(--whiteColor_50);
}
#footer .leftlist{
    width: 100%;
    margin-top: 4rem;
}
#footer .l_list{
    display: flex;
}
#footer .l_Item{
    display: inline-block;
    position: relative;
}
#footer .l_Item + .l_Item{
    margin-left: 2rem;
    padding-left: 2rem;
}
#footer .l_Item + .l_Item::after{
    content: "";
    position: absolute;
    width: 1px;
    height: 1.2rem;
    background-color: var(--footerBorderColor);
    left: 0;
    top: calc(50% - 0.6rem);
}
#footer .l_Link{
    display: inline-block;
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_20);
}
#footer .rightArea{
    display: inline-block;
}
#footer .rightInner{
    width: 100%;
}
#footer .rightlinklist{
    display: flex;
}
#footer .rightBlock{
    display: inline-block;
}
#footer .rightBlock + .rightBlock{
    margin-left: 10rem;
}
#footer .rightItem{
    display: block;
}
#footer .rightItem + .rightItem{
    margin-top: 2.2rem;
}
#footer .rightLink{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_32);
    font-weight: bold;
}
#footer .snsBox{
    display: block;
    width: 100%;
    margin-top: 3.1rem;
}
#footer .snsInner{
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
#footer .snstxt{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_32);
    letter-spacing: var(--pcLetterSpacing16_50);
}
#footer .snslinkbox{
    display: inline-block;
    padding-left: 1.7rem;
}
#footer .boxInner{
    display: flex;
    align-items: center;
}
#footer .linkbox{
    width: 4rem;
}
#footer .linkbox + .linkbox{
    margin-left: 2rem;
}
#footer .snsLink{
    display: block;
}
@media only screen and (max-width:1215px){
    #footer{
        margin-top: 5rem;
    }
    .secCmnEndcontent + #footer{
        margin-top: 0;
    }
    #footer .footerInner{
        padding: 5rem 0 5rem;
    }
    body:has(#fNavi) #footer .footerInner{
        padding-bottom: calc(5rem + 7rem);
    }
    #footer .footerOn{
        display: block;
    }
    #footer .leftArea{
        padding: 0;
        width: 100%;
    }
    #footer .logobox{
        width: 12.5rem;
        margin: 0 auto;
    }
    #footer .lefttxtbox{
        text-align: center;
        margin-top: 1.5rem;
    }
    #footer .lefttxt{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_22);
    }
    #footer .lefttxt + .lefttxt{
        margin-top: 0;
    }
    #footer .leftlist{
        display: none;
    }
    #footer .rightArea{
        display: block;
        width: 100%;
        margin-top: 2.6rem;
    }
    #footer .rightlinklist{
        display: none;
    }
    #footer .snsBox{
        margin-top: 0;
    }
    #footer .snsInner{
        display: block;
    }
    #footer .snstxt{
        display: none;
    }
    #footer .snslinkbox{
        display: block;
        padding-left: 0;
    }
    #footer .boxInner{
        justify-content: center;
    }
    #footer .linkbox{
        width: 3.1rem;
    }
    #footer .linkbox + .linkbox{
        margin-left: 2rem;
    }
}
#footer .footerUnder{
    width: 100%;
    margin-top: 7.7rem;
}
#footer .undertellist{
    display: flex;
}
#footer .telItem{
    width: calc((100% - 12rem) / 4);
    margin-right: 4rem;
}
#footer .telItem:last-child{
    margin-right: 0;
}
#footer .telLink{
    display: block;
    width: 100%;
}
#footer .teltitbox{
    display: flex;
    align-items: center;
    width: 100%;
    height: 6rem;
    border: 1px solid;
    border-color: var(--footerTelBorderColor);
    border-radius: 0.3rem;
}
#footer .titIn{
    display: inline-block;
    width: 100%;
    text-align: center;
}
#footer .teltit{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_32);
    font-weight: bold;
    letter-spacing: var(--pcLetterSpacing16_50);
}
#footer .teltxtArea{
    width: 100%;
    text-align: center;
    margin-top: 1.4rem;
}
#footer .numberbox{
    display: inline-block;
    position: relative;
    padding-left:calc((var(--pcFontSize30) * (25 / 30)) + 1rem);
}
#footer .numberbox::after{
    content: "";
    position: absolute;
    width: calc(var(--pcFontSize30) * (25 / 30));
    height: calc(var(--pcFontSize30) * (25 / 30));
    left: 0;
    top: calc(50% - (var(--pcFontSize30) * (21 / 30)) / 2);
}
#footer.lazyloaded .numberbox::after{
    background: url(../img/common/iconTel.png) no-repeat center center;
    background-size: 100% auto;
}
#footer .numberbox .numbertxt{
    font-size: var(--pcFontSize30);
    line-height: var(--pcLineHeight30_40);
    font-weight: bold;
}
#footer .teltxtbox{
    width: 100%;
    text-align: center;
    margin-top: 1.1rem;
}
#footer .teltxt{
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_20);
}
#footer .underFlex{
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
    margin-top: 7.5rem;
}
#footer .siteArea{
    display: inline-block;
}
#footer .sitelist{
    display: flex;
    align-items: center;
}
#footer .siteItem{
    display: inline-block;
    position: relative;
}
#footer .siteItem + .siteItem{
    margin-left: 2rem;
    padding-left: 2rem;
}
#footer .siteItem + .siteItem::before{
    content: "";
    position: absolute;
    width: 1px;
    height: 1.2rem;
    background-color: var(--footerBorderColor);
    left: 0;
    top: calc(50% - 0.6rem);
}
#footer .siteLink{
    color: var(--whiteColor_50);
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_20);
}
#footer .copyArea{
    flex: 1;
}
#footer .copybox{
    text-align: left;
    width: 100%;
}
#footer #copy{
    font-size: var(--pcFontSize12);
    line-height: var(--pcLineHeight12_20);
    letter-spacing: 0.05em;
    color: var(--whiteColor_50);
}
@media only screen and (min-width:1216px){
    #footer .siteLink{
        letter-spacing: var(--pcLetterSpacing14_50);
    }
    #footer .numberbox .numbertxt{
        letter-spacing: var(--pcLetterSpacing30_50);
    }
    #footer .teltxt{
        letter-spacing: var(--pcLetterSpacing14_50);
    }
}
@media only screen and (max-width:1215px){
    #footer .footerUnder{
        margin-top: 30px;
    }
    #footer .undertellist{
        display: flex;
        flex-wrap: wrap;
    }
    #footer .telItem{
        width: calc((100% - 0.5rem) / 2);
        margin-right: 0.5rem;
    }
    #footer .telItem:nth-child(2n),
    #footer .telItem:last-child{
        margin-right: 0;
    }
    #footer .telItem:nth-child(n + 3){
        margin-top: 2.8rem;
    }
    #footer .teltitbox{
        height: 4rem;
    }
    #footer .teltit{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_20);
    }
    #footer .teltxtArea{
        margin-top: 0.6rem;
    }
    #footer .numberbox{
        padding-left:calc((var(--spFontSize20) * (16 / 20)) + 0.5rem);
    }
    #footer .numberbox::after{
        width: calc(var(--spFontSize20) * (16 / 20));
        height: calc(var(--spFontSize20) * (16 / 20));
        top: calc(50% - (var(--spFontSize20) * (16 / 20)) / 2);
    }
    #footer .numberbox .numbertxt{
        font-size: var(--spFontSize20);
        line-height: var(--spLineHeight20_30);
    }
    #footer .teltxtbox{
        margin-top: 0.4rem;
    }
    #footer .teltxt{
        font-size: var(--spFontSize10);
        line-height: var(--spLineHeight10_15);
    }
    #footer .underFlex{
        display:block;
        margin-top: 4.4rem;
    }
    #footer .siteArea{
        display: block;
        width: 100%;
    }
    #footer .sitelist{
        justify-content: center;
    }
    #footer .siteItem + .siteItem{
        margin-left: 10px;
        padding-left: 10px;
    }
    #footer .siteLink{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_20);
    }
    #footer .copyArea{
        width: 100%;
        margin-top: 2.1rem;
    }
    #footer .copybox{
        text-align: center;
    }
    #footer #copy{
        font-size: var(--spFontSize10);
        line-height: var(--spLineHeight10_15);
    }
}
@media only screen and (max-width:400px){
    #footer .siteLink{
        font-size: var(--spFontSize10);
    }
}
/*-----------------------------------------------
    menu
-----------------------------------------------*/
#menu{
    display: none;
    position: relative;
    background:var(--menuBgColor);
    color: var(--whiteColor);
    z-index: 9998;
    min-height: 100vh;
}
#menu .menuInner{
    display: flex;
}
#menu .leftArea{
    max-width: 80rem;
    width: calc(800 / 1920 * 100vw);
}
#menu .leftInner{
    width: 100%;
    height: auto;
    min-height: 100vh;
    display: flex;
    align-items: center;
}
@media only screen and (min-width:1216px){
    #menu .leftArea{
        background: url(../img/common/imgmenuBg.jpg) no-repeat center center;
        background-size: cover;
    }
}
#menu .logobox{
    display: inline-block;
    width: 100%;
    text-align: center;
}
#menu .logoLink{
    width: calc(100% - 10rem);
    max-width: 28.6rem;
    display: block;
    margin: 0 auto;
}
#menu .rightArea{
    flex: 1;
    padding-left: 10rem;
}
#menu .rightInner{
    width: 100%;
    padding-top: 12.5rem;
    padding-bottom: 10rem;
}
#menu .rightFlex{
    display: flex;
}
#menu .flexLeft{
    flex: 1;
    padding-right: 5rem;
}
#menu .list{
    width: 100%;
}
#menu .item{
    width: 100%;
}
#menu .itemLink{
    display: inline-block;
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_32);
    font-weight: bold;
}
#menu .flexRight{
    width: 46rem;
}
#menu .flexRightInner{
    width: 100%;
    padding-top: 1.3rem;
}
#menu .btnitembox{
    width: 100%;
}
#menu .btnbox{
    width: 100%;
}
#menu .btnbox + .btnbox{
    margin-top: 2rem;
}
#menu .btnLink{
    display: flex;
    align-items: center;
    width: 100%;
    height: 8rem;
    border-radius: 0.5rem;
    padding: 0 4rem;
    overflow: hidden;
    position: relative;
}
@media only screen and (min-width:1216px){
    #menu .btnLink::before{
        position: absolute;
        content: '';
        margin: auto;
        display: block;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: var(--textColor);
        transform-origin: 100% 50%;
        transform: scaleX(0);
        transition: transform ease .6s;
    }
    #menu .btnLink:hover::before{
        transform-origin: 0% 50%;
        transform: scaleX(1);
    }
}
#menu .btnLink .btnIn{
    display: inline-block;
    width: 100%;
    text-align: left;
}
#menu .btnLink .btntxt{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_32);
    font-weight: bold;
    position: relative;
}
#menu .btnLink .btntxt::after{
    content: "";
    position: absolute;
    left: 0;
    background: url(../img/common/tp.gif) center center no-repeat;
    background-size: 100% auto;
}
#menu .btnLink.isArrow::before,
#menu .btnLink.isArrow::after{
    right: 4rem;
}
#menu .btnLink.type_reserve{
    background-color: var(--keyColor);
}
#menu .btnLink.type_reserve .btntxt{
    padding-left: calc((var(--pcFontSize16) * (20 / 16)) + 1.6rem);
}
#menu .btnLink.type_reserve .btntxt::after{
    width: 2rem;
    height: 2.2rem;
    top: calc(50% - 1.1rem);
    background-image: url(../img/common/imgfNaviIcon01.png);
}
#menu .btnLink.type_catalog{
    background-color: var(--catalogColor);
}
#menu .btnLink.type_catalog .btntxt{
    padding-left: calc((var(--pcFontSize16) * (24 / 16)) + 1.6rem);
}
#menu .btnLink.type_catalog .btntxt::after{
    width: 2.4rem;
    height: 1.8rem;
    top: calc(50% - 0.9rem);
    background-image: url(../img/common/imgfNaviIcon02.png);
}
#menu .menuTelArea{
    width: 100%;
    margin-top: 4rem;
}
#menu .telList{
    display: flex;
    flex-wrap: wrap;
}
#menu .telItem{
    width: calc((100% - 2rem) / 2);
    margin-right: 2rem;
}
#menu .telItem:nth-child(2n),
#menu .telItem:last-child{
    margin-right: 0;
}
#menu .telItem:nth-child(n + 3){
    margin-top: 2.7rem;
}
#menu .telLink{
    display: block;
    width: 100%;
}
#menu .teltitbox{
    display: flex;
    align-items: center;
    width: 100%;
    height: 4.4rem;
    border: 1px solid;
    border-color: var(--footerTelBorderColor);
    border-radius: 0.3rem;
}
#menu .teltitbox .titIn{
    display: inline-block;
    width: 100%;
    text-align: center;
}
#menu .teltitbox .teltit{
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_20);
    font-weight: bold;
}
#menu .teltxtArea{
    width: 100%;
    text-align: center;
    margin-top: 0.7rem;
}
#menu .numberbox{
    display: inline-block;
    position: relative;
    padding-left:calc((var(--pcFontSize22) * (19 / 22)) + 0.4rem);
}
#menu .numberbox::after{
    content: "";
    position: absolute;
    width: calc(var(--pcFontSize22) * (19 / 22));
    height: calc(var(--pcFontSize22) * (19 / 22));
    left: 0;
    top: calc(50% - (var(--pcFontSize22) * (16 / 22)) / 2);
    background: url(../img/common/iconTel.png) no-repeat center center;
    background-size: 100% auto;
}
#menu .numberbox .numbertxt{
    font-size: var(--pcFontSize22);
    line-height: var(--pcLineHeight22_30);
    font-weight: bold;
}
#menu .teltxtbox{
    width: 100%;
    text-align: center;
    margin-top: 0.6rem;
}
#menu .teltxt{
    font-size: var(--pcFontSize12);
    line-height: var(--pcLineHeight12_20);
}
#menu .onContent{
    width: 100%;
    border-top: 1px solid;
    border-color: var(--footerTelBorderColor);
    padding-top: 4rem;
    margin-top: 3.5rem;
}
#menu .snsBox{
    display: block;
    width: 100%;
}
#menu .snslist{
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
#menu .snsItem{
    width: 3rem;
}
#menu .snsItem + .snsItem{
    margin-left: 2rem;
}
#menu .snsLink{
    display: block;
}
#menu .secMenuUnder{
    width: 100%;
    margin-top: 5rem;
}
#menu .underlist{
    display: flex;
    flex-wrap: wrap;
}
#menu .underItem{
    display: inline-block;
    position: relative;
}
#menu .underLink{
    display: inline-block;
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_20);
    font-weight: bold;
}
@media only screen and (min-width:1216px){
    #menu .rightArea{
        padding-right: calc((100vw - 142rem) / 2);
    }
    #menu .flexRightInner{
        display: flex;
        flex-direction: column-reverse;
    }
    #menu .item + .item{
        margin-top: 2.3rem;
    }
    #menu .numberbox .numbertxt{
        letter-spacing: var(--pcLetterSpacing22_50);
    }
    #menu .underItem + .underItem{
        margin-left: 2rem;
        padding-left: 2rem;
    }
    #menu .underItem + .underItem::before{
        content: "";
        position: absolute;
        width: 1px;
        height: 1.2rem;
        background-color: var(--footerTelBorderColor);
        left: 0;
        top: calc(50% - 0.6rem);
    }
    #menu .spLinkArea{
        display: none;
    }
    @media only screen and (max-width:1520px){
        #menu .rightArea{
            padding-right: 5rem;
        }
        #menu .flexRight{
            width: 40rem;
        }
    }
}
@media only screen and (min-width:767px){
    @media only screen and (max-width:1215px){
        #menu .itemLink{
            white-space: nowrap;
        }
    }
}
@media only screen and (max-width:1215px){
    #menu .menuInner{
        display:block;
        position: relative;
        padding-top: 2rem;
        padding-bottom: 5rem;
    }
    #menu .leftArea{
        width: 100%;
    }
    #menu .leftInner{
        min-height: 0;
        display: block;
    }
    #menu .logobox{
        display: block;
        width: 6rem;
    }
    #menu .logoLink{
        width: 100%;
        display: block;
    }
    #menu .rightArea{
        width: 100%;
        padding: 0;
        margin-top: 3rem;
    }
    #menu .rightInner{
        width: 100%;
        padding: 0;
    }
    #menu .rightFlex{
        display: block;
        margin-top: 2.3rem;
    }
    #menu .flexLeft{
        padding: 0;
        width: 100%;
    }
    #menu .list{
        display: flex;
        flex-wrap: wrap;
    }
    #menu .item{
        width: calc(17.5rem + 3.5rem);
        margin-right: 0;
    }
    #menu .item:nth-child(n + 2){
        margin-top: 1.8rem;
    }
    #menu .item:nth-child(2n + 1){
        width: calc(100% - (17.5rem + 3.5rem));
        margin-right: 0;
    }
    #menu .item:nth-child(1){
        margin-right: 0;
        width: 100%;
    }
    #menu .itemLink{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_22);
    }
    #menu .flexRight{
        width: 100%;
        margin-top: 2.7rem;
    }
    #menu .flexRightInner{
        padding-top: 10px;
    }
    #menu .btnitembox{
        display: none;
    }
    #menu .menuTelArea{
        margin-top: 3rem;
    }
    #menu .telItem{
        width: calc((100% - 0.5rem) / 2);
        margin-right: 0.5rem;
    }
    #menu .telItem:nth-child(n + 3){
        margin-top: 2.8rem;
    }
    #menu .teltitbox{
        height: 4rem;
    }
    #menu .teltitbox .teltit{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_20);
    }
    #menu .teltxtArea{
        margin-top: 5px;
    }
    #menu .numberbox{
        padding-left:calc((var(--spFontSize20) * (16 / 20)) + 0.5rem);
    }
    #menu .numberbox::after{
        width: calc(var(--spFontSize20) * (16 / 20));
        height: calc(var(--spFontSize20) * (16 / 20));
        top: calc(50% - (var(--spFontSize20) * (13 / 20)) / 2);
    }
    #menu .numberbox .numbertxt{
        font-size: var(--spFontSize20);
        line-height: var(--spLineHeight20_30);
    }
    #menu .teltxtbox{
        margin-top: 5px;
    }
    #menu .teltxt{
        font-size: var(--spFontSize10);
        line-height: var(--spLineHeight10_15);
    }
    #menu .onContent{
        border-top: none;
        padding-top: 0;
        margin-top: 0;
    }
    #menu .snslist{
        justify-content: center;
    }
    #menu .secMenuUnder{
        margin-top: 3.4rem;
    }
    #menu .underlist{
        justify-content: center;
    }
    #menu .underItem{
        display: inline-block;
        position: relative;
        padding-right: 2rem;
        margin-right: 2rem;
        margin-top: 10px;
    }
    #menu .underItem:last-child{
        margin-right: 0;
    }
    #menu .underItem::before{
        content: "";
        position: absolute;
        width: 1px;
        height: 1.2rem;
        background-color: var(--footerTelBorderColor);
        right: 0;
        top: calc(50% - 0.6rem);
    }
    #menu .underItem:last-child::before{
        display: none;
    }
    #menu .underLink{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_20);
    }
    #menu .spLinkArea{
        width: 100%;
    }
    #menu .spLinklist{
        display: flex;
        flex-wrap: wrap;
    }
    #menu .spLinkItem{
        width: calc((100% - 0.5rem) / 2);
        margin-right: 0.5rem;
    }
    #menu .spLinkItem:nth-child(2n){
        margin-right: 0;
    }
    #menu .spLinkItem:nth-child(n + 3){
        margin-top: 0.5rem;
    }
    #menu .spitemLink{
        display: flex;
        align-items: center;
        width: 100%;
        height: 7rem;
        border-radius: 0.3rem;
        background-color: var(--menuColor);
    }
    #menu .spitemLink.type_reserve{
        background-color: var(--keyColor);
    }
    #menu .spitemLink.type_catalog{
        background-color: var(--catalogColor);
    }
    #menu .spitemLink .btnIn{
        display: inline-block;
        width: 100%;
        text-align: center;
        position: relative;
        padding-top: 2.1rem;
    }
    #menu .spitemLink .btnIn::after{
        content: "";
        position: absolute;
        top: 0;
        background: url(../img/common/tp.gif) center top no-repeat;
        background-size: 100% auto;
    }
    #menu .spitemLink.type_reserve .btnIn::after{
        width: 1.7rem;
        height: 1.9rem;
        left: calc(50% - 0.85rem);
        background-image: url(../img/common/imgfNaviIcon01.png);
    }
    #menu .spitemLink.type_catalog .btnIn::after{
        width: 2rem;
        height: 1.5rem;
        left: calc(50% - 1rem);
        top: calc(0% + 0.2rem);
        background-image: url(../img/common/imgfNaviIcon02.png);
    }
    #menu .spitemLink.type_estate .btnIn::after{
        width: 1.7rem;
        height: 1.7rem;
        left: calc(50% - 0.85rem);
        background-image: url(../img/common/imgfNaviIcon03.png);
    }
    #menu .spitemLink.type_event .btnIn::after{
        width: 1.6rem;
        height: 1.7rem;
        left: calc(50% - 0.8rem);
        background-image: url(../img/common/imgfNaviIcon04.png);
    }
    #menu .spitemLink .btntxtsp{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_20);
        font-weight: bold;
    }
}
@media only screen and (max-width:374px){
    #menu .item{
        width: calc(16.5rem + 1rem);
    }
    #menu .item:nth-child(2n + 1){
        width: calc(100% - (16.5rem + 1rem));
    }
    #menu .item:nth-child(1){
        width: 100%;
    }
    #menu .itemLink{
        font-size: var(--spFontSize12);
    }
}

/*-----------------------------------------------
	pnkz
-----------------------------------------------*/
#pnkz{
    width: 100%;
    font-size: 0;
    padding: 1rem 0 1rem;
    position: relative;
    background: var(--pnkzBgColor);
}
#pnkz .boxList{
    text-align: left;
    position: relative;
}
#pnkz li{
	display: inline;
	font-size: var(--pcFontSize12);
	line-height: var(--pcLineHeight12_20);
	color: var(--keyColor);
	font-weight: 600;
}
#pnkz li::after{
	content: ">";
	margin: 0 0.5rem;
	color: var(--textColor);
	vertical-align: calc(var(--pcFontSize12) * (1 / 12));
}
#pnkz li:last-child::after{
	display: none;
}
#pnkz a,
#pnkz .noActive{
    text-decoration: none;
    color: var(--textColor);
}
@media only screen and (max-width:1215px){
	#pnkz{
		padding: 0.7rem 0;
        border-bottom: 1px solid;
        border-color: var(--pnkzBgColor);
	}
	#pnkz .boxList{
		white-space: nowrap;
		overflow-y: scroll;
	}
    #pnkz li::after{
        margin: 0 0.3rem;
        vertical-align: calc(var(--spFontSize10) * (1 / 10));
    }
	#pnkz li{
		font-size: var(--spFontSize10);
        line-height: var(--spLineHeight10_20);
	}
}
/* cmnNewIcon */
.cmnNewIcon{
    position: relative;
    display: flex;
    align-items: center;
    width: 8rem;
    height: 4.4rem;
    background-color: var(--NewColor);
    color: var(--textColor);
    z-index: 10;
}
.cmnNewIcon .iconinner{
    display: inline-block;
    width: 100%;
    text-align: center;
}
.cmnNewIcon .Icontxt{
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_22);
    letter-spacing: var(--pcLetterSpacing14_50);
}
@media only screen and (max-width:1215px){
    .cmnNewIcon{
        width: 4.2rem;
        height: 2.2rem;
    }
    .cmnNewIcon .Icontxt{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_20);
    }
}
/* secNonetxtbox */
.secNonetxtbox{
    width: 100%;
    text-align: center;
    padding: 5rem 0;
}
.secNonetxtbox .nonetxt{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_24);
    letter-spacing: var(--pcLetterSpacing16_50);
}
@media only screen and (max-width:1215px){
    .secNonetxtbox{
        padding: 3rem 0;
    }
    .secNonetxtbox .nonetxt{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_20);
    }
}
/* secCmnHalfBnr */
.secCmnHalfBnr{
    width: 100%;
    margin-top:13rem;
}
.secCmnHalfBnr .inner{
    display: flex;
}
.secCmnHalfBnr .bnrBox{
    width: calc((100% - 4rem) / 2);
    margin-right: 4rem;
}
.secCmnHalfBnr .bnrBox:last-child{
    margin-right: 0;
}
.secCmnHalfBnr .bnrLink{
    display: block;
    width: 100%;
    border-radius: 1rem;
    overflow: hidden;
}
.secCmnHalfBnr .bnrImg{
    width: 100%;
}
@media only screen and (max-width:1215px){
    .secCmnHalfBnr{
        margin-top:6.5rem;
    }
    .secCmnHalfBnr .bnrBox{
        width: calc((100% - 1px) / 2);
        margin-right: 1px;
    }
    .secCmnHalfBnr .bnrBox:last-child{
        margin-right: 0;
    }
    .secCmnHalfBnr .bnrLink{
        border-radius: 0;
    }
}

/* secCmnBack */
.secCmnBack{
    width: 30rem;
    margin: 0 auto;
}
.secCmnBack .backLink{
    display: block;
    width: 100%;
    position: relative;
    padding-bottom: 1.9rem;
    padding-top: 1.9rem;
}
.secCmnBack .backLink::before,
.secCmnBack .backLink::after{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 1px;
    background-color: var(--textColor);
}
.secCmnBack .backLink::after{
    transform: scale(0, 1);
    transition: transform 0.8s;
    transform-origin: right top;
    background-color: var(--borderColorGray);
}
.secCmnBack .backInner{
    width: 100%;
    position: relative;
    text-align: center;
}
.secCmnBack .txtBack{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_32);
    font-weight: bold;
    letter-spacing: var(--pcLetterSpacing16_50);
}
.secCmnBack .backInner::before,
.secCmnBack .backInner::after{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    bottom: 0;
    left: 0;
    width: 1.6rem;
    height: 1px;
    background-color: var(--textColor);
    transition: .6s
}
.secCmnBack .backInner::before{
    width: 0.4rem;
    transform: translateY(-0.1rem) rotate(-32deg);
}
@media only screen and (min-width:1216px){
    .secCmnBack .backLink:hover::after{
        transform-origin: left top;
        transform: scale(1, 1)
    }
    .secCmnBack .backLink:hover .backInner::before{
        animation: fuwafuwa3 .6s linear 2;
    }
    .secCmnBack .backLink:hover .backInner::after{
        animation: fuwafuwa .6s linear 2;
    }
}
@media only screen and (max-width:1215px){
    .secCmnBack{
        width: 100%;
        max-width:18.5rem;
        margin: 0 auto;
        margin-top: 5.5rem;
    }
    .secCmnBack .backLink{
        padding-bottom: 1.2rem;
        padding-top: 0;
    }
    .secCmnBack .txtBack{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_20);
    }
    .secCmnBack .backInner::before,
    .secCmnBack .backInner::after{
        width: 1.2rem;
    }
    .secCmnBack .backInner::before{
        width: 0.4rem;
        transform: translateY(-0.1rem) rotate(-32deg);
    }
}



/* secDetailsPager */
.secDetailsPager{
    width: 100%;
    margin-top: 13rem;
}
.secDetailsPager .inner{
    border-top: 1px solid;
    border-color: var(--borderColorGray);
    padding-top: 9.6rem;
    position: relative;
}
.secDetailsPager .pagerList{
    display: flex;
}
.secDetailsPager .pagerItem{
    width: calc((100% - (30rem + 8rem)) / 2);
    max-width: 55rem;
}
.secDetailsPager .pagerItem:has(.pagerLink.type_next){
    margin-left: auto;
}
.secDetailsPager .pagerLink{
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    padding-bottom: 6.5rem;
}
.secDetailsPager .linkInner{
    width: 100%;
}
.secDetailsPager .subtitbox{
    width: 100%;
}
.secDetailsPager .subtit{
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_20);
    display: inline-block;
    position: relative;
    font-weight: 300;
}
.secDetailsPager .subtit::after{
    content: "";
    position: absolute;
    width: 6rem;
    height: 1px;
    background-color: var(--textColor);
    top: calc(50% - 0.5px);
}
.secDetailsPager .type_prev .subtitbox{
    text-align: left;
}
.secDetailsPager .type_prev .subtit{
    padding-right: calc(1.3rem + 6rem);
}
.secDetailsPager .type_prev .subtit::after{
    right: 0;
}
.secDetailsPager .type_next .subtitbox{
    text-align: right;
}
.secDetailsPager .type_next .subtit{
    padding-left: calc(1.3rem + 6rem);
}
.secDetailsPager .type_next .subtit::after{
    left: 0;
}
.secDetailsPager .imgArea{
    width: 100%;
    position: relative;
    margin-top: 2rem;
}
.secDetailsPager .cmnNewIcon{
    position: absolute;
    left: 0;
    top: 0;
}
.secDetailsPager .imgBox{
    width: 100%;
    height: 0;
    padding-top: calc(367 / 550 * 100%);
    position: relative;
    overflow: hidden;
}
.secDetailsPager .txtArea{
    width: 100%;
    text-align: left;
    margin-top: 2.5rem;
}
.secDetailsPager .tit{
    font-size: var(--pcFontSize22);
    line-height: var(--pcLineHeight22_30);
    font-weight: bold;
}
.secDetailsPager .name{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_24);
}
.secDetailsPager .tit + .name{
    margin-top: 1.3rem;
}
.secDetailsPager .tagArea{
    width: 100%;
    margin-top: 1.5rem;
}
.secDetailsPager .taglist{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
.secDetailsPager .tags{
    display: inline-block;
    margin-right: 0.5rem;
    margin-top: 0.5rem;
    padding: 0.5rem 0.8rem;
    max-width: calc(100% - 0.5rem);
    background-color: var(--pnkzBgColor);
    color: var(--textColor_50);
}
.secDetailsPager .tagIn{
    display: inline-block;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}
.secDetailsPager .tagtxt{
    font-size: var(--pcFontSize13);
    line-height: var(--pcLineHeight13_20);
    font-weight: bold;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.secDetailsPager .boxCmnMore{
    padding-bottom: 1rem;
    position: absolute;
    bottom: 0;
    right: 0;
}
@media only screen and (min-width:1216px){
    .secDetailsPager .name,
    .secDetailsPager .tit{
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .secDetailsPager .pagerList:has(.pagerLink) + .secCmnBack{
        position: absolute;
        left: calc(50% - 15rem);
        top: calc((8rem + (var(--pcFontSize14) * var(--pcLineHeight14_20)) + 2rem) + (36.7rem / 2) - (((var(--pcFontSize16) * var(--pcLineHeight16_32)) + 1.9rem + 1.9rem) / 2));
    }
    @media only screen and (max-width:1620px){
        .secDetailsPager .pagerList:has(.pagerLink) + .secCmnBack{
            top: calc((8rem + (var(--pcFontSize14) * var(--pcLineHeight14_20)) + 2rem) + ((367 / 1920 * 100vw) / 2) - (((var(--pcFontSize16) * var(--pcLineHeight16_32)) + 1.9rem + 1.9rem) / 2));
        }
    }

}
@media only screen and (max-width:1215px){
    .secDetailsPager{
        margin-top: 5rem;
    }
    .secDetailsPager .inner{
        padding-top: 3.4rem;
    }
    .secDetailsPager .pagerItem{
        width: calc((100% - 1px) / 2);
        max-width: 100%;
    }
    .secDetailsPager .pagerItem:has(.pagerLink.type_next){
        margin-left: auto;
    }
    .secDetailsPager .pagerLink{
        padding-bottom: 3.8rem;
    }
    .secDetailsPager .subtitbox{
        padding: 0 2rem;
    }
    .secDetailsPager .subtit{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_20);
    }
    .secDetailsPager .subtit::after{
        width: 4rem;
    }
    .secDetailsPager .type_prev .subtit{
        padding-right: calc(1rem + 4rem);
    }
    .secDetailsPager .type_next .subtit{
        padding-left: calc(1rem + 4rem);
    }
    .secDetailsPager .imgArea{
        margin-top:10px;
    }
    .secDetailsPager .txtArea{
        margin-top: 1.1rem;
        padding: 0 2rem;
    }
    .secDetailsPager .tit{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_20);
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        max-height: calc((var(--spFontSize14) * var(--spLineHeight14_20)) * 2);
    }
    .secDetailsPager .name{
        font-size: var(--spFontSize11);
        line-height: var(--spLineHeight11_20);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .secDetailsPager .tit + .name{
        margin-top: 0.3rem;
    }
    .secDetailsPager .tagArea{
        margin-top: 0.6rem;
    }
    .secDetailsPager .tags{
        margin-right: 0.2rem;
        margin-top: 0.2rem;
        padding: 0.3rem 0.3rem;
        max-width: calc(100% - 0.2rem);
        min-height: calc(var(--spFontSize10) * var(--spLineHeight10_16) + 0.3rem + 0.3rem);
    }
    .secDetailsPager .tagtxt{
        font-size: var(--spFontSize10);
        line-height: var(--spLineHeight10_16);
    }
    .secDetailsPager .boxCmnMore{
        padding-bottom: 0.5rem;
        width: calc(100% - 4rem);
        right: 2rem;
    }
}

/*-----------------------------------------------
    secCmnBtnTel(電話でのお問い合わせはこちら)
-----------------------------------------------*/
.secCmnBtnTel{
    margin-top: 6rem;
}
.secCmnBtnTel .btnTel{
    width: 55rem;
    margin: 0 auto;
    padding: 5.8rem 3rem 5.5rem;
    border-radius: 1rem;
    border: 0.1rem solid var(--textColor);
    background: var(--ColorWhite);
    color: var(--textColor);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.secCmnBtnTel .btnTel .inner{
    font-size: var(--pcFontSize20);
    letter-spacing: var(--pcLetterSpacing20_50);
    font-weight: bold;
}
.secCmnBtnTel .btnTel .txtShop{
    min-width: 32.5rem;
    max-width: 50rem;
    padding: 1.2rem 2rem 1.4rem;
    border-radius: 0.3rem;
    background: var(--grayColor_f0);
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_24);
    letter-spacing: var(--pcLetterSpacing16_50);
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2.5rem;
}
.secCmnBtnTel .btnTel .boxFlex{
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 1.7rem;
}
.secCmnBtnTel .btnTel .txt{
    font-size: var(--pcFontSize40);
    letter-spacing: var(--pcLetterSpacing40_50);
    color: var(--textColor);
    font-weight: bold;
    position: relative;
    padding-left: 4.3rem;
}
.secCmnBtnTel .btnTel .txt::after{
    content: '';
    width: 3rem;
    height: 3rem;
    position: absolute;
    top: calc(50% + 0.2rem);
    left: 0;
    transform: translateY(-50%);
}
.secCmnBtnTel .btnTel .txt.lazyloaded::after{
    background: url(../img/common/iconTelBlack.png) center top / cover;
}
.secCmnBtnTel .btnTel .txtTime{
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_20);
    letter-spacing: var(--pcLetterSpacing14_50);
    max-width: 50rem;
    margin-top: 1.3rem;
}
@media only screen and (max-width:1215px){
    .secCmnBtnTel{
        margin-top: 3rem;
    }
    .secCmnBtnTel .btnTel{
        width: 100%;
        padding: 3rem 1rem 2.9rem;
        border-radius: 0.5rem;
    }
    .secCmnBtnTel .btnTel .inner{
        font-size: var(--spFontSize14);
        letter-spacing: var(--spLetterSpacing14_50);
    }
    .secCmnBtnTel .btnTel .txtShop{
        min-width: 16.5rem;
        max-width: 100%;
        padding: 1rem 1rem;
        border-radius: 0.3rem;
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_20);
        letter-spacing: var(--spLetterSpacing0);
        margin-top: 1.5rem;
    }
    .secCmnBtnTel .btnTel .boxFlex{
        flex-direction: column;
        margin-top: 1rem;
    }
    .secCmnBtnTel .btnTel .txt{
        font-size: var(--spFontSize28);
        letter-spacing: var(--spLetterSpacing0);
        padding-left: 3rem;
    }
    .secCmnBtnTel .btnTel .txt::after{
        width: 2.2rem;
        height: 2.2rem;
        top: calc(50% + 0.2rem);
    }
    .secCmnBtnTel .btnTel .txtTime{
        font-size: var(--spFontSize10);
        line-height: var(--spLineHeight10_15);
        letter-spacing: var(--spLetterSpacing0);
        margin-top: 0.7rem;
    }
}