@charset "utf-8";
/*==============================
	基本設定
==============================*/
body{
	color:#000;
	font-size:12px;
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	margin:0;
	padding:0;
	text-align:left;
	background:#FFF;
	-webkit-text-size-adjust:100%;
	min-width:1240px;
	position:relative;
	font-weight:400;
}
body *, body *::before, body *::after{box-sizing:border-box;}
#container {
    width: 100%;
}
@media only screen and (max-width:767px){
	body{
		min-width:0;
	}
}

img{vertical-align:bottom;}
h1,h2,h3,h4,h5,h6{font-weight:normal;}
th{
	font-weight:normal;
	text-align:left;
}

/*font layout*/
.fBold{font-weight:bold;}
.fRed{color:#FF0000;}
.fRobot{font-family: 'Roboto', sans-serif;}
.f200{font-weight:200;}
.f400{font-weight:400;}
.f500{font-weight:500;}
.f700{font-weight:700;}
.ellipsis{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}


/*rollover*/
.ro a:hover,
a.ro:hover,
a .ro:hover{ filter:alpha(opacity=80);opacity:0.8; }
.brt a:hover,a.brt:hover,a .brt:hover{ -webkit-filter: brightness(1.1);filter: brightness(1.1); }
.ro a,
a.ro,
a .ro,
.brt a,
a.brt,
a .brt{
	-webkit-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}
.ro .no_ro a:hover,
.ro a.no_ro:hover{ filter:alpha(opacity=100);opacity:1; }
a:focus{outline:none;}

.spOnly,
.brSp,
.imgSp{
	display:none !important;
}
a{text-decoration:none;}
.disnone{display:none;}
@media only screen and (max-width:767px){
	.spNone,
	.brPc,
	.imgPc{
		display:none !important;
	}
	.spOnly{
		display:block !important;
	}
	.brSp,
	.imgSp{
		display:inline !important;
	}
	.imgR{
		width:100%;
		height:auto;
	}
	.ro .slick-slide a:hover{filter:alpha(opacity=100);opacity:1;}
}
/*-----------------------------------------------
	imgCover
-----------------------------------------------*/
.imgCover,
.imgCover2{
	position:relative;
}
.imgCover img{
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	object-fit: cover;
	font-family: 'object-fit: cover;'
}
.imgCover2 img{
	width:auto;
	height:auto;
	max-width:100%;
	max-height:100%;
	display:block;
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	margin:auto;
}
/*-----------------------------------------------
	jsHide
-----------------------------------------------*/
.jsHide{
	opacity: 0;
	-webkit-transform: translate(0px, 50px);
	transform: translate(0px, 50px);
	-webkit-transition: opacity 0.5s cubic-bezier(0.18, 1.00, 0.29, 1.00), -webkit-transform 1.5s cubic-bezier(0.18, 1.00, 0.29, 1.00);
	transition: opacity 0.5s cubic-bezier(0.18, 1.00, 0.29, 1.00), -webkit-transform 1.5s cubic-bezier(0.18, 1.00, 0.29, 1.00);
	transition: opacity 0.5s cubic-bezier(0.18, 1.00, 0.29, 1.00), transform 1.5s cubic-bezier(0.18, 1.00, 0.29, 1.00);
	transition: opacity 0.5s cubic-bezier(0.18, 1.00, 0.29, 1.00), transform 1.5s cubic-bezier(0.18, 1.00, 0.29, 1.00), -webkit-transform 1.5s cubic-bezier(0.18, 1.00, 0.29, 1.00);
}
.jsHide.jsShow{
	-webkit-transform: none;
	transform: none;
	opacity: 1;
}
/*-----------------------------------------------
	共通色指定
-----------------------------------------------*/
/*来店予約 reserve*/
.cmnCl01{
    background: #8fc31f;
}
/*お見積りcontact*/
.cmnCl02{
    background: #eb6877;
}
/*電話相談 tel*/
.cmnCl03{
    background: #f39800;
}
/*ボタン使用色*/
.cmnClBtn01{
    background: #f39800;
}
/*イベントアイコン*/
.event .iconKind{
    background: #f0c3c1;
}
/*チラシアイコン*/
.flyer .iconKind{
    background: #b7cfdc;
}
/*開催前アイコン*/
.iconState.type1{
    background: #9aaed4;
}
/*開催中アイコン*/
.iconState.type2{
    background: #f19149;
}
/*終了アイコン*/
.iconState.type3{
    background: #c9c9c9;
}
/*NEWアイコン*/
.iconNew{
    background: #fff100;
}

/*-----------------------------------------------
	contents
-----------------------------------------------*/
.wrapper1200{
	max-width:1200px;
    width:100%;
	margin:0 auto;
}
@media only screen and (max-width:767px){
    .wrapper1200{
        max-width: 100%;
        width:100%;
    }
    .wrapperSp{
        width: 92%;
        margin: 0 auto;
    }
    .wrapperSp315{
        width: 84%;
        margin: 0 auto;
    }
}

/*-----------------------------------------------
	header
-----------------------------------------------*/
#header{
    background: #FFF;
    box-shadow: 0px 5px 5px -5px rgba(0,0,0,0.4);
    position: relative;
}
#header .titHeader{
    margin-bottom: 10px;
    line-height: 1.4;
    min-height: 16px;
    max-width: 800px;
}
#header .wrapBox{
    position: relative;
    padding-top: 20px;    
    z-index: 15;
}
#header .btnLogList{
    position: absolute;
    right: 0;
    top: 17px;
    text-align: center;
    display: -webkit-flex;
    display: flex;    
}
#header .btnLog{
    margin-left: 15px;
    display: -webkit-flex;
    display: flex;   
    -webkit-align-items: center;
    align-items: center;        
}
#header .btnLog .txtLog{
    color: #000;
    margin-left: 8px;
}
#header .mainBox{
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
    width: 100%;
}
#header .logo{
    display: block;
    width: 200px;
}
#header .logo img{
    width: 100%;
    height: auto;
}
#header .rightBox{
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;    
}
#header .rightBox .inBox{
    padding: 0px 10px;
}
#header .telBox{
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    color: #FFF;
}
#header .telBox .iconFree{
    margin-right: 10px;
}
#header .telBox .txtTel{
    font-size: 26px;
    color: #000;
}
#header .txtTime{
    margin-top: 5px;
    font-size: 11px;
    line-height: calc(15/ 11);
    letter-spacing: 1px;
}
#header .btnHeader{
    display: flex;
    align-items: center;
    width: 200px;
    height: 55px;
    text-align: center;
    justify-content: center;
    color: #FFF;
    font-size: 18px;
    letter-spacing: 1px;
    border-radius: 10px;
    padding-top: 0;
    margin-left: 10px;
    font-weight: bold;
}
#header .btnHeader.line{
    background: #06c755;
    display: flex;
    align-items: center;
    padding: 0px 4px;
}
#header .pcNav{
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    margin-top: 10px;
}
#header .pcNav .nav{
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    height: 75px;
    font-size: 15px;
    letter-spacing: 0.5px;
    color: #000;
    text-align: center;
    font-weight: 500;
    line-height: 1.2;
    max-width: 380px;
    position: relative;
    border-right: 1px solid #dfdfdf;
    width: 100%;
}
#header .pcNav .nav:first-child {
    border-left: 1px solid #dfdfdf;
}
#header .pcNav .nav::after{
    content: "";
    width: 0;
    height: 3px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0 auto;
    background: #f19149;
	-webkit-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;    
}
#header .pcNav .nav:hover::after{
    width: 100%;
}
#header .navChild{
    background: rgba(255,255,255,0.9);
    position: absolute;
    left: 0;
    width: 100%;
    bottom: -50px;
	-webkit-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
    visibility: hidden;
    opacity: 0;
    z-index: 10;
}
#header .navChild:hover,
#header .navChild.open{
    visibility: visible;
    opacity: 1;
    bottom: -70px;
}
#header .navChild .wrapBox{
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center; 
}
#header .navChild .nav{
    font-size: 15px;
    letter-spacing: 0.5px;
    color: #000;
    text-align: center;
    font-weight: 500;
    line-height: 1.2;
    padding: 26px 0;
    margin: 0 30px;
    position: relative;
}
#header .navChild .nav::after{
    content: "";
    width: 0;
    height: 3px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0 auto;
    background: #f19149;
	-webkit-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;    
}
#header .navChild .nav:hover::after{
    width: 40%;
}

#header .spBox{
    display: none;
}
#header .sns{
    display: block;
    width: 40px;
}
#header .sns img{
    width: 100%;
    height: auto;
}
.isDesktopIpad #header .pcNav .nav {
    font-size: 14px;
}
@media only screen and (max-width:1800px) {
    #header .pcNav .nav {
        font-size: 14px;
    }
}   
@media only screen and (max-width:767px){
    #header{
        background: #FFF;
        position: relative;
    }
    #header .wrapBox{
        width: 92%;
        margin: 0 auto;
        padding: 10px 0;
    }
    #header .titHeader{
        font-size: 10px;
        line-height: 1.2;
        margin: 10px auto 0;
    }
    #header .logo{
        width: 125px;
    }
    #header .spBox{
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
    }
	#sideOpen .boxMenu {
        z-index: 210;
		-webkit-transition: all 0.3s ease-out;
		transition: all 0.3s ease-out;
        width: 24px;
        height: 23px;
        position: relative;
        margin-left: 10px;
	}
	#sideOpen .boxMenu span:nth-child(-n+3) {
		position:absolute;
		right:0;
		left:0;
		margin:0 auto;
		width: 24px;
		height: 2px;
		background:#000;
		-webkit-transition: all 0.5s ease-out;
		transition: all 0.5s ease-out;
	}
	#sideOpen .boxMenu span:nth-of-type(1) {
		top: 2px;
	}
	#sideOpen .boxMenu span:nth-of-type(2) {
		top: 10px;
	}
	#sideOpen .boxMenu span:nth-of-type(3) {
		top: 19px;
	}
	.menuOpen #sideOpen{
		background:none;
	}
	.menuOpen #sideOpen .boxMenu {
        background: none;
	}
	.menuOpen #sideOpen .boxMenu span:nth-child(-n+3) {
		height:2px;
	}
	.menuOpen #sideOpen .boxMenu span:nth-of-type(1) {
		-webkit-transform: translateY(9px) rotate(-45deg);
		transform: translateY(9px) rotate(-45deg);
		top:0;
		width:27px;
	}
	.menuOpen #sideOpen .boxMenu span:nth-of-type(3) {
		-webkit-transform: translateY(9px) rotate(45deg);
		transform: translateY(9px) rotate(45deg);
		top:0;
		width:27px;
	}
	.menuOpen #sideOpen .boxMenu span:nth-of-type(2){
		opacity: 0;
	}
	.secRecruit #sideOpen .boxMenu span:nth-child(-n+3) {
        background: #F7B62B;
    }
    #header .spBox .spSide{
        text-align: center;
        margin-right:8px;
    }
    #header .spBox .spSide:last-child{
        margin-right: 0;
    }
    #header .spBox .txtSp{
        font-size: 10px;
        margin-top: 5px;
        color: #000;
    }
    #header .sns{
        display: block;
        width: 26px;
        margin: 0 8px auto auto;
    }
    #header .sns img{
        width: 100%;
        height: auto;
    }
}

/*-----------------------------------------------
	spMenu
-----------------------------------------------*/
#spMenu{
	position:fixed;
	width:100%;
	height:100vh;
	overflow-y:scroll;
	background:rgba(255,255,255,0.9);
	top:0;
	left:0;
	display:none;
	z-index:200;
	padding:80px 0 120px;
	-webkit-overflow-scrolling: touch;
}
#spMenu .listRe{
	width:92%;
	margin:0 auto 20px;
}
#spMenu .btnList .nav{
    border-top: rgba(0,0,0,0.6) solid 1px;
    position: relative;
}
#spMenu .btnList .nav:last-child{
    border-bottom: rgba(0,0,0,0.6) solid 1px;    
}
#spMenu .btnList .btnIn{
	color:#000;
	font-size:14px;
	letter-spacing:0;
    font-weight: 700;
	padding:15px 0;
    display: block;
    line-height: 1.2;
}
#spMenu .btnCloseNav{
    width: 92%;
    padding: 15px;
    margin: 0 auto;
    text-align: center;
    background: #333;
    color: #FFF;
    font-size: 16px;
    font-weight: 500;
}
#spMenu .btnListTop{
    margin: 0 auto 20px;
    width: 92%;
}
#spMenu .btnListTop a{
    display: block;
    width: calc((100% - 10px) / 2);
    color: #FFF;
    text-align: center;
    padding: 20px 0;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1px;
    float: left;
    border-radius: 10px;
}
#spMenu .btnListTop a:last-child{
    float: right;
}
#spMenu .btnListTop a.cmnCl01{
    background-color: #14bfce;
    box-shadow: inset 0 -3px #1099a5;
}
#spMenu .btnListTop a.cmnCl02{
    background-color: #da2b17;
    box-shadow: inset 0 -3px #ae2212;
}

/*-----------------------------------------------
	pnkz
-----------------------------------------------*/
.pnkzBox{
    position: relative;
}
#pnkz{
	padding: 17px 0;
    border-top: #CCC solid 1px;
}
.bdNone #pnkz{
    border: none;
}
#pnkz li{
	display: inline-block;
	vertical-align: top;
	line-height: 20px;
	letter-spacing: 1px;
	font-size:12px;
	color:#000;
    max-width: none;
    overflow: auto;
    white-space: normal;
    text-overflow: inherit;  
    width: auto !important;    
}
#pnkz li::before{
	content: "／";
	display: inline-block;
	padding: 0 5px 0 5px;
	font-size:12px;
}
#pnkz li:first-child::before{
	display: none;
}
#pnkz li a{
	color: #000;
	font-size: 12px;
    text-decoration: underline;
}
#pnkz li a:hover{
    color: #666;
}
#pnkz .swiper-wrapper{
	white-space: nowrap !important;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;	
}
#pnkz .swiper-slide{
	display: inline-block;
	float: none !important;
	cursor: default;
}
@media only screen and (max-width: 767px){
	#pnkz{
		overflow: hidden;
		padding: 10px 0 10px 4%;
	}
	#pnkz li{
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
		padding: 0;
	}
    #pnkz li:last-child {
        max-width: 100%;
        padding-right: 5%;
    }
	#pnkz li::before{
		color: #000;
		padding: 0 2px 0 2px;
	}
    #pnkz .swiper-wrapper{
        -webkit-justify-content: flex-start;
        justify-content: flex-start;	
    }
}
/*-----------------------------------------------
	footer
-----------------------------------------------*/
#footer{
    margin: 100px auto 0;
    background: #313131;
    padding: 85px 0;
}
.noFNavi #footer{
    padding: 85px 0 35px;
}
#footer .wrapBox{
    margin-bottom: 100px;
}
#footer .listRe{
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;    
}
#footer .nav{
    margin-bottom: 15px;
}
#footer .btnIn{
    color: #FFF;
    font-size: 14px;
    text-decoration: underline;
    font-weight: 200;
}
#footer .boxUnder{
    margin: 65px auto 0;
}
#footer .mainBox{
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;    
}
#footer .txtCompany{
    font-size: 20px;
    color: #FFF;
    margin-right: 20px;
    line-height: 1.2;
}
#footer .telBox{
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    color: #FFF;
}
#footer .telBox .iconFree{
    margin-right: 10px;
}
#footer .telBox .txtTel{
    font-size: 26px;
}
#footer .subBox{
    margin-top: 20px;
}
#footer .txtIshioka {
    font-size: 14px;
    color: #FFF;
    margin-bottom: 4px;
}
#footer .txtSub{
    color: #FFF;
    font-size: 14px;
    line-height: 1.857;
    font-weight: 200;
}
#footer .copy{
    color: #FFF;
    text-align: center;
}
@media only screen and (max-width:767px){
    #footer{
        margin: 50px auto 0;
        padding: 50px 3% 125px;
    }
    .noFNavi #footer{
        padding: 50px 3% 45px;
    }    
    #footer .wrapBox{
        margin-bottom: 40px;
    }
    #footer .boxUnder{
        margin: 0 auto;
    }
    #footer .mainBox{
        display: block;
    }
    #footer .txtCompany{
        font-size: 20px;
        margin-right: 0;
        text-align: center;
    }
    #footer .telBox{
        -webkit-justify-content: center;
        justify-content: center;
        margin-top: 30px;
    }
    #footer .telBox .iconFree{
        margin-right: 10px;
    }
    #footer .subBox{
        margin-top: 30px;
        text-align: center;
    }
    #footer .txtIshioka {
        font-size: 12px;
        margin-bottom: 2px;
    }
    #footer .txtSub{
        font-size: 12px;
        line-height: 2.16;
    }
    #footer .txtArea{
        margin-top: 30px;
        line-height: 1.8;
    }
    #footer .bd{
        position: relative;
        display: inline-block;
        margin-bottom: 10px;
        padding-bottom: 10px;
    }
    #footer .bd::after{
        content: "";
        width: 25px;
        height: 1px;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 2px;
        margin: 0 auto;
        background: #FFF;
    }
}
/*-----------------------------------------------
	popupTel
-----------------------------------------------*/
.tapTel{
    cursor: pointer;
}
#popupTel{
	display: none;
	position: relative;
	z-index: 99999;
}
#popupTel .overlay{
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.9);
	position: absolute;
	top: 0;
	left: 0;
}
#popupTel .popupContainer{
	display: table;
	width: 100%;
	position: relative;
}
#popupTel .popupContents{
	display: table-cell;
	vertical-align: middle;
}
#popupTel .popupMain{
	width: 90%;
	max-width: 600px;
	margin: 0 auto;
}
#popupTel .secPopup{
    background: #FFF;
    text-align: center;
    padding: 0 60px 40px;
}
#popupTel .titTel{
    font-size: 17px;
    padding: 40px 0 20px;
}
#popupTel .telBox{
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;        
    color: #FFF;
    margin-top: 15px;
}
#popupTel .telBox .iconFree{
    margin-right: 10px;
}
#popupTel .telBox .txtTel{
    font-size: 26px;
    color: #000;
}
#popupTel .box{
    margin: 30px auto 0;
}
#popupTel .box .tit{
    color: #FFF;
    background: #333;
    padding: 12px 20px;
    font-size: 15px;
    line-height: 1.2;
}
#popupTel .box .txtTime{
    margin-top: 10px;
}
@media only screen and (max-width:767px){
	#popupTel .popupMain{
		width: 100%;
		padding: 50px 5%;
	}
    #popupTel .secPopup{
        padding: 0 20px 30px;
    }
    #popupTel .titTel{
        font-size: 13px;
        line-height: 1.6;
        padding: 20px 0 10px;
    }
    #popupTel .telBox{
        margin-top: 10px;
    }
    #popupTel .telBox .iconFree{
        margin-right: 10px;
    }
    #popupTel .telBox .iconFree img{
        width: auto;
        height: 23px;
    }
    #popupTel .telBox .txtTel{
        font-size: 23px;
    }
    #popupTel .box{
        margin: 20px auto 0;
    }
    #popupTel .box .tit{
        padding: 10px 20px;
        font-size: 13px;
    }
    #popupTel .box .txtTime{
        margin-top: 5px;
        line-height: 1.2;
    }   
}

/*-----------------------------------------------
	fixedNav
-----------------------------------------------*/
.secFixedNav{
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    background: #313131;
    border-top: solid 1px;
    border-color: #313131;
    z-index: 100;
}
.noFNavi .secFixedNav{
    display: none;
}
.secFixedNav .wrapBox{
    display: -webkit-flex;
    display: flex;    
}
.secFixedNav .btn{
    color: #FFF;
    text-align: center;
    width: 33.33%;
    height: 68px;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    border-left: solid 1px;
    border-color: #313131;
}
.secFixedNav .inner{
    font-size: 18px;
    letter-spacing: 1px;
    margin-left: 5px;
}
.secFixedNav .tapTel{
    display: none;
}
.secFixedNav .btn:nth-child(3){
    border-right: solid 1px;
    border-color: #313131;
}
@media only screen and (max-width:767px){
    .secFixedNav .inner{
        font-size: 12px;
        letter-spacing: 0.5px;
    }    
    .secFixedNav .btn{
        height: 50px;
    }
    .secFixedNav .tapTel{
        display: -webkit-flex;
        display: flex;
        height: 50px;
    }
    .secFixedNav .wrapBox{
        position: relative;
        height: 50px;
    }
    .secFixedNav .btn:first-child{
        border-left: none;
    }
    .secFixedNav .btn:nth-child(3){
        border-right: none;
    }
}

/*-----------------------------------------------
	secCmnNextLoad
-----------------------------------------------*/
.secCmnNextLoad{
	width: 400px;
	margin: 50px auto 0;
}
.secCmnNextLoad .btnMore{
    display: block;
    height: 60px;
    font-size: 15px;
    border: solid 1px #da2b17;
    font-weight: bold;
    letter-spacing: 1px;
    padding-top: 17px;
    text-align: center;
    border-radius: 10px;
    color: #fff;
    background: #da2b17;
    box-shadow: inset 0 -5px #ae2212;
}
.secCmnNextLoad .inner{
    display: inline-block;
    position: relative;
    padding: 1px 15px 0 0;
    background: url("../img/common/iconAroow02.png") right center /8px 14px no-repeat;
}
.secCmnNextLoad .icoLoader{
	display: none;
	width: 32px;
	height: 60px;
	margin: 0 auto;
}
@media only screen and (max-width:767px){
	.secCmnNextLoad{
		width: 250px;
        background: #FFF;
        margin: 30px auto 0;
	}
	.secCmnNextLoad .btnMore{
		height:40px;
		font-size:14px;
		padding-top: 10px;
		box-shadow: inset 0 -2px #ae2212;
	}
	.secCmnNextLoad .icoLoader{
		width: 24px;
		height:40px;
		padding:16px 0 0;
	}
}

/*-----------------------------------------------
	その他
-----------------------------------------------*/
/*txtNone*/
.txtNone{
    text-align: center;
    font-size: 16px;
    line-height: 1.4;
    margin: 80px auto;
}
@media only screen and (max-width:767px){
    .txtNone{
        font-size: 15px;
        margin: 50px auto;
        width: 93%;
    }    
}
/*スライダー*/
.disabled .swiper-button-prev, 
.disabled .swiper-button-next{
    display: none !important;
}
.disabled .swiper-pagination{
    display: none !important;
}
/*共通タイトル*/
.cmnTop{
    text-align: center;
    margin: 85px 0;
}
.cmnTop .titCmnSub{
    font-size: 26px;
    letter-spacing: 1px;
}
.cmnTop .titCmn{
    font-size: 22px;
    margin-top: 24px;
}
@media only screen and (max-width:767px){
    .cmnTop{
        margin: 50px 0 30px;
    }
    .cmnTop .titCmnSub{
        font-size: 18px;
    }
    .cmnTop .titCmn{
        font-size: 18px;
        margin-top: 15px;
    }    
}
/*secCmnContact*/
.secCmnContact{
    margin: 50px auto 0;
    text-align: center;
}
.secCmnContact .tit{
    font-size: 20px;
    letter-spacing: 0.5px;
    line-height: 1.4;
}
.secCmnContact .btnList{
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    margin: 45px auto 0;
}
.secCmnContact .btn{
    width: 380px;
    border: #e1e1e1 solid 1px;
    display: block;
    color: #000;
    padding: 45px 0 50px;
}
.secCmnContact .txt{
    font-size: 22px;
    letter-spacing: 2px;
    margin-top: 15px;
}
.secCmnContact .boxTel{
    margin-top: 60px;
    display: inline-block;
}
.secCmnContact .titTel{
    font-size: 18px;
    letter-spacing: 2px;
    position: relative;
    padding-bottom: 18px;
}
.secCmnContact .telCompanyname{
    font-size: 16px;
    line-height: calc(20 / 16);
    letter-spacing: 2px;
    margin-top: 15px;
    font-weight: bold;
}
.secCmnContact .titTel::after{
    content: "";
    width: 30px;
    height: 1px;
    background: #7d7d7d;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0 auto;
}
.secCmnContact .txtNum{
    font-size: 40px;
    letter-spacing: 2px;
    margin-top: 25px;
}
.secCmnContact .telCompanyname + .txtNum{
    margin-top: 15px;
}
.secCmnContact .txtTime{
    font-size: 15px;
    letter-spacing: 2px;
    margin-top: 15px;
}
@media only screen and (max-width:767px){
    .secCmnContact{
        margin: 30px auto 50px;
        width: 92%;
    }
    .secCmnContact .tit{
        font-size: 15px;
        line-height: 1.8;
    }
    .secCmnContact .btnList{
        margin: 25px auto 0;
    }
    .secCmnContact .btn{
        width: 32%;
        padding: 20px 0;
    }
    .secCmnContact .icon{
        width: 40px;
        margin: 0 auto;
    }
    .secCmnContact .txt{
        font-size: 14px;
        line-height: calc(18 / 14);
        letter-spacing: 1px;
        margin-top: 10px;
    }
    .secCmnContact .boxTel{
        margin-top: 30px;
    }
    .secCmnContact .titTel{
        font-size: 15px;
        letter-spacing: 1px;
        padding-bottom: 15px;
    }
    .secCmnContact .txtNum{
        font-size: 28px;
        letter-spacing: 1px;
        margin-top: 15px;
    }
    .secCmnContact .txtTime{
        font-size: 13px;
        letter-spacing: 1px;
        margin-top: 10px;
    }
    
}
/* titCmnIn */
.titCmnIn{
    font-size: 26px;
    letter-spacing: 1px;
    padding-bottom: 30px;
    position: relative;
    text-align: center;
    margin-bottom: 50px;
}
.titCmnIn::after{
    content: "";
    background: #404040;
    width: 60px;
    height: 1px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0 auto;
}
@media only screen and (max-width:767px){
    .titCmnIn{
        font-size: 20px;
        padding-bottom: 20px;
        margin-bottom: 30px;
    }
}

/*-----------------------------------------------
	form
-----------------------------------------------*/
/*上部*/
.secForm{
    margin: 100px auto 70px;
}
.bgForm{
    background: #fafafa;
    padding: 80px 0 50px;
}
.secForm .titForm{
    text-align: center;
    font-size: 26px;
    letter-spacing: 3px;
    padding-bottom: 30px;
    position: relative;
}
.secForm .titForm::after{
    content: "";
    width: 60px;
    height: 1px;
    background: #404040;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0 auto;
}
.secForm .boxStep{
    text-align: center;
    margin: 45px auto 50px;
}
.secForm .txtBoxTop{
    text-align: center;
    line-height: 1.8;
}
.secForm .txtBoxTop .txt1{
    font-size: 20px;
    letter-spacing: 1.5px;
}
.secForm .txtBoxTop .txt2{
    font-size: 15px;
    letter-spacing: 0.5px;
    margin-top: 20px;
}
.secForm .txtBoxTop .txt3{
    font-size: 15px;
    line-height: 2;
}

@media only screen and (max-width:767px){
    .secForm{
        margin: 35px auto;
    }
    .bgForm{
        background: #FFF;
        padding: 0 3%;
    }
    .secForm .titForm{
        font-size: 18px;
        padding-bottom: 35px;
    }
    .secForm .boxStep{
        width: 80%;
        margin: 45px auto;
    }
    .secForm .txtBoxTop .txt1{
        font-size: 14px;
        letter-spacing: 0.5px;
        line-height: 1.5;
    }
    .secForm .txtBoxTop .txt2{
        font-size: 12px;
        letter-spacing: 0;
        margin-top: 5px;
        line-height: 1.84;
    }
    .secForm .txtBoxTop .txt3{
        font-size: 13px;
    }    
}
/*内部*/
.secForm .dlList{
    width: 860px;
    margin: 20px auto 0;
}
.secForm .dlBox{
	border-bottom: #dcdcdc solid 1px;
	width: 100%;
	display: table;
}
.secForm .dlBox:nth-child(1){
    border-top: #dcdcdc solid 1px;
}    
.secForm .dlBox:last-child{
	border-bottom: none;
}
.secForm .dlBox .dtBox{
	display: table-cell;
	vertical-align: top;
	padding: 40px 0 27px;
	width: 270px;
}
.secForm .dlBox .ddBox{
	display: table-cell;
	vertical-align: top;
	padding: 27px 0;
}
.secForm .txtIn{
    font-size: 15px;
}
.secForm .flForm{
	display: -webkit-flex;
    display: flex;
	-webkit-align-items: center;
	align-items: center;
}
.secForm .dtBox .flForm{
	-webkit-align-items: flex-start;
	align-items: flex-start;
}
.secForm .iconForm{
	width: 46px;
	font-size: 14px;
	padding: 8px 0;
	text-align: center;
	margin-right: 15px;
	color: #FFF;
}
.secForm .iconForm.type1{background: #f06d6d;}
.secForm .iconForm.type2{background: #7890a4;}
.secForm .titIn{
	font-size: 15px;
	letter-spacing: 0.5px;
    line-height: 1.7;
    margin-top: 3px
}
.secForm .txtError {
    color: #f00;
    font-size: 14px;
    background: url(../img/common/iconError.png) left top no-repeat;
    background-size: 14px;
    padding: 0 0 0 17px;
    margin-top: 14px;
    line-height: 14px;
    font-weight: 500;
}
.secForm .btnPostal{
    background: #000;
    color: #FFF;
    width: 90px;
    height: 39px;
    font-size: 13px;
    padding: 13px 0 0;
    text-align: center;
}
.secForm .txtNote{
    font-size: 14px;
    line-height: 1.8;
}
.secForm .txtNote2{
    font-size: 13px;
    line-height: 1.8;
}
.secForm input[type="text"],
.secForm input[type="tel"],
.secForm input[type="email"],
.secForm input[type="password"],
.secForm select{
	height:55px;
	background:#FFF;
	border:#d2d2d2 solid 1px;
	font-size:13px;
	letter-spacing:0.5px;
	padding:5px 12px;
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
.secForm textarea{
	background:#FFF;
	border:#d2d2d2 solid 1px;
	font-size:13px;
	line-height: 1.4;
	letter-spacing:0.5px;
	padding:10px 12px;
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	height: 155px;
}
.secForm input[type="checkbox"]{
	width: 32px;
    min-width: 32px;
	height: 32px;
	background: #FFF;
	border:#d2d2d2 solid 1px;
	border-radius: 3px;
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
	position: relative;
	margin-left: 0;
}
.secForm input[type="checkbox"]:checked{
	background: #000;
	border: none;
}
.secForm input[type="checkbox"]:checked::after{
	content: "";
	border-right: #fff solid 3px;
	border-bottom: #fff solid 3px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	width: 9px;
	height: 16px;
	top: 5px;
	left: 12px;
}
.secForm input[type="text"].inputRequired,
.secForm input[type="tel"].inputRequired,
.secForm input[type="email"].inputRequired,
.secForm input[type="password"].inputRequired,
.secForm select.inputRequired,
.secForm textarea.inputRequired{
	background: #ffffe5;
}
.secForm input[type="text"].error,
.secForm input[type="tel"].error,
.secForm input[type="email"].error,
.secForm input[type="password"].error,
.secForm select.error,
.secForm textarea.error{
    background: #fef6f6;
    border: #f28484 solid 1px;
}
.secForm .w560{width: 560px;}
.secForm .w460{width: 460px;}
.secForm .w420{width: 420px;}
.secForm .w400{width: 400px;}
.secForm .w380{width: 380px;}
.secForm .w350{width: 350px;}
.secForm .w230{width: 230px;}
.secForm .w200{width: 200px;}
.secForm .w170{width: 170px;}
.secForm .w150{width: 150px;}
.secForm .w130{width: 130px;}
.secForm .w100{width: 100px;}
.secForm .mr15{margin-right:15px;}
.secForm .mr10{margin-right:10px;}
.secForm .mr5{margin-right:5px;}
.secForm .mt15{margin-top:15px;}
.secForm .mt10{margin-top:10px;}
.secForm .checkList{
    font-size: 0;
}
.secForm .checkList .checkBox{
    display: inline-block;
    vertical-align: top;
    margin: 10px 0 0 0;
    min-width: 33.33%;
}
.secForm .checkList2 .checkBox{
    margin-top: 10px;
}
.secForm label{
    line-height: 1.4;
	display: -webkit-flex;
    display: flex;
	-webkit-align-items: center;
	align-items: center;    
}
@media only screen and (max-width:767px){
    .secForm .dlList{
        width: 100%;
        margin: 20px auto 0;
    }
    .secForm .dlBox{
        display: block;
    }
    .secForm .dlBox .dtBox{
        display: block;
        padding: 14px 0 10px;
        width: 100%;
    }
    .secForm .dlBox .ddBox{
        display: block;
        padding: 0 0 14px;
    }
    .secForm .flSpNone{
        display: block;
    }
    .secForm .flSpNone select{
        margin-bottom: 15px;
    }
    .secForm .iconForm{
        width: 46px;
        min-width: 46px;
        font-size: 12px;
        padding: 8px 0;
        margin-right: 10px;
    }
    .secForm .titIn{
        font-size: 14px;
    }
    .secForm .btnPostal{
        width: 90px;
        min-width: 90px;
        height: 45px;
        padding: 17px 0 0;
    }
    .secForm .txtIn{
        font-size: 13px;
    }
    .secForm .txtNote{
        font-size: 12px;
    }
    .secForm .txtNote2{
        font-size: 11px;
    }  
    .secForm input[type="text"],
    .secForm input[type="tel"],
    .secForm input[type="email"],
    .secForm input[type="password"],
    .secForm select{
        height:45px;
        font-size:16px;
        padding:5px;
    }
    .secForm textarea{
        padding:10px;
        height: 130px;
    }
    .secForm input[type="checkbox"]{
        width: 26px;
        height: 26px;
        min-width: 26px;
    }
    .secForm input[type="checkbox"]:checked::after{
        top: 3px;
        left: 9px;
    }
    .secForm .ws100p{width: 100%;}
    .secForm .ws130{width: 130px;}    
    .secForm .checkList .checkBox{
        min-width: 50%;
    }
}
/*下部*/
.secForm .privacyBox{
    margin: 40px auto 20px;
}
.secForm .privacyBox .titPrivacy{
    font-size: 18px;
    text-align: center;
}
.secForm .privacyBox .boxPrivacy{
    width: 600px;
    height: 260px;
    border: #CCC solid 1px;
    overflow-y: scroll;
    margin: 20px auto 0;
    padding: 30px;
    background: #FFF;
    -webkit-overflow-scrolling: touch;
}
.secForm .privacyBox .boxIn{
    margin-top: 20px;
}
.secForm .privacyBox .txt{
    font-size: 12px;
    line-height: 1.6;
}
.secForm .privacyBox .tit{
    font-size: 14px;
    line-height: 1.6;
    padding-bottom: 8px;
    border-bottom: #CCC solid 1px;
    margin-bottom: 10px;
}
.secForm .btnPrivacy{
	width: 400px;
	margin: 40px auto 20px;
}
.secForm .btnPrivacy .labelPrivacy{
	background: #f6f5f5;
	padding: 24px 10px;
	display: -webkit-flex;
    display: flex;
	-webkit-align-items: center;
	align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
}
.secForm .btnPrivacy .txtIn{
	font-size: 16px;
}
.secForm .btnForm{
    display: block;
    width: 400px;
    height: 80px;
    margin: 20px auto 0;
    font-size: 19px;
    text-align: center;
    color: #FFF;
    background: #000;
    border-radius: 50px;
    padding-top: 32px;
}
@media only screen and (max-width:767px){
    .secForm .privacyBox{
        margin: 20px auto;
    }
    .secForm .privacyBox .titPrivacy{
        font-size: 15px;
    }
    .secForm .privacyBox .boxPrivacy{
        width: 92%;
        height: 200px;
        margin: 20px auto 0;
        padding: 20px;
    }
    .secForm .privacyBox .boxIn{
        margin-top: 15px;
    }
    .secForm .privacyBox .txt{
        font-size: 11px;
    }
    .secForm .privacyBox .tit{
        font-size: 13px;
    }
    .secForm .btnPrivacy{
        width: 92%;
        margin: 30px auto 20px;
    }
    .secForm .btnPrivacy .labelPrivacy{
        padding: 14px 10px;
    }
    .secForm .btnPrivacy .txtIn{
        font-size: 13px;
    }
    .secForm .btnForm{
        width: 92%;
        height: 60px;
        font-size: 16px;
        padding-top: 22px;
    }    
}
/*co,ok*/
.secCo.secForm{
    margin: 0 auto 100px;
}
.secCo .bgForm{
    background: none;
    padding: 50px 0 0;
}
.secCo .dlBox .dtBox{
	padding: 30px 0;
}
.secCo .titIn{
    font-size: 16px;
}
.secCo .dlBox .ddBox{
	font-size: 16px;
	line-height: 1.8;
	padding: 26px 0;
    vertical-align: middle;
}
.secCo .txtCo{
	font-size: 15px;
	margin: 70px auto 20px;
	text-align: center;
}
.secCo .titOk{
	font-size: 18px;
	font-weight: bold;
	margin: 80px auto 30px;
	text-align: center;
}
.secCo .txtOk{
	font-size: 15px;
	margin: 30px auto 70px;
	text-align: center;
	line-height: 2;
}
.secCo .btnBack{
    width: 240px;
    height: 60px;
    border: #CCC solid 1px;
    background: #FFF;
    display: block;
    margin: 20px auto 0;
    font-size: 15px;
    border-radius: 50px;
    padding-top: 22px;
    text-align: center;
    color: #000;
}
@media only screen and (max-width:767px){
    .secCo.secForm{
        margin: 0 auto 70px;
    }
    .secCo .bgForm{
        background: none;
        padding: 50px 3% 0;
    }
	.secCo .dlBox .dtBox{
		padding: 20px 0 10px;
	}
    .secCo .titIn{
        font-size: 14px;
    }
	.secCo .dlBox .ddBox{
		font-size: 13px;
		line-height: 1.5;
		padding: 0 0 20px;
	}
	.secCo .titOk{
		font-size: 17px;
		margin: 30px auto 20px;
        width: 92%;
	}
	.secCo .txtOk{
		font-size: 13px;
		margin: 20px auto 50px;
		line-height: 1.8;
        width: 92%;
	}
    .secCo .btnBack{
        width: 200px;
        height: 46px;
        font-size: 13px;
        padding-top: 16px;
    }    
}

/*order*/
@media only screen and (max-width:767px){
	.flexOr{
		display: flex;
		display: -webkit-flex;
		flex-direction: column;
	}
	.order1{order: 1;}
	.order2{order: 2;}
	.order3{order: 3;}
	.order4{order: 4;}
	.order5{order: 5;}
}
/* 250522 */
#header .btnHeader.cmnCl03{
    background-color: #e69414;
    box-shadow: inset 0 -5px #b87610;
}
#header .btnHeader.cmnCl02{
    background-color: #da2b17;
    box-shadow: inset 0 -5px #ae2212;
}
#header .btnHeader.cmnCl01{
    background-color: #14bfce;
    box-shadow: inset 0 -5px #1099a5;
}
#fixedNav .btn.reserve{
    background-color: #14bfce;
}
#fixedNav .btn.contact{
    background-color: #da2b17;
}
#fixedNav .btn.member{
    background-color: #5dc241;
}
#fixedNav .btn.tapTel{
    background-color: #e69414;
}
@media only screen and (max-width:767px){
    #fixedNav .btn img{
        width: 100%;
        height: auto;
    }
    #fixedNav .btn.reserve .icon{
        width: 18px;
    }
    #fixedNav .btn.contact .icon{
        width: 15px;
    }
    #fixedNav .btn.tapTel .icon{
        width: 11px;
    }
}
.secCmnContact .btn{
    color: #fff;
    border-radius: 10px;
    position: relative;
}
.secCmnContact .btn{
    padding-top: 127px;
    padding-bottom: 51px;
}
.secCmnContact .btn .icon{
    position: absolute;
}
.secCmnContact .btn.reserve .icon{
    width: 60px;
    height: 60px;
    left: calc(50% - 30px);
    top: 46px;
}
.secCmnContact .btn.contact .icon{
    width: 50px;
    height: 66px;
    left: calc(50% - 25px);
    top: 44px;
}
.secCmnContact .btn.catalog .icon{
    width: 71px;
    height: 53px;
    left: calc(50% - 35.5px);
    top: 50px;
}
.secCmnContact .txt{
    margin-top: 0;
}
.secCmnContact .btn.reserve{
    background-color: #14bfce;
    box-shadow: inset 0 -10px #1099a5;
}
.secCmnContact .btn.contact{
    background-color: #da2b17;
    box-shadow: inset 0 -10px #ae2212;
}
.secCmnContact .btn.catalog{
    background-color: #e69414;
    box-shadow: inset 0 -10px #b87610;
}
@media only screen and (max-width:767px){
    .secCmnContact .btn{
        padding-top: 67px;
        padding-bottom: 18px;
    }
    .secCmnContact .btn.catalog{
        padding-top: 55px;
    }
    .secCmnContact .btn.reserve .icon{
        width: 34px;
        height: 34px;
        left: calc(50% - 17px);
        top: 23px;
    }
    .secCmnContact .btn.contact .icon{
        width: 29px;
        height: 38px;
        left: calc(50% - 14.5px);
        top: 20px;
    }
    .secCmnContact .btn.catalog .icon{
        width: 41px;
        height: 32px;
        left: calc(50% - 20.5px);
        top: 17px;
    }
    .secCmnContact .btn.reserve{
        box-shadow: inset 0 -5px #1099a5;
    }
    .secCmnContact .btn.contact{
        box-shadow: inset 0 -5px #ae2212;
    }
    .secCmnContact .btn.catalog{
        box-shadow: inset 0 -5px #b87610;
    }
}
@media only screen and (max-width:767px){
    .secCmnContact .telCompanyname{
        font-size: 14px;
        line-height: calc(18 / 14);
    }
    .secCmnContact .telCompanyname + .txtNum{
        margin-top: 10px;
    }
}

/* 250626 */
.box01 {
    background: #f39800;
    color: #fff;
}
.box02 {
    background: #313131;
    color: #fff;
}
.box03 {
    background: #f03179;
    color: #fff;
}