@charset "UTF-8";
/* CSS Document */

/*
Theme Name: komoda
*/

.sp{display: none;}

header{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	background: #FFF;
	width: 88%;
	max-width: 1200px;
	margin: 0 auto;
	border-bottom: 1px solid #595757;
	position: relative;
}

header:after{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: #c6c1c1;
	position: absolute;
	bottom: -5px;
	left: 0;
}

header.top{
	max-width: 1300px;
	position: absolute;
	top: 6.4vh;
	left: 50%;
	transform: translateX(-50%);
	padding: 0 2.4vw;
	margin: 0;
	z-index: 10;
}

header.top,
header.nb{
	border: none;
}

header.top:after,
header.nb:after{
	display: none;
}

header h1{
	width: 10vw;
	max-width: 88px;
	min-width: 70px;
}

.gnav{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	font-size: 0;
}

.gnav li{
	display: inline-block;
	text-align: center;
	padding: 4.4vh 0 6.4vh;
	font-size: 13px;
	line-height: 1;
	letter-spacing: .1em;
	position: relative;
}

header.top .gnav li{
	padding: 4.4vh 0;
}

.gnav li a{
	padding: 0 1.6vw;
	display: inline-block;
	border-right: 1px solid #c6c1c1;
}

.gnav li:last-child a{
	border-right: none;
	padding-right: 0;
}

.gnav li:after{
	content: "";
    position: absolute;
    width: 0;
    height: 2px;
    opacity: 0;
    bottom: 0;
    left: 0;
    background-color: #000;
    z-index: 2;
    transition: width 0.8s cubic-bezier(0.08, 0.92, 0.35, 1) 0s, opacity 0s ease 0.8s;
}

.gnav li:hover:after{
    width: 100%;
    opacity: 1;
    transition: width 0.8s cubic-bezier(0.08, 0.92, 0.35, 1);
}

.gnav li span{
	font-family: "Times New Roman",sans-serif;
	font-style: italic;
	letter-spacing: .18em;
	font-size: 22px;
	display: block;	
	padding-bottom: 12px;
}

@media (max-width: 1200px) {

.gnav li{
	font-size: 1.08vw;
}

.gnav li span{
	font-size: 1.6em;
}

.gnav li.in img{
	width: 2.4em;
	max-width: 30px;
}

}

.top-icatch-area{
	width: 100vw;
	height: 100vh;
	margin-bottom: 7.2vh;
}

.top-slider{
	width: 100%;
	height: 100vh;
}

.top-slider img{
    height: 100vh;
    width: 100%;
    object-fit:cover;
    font-family: 'object-fit: cover;'
}

.l-wrap{
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
}
.m-wrap{
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
}


h2{
	font-size: 13px;
	line-height: 1;
	letter-spacing: .1em;
	margin: 6.4vh 0;
}

h2 span{
	font-family: "Times New Roman",sans-serif;
	font-style: italic;
	letter-spacing: .18em;
	font-size: 22px;
	display: block;	
	margin-bottom: 12px;
}

h2.top{
	text-align: center;
	font-size: 22px;
	line-height: 1;
	margin-bottom: 40px;
	position: relative;
	font-family: "Times New Roman",sans-serif;
	font-style: italic;
	letter-spacing: .18em;
	font-size: 22px;
}

h2.top:after{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: #c6c1c1;
	position: absolute;
	top: 49%;
	z-index: -1;
}

h2.top span{
	background: #FFF;
	padding: 0 24px;
	display: inline;
	margin: 0;
}

h3{
	font-size: 19px;
	letter-spacing: .3em;
}

.post-wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.post-wrap .post{
	width: 33.333%;	
}

.post-wrap .post .thumb{
	width: 100.2%;
	position: relative;
	line-height: 1;	
	padding-top: 66%;
	overflow: hidden;
}

.post-wrap .post .thumb img{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50% , -50%);
	width: 100%;
	transition: .4s ease;
}

.post-wrap .post .thumb img:hover{
	transform: translate(-50% , -50%) scale(1.05);
}

.post-wrap .post h3{
	padding: 16px 24px;
	font-size: 15px;
	letter-spacing: 0.05em;
}

.post-wrap .post .thumb .date{
	position: absolute;
	top: 0;
	left: 0;
	background: #FFF;
	z-index: 2;
	padding: 8px 24px;
	font-family: "Times New Roman",sans-serif;
	font-style: italic;
	letter-spacing: .05em;
	font-size: 13px;
}

.top-news-area{
	margin-bottom: 9.6vh;
}

footer{
	height: 1px;
	text-align: center;
	font-size: 12px;
	margin: 9.6vh auto;
	
}

/*
==========================
PAGE
==========================
*/

.page-icatch-area{
	width: 88%;
	max-width: 1200px;
	margin: 0 auto;
}

/*
==========================
concept
==========================
*/

.concept-read-area{
	margin-bottom: 12vh;
}

.concept-read-area h3{
	margin-bottom: 4.8vh;
}

.concept-profile-area img{
	display: block;
	line-height: 1;
	margin-bottom: 3.2vh;
}

.concept-profile-area h3,
.concept-history-area h3{
	margin-bottom: 3.2vh;
}

.concept-profile-area{
	margin-bottom: 8.8vh;
}


/*
==========================
service
==========================
*/

h2.service{
	padding-left: 7.2vw;
}

.service-wrap{
	background: #faf9f6;
	padding: 4.8vh 7.2vw;
	margin-bottom: 8.8vh;
	letter-spacing: .1em;
}

.service-wrap .read{
	font-size: 13px;
}

.service-wrap h3{
	font-size: 17px;
	margin-bottom: 16px;	
}

.service-wrap table{
	width: 41.5%;
}

.service-wrap th,
.service-wrap td{
	padding-top: 3.2vh;
	padding-bottom: 8px;
	border-bottom: 1px solid #c6c1c1;
	font-size: 16px;
}

.service-wrap td{
	text-align: right;
	font-size: 15px;
}

.service-wrap .note th,
.service-wrap .note td{
	padding-top: 8px;
	padding-bottom: 0;
	border-bottom: none;
	font-size: 13px;
}

.please-area{
	padding: 0 20%;
	padding-top: 6.4vh;
	border-top: 1px solid #9b9b9b;
	font-size: 13px;
}

.please-area h3{
	font-size: 23px;
	margin-bottom: 8px;
}
.please-area p{
	width: 56%;	
}

.service-contents-wrap{
	column-count:2;
	column-gap:17%;
}

.service-contents{
	width: 100%;	
}


/*
.service-contents-wrap.store{
	column-count:unset;
	column-gap:unset;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.store .inner{
	width: 41.5%;	
}

.store .inner .service-contents{
	width: 100%;	
}
*/

.service-contents .title-wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	padding-top: 3.2vh;
	padding-bottom: 8px;
	border-bottom: 1px solid #c6c1c1;
}

.service-contents .text{
	font-size: 13px;
	padding-top: 8px;
}

/* single */


.single-wrap.service-single-wrap h3{
	padding-bottom: 0;
}

.single-wrap.service-single-wrap h3:after{
	display: none;
}

.service-icatch-wrap{
	margin-bottom: 10em;
}

.service-icatch-wrap p{
	font-size: 1.1em;
	margin-bottom: 4em;
}

.single-wrap.service-single-wrap .video-wrap,
.single-wrap.service-single-wrap .video-wrap video{
	width: 100%;
}

.single-wrap.service-single-wrap .service-detail-contents{
	margin-bottom: 10em;
}

.single-wrap.service-single-wrap .service-detail-contents h3{
	border-bottom: 1px solid #c6c1c1;
	padding-bottom: 2.4vh;
	padding-left: 1.6em;
}

.service-detail-contents h3:before{
	content: "1,";
	display: block;
	font-size: 1.2em;
	font-family: "Times New Roman",sans-serif;
	font-style: italic;	
	position: absolute;
	left: 0;
	top: 0;
	transform: translateY(-4px);
}

.service-detail-contents-wrap section:nth-of-type(2).service-detail-contents h3:before{
	content: "2,";
}
.service-detail-contents-wrap section:nth-of-type(3).service-detail-contents h3:before{
	content: "3,";
}
.service-detail-contents-wrap section:nth-of-type(4).service-detail-contents h3:before{
	content: "4,";
}
.service-detail-contents-wrap section:nth-of-type(5).service-detail-contents h3:before{
	content: "5,";
}
.service-detail-contents-wrap section:nth-of-type(6).service-detail-contents h3:before{
	content: "6,";
}
.service-detail-contents-wrap section:nth-of-type(7).service-detail-contents h3:before{
	content: "7,";
}
.service-detail-contents-wrap section:nth-of-type(8).service-detail-contents h3:before{
	content: "8,";
}
.service-detail-contents-wrap section:nth-of-type(9).service-detail-contents h3:before{
	content: "9,";
}
.service-detail-contents-wrap section:nth-of-type(10).service-detail-contents h3:before{
	content: "10,";
}
.service-detail-contents-wrap section:nth-of-type(11).service-detail-contents h3:before{
	content: "11,";
}
.service-detail-contents-wrap section:nth-of-type(12).service-detail-contents h3:before{
	content: "12,";
}
.service-detail-contents-wrap section:nth-of-type(13).service-detail-contents h3:before{
	content: "13,";
}
.service-detail-contents-wrap section:nth-of-type(14).service-detail-contents h3:before{
	content: "14,";
}
.service-detail-contents-wrap section:nth-of-type(15).service-detail-contents h3:before{
	content: "15,";
}

.single-wrap.service-single-wrap .service-detail-contents .text{
	font-size: 1.1em;
	margin-bottom: 4em;
}

.single-wrap.service-single-wrap .service-detail-contents .thumb-wrap,
.single-wrap.service-single-wrap .service-detail-contents .video-wrap{
	width: 80%;
	max-width: 1440px;
	margin: 0 auto;
}

.video-wrap{
	position: relative;
	width: 60%;
	margin:0 auto;
}

.video-wrap .play-btn{
	display: block;
	width: 20%;
	max-width: 90px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
	z-index: 2;
}

.video-wrap .play-btn.playActive{display:none;}



/*
==========================
works
==========================
*/


.arc-works-wrap h3{
	font-size: 17px;
	margin-bottom: 16px;	
}

.arc-works-wrap .post-wrap{
	margin-bottom: 7.2vh;
}

.arc-works-wrap .post-wrap .post{
	margin-bottom: 4.8vh;
}

.post-wrap .post .thumb .cat{
	position: absolute;
	bottom: 0;
	right: 0;
	background: #FFF;
	z-index: 2;
	padding: 12px 24px;
	letter-spacing: .2em;
	font-size: 15px;
}

.works-read{
	margin: 4vh 0;
}

.post-wrap .content{
	position: relative;
	margin-bottom: 6.4vh;
}

.post-wrap .content .tag{
	position: absolute;
	top: 0;
	left: 0;
	background: #FFF;
	z-index: 2;
	padding: 8px 24px;
	font-family: "Times New Roman",sans-serif;
	font-style: italic;
	letter-spacing: .05em;
	font-size: 19px;
}

.slick-dots{
	position: absolute;
	z-index: 10;
	right: 5px;
	bottom: -2vh;
}

.slick-dots li{
	display: inline-block;
	text-indent: -9999px;
	background: #898989;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	margin-left: 8px;
	position: relative;
}

.slick-dots li.slick-active{
	background: #231815;
}

.m-wrap.works-inner{
	max-width: 1010px;
}

.m-wrap.works-inner h2,
.m-wrap.works-inner h3{
	padding-left: 5px;
}

/* the slides */
.m-wrap.works-inner .slick-slide {
  margin: 0 5px;
}

.ba-wrap .content{
	width: calc(50% - 10px);
}

.ba-wrap .content .video-wrap,
.ba-wrap .content .video-wrap video{
	width: 100%;
}

.ba-wrap .content .video-wrap .play-btn{
	max-width: 60px;
}



/*
==========================
diary
==========================
*/


.arc-diary-wrap .post-wrap .post{
	margin-bottom: 4.8vh;
}


/*
==========================
question
==========================
*/

.faq-contents{
	border-bottom: 1px solid #c6c1c1;
}

.faq-contents dt{
	margin: 2.5em 0;
	padding: 0 2.5em;
	position: relative;
	cursor: pointer;
}

.faq-contents dt:before{
	content: "Q.";
	font-size: 1.25em;
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);	
}

.faq-contents dt:after{
	content: "";
	display: block;
	width: .5em;
	height: .5em;
	border-top: 2px solid #c8c8c8;
	border-right: 2px solid #c8c8c8;
	position: absolute;
	top: 50%;
	right: 2em;
	transform: translateY(-50%) rotate(135deg);	
	transition: .2s ease;
}

.faq-contents dt span{
	font-size: 1.07em;
}

.faq-contents dd{
	margin: 0;
	padding: 0 2.5em;
	max-height: 0px;
	overflow: hidden;
	position: relative;
	opacity: 0;
	transition: margin .3s ease , opacity .4s ease;
}

.faq-contents dd:before{
	content: "A.";
	font-size: 1.25em;
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);	
}

.faq-contents dd span{
	font-size: .9em;
	color: #5c5c5c;
}

.faq-contents.active dt{
	margin-bottom: 1em;
}

.faq-contents.active dt:after{
	transform: translateY(-50%) rotate(-45deg);	
}

.faq-contents.active dd{
	margin: 1em 0;
	max-height: 999px;
	opacity: 1;
}


/*
==========================
reservation
==========================
*/

.res-wrap{
	max-width: 570px;
}

.res-read{
	line-height: 2.6;
	font-size: 13px;
	margin-bottom: 8vh;
}

.form-wrap h3{
	font-size: 13px;
	letter-spacing: .2em;
	margin-top: 2.4vh;
}

.form-wrap .read{
	margin: 4vh 0;
	padding-top: 4vh;
}

.day p{
	width: 30%;
}

.day span{
	display: block;
	text-align: left;
	font-size: 11px;
	letter-spacing: .2em;
}


input[type="text"],
input[type="tel"],
input[type="email"],
textarea{
    border: none;
    background: #f2f2f2;
    min-height: 38px;
    padding: .5em;
    width: 100%;
    font-size: 16px;
    -webkit-transition: all .1s ease-in-out,color .1s ease-in-out;
    transition: all .1s ease-in-out,color .1s ease-in-out;
    letter-spacing: .2em;
}

textarea{
	height: 210px;
}


input::-webkit-input-placeholder { color:#CCC;}
input:-moz-placeholder { color:#CCC;}
input::-moz-placeholder { color:#CCC;}
input::-webkit-input-placeholder { color:#CCC;}
input:-moz-placeholder { color:#CCC;}
input::-moz-placeholder { color:#CCC;}

textarea::-webkit-input-placeholder { color:#CCC;}
textarea:-moz-placeholder { color:#CCC;}
textarea::-moz-placeholder { color:#CCC;}
textarea::-webkit-input-placeholder { color:#CCC;}
textarea:-moz-placeholder { color:#CCC;}
textarea::-moz-placeholder { color:#CCC;}

select::-webkit-input-placeholder { color:#CCC;}
select:-moz-placeholder { color:#CCC;}
select::-moz-placeholder { color:#CCC;}
select::-webkit-input-placeholder { color:#CCC;}
select:-moz-placeholder { color:#CCC;}
select::-moz-placeholder { color:#CCC;}


/* radio
================================================== */
input[type="radio"] {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.custom-wpcf7c-confirmed .form-wrap label span:before{
    display: inline-block;
    width: 8px;
    height: 8px;
    border: none;
    background: #333;
    border-radius: 100%;
    content: '';
    z-index: 0;
    margin-right: 8px;
}

.custom-wpcf7c-confirmed .form-wrap label input[type="radio"] + span {
  display: none;

}

.form-wrap label {
  position: relative;
  display: block;
  word-break: break-all;
  margin-bottom: 10px;
}

.form-wrap label input[type="radio"] + span {
  position: relative;
  font-size: 17px;
  padding: 0 30px 0 30px;
}

.form-wrap label span {
  display: inline-block;
}
.form-wrap label input[type="radio"] {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
.form-wrap label input[type="radio"] + span::after {
  position: absolute;
  display: inline-block;
  content: '';
  box-sizing: border-box;
  border-radius: 100%;
}
.form-wrap label input[type="radio"] + span::after {
    position: absolute;
    top: 50%;
    left: 5px;
    display: block;
    margin-top: -8px;
    width: 18px;
    height: 18px;
    border: none;
    background: #f2f2f2;
    border-radius: 100%;
    content: '';
    z-index: 0;
}
.form-wrap label input[type="radio"]:checked + span::before {
	position: absolute;
    top: 50%;
    left: 10px;
    display: block;
    margin-top: -3px;
    width: 8px;
    height: 8px;
    border-radius: 100%;
    background-color: #333;
    content: '';
    z-index: 2;
}

.form-wrap span.wpcf7-list-item{
	margin: 0;
}

input[type="submit"]{
    width: 100%;
    font-size: 16px;
    letter-spacing: .2em;
    color: #595757;
    background: none;
    border: 1px solid #595757;
    font-weight: 400 !important;
    padding: 16px 40px;
    text-align: center;
    transition:all .3 ease;
}

input[type="submit"]:hover,
input[type="button"]:hover{
	opacity: 0.8;	
}

input[type="button"]{
	background: #bbb;
    border: none;
    width: 15em;
    min-height: 3.5em;
    font-size: 16px;
    color: #fff;
    font-weight: 400 !important;
    padding: 6px 0;
    margin-right: 16px;
    transition:all .3 ease;
}

.submit{
	position: relative;
	display: table;
	margin: 2.4vh auto 0;
}

.submit.wpcf7c-elm-step2{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.submit.wpcf7c-elm-step2 input[type="submit"],
.submit.wpcf7c-elm-step2 input[type="button"]{
	width: 47%;
}

.wpcf7c-conf {
    background: none!important;
    border: none!important;
    color: #999!important;
 }

.info-wrap{
	text-align: center;
	margin: 24vh auto;
	color: #231815;
}

.info-wrap h2{
	font-size: 23px;
	margin-bottom:40px;
}
	
.info-wrap p{
	font-size: 16px;
	display: block;
	margin-bottom: 30px;
}

.info-wrap a{
	font-size: 16px;
	display: block;
	margin-top: 60px;
	text-decoration: underline;
}

.ajax-loader{
	display: none!important;
}

div.wpcf7-validation-errors, div.wpcf7-acceptance-missing{
	border: none;
	color: #f00;
}

.cl-wrap{
	margin-top: 12vh;
}

.cl-wrap iframe{
	width: 100%;
}


/*
==========================
single
==========================
*/

.single-wrap h3{
	margin: 4.8vh 0 4.4vh;;
	padding-bottom: 2.4vh;
	font-size: 22px;
	letter-spacing: .3em;
	position: relative;
}

.single-wrap h3:after{
	content: "";
	display: block;
	width: 1em;
	height: 1px;
	background: #c6c1c1;
	position: absolute;
	left: 0;
	bottom: 0;
}

.single-wrap p{
	line-height: 2.3;
}

.single-wrap .date{
	font-size: 13px;
	letter-spacing: .05em;
	font-family: "Times New Roman",sans-serif;
	font-style: italic;
	margin-bottom: 8px;
}

.arc-nav {
	text-align: center;
}

.arc-nav a{
	margin: 0 8px;
	opacity: .5;
}

.arc-nav a:hover{
	opacity: 1;
}

.arc-nav span{
	margin: 0 8px;
}

.next.page-numbers,
.prev.page-numbers{
	display: none;
}
