@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,
.header_btn,
.sns_header,
#btn-menu > li.nav_btn ul,
.footer_content,
.footer_bottom,
.copyright-container,
.post .post-top,
.row_main .top_slider .slide-content,
body.archive #layout{
	display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: -o-flex;
	display: flex;
}
.copyright-container,
.row_main .top_slider .slide-content{
    -webkit-align-content: flex-end; 
    -moz-align-content: flex-end; 
    -ms-align-content: flex-end; 
	align-content: flex-end;
}
.copyright-container,
.row_main .top_slider .slide-content{
    -webkit-align-items: flex-end; 
    -moz-align-items: flex-end; 
    -ms-align-items: flex-end; 
	align-items: flex-end;
}
#pagewrap .pagenav,
.header-brand-container,
.header_btn,
.sns_header,
#btn-menu > li.nav_btn ul,
.sns_footer .module-icon-item a,
.post .post-top{
    -webkit-align-content: center; 
    -moz-align-content: center; 
    -ms-align-content: center; 
	align-content: center;
}
#pagewrap .pagenav,
.header-brand-container,
.header_btn,
.sns_header,
#btn-menu > li.nav_btn ul,
.sns_footer .module-icon-item a,
.post .post-top{
    -webkit-align-items: center; 
    -moz-align-items: center; 
    -ms-align-items: center; 
	align-items: center;
}
#pagewrap .pagenav,
.header_btn,
#headerwrap .sns_header,
#btn-menu > li.nav_btn ul,
.copyright-container{
	-webkit-justify-content: flex-end;
	-moz-justify-content: flex-end;
	-ms-justify-content: flex-end;
	justify-content: flex-end;
}
/* #pagewrap .pagenav{
	-webkit-justify-content: center;
	-moz-justify-content: center;
	-ms-justify-content: center;
	justify-content: center;
} */
.row_main .top_slider .slide-content,
body.home .post:not(.category-news,.category-pickup) .post-top,
body:not(.single,.home) .post:not(.category-news) .post-top,
body.archive #layout{
	-webkit-justify-content: space-between;
	-moz-justify-content: space-between;
	-ms-justify-content: space-between;
	justify-content: space-between;
}
#pagewrap .pagenav,
.header_btn,
.sns_header,
#btn-menu > li.nav_btn ul,
.post .post-top,
body.archive #layout{
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}




:root{
	
	/* font */
	--f-en: "Open Sans", sans-serif;
	--ls-base: 0.05em;
	--ls-1: 0.1em;
	
	/* color */
	--c-base: #131313;
	--c-border: #d6d1d1;
	--c-dark: #212122;
	--c-gray: #efefef;
	--c-light: #fbecec;
	--c-white: #fff;
	--c-red: #cd8585;
	
}





/*--------------------------------- PAGE ---------------------------------*/
body{
	--c_base: var(--c-base);
	--c_dark: var(--c-dark);
	--c_gray: var(--c-gray);
	--c_red: var(--c-red);
	letter-spacing: var(--ls-base);
	interpolate-size: allow-keywords;
}
body *,
body *:before,
body *:after{
	letter-spacing: var(--ls-base);
	box-sizing: border-box;
}
#pagewrap .pagewidth{
    width:100%;
	max-width:94%;
	margin-left:auto;
	margin-right:auto;
}
#header.pagewidth,
#footer.pagewidth{
    width: 1700px;
}
body.page #layout.pagewidth{
	max-width:100%;
}
.module_row{
	margin-left:auto;
	margin-right:auto;
}
body.archive #layout.pagewidth{
	width:1500px;
}

body.single #layout.pagewidth,
.page-content > .themify_builder_content > .module_row,
body.archive .bodywrap .module_row,
body.single .bodywrap .module_row{
	width:1100px;
}
.page-content > .themify_builder_content > .module_row:not(.fullwidth),
body.archive .bodywrap .module_row,
body.single .bodywrap .module_row,
.row_main{
	max-width:94%;
}
#pagewrap{
	background:#fff;
	color:var(--c_base);
	overflow:clip;
}
/* h1,
h2,
h3,
h4,
h5,
h6,
strong,
th{
	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,
#pagewrap .row_top_banner .sub_column,
.acc_profile .accordion-title a:before,
.module.post_pickup .slick-arrow,
#menu-button{
	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;
	text-underline-offset:2px;
	text-decoration-color:var(--c-border);
	color:var(--c_base);
}
#pagewrap a:hover{
	/* text-decoration:none; */
	text-decoration-color:transparent;
}
#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 0 50px;
}
.header-brand-container{}
#header #site-logo{
    margin:30px 0;
    line-height:1;
	text-align:center;
}
#header #site-logo a{
    display:inline-block;
    vertical-align: top;
}
.rb{
	flex:1;
    text-align:right;
	padding:25px 0 15px 5px;
}
.header_btn{
	padding:0 0 0 5px;
}
.sns_header,
.sns_footer{
	font-size:10px;
	line-height:1;
}
#headerwrap .sns_header{
	padding:5px 0 0 5px;
}
#headerwrap .sns_header .module-icon-item{
	margin:0 0 15px 15px;
}
.sns_header .module-icon-item a img,
.sns_footer .module-icon-item a img{
	max-width:none;
	padding:0;
}
.rb .sns_footer{
	display:none;
}
#btn-menu{
	margin:0;
}
#btn-menu > li{
	display:block;
	margin:0;
}
#btn-menu > li:not(.nav_btn),
#btn-menu > li.nav_btn ul li.nav_btn_law,
#btn-menu > li.nav_btn > a,
#pagewrap #main-menu-container .main-menu li.nav_btn ul li.nav_btn_law,
#pagewrap #main-menu-container .main-menu li.nav_btn > a{
	display:none;
}
#btn-menu > li.nav_btn ul,
#pagewrap #main-menu-container .main-menu li.nav_btn ul{
	line-height:2;
	margin:0;
}
#btn-menu > li.nav_btn ul li,
#pagewrap #main-menu-container .main-menu li.nav_btn ul li{
	display:block;
	font-weight:bold;
	margin:0 0 20px 20px;
}
#pagewrap #main-menu-container .main-menu li.nav_btn ul li{
	margin:0 0 20px;
}
#header #btn-menu > li.nav_btn ul li{
	padding:5px 0 0;
	margin-bottom: 15px;
}
#btn-menu > li.nav_btn ul li a,
#pagewrap #main-menu-container .main-menu li.nav_btn ul li a{
	display:block;
	color:var(--c_dark);
	text-align:center;
	text-decoration:none;
	background:var(--c_gray);
	padding:5px 20px 6px;
}
#pagewrap #main-menu-container .main-menu li.nav_btn ul li a{
	display:inline-block;
	vertical-align:top;
	width:auto;
}
#btn-menu > li.nav_btn ul li a:hover,
#main-menu-container li.nav_btn ul li a:hover{
	opacity:0.7;
}
#btn-menu > li.nav_btn ul li a:before,
#main-menu-container li.nav_btn ul li a:before{
	content:'';
	display:inline-block;
	vertical-align:top;
	background-position:center center;
	background-repeat:no-repeat;
}
#btn-menu > li.nav_btn ul li.nav_btn_shop a:before,
#main-menu-container li.nav_btn ul li.nav_btn_shop a:before{
	width:20px;height:18px;
	background-image:url(../../uploads/icon_cart.png);
	margin:7px 10px 0 0;
}
#btn-menu > li.nav_btn ul li.nav_btn_contact a:before,
#main-menu-container li.nav_btn ul li.nav_btn_contact a:before{
	width:22px;height:16px;
	background-image:url(../../uploads/icon_envelope_s.png);
	margin:8px 10px 0 0;
}



	#main-menu-container #site-logo,
	#main-menu-container .sns_header{
		display:none;
	}
    #pagewrap .main-menu-container #main-menu,
	#footerwrap .footer-nav{
		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: flex-end;
		-moz-justify-content: flex-end;
		-ms-justify-content: flex-end;
		justify-content: flex-end;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
        margin:0 -25px 0 0;
    }
    #pagewrap .main-menu-container #main-menu > li,
	#footerwrap .footer-nav > li{
        display:block;
        margin: 0;
        position: relative;
    }
	#pagewrap .main-menu-container #main-menu > li.nav_btn,
	#footerwrap .footer-nav > li.nav_btn{
		display:none;
	}
    #pagewrap .main-menu-container #main-menu > li > a,
	#footerwrap .footer-nav > li > a{
        display:block;
		text-align:center;
		font-size:16px;
		line-height:2;
		font-weight:bold;
		text-decoration:none;
		color:var(--c_dark);
		padding:6px 25px 7px;
    }
	.main-menu-container #main-menu > li.nav_link > a:after,
	#footerwrap .footer-nav > li.nav_link > a:after{
		content:'';
		display:inline-block;
		vertical-align:top;
		width:16px;height:16px;
		background:url(../../uploads/icon_link.png)center center no-repeat;
		margin:8px 0 0 5px;
	}
    .main-menu-container #main-menu > li:hover > a,
	#footerwrap .footer-nav > li:hover > a{
        opacity:0.7;
    }



@media screen and (width > 1180px) {

	

}

/*--------------------------------- END HEADER ---------------------------------*/
/*--------------------------------- FOOTER ---------------------------------*/
#nendebcopy{
	display:none;
}
#footerwrap #footer{
	padding:0;
}
#footerwrap .widget{
    margin-bottom: 0;
}
#footerwrap .sns_header .module-icon-item{
	margin:0 15px 15px 0;
}
#footerwrap .sns_header .module-icon-item:first-child{
	display:none;
}
#pagewrap .sns_footer .module-icon-item{
	display:block;
	margin:0 0 15px;
}
#pagewrap .sns_footer .module-icon-item a{
	color:var(--c_dark);
}
.sns_footer .module-icon-item a{
	display:inline-flex;
	font-weight:bold;
}
.sns_footer .module-icon-item a span{
	display:block;
	flex:1;
	font-size:16px;
	line-height:2;
	margin:-9px 0 -8px 10px;
}
.footer_bottom{
	flex:1;
	flex-direction:column;
}
#footerwrap .footer-nav{
	padding-bottom:15px;
	margin-top:-15px;
}
#footerwrap .footer-nav ul{
	display:none;
}
.copyright-container{
	flex:1;
    padding:31px 0 52px;
    text-align:right;
}
.copyright-container .copyright{
    display:block;
	font-weight:bold;
}
.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;
}
#pagewrap #pc-backtop a{
	text-decoration:none;
}
#pc-backtop a:hover{
	opacity:0.7;
}
#pc-backtop a img{
	width:auto;
}
body.tb_responsive_mode #footerwrap .f-con{
    position: fixed;
    bottom:0;
    width:100%;
}

/*--------------------------------- END FOOTER ---------------------------------*/
/*--------------------------------- CONTENT ---------------------------------*/
.sidebar1 #body #content{
	width:73.4%;
	max-width:1100px;
}
body.archive #layout{
	padding-top:135px;
	padding-bottom:60px;
}
body.archive #layout:after{
	display:none;
}
body.archive #content{
	position:relative;
	padding-top:10px;
	padding-bottom:10px;
}

/*--------------------------------- END CONTENT ---------------------------------*/
/*--------------------------------- SIDEBAR ---------------------------------*/
#body #sidebar{
	width:20%;
	max-width:300px;
	padding:0;
}
#sidebar .widget{
	margin-bottom:0;
}
.widget .widgettitle{
	display:none;
}

/*--------------------------------- END SIDEBAR ---------------------------------*/
.acc_profile .accordion-title a:before,
.row_profile_archive .tit_box_red:before,
.row_lession_greeting .tb-column.last:before,
.row_lession .module_subrow:before,
.row_lession .module_subrow:not(:last-child):after,
.module.tit_line .module-title:before,
.module[class*="tit_maru"] .module-title:before{
	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 .tit_fff .module-title,
#pagewrap .tit_fff .fancy-heading{
	--c_base: var(--c-white);
	--c_dark: var(--c-white);
/* 	--c_red: var(--c-white); */
    color:var(--c_base);
}

.module .module-title,
body .module .fancy-heading{
    font-size:16px;
    line-height:1.4;
	margin-bottom: 0;
}
.module .fancy-heading{
	margin:0;
}

.module.tit_fc .main-head,
.module.tit_fcs .main-head{
    font-size:18px;
	font-family:var(--f-en);
	font-weight:600;
	letter-spacing:var(--ls-1);
	color:var(--c_red);
}
.module.tit_fcs .main-head{
	font-size:16px;
}
.module.tit_fc .sub-head,
.module.tit_fcs .sub-head{
    font-size:32px;
    padding:5px 0 0;
	margin:0;
}
.module.tit_fcs .sub-head{
	font-size:28px;
	padding:0;
}
.module.fc_arrow .sub-head,
.module.fc_link .sub-head{
	display:inline-block;
	vertical-align:top;
}
.module.fc_arrow .sub-head{
	background:url(../../uploads/arrow_l_fff.png)right bottom 6px no-repeat;
	padding-right:50px;
}
.module.tit_fcs.fc_arrow .sub-head{
	background:url(../../uploads/arrow_m_fff.png)right bottom 7px no-repeat;
	padding-right:40px;
}
.module.fc_link .sub-head{
	background:url(../../uploads/icon_link_b_fff.png)right bottom 10px no-repeat;
	padding-right:30px;
}
.module.tit_b,
.module.tit_u{
	line-height:1;
}
.module.tit_b .module-title{
	font-size:20px;
}
.module.tit_c_red .module-title{
	font-size:26px;
	font-family:var(--f-en);
	font-weight:600;
	letter-spacing:var(--ls-1);
	color:var(--c_red);
	text-align:center;
}
.module.tit_box_red .module-title{
	font-size:30px;
	color:var(--c-white);
	background:var(--c_red);
	padding:12px 30px 15px;
}
.module.tit_u{
	padding-bottom:2px;
}
.module.tit_u .module-title{
	display:inline;
	font-size:21px;
	background:url(../../uploads/underline.jpg)left bottom repeat-x;
	padding:0 0 2px;
}
.module.tit_line .module-title{
	font-size:32px;
	padding:0 0 11px;
	position:relative;
}
.module.tit_line .module-title:before{
	top:auto;
	right:auto;
	width:550px;
	max-width:75%;
	border-bottom:5px solid var(--c_red);
}
.module[class*="tit_maru"] .module-title{
	font-size:18px;
	line-height:2;
	padding:0 20px 0 50px;
}
.module[class*="tit_maru"] .module-title:before{
	top:11px;bottom:auto;
	left:20px;right:auto;
	width:16px;height:16px;
	background:#cecdcd;
	border-radius:50%;
}
.module.tit_maru_red .module-title:before{
	background:var(--c_red);
}

/*--------------------------------------------------
- TEXT -
--------------------------------------------------*/
.module p{
	overflow:hidden;
}
.module p:last-child,
.module ul:last-child,
.module ol:last-child,
#pagewrap .module:not(.anchor_load,.module-post) ul li:last-child,
#pagewrap .module ol 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,
.module ol,
.module ul li,
.module ol li{
	line-height:inherit;
}
.module ul,
.module ol{
 	margin-top:0;
 	margin-bottom:1.2em;
}
.module ul li,
.module ol li{
 	padding:0;
	margin:0;
}
.module.anchor_load ul{
	text-align:center;
	line-height:1;
	margin:0;
}
.module.anchor_load ul li{
	display:inline-block;
	vertical-align:top;
	font-size:16px;
	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: 75px 0 40px;
	text-align:center;
}
#pagewrap .pagenav a,
#pagewrap .pagenav span{
	padding: 14px 0 0;
	text-decoration-color:transparent;
	font-weight:bold;
	color:var(--c-white);
	min-width:38px;
	min-height:47px;
	border:none;
	background:var(--c_red);
	border-radius:0;
	margin:0 0 20px 25px;
}
#pagewrap .pagenav a:hover{
	opacity:0.7;
}
#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;
}

.module.btn_arrow .module-buttons-item,
#pagewrap .top_slider .slide-title,
body .module .wpcf7 input[type=submit]{
    width:240px;
}
#pagewrap .module.btn_arrow a.ui.builder_button,
#pagewrap .top_slider .slide-title a,
body.single #pagewrap .history-back-button,
body .module .wpcf7 input[type=submit]{
    display:block;
	font-size:16px;
    line-height:2;
    color:var(--c-white);
    font-weight:bold;
	text-align:left;
	text-decoration-color:transparent;
	background:var(--c_red) url(../../uploads/arrow_s_fff.png)right 12px center no-repeat;
	border:none;
	padding:7px 45px 8px 20px;
}
.module.btn_mail .module-buttons-item{
    width:auto;
}
#pagewrap .module.btn_mail a.ui.builder_button{
    display:block;
	font-size:18px;
    line-height:2;
    color:var(--c_dark);
    font-weight:bold;
	text-align:left;
	text-decoration-color:transparent;
	background:var(--c-white);
	border:none;
	padding:10px 30px 12px;
}
.module.btn_mail a.ui.builder_button span:before{
	content:'';
	display:inline-block;
	vertical-align:top;
	width:26px;height:21px;
	background:url(../../uploads/icon_envelope.png)center center no-repeat;
	margin:9px 10px 0 0;
}
.module.btn_link a.ui.builder_button span:after,
.top_slider h1.slide-title a:after{
	content:'';
	display:inline-block;
	vertical-align:top;
	width:16px;height:16px;
	background:url(../../uploads/icon_link_fff.png)center center no-repeat;
	margin:8px 0 0 5px;
}
#pagewrap .module.btn_banner,
#pagewrap .module.btn_banner a.ui.builder_button{
	display:block;
	position:absolute;
	z-index:1;
	top:0;bottom:0;
	left:0;right:0;
	opacity:0;
}
.module.m_policy{
	font-size:13px;
	line-height:2.3;
	height:264px;
	overflow:auto;
	overflow-y:scroll;
	border:1px solid #7c7a7a;
	padding:20px 29px;
}
#pagewrap .acc_profile .module-accordion > li{
	margin-bottom:40px;
}
#pagewrap .acc_profile .accordion-title{
	font-size:20px;
	margin-bottom:0;
}
#pagewrap .acc_profile .accordion-title a{
	text-decoration-color:transparent;
	color:#454444;
	background:var(--c_gray);
	padding:20px 85px 20px 30px;
	position:relative;
}
.acc_profile .accordion-title a:before{
	top:50%;bottom:auto;
	left:auto;right:30px;
	width:21px;height:14px;
	background:url(../../uploads/acc_arrow_down.png)center center no-repeat;
	transform:translate(0,-50%) rotate(0deg);
}
.acc_profile .builder-accordion-active .accordion-title a:before{
	transform:translate(0,-50%) rotate(180deg);
}
#pagewrap .acc_profile .accordion-content{
	line-height:2;
	padding:0;
}
.acc_profile .accordion-content > .tb_text_wrap{
	padding:20px 4.54% 30px;
}
body.home .row_main .module[class*="top_slider_txt"]{
	font-size:25px;
	line-height:1.4;
	font-weight:bold;
}
body.home .row_main .module[class*="top_slider_txt"] strong{
	font-size:22px;
}
body.home .row_main .module.top_slider_txt_s strong{
	font-size:16px;
}
.row_cat .module select{
	display:block;
	width:100%;
	border:1px solid #efefef;
	padding:9px 25px 11px;
}

/*--------------------------------------------------
- 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: 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;
	font-weight:bold;
	margin:11px 0 -8px;
}

#pagewrap .module.top_slider .slide-content{
	padding:0;
}
.row_main .top_slider .slide-content > div{
	font-size:15px;
	font-weight:500;
	color:#fff;
	text-align:right;
}
.top_slider .slide-title{
	margin:0 0 30px 30px;
}
#pagewrap .top_slider .slide-title a{
	background-color:transparent;
	background-position:right 11px center;
	border:1px solid var(--c-white);
	padding:6px 44px 7px 19px;
}
.top_slider .slide-title a:hover{
	opacity:0.7;
}
.module.top_slider .tf_carousel_nav_wrap{
	font-size:10px;
	line-height:1;
	justify-content:flex-end;
	padding:20px 0 0;
	margin:0;
}
.module.top_slider .tf_carousel_nav_wrap a{
	width:14px;height:14px;
	background:#d6d1d1;
	border:none;
	margin:0 0 5px 5px;
}
.module.top_slider .tf_carousel_nav_wrap a:hover,
.module.top_slider .tf_carousel_nav_wrap a.selected{
	background:#cd8585;
}

/*--------------------------------------------------
- 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 .row_w14{
	width:1400px;
}
#pagewrap .row_w15{
	width:1500px;
}
#pagewrap .row_w17{
	width:1700px;
}

.bg_light{background-color:var(--c-light);}

.bdp_red{
	border:2px solid var(--c_red);
	padding:0 min(6.6vw,98px);
}

.m_fff .bg_dark,
.m_fff .bp_dark{
	--c_base: var(--c-base);
	--c_dark: var(--c-dark);
	--c_gray: var(--c-gray);
	background-color:var(--c-white);
}

#pagewrap .row_main > .row_inner{
	--col: .84fr 2.263fr;
}
.row_main > .row_inner > .tb-column.first{
	padding-top:min(13.43vw,200px);
	padding-left:13.47%;
}
.row_main > .row_inner > .tb-column.first > .tb-column-inner{
	width:auto;
	margin-right:-325.43%;
}
body.home .row_main > .row_inner > .tb-column.first > .tb-column-inner{
	padding-top:100px;
}
.row_main > .row_inner > .tb-column.last{
	overflow:clip;
}
.row_main > .row_inner > .tb-column.last > .tb-column-inner:last-child{
	position:absolute;
	top:min(13.43vw,200px);
	right:0;
	color:var(--c-white);
	width:136.666%;
}
body.home .row_main > .row_inner > .tb-column.last > .tb-column-inner:last-child{
	padding-top:100px;
}
body.no-home .row_main > .row_inner > .tb-column .tit_fc{
	margin-top:-30px;
}
body.no-home .row_main  > .row_inner > .tb-column.last{
	padding-top:min(75%,425px);
}
.row_main .top_slider .slide-image{
	padding-top:min(100%,670px);
}
.row_main .top_slider .slide-image a{
	display:block;
	position:absolute;
	top:0;bottom:0;
	left:0;right:0;
	pointer-events:none;
	overflow:clip;
}
.row_main .top_slider .slide-image a img{
	position:absolute;
	width:auto;height:auto;
	min-height:100%;
	max-width:none;max-height:none;
	top:50%;left:50%;
	transform:translate(-50%,-50%);
}
.row_main .top_slider .slide-content{
	position:absolute;
	z-index:1;
	top:0;bottom:0;
	left:0;right:0;
}
.row_main .top_slider .slide-content > div{
	flex:1;
	padding:12px 20px 22px 10px;
	margin-left:3.2%;
}
.row_top_banner .sub_column{
	margin-bottom:55px;
}
.row_top_banner .sub_column:hover{
	opacity:0.7;
}
.row_top_banner .module{
	font-weight:500;
}
.row_top_banner .tb_col_count_2 .sub_column{
	padding:calc(3px + 19.14%) 60px 19.14%;
}
.row_top_banner .tb_col_count_2 .sub_column .tit_fc{
	margin-bottom:10px;
}
.row_top_banner .tb_col_count_3 .sub_column{
	padding:max(30.24%,115px) 35px 21px;
}
.row_profile .tb-column.first > .tb-column-inner{
	max-width:550px;
	padding:0 13.14% 0 0;
	margin-left:auto;
}
.row_profile_archive .tit_box_red:before{
	left:auto;right:50%;
	width:700px;
	background:var(--c_red);
}
.row_profile_archive .tit_box_red .module-title{
	max-width:1100px;
	margin-left:auto;
	margin-right:auto;
	padding-left:0;
	position:relative;
	z-index:1;
}
.row_lession_greeting{
	background-color:#e9e9e9;
}
#pagewrap .row_lession_greeting > .row_inner{
	--col: 1.957fr 1.145fr;
}
.row_lession_greeting .tb-column.first{
	z-index:2;
	padding:51px 0 51px 60px;
}
.row_lession_greeting .tb-column.last:before{
	z-index:1;
	right:auto;
	background:url(../../uploads/lession_greeting_img_frame.jpg.png)left center no-repeat;
	background-size:100% 100%;
	padding:0 0 0 35.6%;
	transform:translate(-14.5%,0);
}
.row_top_profile .tb-column.first > .tb-column-inner{
	max-width:562px;
	margin:0 -12px 0 auto;
}
.row_top_profile .tb-column.last{
	padding-left:10.58%;
}
.row_lession .module_subrow:before,
.row_lession .module_subrow:not(:last-child):after{
	border:1px dotted #919191;
	border-width:0 0 1px;
}
.row_lession .module_subrow:not(:last-child):after{
	left:5%;right:5%;
}
.row_lession .module_subrow:before{
	left:50%;right:auto;
	border-width:0 0 0 1px;
}
.row_lession .module_subrow:first-child:before{
	top:130px;
}
.row_lession .module_subrow:last-child:before{
	bottom:78px;
}
.row_lession .module_subrow:not(:last-child):after{
	top:auto;
}
.row_lession .sub_column{
	padding-top:105px;
	padding-bottom:108px;
}
.row_lession .module_subrow:first-child .sub_column{
	padding-top:0;
}
.row_lession .module_subrow:last-child .sub_column{
	padding-bottom:0;
}
.row_lession .sub_column.first{
	padding-right:11.666%;
}
.row_lession .sub_column.last{
	padding-left:11.666%;
}
.row_lession .tit_u{
	margin-bottom:32px;
}
.row_lession .module-text{
	font-size:18px;
	line-height:1.2;
}
.module_row > .row_inner,
.row_event .tb-column .module,
body.archive #loops-wrapper,
body.archive .pagenav{
	position:relative;
	z-index:1;
}
.module_row.row_main:before,
.module_row.row_top_profile:before,
.module_row.row_banner_contact:before,
.module_row.row_banner_contact:after,
.row_info:before,
.row_info:after,
.row_law:before,
.row_law:after,
.row_event > .row_inner > .tb-column.first:before,
body.archive #content:before{
	content:'';
	display:block;
	position:absolute;
	top:0;bottom:0;
	width:100vw;
	background:var(--c-light);
}
.module_row.row_main:before{
	top:min(13.43vw,200px);bottom:-200px;
	right:140px;
/* 	transform:translate(0,min(13.43vw,200px)); */
}
body.home .module_row.row_main:before{
	bottom:-360px;
}
.module_row.row_top_profile:before{
	height:355px;
	bottom:auto;
	right:65.765%;
	transform:translate(0,-90px);
}
.module_row.row_banner_contact:before{
	left:50%;
	width:1400px;
	max-width:100vw;
	transform:translate(-50%,0);
}
.module_row.row_banner_contact:after{
	left:50%;
}
.row_info:before{
	bottom:auto;
	left:100%;
	height:210px;
	transform:translate(-35px,-35px);
}
.row_info:after{
	top:auto;
	right:100%;
	height:480px;
	transform:translate(185px,140px);
}
.row_law:before{
	bottom:auto;
	left:100%;
	height:505px;
	transform:translate(-305px,-315px);
}
.row_law:after{
	top:auto;
	right:100%;
	height:340px;
	transform:translate(50px,160px);
}
#pagewrap .row_event > .row_inner{
	--colg: 6.6%;
    --col: 3.365fr .918fr;
}
.row_event > .row_inner > .tb-column.first:before,
body.archive #content:before{
	top:auto;
	left:100%;
	height:1040px;
	transform:translate(-270px,-90px);
}
.row_contact{
	border:7px solid var(--c-light);
	padding-left:min(11.4vw,133px);
	padding-right:min(11.4vw,133px);
}
.row_top_news > .row_inner{
	max-width:1100px;
	margin:0 auto;
}

/*--------------------------------------------------
- TABLE -
--------------------------------------------------*/
.module table{
	width:100%;
    border-collapse: collapse;
	border:1px solid #878787;
}
.module table tr td,
.module table tr th{
	display:table-cell;
	width:auto;
	background:var(--c-white);
	border:1px dotted #d6d1d1;
	border-width:0 0 1px;
	padding:41px 5% 42px;
}
.module table tr td{
	padding:48px 5.45%;
}
.module table tr:last-child td,
.module table tr:last-child th{
	border-bottom-width:0;
}
.module table tr th{
	text-align:left;
	background:#efefef;
}
.module table tr th:first-child:not(:last-child){
    width:300px;
}
.module table tr td{
	line-height:1.2;
}
body .module .wpcf7 input[type=submit]{
	border-radius:0;
	margin:75px auto 5px;
}
.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;}

#pagewrap .module .wpcf7 table tr th,
#pagewrap .module .wpcf7 table tr td{
	display:block;
	background:none;
	border:none;
}
#pagewrap .module .wpcf7 table tr th{
	font-size:20px;
	line-height:1.4;
	padding:45px 27px 10px;
}
#pagewrap .module .wpcf7 table tr:first-child th{
	padding-top:0;
}
#pagewrap .module .wpcf7 table tr td{
	padding:0;
}
.module .wpcf7 table tr th:first-child{
	width:100%;
}
#pagewrap .module .wpcf7 table tr th span{
	color:#ee5454;
}
.module .wpcf7 table tr td .wpcf7-form-control-wrap{
	display:block;
	margin:17px 0 0;
}
.module .wpcf7 table tr td .wpcf7-form-control-wrap:first-of-type{
	margin-top:0;
}
.module .wpcf7 table tr td .wpcf7-form-control-wrap > input,
.module .wpcf7 table tr td .wpcf7-form-control-wrap > select,
.module .wpcf7 table tr td .wpcf7-form-control-wrap > textarea{
	display:block;
	width:100%;
	max-width:100%;
	border-radius:5px;
	border:none;
	outline:none;
	height:auto;
	padding:11px 4.88%;
	background:#efefef;
	color:var(--c_base);
	font-size:14px;
	line-height:2;
}
.module .wpcf7 table tr td .wpcf7-form-control-wrap > select{
	padding-top:13px;
	padding-bottom:15px;
}
.module .wpcf7 tbody tr td .wpcf7-form-control-wrap > textarea{
	height:226px;
	min-height:226px;
	resize: vertical;
}
.module .wpcf7 tbody tr td input::placeholder{
	color:#434141;
}
.module .wpcf7 .wpcf7-acceptance .wpcf7-list-item{
	display:block;
	font-size:13px;
	color:#434141;
	text-align:center;
	margin:0;
	padding:33px 0 0;
}
.module .wpcf7 .wpcf7-acceptance .wpcf7-list-item input{
	margin: 6px 10px 0 0;
    display: inline-block;
    vertical-align: top;
}

.module .wpcf7 table,
.module.table_profile table,
.module.acc_profile table{
	border:none;
}
.module.table_profile table tr th,
.module.table_profile table tr td{
	line-height:inherit;
	background:none;
	border:none;
	padding:0 0 20px;
	vertical-align:top;
}
.module.table_profile table tr:last-child th,
.module.table_profile table tr:last-child td{
	padding:0;
}
.module.table_profile table tr td:first-child{
	width:165px;
}
.module.acc_profile table tr th,
.module.acc_profile table tr td{
	line-height:inherit;
	background:none;
	border-width:0 0 1px;
	padding:26px 7%;
}

/*--------------------------------------------------
- POST -
--------------------------------------------------*/
.module .post-date,
.module .post-title,
body.archive .post-title{
    line-height: 2;
}
.module-post .post-title a{text-decoration: underline;}
.module-post .post-title a:hover{text-decoration-color:transparent;}
.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,
.module-post .entry-content > p:last-child:empty{
	margin-bottom:-1.2em;
}

.post .entry-content img:not(.gallery img),
.post .gallery,
.module .accordion-content img:not(.gallery img){
	padding:8px 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;
    display: grid;
    grid-column-gap: 1.5%;
	grid-row-gap: 1.5%;
	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-columns-4 {
    --galn: 4;
    --galN: 4;
}
.post .gallery .gallery-item{
	float:none;
	width:100%;
	text-align:center;
}
.post .gallery .gallery-item img{
	padding:0;
}

.module.module-post .builder-posts-wrap .post,
body.archive .post{
	margin-bottom:50px;
}
.module.module-post .post-image,
body.archive .post-image{
	text-align:center;
	margin:0 0 30px;
}
.post .custom-category-list{
	display:flex;
	flex-wrap:wrap;
	padding:0 0 5px;
	margin:0;
}
.post .custom-category-list li{
	display:block;
	font-size:15px;
	line-height:2;
	margin:0 10px 10px 0;
}
body.home .post:not(.category-news,.category-pickup) .custom-category-list li,
body:not(.single,.home) .post:not(.category-news) .custom-category-list li{
	margin:0 0 10px 10px;
}
.post:not(.category-news) .custom-category-list li.cat-parent{
	display:none;
}
#pagewrap .post .custom-category-list li a{
	display:block;
	text-decoration:none;
	pointer-events:none;
	color:var(--c-white);
	text-align:center;
	background:var(--c_red);
	padding:0px 20px 0px;
}
/* .post .custom-category-list li a:hover{
	opacity:0.7;
} */
.post .post-date{
	line-height:1;
    color:#ee5454;
    font-weight:bold;
    margin:-2px 15px 13px 0;
}
body.home .post:not(.category-news,.category-pickup) .post-date,
body:not(.single,.home) .post:not(.category-news) .post-date{
	margin-right:5px;
}
#pagewrap .module.module-post .post-title,
body.archive #pagewrap .post-title{
    font-size:18px;
    margin:-10px 0 0;
}
/* #pagewrap .module-post:not(.post_news) .post-title a{
	text-decoration:none;
} */
.module-post:not(.post_news) .post-title a:hover{
	opacity:0.7;
}
.module.post_news .builder-posts-wrap .post{
    padding:30px 0 21px;
    margin-bottom:0;
	border-bottom:1px dotted #d6d1d1;
}
#pagewrap .post_pickup .post{
	padding:10px 35px 0 0;
	margin:0;
}
.module.post_pickup{
	width:1512px;
}
.post_pickup .post-image a img{
	margin:0 auto;
}
.module.post_pickup .slick-arrow{
	display:block;
	position:absolute;
	z-index:1;
	top:0;
	left:0;
	transform:translate(-79%,0);
	text-indent:100%;
    overflow: hidden;
    white-space: nowrap;
	width:19px;height:32px;
	background:url(../../uploads/arrow_prev.png)center center no-repeat;
	border-radius:0;
	padding:0;
	margin-top:calc(((25% - 35px) / 2) - 6px);
}
.module.post_pickup .slick-arrow:hover{
	opacity:0.7;
}
.module.post_pickup .slick-arrow.slick-next{
	left:auto;right:35px;
	transform:translate(79%,0);
	background-image:url(../../uploads/arrow_next.png);
}





body.archive .page-title{
	display:none;
}



body.single .post{
	padding:120px 0 112px;
	margin:0px;
}
body.single .post-image{
	text-align:center;
	margin:0 0 60px;
}
body.single .post-date{
	display:block;
	margin-right:40px;
}
body.single #pagewrap .post-title{
	font-size:21px;
	line-height: 1.4;
	padding:0 0 35px;
	margin-bottom:0;
}
body.single .post-line{
	border:1px dotted #d6d1d1;
	border-width:1px 0 0;
	margin-bottom:35px;
}
body.single .post-top,
body.single .post-title,
body.single .post .entry-content{
	max-width:880px;
	margin-left:auto;
	margin-right:auto;
}
body.single .history-back-container{
	text-align:center;
}
body.single #pagewrap .history-back-button{
	display:inline-block;
	vertical-align:top;
	text-align:center;
	background-image:url(../../uploads/arrow_back.png);
	background-position:left 30px center;
	padding:7px 30px 8px 70px;
	max-width:100%;
	margin:0 auto 120px;
	text-decoration-color:transparent;
}
body.single .history-back-button:hover{
	opacity:0.7;
}


/* イベント個別の背景 */
.single .list-post article.category-event figure.post-image {
	position: relative;
	z-index: 1;
}


.single .list-post article.category-event figure.post-image::before {
	content: "";
	display: block;
	background-color: #fbecec;
	height: 425px;
	width: 1026px;
	position: absolute;
	top: 5%;
	left: -40%;
	z-index: -1;
}

/* メディア個別の背景 */
.single-media .postContentWrap {
	position: static;
}

.single-media .postContentWrap:before {
	display: none !important;
	content: none !important;
}

.single-media .post-content .postContentWrap .entry-content {
	position: relative;
	z-index: 1;
}

.single-media .post-content .postContentWrap .entry-content::after {
	content: "";
	display: block;
	background-color: #fbecec;
	height: 425px;
	width: 1026px;
	position: absolute;
	top: 5%;
	right: 45%;
	z-index: -1;
}
/* メディア個別の背景 end */

/* お知らせ個別の背景 */
body.single-topics #pagewrap #content article {
	position: relative;
}

body.single-topics #pagewrap #content article::after {
	content: "";
    display: block;
    position: absolute;
	width: 100vw;
	height: 425px;
    background: var(--c-light);
	top: min(13.43vw, 200px);
    bottom: -200px;
    right: 140px;
}

body.single-topics .postContentWrap:before {
	display: none;
}


/************************************************
***************** Media Query *******************
*************************************************/
#pagewrap #menu-button,
body #pagewrap .sp-footer-icons-container a{
	color:var(--c-white);
	background:#ee5353;
	border:none;
	text-decoration-color:transparent;
}
body #pagewrap .sp-footer-icons-container a{
	border-top:1px solid var(--c-white);
}
body #pagewrap .sp-footer-icons-container a span{
	font-size:16px;
}
body #pagewrap .sp-footer-icons-container a svg{
	fill:var(--c-white);
}
#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:var(--c-white);
}





@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-color:transparent;
		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;
		align-content:flex-start;
		align-items:flex-start;
		flex-wrap:wrap;
		padding:0 3vw;
	}
	#main-menu-container > *{
		width:100%;
	}
	#main-menu-container #site-logo{
		margin:60px 0 0;
	}
	#headerwrap .sns_header{
		display:flex;
		justify-content: center;
		padding:40px 0 45px;
	}
	#headerwrap .sns_header .module-icon-item{
		margin:0 8px 15px;
	}
	#pagewrap #main-menu-container #main-menu{
		flex-direction:column;
		max-width: 100%;
		padding:25px 0 0;
	}
	#pagewrap #main-menu-container .main-menu li{
		width:100%;
		line-height:2;
		text-align:center;
	}
	#pagewrap #main-menu-container .main-menu li.nav_btn{
		display:block;
		padding:25px 0 0;
	}
	#pagewrap #main-menu-container .main-menu li a{
		padding:6px 0 7px;
	}
	#pagewrap #main-menu-container .main-menu ul{
		margin:0;
	}
	
	#headerwrap #header.header{
		padding:0;
	}
	.rb{
		flex:none;
		padding:0;
	}
	.header_btn{
		display:none;
	}
	#main-menu-container #site-logo{
		display:block;
	}

}





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

	.module.post_pickup{
		width:calc(50vw + 50%);
	}

}





@media screen and (max-width: 1024px) {
	
	.header-brand-container{
		padding-right:50px;
	}
	.module_row.row_banner_contact:before{
		left:10vw;
		transform:none;
	}

}





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





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

	#pagewrap .gallery .module-gallery-grid:not(.gallery-columns-1, [class*="gallery-t-"], [class*="gallery-m-"]),
	.post .gallery .module-gallery-grid:not(.gallery-columns-1, [class*="gallery-t-"], [class*="gallery-m-"]){
		--galn: 2;
		--galN: 2;
	}
	#pagewrap #content .gallery .gallery-item:nth-of-type(odd){
		clear:left;
	}
	#pagewrap #content .gallery .gallery-item:nth-of-type(even){
		margin-right:0;
	}
	.module table tr th{
		padding:31px 5% 32px;
	}
	.module table tr td{
		padding:38px 5%;
	}
	#pagewrap .module:not(.table_scroll) > .tb_text_wrap > table tr th,
	#pagewrap .module:not(.table_scroll) > .tb_text_wrap > table tr td{
		display:block;
		width:100%;
	}
	#pagewrap .module:not(.table_scroll) > .tb_text_wrap > table tr th:not(:last-child),
	#pagewrap .module:not(.table_scroll) > .tb_text_wrap > table tr 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:max(100%,721px);
	}
	
	#pagewrap .row_main > .row_inner,
	#pagewrap .row_event > .row_inner,
	#pagewrap .row_lession_greeting > .row_inner{
		--col:none;
	}
	#pagewrap .row_main > .row_inner > .tb-column.last > .tb-column-inner:last-child{
		display:none;
	}
	.row_main > .row_inner > .tb-column.first{
		padding:35px 0 0;
	}
	body.home .row_main > .row_inner > .tb-column.first{
		padding:25px 0 0;
	}
	#pagewrap .row_main > .row_inner > .tb-column.first > .tb-column-inner{
		padding:0;
		margin:0;
	}
	body.home .row_main .module[class*="top_slider_txt"]{
		font-size:22px;
	}
	body.home .row_main .module[class*="top_slider_txt"] strong{
		font-size:20px;
	}
	#pagewrap .row_main > .row_inner > .tb-column .tit_fc{
		text-align:center;
		margin-top:0;
	}
	.row_main .top_slider .slide-content{
		flex-direction:column-reverse;
		align-content:flex-start;
		align-items:flex-start;
	}
	.row_main .top_slider .slide-content > *{
		width:100%;
	}
	.top_slider .slide-title{
/* 		margin:0 20px 20px 20px; */
		margin: 0 0 20px;
	}
	.row_main .top_slider .slide-content > div{
		flex:none;
		padding:12px 10px;
		margin:0;
	}
	.footer_content{
		flex-wrap:wrap;
	}
	.footer_content > *{
		width:100%;
		text-align:center;
	}
	#footerwrap .sns_header,
	#footerwrap .footer-nav,
	#footerwrap #btn-menu > li.nav_btn ul,
	.module.top_slider .tf_carousel_nav_wrap{
		justify-content:center;
	}
	#footerwrap .sns_header .module-icon-item{
		margin:0 8px 15px;
	}
	#footerwrap .footer-nav{
		margin-right:0;
	}
	#footerwrap #btn-menu > li.nav_btn ul li{
		margin:0 10px 20px;
	}
	.copyright-container{
		display:block;
		text-align:center;
	}
	.row_top_profile .tb-column.last{
		padding-left:0;
	}
	.row_top_profile .tb-column.first > .tb-column-inner{
		max-width:none;
		margin:0 auto;
	}
	.module.tit_fc .main-head {
		font-size: 16px;
	}
	.module.tit_fc .sub-head {
		font-size: 28px;
		padding: 0;
	}
	.module.fc_arrow .sub-head {
		background:url(../../uploads/arrow_m_fff.png)right bottom 7px no-repeat;
		padding-right: 40px;
	}
	#pagewrap .row_top_banner .sub_column{
		padding:max(30.24%,115px) 25px 17px;
		margin-bottom:20px;
	}
	#pagewrap .row_top_banner .tit_fc{
		margin-bottom:0;
	}
	body.archive #layout{
		flex-direction:column-reverse;
	}
	.sidebar1 #body #content,
	#body #sidebar{
		width:100%;
		max-width:none;
	}
	.row_lession_greeting{
		background:none;
	}
	.row_lession_greeting .tb-column.first{
		padding:30px 0 0;
	}
	#pagewrap .row_lession_greeting .tb-column.last{
		background-image:url(../../uploads/lession_greeting_img_sp.jpg);
		padding:49.2% 0 0;
		background-size: contain;
        background-position: center;
	}
	#pagewrap .row_lession .module_subrow:before,
	#pagewrap .row_lession .module_subrow:after,
	#pagewrap .row_lession_greeting .tb-column:before{
		display:none;
	}
	#pagewrap .row_lession .sub_column{
		padding:35px 0 38px;
	}
	#pagewrap .row_lession .module_subrow:first-child .sub_column.first{
		padding-top:0;
	}
	#pagewrap .row_lession .module_subrow:last-child .sub_column.last{
		padding-bottom:0;
	}
	.row_lession .module_subrow:not(:last-child) .sub_column,
	.row_lession .module_subrow:last-child .sub_column:not(.last){
		border-bottom:1px dotted #919191;
	}
	.module.table_profile table tr:last-child td:not(:last-child){
		padding-bottom:20px;
	}
	.module.tit_line .module-title{
		font-size:28px;
	}
	.acc_profile .accordion-content > .tb_text_wrap{
		padding-top:5px;
		padding-bottom:0;
	}
	.module.module-post .builder-posts-wrap .post, 
	body.archive .post{
		margin-bottom:30px;
	}
	#pagewrap .pagenav{
		padding-top:40px;
	}
	body.archive #layout{
		padding-top:63px;
		padding-bottom:20px;
	}
	#pagewrap .module .wpcf7 table tr th{
		padding-top:35px;
	}
	body .module .wpcf7 input[type=submit]{
		margin-top:53px;
	}
	.bdp_red,
	.row_contact{
		padding-left:5vw;
		padding-right:5vw;
	}
	body.single .post{
		padding-top:50px;
		padding-bottom:72px;
	}
	body.single .post-image{
		margin-bottom:40px;
	}
	body.single .post-line{
		margin-bottom:30px;
	}
	body.single #pagewrap .history-back-button{
		margin-bottom:80px;
	}
	.module_row.row_main:before{
		bottom:-113px;
		right:10vw;
	}
	.module.post_pickup{
		width:100%;
	}
	.post_pickup .slick-track{
		display:flex;
	}
	#pagewrap .post_pickup .post{
		flex:1;
		padding:10px 3vw 0;
	}
	#pagewrap .module.post_pickup .slick-arrow{
		transform:none;
		margin-top:calc(min(20.5vw,171.5px) - 6px);
	}
	.module.post_pickup .slick-arrow.slick-next{
		right:0;
	}
	.module.top_slider .tf_carousel_nav_wrap a{
		margin:0 3px 5px;
	}
	.module_row.row_top_profile:before{
		height:370px;
		padding:75% 0 0;
		right:10%;
		transform:translate(0,-80px);
		box-sizing:content-box;
	}
	#pagewrap .top_slider .slide-title a {
		max-width: 300px;
		width: 100%;
		margin: 0 auto;
		text-align: center;
	}
	
	body.archive #layout.pagewidth{
		flex-direction: column;
	}
	
}



@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_profile .tb-column.first > .tb-column-inner{
		max-width:none;
		padding:0;
	}
	#pagewrap .module.post_pickup .slick-arrow{
		margin-top:calc(min(44vw,171.5px) - 6px);
	}

}



/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}