@charset "utf-8";
@font-face {
    font-family: "Zen Kaku Gothic New";
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/Zen_Kaku_Gothic_New/ZenKakuGothicNew-Regular.woff2) format('woff2'),
        url(../fonts/Zen_Kaku_Gothic_New/ZenKakuGothicNew-Regular.woff) format('woff'),
        url(../fonts/Zen_Kaku_Gothic_New/ZenKakuGothicNew-Regular.ttf) format('opentype');
}
@font-face {
    font-family: "Zen Kaku Gothic New";
    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.ttf) 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;

    --footerCtaPc: 20rem;
    --footerCtaSp: 8rem;

    --footerEstatePc: 20rem;
    --footerEstateSp: 10rem;

    --mainContentPc: 48rem;
    --mainContentSp: 20.5rem;

    --pcBorder_radius: 1rem;
    --spBorder_radius: 0.5rem;

    /* 色 */
    --textColor: #1c1c1c;

    --blackColor: #1c1c1c;
    --whiteColor: #fff;

    --black_000_Color: #000;
    --black_000_10_Color: rgba(0, 0, 0, 0.1);
    --black_000_20_Color: rgba(0, 0, 0, 0.2);
    --black_000_30_Color: rgba(0, 0, 0, 0.3);
    --black_000_40_Color: rgba(0, 0, 0, 0.4);
    --black_000_60_Color: rgba(0, 0, 0, 0.6);
    --black_000_80_Color: rgba(0, 0, 0, 0.8);
    --gray_f0f_Color: #f0f0f0;
    --gray_bab_Color: #bababa;
    --gray_cbc_Color: #cbcbcb;
    --gray_f5f_Color: #f5f5f5;
    --gray_F5F_Color: #f5f5f5;
    --gray_f7f_Color: #f7f7f7;
    --gray_b8b_Color: #b8b8b8;
    --gray_b2b_Color: #b2b2b2;
    --gray_818_Color: #818181;
    --gray_282_Color: #282828;
    --gray_7b7_Color: #7b7b7b;
    --gray_999_Color: #999;
    --gray_f2f_Color: #f2f2f2;
    --gray_515_Color: #515151;
    --gray_565_Color: #565656;
    --gray_7a7_Color: #7a7a7a;
    --gray_d3d_Color: #d3d3d3;
    --gray_959_Color: #959595;
    --gray_303_Color: #303030;
    --gray_383_Color: #383838;
    --gray_ddd_Color: #ddd;
    --gray_d4d_Color: #d4d6de;
    --gray_f3f_Color: #f3f3f3;
    --gray_d0d_Color: #d0d0d0;
    --gray_a3a_Color: #a3a3a3;
    --gray_dfd_Color: #dfdfdf;
    --gray_2f2_Color: #2f2f2f;
    --gray_272_Color: #272727;
    --gray_1f1_Color: #1f1f1f;
    --gray_4f4_Color: #4f4f4f;
    --gray_6e6_Color: #6e6e6e;
    --gray_5a5_Color: #5a5a5a;
    --gray_1f2_Color: #1f2126;
    --gray_d8d_Color: #d8d8d8;
    --gray_454_Color: #454545;
    --gray_484_Color: #484848;
    --gray_696_Color: #696969;
    --gray_0d0_Color: #0d0d0d;
    --gray_aba_Color: #ababab;
    --gray_8e8_Color: #8e8e8e;
    --gray_c5c_Color: #c5c5c5;
    --gray_f3f_Color: #f3f2f1;
    --gray_c0c_Color: #c0c0c0;

    --keyColor: #018cd4;
    --linkColor: #4070ff;
    --newColor: #fff000;
    --rankColor: #fff000;
    --link_txtColor: #fff000;
    --loginColor: #fff;
    --memberColor: #e74c3c;
    --memberColor2: #ffe400;
    --memberColor3: #fac500;
    --reserveColor: #fac500;
    --reserveColor2: #e74c3c;
    --reserveColor3: #fffc00;
    --reserveBgColor: #b49577;

    --btn_naviColor: #ababab;

    --radioColor: #0066ff;

    --footer_bg_Color: #2f2f2f;
    --footer_border_Color: #444;
    --footer_txt_Color: #bababa;
    --footer_must_Color: #fa5341;
    --footer_opt_Color: #b9b9b9;

    --estate_bg_Color: #1c1c1c;
    --event_bg_Color: #01b2a0;
    --tel_bg_Color: #ffffff;
    --tel_border_Color: #1c1c1c;

    --select_bg_Color: #383838;
    --tab_active_Color: #303030;

    --isActive_bg_Color: #01b2a0;
    --isEntry_bg_Color: #e74c3c;
    --isEnd_bg_Color: #e8e8e8;
    --isArea_bg_Color: #f2f2f2;
    --isBuilding_bg_Color: #303030;
    --isLand_color: #01b2a0;
    --isBuilt_color: #0099ff;
    --isCustom_color: #e74c3c;
    --isLandOnly_color: #E4B31B;

    --form_bg_color: #f2f2f3;
    --form_btn_color: #303030;
    --campaign_bg_Color: #fefff3;
    --campaign_txt_bg_Color: #ffe400;
    --campaign_txt_Color: #01b2a0;
    --campaign_tit_bg_Color: #01b2a0;
    --formCta_btn_color: #01b2a0;

    --formSelect_active_color: #01b2a0;

    --questionnaire_bg_color: #928572;

    /* フォントサイズ（PC） */
    --pcFontSize10: 1rem;
    --pcFontSize11: 1.1rem;
    --pcFontSize12: 1.2rem;
    --pcFontSize13: 1.3rem;
    --pcFontSize14: 1.4rem;
    --pcFontSize15: 1.5rem;
    --pcFontSize16: 1.6rem;
    --pcFontSize18: 1.8rem;
    --pcFontSize19: 1.9rem;
    --pcFontSize20: 2rem;
    --pcFontSize22: 2.2rem;
    --pcFontSize24: 2.4rem;
    --pcFontSize26: 2.6rem;
    --pcFontSize28: 2.8rem;
    --pcFontSize30: 3rem;
    --pcFontSize32: 3.2rem;
    --pcFontSize34: 3.4rem;
    --pcFontSize36: 3.6rem;
    --pcFontSize40: 4rem;
    --pcFontSize42: 4.2rem;
    --pcFontSize50: 5rem;
    --pcFontSize55: 5.5rem;
    --pcFontSize60: 6rem;
    --pcFontSize70: 7rem;
    --pcFontSize74: 7.4rem;
    --pcFontSize80: 8rem;
    --pcFontSize90: 9rem;
    --pcFontSize100: 10rem;
    --pcFontSize150: 15rem;
    --pcFontSize180: 18rem;

    /* line-height（PC） */
    --pcLineHeight10_15: calc(15 / 10);
    --pcLineHeight11_11: calc(11 / 11);
    --pcLineHeight12_15: calc(15 / 12);
    --pcLineHeight12_18: calc(18 / 12);
    --pcLineHeight12_20: calc(20 / 12);
    --pcLineHeight12_22: calc(22 / 12);
    --pcLineHeight13_22: calc(22 / 13);
    --pcLineHeight13_24: calc(24 / 13);
    --pcLineHeight13_26: calc(26 / 13);
    --pcLineHeight14_21: calc(21 / 14);
    --pcLineHeight14_22: calc(22 / 14);
    --pcLineHeight14_25: calc(25 / 14);
    --pcLineHeight14_28: calc(28 / 14);
    --pcLineHeight14_30: calc(30 / 14);
    --pcLineHeight16_24: calc(24 / 16);
    --pcLineHeight16_28: calc(28 / 16);
    --pcLineHeight16_34: calc(34 / 16);
    --pcLineHeight16_36: calc(36 / 16);
    --pcLineHeight16_50: calc(50 / 16);
    --pcLineHeight18_27: calc(27 / 18);
    --pcLineHeight18_40: calc(40 / 18);
    --pcLineHeight20_26: calc(26 / 20);
    --pcLineHeight20_30: calc(30 / 20);
    --pcLineHeight20_36: calc(36 / 20);
    --pcLineHeight20_40: calc(40 / 20);
    --pcLineHeight22_33: calc(33 / 22);
    --pcLineHeight24_20: calc(20 / 24);
    --pcLineHeight24_36: calc(36 / 24);
    --pcLineHeight24_46: calc(46 / 24);
    --pcLineHeight26_50: calc(50 / 26);
    --pcLineHeight28_34: calc(34 / 28);
    --pcLineHeight28_42: calc(42 / 28);
    --pcLineHeight30_40: calc(40 / 30);
    --pcLineHeight30_45: calc(45 / 30);
    --pcLineHeight32_48: calc(48 / 30);
    --pcLineHeight36_67: calc(67 / 36);
    --pcLineHeight36_80: calc(80 / 36);
    --pcLineHeight40_36: calc(36 / 40);
    --pcLineHeight40_50: calc(50 / 40);
    --pcLineHeight40_56: calc(56 / 40);
    --pcLineHeight40_60: calc(60 / 40);
    --pcLineHeight40_66: calc(66 / 40);
    --pcLineHeight40_70: calc(70 / 40);
    --pcLineHeight50_75: calc(75 / 50);
    --pcLineHeight90_100: calc(100 / 90);
    --pcLineHeight180_160: calc(160 / 180);

    /* letter-spacing（PC） */
    --pcLetterSpacing10_80: 0.08em;
    --pcLetterSpacing12_40: 0.04em;
    --pcLetterSpacing13_40: 0.04em;
    --pcLetterSpacing13_80: 0.08em;
    --pcLetterSpacing14_40: 0.04em;
    --pcLetterSpacing14_80: 0.08em;
    --pcLetterSpacing16_40: 0.04em;
    --pcLetterSpacing16_80: 0.08em;
    --pcLetterSpacing18_40: 0.04em;
    --pcLetterSpacing16_80: 0.08em;
    --pcLetterSpacing18_40: 0.04em;
    --pcLetterSpacing19_40: 0.04em;
    --pcLetterSpacing20_40: 0.04em;
    --pcLetterSpacing20_80: 0.08em;
    --pcLetterSpacing22_40: 0.04em;
    --pcLetterSpacing24_40: 0.04em;
    --pcLetterSpacing26_100: 0.1em;
    --pcLetterSpacing28_40: 0.04em;
    --pcLetterSpacing28_100: 0.1em;
    --pcLetterSpacing30_40: 0.04em;
    --pcLetterSpacing30_60: 0.06em;
    --pcLetterSpacing32_50: 0.05em;
    --pcLetterSpacing34_50: 0.05em;
    --pcLetterSpacing36_40: 0.04em;
    --pcLetterSpacing40_0: 0;
    --pcLetterSpacing40_40: 0.04em;
    --pcLetterSpacing50_40: 0.04em;
    --pcLetterSpacing50_80: 0.08em;
    --pcLetterSpacing55_40: 0.04em;
    --pcLetterSpacing60_40: 0.04em;
    --pcLetterSpacing70_40: 0.04em;
    --pcLetterSpacing80_40: 0.04em;
    --pcLetterSpacing90_20: 0.02em;
    --pcLetterSpacing180_20: 0.02em;

    /* フォントサイズ（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));
    --spFontSize25: calc((25 / 375) * var(--widthBase));
    --spFontSize26: calc((26 / 375) * var(--widthBase));
    --spFontSize30: calc((30 / 375) * var(--widthBase));
    --spFontSize32: calc((32 / 375) * var(--widthBase));
    --spFontSize35: calc((35 / 375) * var(--widthBase));
    --spFontSize40: calc((40 / 375) * var(--widthBase));
    --spFontSize50: calc((50 / 375) * var(--widthBase));
    --spFontSize60: calc((60 / 375) * var(--widthBase));

    /* line-height（SP） */
    --spLineHeight10_15: calc(15 / 10);
    --spLineHeight10_17: calc(17 / 10);
    --spLineHeight10_20: calc(20 / 10);
    --spLineHeight10_26: calc(26 / 10);
    --spLineHeight11_17: calc(17 / 11);
    --spLineHeight11_20: calc(20 / 11);
    --spLineHeight12_18: calc(18 / 12);
    --spLineHeight12_20: calc(20 / 12);
    --spLineHeight12_22: calc(22 / 12);
    --spLineHeight12_24: calc(24 / 12);
    --spLineHeight12_30: calc(30 / 12);
    --spLineHeight13_20: calc(20 / 13);
    --spLineHeight13_23: calc(23 / 13);
    --spLineHeight14_16: calc(16 / 14);
    --spLineHeight14_21: calc(21 / 14);
    --spLineHeight14_26: calc(26 / 14);
    --spLineHeight15_23: calc(23 / 15);
    --spLineHeight16_14: calc(14 / 16);
    --spLineHeight16_22: calc(22 / 16);
    --spLineHeight16_24: calc(24 / 16);
    --spLineHeight16_26: calc(26 / 16);
    --spLineHeight16_36: calc(36 / 16);
    --spLineHeight17_25: calc(25 / 17);
    --spLineHeight18_28: calc(28 / 18);
    --spLineHeight18_30: calc(30 / 18);
    --spLineHeight18_34: calc(34 / 18);
    --spLineHeight20_30: calc(30 / 20);
    --spLineHeight22_33: calc(33 / 22);
    --spLineHeight30_34: calc(34 / 30);
    --spLineHeight30_40: calc(40 / 30);
    --spLineHeight40_42: calc(42 / 40);
    --spLineHeight60_60: calc(60 / 60);

    /* letter-spacing（SP） */
    --spLetterSpacing10_0: 0;
    --spLetterSpacing10_30: 0.03em;
    --spLetterSpacing11_0: 0;
    --spLetterSpacing12_0: 0;
    --spLetterSpacing12_40: 0.04em;
    --spLetterSpacing13_0: 0;
    --spLetterSpacing14_0: 0;
    --spLetterSpacing15_0: 0;
    --spLetterSpacing16_0: 0;
    --spLetterSpacing17_0: 0;
    --spLetterSpacing18_0: 0;
    --spLetterSpacing18_40: 0.04em;
    --spLetterSpacing18_80: 0.08em;
    --spLetterSpacing19_20: 0.02em;
    --spLetterSpacing20_0: 0;
    --spLetterSpacing22_0: 0;
    --spLetterSpacing24_0: 0;
    --spLetterSpacing25_0: 0;
    --spLetterSpacing25_40: 0.04em;
    --spLetterSpacing26_0: 0;
    --spLetterSpacing26_60: 0.06em;
    --spLetterSpacing30_0: 0;
    --spLetterSpacing30_80: 0.08em;
    --spLetterSpacing32_40: 0.04em;
    --spLetterSpacing35_0: 0;
    --spLetterSpacing40_40: 0.04em;
    --spLetterSpacing60_0: 0;
}

/*==============================
    基本設定
==============================*/
body{
    color:var(--textColor);
    font-size:var(--pcFontSize12);
    font-family:'YakuHanJP_Narrow','Zen Kaku Gothic New','游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', 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:1180px;
    overflow-y: scroll;
}
@media only screen and (max-width:1215px){
    body{
        min-width:0;
        font-weight: bold!important;
    }
}

body *, body *::before, body *::after{box-sizing:border-box;}
img{vertical-align:bottom;}
h1,h2,h3,h4,h5,h6{font-weight:normal;}
@media only screen and (max-width:1215px){
    h1,h2,h3,h4,h5,h6{font-weight:bold;}
}
th{
    font-weight:normal;
    text-align:left;
}

/*font layout*/
.fBold{font-weight:bold;}
.fJosefin{font-family:"Josefin Sans", sans-serif;}
.fOswald{font-family: "Oswald", sans-serif;}

.fMember{color: var(--memberColor);}

.fGray_bab{color: var(--gray_bab_Color);}

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

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

/* jsHideImg */
.jsHideImg,
.ro a.jsHideImg{
    filter: blur(2rem) brightness(4);
    transform: translateY(5rem);
    opacity: 0;
    transition: transform 1.6s cubic-bezier(0.19, 1, 0.22, 1),filter 1s cubic-bezier(0.19, 1, 0.22, 1),opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1);
    transform-origin: center top;
}
.jsHideImg.jsShow,
.ro a.jsHideImg.jsShow{
    filter: blur(0) brightness(1);
    transform: translateY(0);
    opacity: 1;
}

/* jsHideFade */
.jsHideFade{
    display: block;
    opacity: 0;
    transition: 1.05s all cubic-bezier(.275,0,0,1);
    transform: translateY(1.1em);
}
.jsHideFade.jsShow{
    transform: translateY(0);
    opacity: 1;
}

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

/*-----------------------------------------------
    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
-----------------------------------------------*/
.wrapper1720{
    max-width: calc(100% - 5rem);
    width: 172rem;
	margin:0 auto;
}
.wrapper1680{
    max-width: calc(100% - 5rem);
    width: 168rem;
	margin:0 auto;
}
.wrapper1630{
    max-width: calc(100% - 5rem);
    width: 163rem;
	margin:0 auto;
}
.wrapper1500{
    max-width: calc(100% - 5rem);
    width: 150rem;
	margin:0 auto;
}
.wrapper1460{
    max-width: calc(100% - 5rem);
    width: 146rem;
	margin:0 auto;
}
.wrapper1360{
    max-width: calc(100% - 5rem);
    width: 136rem;
	margin:0 auto;
}
.wrapper1340{
    max-width: calc(100% - 5rem);
    width: 134rem;
	margin:0 auto;
}
.wrapper1240{
    max-width: calc(100% - 5rem);
    width: 124rem;
	margin:0 auto;
}
.wrapper1200{
    max-width: calc(100% - 8rem);
    width: 120rem;
	margin:0 auto;
}
.wrapper1000{
    max-width: calc(100% - 4rem);
    width: 100rem;
	margin:0 auto;
}
.wrapper900{
    width: 90rem;
	margin:0 auto;
}
.wrapper800{
    width: 80rem;
	margin:0 auto;
}
@media only screen and (max-width:1215px){
    .wrapper1720,
    .wrapper1680,
    .wrapper1630,
    .wrapper1500,
    .wrapper1460,
    .wrapper1360,
    .wrapper1340,
    .wrapper1240,
    .wrapper1200,
    .wrapper1000,
    .wrapper900,
    .wrapper800{
        max-width:none;
		width:100%;
	}
	.wrapperSp,
	.wrapperSp355,
    .wrapperSp335,
	.wrapperSp315,
	.wrapperSp305{
        max-width: 40rem;
        margin: 0 auto;
	}
	.wrapperSp{
		width: 92%;
	}
	.wrapperSp355{
        width: 94.67%;
	}
    .wrapperSp335{
        width: 89.334%;
    }
	.wrapperSp315{
        width: 84%;
	}
	.wrapperSp305{
        width: 81.336%;
	}
}

.img_border img,img.img_border{
    border-radius: var(--pcBorder_radius);
}
@media only screen and (max-width:1215px){
    .img_border img,img.img_border{
        border-radius: var(--spBorder_radius);
    }
}

/*-----------------------------------------------
    header
-----------------------------------------------*/
#header{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding: 3rem 18rem 0 5rem;
    z-index: 99;
}
/* wrapper */
#header .wrapper{
    display: flex;
    justify-content: space-between;
    color: var(--whiteColor);
}
/* boxLogo */
#header .boxLogo{
    display: flex;
    align-items: center;
}
#header .boxLogo .txt{
    font-size: var(--pcFontSize12);
    letter-spacing: var(--pcLetterSpacing12_40);
    margin-left: 2rem;
}
/* boxNav */
#header .boxNav .listNav{
    display: flex;
    align-items: center;
    gap: 1rem;
}
#header .boxNav .itemNav{
    width: 20rem;
}
#header .boxNav .link{
    width: 100%;
    height: 5rem;
    display: flex;
    justify-content: center;
    align-items: center;
}
#header .boxNav .link.link_estate{
    background-color: var(--estate_bg_Color);
}
#header .boxNav .link.link_event{
    background-color: var(--event_bg_Color);
}
#header .boxNav .link .txt{
    position: relative;
    display: inline-block;
    padding-left: 2.2rem;
    font-size: var(--pcFontSize13);
}
#header .boxNav .link .txt::before{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    bottom: 0;
    left: 0;
    width: 1.4rem;
    height: 1.4rem;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
}
#header .boxNav .link_estate .txt::before{
    background-image: url(../img/common/iconHeaderEstate.png);
}
#header .boxNav .link_event .txt::before{
    background-image: url(../img/common/iconHeaderEvent.png);
}
@media only screen and (max-width:1215px){
    #header{
        padding: 1rem 2rem 0;
        height: 6.1rem;
    }
    #header::before{
        position: absolute;
        content: '';
        margin: auto;
        display: block;
        top: 0;
        left: 0;
        width: 100%;
        height: 7rem;
        background-image: -moz-linear-gradient( 90deg, rgba(28,28,28,0) 0%, rgb(28,28,28) 100%);
        background-image: -webkit-linear-gradient( 90deg, rgba(28,28,28,0) 0%, rgb(28,28,28) 100%);
        background-image: -ms-linear-gradient( 90deg, rgba(28,28,28,0) 0%, rgb(28,28,28) 100%);
        opacity: 0.3;
        z-index: 0;
    }
    #header .wrapper{
        height: 100%;
    }
    #header .boxLogo .logo{
        position: relative;
        width: 10rem;
    }
    #header .boxNav,
    #header .boxLogo .txt{
        display: none;
    }
}

/*-----------------------------------------------
    header
-----------------------------------------------*/
#btnNavi{
    position: fixed;
    top: 3rem;
    right: 3rem;
    width: 12rem;
    height: 12rem;
    border-radius: 100%;
    background-color: var(--btn_naviColor);
    overflow: hidden;
    z-index: 9999;
    transition: all 0.4s ease-out;
}
#btnNavi .txt{
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    padding-bottom: 3.5rem;
    font-size: var(--pcFontSize13);
    letter-spacing: var(--pcLetterSpacing13_80);
}
#btnNavi:not(.naviOpen) .txt .open,
#btnNavi.naviOpen .txt .close{
    display: none;
}
#btnNavi.naviOpen .txt .open{
    display: inline;
}
#btnNavi .border{
    position: absolute;
    top: 3.4rem;
    left: 0;
    right: 0;
    margin: auto;
    width: 1.6rem;
    height: 2.3rem;
    border-bottom: 1px solid var(--blackColor);
    transition: all 0.4s ease-out;
    z-index: 1;
}
#btnNavi .border::after,
#btnNavi .border::before{
    position: absolute;
    content: '';
    top: 1px;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    height: 1px;
    background-color: var(--blackColor);
    transition: all 0.4s ease-out;
    z-index: 1;
}
#btnNavi .border::before{
    bottom: 0;
    left: -0.5rem;
    right: -0.5rem;
    width: calc(100% + 1rem );
}
#btnNavi:not(.naviOpen):hover .border {
    transform: scaleX(1.3);
}
#btnNavi.naviOpen{
    background-color: var(--whiteColor);
}
#btnNavi.naviOpen .border{
    width: 3rem;
    border-bottom: none;
}
#btnNavi.naviOpen .border::before,
#btnNavi.naviOpen .border::after{
    bottom: auto;
    right: 0;
    left: auto;
    width: 100%;
}
#btnNavi.naviOpen .border::after{
    transform: translateY(1rem) rotate(45deg);
}
#btnNavi.naviOpen .border::before{
    transform: translateY(1rem) rotate(-45deg);
}
@media only screen and (max-width:1215px){
    #btnNavi{
        top: 1rem;
        right: 1rem;
        width: 5.1rem;
        height: 5.1rem;
        transition: all 0.4s ease-out;
    }
    #btnNavi.is-hidden{
        right: -6rem;
    }
    #btnNavi .txt{
        display: none;
    }
    #btnNavi .border{
        top: 0;
        bottom: 0;
        width: 1.1rem;
        height: 1.3rem;
    }
    #btnNavi .border::before,
    #btnNavi .border::after {
        top: 0;
    }
    #btnNavi .border::before{
        width: calc(100% + 1rem );
    }
    #btnNavi.naviOpen .border{
        width: 2rem;
    }
    #btnNavi.naviOpen .border::before {
        transform: translateY(0.5rem) rotate(-45deg);
    }
    #btnNavi.naviOpen .border::after {
        transform: translateY(0.5rem) rotate(45deg);
    }
}

/*-----------------------------------------------
    menu
-----------------------------------------------*/
#menu{
    display: none;
    position: relative;
    z-index: 9998;
    min-height: 100vh;
    width: 100%;
    background-color: var(--black_000_Color);
}
#menu .wrapper{
    position: relative;
}
/* boxLogo */
#menu .boxLogo{
    position: absolute;
    top: 4.4rem;
    left: 5rem;
}
/* boxTopLink */
#menu .wrapper .boxTopLink{
    padding-top: 16.5rem;
}
/* topLinkList */
#menu .wrapper .topLinkList{
    display: flex;
    gap: 2rem;
}
#menu .topLinkList .item{
    width: calc((100% - 3.999rem) / 3);
}
#menu .topLinkList .link{
    width: 100%;
    height: 13rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: var(--gray_454_Color);
    color: var(--whiteColor);
    padding: 0 4rem;
}
#menu .topLinkList .txtEng{
    font-size: var(--pcFontSize34);
    letter-spacing: var(--pcLetterSpacing34_50);
    font-weight: 300;
    margin: 1rem 0 0 -0.5rem;
}
#menu .topLinkList .txtJp{
    font-size: var(--pcFontSize16);
}
/* boxLink */
#menu .wrapper .boxLink{
    display: flex;
    padding: 8rem 2.5rem 0;
    gap: 6rem;
}
/* linkList */
#menu .wrapper .linkList{
    display: flex;
    flex-direction: column;
    gap: 5.5rem;
}
#menu .linkList .link{
    display: flex;
    flex-direction: column;
    color: var(--whiteColor);
}
#menu .linkList .txtEng{
    font-size: var(--pcFontSize32);
    letter-spacing: var(--pcLetterSpacing32_50);
    font-weight: 300;
}
#menu .js-menu-item .txtEng{
    text-transform: uppercase;
}
#menu .menu-item__text > span {
    display: inline-block;
}
#menu .linkList .txtJp{
    font-size: var(--pcFontSize14);
    margin-top: 1rem;
}
/* boxLinkInfo */
#menu .wrapper .boxLinkInfo{
    position: absolute;
    bottom: 0;
    right: 2.5rem;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-end;
}
/* linkFormList */
#menu .wrapper .linkFormList{
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 30rem;
}
#menu .linkFormList .item{
    width: 100%;
}
#menu .linkFormList .link{
    width: 100%;
    height: 7rem;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--whiteColor);
    border: 1px solid var(--gray_484_Color);
}
#menu .linkFormList .txtJp{
    font-size: var(--pcFontSize14);
    letter-spacing: var(--pcLetterSpacing14_40);
}
/* linkInfoList */
#menu .wrapper .linkInfoList{
    display: flex;
    gap: 1.8rem;
    margin-top: 5rem;
}
#menu .linkInfoList .item:not(:last-child){
    position: relative;
    padding-right: 1.8rem;
}
#menu .linkInfoList .item:not(:last-child):after{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    bottom: 0;
    right: 0;
    width: 1px;
    height: calc(100% - 0.5rem);
    background-color: var(--gray_696_Color);
}
#menu .linkInfoList .link{
    color: var(--whiteColor);
}
#menu .linkInfoList .txtJp{
    font-size: var(--pcFontSize14);
}
@media only screen and (max-width:1215px){
    #menu .boxLogo{
        top: 2rem;
        left: 2rem;
        width: 10rem;
        height: auto;
    }
    /* boxTopLink */
    #menu .wrapper .boxTopLink{
        padding-top: 10.5rem;
    }
    /* topLinkList */
    #menu .wrapper .topLinkList{
        flex-wrap: wrap;
        gap: 1rem;
    }
    #menu .topLinkList .item{
        width: 100%;
    }
    #menu .topLinkList .link{
        height: 6.5rem;
        padding: 0 2rem;
    }
    #menu .topLinkList .txtEng{
        font-size: var(--spFontSize14);
        letter-spacing: var(--spLetterSpacing14_0);
        margin: 0.5rem 0 0;
    }
    #menu .topLinkList .txtJp{
        font-size: var(--spFontSize11);
    }
    /* boxLink */
    #menu .wrapper .boxLink{
        flex-wrap: wrap;
        padding: 4rem 0 6rem;
        gap: 3.5rem;
        width: 100%;
    }
    /* linkList */
    #menu .wrapper .linkList{
        width: 100%;
        gap: 3.5rem;
    }
    #menu .linkList .txtEng{
        font-size: var(--spFontSize18);
        letter-spacing: var(--spLetterSpacing18_40);
        font-weight: normal;
    }
    #menu .linkList .txtJp{
        font-size: var(--spFontSize11);
        margin-top: 0.5rem;
    }
    /* boxLinkInfo */
    #menu .wrapper .boxLinkInfo{
        position: static;
        align-items: flex-start;
        width: 100%;
    }
    /* linkFormList */
    #menu .wrapper .linkFormList{
        width: 100%;
    }
    #menu .linkFormList .link{
        height: 5.5rem;
    }
    #menu .linkFormList .txtJp{
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing12_0);
    }
    /* linkInfoList */
    #menu .wrapper .linkInfoList{
        flex-direction: column;
        gap: 1.5rem;
        margin-top: 2.5rem;
        width: 100%;
    }
    #menu .linkInfoList .item:not(:last-child){
        padding-right: 0;
    }
    #menu .linkInfoList .item:not(:last-child):after{
        display: none;
    }
    #menu .linkInfoList .link{
        display: block;
    }
    #menu .linkInfoList .txtJp{
        font-size: var(--spFontSize11);
    }
}

/*-----------------------------------------------
    footer
-----------------------------------------------*/
#footer{
    position: relative;
    background-color: var(--footer_bg_Color);
    color: var(--whiteColor);
    padding: 15rem 0 0;
    text-align: center;
}
#footer #pageTop{
    position: absolute;
    right: 2rem;
    bottom: 15rem;
    width: 9rem;
    height: 9rem;
    background-color: var(--gray_bab_Color);
    color: var(--textColor);
    border-radius: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding-bottom: 3rem;
}
#footer #pageTop .txtTop{
    position: relative;
    font-size: var(--pcFontSize10);
    padding-top: 2rem;
}
#footer #pageTop .txtTop::before{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    left: 0;
    right: 0;
    width: 1.2rem;
    height: 1.2rem;
}
#footer #pageTop .txtTop.lazyloaded::before{
    background: url(../img/common/iconArrow_top.png) center top / cover no-repeat;
}
@media only screen and (max-width:1215px){
    #footer{
        padding: 8rem 0 0;
    }
    #footer .logo{
        display: block;
        width: 27.5rem;
        margin: 0 auto;
    }
    #footer #pageTop{display: none;}
}
/* boxTel */
#footer .boxTel{
    margin-top: 9rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
#footer .txtTel{
    position: relative;
    display: inline-block;
    font-size: var(--pcFontSize50);
    letter-spacing: var(--pcLetterSpacing50_80);
    font-weight: 500;
    padding-left: 3.4rem;
}
#footer .txtTel::before{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    bottom: 0.5rem;
    left: 0;
    width: 2.3rem;
    height: 3rem;
}
#footer .txtTel.lazyloaded::before{
    background: url(../img/common/iconTel.png) center top / cover no-repeat;
}
#footer .txtTime{
    font-size: var(--pcFontSize14);
    letter-spacing: var(--pcLetterSpacing14_40);
    margin: 1rem 0 0 1rem;
}
@media only screen and (max-width:1215px){
    #footer .boxTel{
        margin-top: 3.9rem;
        flex-direction: column;
    }
    #footer .txtTel{
        font-size: var(--spFontSize26);
        letter-spacing: var(--spLetterSpacing26_60);
        padding-left: 1.8rem;
        font-weight: bold;
    }
    #footer .txtTel::before{
        top: 0.3rem;
        bottom: 0;
        width: 1.3rem;
        height: 1.7rem;
    }
    #footer .txtTime{
        font-size: var(--spFontSize11);
        letter-spacing: var(--spLetterSpacing11_0);
        margin: 1.2rem 0 0 0;
    }
}
/* boxShop */
#footer .boxShop{
    margin-top: 7rem;
    display: flex;
    justify-content: center;
    align-items: center;
}
#footer .boxShop .titShop{
    font-size: var(--pcFontSize16);
    letter-spacing: var(--pcLetterSpacing16_40);
    font-weight: bold;
}
#footer .boxShop .listShop{
    text-align: left;
    margin-left: 5rem;
}
#footer .boxShop .txtShop{
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_30);
    letter-spacing: var(--pcLetterSpacing14_40);
}
@media only screen and (max-width:1215px){
    #footer .boxShop{
        margin-top: 3rem;
        flex-direction: column;
        align-items: flex-start;
    }
    #footer .boxShop .titShop{
        width: 100%;
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing12_0);
    }
    #footer .boxShop .listShop{
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
        text-align: left;
        margin: 2rem 0 0;
    }
    #footer .boxShop .txtShop{
        display: flex;
        flex-direction: column;
        font-size: var(--spFontSize10);
        line-height: var(--spLineHeight10_17);
        letter-spacing: var(--spLetterSpacing10_30);
    }
    #footer .boxShop .fGray_bab{
        display: block;
        white-space: nowrap;
    }
}

/* boxSite */
#footer .boxSite{
    margin-top: 9.3rem;
}
#footer .boxSite .listSite{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
#footer .boxSite .itemSite{
    width: 60rem;
}
#footer .boxSite .txtSite{
    font-size: var(--pcFontSize14);
    letter-spacing: var(--pcLetterSpacing14_40);
    margin-top: 3rem;
}
@media only screen and (max-width:1215px){
    #footer .boxSite{
        margin-top: 3.3rem;
    }
    #footer .boxSite .itemSite{
        width: 100%;
    }
    #footer .boxSite .txtSite{
        font-size: var(--spFontSize11);
        line-height: var(--spLineHeight11_17);
        letter-spacing: var(--spLetterSpacing11_0);
        margin-top: 2rem;
    }
}

/* secFooterCopy */
#footer .secFooterCopy{
    margin-top: 15rem;
    padding: 4rem 0 5rem;
    border-top: 0.1rem solid var(--footer_border_Color);
    color: var(--footer_txt_Color);
}
#footer .secFooterCopy .txt01{
    font-size: var(--pcFontSize14);
    letter-spacing: var(--pcLetterSpacing14_40);
    font-weight: normal;
}
@media only screen and (max-width:1215px){
    #footer .secFooterCopy{
        margin-top: 8rem;
        padding: 2rem 0 8rem;
    }
    #footer .secFooterCopy .txt01{
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing12_0);
    }
}

/*-----------------------------------------------
    fNavi
-----------------------------------------------*/
#fNavi{
    display: none;
}
@media only screen and (max-width:1215px){
    #fNavi{
        position: fixed;
        bottom: 0;
        right: 0;
        width: 100%;
        display: block;
        transition: all 0.5s ease-out;
        opacity: 0;
        z-index: -99;
        background-color: var(--textColor);
    }
    #fNavi.jsShow{
        opacity: 1;
        z-index: 999;
    }
    #fNavi .naviList{
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
    }
    #fNavi .naviList{
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
    }
    #fNavi .naviList .naviItem{
        width: 33.604%;
    }
    /* #fNavi .naviList .naviItem:last-child{
        width: 32%;
    } */
    #fNavi .naviList .link{
        width: 100%;
        height: 5rem;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: var(--spFontSize12);
        color: var(--whiteColor);
    }
    #fNavi .naviList .linkEstate{
        background-color: #000;
    }
    #fNavi .naviList .linkEvent{
        background-color: var(--event_bg_Color);
    }
    #fNavi .naviList .linkTel{
        background-color: var(--btn_naviColor);
        color: var(--textColor);
    }
    #fNavi .linkTel .txtLink{
        position: relative;
        padding-left: 1.2rem;
    }
    #fNavi .linkTel .txtLink::before{
        position: absolute;
        content: '';
        margin: auto;
        display: block;
        top: 0;
        left: 0;
        width: 1rem;
        height: 1.3rem;
    }
    #fNavi .linkTel.lazyloaded .txtLink::before{
        background: url(../img/common/iconTel_black.png) center top / cover no-repeat;
    }
}


/*-----------------------------------------------
    cmnArrowCircle
-----------------------------------------------*/
.cmnArrowCircle{
    position: relative;
    width: 8.2rem;
    height: 8.2rem;
    border-radius: 100%;
    border: 0.1rem solid var(--whiteColor);
    opacity: 0.5;
    z-index: 5;
}
.cmnArrowCircle.isGray{
    border-color: var(--gray_cbc_Color);
    opacity: 1;
}
.cmnArrowCircle::before{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 1.6rem;
    height: 0.4rem;
    transition: all 0.4s ease-out;
}
.cmnArrowCircle.lazyloaded::before{
    background: url(../img/common/iconArrow_Circle.png) center top / cover no-repeat;
}
.cmnArrowCircle.isGray.lazyloaded::before{
    background: url(../img/common/iconArrow_Circle_gray.png) center top / cover no-repeat;
}
a:hover .cmnArrowCircle.lazyloaded::before,
.cursorPointer:hover .cmnArrowCircle.lazyloaded::before{
    transform: rotate(360deg);
}
@media only screen and (max-width:1215px){
    .cmnArrowCircle{
        width: 3.7rem;
        height: 3.7rem;
        border-color: var(--gray_cbc_Color);
        opacity: 1;
    }
    .cmnArrowCircle::before{
        width: 1.1rem;
        height: 0.3rem;
    }
    .cmnArrowCircle.lazyloaded::before{
        background: url(../img/common/iconArrow_Circle_sp.png) center top / cover no-repeat;
    }
}

/*-----------------------------------------------
    secCmnLink
-----------------------------------------------*/
.secCmnLink{
    position: relative;
    background-color: var(--blackColor);
    color: var(--whiteColor);
    text-align: center;
    background-size: contain;
    background-position: center left;
    background-color: var(--blackColor);
    background-repeat: no-repeat;
}
.secCmnLink.lazyloaded{
    background-image: url(../img/common/bgCmnLink.png);
}
.secCmnLink .wrapper{
    padding: 16rem 0;
}
.secCmnLink .boxTxt .txt{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_36);
}
/* listCmnLink */
.secCmnLink .listCmnLink{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 3rem;
    margin-top: 7.5rem;
}
.secCmnLink .listCmnLink .item{
    width: calc((100% - 8.999rem) / 2);
}
.secCmnLink .listCmnLink .link{
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    background-color: var(--whiteColor);
}
.secCmnLink .listCmnLink .boxTxt{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    z-index: 1;
}
.secCmnLink .listCmnLink .txtEng{
    font-size: var(--pcFontSize50);
    letter-spacing: var(--pcLetterSpacing50_40);
    font-weight: 200;
}
.secCmnLink .js-menu-item .txtEng {
    text-transform: uppercase;
}
.secCmnLink .menu-item__text  > span {
    display: inline-block;
}
.secCmnLink .listCmnLink .txtJp{
    font-size: var(--pcFontSize22);
    letter-spacing: var(--pcLetterSpacing22_40);
    font-weight: bold;
    margin-top: 1.5rem;
}
.secCmnLink .listCmnLink .img{
    position: relative;
}
.secCmnLink .listCmnLink .img::after{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--black_000_Color);
    opacity: 0.5;
    transition: all 0.4s ease-out;
}
/* hover */
.secCmnLink .link:hover .img::after{
    filter: brightness(1.1);
    opacity: 0.3;
}
.secCmnLink .cmnArrowCircle{
    position: absolute;
    bottom: 5rem;
    right: 5rem;
}
@media only screen and (max-width:1215px){
    .secCmnLink.lazyloaded{
        background-image: url(../img/common/bgCmnLink_sp.png);
    }
    .secCmnLink .wrapper{
        padding: 8rem 0;
    }
    .secCmnLink .boxTxt .txt{
        padding: 0 0.8rem;
        font-size: var(--spFontSize10);
        line-height: var(--spLineHeight10_20);
        text-align: left;
    }
    /* listCmnLink */
    .secCmnLink .listCmnLink{
        gap: 1rem;
        margin-top: 2.5rem;
    }
    .secCmnLink .listCmnLink .item{
        width: 100%;
    }
    .secCmnLink .listCmnLink .txtEng{
        font-size: var(--spFontSize26);
        letter-spacing: var(--spLetterSpacing24_0);
    }
    .secCmnLink .listCmnLink .txtJp{
        font-size: var(--spFontSize14);
        letter-spacing: var(--spLetterSpacing14_0);
        margin-top: 1rem;
    }
    .secCmnLink .cmnArrowCircle{
        bottom: 1.5rem;
        right: 1.5rem;
    }
}

/*-----------------------------------------------
    boxCmnNew
-----------------------------------------------*/
.boxCmnNew{
    position: relative;
    display: inline-block;
    padding: 0.2rem 0.3rem 0.3rem;
    border-radius: 0.2rem;
    background-color: var(--newColor);
}
.boxCmnNew .txtNew{
    font-size: var(--pcFontSize10);
    letter-spacing: var(--pcLetterSpacing10_80);
    transform: scale(0.9);
    font-weight: bold;
}
@media only screen and (max-width:1215px){
    .boxCmnNew .txtNew{
        font-size: var(--spFontSize10);
    }
}

/*-----------------------------------------------
    secNoListData
-----------------------------------------------*/
.secNoListData{
	text-align:center;
	padding:13rem 0;
	font-size:var(--pcFontSize16);
	line-height: var(--pcLineHeight16_34);
}
.secNoListData.fWhite{
	color:var(--whiteColor);
}
@media only screen and (max-width:1215px){
	.secNoListData{
		padding:10rem 0;
        font-size:var(--spFontSize13);
        line-height: var(--spLineHeight13_20);
	}
}

/*-----------------------------------------------
    mainWrapper
-----------------------------------------------*/
.mainWrapper{
    position: relative;
}
/* boxCmnTop */
.boxCmnTop.bgBlack{
    background-color: var(--blackColor);
    padding-bottom: 2.3rem;
}
.boxCmnTop.bgBlack + .secMainContent{
    margin-top: -0.1rem;
    background: linear-gradient(to bottom, var(--blackColor) var(--mainContentPc), transparent var(--mainContentPc));
}
/* boxCmnWrapTop */
.boxCmnWrapTop{
    color: var(--whiteColor);
    position: relative;
    top: -3.5rem;
    display: flex;
    z-index: 2;
}
.boxCmnWrapTop .wrapper{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.boxCmnTit .titEng{
    position: relative;
    left: -1rem;
    font-size: var(--pcFontSize90);
    letter-spacing: var(--pcLetterSpacing90_20);
    font-weight: 300;
    white-space: nowrap;
    overflow: hidden;
}
.boxCmnTit .titJp{
    font-size: var(--pcFontSize20);
    margin-top: 0.8rem;
    overflow: hidden;
}
.boxCmnTit .jsShow .jsHideFade{
    transform: translateY(0);
    opacity: 1;
}
@media only screen and (max-width:1215px){
    /* boxCmnWrapTop */
    .boxCmnWrapTop{
        top: -1.2rem;
    }
    .boxCmnTop.bgBlack{
        padding-bottom: 1rem;
    }
    .boxCmnTop.bgBlack + .secMainContent{
        background: linear-gradient(to bottom, var(--blackColor) var(--mainContentSp), transparent var(--mainContentSp));
    }
    .boxCmnTit .titEng{
        transform: translateX(0);
        font-size: var(--spFontSize30);
        letter-spacing: var(--spLetterSpacing30_0);
    }
    .boxCmnTit .titJp{
        font-size: var(--spFontSize12);
        margin-top: 0.5rem;
    }
}

/* pnkz */
#pnkz{
    position: absolute;
    top: 4.5rem;
    right: 0;
    max-width: 30%;
    font-size: 0;
    margin-top: 3.5rem;
}
#pnkz .boxList{
    text-align: left;
    position: relative;
    white-space: nowrap;
    overflow-x: scroll;
    overflow-y: hidden;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
#pnkz.show_ellipsis:not(:active)::after {
    position: absolute;
    content: '...';
    margin: auto;
    display: block;
    top: 0;
    right: 0;
    width: 1.5rem;
    height: 100%;
    color: var(--whiteColor);
    background: linear-gradient(to left, var(--blackColor) 60%, transparent);
	font-size: var(--pcFontSize12);
    text-align: right;
}
#pnkz .boxList::-webkit-scrollbar{
    display: none;
}
#pnkz.show_ellipsis,
#pnkz .scroll_anim{
    cursor: grab;
}
#pnkz.show_ellipsis:active,
#pnkz .scroll_anim:active {
    cursor: grabbing;
}
#pnkz li{
	display: inline;
	font-size: var(--pcFontSize12);
	line-height: var(--pcLineHeight12_15);
	letter-spacing: var(--pcLetterSpacing12_40);
    color: var(--whiteColor);
}
#pnkz li::after{
	content: "/";
    color: var(--gray_7b7_Color);
	margin: 0 0.5rem;
}
#pnkz li:last-child::after{
	display: none;
}
#pnkz a{
    color: var(--gray_7b7_Color);
    text-decoration: none;
}
@media only screen and (max-width:1215px){
	#pnkz{
        top: 0;
        left: 0;
        right: 0;
        width: 92%;
        max-width: 40rem;
        margin: auto;
        margin-top: 3rem;
	}
    #pnkz.show_ellipsis:not(:active)::after {
        background: linear-gradient(to left, var(--footer_bg_Color) 60%, transparent);
    }
	#pnkz li{
		font-size: var(--spFontSize11);
        line-height: var(--spLineHeight11_20);
        letter-spacing: var(--spLetterSpacing11_0);
	}
}


/*-----------------------------------------------
    secCmnTab
-----------------------------------------------*/
.secCmnTab .boxTag + .boxTag{
    margin-top: 28px;
}
.secCmnTab form{
    width: 100%;
}
.secCmnTab .titTag{
    position: relative;
    display: inline-block;
    font-size: var(--pcFontSize12);
    letter-spacing: var(--pcLetterSpacing12_40);
    color: var(--gray_999_Color);
    padding-right: 4rem;
}
.secCmnTab .titTag::after{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    bottom: 0;
    right: 0;
    width: 3rem;
    height: 0.1rem;
    background-color: var(--gray_999_Color);
}

/* ラジオボックス */
.secCmnTab .boxRadio{
    margin-top: 2.4rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}
.secCmnTab .itemRadio{
    font-size: 0;
}
.secCmnTab input[type="radio"],
.secCmnTab .txtRadio::before{
    width: 100%;
    height: 100%;
}
.secCmnTab input[type="radio"]{
    visibility: hidden;
    position: absolute;
    margin: 0;
}
.secCmnTab .labelRadio{
    position: relative;
    font-size: var(--pcFontSize13);
    display: inline-block;
}
.secCmnTab .txtRadio{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.2rem;
    padding: 1.1rem;
    background-color: var(--whiteColor);
    min-width: 10rem;
    height: 5rem;
}
.secCmnTab input[type="radio"]:checked + .txtRadio{
    background-color: var(--tab_active_Color);
    color: var(--whiteColor);
}
.secCmnTab input[type="radio"]:disabled + .txtRadio{
    opacity: .5;
    pointer-events: none;
}
@media only screen and (max-width:1215px){
    .secCmnTab .boxTag + .boxTag{
        margin-top: 0;
    }
    .secCmnTab .txtSelect{
        font-size: var(--spFontSize12);
        color: var(--whiteColor);
        margin-right: 0.5rem;
    }
}

/* boxTabNum */
.secCmnTab .boxTabNum{
    margin-top: 5rem;
    color: var(--whiteColor);
}
.secCmnTab .boxTabNum .txtNum{
    font-size: var(--pcFontSize20);
    font-weight: 500;
}
.secCmnTab .boxTabNum .txtNum .num{
    position: relative;
    font-size: var(--pcFontSize40);
    padding-right: 0.3rem;
}
@media only screen and (max-width:1215px){
    .secCmnTab .boxTabNum{
        margin-top: 0;
    }
    .secCmnTab .boxTabNum .txtNum{
        font-size: var(--spFontSize12);
    }
    .secCmnTab .boxTabNum .txtNum .num{
        font-size: var(--spFontSize20);
        padding-right: 0.2rem;
    }
}



/* boxCmnSelect */
.boxWapperSelect{
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.boxCmnSelect{
    position: relative;
    width: 20rem;
}
.boxCmnSelect::before{
    position: absolute;
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 0.4rem solid transparent;
    border-left: 0.4rem solid transparent;
    border-top: 0.8rem solid var(--whiteColor);
    border-bottom: 0;
    top: 0;
    bottom: 0;
    right: 2rem;
    margin: auto;
}
.boxCmnSelect select {
    width: 100%;
    height: 5rem;
    padding: 1rem 2.4rem 1rem 1.4rem;
    background: var(--select_bg_Color);
    border-radius: 0.5rem;
    color: var(--whiteColor);
    border: none;
    cursor: pointer;
    transition: 0.3s;
    -webkit-appearance: none;
    appearance: none;
    outline: none;
    font-size: var(--pcFontSize14);
    font-family: inherit;
}
.boxWapperSelect .txtSelect {
    font-size: var(--pcFontSize14);
    color: var(--whiteColor);
    margin-right: 0.5rem;
}
@media only screen and (max-width:1215px){
    .boxWapperSelect{
        justify-content: flex-end;
    }
    .boxCmnSelect{
        width: 15rem;
    }
    .boxCmnSelect::before{
        right: 1rem;
    }
    .boxCmnSelect select {
        height: 4rem;
        padding: 0.7rem 2rem 1rem 1rem;
        font-size: var(--spFontSize16);
    }
    .boxWapperSelect .txtSelect {
        font-size: var(--spFontSize12);
    }
}

/*-----------------------------------------------
    secCmnIndexPager
-----------------------------------------------*/
.secCmnIndexPager{
    margin-top: 15rem;
    display: flex;
    justify-content: center;
    align-items: center;
}
.secCmnIndexPager .boxList{
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
}
.secCmnIndexPager .btn{
    min-width: 3rem;
    height: 3rem;
    text-align: center;
    color: var(--blackColor);
    background-color: transparent;
}
.secCmnIndexPager li + li{
    margin-left: 0.6rem;
}
.secCmnIndexPager li:not(.btn){
    margin-left: 0;
}
.secCmnIndexPager .btn.on + li:not(.btn){
    margin-left: 0.5rem;
}
.secCmnIndexPager .btn.on{
    display: flex;
    justify-content: center;
    align-items: center;
    border-right: none;
    background-color: var(--gray_f2f_Color);
    border-radius: 100%;
}
.secCmnIndexPager .btn.dots{
    min-width: 2rem;
    display: flex;
    align-items: center;
}
.secCmnIndexPager .btnNext .inner,
.secCmnIndexPager .btnPrev .inner{
    position: relative;
}
.secCmnIndexPager .btnNext .inner::after,
.secCmnIndexPager .btnPrev .inner:after{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 1.6rem;
    height: 0.4rem;
}
.secCmnIndexPager.lazyloaded .btnNext .inner::after,
.secCmnIndexPager.lazyloaded .btnPrev .inner:after{
    background: url(../img/common/iconArrow_Circle.png) center top / cover no-repeat;
}
.secCmnIndexPager .btnPrev .inner::after{
    transform: scaleX(-1);
}
.secCmnIndexPager:not(.secCmnIndexPagerDetails) .btnNext .inner:before,
.secCmnIndexPager:not(.secCmnIndexPagerDetails) .btnPrev .inner:before{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    bottom: 0;
    left: -5rem;
    width: 3rem;
    height: 0.1rem;
    background-color: var(--gray_515_Color);
}
.secCmnIndexPager:not(.secCmnIndexPagerDetails) .btnPrev .inner::before{
    left: auto;
    right: -5rem;
}
.secCmnIndexPager a{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}
.secCmnIndexPager li span,
.secCmnIndexPager li .inner{
    font-size: var(--pcFontSize18);
    font-weight: bold;
    padding-bottom: 0.2rem;
}
.secCmnIndexPager:not(.secCmnIndexPagerDetails) .btnPrev,
.secCmnIndexPager:not(.secCmnIndexPagerDetails) .btnNext{
    width: 5.5rem;
    height: 5.5rem;
    border-radius: 100%;
    text-align: center;
    position: relative;
    flex-shrink: 0;
}
.secCmnIndexPager .btnPrev{
    margin-right: 7rem;
}
.secCmnIndexPager .btnNext{
    margin-left: 7rem;
}
.secCmnIndexPager:not(.secCmnIndexPagerDetails) .btnPrev,
.secCmnIndexPager:not(.secCmnIndexPagerDetails) .btnNext{
    border: none;
}
.secCmnIndexPager:not(.secCmnIndexPagerDetails) .btnPrev a,
.secCmnIndexPager:not(.secCmnIndexPagerDetails) .btnNext a{
    border: 0.1rem solid var(--blackColor);
    background-color: var(--blackColor);
    border-radius: 100%;
}
@media only screen and (max-width:1215px){
    .secCmnIndexPager{
        margin-top: 6rem;
    }
    .secCmnIndexPager .btn{
        min-width: 2.5rem;
        height: 2.5rem;
    }
    .secCmnIndexPager li + li{
        margin-left: 0.4rem;
    }
    .secCmnIndexPager .btnNext .inner::after,
    .secCmnIndexPager .btnPrev .inner:after{
        width: 0.8rem;
        height: 0.2rem;
    }
    .secCmnIndexPager:not(.secCmnIndexPagerDetails) .btnNext .inner:before,
    .secCmnIndexPager:not(.secCmnIndexPagerDetails) .btnPrev .inner:before{
        left: -2.5rem;
        width: 1.5rem;
    }
    .secCmnIndexPager:not(.secCmnIndexPagerDetails) .btnPrev .inner::before{
        left: auto;
        right: -2.5rem;
    }
    .secCmnIndexPager li span,
    .secCmnIndexPager li .inner{
        font-size: var(--spFontSize16);
    }
    .secCmnIndexPager:not(.secCmnIndexPagerDetails) .btnPrev,
    .secCmnIndexPager:not(.secCmnIndexPagerDetails) .btnNext{
        width: 3.5rem;
        height: 3.5rem;
    }
    .secCmnIndexPager .btnPrev{
        margin-right: 3rem;
    }
    .secCmnIndexPager .btnNext{
        margin-left: 3rem;
    }
}


/*-----------------------------------------------
    boxCmnShare
-----------------------------------------------*/
.boxCmnShare{
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.boxCmnShare p.linkShare{
    font-size: var(--pcFontSize12);
    color: var(--gray_999_Color);
    margin-right: 1.3rem;
}
.boxCmnShare .box{
    display: flex;
    align-items: center;
    gap: 1rem;
}
@media only screen and (max-width:1215px){
    .boxCmnShare p.linkShare{
        font-size: var(--spFontSize12);
        margin-right: 0.8rem;
    }
    .boxCmnShare .box{
        gap: 0.5rem;
    }
    .boxCmnShare .box a{
        width: 4rem;
    }
}

/*-----------------------------------------------
    boxDetailsTit
-----------------------------------------------*/
.boxDetailsTit{
    text-align: center;
}
.boxDetailsTit .titEng{
    font-size: var(--pcFontSize55);
    letter-spacing: var(--pcLetterSpacing55_40);
}
.boxDetailsTit .titJp{
    font-size: var(--pcFontSize18);
    letter-spacing: var(--pcLetterSpacing18_40);
    margin-top: 1rem;
}
@media only screen and (max-width:1215px){
    .boxDetailsTit .titEng{
        font-size: var(--spFontSize25);
        letter-spacing: var(--spLetterSpacing25_0);
    }
    .boxDetailsTit .titJp{
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing12_0);
        margin-top: 1.4rem;
    }
}

/*-----------------------------------------------
    boxCmnMask
-----------------------------------------------*/
.boxCmnMask{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--black_000_60_Color);
    color: var(--whiteColor);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.boxCmnMask .titEng{
    font-size: var(--pcFontSize30);
}
.boxCmnMask .titJp{
    font-size: var(--pcFontSize16);
    margin-top: 1rem;
}
@media only screen and (max-width:1215px){
    .boxCmnMask .titEng{
        font-size: var(--spFontSize26);
    }
    .boxCmnMask .titJp{
        font-size: var(--spFontSize14);
        margin-top: 0.5rem;
    }
}

/*-----------------------------------------------
    boxCmnDetailsPager
-----------------------------------------------*/
.boxCmnDetailsPager{
    position: relative;
    min-height: 18rem;
    margin-top: 10rem;
}
.boxCmnDetailsPager .boxBtnPager{
    display: flex;
}
.boxCmnDetailsPager .btnPrev,
.boxCmnDetailsPager .btnNext{
    position: relative;
    width: 30rem;
    padding-bottom: 5.5rem;
}
.boxCmnDetailsPager .btnNext{
    margin: 0 0 0 auto;
}
.boxCmnDetailsPager .txtEng{
    position: relative;
    display: inline-block;
    font-size: var(--pcFontSize13);
    letter-spacing: var(--pcLetterSpacing13_80);
    color: var(--blackColor);
    font-weight: bold;
    padding-right: 11rem;
    margin-bottom: 3rem;
}
.boxCmnDetailsPager .btnNext .boxTxtEng{
    text-align: right;
}
.boxCmnDetailsPager .btnNext .txtEng{
    padding: 0 0 0 11rem;
}
.boxCmnDetailsPager .txtEng::after{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    bottom: 0;
    right: 0;
    width: 10rem;
    height: 0.1rem;
    background-color: var(--blackColor);
}
.boxCmnDetailsPager .btnNext .txtEng::after{
    right: auto;
    left: 0;
}
.boxCmnDetailsPager .img{
    height: 21rem;
}
.boxCmnDetailsPager .img{
    border-radius: 1rem;
    overflow: hidden;
}
.boxCmnDetailsPager .txt{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_28);
    font-weight: bold;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    overflow: hidden;
    max-height: calc(var(--pcFontSize16) * var(--pcLineHeight16_28) * 2);
    margin-top: 2.5rem;
}
/* boxBtnList */
.boxCmnDetailsPager .boxBtnList{
    display: flex;
    align-items: flex-end;
    position: absolute;
    top: 0;
    left: calc(50% - 20rem);
    height: 26rem;
}
.boxCmnDetailsPager .boxBtnList:only-child{
    position: static;
    margin: 0 auto;
}
.boxCmnDetailsPager .btnList{
    position: relative;
    width: 40rem;
    height: 7.5rem;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--whiteColor);
    color: var(--blackColor);
    border: 1px solid var(--blackColor);
    border-radius: 4rem;
    font-size: var(--pcFontSize16);
    font-weight: bold;
}
.boxCmnDetailsPager .btnList::before{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    bottom: 0;
    left: 5rem;
    width: 1.5rem;
    height: 0.3rem;
    transform: scaleX(-1);
}
.boxCmnDetailsPager .btnList.lazyloaded::before{
    background: url(../img/common/iconArrow_right.png) center top / cover no-repeat;
}
/* cmnArrowCircle */
.boxCmnDetailsPager .cmnArrowCircle{
    position: absolute;
    bottom: 0;
    right: 0;
    width: 4.7rem;
    height: 4.7rem;
}
@media only screen and (max-width:1215px){
    .boxCmnDetailsPager{
        margin-top: 6rem;
        min-height: 5.5rem;
    }
    .boxCmnDetailsPager .btnPrev,
    .boxCmnDetailsPager .btnNext{
        width: 14rem;
        padding-bottom: 0;
    }
    .boxCmnDetailsPager .txtEng{
        font-size: var(--spFontSize11);
        letter-spacing: var(--spLetterSpacing11_0);
        padding-right: 7rem;
        margin-bottom: 1.3rem;
    }
    .boxCmnDetailsPager .btnNext .txtEng{
        padding: 0 0 0 7rem;
    }
    .boxCmnDetailsPager .txtEng::after{
        width: 6rem;
    }
    .boxCmnDetailsPager .img{
        height: 9.8rem;
    }
    .boxCmnDetailsPager .img{
        border-radius: 0.5rem;
    }
    .boxCmnDetailsPager .txt{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_18);
        max-height: calc(var(--spFontSize12) * var(--spLineHeight12_18) * 2);
        margin-top: 1rem;
    }
    /* boxBtnList */
    .boxCmnDetailsPager .boxBtnList{
        display: flex;
        align-items: flex-end;
        position: static;
        height: 5.5rem;
        margin-top: 5.5rem;
    }
    .boxCmnDetailsPager .btnList{
        width: 24.5rem;
        height: 5.5rem;
        border-radius: 3rem;
        font-size: var(--spFontSize12);
    }
    .boxCmnDetailsPager .btnList::before{
        left: 3rem;
    }
    .boxCmnDetailsPager .cmnArrowCircle{
        display: none;
    }
}
.gm-style-moc{
    display: none !important;
}

/*-----------------------------------------------
    boxCmnCta
-----------------------------------------------*/
.boxCmnCta {
    padding-top: var(--footerCtaPc);
}
.boxCmnCta .tit {
    font-size: var(--pcFontSize90);
    font-weight: 300;
    margin: 4rem 0 2rem 0;
}
/* .boxCmnCta .tit .titIn{
    display: block;
} */
.boxCmnCta .titIn + .titIn{
    margin-top: -3rem;
}
@media only screen and (max-width:1215px){
    .boxCmnCta {
        padding-top: var(--footerCtaSp);
    }
    .boxCmnCta .tit {
        font-size: var(--spFontSize26);
        margin: 0 0 1rem 0;
    }
}