@charset "utf-8";

@font-face{
    font-family:'Noto Sans JP';
    font-style:normal;
    font-weight:400;
    font-display:swap;
    src:url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Regular.woff2) format('woff2'),
        url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Regular.woff) format('woff'),
        url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Regular.otf) format('opentype');
}
 @font-face{
    font-family:'Noto Sans JP';
    font-style:normal;
    font-weight:700;
    font-display:swap;
    src:url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.woff2) format('woff2'),
        url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.woff) format('woff'),
        url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.otf) format('opentype');
}

/*==============================
    変数設定
==============================*/
:root {
    /* 色設定 */
    --brandColor: #f95b0d; 
    --brandColorPale: #a2b1d7; 
    --brandTxtColor: #fff;
    --brandTxtColor2: #333;
    --brandSpColor: #f95b0d;
    --brandTxtSpColor: #fff;
    --mainColor: #2d2a28;
    --mainTxtColor: #fff;
    --mainbgColor: #fff;
    --subColor: #2d2a28;
    --subColor2: #828282;
    --subTxtColor: #fff;
    --subColorShadow: #16112c;
    --linkColor: #006bc4;
    --normalEstateColor: #202d59;
    --normalEstateTxtColor: #fff;
    --storeEstateColor: #33651d;
    --memberColor: #9b0201;
    --memberColor2: #959595;
    --memberColor3: #000;
    --memberBgColor: #fdeee2;
    --memberTxtColor: #fff;
    --memberTxtColor2: #737373;
    --formRequiredColor: #fffde0;
    --formRequiredColor2: #ffffff;
    --reservationColor: #fedf00;
    --reservationColor2: #40bb15;
    --reservationTxtColor: #2d2a28;
    --fNaviBorderColor: rgba(255,255,255,0.8);
    --fNaviBgColor: rgba(0,0,0,0.8);
    --newsIconTxtColor: #fff;
    --newsIconColor01: rgba(0,0,0,0.6);
    --newsIconColor02: #d0312d;
    --btnColor01: #e74c3c;
    --btnTxtColor01: #fff;
    --btnColor02: #fff;
    --bdrColor01: #dcdcdc;
    --bdrColor02: #cdcccc;
    --bdrColor03: #c9c9c9;
    --bdrColor04: #ece9bc;
    --boxShadow01: #ba3d30;
    --bgColor01: #fff;
    --bgColor02: #eee;
    --bgColor03: #eff2f7;
    --bgTel: #eeecec;
    --telTxtColor:#222;
    --telBoderColor:#2d2a28;

    /* --usedEstateColor: #ed6103; */
    --usedEstateColor: #f95b0d;
    --usedEstateTxtColor: #fff;
    --usedMansionColor: #00b7ee;
    --usedMansionTxtColor: #fff;
    --newHouseColor: #fc2d80;
    --newHouseTxtColor: #fff;
    --landColor: #7b5638;
    --landTxtColor: #fff;
    --renovationColor: #93c320;
    --renovationTxtColor: #fff;
    --renovationTxtColor2: #f75c0c;
    --txtAttnColor: #ed6103;
    --txtAttnColor02: #e4301e;
    --txtAttnColor03: #e74c3c;
    --estateFavoriteBtnColor: #fff45c;
    --estateUdMemberBtnColor: #fff100;
    --logoutTxtColor: #006bc4;
    --reformColor: #9b0201;
    --reformColor2: #202d59;
    --reformColor3: #fe0000;
    --reformTxtColor: #fff;
    --reformTxtColor2: #333;
    --blue_style: #1f2d5a;
    --black_style: #000;
    /* その他 */
    --wrapperSpWidth: 94.667%;
    --spXPadding: 2.67%;
    --baseLetterSpacing: 0.5px;
    --spTitFontSize: 14px;
    --spMemberTitFontSize: 20px;
    --pcLoginFontSize: 14px;
    --spLoginFontSize: 12px;
    --pcLoginLineHeight: 2.1;
    --spLoginLineHeight: 1.66;
    --spTitLineHeight: 1.4;
    --spTxtLineHeight: 1.5;
    --spTxtLineHeight2: 1.6;
    --pcCheckboxLineHieght: 1.8;
    --pcCheckboxLineHieght02:1.6;
    --spCheckboxLineHieght02:1.6;
    --pcUdLineHeight: 1.83;
    --spUdLineHeight: 1.83;
    --contentsPaddingTopPc: 50px;
    --contentsPaddingTopSp: 25px;
    --contentsPaddingBottomPc: 200px;
    --contentsPaddingBottomSp: 60px;
    --pcOkBtnMarginTop: 90px;
    --spOkBtnMarginTop: 44px;
    --spMypageTxtLinkMarginTop: 30px;
    --pcMypageTxtLinkMarginTop: 50px;
    --spMypageTxtLinkPaddingBottom: 60px;
    --pcMypageTxtLinkPaddingBottom: 100px;
    --pcUdContMarginTop: 50px;
    --spUdContMarginTop: 50px;
    --pcUdTableFontSize: 14px;
    --spUdTableFontSize: 14px;
    --pcMpTableLineHeight: 1.66;
    --spMpTableLineHeight: 1.66;
    --pcMpTopTitFontSize: 35px;
    --pcLeaveFontSize: 14px;
    --pcTopMsgFontSize: 14px;
    --spTopMsgFontSize: 11px;
    --pcTopMsgLineHeight: 2.14;
    --spTopMsgLineHeight: 1.81;
}

/*==============================
    基本設定
==============================*/
body{
    color:var(--mainColor);
    font-size:12px;
    font-family: 'YakuHanJP_Noto','Noto Sans JP', sans-serif;
    margin:0;
    padding:0;
    text-align:left;
    background: #fff;
    -webkit-text-size-adjust:100%;
    position:relative;
    word-break:break-all;
    min-width: 1260px;
    letter-spacing: var(--baseLetterSpacing);
    background: #f8f8f8;
}
@media only screen and (max-width:767px){
    body{
        min-width: 0;
    }
}

body *, body *::before, body *::after{box-sizing:border-box;}
a{text-decoration:none;}
main{display:block;}
img{vertical-align:bottom;}
h1,h2,h3,h4,h5,h6{font-weight:normal;}
select,input,textarea{
    font-family: inherit;
    font-weight: inherit;
}
th{
    font-weight:normal;
    text-align:left;
}

/*font layout*/
.fBold{font-weight:bold;}
.fRoboto{font-family: 'Roboto', sans-serif;}
.fBebas{font-family: "Bebas Neue", sans-serif;}
/*rollover*/
.ro a:hover,
a.ro:hover,
a .ro:hover{ opacity:0.8; }
.ro a,
a.ro,
a .ro{
    -webkit-transition: opacity 0.2s ease-out;
    transition: opacity 0.2s ease-out;
}

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

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

/*========================================
    レスポンシブ用
========================================*/
.spOnly,
.brSp,
.imgSp{
    display:none;
}
.img100{
    width:100%;
    height:auto;
}
@media only screen and (max-width:767px){
    .spNone,
    .brPc,
    .imgPc{
        display:none;
    }
    .spOnly{
        display:block;
    }
    .brSp,
    .imgSp{
        display:inline;
    }
    .imgR{
        width:100%;
        height:auto;
    }
}

/*-----------------------------------------------
    imgCover
-----------------------------------------------*/
.imgCont,
.imgCover{
    position:relative;
}
.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;
}
.imgCover img {
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
    object-fit:cover;
    font-family:'object-fit:cover;';
}

/*-----------------------------------------------
    wrapper
-----------------------------------------------*/
.wrapper800,
.wrapper900,
.wrapper1000,
.wrapper1080,
.wrapper1090,
.wrapper1110,
.wrapper1190,
.wrapper1200{
    margin: 0 auto;
}
.wrapper800{
    width: 800px;
}
.wrapper900{
    width: 900px;
}
.wrapper1000{
    width: 1000px;
}
.wrapper1080{
    width: 1080px;
}
.wrapper1090{
    width: 1090px;
}
.wrapper1110{
    width: 1110px;
}
.wrapper1190{
    width: 1190px;
}
.wrapper1200{
    width: 1200px;
}
@media only screen and (max-width:767px){
    .wrapper800,
    .wrapper900,
    .wrapper1000,
    .wrapper1080,
    .wrapper1090,
    .wrapper1110,
    .wrapper1190,
    .wrapper1200{
        width: 100%;
    }
    .wrapperSp{
        width: var(--wrapperSpWidth);
        margin: 0 auto;
    }
}

/*-----------------------------------------------
    description
-----------------------------------------------*/
#description{
    background: var(--brandColor);
    color: var(--brandTxtColor);
    line-height: var(--spTxtLineHeight);
    padding: 7px 20px;
    word-break: normal;
    display: none;
}
@media only screen and (max-width:767px){
    #description{
        display: none;
    }
}

/*-----------------------------------------------
    header
-----------------------------------------------*/
#header{
    border-bottom: 1px solid #e5e5e5;
    padding: 0 30px;
    padding-right: 0;
    display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    background: #fff;
    position: relative;
    z-index: 100;
}
#header .wrapperHeader{position: relative;flex: 1;text-align: right;padding: 30px 20px;padding-right: calc(320px + 50px);height: 90px;display: flex;justify-content: flex-end;align-items: center;}
#header .logo{
    display: flex;
    justify-content: center;
    align-items: center;
}
#header .logo .companyName{
    font-size: 11px;
    padding: 0px 0px 0px 20px;
    letter-spacing: 1px;
}
#header .logo .companyName .addTxt{
    display: none;
}
#header .logo .companyName .txtSub{
    font-size: 10px;
    margin-top: 5px;
    display: inline-block;
}
@media only screen and (max-width:1520px){
    #header .wrapperHeader{
        padding-right: calc(280px + 20px);
    }
}
@media only screen and (max-width:1420px){
    #header .wrapperHeader{
        padding: 0;
        padding-right: calc(280px + 20px);
    }
}
@media only screen and (max-width:767px){
    #header{
        padding: 0px 15px;
        padding-right: 0;
        position: static;
        height: 50px;
    }
    #header .wrapperHeader{
        padding: 0;
        display: block;
        height: 50px;
        width: 50px;
        flex: none;
    }
    #header .logo{
        width: calc(100% - 50px);
        flex: 1;
        margin-right: 0;
        justify-content: flex-start;
    }
    #header .logo a{
        width: 156px;
    }
    #header .logo .companyName{
        font-size:10px;
        padding-left: 10px;
        letter-spacing: 0;
    }
    #header .logo .companyName .cNameBr{
        display: none;
    }
    #header .logo .companyName .addTxt{
        display: inline;
    }
}
/* ▼241101追加 */
#header .secRightlist{
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
#header .item{
    display: inline-block;
}
#header .item + .item{
    margin-left: 20px;
}
#header .item .link{
    display: block;
    font-size:14px;
    line-height: 30px;
    color: var(--mainColor);
    text-decoration: none;
    font-weight: bold;
}
@media only screen and (max-width:1520px){
    #header .item + .item{
        margin-left: 10px;
    }
}
@media only screen and (max-width:1420px){
    #header .secRightlist{
        flex-wrap: wrap;
        max-width: 380px;
    }
}
@media only screen and (max-width:767px){
    #header .secRightlist{
        display: none;
    }
}


/* secHeaderEstate */
.secHeaderEstate{
    display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
    font-size: 12px;
}
.secHeaderEstate .item{
    position: relative;
    padding: 0 10px;
    text-align: center;
    min-width: 108px;
}
.secHeaderEstate .item:nth-child(1){
    color: var(--normalEstateColor);
}
.secHeaderEstate .item:nth-child(2){
    color: var(--memberColor);
}
.secHeaderEstate .item:nth-child(3){
    color: var(--storeEstateColor);
}
.secHeaderEstate .item:nth-child(1):before,
.secHeaderEstate .item::after{
    content: "";
    width: 1px;
    height: 20px;
    background: #e5e5e5;
    position: absolute;
    right: 0;
    top: calc(50% - 10px);
}
.secHeaderEstate .item:nth-child(1):before{
    right: auto;
    left: 0;
}
.secHeaderEstate .txt{
    margin-top: 5px;
}
.secHeaderEstate .num{
    font-size: 21px;
    font-weight: bold;
}
@media only screen and (max-width:1520px){
    .secHeaderEstate .item{
        padding: 0 5px;
        min-width: 94px;
    }
}
@media only screen and (max-width:767px){
    .secHeaderEstate{
        display: none;
    }
}

/* secHeaderTel */
.secHeaderTel{
    color: var(--mainColor);
}
.secHeaderTel svg{
    width: 16px;
    height: 32px;
    margin-right: 5px;
}
.secHeaderTel use{
    fill: var(--mainColor);
}
.secHeaderTel .boxNum{
    display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
    margin-left: 30px;
}
.secHeaderTel .txtNum{
    font-size: 28px;
    letter-spacing: 1px;
}
.secHeaderTel .txt{
    font-size: 10px;
    padding: 2px 0 0 50px;
    text-align: center;
}
@media only screen and (max-width:1600px){
    .secHeaderTel .txtNum{
        font-size: 24px;
        letter-spacing: var(--baseLetterSpacing);
    }
    .secHeaderTel .boxNum{
        margin-left: 20px;
    }
    .secHeaderTel .txt{
        padding-left: 40px;
    }
}
@media only screen and (max-width:767px){
    .secHeaderTel{
        display: none;
    }
}

/* secHeaderMypage */
.secHeaderMypage{
    display: flex;
    display: -webkit-flex;
    margin-left: 30px;
}
.secHeaderMypage .item{
    border-left: 1px solid #e5e5e5;
}
.secHeaderMypage .item:last-child{
    border-right: 1px solid #e5e5e5;
}
.secHeaderMypage .itemLink{
    display: block;
    color: var(--mainColor);
    width: 98px;
    height: 90px;
    flex-direction: column;
    -webkit-flex-direction: column;
}
.secHeaderMypage .itemLink,
.secHeaderMypage .ico{
    display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
    justify-content: center;
    -webkit-justify-content: center;
}
.secHeaderMypage .ico{
    width: 35px;
    height: 28px;
    padding-right: 10px;
}
.secHeaderMypage .item:last-child .ico{
    padding-right: 0;
}
.secHeaderMypage svg{
    fill: var(--mainColor);
}
.secHeaderMypage .item:nth-child(1) svg{
    width: 21px;
    height: 21px;
}
.secHeaderMypage .item:nth-child(2) svg{
    width: 25px;
    height: 21px;
}
.secHeaderMypage .item:nth-child(3) svg{
    width: 20px;
    height: 28px;
}
.secHeaderMypage .item.icoMypage:nth-child(3) svg{
    width: 26px;
    height: 28px;
}
.secHeaderMypage .itemLink{
    position: relative;
}
.secHeaderMypage .num{
    white-space: nowrap;
    display: inline-block;
    position: absolute;
    top: 28px;
    left: 50px;
    background: #202d59;
    font-size: 13px;
    color: #fff;
    padding: 3.5px 6.2px;
    border-radius: 10px;
}
.secHeaderMypage .txt{
    margin-top: 5px;
}
@media only screen and (max-width:1600px){
    .secHeaderMypage{
        margin-left: 15px;
    }
}
@media only screen and (max-width:1520px){
    .secHeaderMypage .itemLink{
        width: 80px;
    }
    .secHeaderMypage .txt{
        font-size: 10px;
    }
}
@media only screen and (max-width:767px){
    .secHeaderMypage{
        margin-left: 0;
    }
    .secHeaderMypage .item{
        border-left: none;
    }
    .secHeaderMypage .item:nth-child(n+2){
        margin-left: 10px;
    }
    .secHeaderMypage .item:last-child{
        border-right: none;
    }
    .secHeaderMypage .itemLink{
        width: auto;
        height: 50px;
    }
    .secHeaderMypage .ico{
        width: 20px;
        height: 20px;
        padding-right: 2px;
    }
    .secHeaderMypage .item:nth-child(1) svg{
        width: 16px;
        height: 16px;
    }
    .secHeaderMypage .item:nth-child(2) svg{
        width: 18px;
        height: 16px;
    }
    .secHeaderMypage .item:nth-child(3) svg{
        width: 15px;
        height: 20px;
    }
    .secHeaderMypage .num{
        top: 13px;
        left: 21px;
        font-size: 10px;
        padding: 2.5px 4.5px;
        letter-spacing: 0;
    }
    .secHeaderMypage .item:nth-child(2) .num{
        left: 28px;
    }
    .secHeaderMypage .txt{
        margin-top: 6px;
        font-size: 10px;
        letter-spacing: 0;
    }
}
@media only screen and (max-width:359px){
    .secHeaderMypage .item:nth-child(n+2){
        margin-left: 5px;
    }
}

/* secHeaderBtn */
.secHeaderBtn{
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    width: 320px;
    position: absolute;
    right: 0;
    top: 0;
}
.secHeaderBtn .btn{
    width:calc(100% / 2);
    height: 110px;
    text-align: center;
    display: block;
    font-size: 15px;
    padding-top: 65px;
    box-shadow: inset 0px -5px 0px 0px rgba(4, 0, 0, 0.2);
    position: relative;
}
.secHeaderBtn .btn::after{
    content: "";
    position: absolute;
    top: 30px;
    background: url(../img/common/tp.gif) center top no-repeat;
    background-size: 100% auto;
}
.secHeaderBtn .btn.btnContact{
    background: var(--brandColor);
    color: var(--brandTxtColor);
}
.secHeaderBtn .btn.btnContact::after{
    width:28px;
    height: 21px;
    left: calc(50% - 14px);
    background-image: url(../img/common/imgherderIcon01.png);
}
.secHeaderBtn .btn.btnReserve{
    background: var(--reservationColor);
    color: var(--reservationTxtColor);
}
.secHeaderBtn .btn.btnReserve::after{
    width:24px;
    height: 27px;
    left: calc(50% - 12px);
    background-image: url(../img/common/imgherderIcon02.png);
    top: 23px;
}
@media only screen and (max-width:1520px){
    .secHeaderBtn{
        width: 280px;
    }
}
@media only screen and (max-width:767px){
    .secHeaderBtn{
        width: 43px;
        position: absolute;
        right: 0;
        top: 0;
    }
    .secHeaderBtn .btn{
        display: none;
    }
    .secHeaderBtn .btnMenu,
    .secHeaderBtn .btnMenu span{
        display: inline-block;
        transition: all .4s;
        box-sizing: border-box;
    }
    .secHeaderBtn .btnMenu{
        position: relative;
        width: 100%;
        height: 51px;
        background: none;
        border: none;
        appearance: none;
        cursor: pointer;
    }
    .secHeaderBtn .btnMenu span{
        position: absolute;
        left: calc(50% - 11px);
        width: 16px;
        height: 2px;
        background-color: var(--mainColor);
        border-radius: 4px;
    }
    .secHeaderBtn .btnMenu span:nth-of-type(1){
        top: calc(50% - 5px);
    }
    .secHeaderBtn .btnMenu span:nth-of-type(2){
        top: 50%;
    }
    .secHeaderBtn .btnMenu span:nth-of-type(3){
        top: calc(50% + 5px);
    }
    .secHeaderBtn .btnMenu.active span:nth-of-type(1) {
        width: 20px;
        transform: translateX(-2px) translateY(3px) rotate(-45deg);
    }
    .secHeaderBtn .btnMenu.active span:nth-of-type(2) {
        opacity: 0;
    }
    .secHeaderBtn .btnMenu.active span:nth-of-type(3) {
        width: 20px;
        transform: translateX(-2px) translateY(-7px) rotate(45deg);
    }
}
@media only screen and (max-width:330px){
    #header .logo a{
        width: 140px;
    }
}
/*-----------------------------------------------
    gNavi
-----------------------------------------------*/
#gNavi .boxList{
    /* width: 996px; */
    width: 1195px;
    /* width: 1394px; */
    max-width: calc(100% - 40px);
    margin: 0 auto;
    display: flex;
    display: -webkit-flex;
    border: 1px solid #e5e5e5;
    border-top: none;
    border-radius: 0 0 10px 10px;
    position: relative;
    z-index: 10;
    background: #fff;
    box-shadow: 0px 0px 10px 0px rgba(44, 38, 38, 0.1);
}
#gNavi .item{
    /* width: calc(100% / 7); */
    /* width: calc(100% / 6); */
    width: calc(100% / 5);
}
#gNavi .item:nth-child(n+2){
    border-left: 1px solid #e5e5e5;
}
#gNavi .itemLink{
    /* width: 198px; */
    width: 100%;
    height: 60px;
    font-size: 14px;
    font-weight: bold;
    line-height: 24px;
    color: inherit;
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    -webkit-justify-content: center;
    align-items: center;
    -webkit-align-items: center;
}
@media only screen and (max-width:767px){
    #gNavi{
        display: none;
    }
}

/*-----------------------------------------------
    main
-----------------------------------------------*/
#main{
    display: flex;
    display: -webkit-flex;
    flex-direction: column;
    -webkit-flex-direction: column;
}
@media only screen and (max-width:767px){
    #mainContents{
        order: 2;
        -webkit-order: 2;
    }
}

/*-----------------------------------------------
    pnkz
-----------------------------------------------*/
#pnkz{
	font-size: 0;
    margin-top: 26px;
    color: var(--mainColor);
}
#pnkz li{
	display: inline;
	font-size: 12px;
	line-height: 2;
}
#pnkz li::after{
	content: "»";
	margin: 0 10px;
    color: var(--mainColor);
}
#pnkz li:last-child::after{
	display: none;
}
#pnkz a{
    padding-bottom: 2px;
    border-bottom: 1px solid var(--linkColor);
    text-decoration: none;
    color: var(--linkColor);
}
@media only screen and (max-width:767px){
	#pnkz{
		order: 3;
		-webkit-order: 3;
		background: #fff;
		border-top: 1px solid #dcdcdc;
        margin-top: 0;
	}
	#pnkz .boxList{
		white-space: nowrap;
		overflow-y: scroll;
        padding: 10px 0;
	}
	#pnkz li{
		font-size: 11px;
        line-height: 1.5;
	}
    #pnkz li::after{
        content: "〉";
        display: inline-block;
        margin: 0 5px;
        color: var(--mainColor);
        font-size: 10px;
        transform: scale(0.8);
        -webkit-transform: scale(0.8);
        transform-origin: center center;
        -webkit-transform-origin: center center;
    }
}

/*-----------------------------------------------
    btnTop
-----------------------------------------------*/
#btnTop{
    position: fixed;
    right: 10px;
    bottom: 10px;
    opacity: 0;
    transition: all 0.2s ease-out;
    -webkit-transition: all 0.2s ease-out;
}
#btnTop.scroll{
    opacity: 1;
}
#btnTop a{
    width: 64px;
    height: 64px;
    display: block;
    text-align: center;
    background: rgba(49,54,61,0.5);
    color: #fff;
    font-size: 10px;
    line-height: 1.2;
    padding-top: 13px;
    border-radius: 5px;
    letter-spacing: 1px;
}
#btnTop.lazyloaded a::before{
    content: "";
    display: block;
    width: 18px;
    height: 10px;
    margin: 0 auto 5px;
}
#btnTop.lazyloaded a::before{
    background: url(../img/common/iconBtnTop.png) center top / cover no-repeat;
}
@media only screen and (max-width:767px){
    #btnTop{
        display: none;
    }
}

/*-----------------------------------------------
    fNavi
-----------------------------------------------*/
#fNavi{
    display: none;
}
@media only screen and (max-width:767px){
    #fNavi{
        display: flex;
        display: -webkit-flex;
        width: 100%;
        z-index: 999;
        background: var(--brandSpColor);
        color: var(--brandTxtSpColor);
        position: fixed;
        bottom: 0;
        left: 0;
        transform: translateY(100%);
        -webkit-transform: translateY(100%);
        transition: all 0.2s ease-out;
        -webkit-transition: all 0.2s ease-out;
    }
    #fNavi.scroll{
        transform: none;
        -webkit-transform: none;
    }
    #fNavi.scroll.checked{
        transform: translateY(100%);
        -webkit-transform: translateY(100%);
    }
    #fNavi .item{
        width: 33.333%;
        position: relative;
    }
    #fNavi .item:nth-child(n+2)::before{
        content: "";
        width: 1px;
        height: 25px;
        background: var(--fNaviBorderColor);
        position: absolute;
        top: calc(50% - 12.5px);
        left: 0;
    }
    #fNavi .itemLink,
    #fNavi .img{
        display: flex;
        display: -webkit-flex;
        align-items: center;
        -webkit-align-items: center;
        justify-content: center;
        -webkit-justify-content: center;
    }
    #fNavi .itemLink{
        height: 65px;
        color: inherit;
        flex-direction: column;
        -webkit-flex-direction: column;
        padding-bottom: 4px;
    }
    #fNavi .img{
        width: 16px;
        height: 20px;
        margin: 0 auto;
    }
    #fNavi svg{
        fill: var(--brandTxtSpColor);
    }
    #fNavi .item:nth-child(1) svg{
        width: 16px;
        height: 14px;
    }
    #fNavi .item:nth-child(2) svg{
        width: 16px;
        height: 16px;
    }
    #fNavi .item:nth-child(3) svg{
        width: 12px;
        height: 21px;
    }
     #fNavi .txt{
         margin-top: 6px;
     }
}

/*-----------------------------------------------
    footer
-----------------------------------------------*/
#footer{
    background: var(--mainColor);
    color: var(--mainTxtColor);
    padding: 63px 0 53px;
}
#footer.checked,
#footer.scroll{
    padding-bottom: 118px;
}
@media only screen and (max-width:767px){
    #footer{
        padding: 40px 0 50px;
        display: flex;
        display: -webkit-flex;
        flex-direction: column;
        -webkit-flex-direction: column;
    }
    #footer.checked,
    #footer.scroll{
        padding-bottom: 115px;
    }
    #fNavi + #footer{
        padding-bottom: 105px;
    }
}

/* secFooterMenu */
.secFooterMenu,
.secFooterMenu .boxBtn{
    display: flex;
    display: -webkit-flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
}
.secFooterMenu .boxMenu{
    display: flex;
    display: -webkit-flex;
    font-size: 13px;
    line-height: 2;
}
.secFooterMenu .boxBtnTel{
    flex: 1;
}
.secFooterMenu .boxList{
    width: 150px;
}
.secFooterMenu .boxList:nth-child(1){
    width: 198px;
}
.secFooterMenu .boxList:nth-child(2){
    width: 270px;
}
.secFooterMenu .itemLink{
    color: inherit;
    white-space: nowrap;
}
.secFooterMenu .boxBtn{
    width: 475px;
    margin: 5px 0 0 auto;
}
.secFooterMenu .itemBtn{
    width: 230px;
    background: #fff;
}
.secFooterMenu .btnContact,
.secFooterMenu .btnMember,
.secFooterMenu .btnReservation{
    width: 100%;
    height: 50px;
    font-size: 13px;
    border: 1px solid var(--memberTxtColor);
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    -webkit-justify-content: center;
    align-items: center;
    -webkit-align-items: center;
}
.secFooterMenu .btnContact{
    background: var(--brandColor);
    color: var(--memberTxtColor);
}
.secFooterMenu .btnMember{
    background: var(--memberColor);
    color: var(--memberTxtColor);
}
.secFooterMenu .btnReservation{
    background: var(--reservationColor);
    color: var(--reservationTxtColor);
}
.secFooterMenu .boxTel{
    color: inherit;
    display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
    justify-content: flex-end;
    -webkit-justify-content: flex-end;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    margin-top: 25px;
}
.secFooterMenu .txtTel02{
    font-size: 30px;
    margin-left: 10px;
    letter-spacing: 1px;
}
.secFooterMenu .txtTel03{
    width: 100%;
    text-align: right;
    margin-top: 10px;
}
@media only screen and (max-width:1400px){
    .secFooterMenu .boxList .itemLink{
        font-size: 12px;
    }
}
@media only screen and (max-width:767px){
    .secFooterMenu{
        display: block;
        order: 2;
        -webkit-order: 2;
        margin-top: 15px;
    }
    .secFooterMenu .boxMenu,
    .secFooterMenu .boxBtn{
        display: none;
    }
    .secFooterMenu .boxTel{
        width: 100%;
        flex-direction: column;
        -webkit-flex-direction: column;
        justify-content: center;
        -webkit-justify-content: center;
        background: var(--mainTxtColor);
        color: var(--mainColor);
        margin-top: 0;
        padding: 15px 0;
        border-radius: 3px;
        box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1),inset 0px -2px 0px 0px rgba(4, 0, 0, 0.2);
    }
    .secFooterMenu .txtTel01{
        font-weight: bold;
    }
    .secFooterMenu .txtTel02{
        margin: 7px 0 0;
        font-size: 30px;
    }
    .secFooterMenu .txtTel03{
        text-align: center;
        margin-top: 5px;
        font-size: 11px;
    }
}

/* secFooterCompany */
.secFooterCompany{
    margin-top: 61px;
}
.secFooterCompany .tit{
    font-size: 13px;
    line-height: var(--spTxtLineHeight);
    font-weight: bold;
    margin-top: 15px;
}
.secFooterCompany .txt{
    font-size: 13px;
    line-height: var(--spTxtLineHeight);
    margin-top: 7px;
}
@media only screen and (max-width:767px){
    .secFooterCompany{
        order: 1;
        -webkit-order: 1;
        margin-top: 0;
    }
    .secFooterCompany .logo{
        display: none;
    }
    .secFooterCompany .tit{
        font-size: 14px;
        margin-top: 0;
        text-align: center;
    }
    .secFooterCompany .txt{
        font-size: 12px;
        text-align: center;
        margin-top: 3px;
    }
}

/* copy */
#copy{
    text-align: center;
    margin-top: 37px;
}
#copy a{
    color: inherit;
    padding-bottom: 2px;
    border-bottom: 1px solid #fff;
    font-size: 11px;
}
#copy .fCopy{
    font-family: Verdana,'Droid Sans','YakuHanJP_Noto','Noto Sans JP', sans-serif;
}
@media only screen and (max-width:767px){
    #copy{
        order: 3;
        -webkit-order: 3;
        margin-top: 30px;
    }
}

/*-----------------------------------------------
    spNavi
-----------------------------------------------*/
@media only screen and (max-width:767px){
    #spNavi{
        width: 100%;
        position: absolute;
        top: 50px;
        left: 0;
        z-index: 9998;
        background: #fff;
        display: none;
    }
    #spNavi .boxBtn{
        /* background: var(--mainColor); */
        background: #515a65;
        padding: 15px var(--spXPadding);
        display: flex;
        display: -webkit-flex;
        justify-content: space-between;
        -webkit-justify-content: space-between;
    }
    #spNavi .btn{
        width: calc(50% - 5px);
        height: 40px;
        display: flex;
        display: -webkit-flex;
        align-items: center;
        -webkit-align-items: center;
        justify-content: center;
        -webkit-justify-content: center;
        color: #fff;
        border-radius: 5px;
        box-shadow: inset 0px -2px 0px 0px rgba(4, 0, 0, 0.1);
    }
    #spNavi .btn.btnContact{
        /* background: var(--brandColor);*/
        background-color:#f39700;
    }
    #spNavi .btn.btnReserve{
        /* background: var(--reservationColor); */
        background-color: #8fc31f;
    }
    #spNavi .boxList{
        display: flex;
        display: -webkit-flex;
        flex-wrap: wrap;
        -webkit-flex-wrap: wrap;
        border-bottom: 1px solid #c9c9c9;
    }
    #spNavi .item{
        width: 50%;
    }
    #spNavi .item:nth-child(2n+1){
        border-right: 1px solid #c9c9c9;
    }
    #spNavi .item:nth-child(n+3){
        border-top: 1px solid #c9c9c9;
    }
    #spNavi .itemLink{
        display: flex;
        display: -webkit-flex;
        align-items: center;
        -webkit-align-items: center;
        width: 100%;
        height: 43px;
        /* color: var(--mainColor); */
        color:#515a65;
        font-size: 12px;
        line-height: 1.3;
        padding-left: 20px;
        position: relative;
    }
    #spNavi svg{
        width: 5px;
        height: 10px;
        position: absolute;
        top: calc(50% - 4px);
        right: 2.67vw;
    }
    #spNavi use{
        /* fill: var(--mainColor); */
        fill:#515a65;
    }
}
@media only screen and (max-width:359px){
    #spNavi .itemLink{
        padding-left: 10px;
        font-size: 11px;
    }
}

/*-----------------------------------------------
    全ページ共通パーツ
-----------------------------------------------*/
/* cmnSecTit */
.cmnSecTit{
    font-size: 40px;
    color: var(--mainColor);
    font-weight: bold;
}
@media only screen and (max-width:767px){
    .cmnSecTit{
        font-size: var(--spTitFontSize);
        line-height: var(--spTitLineHeight);
        background: var(--mainColor);
        color: var(--mainTxtColor);
        padding: 15.5px var(--spXPadding);
    }
}

/* cmnSecTit02 */
.cmnSecTit02{
    font-size: 25px;
    color: var(--mainColor);
    font-weight: bold;
}
@media only screen and (max-width:767px){
    .cmnSecTit02{
        font-size: var(--spTitFontSize);
        line-height: var(--spTitLineHeight);
        background: var(--mainColor);
        color: var(--mainTxtColor);
        padding: 15.5px var(--spXPadding);
    }
}

/* cmnMoreBtn */
.cmnMoreBtn{
    display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
    justify-content: center;
    -webkit-justify-content: center;
    width: 420px;
    height: 71px;
    border: 1px solid #dcdcdc;
    box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1),inset 0px -2px 0px 0px rgba(4, 0, 0, 0.2);
    font-size: 14px;
    color: var(--mainColor);
    background: #fff;
    font-weight: bold;
    border-radius: 3px;
}
.cmnMoreBtn.backBtn{
    margin: 0 auto;
    position: relative;
}
.cmnMoreBtn.backBtn::before{
	content: "";
	width: 16px;
	height: 16px;
	background: var(--mainColor);
	position: absolute;
	left: 20px;
	top: calc(50% - 8px);
	border-radius: 8px;
}
.cmnMoreBtn.backBtn::after{
	content: "";
	width: 6px;
	height: 6px;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	border-left: 2px solid var(--mainTxtColor);
	border-top: 2px solid var(--mainTxtColor);
	position: absolute;
	left: 26px;
	top: calc(50% - 3px);
}
@media only screen and (max-width:767px){
    .cmnMoreBtn{
        width: var(--wrapperSpWidth);
        height: 50px;
        font-size: 12px;
    }
    .cmnMoreBtn.backBtn::before{
        left: 15px;
    }
    .cmnMoreBtn.backBtn::after{
        left: 21px;
    }
}

/* cmnPageTit */
.cmnPageTit{
    font-size: 40px;
    color: var(--mainColor);
    font-weight: bold;
    line-height: var(--spTitLineHeight);
    margin-top: 34px;
}
.cmnPageTit .fSubC{
    /* color: var(--subColor); */
    color: var(--brandColor);
}
.cmnPageTit .txtSmall{
    font-size: 25px;
}
.cmnPageTit.type2{
    font-size: 35px;
    padding-left: 14px;
    position: relative;
}
.cmnPageTit.type2::before{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    width: 4px;
    height: 35px;
    background: var(--subColor);
}
@media only screen and (max-width:767px){
    .cmnPageTit{
        font-size: var(--spTitFontSize);
        line-height: var(--spTitLineHeight);
        border-left: 4px solid var(--subColor);
        border-color: var(--brandColor);
        padding-left: 8px;
        margin-top: 25px;
    }
    .cmnPageTit.noBorder{
        border-left: 0;
        padding-left: 0;
    }
    .cmnPageTit.type2{
        font-size: var(--spTitFontSize);
        padding-left: 8px;
    }
    .cmnPageTit.type2::before{
        display: none;
    }
    .cmnPageTit .txtSmall{
        font-size: var(--spTitFontSize);
    }
}

/* cmnPageTit2 */
.cmnPageTit2{
    font-size: 25px;
    color: var(--mainColor);
    font-weight: bold;
    line-height: var(--spTitLineHeight);
    margin-top: 34px;
}

@media only screen and (max-width:767px){
    .cmnPageTit2{
        font-size: var(--spTitFontSize);
        line-height: var(--spTitLineHeight);
        border-left: 4px solid var(--brandColor);
        padding-left: 8px;
        margin-top: 25px;
    }
}

/* cmnPageSubTit */
.cmnPageSubTit{
    font-size: 14px;
    line-height: 1.5;
    color: var(--subColor2);
    margin-top: 10px;
}
@media only screen and (max-width:767px){
    .cmnPageSubTit{
        font-size: 11px;
        line-height: 16px;
        padding: 0 1em;
    }
}

/* cmnNone */
.cmnNone{
    font-size: 14px;
    text-align: center;
}
@media only screen and (max-width:767px){
    .cmnNone{
        font-size: 12px;
        line-height: var(--spTxtLineHeight);
    }
}

/* cmnPickup */
.cmnPickup{
    padding: var(--contentsPaddingTopPc) 0 var(--contentsPaddingBottomPc);
    background: var(--bgColor01);
}
.cmnPickup .boxList{
    margin-top: 40px;
    font-size: 0;
}
.cmnPickup .item{
    display: inline-block;
    font-size: 0;
}
.cmnPickup .item:nth-child(2n){
    margin-left: 49px;
}
.cmnPickup .item:nth-child(n+3){
    margin-top: 40px;
}
.cmnPickup .item a{
    width: 100%;
    height: 100%;
}
@media only screen and (max-width:767px){
    .cmnPickup{
        padding-bottom: var(--contentsPaddingBottomSp);
    }
    .cmnPickup .boxList{
        margin-top: 20px;
    }
    .cmnPickup .item{
        width: 100%;
        height: auto;
    }
    .cmnPickup .item:nth-child(2n){
        margin-left: 0;
    }
    .cmnPickup .item:nth-child(n+3),
    .cmnPickup .item:nth-child(n+2){
        margin-top: 15px;
    }
}

/* bnrConcept */
.bnrConcept{
    margin: 120px auto -44px;
}
.bnrConcept.listTop{
    margin: 30px auto 0;
}
.bnrConcept.details{
    margin: 50px auto 0;
}
.cmnPickup .bnrConcept{
    margin: 40px auto 0;
}
.bnrConcept .bnrInner{
    display: block;
}
@media only screen and (max-width:767px){
    .bnrConcept{
        margin: 30px auto 0;
    }
    .bnrConcept.listTop{
        margin: 20px auto 10px;
    }
    .bnrConcept.details{
        margin: 30px auto 0;
    }
    .cmnPickup .bnrConcept{
        margin: 20px auto 0;
    }
    .cmnPickup .bnrConcept + .boxList{
        margin: 15px auto 0;
    }
}

/* cmnMultiSelect */
.cmnMultiSelect{
    width: 100%;
    color: #d3342d;
    font-size: 11px;
    line-height: 1.818;
    padding: 16px 0 0 10px;
}
.secDetails .cmnMultiSelect{
    padding-top: 32px;
}
@media only screen and (max-width:767px){
    .secDetails .cmnMultiSelect{
        padding-top: 16px;
    }
}

/*-----------------------------------------------
    animation
-----------------------------------------------*/
/* jsHide */
.jsHide,
.jsHideHero{
    opacity: 0;
    -webkit-transition: opacity 2s cubic-bezier(0.18, 1.00, 0.29, 1.00), -webkit-transform 2s cubic-bezier(0.18, 1.00, 0.29, 1.00);
    transition: opacity 2s cubic-bezier(0.18, 1.00, 0.29, 1.00), -webkit-transform 2s cubic-bezier(0.18, 1.00, 0.29, 1.00);
    transition: opacity 2s cubic-bezier(0.18, 1.00, 0.29, 1.00), transform 2s cubic-bezier(0.18, 1.00, 0.29, 1.00);
    transition: opacity 2s cubic-bezier(0.18, 1.00, 0.29, 1.00), transform 2s cubic-bezier(0.18, 1.00, 0.29, 1.00), -webkit-transform 2s cubic-bezier(0.18, 1.00, 0.29, 1.00);
}
.jsHide.jsShow,
.jsHideHero.jsShow{
    opacity: 1;
}

/* jsMarker */
.jsMarker{
    display: inline-block;
    line-height: 1.375;
    position: relative;
    overflow: hidden;
}
.jsMarker::before{
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: var(--reformTxtColor);
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    -webkit-transition: -webkit-transform 1s cubic-bezier(0.18, 1.00, 0.29, 1.00);
    transition: transform 1s cubic-bezier(0.18, 1.00, 0.29, 1.00);
}
.jsMarkerInner{
    position: relative;
    z-index: 10;
    padding: 0 4px;
}
.jsMarker.jsShow::before{
    -webkit-transform: none;
    transform: none;
}
@media only screen and (max-width:767px){
    .jsMarkerInner{
        padding: 0;
    }
}


/*-----------------------------------------------
	popup
-----------------------------------------------*/
#popup{
	display: none;
	z-index: 99999;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
#popup .overlay{
	width: 100%;
	height: 100%;
	min-height: 100vh;
	background: rgba(33,45,89,0.95);
	position: absolute;
	top: 0;
	left: 0;
}
#popup .popupContainer{
	display: table;
	width: 100%;
	height: 100vh;
}
#popup .popupContents{
	display: table-cell;
	vertical-align: middle;
}
@media only screen and (max-width:767px){
	#popup .popupMain{
		width: 100%;
		padding: 6.67%;
	}
}
@media only screen and (max-width:374px){
	#popup .popupMain{
		padding: 4.69%;
	}
}

/* secPopup */
.secPopup{
	display: none;
	position: relative;
}

/* .boxPopup */
.boxPopup{
    width: 590px;
    height: auto;
    background: #fff;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 45px 40px 40px;
}
.boxPopup .tit{
    font-size: 17px;
    font-weight: 600;
    letter-spacing: 0.3px;
    line-height: 1.5;
    text-align: center;
}
.boxPopup .boxPref{
    display: flex;
    justify-content: center;
    margin: 20px auto 0;
}
.boxPopup .boxPref .boxBtn{
    width: 250px;
}
.boxPopup .boxPref .boxBtn:nth-child(n+2){
    margin-left: 10px;
}
.boxPopup .boxPref .boxBtn .aBtnLink{
    width: 100%;
    box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1),inset 0px -2px 0px 0px rgba(4, 0, 0, 0.2);
    border: 1px solid #dcdcdc;
    border-radius: 3px;
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom: 2px;
    text-decoration: none;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: 0.3px;
    color: var(--subColor);
}
@media only screen and (max-width:767px){
    .boxPopup{
        width: 100%;
        padding: 20px 20px 20px;
        border-radius: 5px;
    }
    .boxPopup .tit{
        font-size: 13px;
        letter-spacing: 0;
    }
    .boxPopup .boxPref{
        margin: 15px auto 0;
        width: 100%;
    }
    .boxPopup .boxPref .boxBtn{
        width: 48.302%;
    }
    .boxPopup .boxPref .boxBtn:nth-child(n+2){
        margin-left: 3.396%;
    }
    .boxPopup .boxPref .boxBtn .aBtnLink{
        font-size: 15px;
        letter-spacing: 0;
    }
}
/* 241107 */
.secUsedSearch .btn:only-child{
    width: 300px;
}
@media only screen and (max-width:767px){
    .secUsedSearch .btn:only-child{
        width: 100%;
        margin: 0;
    }
}