@charset "UTF-8";

/* =============================================
	mobile menu settings
=============================================　*/
/* Mobile Menu Button */
#menu-button{
	visibility:hidden;
	opacity:0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: fixed;
	z-index: 900;
	top: 0;
	right: 0;
	width: 48px;
	height: 48px;
	background-color: #fafafa;
}
#menu-button.nav-on {
	visibility:visible;
	opacity:1;
}
#menu-button .ham-lines {
	position: relative;
	margin: 0 auto;
	width: 32px;
	height: 32px;
}
#menu-button .ham-lines span,
#menu-button .ham-lines::before,
#menu-button .ham-lines::after {
	position: absolute;
	display: block;
	right: 0;
	left: 0;
	margin: 0 auto;
	width: 28px;
	height: 2px;
	background-color: #111;
	border-radius: 1px;
}
#menu-button .ham-lines span {
	bottom: 15px;
	transition: all .25s .25s;
	opacity: 1;
}
#menu-button .ham-lines::before,
#menu-button .ham-lines::after {
	content: "";
}
#menu-button .ham-lines::before{
	bottom: 24px;
	animation: menu-bar01 .75s forwards;
}
#menu-button .ham-lines::after {
	bottom: 6px;
	animation: menu-bar03 .75s forwards;
}
#menu-button .ham-text {
	font-size: 12px;
	line-height: 1;
}
#menu-button.is-active .ham-lines span {
	opacity: 0;
}
#menu-button.is-active .ham-lines::before {
	animation: active-menu-bar01 .5s forwards;
}
#menu-button.is-active .ham-lines::after {
	animation: active-menu-bar03 .5s forwards;
}
@keyframes menu-bar01 {
	0% {
		transform: translateY(9px) rotate(45deg);
	}
	50% {
		transform: translateY(9px) rotate(0);
	}
	100% {
		transform: translateY(0) rotate(0);
	}
}
@keyframes menu-bar03 {
	0% {
		transform: translateY(-9px) rotate(-45deg);
	}
	50% {
		transform: translateY(-9px) rotate(0);
	}
	100% {
		transform: translateY(0) rotate(0);
	}
}
@keyframes active-menu-bar01 {
	0% {
		transform: translateY(0) rotate(0);
	}
	50% {
		transform: translateY(9px) rotate(0);
	}
	100% {
		transform: translateY(9px) rotate(45deg);
	}
}
@keyframes active-menu-bar03 {
	0% {
		transform: translateY(0) rotate(0);
	}
	50% {
		transform: translateY(-9px) rotate(0);
	}
	100% {
		transform: translateY(-9px) rotate(-45deg);
	}
}
/* Mobile Menu Button end */

/* =============================================

	Common settings

============================================= */
/* table border and paddings */
table th,
table td{
	border: 1px solid #424242;
	padding: 10px;
}

/* =============================================

	Media Query

============================================= */
@media screen and (max-width: 1400px) { /* for iPad pro landscapes */

}

@media screen and (max-width: 1180px) { /* for tablet landscapes */

	#pagewrap {
		position: relative;
		padding-bottom: 51px;
	}

	#header.header {
		padding-top: 0;
	}

	/* module menu button visible */
	#menu-button{
		visibility:visible;
		opacity:1;
	}
	
	/* Mobile Menu Container ここを調整すると、メニューボタンクリック後の動作を調整できる */
	#main-menu-container {
		position: fixed;
		z-index: 700;
		top: 0;
		left: -100vw;
		right: auto;
		bottom: auto;
		overflow-y: auto;
		background-color: #f1f1f1;
		display:block;
		width: 100vw;
		height: 100vh;
		transition: .3s linear;
	}
	#main-menu-container.is-active{
		left: 0;	
	}
	/* Mobile Menu Container ここを調整すると、メニューボタンクリック後の動作を調整できる */

}

@media screen and (max-width: 1024px) { /* for tablet landscape */

	/* style for contact forms, if do not use to delete please
	コンタクフォームのテーブル調整　不要なら消す*/
	.wpcf7 table tr th,
	.wpcf7 table tr td{
		width:100%;
		display:block;
		padding: 10px 0px;
	}
	.wpcf7 table tr th{
		padding-bottom:0;
	}
	/* style for contact forms, if do not use to delete please
	コンタクフォームのテーブル調整　不要なら消す*/

}

@media screen and (max-width: 980px) { /* for mobile landscape */
	#pc-backtop {
		display: none;
	}
	#footer .sp-footer-icons-container {
		display: flex;
	}
}

@media screen and (max-width: 820px) { /* for tablet portrate */
	#pc-backtop {

	}
	#footer .sp-footer-icons-container {

	}
}

@media screen and (max-width: 768px) { /* for mobile  */
	

}

@media screen and (max-width: 460px) { /* for mobile small  */
	

}





#pagewrap .pagenav,
.header-brand-container,
.rb,
.header_contact,
.header_contact_info,
.row_top_greeting .subrow_inner,
.row_banner_app .tb-column.first .subrow_inner{
	display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: -o-flex;
	display: flex;
}
.header-brand-container,
.header_contact_info{
    -webkit-align-content: flex-end; 
    -moz-align-content: flex-end; 
    -ms-align-content: flex-end; 
	align-content: flex-end;
}
.header_contact,
.row_main .tb-column{
    -webkit-align-content: center; 
    -moz-align-content: center; 
    -ms-align-content: center; 
	align-content: center;
}
.header-brand-container,
.header_contact_info{
    -webkit-align-items: flex-end; 
    -moz-align-items: flex-end; 
    -ms-align-items: flex-end; 
	align-items: flex-end;
}
#pagewrap .pagenav,
.header_contact,
.row_main .tb-column{
    -webkit-align-items: center; 
    -moz-align-items: center; 
    -ms-align-items: center; 
	align-items: center;
}
.rb,
.header_contact,
.header_contact_info{
	-webkit-justify-content: flex-end;
	-moz-justify-content: flex-end;
	-ms-justify-content: flex-end;
	justify-content: flex-end;
}
#pagewrap .pagenav,
.row_top_greeting .subrow_inner{
	-webkit-justify-content: center;
	-moz-justify-content: center;
	-ms-justify-content: center;
	justify-content: center;
}
.header-brand-container{
	-webkit-justify-content: space-between;
	-moz-justify-content: space-between;
	-ms-justify-content: space-between;
	justify-content: space-between;
}
#pagewrap .pagenav,
.rb,
.header_contact,
.header_contact_info,
.row_top_greeting .subrow_inner,
.row_banner_app .tb-column.first .subrow_inner{
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
/*--------------------------------- PAGE ---------------------------------*/
*{box-sizing: border-box;}
#pagewrap .pagewidth,
#footerwrap #footer-nav,
#pagewrap #footerwrap .module_row .row_inner{
    width:1200px;
	max-width:94%;
	margin-left:auto;
	margin-right:auto;
}
#footer.pagewidth{
    width: 100%;
    max-width: 100%;
}
#pagewrap{
	background:#ddc48c url(../../uploads/bg.jpg)center top repeat;
	color:#000;
}
body.home #pagewrap,
#headerwrap,
#footerwrap,
.row_banner_app{
	font-weight:500;
}
body img{
	vertical-align:top;
	box-sizing:content-box;
}

.module .image-wrap > a{
	display:inline-block;
	vertical-align:top;
}
#pagewrap a img,
#pagewrap a,
#pagewrap a:hover,
#pagewrap a:active,
#pagewrap a:visited,
.main-menu-container #main-menu > li > a:before,
.main-menu-container #main-menu > li > a:after,
.main-menu-container #main-menu ul,
#pagewrap .pagenav a:before,
#pagewrap .pagenav a:after,
body .module .wpcf7 input[type=submit],
#pagewrap #main-menu-container{
	transition: all 0.5s cubic-bezier(.165,.84,.44,1);
}
a:hover img:not(.module .image-wrap img),
.module .image-wrap > a:hover{
	opacity:0.7;
}
#pagewrap a,
#pagewrap a:hover,
#pagewrap a:active,
#pagewrap a:visited{
	text-decoration:underline;
	color:#000;
}
#pagewrap a:hover{
	text-decoration:none;
}
#pagewrap a:focus{outline: none;}

#main-menu:before,
#main-menu:after,
#content:before,
#content:after,
.module .wpcf7:before,
.module .wpcf7:after{
    content:'';
    display:table;
    clear:both;
}

/*--------------------------------- END PAGE ---------------------------------*/
/*--------------------------------- HEADER ---------------------------------*/
#headerwrap #header.header{
    padding:0;
}
.header-brand-container{
	padding:70px 0 0;
}
#header #site-logo{
	flex-shrink:0;
    margin:10px 0 0;
    line-height:1;
	text-align:center;
}
#header #site-logo a{
    display:inline-block;
    vertical-align: top;
}
.rb{
    padding:0 0 0 20px;
}
#headerwrap #site-description{
	text-align:right;
	width:100%;
	padding:1px 0 0;
	margin:0 0 32px 20px;
}
.header_info{
	font-family: hiragino-mincho-pron, sans-serif;
}
.header_contact_tit{
	flex-shrink:0;
	margin:0 0 20px 20px;
}
.header_tel{
	margin:-4px 0 17px 20px;
}
.header_add{
	font-weight:bold;
	margin:-9px 0 11px 20px;
}
.rb .header_time{
	margin:0 0 0 20px;
}
@media screen and (width > 1180px) {

    .main-menu-container #main-menu{
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flexbox;
		display: -o-flex;
		display: flex;
		-webkit-align-items: center; 
		-moz-align-items: center; 
		-ms-align-items: center; 
		align-items: center;
		-webkit-justify-content: center;
		-moz-justify-content: center;
		-ms-justify-content: center;
		justify-content: center;
		padding:40px 0;
        margin:0;
    }
    .main-menu-container #main-menu > li{
        display:block;
		padding:0 1px 0 0;
        margin: 0;
        position: relative;
    }
	.main-menu-container #main-menu > li:first-child{
		padding:0 1px;
	}
	.main-menu-container #main-menu > li:before{
		content:'';
		display:block;
		position:absolute;
		top:19px;bottom:16px;
		left:0;right:0;
		border:1px solid #9e8b5b;
		border-width:0 1px 0 0;
	}
	.main-menu-container #main-menu > li:first-child:before{
		border-width:0 1px;
	}
    .main-menu-container #main-menu > li:hover > a{
        opacity:0.7;
    }

}

    #pagewrap #main-menu-container .main-menu > li > a{
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flexbox;
		display: -o-flex;
		display: flex;
		flex-direction:column;
		-webkit-align-items: center; 
		-moz-align-items: center; 
		-ms-align-items: center; 
		align-items: center;
		-webkit-justify-content: center;
		-moz-justify-content: center;
		-ms-justify-content: center;
		justify-content: center;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		text-align:center;
		font-size:18px;
		line-height:1.4;
		font-weight:bold;
		text-decoration:none;
		font-family: hiragino-mincho-pron, sans-serif;
		padding:6px 35px 5px;
		position:relative;
		z-index:1;
    }
	#pagewrap #main-menu-container .main-menu li > a:after{
		content:attr(title);
		display:block;
		font-size:12px;
		font-family: Cambria,serif;
		color:#9b8742;
		padding:1px 0 0;
	}
.main-menu-container #main-menu > li .sub-menu {
    margin: 0;
}
.main-menu-container #main-menu > li .sub-menu li {
	border-bottom: solid 1px #a8a8a8;
	margin-bottom:0;
    list-style: none;
    text-align: center;
}
.main-menu-container #main-menu > li .sub-menu li:last-child{
	border-bottom: none;
	margin-bottom: 0;
}
.main-menu-container #main-menu > li .sub-menu li a{
	background: #ffffffab;
	display: flex;
	font-family: hiragino-mincho-pron, sans-serif;
	font-weight: bold;
	flex-direction: column;
	padding: 10px 0;
	text-decoration: none;
    width: 100%;
}
.main-menu-container #main-menu > li .sub-menu li:hover{
	opacity:0.7;
}
.main-menu-container #main-menu > li .sub-menu {
    display: block;
	opacity: 0;
    position: absolute;
    left: 0;
    right: 0;
    z-index: 1;
	transition: all .3s;
}
.main-menu-container #main-menu > li:hover .sub-menu {
    position: absolute;
    opacity: 1;
    transition: all .3s;
}


/*--------------------------------- END HEADER ---------------------------------*/
/*--------------------------------- FOOTER ---------------------------------*/
#nendebcopy{
	display:none;
}
#footerwrap{
	background:url(../../uploads/bg_wood.jpg)center top repeat;
}
#footerwrap .widget{
    margin-bottom: 0;
}
.copyright-container{
    padding:24px 3% 25px;
    background:#44352a;
    text-align:center;
}
.copyright-container .copyright{
    display:block;
	color:#fff;
}
.copyright-container span:not(.copyright){
	line-height:1;
}
body #pc-backtop{
	bottom:40px;
	right:40px;
	width:auto;height:auto;
}
body #pc-backtop.is-visible:hover{
	opacity:1;
}
#pc-backtop a img{
	width:auto;
}
body.tb_responsive_mode #footerwrap .f-con{
    position: fixed;
    bottom:0;
    width:100%;
}

/*--------------------------------- END FOOTER ---------------------------------*/
.module.tit_point .module-title:after,
.module.fc_point .main-head:after{
	content:'';
	display:block;
	position:absolute;
	top:0;bottom:0;
	left:0;right:0;
}





/*--------------------------------------------------
- TITLE -
--------------------------------------------------*/
.module.tit_0 .module-title{margin-bottom: 0;}
.module.tit_5 .module-title{margin-bottom: 5px;}
.module.tit_10 .module-title{margin-bottom: 10px;}
.module.tit_15 .module-title{margin-bottom: 15px;}
.module.tit_20 .module-title{margin-bottom: 20px;}

#pagewrap .m_fff,
#pagewrap .m_fff .module-title,
#pagewrap .m_fff .fancy-heading,
#pagewrap .tit_fff .module-title,
#pagewrap .tit_fff .fancy-heading,
#pagewrap .row_footer .module,
#pagewrap .row_footer a{
	color:#fff;
}

.module .module-title,
body .module .fancy-heading{
    font-size:16px;
    line-height:1.4;
	font-family: hiragino-mincho-pron, sans-serif;
    color:#2c231c;
	margin-bottom: 0;
}
.module .fancy-heading{
	margin:0;
}

.module.fc_policy{
	padding-left:47px;
}
.module.fc_policy .fancy-heading{
	border-bottom:1px solid #a3926b;
	padding:0 0 8px 62px;
	margin:-5px 0 0;
}
.module.fc_policy .fancy-heading > *{
	vertical-align:middle;
}
.module.fc_policy .main-head{
    font-size:24px;
	padding:4px 20px 3px 0;
	position:relative;
}
.module.fc_policy .main-head:after{
	content:'の';
	font-size:20px;
	display:block;
	position:absolute;
	bottom:5px;
	right:1px;
}
.module.fc_policy .sub-head{
    font-size:40px;
    padding:0;
	margin:0;
}
.module.tit_point .module-title{
	font-size:40px;
	line-height:1;
	font-family: Cambria, serif;
	font-style:italic;
	font-weight:normal;
	color:#fff;
	text-align:center;
	position:absolute;
	z-index:1;
	bottom:-34px;
	left:0;
	width:94px;height:94px;
	background:#5f3a22 url(../../uploads/bg_wood_dark.jpg)left top repeat;
	border-radius:50%;
	padding:20px 0 0;
}
.module.tit_point .module-title:before{
	content:'Policy';
	display:block;
	font-size:18px;
	color:#ba9d80;
}
.module.tit_point .module-title:after{
	top:3px;bottom:3px;
	left:3px;right:3px;
	border:1px solid rgba(255,255,255,0.24);
	border-radius:50%;
}
.module.tit_policy .module-title{
	font-size:18px;
	font-family: Cambria, serif;
	font-style:italic;
	font-weight:normal;
	color:#fff;
	text-align:right;
	padding-left:110px;
}
.module.tit_b .module-title{
	font-size:28px;
	line-height:1.2;
	font-family: hot-reishorkk, sans-serif;
	font-weight:normal;
}
.module.tit_bc .module-title{
	font-size:32px;
	text-align:center;
}
.module.fc_btn .fancy-heading{
	background:url(../../uploads/corner_yel.png)right bottom no-repeat;
	border-bottom:1px solid #9b8742;
}
#pagewrap .module.fc_btn .fancy-heading a{
	display:block;
	color:inherit;
	text-decoration:none;
}
.module.fc_btn .fancy-heading:hover a{
	opacity:0.7;
}
.module.fc_btn .main-head{
    font-size:18px;
}
.module.fc_btn .sub-head{
    font-size:12px;
	font-family: "myriad-pro", sans-serif;
	font-weight:normal;
	color:#9b8742;
    padding:0;
	margin:0;
}
.module.fc_btn .sub-head a{
    padding:2px 0 14px;
}
.module.fc_en .fancy-heading > *{
	vertical-align:bottom;
}
.module.fc_en .main-head{
    font-size:30px;
}
.module.fc_en .sub-head{
    font-size:12px;
	font-family: "myriad-pro", sans-serif;
	font-weight:normal;
	color:#9b8742;
    padding:0 0 3px;
	margin:0;
}
.module.banner_app_qr .module-title{
	font-size:15px;
	font-family: "myriad-pro", sans-serif;
	font-weight:normal;
	color:#fff;
	text-align:center;
	background:#44352a;
	padding:3px 10px 4px;
}
.module.tit_cm .module-title{
	font-size:24px;
	letter-spacing:0.075em;
	text-align:center;
}
.module.tit_cl .module-title{
	font-size:26px;
	letter-spacing:0.075em;
	text-align:center;
}
.module.tit_main .fancy-heading > *{
	vertical-align:middle;
}
.module.tit_main .main-head{
    font-size:40px;
	color:#fff;
	padding:0 18px 1px 0;
}
.module.tit_main .sub-head{
    font-size:16px;
	font-family: Cambria, serif;
	color:#9b8742;
	border:1px solid #3d332b;
    padding:0 25px;
	margin:10px 0;
}

/*--------------------------------------------------
- TEXT -
--------------------------------------------------*/
.module p{
	overflow:hidden;
}
.module p:last-child,
.module ul:last-child,
#pagewrap .module ul li:last-child,
.module .ui.module-accordion,
#pagewrap .module .module-accordion > li:last-child{
    margin-bottom: 0;
}
.module.module-buttons .module-buttons-item{
	max-width:100%;
	vertical-align: top;
}
.module-buttons a.ui.builder_button:hover{opacity:0.7;}
.module-buttons a span{
	margin:0;
	vertical-align:top;
	font-size: 100%;
}
.module ul{
 	margin:0 0 1.2em;
}
.module.anchor_load ul{
	text-align:center;
	line-height:1;
	margin:0;
}
.module.anchor_load ul li{
	display:inline-block;
	vertical-align:top;
	line-height:1;
	margin:0 0 10px;
	border-right:1px solid #000;
}
.module.anchor_load ul li:last-child{
	border:none;
}
.module.anchor_load ul li a{
	padding:0 10px;
}
#pagewrap .pagenav{
    padding: 0;
	text-align:center;
}
#pagewrap .pagenav a,
#pagewrap .pagenav span{
	padding: 10px 0 0;
	text-decoration: none;
	color:#000;
	min-width:50px;
	min-height:50px;
	border:1px solid #000;
	background:none;
	border-radius:0;
	margin:0 0 0 0px;
}
#pagewrap .pagenav .current,
#pagewrap .pagenav a:hover{
	background:#000;
	color:#fff;
}
#pagewrap .pagenav a:hover:before,
#pagewrap .pagenav a:hover:after{
	border-top-color:#fff;
}
#pagewrap .pagenav a.firstp:hover:before,
#pagewrap .pagenav a.firstp:hover:after,
#pagewrap .pagenav a.prevp:hover:before{
	border-left-color:#fff;
}
#pagewrap .pagenav a.lastp:hover:before,
#pagewrap .pagenav a.lastp:hover:after,
#pagewrap .pagenav a.nextp:hover:before{
	border-right-color:#fff;
}

.header_contact_tit{
	text-align:center;
	color:#fff;
	background:#5f3a22 url(../../uploads/bg_wood_dark.jpg)left top repeat;
	padding:0 20px;
}
.module.m_tel .module-buttons-item{
    width:auto;
}
.header_tel,
#pagewrap .module.m_tel a.ui.builder_button{
    display:block;
	font-size:32px;
    line-height:1;
    color:#44352a;
    font-weight:bold;
	font-family: hiragino-mincho-pron, sans-serif;
	text-decoration:none;
	padding:0;
}
#pagewrap .module.m_tel.m_fff a.ui.builder_button{
	color:#fff;
}
.header_tel:before,
.module.m_tel a.ui.builder_button span:before{
	content:'';
	display:inline-block;
	vertical-align:top;
	width:18px;height:23px;
	background:url(../../uploads/icon_tel.png)center center no-repeat;
	margin:5px 3px 0 0;
}
.row_footer .module.m_tel.m_fff a.ui.builder_button span:before{
	background-image:url(../../uploads/icon_tel_yel.png);
}
.header_time{
	line-height:inherit;
	text-align:center;
	background:#ede3d8 url(../../uploads/bg_wood_light.jpg)left top repeat;
	padding:0 20px;
	margin:0;
}
.header_time li{
	display:inline-block;
	vertical-align:top;
	color:#44352a;
	margin:0;
}
.header_time li strong{
	font-weight:inherit;
	color:#7a6349;
}
.footer_info strong{
	font-weight:inherit;
	color:#c0ae6e;
}
.row_footer ul.ui.nav{
	display:block;
	line-height:1;
/* 	overflow:hidden; */
}
#pagewrap .row_footer ul.ui.nav li{
	vertical-align:top;
	line-height:inherit;
	border-right:1px solid #fff;
	padding:0 20px 0 0;
	margin:0 16px 20px 0;
}
#menu-main-menu ul.sub-menu {
    background: #ffffffe0;
    border-radius: 0;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 5px);
}
#pagewrap #menu-main-menu ul.sub-menu a {
    color: #000;
}
#pagewrap #menu-main-menu ul.sub-menu li {
    border-right: 0;
    margin: 0 auto 15px;
    padding: 5px 0;
    text-align: center;
}
#pagewrap .row_footer ul.ui.nav li:last-child{
	border:none;
	padding:0;
}
#pagewrap .row_footer ul.ui.nav li a{
	vertical-align:top;
	line-height:inherit;
	padding:0;
}
.module.top_greeting_txt{
	font-size:20px;
	line-height:1.4;
	font-family: hiragino-mincho-pron, sans-serif;
	color:#171513;
}
.module.btn_arrow .module-buttons-item{
    width:212px;
}
#pagewrap .module.btn_arrow a.ui.builder_button{
    display:block;
	font-size:16px;
    line-height:2;
    color:#fff;
    font-weight:bold;
    text-align:center;
	font-family: hiragino-mincho-pron, sans-serif;
	text-decoration:none;
	background:url(../../uploads/arrow_right_fff.png)right 16px center no-repeat,
		url(../../uploads/bg_red.jpg)center top repeat,
		#6f0305;
	padding:5px 40px;
}
.module.btn_corner .module-buttons-item{
    width:300px;
}
#pagewrap .module.btn_corner a.ui.builder_button{
    display:block;
	font-size:16px;
    line-height:2;
    color:#fff;
    text-align:center;
	text-decoration:none;
	background:url(../../uploads/corner_fff.png)right bottom no-repeat,
		url(../../uploads/bg_red.jpg)center top repeat,
		#6f0305;
	padding:14px 20px;
}

/*--------------------------------------------------
- IMAGE -
--------------------------------------------------*/
.module .image-wrap{
    display: block;
    line-height:1;
}
.module:not(.auto_fullwidth) .image-wrap img{
	/* width:auto; */
	max-width:100%;
}
.module.img_right,
.module.img_r{
    text-align: right;
}
#pagewrap .module-image .image-content{
	padding:0;
	margin:0;
}
#pagewrap .gallery .module-gallery-grid{
	grid-column-gap: 1.5%;
	grid-row-gap:0;
	margin-bottom:-1.5%;
}
.gallery,
#pagewrap .themify_builder_slider .slide-image{margin-bottom:0;}
#pagewrap .gallery .gallery-item{margin-bottom:1.5%;}
#pagewrap .gallery-columns-2 .gallery-item{margin-bottom:3.046%;}
#pagewrap .gallery-columns-3 .gallery-item{margin-bottom:4.64%;}
#pagewrap .gallery-columns-4 .gallery-item{margin-bottom:6.283%;}
#pagewrap .gallery-columns-5 .gallery-item{margin-bottom:7.98%;}
#pagewrap .gallery-columns-6 .gallery-item{margin-bottom:9.73%;}
#pagewrap .gallery-columns-7 .gallery-item{margin-bottom:11.54%;}
#pagewrap .gallery-columns-8 .gallery-item{margin-bottom:13.408%;}
#pagewrap .gallery-columns-9 .gallery-item{margin-bottom:15.34%;}
.module.module-gallery .gallery-icon{cursor:auto;}
.module.module-gallery .gallery-icon img{width:auto;}
#pagewrap .gallery .gallery-caption{
	font-size:100%;
	line-height:2;
	margin:11px 0 -8px;
}

.module.top_slider{
	padding:0 8.3%;
}
.module.top_slider .tf_carousel_nav_wrap{
	margin:0;
}
.module.top_slider .carousel-prev, 
.module.top_slider .carousel-next{
	left:0;
	border-radius:0;
	width:8.3%;
	max-width:8.3%;
	background:none;
	padding:0;
	margin:0;
	opacity:0.43;
}
.module.top_slider .carousel-next{
	left:auto;right:0;
}
.module.top_slider .carousel-prev:hover, 
.module.top_slider .carousel-next:hover{
	opacity:0.6;
}
.module.top_slider .carousel-prev:before, 
.module.top_slider .carousel-next:before{
	display:block;
	width:37px;height:auto;
	max-width:50%;
	background:url(../../uploads/slider_arrow_prev.png)center center no-repeat;
	background-size:100% auto;
	border:none;
	padding:100% 0 0;
	margin:0 auto;
	transform:translate(-8.1%,0);
} 
.module.top_slider .carousel-next:before{
	background:url(../../uploads/slider_arrow_next.png)center center no-repeat;
	transform:translate(8.1%,0);
}

/*--------------------------------------------------
- MODULE - BACKGROUND - BORDER -
--------------------------------------------------*/
.module iframe{display:block;margin:0 auto;}
#pagewrap .module_column.first{margin-left:0;}
#pagewrap .module-layout-part .module_column{min-height:auto;}
.row_overflow{
	overflow:hidden;
}
.module_row .row_inner{
	width:100%;
	max-width:100%;
}

#pagewrap .bg_wood{
	background:#764829 url(../../uploads/bg_wood.jpg)center top repeat;
}

.bp_trans{
	background-color:rgba(255,255,255,0.3);
	padding:35px;
}

#pagewrap #content .row_top_slider .row_inner{
	max-width:1920px;
	margin:0 auto;
}
.themify_builder_content .themify_builder_row.module_row.row_footer > .row_inner{
	--colg: 3.75%;
    --col: 1.8fr 1.2fr;
}
.module_row.row_footer .tb-column.last .subrow_inner{
	--colg: 6.8%;
}
.module_row.row_footer .tb-column.first .module_subrow:not(.no-grid) .subrow_inner{
	--colg: 5.7%;
    --col: 1fr auto;
}
.row_top_greeting .sub_column{
	padding:0 7px;
}
.themify_builder_content .themify_builder_row.module_row.row_banner_app > .row_inner{
	--col: 1.083fr .917fr;
}
.row_banner_app{
	border:1px solid #ac986b;
	padding:40px 6.25% 0;
}
.row_banner_app .tb-column.first .sub_column{
	padding:0 25px 0 0;
}
.module_row.row_banner_app .tb-column.last .subrow_inner{
	--colg: 10.75%;
}
.row_banner_app .banner_app_qr{
	max-width:174px;
}
.row_banner_app .sub_column.first .banner_app_qr{
	margin-left:auto;
}
#pagewrap #content .row_main .row_inner{
	max-width:1600px;
	margin:0 auto;
}
.row_main .tb-column{
	min-height:min(50vw,500px);
	padding:90px 0;
}
.row_main .tb-column-inner{
	width:94%;
	max-width:1200px;
	margin:0 auto;
}
.row_banner .module{
	margin-bottom:60px;
}
.row_menu .subrow_inner.tb_col_count_2{
	width:65.6%;
	margin:0 auto;
}
.module_row.row_menu .subrow_inner.tb_col_count_2{
	--colg: 4.94%;
}

/*--------------------------------------------------
- TABLE -
--------------------------------------------------*/
.module table{
	width:100%;
    border-collapse: collapse;
}
.module table tr td,
.module table tr th,
.module .wpcf7 table tr td,
.module .wpcf7 table tr th{
	display:table-cell;
	width:auto;
	border:1px solid #a3926b;
	padding:11px 20px 12px;
}
.module table tr th{
	text-align:left;
}
.module table tr th:first-child{
    width:200px;
}
body .module .wpcf7 input[type=submit]{
	font-size:20px;
	line-height:1.4;
	color:#fff;
	background:#ee4815;
	border-radius:0;
	margin:40px auto 5px;
	display:block;
	font-family: 'YuGothic', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'メイリオ', 'Meiryo', 'ＭＳ ゴシック', sans-serif;
}
.module .wpcf7 .wpcf7-spinner{
	display:block;
	margin:0 auto;
}
.module .wpcf7 form .wpcf7-response-output{
	margin:0 0 30px;
}
.module .wpcf7 input[type=submit]:focus{outline:none;}
.module .wpcf7 input[type=submit]:hover{opacity:0.7;}
.module .wpcf7-form > p{display:block;margin:0;}
.module .wpcf7-form .ajax-loader{display:block;margin:0 auto;}
.module .wpcf7-response-output{margin:0;}
.module .wpcf7-validation-errors{border-color:#333;margin-bottom:25px;}

.module.table_info table tr th,
.module.table_info table tr td{
	border-width:0 0 1px;
	padding-left:0;
	padding-right:0;
	vertical-align:top;
}
.module.table_info table tr th:first-child{
	width:110px;
}

/*--------------------------------------------------
- POST -
--------------------------------------------------*/
.module .post-date,
.module .post-title{
    line-height: 2;
}
.module-post .post-title a{text-decoration: underline;}
.module-post .post-title a:hover{text-decoration: none;}
.post .entry-content > p:last-child,
.post .entry-content > img:last-child,
.module .accordion-content > img:last-child,
.module.post_news .builder-posts-wrap .post:last-of-type{
    margin-bottom:0;
}
.post .entry-content > .themify_builder_content{
	margin-bottom:-1.2em;
}

.post .entry-content img:not(.gallery img),
.module .accordion-content img:not(.gallery img){
	padding:9px 0 8px;
}
.post .entry-content img,
.module .accordion-content img{
	margin-bottom:0;
}
.post .entry-content > img,
.module .accordion-content > img{
	margin-bottom:1.2em;
}

.post .gallery {
    --galn: 1;
    --galN: 1;
    --galg: 1.5%;
    --galG: 1.5%;
    display: grid;
    column-gap: 1.5%;
    row-gap: 0;
	grid-template-columns: repeat(var(--galN),1fr);
}
.post .gallery-columns-2 {
    --galn: 2;
    --galN: 2;
}
.post .gallery-columns-3 {
    --galn: 3;
    --galN: 3;
}
.post .gallery .gallery-item{
	float:none;
	width:100%;
	text-align:center;
}
.post .gallery .gallery-item img{
	padding:0;
}





body.single .post{
	padding:45px 0 0;
	margin:0 0 60px;
}
body.single .post-image{
	text-align:center;
	margin:0 0 50px;
}
body.single .post-date{
	display:block;
}
body.single #pagewrap .post-title{
	line-height: 1.4;
	margin-bottom:0px;
}
body.single #pagewrap .history-back-button{
	display:block;
	text-align:center;
	width:200px;
	max-width:100%;
	margin:0 auto 100px;
	text-decoration:none;
}
body.single .history-back-button:hover{
	opacity:0.7;
}
.module.fc_policy.head-hide .main-head,
.module.fc_policy.head-hide .main-head:after {
    display: none;
}




/************************************************
***************** Media Query *******************
*************************************************/
#pagewrap #menu-button,
body #pagewrap .sp-footer-icons-container a{
	color:#fff;
	background:#44352a;
	border:none;
	text-decoration:none;
}
#pagewrap #menu-button{
	background:#5f3a22 url(../../uploads/bg_wood_dark.jpg)left top repeat
}
body #pagewrap .sp-footer-icons-container a{
	border-top:1px solid #fff;
}
body #pagewrap .sp-footer-icons-container a span{
	font-size:16px;
}
body #pagewrap .sp-footer-icons-container a svg{
	fill:#fff;
}
#pagewrap #menu-button{
	width:50px;height:50px;
}
#pagewrap #menu-button .ham-lines span,
#pagewrap #menu-button .ham-lines::before,
#pagewrap #menu-button .ham-lines::after{
	background:#fff;
}





@media screen and (max-width: 1180px) {
	
	body #pc-backtop {
		display: none;
	}
	#footer .sp-footer-icons-container {
		display: flex;
	}
	
	#pagewrap #main-menu-container{
		background:#fff;
		position: fixed;
		z-index: 700;
		top: 0;
		left: 0;
		right: auto;
		bottom: auto;
		overflow-y: auto;
		display:block;
		width: 100vw;
		height: 100vh;
		opacity:0;
		visibility:hidden;
	}
	#pagewrap #main-menu-container.is-active{
		opacity:1;
		visibility:visible;
	}
	#headerwrap #main-menu-container #main-menu{
		width:100%;
		max-width:94%;
		padding:60px 0;
		margin:auto;
	}
	#pagewrap #main-menu-container .main-menu{
		text-align:left;
	}
	#pagewrap #main-menu-container .main-menu li{
		padding:0;
		margin:0;
		border-color: #333;
		float:none;
		display:block;
		text-align:left;
		line-height:1.7;
	}
	#pagewrap #main-menu-container .main-menu ul{
		margin:0 0 0 3%;
	}
	#pagewrap #main-menu-container .main-menu li a{
		display: block;
		padding: 8px 3%;
		text-decoration:none;
		color:#000;
		width: 100%;
		background: none;
		text-indent: unset;
		white-space: normal;
		height: auto;
	}
	/* --- styling --- */
	#pagewrap #main-menu-container{
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flexbox;
		display: -o-flex;
		display: flex;
		background:#ddc48c url(../../uploads/bg.jpg)center top repeat;
	}
	#pagewrap #main-menu-container .main-menu li{
		line-height:1.4;
		border-bottom:1px solid #9e8b5b;
	}
	#pagewrap #main-menu-container .main-menu li:last-child{
		border:none;
	}
	#pagewrap #main-menu-container .main-menu li a{
		padding:18px 3%;
		text-align: center;
	}
	#pagewrap #main-menu-container .main-menu ul{
		opacity:1;
		position: static;
		margin:0;
	}
	
	.header-brand-container{
		padding-bottom:40px;
	}
	#header #site-logo{
		margin-bottom:30px;
	}

}





@media screen and (max-width: 1024px) {
	
	.header-brand-container{
		padding-right:50px;
	}

}





@media screen and (max-width: 980px) {
	
	#pagewrap .module_row > .row_inner{
		max-width:100%;
	}
	
}





@media screen and (max-width: 768px) {

	#pagewrap .gallery .module-gallery-grid:not(.gallery-columns-1),
	.post .gallery .module-gallery-grid:not(.gallery-columns-1){
		--galn: 2;
		--galN: 2;
	}
	#pagewrap .gallery .gallery-item{
		margin-bottom:3.045%;
	}
	#pagewrap #content .gallery .gallery-item:nth-of-type(odd){
		clear:left;
	}
	#pagewrap #content .gallery .gallery-item:nth-of-type(even){
		margin-right:0;
	}
	#pagewrap .module:not(.table_scroll) > .tb_text_wrap > table tr th,
	#pagewrap .module:not(.table_scroll) > .tb_text_wrap > table tr td,
	#pagewrap .module .wpcf7 table tr th,
	#pagewrap .module .wpcf7 table tr td{
		display:block;
		width:100%;
	}
	#pagewrap .module:not(.table_scroll,.table_info) > .tb_text_wrap > table tr th,
	#pagewrap .module:not(.table_scroll,.table_info) > .tb_text_wrap > table tr:not(:last-child) td,
	#pagewrap .module:not(.table_scroll,.table_info) > .tb_text_wrap > table tr:last-child td:not(:last-child),
	#pagewrap .module .wpcf7 table tr th,
	#pagewrap .module .wpcf7 table tr:not(:last-child) td,
	#pagewrap .module .wpcf7 table tr:last-child td:not(:last-child){
		border-bottom:none;
	}
	.module.table_price table tr td:last-child{
		width:auto;
		white-space:unset;
	}
	.module.table_scroll:before {
		content: "※表を横に動かせます";
		display:block;
		margin:0;
		color: #f00;
	}
	.module.table_scroll .tb_text_wrap{
		overflow:auto;
	}
	.module.table_scroll table{
		width:721px;
	}
	
	.header-brand-container{
		padding-right:0;
		-webkit-justify-content: center;
		-moz-justify-content: center;
		-ms-justify-content: center;
		justify-content: center;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	#header #site-logo{
		width:100%;
		padding:0 50px;
	}
	.rb, 
	.header_contact, 
	.header_contact_info,
	.row_banner_app .tb-column.first .subrow_inner{
		-webkit-justify-content: center;
		-moz-justify-content: center;
		-ms-justify-content: center;
		justify-content: center;
	}
	.rb{
		width:100%;
		text-align:center;
		padding:0;
	}
	#headerwrap #site-description{
		text-align:center;
		margin-left:0;
	}
	.header_contact_tit,
	.header_tel,
	.header_add{
		margin-left:10px;
		margin-right:10px;
	}
	.rb .header_time{
		margin:0;
	}
	.row_footer,
	.row_banner_app{
		text-align:center;
	}
	#pagewrap .row_footer .row_inner,
	#pagewrap .row_footer .subrow_inner,
	#pagewrap .row_banner_app .row_inner{
		--col: none;
	}
	.row_banner_app .tb-column.first .sub_column{
		padding:0 12px;
	}
	#pagewrap .row_footer ul.ui.nav li{
		padding-right:0;
		margin-right:0;
	}
	#pagewrap .row_footer ul.ui.nav li a{
		padding:0 20px 0 16px
	}
	.module.table_info table tr th:not(:first-child),
	.module.table_info table tr td:not(:first-child){
		padding-top:0;
	}
	.module.table_info table tr th:not(:last-child),
	.module.table_info table tr td:not(:last-child){
		border:none;
		padding-bottom:3px;
	}
	
}





@media screen and (max-width: 680px) {
	
	#pagewrap .module_column{
		width:100%;
		margin-left:0;
	}
    #pagewrap .module.img_right .image-wrap,
    #pagewrap .module.img_left .image-wrap,
	#pagewrap .module.sp_c{
        text-align: center;
    }
	
	.row_banner_app .banner_app_qr{
		margin-left:auto;
		margin-right:auto;
	}
	.row_menu .subrow_inner.tb_col_count_2{
		width:100%;
	}
	.module.fc_policy .sub-head{
		font-size: 28px;
	}
	.row_banner .module {
		margin-bottom: 10px;
	}
	#pagewrap .ui.nav .child-arrow{
		right: -5px;
	}
}



