/* ------------------------------------------------
	reset
--------------------------------------------------*/
*{
	margin:0;
	padding:0;s
}
html{
	box-sizing: border-box;
	font-family: "Hiragino Kaku Gothic Pro", Meiryo, "MS PGothic", Arial, Osaka, Sans-Serif;
	font-size: 62.5%;
}
body{
	font-size: 14px;/*1.4rem;*/
	line-height: 1.8;
	position: relative;
}
li{
	list-style: none;
}
img{
	margin: 0;
	padding: 0;
	vertical-align: bottom;
}
.clearfix:after {
	content:" ";
	display:block;
	clear:both;
}




/* ------------------------------------------------
	basic
--------------------------------------------------*/

.inner_box{
	margin: 0 auto;
	max-width: 1062px;
	padding: 60px 30px;
}
@media (max-width: 768px) {
	.inner_box
	{
		/*max-width: auto;*/
		padding: 60px 20px;
	}
}
@media (max-width: 480px) {
	.inner_box
	{
		padding: 30px 20px;
	}
}

.flex-container {
	display: -webkit-flex;
	display: flex;

	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;

	-webkit-justify-content: space-between; /* Safari */
  	justify-content:         space-between;
}
.flex-wrap {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:wrap;
}
.tit_l{
	font-size: 3.0rem;
}
.tit_m{
	font-size: 2.0rem;
	line-height: 1.4;
}
.tit_s{
	font-size: 1.8rem;
	line-height: 1.5;
}

@media (max-width: 480px) {
	.tit_l{
		font-size: 2.4rem;
	}
	.tit_m{
		font-size: 2.0rem;
		line-height: 1.4;
	}
	.tit_s{
		font-size: 1.8rem;
		line-height: 1.5;
	}
}

a{
	text-decoration:underline;
	-webkit-transition: .3s;
	transition: .3s;
}
a:hover{
	text-decoration:none;
}
a img:hover{
	opacity: 0.8;
}
.link_more{
	text-align: right;
	font-size: 1.6rem;
	padding: 20px 0 0 0;
}

/* ------------------------------------------------
	color
--------------------------------------------------*/

/* base font-color */
html,
a,
a:hover{
	/*color: #333;*//*#502a03;  brown */
	color: #222;/*#70593E;*/
}
@media (max-width: 660px) {
  footer nav ul li ul li a,
  footer nav ul li ul li a:hover{
    color: #737373 !important;/*#502a03 !important; /* brown */
  }
}

/* base background-color */
.next:before,
.prev:before,
.pagetop:before{
	background: #2d1803; /* brown */
}
.next:hover,
.prev:hover,
.pagetop:hover{
	opacity: 0.8;
}

/* accent background-color */
.header_top,
.menu-trigger span ,
.topics li p a,
footer,
.detail ul li:before,
thead th {
	background-color: #E8745A; /* yellow-green */
}

/* accent font-color */
.case h3,
.seminar h3,
.company h2,
.topics li p a:hover,
.detail h1,
/*.detail a,*/
.article_list h3,
.seminar_list h1{
	color: #E8745A; /* yellow-green */
}

/* accent border-color */
.service_contents p,
.topics li p a{
    border: 1px solid #E8745A; /* yellow-green */
}

/* accent opacity-color */
.vision figcaption,
.case figcaption {
	background: rgba(248,132,106,.8); /* yellow-green */
}

.company h2:before,
.contact p a,
.detail h1:before,
.seminar_list h1:before{
	background-color: #95FCF2;/* #ed6d17;*/ /* orange */
}

.company h2:before,
.contact p a,
.detail h1:before,
.seminar_list h1:before,
.wpcf7-form button,
.wpcf7-submit{
    background-color: #E8745A;/* #ed6d17;*/ /* orange */
}

.seminar-price {
	display: block;
}
.seminar-place {
	display: block;
}

.bg_g{
	background-color: #F5F3F3;
}

/* ------------------------------------------------
	header
--------------------------------------------------*/
header{
	background-color: #fff;
	/*box-shadow:0px 2px 4px 2px #eee;
	-moz-box-shadow:0px 2px 4px 2px #eee;
	-webkit-box-shadow:0px 2px 4px 2px #eee;*/
}

.header_top .inner_box{
    padding: 3px 30px;
}
.header_top ul{
	text-align: right;
}
.header_top li{
	display: inline-block;
    padding: 0 0 0 20px;
	position: relative;
	margin: 0 0 0 20px;
}
.header_top li a{
	color: #fff;
	display: block;
	text-decoration: none;
}
.header_top li a:hover{
	text-decoration: underline;
}
.tel:before{
	content: url("../img/icon_tel.png") ;
	margin: 0 5px 0 0;
    position: absolute;
    left: -4px;
    top: 2px;
}
.mail:before{
	content: url("../img/icon_mail.png") ;
	margin: 0 5px 0 0;
	position: absolute;
	left: -4px;
	top: 2px;
}
.header_main .inner_box{
    padding: 20px 30px;
}
.header_main .logo{
	float: left;
	margin: 0 20px 0 0;
}
.header_main .logo img{
	max-width: 300px; /* 180 */
	width: 100%;
	}
.header_main nav {
	float: left;
	margin: 10px 0 0 30px;
}
.header_main nav li{
	/*display: inline-block;*/
	margin: 0 0 0 15px;
}
.header_main nav li a{
	text-decoration: none;
	font-size: 1.5rem;
	font-weight: bold;
}

.header_main nav li a:hover{
	text-decoration: underline;
}
.icon_tel_no{
  display: none;
}
.icon_tel{
  display: none;
}
@media (max-width: 900px) {
  .header_main .inner_box {
    position: relative;
  }
}

/*
.header_main .sns{
	float: right;
	    margin: 8px 0 0 0;
}
.header_main .sns li{
	display: inline-block;
}
@media (max-width: 900px) {
	.header_main .inner_box {
		position: relative;
	}
	.header_main .sns{
		position: absolute;
	    top: 20px;
	    right: 30px;
	}
}
*/

/* ------------------------------------------------
	top mainbg
--------------------------------------------------*/
main {
  overflow:hidden;
}
.main_bg img {
	width: 100%;
}
.main_bg {
	position: relative;
	overflow: hidden;
	box-sizing:border-box;
}

.main_bg h1{
	position: absolute;
    top: 50px;
    left: 0px;
    right: 0;
    bottom: 0;
    margin: auto;
    color: #fff;
    text-align: center;
    display: block;
	padding: 0 0 0 100px;
    height: 200px;
    font-size: 3.6rem;
    text-shadow:1px 1px 2px #666;
  box-sizing:border-box;
}
.main_bg .home-h1 {
   left: -30% !important;
}
	.arrow{
	position: relative;
	display: inline-block;
	/*padding: 0 0 0 16px;*/
	color: #000;
	vertical-align: middle;
	text-decoration: none;
	font-size: 15px;
}
.arrow::before,
.arrow::after{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.next{
	position: absolute;
	top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 55px;
    height: 55px;
    z-index: 100;
}
.next:before{
	width: 55px;
	height: 55px;
	opacity: 0.9;
}
.next::after{
	left: 10px;
    width: 21px;
    height: 21px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.prev{
	position: absolute;
	top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    width: 55px;
    height: 55px;
    z-index: 100;
}
.prev:before{
	width: 55px;
	height: 55px;
	opacity: 0.9;
}
.prev::after{
	left: 20px;
    width: 21px;
    height: 21px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}
@media (max-width: 900px) {
	.main_bg h1{
		padding: 0 100px;
	    font-size: 3.2rem;
	}

}
@media (max-width: 768px) {
	.main_bg {
		height: auto;
		width: 100vw;
	}

	.main_bg img{
		height: auto;
		width: 100%;
	}
	.main_bg h1{
	  font-size: 2.4rem;
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
		align-items: center; /* 縦方向中央揃え */
		-webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
		justify-content: center; /* 横方向中央揃え */
	}
}

@media (max-width: 480px) {
	.main_bg h1{
		padding: 0 64px;
		font-size: 1.8rem;
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
		align-items: center; /* 縦方向中央揃え */
		-webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
		justify-content: center; /* 横方向中央揃え */
	}
	.main_bg img{
		height: auto;
		width: 640px;
	}
	.next,.prev{
	    width: 40px;
	    height: 40px;
	}
	.next:before,.prev:before{
		width: 40px;
		height: 40px;
	}
	.next::after,.prev::after  {
	    width: 15px;
	    height: 15px;
	}
	.next::after{
		left: 8px;
	}
	.prev::after {
	    left: 15px;
	}
}

/* ------------------------------------------------
	top vision
--------------------------------------------------*/

.vision .flex-container li{
	width:30%;
}
.vision .flex-container li:nth-of-type(3n){

}
.vision img{
	width: 100%;
	max-width: 300px;
}
.vision figure {
	position: relative;
	overflow: hidden;
	max-width: 300px;
}
.vision figcaption {
	position: absolute;
	bottom: 0px;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 55px;
	-webkit-transition: .3s;
	transition: .3s;
	padding: 10px 30px;
    box-sizing: border-box;
    color: #fff;
}
.vision figcaption h2{
    margin: 0 0 5px 0;
    	font-size: 2.2rem;
}
.vision figcaption p{
	font-size: 1.6rem;
}
.link_vision{
	margin: 10px 0 0 0;
}

.vision figure:hover figcaption {
	bottom: 0;
	height: 100%;
}

@media (max-width: 900px) {
	.vision figcaption h2{
	    	font-size: 2.0rem;
	}
	.vision figcaption p{
		font-size: 1.4rem;
	}
}
@media (max-width: 768px) {
	.vision .flex-container li{
		width: 100%;
	    max-width: 300px;
	    margin: 0 auto 10px auto;
	}
	.vision figcaption{
		padding: 10px 20px;
	}
}
@media (max-width: 480px) {

}

/* ------------------------------------------------
	top service
--------------------------------------------------*/

.service{
	background-color: #e9e9e9;
}
.service .flex-container > li{
	width:30%;
}
.service h2{
	text-align: center;
	padding: 0 0 40px 0;
}
.service h3{
	border-bottom: 1px solid #333;
	padding: 0 0 10px 0;
	margin: 0 0 30px 0;
}
.service_contents li{
	margin: 0 0 30px 0;
}
.service_contents li a{
    padding: 12px;
    border-radius: 4px;
    display: block;
    text-decoration: none;
    overflow: auto;
}
.service_contents li a:hover{
	background-color: #fff;
}

.service_contents p{
    border-radius: 80px 80px;
    width: 80px;
    height: 80px;
    text-align: center;
    position: relative;
    float: left;
}
.service_contents p img{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 45px;
    height: 45px;
}
.service_contents dl{
	margin: 0 0 0 100px;
}
.service_contents dt{
	font-weight: bold;
	font-size: 1.6rem;
	margin: 0 0 5px 0;
	line-height: 1.6;
}

.service_contents dd{
	font-size: 1.3rem;
}
@media (max-width: 900px) {
	.service_contents p {
	    width: 60px;
	    height: 60px;
	}
	.service_contents p img {
	    width: 35px;
	    height: 35px;
	}
	.service_contents dl {
   		margin: 0 0 0 70px;
	}
}
@media (max-width: 768px) {
	.service .flex-container li{
		width: 100%;
    	padding: 0 0 15px 0;
	}
	.service_contents li {

	}
}


/* ------------------------------------------------
	top results
--------------------------------------------------*/

.results .flex-container > li{
	width:30%;
}

.results{
    background-image: url(../img/bg_results.jpg);
    background-repeat: no-repeat;
    color: #fff;
    background-position: top center;
    background-size: 100% auto;
}


.results h2{
	text-align: center;
	padding: 0 0 40px 0;
}

.results dt{
	font-size: 6.0rem;
	font-weight: bold;
	text-align: center;
	padding: 0 0 20px 0;
	display: block;
	position: relative;
	margin: 0 0 10px 0;
}
.results dt span{
	display: block;
	font-size: 1.5rem;
	font-weight: normal;
    position: absolute;
    bottom: 10px;
    right: 0;
}
.results dd{
	font-size: 1.6rem;
}
@media (max-width: 900px) {
	.results dt {
	    font-size: 4.5rem;
	}
}
@media (max-width: 768px) {
	.results {
	    background-size: auto;
	    background-position: 0 0;
	}
	.results .flex-container li{
		width: 100%;
	}
	.results dl{
	    margin: 0 0 20px 0;
	}
	.results dt{
		padding: 0;
		margin: 0;
	    font-size: 4rem;
	}
	.results dd{
	text-align: center;
	}
	.results dt span{
		position: relative;
	}

}

/* ------------------------------------------------
	top case
--------------------------------------------------*/

.case .flex-container > li{
	width:46%;
}
.case h2{
	text-align: center;
	padding: 0 0 40px 0;
}
.case figure{
	max-width: 240px;
}
.case img{

	width: 100%;
	height:auto;
}
.case h3{
	margin: 0 0 5px 0;
}
.case li a{
	text-decoration: none;
	display: block;
	overflow: auto;
}
.case li a:hover h3{
	text-decoration: underline;
}
.case figure {
	position: relative;
	overflow: hidden;
	float: left;
	margin: 0 20px 0 0;

}
.case figcaption {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	-webkit-transition: .3s;
	transition: .3s;
	opacity: 0;
	color: #fff;
}
.case li a:hover figcaption {
	opacity: 1;
}
.case figcaption p{
    position: relative;
    top: 35%;
    text-align: center;
}

@media (max-width: 992px) {
	.case figure{
		max-width: 160px;
	}
}
@media (max-width: 768px) {
	.case figure{
		width: 100%;
	    margin: 0 auto;
        float: none;
        margin:0 auto 20px auto;
	}
	.case img{
		float: none;

	}
}
@media (max-width: 480px) {
	.case figure{
		max-width: 200px;
	}
	.case .flex-container > li{
		width:100%;
		margin: 0 0 40px 0;
	}
	.case .flex-container > li:last-of-type{
		margin: 0 0 0px 0;
	}
	.case img {
	}
}


/* ------------------------------------------------
	top seminar
--------------------------------------------------*/

.seminar .flex-container > li{
	width:31%;
}
.seminar{
	background-image: url(../img/bg_seminar.jpg);
	background-repeat: no-repeat;
	background-position: top center;
	background-size: 100% auto;
	overflow: hidden;
}
.seminar h2{
	text-align: center;
	padding: 0 0 40px 0;
	color: #fff;
}
.seminar ul li{
	background-color: rgba(255,255,255,0.7);
	-webkit-transition: .3s;
	transition: .3s;
}
.seminar ul li a{
	padding: 30px;
	display: block;
	text-decoration: none;
	margin: 0 auto;
}
.seminar ul li:hover{
	background-color: rgba(255,255,255,1);
}
.seminar h3{
	text-align: center;
	background-image: url(../img/icon_seminar.png);
	background-repeat: no-repeat;
	background-position: top center;
	padding: 45px 0 0 0;
}
.seminar dl{
	margin: 20px 0 0 0;
}
.seminar dt{
	float: left;
	width: 30%;
}
.seminar dd{
	float: left;
	width: 70%;
	margin: 0 0 10px 0;
}
.seminar .link_more a{
	color: #fff;
}

@media (max-width: 900px) {
	.seminar {
	    background-size: auto;
	}
	.seminar .flex-container > li {
    	width: 27%;
	}
	.seminar ul li {
	    padding: 20px;
	    }
}
@media (max-width: 768px) {
	.seminar .flex-container > li {
	    width: 100%;
	    margin: 0 0 10px 0;
	}
	.seminar h2{
		padding: 0 0 20px 0;
	}
	.seminar {
	    background-size: auto 100%;
	}
}



/* ------------------------------------------------
	top topics
--------------------------------------------------*/
.topics h2{
	text-align: center;
	padding: 0 0 40px 0;
}

.topics li{
	margin: 0 0 10px 0;
	display: block;
}
.topics li p{
}
.topics li p a{
	text-align: center;
	line-height: 1.4;
  float: left;
	display: block;
	text-decoration: none;
	color: #fff;
	padding: 5px 8px;
	width: 155px;
	font-size : 13px;
}

.topics li p a:hover{
	background-color: #fff;
}

.topics li time{
	float: left;
  margin: 0 20px;
	font-size: 14px;
	font-weight : bold;
}
.topics li h3{
	float: left;
	width: 740px;
  font-size : 14px;
  font-weight: normal;
  padding : 2px 0;
}
.topics li h3 a {
  margin-left:20px;
}
.topics li h3 a:hover {
  text-decoration : underline;
}
@media (max-width: 1121px) {
	.topics li h3 a {
	  margin-left:20px;
	}
}
@media (max-width: 1072px) {
	.topics li {
    	margin: 0 0 30px 0;
	}
	.topics li h3 {
	    clear: both;
	    width: auto;
	}
		.topics li h3 a {
	  margin-left:0px;
	}
	.topics li time{
	    font-size: 1.4rem;
	    float: none;
	    display: block;
	    margin: 5px 0 0 0;
	}
	.topics li p{
		float: none;
		width: auto;
		display: inline-block;
		text-align: left;
		min-width: initial;
    /*padding: 5px 10px 2px 10px;*/
		font-size: 1.3rem;
		line-height: 1.4;
	}
}
@media (max-width: 768px) {
	.topics li {
	    margin: 0 0 30px 0;
	}
	.topics li time{
	    font-size: 1.4rem;
	    float: none;
	    display: block;
	    margin: 5px 0 0 0;
	}
	.topics li h3{
		margin: 0px 0 0 0px;
	}


}


/* ------------------------------------------------
	top map
--------------------------------------------------*/

#map {
	/* width: 400px; */
	height: 250px;
}

/* ------------------------------------------------
  sp sns footer
--------------------------------------------------*/
.sp_sns{
	/*display: none;*/
}
/*@media (max-width: 768px) {*/
	.sp_sns{
		display: block;
	}
	.sp_sns .inner_box {
    	padding: 0px 20px 30px 20px;
}
	.sp_sns ul{
		text-align: center;
	}
	.sp_sns li{
		display: inline-block;
	    margin: 0 5px;
	}
/*}*/

/* ------------------------------------------------
	top company
--------------------------------------------------*/
.company .inner_box{
	padding: 60px 20px 0px 20px;
}

.company .flex-container li{
	width:30%;
}
.company h2{
	position: relative;
	margin: 0 0 20px 0;
}
.company h2:before{
	content: "";
	position: absolute;
	top: -15px;
	left: 0;
	width: 30px;
	height: 6px;
}
.company dl{
	margin: 0 0 20px 0;
}
.company dt{
	font-weight: bold;
    font-size: 1.5rem;
}
@media (max-width: 1072px) {

}
@media (max-width: 768px) {
	.company .inner_box{
	padding: 50px 20px 0px 20px;
}
.company .flex-container > li {
	    width: 100%;
        padding: 0 0 30px 0;
	}
	.company h2 {
    margin: 0 0 10px 0;
	}
}

/* ------------------------------------------------
	contact
--------------------------------------------------*/
.contact {
	background-color : #FFF;
}
.contact .inner_box{
	/*border-top:1px solid #d8d8d8;*/
	/*padding:30px 0 60px 0;*/
}
.contact p {
	text-align: center;
	padding: 20px 0;
	position: relative;
}
.contact p a{
	font-size: 1.5rem;
  color: #fff;
  border-radius: 8px;
	position: relative;
	text-decoration: none;
	padding : 13px 80px;
	/*padding: 25px 50px 25px 90px;*/
}
/*.contact p a:before{
	position: absolute;
	content: url("../img/icon_mail_l.png") ;
	margin: 0 5px 0 0;
	left: 50px;
	top: 20px;
  line-height : 48px;
}*/
.contact p a:hover,
.header-contact a:hover {
		background-color: #F8846A;/* #75DCD2;*//*#f57c2b;*/
}
/*
@media (max-width: 768px) {
	.contact p a{
		font-size: 2.0rem;
	}
	contact .inner_box{
	padding:30px 30px;
	}
}
*/
@media (max-width: 480px) {
	.contact .info p a{
	  padding: 13px 20% !important;
	}
  .contact p a {
    padding: 13px 10% !important;
  }
}

/* ------------------------------------------------
	pagetop
--------------------------------------------------*/
/*
.pagetop::before,
.pagetop::after{
	position: absolute;
	bottom: 0;
	left: 20px;
	margin: auto;
	content: "";
	vertical-align: middle;
}
*/
/*
.pagetop{
position: absolute;
    bottom: 50px;
    margin: auto;
    width: 75px;
    height: 75px;
    right: 30px;
}
.pagetop:before{
	width: 75px;
	height: 75px;
	opacity: 0.8;
	border-radius: 100px;
}
.pagetop::after{
    right: 30px;
    width: 25px;
    height: 25px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: 12px;
    left: 43px;
}
*/
/*
@media (max-width: 786px) {
	.pagetop{
	    width: 45px;
	    height: 45px;
	}
	.pagetop:before{
		width: 45px;
		height: 45px;
	}
	.pagetop::after {
	    width: 15px;
	    height: 15px;
	    border-top: 2px solid #fff;
	    border-right: 2px solid #fff;
	    top: 10px;
	    left: 34px;
	}
}
*/

/* ------------------------------------------------
	footer
--------------------------------------------------*/

footer{
	/*color:#fff;*/
}
footer .inner_box{
	padding:34px 20px 0px 20px;
}
footer .pagetop{
	/*color: #fff;*/
	text-decoration: none;
	display: block;
}

footer .pagetop:hover{
	/*color: #fff;*/
	text-decoration: underline;
	display: block;
}
footer nav ul li{
	float: left;
	margin: 0 60px 50px 0;
}
footer nav ul li:last-of-type{
	margin: 0 0px 20px 0;
}
footer nav ul li p{
	font-size: 1.8rem;
    margin: 0 0 8px 0;
    font-weight: bold;
}

footer nav ul li ul {
	margin: 0 0 0 18px;
}
footer nav ul li ul li{
	float: none;
	margin: 0;
	list-style-type: disc;
	list-style-position: outside;
}
footer nav ul li ul li a{
	/*color: #fff;*/
	}
footer .logo_w img{
	max-width: 200px;
	width: 100%;
}

footer small{
	/*text-align: right;*/
	  line-height : 26px;
}
.fotter_bottom {
    margin: 0px 0 20px 0;
   /* border-top: 1px solid #64a101;*/
    padding: 20px 0 0 0;
    /*position: relative;*/
}
.fotter_bottom ul li {
  display : inline-block;

}
.fotter_bottom ul li:first-child {
	text-align : left;
	float : left;
}
.fotter_bottom ul li:nth-child(2) {
  text-align : right;
  float : right;
}
.fotter_bottom ul li:first-child small a {
  color : #737373 !important;/*#70593E !important;*/
}

.powered{
	width: 100%;
	text-align: center;
	background-color: #FFF;/*#487401;*/
	color : #7A7A7A;
	font-size: 1.2rem;
	padding: 5px 0;
}

@media (max-width: 768px) {
	footer .logo_w img{
		max-width: 180px;

	}
	footer > div.inner_box > nav > ul.flex-wrap > li > a {
	  font-weight: bold;
	  padding-left: 16px;
	}
}

@media (max-width: 660px) {
	footer nav ul{
		    display: block !important;
	}
	footer .logo_w{
		text-align: center;
    	/*margin: 0 0 20px 0;*/
    	padding : 0;
	}
	.fotter_bottom {
		border-top: none;
	}
	.fotter_bottom small{
		text-align: center;
		position: relative;
		display: block;
		margin: 0 10px;
	    line-height: 1.2;
	}
	footer nav ul li {
	    float: none;
	    margin: 0 0px 0 0;
	}
	footer nav ul li p {
	    font-size: 1.6rem;
	    margin: 0 0 5px 0;
	}
	footer nav>ul>li {
		padding: 0 0 20px 0;
		}
	.fotter_bottom {
    	margin: 0px 0 20px 0;
	}
}


@media (max-width: 660px) {
	footer .inner_box {
		padding: 0;
	}
	.fotter_bottom ul li:first-child {
		text-align: left;
		padding-left : 20px;
		margin-bottom : 20px;
		font-size : 16px;
	}
	.fotter_bottom ul li:nth-child(2) {
		text-align : center;
		display : block;
		margin : 0 auto !important;
		box-sizing : bordar-box;
		width : 100% !important;
	}
	footer nav a{
		text-decoration: none;
	}
	footer nav ul li p{
	    border-bottom: solid 1px #64a101;
	    margin-bottom: 1px;
	    padding: 10px 40px 10px 20px;
	    color: #FFF;
	    cursor: pointer;
	    position: relative;
	    margin: 0;
	}

	footer nav p:before{
		display: block;
	    content: "";
	    position: absolute;
	    -webkit-transform: rotate(45deg);
	    transform: rotate(0deg);
	    top: 50%;
	    right: 20px;
	    width: 3px;
	    height: 15px;
	    margin-top: -8px;
	    background: #FFF;
	}

	footer nav p:after{
		display: block;
	    content: "";
	    position: absolute;
	    -webkit-transform: rotate(45deg);
	    transform: rotate(90deg);
	    top: 50%;
	    right: 20px;
	    width: 3px;
	    height: 15px;
	    margin-top: -8px;
	    background: #FFF;
	}

	footer nav p.active:before{
	  margin-top: -2px;
	}

	footer nav p.active:after{
	  margin-top: 3px;
	}
	footer nav ul li ul {
		margin: 0;
	}
	footer nav ul li {
		padding: 0;
	}
	footer nav ul li:last-of-type {
	    margin: 0 0px 0px 0;
	}
	footer nav ul li ul li{
	    background-color: #F2F2F2;
	    border-bottom: solid 1px #D6D6D6;
	    list-style-type: none;ß
	}

	footer nav ul li a {
	    padding: 6px 20px;
	    position: relative;
	    display: block;
	    background-color : #E8745A;
	    color : #FFF;
	    font-weight : bold;
	    font-size : 16px;
	}
	footer nav ul li a:hover {
			color : #FFF;
	}
	footer nav ul li ul li a {
	    padding: 8px 30px 8px 30px;
	    position: relative;
	    display: block;
	    font-weight : normal;
	    font-size : 14px;
	    background-color : #F2F2F2;
	}

	footer nav ul li ul li a:hover {
		}
}

footer > div.inner_box > nav > ul.flex-wrap > li > a {
  font-size: 1.8rem;
  margin: 8px 0 8px 0;
  font-weight: bold;
}

@media (max-width: 768px) {
	footer > div.inner_box > nav > ul.flex-wrap > li > a {
	  font-weight: bold;
	  padding-left: 16px;
	}
}

/* ------------------------------------------------
	detail　mainimg
--------------------------------------------------*/
.bg_detail img{
	width: 100%;
}


/* ------------------------------------------------
	detail　breadcrumb
--------------------------------------------------*/
.breadcrumb .inner_box{
	padding:14px 10px 10px 0px;
	/*padding:20px 30px 20px 30px;*/
	overflow: hidden;
}

.breadcrumb li{
	float: left;
	padding: 0 10px;
	/*padding: 0 10px 8px 0;*/
    line-height: 1.4;
}
.breadcrumb li a{
	padding: 0 10px 0 0;
	text-decoration: none;
}
.breadcrumb li a:hover{
	text-decoration: underline;
}
.breadcrumb li:after{
	content:">";
}
.breadcrumb li:last-of-type:after{
	content:"";
}
@media (max-width: 768px) {
	.breadcrumb .inner_box{
		padding:15px 5px 15px 20px;
		overflow: auto;
	}
	.breadcrumb li{
		font-size: 1.3rem;
	}
}


/* ------------------------------------------------
	detail　article
--------------------------------------------------*/

.detail h1{

	position: relative;
	margin: 0 0 0 0;

  font-weight: bold;
  min-height: 2.8em;
  font-size: 22px;
  line-height: 32px;
}
/*
.detail h1:before{
	content: "";
	position: absolute;
	top: -15px;
	left: 0;
	width: 30px;
	height: 6px;
}
*/
.color-c,
.color-c:hover  {
  color : #E8745A;
}
.detail a{
/*	color : #E8745A;*/
	text-decoration: none;
}
.detail a:hover{

	text-decoration: underline;
}

.detail h2{
	font-size: 20px;
	line-height: 1.4;
	background-color: #F5F3F3;
	color : #664941 !important;
	padding: 8px 20px;
	margin: 0px 0 0 0;
	}
.detail h2 a {
	color : #664941 !important;
  text-decoration : none;
}
.detail h2 a:hover {
  text-decoration : underline;
}
.detail h3{
	font-size: 20px;
	line-height: 1.5;
	margin: 30px 0 0 0;
}

blockquote{
	font-size: 1.6rem;
	border:5px solid #eee;
	padding: 50px 70px;
	margin: 40px 0 0 0;
	font-weight: bold;
	position: relative;
    line-height: 2;
}
blockquote:before {
	content:"";
	background-image: url(../img/blockquote_l.png);
	background-repeat: no-repeat;
	background-size: 36px auto;
	width: 36px;
	height: 36px;
	position: absolute;
	top: 20px;
	left: 20px;
	display: inline-block;
}
blockquote:after {
	content:"";
	background-image: url(../img/blockquote_r.png);
	background-repeat: no-repeat;
	background-size: 36px auto;
	width: 36px;
	height: 36px;
	position: absolute;
	bottom: 20px;
	right: 20px;
	display: inline-block;
}

.detail p,
.detail ul,.detail ol{
	font-size: 14px;
    margin: 20px 0 0 0;
    line-height: 2;
}
.detail p.major-label{
	margin-bottom: 0px;
}
	.detail p.major-label a {
		background: #E8745A; /* 70B500 */
		/*border-radius: 4px;*/
		color: #FFF;
		width : 155px;
		font-size : 13px;
		padding: 5px 8px;
		text-decoration: none;
		display: inline-block;
		margin-right: 2px;
		margin-bottom: 2px;
		text-align : center;
		border : 1px solid #E8745A;
	}
		.detail p.major-label a:hover {
			background: #FFF;
			color : #E8745A;
		}

.detail ul li,
.detail ol li{
	margin: 0 0 0 20px;
	padding: 0 0 5px 0;
}
.detail ul li{
	list-style-type: none;
	position: relative;
}
.detail ul li:before {
    content: '';
    width: 8px;
    height: 8px;
    display: inline-block;
    border-radius: 100%;
    position: absolute;
    left: -15px;
    top: 10px;
}
.detail ol li{
	list-style-type: decimal;
}
.article_list{
	margin: 30px 0 0 0;
}

.article_list h3{
}
.article_list img{
	float: left;
	width: 100%;
	margin: 0 40px 30px 0;
}
.article_list.img_m img{
	max-width: 428px;
}
/*.article_list.img_s p{
	position: relative;
}*/
.article_list.img_s img{
	max-width: 300px;
	 /* width: 100%;
  height: 400px;
  object-fit: cover;*/
   /*   position: absolute;
    clip: rect(0px 200px 100px 0px);
*/}

@media (max-width: 768px) {
	.detail h1{
		font-size: 22px;
	}
	.detail p,
	.detail ul,.detail ol,
	blockquote{
		font-size: 14px;
	    margin: 20px 0 0 0;
	}
	blockquote{
		padding: 50px 30px;
	}
	.detail h2{
		font-size: 20px;
		line-height: 1.4;
		padding: 8px 10px;
		margin: 0px 0 0 0;
	}
	.detail h3{
		font-size: 20px;
		line-height: 1.5;
		margin: 20px 0 0 0;
	}
	.article_list {
    	margin: 0px 0 0 0;
	}
	.article_list img{
		float: none;
		margin: 0 auto;
		display: block;
	}
	.article_list.img_s img{
		max-width: 428px;
	}
	blockquote:before {
		background-size: 30px auto;
		width: 30px;
		height: 30px;
		top: 15px;
		left: 15px;
	}
	blockquote:after {
		background-size: 30px auto;
		width: 30px;
		height: 30px;
		bottom: 15px;
		right: 15px;
	}
}


/*　movie　*/
.movie {
    background: url(../img/bg_movie.jpg) no-repeat left top;
    background-size: auto;
    height: 270px;
    box-sizing: border-box;
    text-align: center;
    color: #fff;
    position: relative;
        margin: 60px 0 0 0;
    }
.movie img{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}
.movie a{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}
.movie:hover{
	opacity: 0.8;
}
.movie a:hover img{
	opacity:1;
}
@media screen and (max-width: 768px) {
	.movie img{
		width:
	}

}


/*　table　*/
table {
  width: 100%;
  margin: 30px 0 0 0;
  table-layout: fixed;
  word-wrap:break-word;
  box-sizing : border-box;
}
table , td, th {
  border: 1px solid #ddd;
  border-collapse: collapse;
}
td, th {
  padding: 15px;
}

th {
  background-color: #f1f1f1;
  color:#333;
  width : 30%;
  table-layout: fixed;
}
td{
  vertical-align: top;
}
thead th{
  color: #fff;
  width : 30% !important;
}
thead td{
  color: #fff;
  width : 70% !important;
}
.t_center{
  text-align: center;
}


/* 170710.onodera SP時テーブルが横になる動作をコメントアウト */
/* @media screen and (max-width: 768px) {
	  table {
	    display: block;
	    position: relative;
	  }
	  table thead {
	    display: block;
	    float: left;
	  }
	  table tbody {
	    display: block;
	    width: auto;
	    position: relative;
	    overflow-x: auto;
	    white-space: nowrap;
	    -webkit-overflow-scrolling: touch;
	  }
	  table th,
	  table td {
	    display: block;
	  }
	  table tr {
	    display: inline-block;
	  }
	  table tbody tr {
	    margin-right: -5px;
	    text-align: left !important;
	  }
} */



/* ------------------------------------------------
	detail　aside banner
--------------------------------------------------*/
.banner .inner_box{
	padding: 0px 30px 60px 30px;
}
.banner ul{
	margin: 40px 0 0 0;
}
.banner li{
	margin: 0 0 15px 0;
}
.banner img{
	    width: 100%;
}
@media (max-width: 768px) {
	.banner ul{
	    display: block;
	}
	.banner img{
		text-align: center;
	    display: block;
	    margin: 0 auto;
	    width: 100%;
	    max-width: 240px;
	}
}



/* ------------------------------------------------
	list paging
--------------------------------------------------*/

.paging:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.paging {
	padding:50px 0 0 0;
}
.paging ol {
	margin: 0 auto !important;
	padding: 0 !important;
	position: relative;
	left: 50%;
	float: left;
}
.paging ol li {
	background-color: initial;
	list-style-type: none;
	margin: 0 0 10px 0;
	position: relative;
	left: -50%;
	float: left;
}
.paging ol li a {
	background: #fff;
	border: 1px solid #d8d8d8;
	border-radius: 3px;
	color: #502a03;
	margin: 0 4px;
	padding: 10px 13px 10px 13px;
	text-decoration: none !important;
	display: initial;
}
.paging ol li a:hover {
	background: #70593E;
	color: #fff;
	border: 1px solid #70593E;
}

.paging ol li a.active_paging {
	color: #fff;
	background: #70593E;
	border: 1px solid #70593E;
}

@media screen and (max-width: 320px) {
	.paging ol li a{
		font-size: 1.2rem;
	}
}


/* ------------------------------------------------
	detail related_category
--------------------------------------------------*/
.related_cat ul li:before{
	content: none;
}
.related_cat ul li{
	margin: 0;
    width: 31%;
    padding: 0 30px 20px 0;
}
.related_cat ul li:nth-of-type(3n){
    padding: 0 0px 20px 0;
}

.related_cat ul li a{
	text-decoration: none;
	/*display: block;*/
    overflow: auto;
}
.related_cat ul li a:hover{
	text-decoration: underline;
	color: #222; /* 70B500 */
}
.related_cat figure{
	width: 150px;
	float: left;
	padding: 0 15px 0 0;
}

.related_cat figure img{
	width: 100%;
}
.related_cat h3 {
    font-size: 14px;
    line-height: 1.5;
    margin: 0px 0 0 0;
    max-height: 110px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    font-weight : normal;
    color : #222;
}

@media screen and (max-width: 920px) {
.related_cat ul li{
    padding: 0 20px 20px 0;
}

	}
/* ------------------------------------------------
	detail related_detail
--------------------------------------------------*/
.related_det {
	position: relative;
}
.related_det ul{
	margin: 25px auto 0 auto;
	width: 90%;

}
.related_det ul li:before{
	content: none;
}
.related_det ul li{
	margin: 0;
    width: 25%;
    padding: 0 0 20px 0;
}
.related_det ul li a{
	text-decoration: none;
	display: block;
    overflow: auto;
}
.related_det ul li a:hover{
	text-decoration: underline;
	color: #222; /* 70B500 */
}
.related_det figure{
	width: 210px;
	padding: 0 0 15px 0;
	margin: 0 auto;
}

.related_det figure img{
	width: 100%;
}
.related_det h3 {
    font-size: 1.6rem;
    line-height: 1.5;
	margin: 0px 10px 0 10px;
	height: 50px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.related_det .next:before, .related_det .prev:before {
     background: none;
}
.related_det .next::after,.related_det .prev::after {
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    }
.related_det .prev::after {
    left: 10px;
}
.related_det .next::after {
    right: 5px;
}
.related_cat .link_more,.related_det .link_more {
    	margin: 0 !important;
    }
.related_cat .link_more a,.related_det .link_more a {
    color: #502a03;
}
.related_cat .link_more a:hover,.related_det .link_more a:hover {
	text-decoration: none;
}
@media screen and (max-width: 1000px) {
	.related_det figure {
    	max-width: 180px;
	}
	.related_det h3{
		width: 180px;
	}
	.related_cat figure {
    	max-width: 130px;
	}
}

@media screen and (max-width: 900px) {
	.related_cat figure {
    width: 110px;
}
.related_cat h3 {
    font-size: 14px;
    line-height: 1.3;
    max-height: 85px;
    -webkit-line-clamp: 3;
}
	.related_det figure {
    	max-width: 150px;
	}
	.related_det h3{
	width: 150px;
	margin-left:20px;
	font-size: 14px;
	line-height: 1.3;
	max-height: 40px;
	}

}
@media screen and (max-width: 840px) {
	.related_det figure {
    	width: 110px;
	}
	.related_det h3{
		width: 110px;
		margin: 0 auto;
	}
}
@media screen and (max-width: 768px) {
	.related_cat ul li {
    	width: 48%;
	}
		.related_cat ul li:nth-of-type(3n){
    	padding: 0 20px 10px 0;
	}
	.related_cat ul li:nth-of-type(2n){
    	padding: 0 0px 20px 0;
	}
}
@media screen and (max-width: 600px) {
	.related_cat figure {
	    width: 80px;
	}
	.related_cat h3 {
	    font-size: 14px;
	}
	.related_det h3 {
	    font-size: 14px;
	}
	.related_det li:nth-of-type(n+4){
		display: none;
	}
	.related_det ul li{
	    width: 30%;
	}
	.related_det figure {
	    width: 130px;
	}
	.related_det h3 {
		width: 130px;
		max-height: 35px;
	}

}

@media screen and (max-width: 540px) {
	.related_cat ul li {
	    width: 100%;
	}
		.related_cat ul li {
	    padding: 0 0 10px 0;
	}
	.related_cat figure {
	    padding: 0 10px 0 0;
	}
	.related_cat ul li:nth-of-type(2n){
    	padding: 0 0px 10px 0;
	}

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

	.related_det ul li{
	    width: 100%;
	}

	.related_det li:nth-of-type(n+2){
		display: none;
	}
	.related_det figure {
	width: 80%;
    max-width: 428px;
	}
	.related_det h3{
		width: 80%;
		max-height: inherit;
		height: auto;
	}
}


/* ------------------------------------------------
	detail .seminar_list
--------------------------------------------------*/

.seminar h1 {
  font-size: 22px;
  position: relative;
  margin: 0 0 20px 0;
  line-height: 1.4;
}
.seminar_list{
  background-image: none;
}
.seminar_list ul li {
 background-color: #FFF;
 border-radius : 20px;
}
/*
.seminar_list h1:before {
    content: "";
    position: absolute;
    top: -15px;
    left: 0;
    width: 30px;
    height: 6px;
}
*/
.seminar_list h3{
	background-image: none;
	padding: 20px 30px 0 30px;
}
.seminar_list figure{
  margin: 0 0 0 0;
  height: 200px; /*248px*/
  overflow: hidden;
  position: relative;
  border-bottom: 1px solid #ddd;
}
.seminar_list img{
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    height: auto;
}
.seminar_list ul li{
	margin: 0 30px 30px 0;
	width: 31%;
	overflow: hidden;
}
.seminar_list ul li:nth-of-type(3n){
	margin-right: 0;
	}
.seminar_list ul li a {
    padding: 0px;
}
.seminar_list dl {
    padding: 0 30px 15px 30px;
    overflow: auto;
}

/* singleページのセミナー情報表示部分 */
.single-seminar-article {
	display: -webkit-flex;
 	display: flex;
  justify-content: center; /* 子要素をflexboxにより中央に配置する */
  align-items: center;  /* 子要素をflexboxにより中央に配置する */
 	background: #eee;
 	border-radius: 4px;
 	padding: 8px 24px;
 	margin-top: 8px;
 	margin-bottom : 50px;
}
	.single-seminar-article p {
		padding-right: 24px;
		margin: 0;
	}
	.single-seminar-article p.logo{ width: 5%; vertical-align: middle;}
	.single-seminar-article p.date { width: 20%; }
	.single-seminar-article p.place { width: 55%; }
	.single-seminar-article p.price { width: 20%; }

@media (max-width: 1080px) {
	.seminar_list figure{
		height: 200px;
	}
}

@media (max-width: 930px) {
.seminar_list figure{
		height: 200px;
	}
.seminar_list ul li{
	width: 48%;
	padding: 0;
}
.seminar_list ul li:nth-of-type(3n){
	margin-right: 30px;
	}
.seminar_list ul li:nth-of-type(2n){
	margin-right: 0;
	}
}

@media (max-width: 810px) {
		.seminar_list figure{
		height: 200px;
	}
	.seminar_list ul li{
	margin: 0 20px 20px 0;
}
.seminar_list ul li:nth-of-type(3n){
	margin-right: 20px;
	}
}
@media (max-width: 680px) {
	.seminar_list figure{
		height: 180px;
	}
}

@media (max-width: 600px) {
	.seminar_list ul li{
		width: 100%;
	}
	.seminar_list ul li{
		margin: 0 0px 20px 0;
}
	.seminar_list ul li:nth-of-type(3n){
		margin-right: 0px;
	}
	.seminar_list dl {
  	  padding: 0 20px 15px 20px;
	}
}
@media (max-width: 768px) {
	.seminar_list h1{
		font-size: 2.4rem;
	}
	.single-seminar-article{
		display: block;
	}
	.single-seminar-article p.logo{
		width: 10%;
		text-align: center;
		margin: 0 auto;
		display: block;
		padding-top: 16px;
		padding-bottom: 16px;
		padding-right: 0px;
	}
		.single-seminar-article p.logo img {
			width: 100%;
		}
	.single-seminar-article p.date,
	.single-seminar-article p.place,
	.single-seminar-article p.price {
		display: block;
		width: 100%;
		text-align: left;
	}
	.single-seminar-article p .seminar-place {
		display: table-cell;
		width: 96px;
	}
	.single-seminar-article p .seminar-place-inner {
		display: table-cell;
		width: 76%;
	}
}




/* ------------------------------------------------
	navigation
--------------------------------------------------*/
ul.navi li.sp-navigate__reserve {
  display: none;
}
/* TB化Navigation */
.navigation {
  display: flex;
  justify-content: space-between;
  display: -webkit-flex;
  -webkit-justify-content: space-between;
  max-width: 1128px;
  margin: 0 auto;
  padding-left: 32px;
  padding-right: 32px;
}
  .navigation .nav-left {
    width: 36%;
    height: 128px;
  }
    .nav-left:before {
      content: "";
      height: 100%;
      vertical-align: middle;
      width: 0px;
      display: inline-block;
    }
    .navigation .nav-left a {
      display: inline-block;
      vertical-align: middle;
    }
  .navigation .nav-right__top {
    display: flex;
    justify-content: flex-end;
    display: -webkit-flex;
    -webkit-justify-content: flex-end;
    padding: 16px 0 24px;
  }
    .navigation .nav-right__top p {
      margin-left: 32px;
    }
  ul.navi {
/*    display: flex;
    justify-content: space-between;
    display: -webkit-flex;
    -webkit-justify-content: space-between;*/
  }
    ul.navi li {
      display: inline-block;
      /*padding: 0 16px;*/
      /* border-right: 1px solid #ccc; */
    }
    ul.navi li a {
      font-weight: bold;
      text-decoration: none;
    }
  .btn-net-reserve.top {
    margin: 0px;
    padding: 4px 8px;
  }
/* sub navigate */
ul.navi li ul.navigate__hide {
	list-style: none;
	position: absolute;
	display: none;
  z-index: 3;
}
ul.navi li ul.navigate__hide li {
	display: block;
	padding: 0;
	margin: 0;
	top: 0;
}
  ul.navi li ul.navigate__hide li.navigate__top {
    /* display: none; */
  }
	ul.navi li ul.navigate__hide li a {
		display: block;
		padding: 8px;
		background: rgba(33,20,8,0.7);
		color: #FFF;
	}
		ul.navi li ul.navigate__hide li a:hover {
			background: rgba(232,116,90,1.0);/*rgba(101, 204, 194,1.0);*/ /* ナビの選択色 */
		  transition-property: background;
		  transition-duration: .1s;
		  transition-timing-function: ease-in;
		}


/* Slicebox Style */
.sb-slider {
	margin: 0px auto;
	position: relative;
	overflow: hidden;
	width: 100%;
	list-style-type: none;
	padding: 0;
	max-width: 100% !important;
}

.sb-slider li {
	margin: 0;
	padding: 0;
	display: none;
}

.sb-slider li > a {
	outline: none;
}

.sb-slider li > a img {
	border: none;
}

.sb-slider img {
	/* max-width: 100%; */
	display: block;
}

.sb-description {
	padding: 20px;
	bottom: 10px;
	left: 10px;
	right: 10px;
	z-index: 1000;
	position: absolute;
	background: #CBBFAE;
	background: rgba(190,176,155, 0.4);
	border-left: 4px solid rgba(255,255,255,0.7);
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	filter: alpha(opacity=0);
	opacity: 0;
	color: #fff;

	-webkit-transition: all 200ms;
	-moz-transition: all 200ms;
	-o-transition: all 200ms;
	-ms-transition: all 200ms;
	transition: all 200ms;
}

.sb-slider li.sb-current .sb-description {
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
	filter: alpha(opacity=80);
	opacity: 1;
	overflow:hidden;
}

.sb-slider li.sb-current .sb-description:hover {
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=99)";
	filter: alpha(opacity=99);
	background: rgba(190,176,155, 0.7);
}

.sb-perspective {
	position: relative;
}

.sb-perspective > div {
	position: absolute;

	-webkit-transform-style: preserve-3d;
	-moz-transform-style: preserve-3d;
	-o-transform-style: preserve-3d;
	-ms-transform-style: preserve-3d;
	transform-style: preserve-3d;

	-webkit-backface-visibility : hidden;
	-moz-backface-visibility : hidden;
	-o-backface-visibility : hidden;
	-ms-backface-visibility : hidden;
	backface-visibility : hidden;
}

.sb-side {
	margin: 0;
	display: block;
	position: absolute;

	-moz-backface-visibility : hidden;

	-webkit-transform-style: preserve-3d;
	-moz-transform-style: preserve-3d;
	-o-transform-style: preserve-3d;
	-ms-transform-style: preserve-3d;
	transform-style: preserve-3d;
}

.shadow {
	width: 100%;
	height: 168px;
	position: relative;
	margin-top: -110px;
	background: transparent url(../images/shadow.png) no-repeat bottom center;
	background-size: 100% 100%; /* stretches it */
	z-index: -1;
	display: none;
}

.sb-description h3 {
	font-size: 20px;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
}

.sb-description h3 a {
	color: #4a3c27;
	text-shadow: 0 1px 1px rgba(255,255,255,0.5);
}

.nav-arrows {
	display: none;
}

.nav-arrows a {
	width: 42px;
	height: 42px;
	background: #cbbfae url(../images/nav.png) no-repeat top left;
	position: absolute;
	top: 50%;
	left: 2px;
	text-indent: -9000px;
	cursor: pointer;
	margin-top: -21px;
	opacity: 0.9;
	border-radius: 50%;
	box-shadow: 0 1px 1px rgba(255,255,255,0.8);
}

.nav-arrows a:first-child{
	left: auto;
	right: 2px;
	background-position: top right;
}

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

.nav-dots {
	text-align: center;
	position: absolute;
	bottom: -5px;
	height: 30px;
	width: 100%;
	left: 0;
	display: none;
}

.nav-dots span {
	display: inline-block;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	margin: 3px;
	background: #cbbfae;
	cursor: pointer;
	box-shadow:
		0 1px 1px rgba(255,255,255,0.6),
		inset 0 1px 1px rgba(0,0,0,0.1);
}

.nav-dots span.nav-dot-current {
	box-shadow:
		0 1px 1px rgba(255,255,255,0.6),
		inset 0 1px 1px rgba(0,0,0,0.1),
		inset 0 0 0 3px #cbbfae,
		inset 0 0 0 8px #fff;
}

.nav-options {
	width: 70px;
	height: 30px;
	position: absolute;
	right: 70px;
	bottom: 0px;
	display: none;
}

.nav-options span {
	width: 30px;
	height: 30px;
	background: #cbbfae url(../images/options.png) no-repeat top left;
	text-indent: -9000px;
	cursor: pointer;
	opacity: 0.7;
	display: inline-block;
	border-radius: 50%;
}

.nav-options span:first-child{
	background-position: -30px 0px;
	margin-right: 3px;
}

.nav-options span:hover {
	opacity: 1;
}

/* ------------------------------------------------
	contact-page
--------------------------------------------------*/
.wpcf7-form{
	padding: 30px 0 0 0;
	width: 60%;
	margin: 0 auto;
}

.wpcf7-form p{
	margin: 0;
	padding: 0;
	}
.wpcf7-form p.section{
	margin-bottom: 40px;
	padding: 0;
	}
.wpcf7-form input{
    margin: 0 0 0px 0;
    padding: 10px;
    font-size: 1.8rem;
    width: 100%;
    border: 1px solid #ddd;
    box-sizing:border-box;
    border-radius: 5px;
}
.wpcf7-form textarea{
    margin: 0 0 40px 0;
	width: 100%;
    padding: 10px;
    font-size: 1.8rem;
    border: 1px solid #ddd;
    box-sizing:border-box;
    border-radius: 5px;
}
.wpcf7-form .wpcf7-submit{
    font-size: 1.8rem;
    color: #fff;
    border-radius: 5px;
    position: relative;
    text-decoration: none;
    padding: 15px 60px 15px 60px;
    text-align: center;
    border: none;
    display: block;
    margin: 0 auto;
    cursor: pointer;
    font-weight: bold;
}
.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
	outline: 1px #aaa solid;
}


@media (max-width: 900px) {
	.wpcf7-form{
		width: 100%;
	}
	.wpcf7-form input,
	.wpcf7-form textarea{
		margin: 0 0 20px 0;
		/* background-color: #f8f8f8; */
    }
    .wpcf7-form p{
    	line-height: 1.4;
    }

}

/* responsive(SP) navigation */
@media (max-width: 790px) {

	.header_top{
		height: 5px;
	}
	.header_top .inner_box{
		/*display: none;*/
	}
	.header_main .inner_box {
	    padding: 10px 0px 0px;
	}
		.header_main .inner_box .logo{
		    padding-left: 4px;
		    padding-bottom: 4px;
		}
	.header_main .sns{
		display: none;
	}
	.header_main nav{
		display: none;
		padding-left: 0;
		margin-left: 0;
	}
	.header_main nav ul.navi{
		/* display: none; */
	}
		/* 親navigation */
		.header_main nav li.navi_current {
			width: 100%;
			margin: 0;
			background: #E8745A;
		}
			.header_main nav li.navi_current a {
				padding: 16px 8px;
				color: #FFF;
				display: block;
			}
				.header_main nav li.navi_current a:after {
					content: '\f067';
					font-family: FontAwesome;
					float: right;
				}
		/* 子navigation */
		.header_main nav li ul.navigate__hide {
			display: none;
			list-style: none;
			position: inherit;
		}
			.header_main nav li.navi_current ul.navigate__hide li.navigate__top a {
				background: #FFF;
				color: #70593E;
				padding-left: 16px;
				padding-top: 8px;
				padding-bottom: 8px;
			}
				.header_main nav li.navi_current ul.navigate__hide li.navigate__top a:hover {

				}
				.header_main nav li.navi_current ul.navigate__hide li.navigate__top a:after {
					content: '';
					float: inherit;
				}

	.icon_tel_no{
		display: block;
		position: absolute;
		top: 27px;
		right: 120px;
	}

	.icon_tel{
		display: block;
		position: absolute;
		top: 25px;
		right: 66px;
	}

	.menu-trigger {
		position: absolute;
	    width: 30px;
	    height: 22px;
	    top: 29px;
	    right: 20px;
	}
	.menu-trigger span:nth-of-type(1) {
	    top: 0;
	}
	.menu-trigger span:nth-of-type(2) {
	    top: 10px;
	}
	.menu-trigger span:nth-of-type(3) {
	    bottom: 0;
	}
	.menu-trigger span {
	    position: absolute;
	    left: 0;
	    width: 100%;
	    height: 2px;
	    border-radius: 2px;
	}
	/* ハンバーガー切り替えボタン */
	.menu-trigger,
	.menu-trigger span {
	  display: inline-block;
	  transition: all .4s;
	  box-sizing: border-box;
	}
	.menu-trigger span {
	  position: absolute;
	  left: 0;
	  width: 100%;
	  height: 2px;
	  background-color: #E8745A;
	  border-radius: 2px;
	}
	.menu-trigger span:nth-of-type(1) {
	  top: 0;
	}
	.menu-trigger span:nth-of-type(2) {
	  top: 10px;
	}
	.menu-trigger span:nth-of-type(3) {
	  bottom: 0;
	}
	.menu-trigger.active span{
	  background: #E8745A;
	}
	.menu-trigger.active span:nth-of-type(1) {
	  -webkit-transform: translateY(10px) rotate(-45deg);
	  transform: translateY(10px) rotate(-45deg);
	}
	.menu-trigger.active span:nth-of-type(2) {
	  opacity: 0;
	}
	.menu-trigger.active span:nth-of-type(3) {
	  -webkit-transform: translateY(-10px) rotate(45deg);
	  transform: translateY(-10px) rotate(45deg);
	}
}

@media (max-width: 480px) { /* 320 */
	.header_main .logo img {
	    max-width: 180px;
	}
	.icon_tel_no{
		top: 37px;
	}
	.icon_tel{
		top: 35px;
		right: 70px;
	}

	.menu-trigger {
	    top: 40px;
	}
}

/* -------------------*/
/* HOME 棒つき見出し文字   */
/* -------------------*/
.border-subtitle {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center; /* for no-flexbox browsers */
    font-size : 22px;
    color : #664941;/*502a03;*/
}
.border-subtitle:before,
.border-subtitle:after {
    border-top: #AD9D99 1px solid;
    content: "";
    display: inline; /* for IE */
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex: 1;
    flex-grow: 1;
}

.border-subtitle:before {
    margin-right: 1em;
}

.border-subtitle:after {
    margin-left: 1em;
}

/* ----------------*/
/* 地図非表示　　　　　    */
/* ----------------*/
.map {
  display : none !important;
}

/* ----------------*/
/* ヘッダのSNS        */
/* ----------------*/
.header-sns {
  float              : right;
}
.sns {
	float              : left;
	margin-right       : 20px;
}
.sns ul li {
	display            : inline-block;
	line-height        : 38px;
	font-size          : 26px;
}
@media (max-width: 790px) {
  .header-sns {
    display          : none !important;
  }
}

/* ----------------*/
/* SNSアイコン     */
/* ----------------*/
.sns-icon li a {
  font-size         : 24px;
  color             : #70593E;/*#958370;*/
  margin-right      : 8px;
}
.sns-icon li a:hover {
  color             : #80694E;/*#A89793;*//*#AEA091;*/
}

/* ----------------*/
/* ヘッダのお問い合わせ    */
/* ----------------*/
.header-contact {
  float              : right;
}
.header-contact a {
  display            : block;
  text-decoration    : none;
  background-color   : #E8745A;
  width              : auto;
  padding            : 5px 40px;
  color              : #FFF;
  border-radius      : 8px;
}
@media (max-width: 790px) {
  .header-contact,
  .header-contact a {
    display          : none !important;
  }
}

/* ----------------*/
/* ヘッダの電話番号    */
/* ----------------*/
.header-tel {
  float              : right;
  margin-right		 : 5px;
}
.header-tel a {
  display            : block;
  text-decoration    : none;
  background-color   : #E8745A;
  width              : auto;
  padding            : 5px 20px;
  color              : #FFF;
  border-radius      : 8px;
}
.header-tel a:hover{
	background-color   : #F8846A;
}

@media (max-width: 790px) {
  .header-tel,
  .header-tel a {
    /* display : none !important; */
  }
}

/* ----------------*/
/* ヘッダのメニュー             */
/* ----------------*/
@media (min-width: 790px) {
  .pchide {
    display          : none;
  }
}
@media (max-width: 790px) {
  .sphide {
    display          : none !important;
  }
}
.pc-nav > li > span a{
  color            : #694C44 !important;
}

/* ----------------*/
/* pagetop         */
/* ----------------*/
.pagetop {
  background-color : #F9F8F5;/*#EDEAE6;*/
  color : #664941;/*#958370;*/
  height : 3em;
  line-height : 3.2em;
  text-align : center;
  font-weight : bold;
  font-size : 16px;
}
footer p a:hover {
  text-decoration : none !important;
  color : #765951;
}

/* ----------------*/
/* HOME ご利用の流れ   */
/* ----------------*/
.main_bg,
.bg_detail {
  position          : relative;
}
.home-price-button {
  position          : absolute;
  bottom            : 15%;
  right             : 16%;
  width             : 15%;
  max-width         : 187px;
  box-sizing:border-box;
  z-index : 300;
}
.price-disc {
  border-radius : 50%;
  border : 4px solid #FFF;
  width : 176px;
  height : 176px;
  background-color : #E8745A;
  color : #FFF;
  padding : 7px 10px 0 10px;
  box-sizing:border-box;
  text-align : center;
  overflow:hidden;
}
.price-disc:hover {
  background-color : #F8846A;
}
.price-disc hr {
  box-sizing:border-box;
  border:solid #FFF;
  border-width:1px 0 0 0;
  height:1px;/* for IE6 */
  clear:both;/* for IE6 */
  width : 80%;
  margin-top : 8px;
  margin-bottom : 16px;
  margin-right : auto;
  margin-left : auto;
}

.price-disc span {
  font-size : 14px;
}
.price-disc .large {
  font-size : 18px  !important;
  font-weight : bold;
}

.price-disc .small {
  font-size : 13px  !important;
  font-weight : bold;
}

.price-disc i {
  font-size : 26px;
}

.home-price-button a {
	text-decoration : none !important;
}
.home-price-button a:hover {
	text-decoration : none !important;
}
@media (max-width: 790px) {
  .home-price-button {
    bottom            : 6%;
    right             : 18%;
    width             : 15%;
    max-width         : 187px;
  }
  .price-disc {
    width : 136px;
    height : 136px;
    padding : 5px 0px 0 0px;
  }
  .price-disc hr {
	  margin-top : 4px;
	  margin-bottom : 8px;
	  margin-right : auto;
	  margin-left : auto;
	}
	.price-disc span {
	  font-size : 10px;
	}
	.price-disc .large {
	  font-size : 14px  !important;
	  font-weight : bold;
	}
	.price-disc i {
	  font-size : 22px;
	}
}
@media (max-width: 480px) {
	.home-price-button {
    bottom            : 6%;
    right             : 24%;
    width             : 15%;
    max-width         : 187px;
  }
  .home-h1 {
  	padding-left : 24px !important;
  }
  .price-disc {
    width : 90px;
    height : 90px;
    padding : 3px 0px 0 0px;
    border : 3px solid #FFF;
    line-height: 1.3;
  }
  .price-disc hr {
	  margin-top : 0px;
	  margin-bottom : 0px;
	  margin-right : auto;
	  margin-left : auto;
	}
	.price-disc span {
	  font-size : 7px;
	  line-height : 8px;
	}
	.price-disc .large {
	  font-size : 10px  !important;
	  font-weight : bold;
	}

	.price-disc .small {
	  font-size : 10px  !important;
	  font-weight : bold;
	}
	.price-disc i {
	  font-size : 14px;
	}

}

.home-price-button img {
  width            : 50%;
}

/* ---------------------------*/
/* HOME画面のコンセプト、固定コンテンツ  */
/*----------------------------*/
.concept-ttl{
	/* color : #FFF; */
}

.main-concept {
  width            : 100%;
  background-color: #F5F3F3;
  /* background: url(../../../uploads/2017/05/sample_img.jpeg);
  background-size: 100%;
  color: #FFF; */
}
.main-concept div p {
	width            : 100%;
	margin           : 1em 0 2.8em;
	text-align       : center;
}
.main-concept-box {
	width            : 100%;
}
.main-concept div h1 {
  color            : #E8745A;
  font-size        : 22px;
  line-height      : 32px;
  margin-bottom    : 30px;
}
.main-concept-box a {
	display : block;
	box-sizing : border-box;
}

.main-concept-box a li {
	width            : 30%;
	background-color : #FFF;
	border-radius    : 20px;
	float            : left;
	margin           : 0 2.5%;
}
.main-concept-box a:nth-child(3n+1) li {
	margin-left       : 0 !important;
	margin-right     : 2.5%;

}
.main-concept-box a:nth-child(3n+3) li {
  margin-left      : 2.5%;
  margin-right     : 0 !important;
}
.main-concept-box a li h3 {
	display          : block;
	color            : #E8745A;
	font-weight      : bold;
	min-height       : 2.8em;
	font-size        : 20px;
	line-height      : 32px;
	text-align       : center;
	padding          : 40px 25px 20px 25px;
	box-sizing       : border-box;
}
.main-concept-box  a li div img {
	width            : 100%;
	margin           : 0;
}
.main-concept-box a li p {
	text-align       : left;
	margin           : 0;
	padding          : 20px 25px;
	min-height       : 6em;
	box-sizing       : border-box;
	line-height      : 22px;
}

.main-concept-box a li dl dt{
	float: left;
	width: 30%;
}
.main-concept-box a li dl dd{
	float: left;
	width: 70%;
	margin: 0 0 10px 0;
}
.main-concept-box a li dl dd:last-child {
	margin: 0 0 25px 0;
}

.main-concept-box a li dl {
  display : block;
  box-sizing       : border-box;
  padding          : 20px 25px !important;
}

@media (max-width: 790px) {
	.main-concept-box a li {
	  width            : 100%;
	  background-color : #FFF;
	  border-radius    : 20px;
	  float            : left;
	  margin           : 10px 0;
	}
	.main-concept-box a:nth-child(3n+1) li {
	  margin-left      : 0 !important;
	  margin-right     : 0 !important;

	}
	.main-concept-box a:nth-child(3n+3) li {
	  margin-left      : 0 !important;
	  margin-right     : 0 !important;
	}
}

/* ----------------*/
/* HOME フローコンテンツ  */
/* ----------------*/
.main-flow-contents {
  width                : 100%;
  background-color     : #FFF;/*#EBE8E7;*//*#EDEAE6;*/
}
/* -------------------------------*/
/* HOME フローコンテンツ 投稿記事 PICK UP */
/* -------------------------------*/
.main-flow-contents .pickup a {
	display              : block;
	width                : 30%;
  text-decoration      : none !important;
  color                : #FFF;
  float                : left;
  margin               : 0 2.5% 30px 2.5%;
  overflow: hidden;
}
.main-flow-contents .pickup a:nth-child(3n+1) {
  margin-left          : 0 !important;
  margin-right         : 2.5%;
}
.main-flow-contents .pickup a:nth-child(3n+3) {
  margin-left          : 2.5%;
  margin-right         : 0 !important;
}
.main-flow-contents .pickup a li {
	background-color     : #A89793;/*#AEA091;*/
  border-radius        : 3px 3px 3px 3px / 3px 3px 3px 3px;
  -webkit-border-radius: 3px 3px 3px 3px / 3px 3px 3px 3px;
  -moz-border-radius   : 3px 3px 3px 3px / 3px 3px 3px 3px;
  overflow             : hidden;
}
.main-flow-contents .pickup a li span {
	display              : block;
	text-align           : center;
	text-decoration      : underline;
	padding              : 20px 0 10px;
	box-sizing           : border-box;
}
.main-flow-contents .pickup a li p {
  text-align           : left;
  margin               : 0;
  padding              : 0px 16px;/* 0 20 */
  min-height           : 4.2em;
  box-sizing           : border-box;
  line-height          : 22px;
  font-size            : 18px;
  font-weight          : bold;
}
/* HOME フローコンテンツ PICK UP */
.main-flow-contents .pickup a li div,
.main-flow-contents .pickup a li img {
	width                : 100%;
}
@media (max-width: 790px) {
	.main-flow-contents .pickup a {
	  width                : 100%;
	  margin               : 10px 0;
	}
	.main-flow-contents .pickup a:nth-child(3n+1) {
	  margin-left          : 0 !important;
	  margin-right         : 0 !important;
	}
	.main-flow-contents .pickup a:nth-child(3n+3) {
	  margin-left          : 0 !important;
	  margin-right         : 0 !important;
	}
}

/* -------------------------*/
/* HOME フローコンテンツ 投稿記事      */
/* -------------------------*/
.main-flow-contents .post a {
  display              : block;
  width                : 30%;
  text-decoration      : none !important;
  color                : #333;
  float                : left;
  margin               : 0 2.5% 30px 2.5%;
  box-sizing : border-box;
  overflow: hidden;
}
.main-flow-contents .post a:nth-child(3n+1) {
  margin-left          : 0 !important;
  margin-right         : 2.5%;
}
.main-flow-contents .post a:nth-child(3n+3) {
  margin-left          : 2.5%;
  margin-right         : 0 !important;
}
.main-flow-contents .post a li {
  background-color     : #FFF;
  border-radius        : 3px 3px 3px 3px / 3px 3px 3px 3px;
  -webkit-border-radius: 3px 3px 3px 3px / 3px 3px 3px 3px;
  -moz-border-radius   : 3px 3px 3px 3px / 3px 3px 3px 3px;
  overflow             : hidden;
}
.main-flow-contents .post a li p {
  text-align           : left;
  margin               : 0;
  padding              : 25px 20px 10px 10px;
  min-height           : 3.5em;
  box-sizing           : border-box;
  line-height          : 22px;
  font-size            : 18px;
  font-weight          : bold;
}
.main-flow-contents .post a li ul {
	width                : 100%;
	box-sizing           : border-box;
	padding              : 0 20px;
}
.main-flow-contents .post a li ul li {
	width                : auto;
	margin-bottom        : 10px;
}
/* HOME フローコンテンツ 投稿記事 カテゴリ */
.main-flow-contents .post a li ul li:first-child {
  float                : left;
  text-align           : left;
  padding              : 0 8px;
  color                : #664941;
  background-color     : #F9F8F5;
  line-height          : 25px;
}
/* HOME フローコンテンツ 投稿記事 日付 */
.main-flow-contents .post a li ul li:nth-child(2) {
  float                : right;
  text-align           : right;
  color                : #878787;
  font-size            : 12px;
  font-weight          : normal;
  line-height          : 25px;
}
/* HOME フローコンテンツ 投稿記事 画像 */
.main-flow-contents .post a li div,
.main-flow-contents .post a li img {
  width                : 100%;
}
.main-flow-contents button {
	display              : block;
	margin               : 0 auto;
}
@media (max-width: 790px) {
  .main-flow-contents .post a {
	  width                : 100%;
	  margin               : 10px 0;
	}
	.main-flow-contents .post a:nth-child(3n+1) {
	  margin-left          : 0 !important;
	  margin-right         : 0 !important;
	}
	.main-flow-contents .post a:nth-child(3n+3) {
	  margin-left          : 0 !important;
	  margin-right         : 0 !important;
	}
}

/* -------------*/
/* HOME 背景画像   */
/* -------------*/
.main-bg div {
	width                : 100%;
	margin-top           : 4px;
}
.main-bg div img {
	width                : 100%;
}

/* --------------*/
/* HOME プロフィール   */
/* --------------*/
.main-profile {
  background-color     : #EDEAE6;
}
.main-profile .inner_box {
  padding : 30px 0 0 0;
}
.main-profile .profile {
	width                : 100%;
	margin-top           : 30px;
	color                : #000;
}
.main-profile .profile li {
	width                : 50%;
	display              : inline-block;
  height               : 25em;
  overflow             : hidden;
}
.main-profile .profile li:first-child {
	float                : right;
}
.main-profile .profile li:first-child div,
.main-profile .profile li:first-child img {
	width                : auto;
	border-radius        : 0px 3px 3px 0px / 0px 3px 3px 0px;
  -webkit-border-radius: 0px 3px 3px 0px / 0px 3px 3px 0px;
  -moz-border-radius   : 0px 3px 3px 0px / 0px 3px 3px 0px;
  overflow             : hidden;
}
.main-profile .profile li:nth-child(2) {
  float                : left;
  background-color     : #FFF;
  padding              : 40px 35px;
  box-sizing           : border-box;
  border-radius        : 3px 0px 0px 3px / 3px 0px 0px 3px;
  -webkit-border-radius: 3px 0px 0px 3px / 3px 0px 0px 3px;
  -moz-border-radius   : 3px 0px 0px 3px / 3px 0px 0px 3px;
}
.main-profile .profile .underline {
   border-bottom       : 3px solid #E8745A;
   padding             : 0 0 10px 0;
   margin              : 10px 0 20px 0;
   font-size           : 24px;
   font-weight         : bold;
   line-height         : 24px;
   display             : inline-block;
}
.main-profile .profile .underline + p {
   color : #000;
   font-size : 14px;
}
.main-profile .profile li p:first-child {
	 font-size           : 16px;
}
@media (max-width: 790px) {
	.main-profile .profile li {
	  width                : 100%;
	  height               : auto !important;
	}
	.main-profile .profile li:first-child img {
	  width                : 100%;
	}
}

/* 推薦者コメント */
.recommend {
	color : #000;
}
.recommend h3 {
	background-color     : #A89793;/*AEA091;*/
  border-radius        : 3px 3px 3px 3px / 3px 3px 3px 3px;
  -webkit-border-radius: 3px 3px 3px 3px / 3px 3px 3px 3px;
  -moz-border-radius   : 3px 3px 3px 3px / 3px 3px 3px 3px;
  overflow             : hidden;
  width                : 100%;
  color                : #FFF;
  display              : inline-block;
  line-height          : 32px;
  text-align           : center;
  margin-top           : 50px;
}
.main-profile .recommend {
  width                : 100%;
  margin-top           : 30px;
}
.main-profile .recommend li {
  display              : inline-block;
  height               : 25em;
  overflow             : hidden;
}
.main-profile .recommend li:first-child {
  float                : right;
  box-sizing           : border-box;
  width                : 50%;
}
/* 推薦者の写真、肩書き、名前の領域 */
.recommend-image {
	clear                : both;
  float                : left;
  padding-top          : 40px;
  overflow             : hidden;
}
.recommend-image span {
	font-weight          : bold;
}
.main-profile .recommend li:first-child div {
	text-align           : center;
	margin-bottom        : 10px;
}
.main-profile .recommend li:first-child img {
  width                : auto;
  border-radius        : 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius   : 50%;
  margin-left          : 20px;
  margin               : 0 auto !important;
  overflow             : hidden;
}
/* 推薦者コメント */
.main-profile .recommend li:nth-child(2) {
	width                : 50%;
  float                : left;
  padding              : 40px 35px;
  box-sizing           : border-box;
}
.main-profile .recommend li p:first-child {
   font-size           : 18px;
   font-weight         : bold;
   margin-bottom       : 10px;
}
@media (max-width: 790px) {
  .recommend-image {
    float              : none;
  }
  .recommend {
    clear                : both;
    overflow : hidden;
  }
	.main-profile .recommend li:first-child {
	  width                : 100%;
	  height               : auto;
	}
	.main-profile .recommend li:first-child div {
    margin               : 0 auto !important;
  }
	.main-profile .recommend li:first-child img {
	  margin               : 0 auto !important;
	  overflow             : hidden;
	}
	.main-profile .recommend li {
		margin               : 0 auto !important;
  }
	.main-profile .recommend li:nth-child(2) {
	  width                : 100%;
	  height               : auto;
	}
}

/* --------------*/
/* HOME トピックス       */
/* --------------*/
time {
	color                 : #E8745A;
	padding : 2px 0;
}
.topics ul li {
	box-sizing            : border-box;
	padding-left          : 16px;
}
.topics ul li a {
	text-decoration       : none;
}
.link_more {
	text-align            : center;
}

/* --------------*/
/* HOME お問合わせ   */
/* --------------*/
.contact-index {
	background-color       : #E8745A !important;
}
.contact {
	background-color       : #transparent !important;
}
.contact .info {
  background-color       : #FFF;
  border-radius          : 20px;
  padding                : 20px;
  box-sizing             : border-box;
  margin: 0 20px !important;
}
.contact .info h2 {
	color                  : #E8745A;
	text-align             : center;
	font-size              : 24px;
	margin-top             : 20px;
}

@media (max-width: 480px) {
	.contact .info h2 {
		font-size : 19px;
	}
}

.contact .info p {
	margin                 : 10px 0 40px 0;
	padding                : 0;
}
.readmore {
	text-align             : center;
  width                  : 100% !important;
  overflow               : hidden;
  clear                  : both;
  margin-top             : 24px;
}
.readmore a {
	display                : block;
	border-radius          : 8px;
	border                 : 2px solid #B2A39F;/*#AEA091;*/
	background-color       : #FFF;
	/*box-sizing             : border-box;*/
	color                  : #664941;/*#AEA091;*/
	font-size              : 16px;
	font-weight            : bold !important;
	padding                : 8px 40px;
	text-decoration        : none;
  /*width                  : 38% !important;*/
  width                  : 240px !important;
  min-width              : 140px;
  margin                 : 0 auto !important;
  overflow               : hidden;
  color                  : #70593E;
  box-sizing : border-box;
}
.readmore a:hover {
	background-color       : #B2A39F;/*#AEA091;*/
	color                  : #FFF;
}
footer {
	background-color : #FFF;
	color : #7A7A7A;
}

.logo_w {
	text-align : center;
	margin : 0 0 20px 0;
}
@media (max-width: 660px) {
  .logo_w {
    margin : 30px 0 20px 0;
  }

}
@media (max-width: 480px) {
  .readmore a {
  	display : inline-block;
  	padding-left : 2px;
  	padding-right:2px;
	  width   : 60% !important;
	}
}
@media (min-width: 661px) {
  footer nav ul li span a.text-hover {
    color : #737373 !important;
  }
}

nav ul li {
	margin : 0 auto !important;
}
.header_main div nav {
	width : 100%;
}
.header_main div nav ul li {
  margin : 0 auto !important;
}
.nav-eiji {
	display : inline;
}
@media (max-width: 790px) {
	.nav-eiji {
	  display : none;
	}
	.contact .info {
    margin: 0 20px !important;
  }

}

.text-hover:hover {
	text-decoration : underline;
}

.main-nav {
	text-align : center;
}
.main-nav ul li {
	margin     : 0 1em;
	color      : #B3A6A2 !important;/*#70593E !important;*/
}

/* fontAwesome 電話アイコン */
.fa-phone:before {
  content    : "\f0e0";
  color      : #E8745A;
  font-size  : 32px;
  line-height: 28px;
}
.fa-phone:hover:before {
  color      : #F8846A;/*#75DCD2;*/
}

/* fontAwesome メールアイコン */
.fa-envelope:before {
  content    : "\f0e0";
  color      : #E8745A;
  font-size  : 32px;
  line-height: 28px;
}
.icon_tel {

}

.fa-envelope:hover:before {
  color      : #F8846A;/*#75DCD2;*/
}

.box50 {
	width : 50%;
}
.box100 {
  width : 100%;
}
@media (max-width: 790px) {
	.box50 {
	  width : 100%;
	}
}


.mwform-radio-field label,
.mwform-radio-field label input,
.mwform-radio-field label span {
	display : inline-block;
  clear   : both;
}
.mwform-radio-field label {
	display:block;
	width : 100%;
}
.mwform-radio-field label input {
	width : auto !important;
	text-align : left;
	display : inline;
}
.mwform-radio-field {
	margin-top : 0;
}
.horizontal-item {
	margin-top : 0;
}
#wpcf7-form_mw-wp-form-319 select {
  padding : 13px;
  border : 1px solid #DDD;
}

table thead{
	display : none;
}
/*
.trim {
  overflow: hidden;
  position: relative;
  width : 344px;
  height: 178px;
}
*/

.pagenation {
  clear: both;
  padding: 20px 0px;
  position: relative;
  font-size: 16px;
  text-align : center;
}

.pagenation .border::after {
  content : '|';
  margin-left : 4px;
  font-weight : normal;
  color : #000;
}

.pagenation span a {
  font-weight : normal;
  text-decoration : none;
  color : #00F;
}
.pagenation span a:hover {
  text-decoration : underline;
}

.pagenation table {
  border-collapse: separate;
  border-spacing:0;
  border:none;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  -o-border-radius: 8px;
  border-radius: 8px;
  border:1px solid #B2A39F;
  table-layout : fixed;
}
.pagenation table,
.pagenation table tr {
  border : none !important;
  width : auto;
  max-width : 80%;
  margin : 0 auto;
}


.pagenation table tr td {
  border:none;
  border:2px solid #B2A39F;/*#AEA091;*/
  border-right: none;
  /*border-right:1px solid #8A959F;*/
  border-bottom:2px solid #B2A39F;/*#AEA091;*/
  padding : 0 !important;
  color:#664941;
  text-align:center;
  background-color: #FFF;
  font-size : 16px;
  width : 42px;
}
.pagenation table tr td:first-child{
  -webkit-border-radius: 8px 0 0 8px;
  -moz-border-radius: 8px 0 0 8px;
  -o-border-radius: 8px 0 0 8px;
  border-radius: 8px 0 0 8px;
}

.pagenation table tr td:last-child{
  -webkit-border-radius: 0 8px 8px 0;
  -moz-border-radius: 0 8px 8px 0;
  -o-border-radius: 0 8px 8px 0;
  border-radius: 0 8px 8px 0;
  border-right:2px solid #B2A39F;/*#AEA091;*/
}

.pagenation .current {
	font-weight : bold;
	color:#765951;
	padding: 8px  0px;
	display : block;
}
.pagenation table tr td a {
  color:#664941;
  text-decoration : none;
  display : block;
  width : 100%;
  height : 100%;
  box-sizing : border-box;
  padding: 8px  0px;
}
.pagenation table tr td a i {
  font-size : 18px;
}
.pagenation table tr td a:hover,
.pagenation table tr td a i:hover {
  text-decoration : underline;
}


@media (max-width: 790px) {
	.pagenation table {
	  table-layout : fixed;
	  width : auto% !important;
	  max-width : 100%  !important;
	}
	.pagenation table tr td {
	   font-size : 12px;
	   width : 36px;
	}
  .pagenation table tr td a i {
    font-size : 12px;
  }
}


.home-media-list {
  width            : 100%;
  background-color : #ebe8e7;
}
.home-media-list .inner_box {
  padding : 60px 0 0 0;
}
.media-box {
  margin: 0 auto;
  max-width: 1060px;
  padding: 30px 30px;
  width   : 100%;
  background-color : #FFF;
  border-radius : 4px;
  height : 100%;
  box-sizing : border-box;
  display:table !important;
}
.media-box .wrapp {
  height : 100%;
  width   : 35%;
  display:table-cell !important;
  text-align: center !important;
  vertical-align: middle !important;

}
.media-box .wrapp div {
  display: inline-block;
}

.media-box .wrapp div p {
  font-size : 18px;
  font-weight : bold;
  color : #664941;
}

.media-box .media-list {
  display:table-cell;          /* 2 */
  width : 65%;
  height : 100%;
  text-align: left;
  vertical-align: top;
}
.media-box .media-list li {
  margin: 0 0 10px 0;
}
.media-box .media-list li time{
	float: left;
  margin: 0 20px;
	font-size: 14px;
	font-weight : bold;
}
.media-box .media-list li h3{
	width: 740px;
  font-size : 14px;
  font-weight: normal;
  padding : 2px 0;
}
.media-box .media-list li h3 a {
	  margin-left:0px;
}
@media (max-width: 1121px) {
	.media-box .media-list h3 a {
	  margin-left:20px;
	}
	.media-box .media-list li time {
	  margin : 0;
	}
	.home-media-list .inner_box
	{
		/*max-width: auto;*/
		padding: 60px 20px 0 20px;
	}
}
@media (max-width: 1072px) {
	.media-box .media-list li {
    	margin: 0 0 10px 0;
	}
	.media-box .media-list li h3 {
	    clear: both;
	    width: auto;
	}
	.media-box .media-list h3 a {
	  margin-left:0px;
	}
	.media-box .media-list time{
	    font-size: 1.4rem;
	    float: none;
	    display: block;
	    margin: 5px 0 0 0;
	}
}
@media (max-width: 768px) {
  .media-box {
    width   : 100%;
    box-sizing : border-box;
    display : block;
    padding : 20px !important;
  }

  .media-box .wrapp {
    width   : 100%;
    display:inline-block !important;
  }
  .media-box .media-list {
    display:block;          /* 2 */
    width : 100%;
  }

	.media-box .media-list li {
	    margin: 0 0 10px 0;
	}
	.media-box .media-list time{
	    font-size: 1.4rem;
	    float: none;
	    display: block;
	    margin: 5px 0 0 0;
	}
	.media-box .media-list h3{
		margin: 0px 0 0 0px;
	}
}

@media (max-width: 480px) {

	.home-media-list .inner_box
	{
		padding: 30px 20px 0 20px;
	}
}

.media-box .media-list ul li h3 a {
  text-decoration : none;
}
.media-box .media-list ul li h3 a:hover {
  text-decoration : underline;
}

.extlink {
  margin-left : 0.8em !important;
  display : inline-block !important;
  clear : both;
}

.inline {
  display : inline-block;
  width : 100%;
}

.banner .inner_box {
  padding : 0 30px 10px 30px;
}

.detail .inner_box h2 {
  margin-top : 20px;
}

.fa-external-link:hover {
  text-decoration : underline;
}

.related_cat ul li {
  display : inline-block;
}
.related_cat ul li div h3{
  clear : both;
  display : inline;
  line-height : 20px;
}
.relation-a {
  vertical-align : middle;
}
.relation-a i {
  display : block;
  margin : 0 0 0 1px;
}

/* ----------------*/
/* HOME コンセプト */
/* ----------------*/
.concept-subtitle{
	width: 100%;
	margin: 1.5em 0 2em 0;
	text-align: center;

}

/* ----------------*/
/* HOME ギャラリー */
/* ----------------*/
.main-gallery{
	background-color: #EBE8E7;
}

.sample_img_area {
  margin-top: 10px;
}
.sample_img_area2 {
  padding: 10px;
  padding-bottom: 0px;
  background: rgba(0, 0, 0, 0.82);
}
.sample-main-photo {
  width: 50%;
  display: inline-block;
}
.sample-main-photo2 {
  width: 11%;
  display: inline-block;
}
  .sampleMainPhoto {
    width: 100%;
    border: 5px #FFF solid;
  }
.sample-sub-photo-area {
  width: 47%;
  display: inline-block;
  vertical-align: top;
  margin-left: 20px;
}
.sample-sub-photo-area2 {
  width: 87%;
  display: inline-block;
  vertical-align: top;
  margin-left: 10px;
}
.sample-sub-photo-info,
.sample-sub-photo-info2 {
  display: flex;
  flex-direction: row; /* 横並びに表示する */
  flex-wrap: wrap; /* 画面幅に収まらない場合は折り返す */
}
  .sample-sub-photo-info .sample-sub-photo img {
    width: 140px;
    height: auto;
    margin: 0px 8px 16px 8px;
    border: 5px #FFF solid;
  }
  .sample-sub-photo-info2 .sample-sub-photo img {
    width: 50px;
    height: auto;
    margin: 0px 5px 10px 5px;
  }
/* レスポンシブ時の挙動 */
@media screen and (max-width: 980px) {
	  .sample-main-photo {
    width: 100%;
  }
    .sample-main-photo2 img {
      max-width: 120px;
      min-width: 80px;
    }
  .sample-sub-photo-area,
  .sample-sub-photo-area2 {
    width: 100%;
    margin-left: 0px;
    margin-top: 10px;
  }
  .sample-sub-photo-info .sample-sub-photo img {
    max-width: 200px;
    margin: 5px;
  }
}

/* --------------*/
/* HOME スタッフ */
/* --------------*/
.staff-img{
	width: 150px !important;
	height: 150px;
	object-fit: cover;
	float: left;
}

.staff-name{
	display: inline-block;
	color: #A67C52;
	font-weight: unset !important;
}
/* --------------*/
/* HOME メニュー */
/* --------------*/
.main-menu{
	background-color: #F5F3F3;
}
.menu-category{
	display: inline-table;
	margin: 10px 50px;
	box-sizing: border-box;
}

.menu-list{
	margin: 10px 80px;
}

.menu-category p{
	color : #A67C52;
	}

@media (max-width: 670px){

	.menu-category{
		text-align: center;
		width: 100%;
		margin: 5px auto;
	}
}
/* --------------*/
/* HOME アクセス */
/* --------------*/
.access{
	width: 50%;
    float: left;
    overflow: hidden;
    padding: 20px 0px 0px 70px;
    box-sizing: border-box;
}

.access h3{
	color: #A67C52;
}
.mapcanvas{
	width: 50%;
    float: right;
    overflow: hidden !important;
    padding: 0 0 0 10px;
    box-sizing: border-box;
}

.access a{
	display: inline-block;
	text-decoration: none;
	background-color: #E8745A;
	width: auto;
	padding: 5px 40px;
	color: #FFF;
	border-radius: 8px;
	margin: 10px 0 0 40px;
}
.access a:hover{
	background-color: #F8846A;
}


@media (max-width: 790px){

	.access{
		    width: 100%;
    float: none;
    padding: 0 20px 0 20px;
	}

	.mapcanvas{
		width: 100%;
    float: none;
    padding: 0 20px 0 20px;
    margin-top: 20px;
	}

}

/* ------------------------*/
/* HOME 店舗からのお知らせ */
/* ------------------------*/
.notice{
	background-color: #EBE8E7;
}

.notice_wrapper{
	padding-left : 15px;
	padding-bottom : 30px;
}

.notice_box{
	padding: 20px 30px;
}

.notice_title{
	display: inline-table;
	padding: 0 50px 0 0;
	text-align: left;
}

.notice_contents{
	display: inline-table;
	text-align: left;
}

@media (max-width: 1120px){

	.notice_wrapper{
		padding-bottom: 20px;
	}

	.notice_title{
		display: unset;

	}

	.notice_contents{
		display: unset;
	}

}

/* TOPへボタン */
.btn-pagetop {
  display: block;
  width: 56px;
  border-radius: 4px;
  text-align: center;
  font-size: 1.0rem;
  padding: 8px 0 12px;
  color: #FFF;
  background-color: rgba(60,40,23,.5);/* 色変 Page Top 非MO時 */
  position: fixed;
  bottom: 16px;
  right: 16px;
  z-index: 300;
  /* margin-bottom: 50px; */
  text-decoration: none;
}
  .btn-pagetop i {
    font-size: 2.0rem;
  }
    .btn-pagetop:hover {
      background: #E48B14;/* 色変 Page Top MO時 */
      color: #FFF;
      transition-property: color, background;
      -webkit-transition: all 0.5s;
      -moz-transition: all 0.5s;
      transition: 0.5s;

    }