@charset "UTF-8";

/*************************
        reset
*************************/
html{
  scroll-behavior: smooth;
    
}
html, body, h1, h2, h3, h4, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: normal;
  font-size: 100%;
  vertical-align:top;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
article, header, footer, aside, figure, figcaption, nav, section { 
  display:block;
}
body {
  line-height: 1;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
    font-size: 14px;
}
ol, ul {
  list-style: none;
  list-style-type: none;
}
img {
	display: block;
	border: none;
	max-width: 100%;
    vertical-align: bottom;
}
a {
	display: block;
	text-decoration: none;
    color: #000;
}
/*------------------------------------------*
* margin系CSS
*------------------------------------------*/
.mt5{
margin-top: 5px;
}
.mt10{
margin-top:10px;
}
.mt15 {
margin-top:15px;
}
.mt20 {
margin-top: 20px;
}
.mt30 {
margin-top: 30px;
}
.mt40 {
margin-top: 40px;
}
.mt50 {
margin-top: 50px;
}
.mt80 {
margin-top: 80px;
}
.mr5{
margin-right: 5px;
}
.mr10{
margin-right:10px;
}
.mr15 {
margin-right:15px;
}
.mr20 {
margin-right: 20px;
}
.mb5{
margin-bottom: 5px;
}
.mb10{
margin-bottom:10px;
}
.mb15 {
margin-bottom:15px;
}
.mb20 {
margin-bottom: 20px;
}
.mb25 {
margin-bottom: 25px;
}
.mb30 {
margin-bottom: 30px;
}
.mb35 {
margin-bottom: 35px;
}
.mb40 {
margin-bottom: 40px;
}
.mb45 {
margin-bottom: 45px;
}
.mb50 {
margin-bottom: 50px;
}
.mb60 {
margin-bottom: 60px;
}
.mb80 {
margin-bottom: 80px;
}

.ml5{
margin-left: 5px;
}
.ml10{
margin-left:10px;
}
.ml15 {
margin-left:15px;
}
.ml20 {
margin-left: 20px;
}
.ml40 {
margin-left: 40px;
}
.ml50 {
margin-left: 50px;
}
.mtb10 {
margin: 10px 0;
}
.m-auto {
margin-left: auto;
margin-right: auto;
}
.left-contents {
float:left;
}
.right-contents {
float:right;
}
.clear {
height:0;
clear:both;
}
.v-middle {
vertical-align:middle;
}
.v-bottom {
vertical-align:bottom;
}
.align-right {
text-align: right;
}
.align-left {
text-align: left;
}
.align-center {
text-align: center;
}
.fs28 {
	font-size: 28px;
}
.fs24 {
	font-size: 24px;
}
.fs20 {
	font-size: 20px;
}
.fs14 {
	font-size: 14px;
}
.fs12 {
	font-size: 12px;
}
.fs10 {
	font-size: 10px;
}
.relative{
    position: relative;
}
.cp_absolute {
    position: absolute;
    bottom: 0;
    right: 0;
    font-size: 12px;
    padding: 3px;
    color: #fff;
    background-color: rgba(0,0,0,.7);
    margin: 0;
}
.cp_absolute.l{
    right: auto;
    left: 0;
}
@media screen and (max-width:640px) {
	
}
/*************************
       clearfix
*************************/
.clearfix:after {
    content: "";
    display: block;
    clear: both;
}

/*********************
      config
*********************/
body {
	margin: 0;
	padding: 0;
	letter-spacing: 0.1em;
	font-family: "Libre Baskerville","Hannari","游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGP明朝E", "serif";
    font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho",'Noto Serif Japanese', "ヒラギノ明朝 Pro W3", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HiraMinProN-W3", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	line-height: 1.7;
	color: #333;
	background: #fff;
}
.wrap {
	overflow: hidden;
}
.amatic {
	font-family: "Libre Baskerville","Amatic SC";
}
.kosugi {
	font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGP明朝E", "serif";
}
a.op {
	transition: .3s;
}
a.op:hover {
	opacity: .7;
}
.mw960 {
	max-width: 960px;
	margin-left: auto;
	margin-right: auto;
}
.mw1280 {
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
}
.pc-on {
	display: block !important;
}
.sp-on {
	display: none !important;
}
p {
	font-size: 14px;
}
@media screen and (max-width:640px) {
	.pc-on {
		display: none !important;
	}
	.sp-on {
		display: block !important;
	}
	p {
		font-size: 13px;
	}
}
/*.slick-slide img {
  transform: scale(1.2);
  transition: 1s cubic-bezier(.645, .045, .355, 1);
}
.slick-current img {
  transform: scale(1);
}*/
/*********************
   index header
*********************/

.index .header {
	position: fixed;
	width: 100%;
	z-index: 50;
	box-shadow: 3px 3px 8px rgba(0,0,0,0.1); 
    background-color: rgba(255,255,255,1);
    padding: 0px 30px;
    box-sizing: border-box;
}

.wrap .header>.inner h1{
    padding-top: 20px;
}
.wrap .header>.inner nav{
    padding-top: 10px;
}

.index .logo {
	float: left;
    width: 23%;
}
.index .logo a{
    float: left;
    width: 48%;
}
.index .logo a:hover{
    opacity: .3;
    transition: 1.0s;
}
.index .logo a+a{
    float: right;
}
.index .sub_navi {
	float: right;
    padding-top: 10px;
    padding-bottom: 0px;
}
.wrap .header>.inner .sub_navi li {
	display: inline-block;
    width: 100px;
    box-sizing: border-box;
    padding-top: 10px;
}
.index .sub_navi li+li{
    margin-left: 15px;
}

.inner .sub_navi li.h_tel {
	max-width: 200px;
    margin-top: 10px;
}
.inner .sub_navi li.h_tel img{
	width: 100%;
}

.index .gnavi {
	display: inline-block;
    width: 60%;
    width: 50%;
    padding-left: 5%;
}
.index .gnavi ul {
	background:none;
    width:100%;
}
.index .gnavi li {
	float: left;
	width: 17%;
	text-align: center;
	height: 50px;
	line-height: 50px;
	background: url(../images/common/nav_line.png) no-repeat right center;
	font-size: 14px;
}
.index .gnavi li:nth-of-type(5){
	background:none;
}
.index .gnavi li a {
	color: #fff;
	color: #000;
	position: relative;
    letter-spacing: 0;
/*        font-size: .8vw;*/
}
@media screen and (max-width:1200px){
    .index .gnavi {
    width: 50%;
}
    .index .gnavi li {
    width: 20%;
}
} 
@media screen and (max-width:996px) {
    .index .gnavi li:nth-child(6) > a{
    font-size: 1.2vw;
}
}
@media screen and (max-width:960px) {
    .index .gnavi li:nth-child(6) > a{
    font-size: 100%;
}
}

.index .gnavi li a:hover {
}
.index .gnavi li a::after {
	content: "";
	display: block;
}
.index .gnavi li a:hover::after {
	position: absolute;
	width: 50%;
	height: 3px;
	background-color: #253827;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
}
.index #menuButton {
	display: none;
}
.sp_sub {
	display: none;
}
.index .head_cap {
	font-size: 10px;
	margin-bottom: 0;
	color: #fff;
	color: #000;
}
@media screen and (max-width:960px) {
	.index .gnavi li {
		width: 20%;
	}
}
@media screen and (max-width:830px) {
	.index .header {
		min-height: 60px;
        
        /*200220_sp時nav修正時追加*/
        display: none;
        /*200220_sp時nav修正時追加*/
        
        /*200415_sp時nav修正時追加*/
        display: block;
        /*200415_sp時nav修正時追加*/
        padding: 0 10px;
        padding-bottom: 10px;
	}
	.wrap .header>.inner h1.logo {
		width: 40%;
        margin-top: 0px;
        margin-left: 0px;
        padding-top: 10px;
        
        /*200415_sp時nav修正時追加*/
        /*float: none;
        margin-left: auto;
        margin-right: auto;*/
        /*200415_sp時nav修正時追加*/
	}
	.index .sub_navi {
		display: none;
	}
	.wrap .header>.inner nav {
		display: none;
        padding-top: 70px;
        padding-left: 0;
        width: 100%;
	}
	.index .gnavi ul {
		background: none;
	}
	.index .gnavi li {
		width: 50%;
		background: none;
		border: solid 1px #eee;
		font-size: 12px;
		height: 44px;
		line-height: 44px;
	}
	.index #menuButton {
    	display: block;
		max-width: 15%;
   		width: 44px;
    	height:44px;
    	position: fixed;
    	top: 5px;
    	right: 20px;
    	z-index: 200;
	}
	.index #menuButton span {
    	display: block;
    	background: #253827;
    	width: 44px;
    	height: 2px;
    	position: absolute;
    	left: 0;
    	transition: all 0.4s;
    	-webkit-transition: all 0.4s;
    	-moz-transition: all 0.4s;
	}
	.index #menuButton span.line1 {
    	top: 10px;
	}
	.index #menuButton span.line2 {
    	margin-top: -1px;
    	top: 50%;
	}
	.index #menuButton span.line3 {
    	bottom: 10px;
	}
	.index #menuButton.active span.line1 {
    	-webkit-transform: translateY(12px) rotate(405deg);
    	-moz-transform: translateY(12px) rotate(405deg);
    	-ms-transform: translateY(12px) rotate(405deg);
    	transform: translateY(12px) rotate(405deg);
	}
	.index #menuButton.active span.line2 {
    	opacity: 0;
	}
	.index #menuButton.active span.line3 {
    	-webkit-transform: translateY(-12px) rotate(-405deg);
    	-moz-transform: translateY(-12px) rotate(-405deg);
    	-ms-transform: translateY(-12px) rotate(-405deg);
    	transform: translateY(-12px) rotate(-405deg);
	}
	.index #menuButton p {
		color: #253827;
		position: absolute;
		left: 0;
		right: 0;
		bottom: -8px;
		font-size: 12px;
		text-align: center;
		width: 44px;
	}
.sp_sub {
	display: block;
	position: fixed;
	z-index: 200;
	width: 20%;
	top: 20px;
	right: 55px;
}
.sp_sub ul {
	width: 100%;
	position: absolute;
}
.sp_sub li {
	float: left;
	width: 28%;
	text-align: center;
	line-height: 1.2;
	padding: 2px;
    padding-right: 5px;
}
    /*.sp_sub li.tel{
	width: 30%;
}*/
.sp_sub li p {
	font-size: 8px;
}
.sp_sub li a {
	color: #000;
	color: #253827;
	font-size: 28px;
}
 
/*200415_sp時nav修正時追加*/
    /*.index #menuButton,
    .index #menuButton span,
    .sp_sub,
    .inner.mw1280.clearfix span,
    .inner.mw1280.clearfix h1,
    .index .header{
    	display: none !important;
	}*/
/*200415_sp時nav修正時追加*/
    
}
@media screen and (max-width:640px){
    .sp_sub {
    width: 40%;
}
}

/*200415_sp時nav修正時追加*/
/*@media screen and (max-width:640px) {
	.index .header {        
        display: none;
	}
}

*/
/*200415_sp時nav修正時追加*/
    .sp-logo {
        display: none;
    }
@media screen and (max-width:830px) {
    
    /*200220_sp時nav修正時追加*/
    /*.kara{
        display: none;
    }*/
    .sp-logo {
        display: block;
        width: 100%;
    }
    .sp-logo h1.logo{
        float: none !important;
        width: 40%;
    margin-top: 0px;
        margin-left: auto;
        margin-right: auto;
        margin-top: 5px;
        margin-bottom: 5px;
    }
    

    /*200220_sp時nav修正時追加*/
    
/*
	.index .logo {
		padding-left: 0px;
		margin-top: 0px;
		margin-bottom: 0;
	}
*/
	/*.index #menuButton {
    	display: block;
   		width: 44px;
		max-width: 15%;
    	height:44px;
    	position: fixed;
    	top: 5px;
    	right: 20px;
    	z-index: 200;
	}*/
    .h_tel_sp{
        display: inline-block;
    }
.sp_sub {
	top: 8px;
}
}
    
    /*200415_sp時nav修正時追加*/
/*@media screen and (max-width:640px) {
	.kara {        
        display: none;
	}
    }*/
/*200415_sp時nav修正時追加*/
/*********************
   下層 header
*********************/
.page .header {
	position: fixed;
	width: 100%;
	z-index: 50;
	box-shadow: 3px 3px 8px rgba(0,0,0,0.1); 
    
    background-color: #fff;
}
.page .logo {
	float: left;
}
.page .sub_navi {
	float: right;
}
.page .sub_navi li {
	display: inline-block;
}
.page .gnavi {
	display: block;
}
.page .gnavi ul {
	background: url(../images/common/nav_line.png) no-repeat left center;
}
.page .gnavi li {
	float: left;
	width: 10%;
	text-align: center;
	height: 50px;
	line-height: 50px;
	background: url(../images/common/nav_line.png) no-repeat right center;
	font-size: 14px;
}
.page .gnavi li a {
	color: #000;
	position: relative;
    letter-spacing: 0;
}
@media screen and (max-width:996px) {
    .page .gnavi li:nth-child(6) > a{
    font-size: 1.2vw;
}
}
@media screen and (max-width:960px) {
    .page .gnavi li:nth-child(6) > a{
    font-size: 100%;
}
}
.page .gnavi li a:hover {
}
.page .gnavi li a::after {
	content: "";
	display: block;
}
.page .gnavi li a:hover::after {
	position: absolute;
	width: 50%;
	height: 3px;
	background-color: #eb2142;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
}
.page #menuButton {
	display: none;
}
.page .head_cap {
	font-size: 10px;
	margin-bottom: 0;
	color: #000;
}
@media screen and (max-width:960px) {
	.page .gnavi li {
		width: 20%;
	}
}
@media screen and (max-width:830px) {
	.page .header {
		min-height: 60px;
        
        /*200220_sp時nav修正時追加*/
        display: none;
        /*200220_sp時nav修正時追加*/
	}
	.page .logo {
		width: 30%;
		margin-bottom: 20px;
	}
	.page .sub_navi {
		display: none;
	}
	.page .gnavi {
		display: none;
	}
	.page .gnavi ul {
		background: none;
	}
	.page .gnavi li {
		width: 50%;
		background: none;
		border: solid 1px #eee;
		font-size: 12px;
		height: 44px;
		line-height: 44px;
	}
	.page #menuButton {
    	display: block;
   		width: 44px;
    	height:44px;
    	position: fixed;
    	top: 20px;
    	right: 20px;
    	z-index: 200;
	}
	.page #menuButton span {
    	display: block;
    	background: #333;
    	width: 44px;
    	height: 2px;
    	position: absolute;
    	left: 0;
    	transition: all 0.4s;
    	-webkit-transition: all 0.4s;
    	-moz-transition: all 0.4s;
	}
	.page #menuButton span.line1 {
    	top: 10px;
	}
	.page #menuButton span.line2 {
    	margin-top: -1px;
    	top: 50%;
	}
	.page #menuButton span.line3 {
    	bottom: 10px;
	}
	.page #menuButton.active span.line1 {
    	-webkit-transform: translateY(12px) rotate(405deg);
    	-moz-transform: translateY(12px) rotate(405deg);
    	-ms-transform: translateY(12px) rotate(405deg);
    	transform: translateY(12px) rotate(405deg);
	}
	.page #menuButton.active span.line2 {
    	opacity: 0;
	}
	.page #menuButton.active span.line3 {
    	-webkit-transform: translateY(-12px) rotate(-405deg);
    	-moz-transform: translateY(-12px) rotate(-405deg);
    	-ms-transform: translateY(-12px) rotate(-405deg);
    	transform: translateY(-12px) rotate(-405deg);
	}
	.page #menuButton p {
		color: #333;
		position: absolute;
		left: 0;
		right: 0;
		bottom: -8px;
		font-size: 12px;
		text-align: center;
		width: 44px;
	}
}
@media screen and (max-width:640px) {
	.page .logo {
		padding-left: 0px;
		margin-top: 10px;
		margin-bottom: 0;
	}
	.page #menuButton {
    	display: block;
   		width: 44px;
    	height:44px;
    	position: fixed;
    	top: 5px;
    	right: 20px;
    	z-index: 200;
	}
}
/*********************
      main_v
*********************/
.main_v {
	
}
.relative {
	position: relative;
}
.main_copy {
	position: absolute;
	top: 30px;
	left: 30px;
	width: 31.25%;
	max-width: 401px;
}
.main_copy img {
	max-width: 100%;
}
.main_copy_sp {
	background: #85c39d;
	padding: 20px 30px;
}
.main_copy_sp img {
	max-width: 100%;
	margin: 0 auto;
}
.ab_cap {
	position: absolute;
	right: 0;
	bottom: 0;
	color: #fff;
	font-size: 12px;
	padding: 0.25em 1em;
	background: rgba(0,0,0,0.5);
}
.ab_cap2 {
	position: absolute;
	right: 0;
	bottom: 0;
	color: #333;
	font-size: 12px;
	padding: 0.25em 1em;
}
.obi {
	padding: 30px 20px;
}
.obi img {
	max-width: 100%;
	margin: 0 auto;
}
.bg_gray {
	background: #f5f5f5;
	padding: 30px 20px;
}
.information {
	float: left;
	width: 50%;
	max-width: 480px;
	border-bottom: 1px solid #08233E;
	padding-bottom: 15px;
}
.info_ttl {
	color: #08233E;
	font-size: 24px; 
	border-bottom: 1px solid #08233E;
	padding: 0.25em;
	margin-bottom: 15px;
}
.info_inn {
	max-height: 230px;
	overflow: auto;
}
.info_text {
	font-size: 14px;
	margin-bottom: 10px;
	padding: 0 1.5em;
}
.info_text a {
	color: #08233E;
	display: inline-block;
}
.info_text a:hover {
	text-decoration: underline;
}
.entry {
	float: right;
	width: 35%;
	max-width: 330px;
	padding: 0.25em;
	margin-top: 20px;
}
.entry li {
	margin-bottom: 15px;
	transition: .3s;
}
.entry li:hover {
	box-shadow: 3px 3px 10px #aaa;
}
.obi_brand {
	padding: 20px;
	/*background: #85c39d;*/
	background: #08233E;
}
.kodoteiki{
    padding-top: 40px;
    padding-bottom: 40px;
}
.pj {
	padding: 40px 20px;
	background: #4c89c2;
}
.pj a {
	display: block;
	margin: 30px auto 0;
	width: 300px;
	height: 44px;
	line-height: 44px;
	color: #fff;
	background: #CF2C2E;
	text-align: center;
	transition: .3s;
}
.pj a:hover {
	color: #CF2C2E;
	background: #fff;
}
@media screen and (max-width:768px) {
	.obi {
		padding: 15px 20px;
	}
	.bg_gray {
		padding: 20px;
	}
	.information {
		float: none;
		max-width: 100%;
		width: 100%;
		margin: 0 auto 30px;
	}
	.entry {
		float: none;
		width: 100%;
		max-width: 330px;
		margin: 0 auto;
	}
	.ab_cap {
		font-size: 10px;
	}
	.ab_cap2 {
		font-size: 10px;
	}
	.obi_brand {
		padding: 20px;
	}
    .kodoteiki{
    padding-top: 40px;
    padding-bottom: 40px;
}
	.pj {
		padding: 20px;
	}
}
/*********************
     top contents
*********************/
.top_contents {
	
}
.bg1 {
	background: url(../images/top/bg1.jpg) no-repeat left top;
	background-size: 520px;
}
.bg2 {
	background: url(../images/top/bg2.jpg) no-repeat right bottom;
	background-size: 520px;
}
.ttl {
	font-size: 32px;
	text-align: center;
	margin-bottom: 70px;
}
.ttl span {
	position: relative;
}
.ttl span::after {
	position: absolute;
	display: block;
	content: "";
	background-color: #eb2142;
	height: 3px;
	width: 50%;
	bottom: -5px;
	margin: 0 auto;
	left: 0;
	right: 0;
}
.contents {
	padding: 75px 0;
}
.contents_new {
	padding: 40px 0;
}
.contents li {
	float: left;
	width: 32%;
	margin-right: 2%;
	position: relative;
	margin-bottom: 2%;
	overflow: hidden;
}
.contents li:nth-of-type(3n) {
	margin-right: 0;
}
.contents li p {
	position: absolute;
	top: 30%;
	padding: 1em;
}
.contents li a {
	color: #fff;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	position: relative;
}
.contents li a::before {
	position: absolute;
	content: "";
	background: rgba(0,0,0,0.85);
	display: block;
	width: 100%;
	height: 100%;
	transition: .3s;
}
.contents li.coop a::before {
	background: rgba(0,0,0,0);
}
.contents li a.on::before {
	background: rgba(0,0,0,0.6);
}
.contents li p span {
	display: block;
}
.contents li p span.cont_ttl {
	font-size: 24px;
}
.contents li p span.cont_text {
	font-size: 14px;
}
.contents li p span.cs {
	font-size: 24px;
}

.contents li a.on:hover p.on_blk span.cont_ttl{
    color: #333;
    text-shadow: white 2px 0px 2px, white -2px 0px 2px, white 0px -2px 2px, white -2px 0px 2px, white 2px 2px 2px, white -2px 2px 2px, white 2px -2px 2px, white -2px -2px 2px, white 1px 2px 2px, white -1px 2px 2px, white 1px -2px 2px, white -1px -2px 2px, white 2px 1px 2px, white -2px 1px 2px, white 2px -1px 2px, white -2px -1px 2px, white 1px 1px 2px, white -1px 1px 2px, white 1px -1px 2px, white -1px -1px 2px;
}
.contents li a.on:hover p.on_blk span.cont_text{
    color: #333;
    text-shadow: white 2px 0px 2px, white -2px 0px 2px, white 0px -2px 2px, white -2px 0px 2px, white 2px 2px 2px, white -2px 2px 2px, white 2px -2px 2px, white -2px -2px 2px, white 1px 2px 2px, white -1px 2px 2px, white 1px -2px 2px, white -1px -2px 2px, white 2px 1px 2px, white -2px 1px 2px, white 2px -1px 2px, white -2px -1px 2px, white 1px 1px 2px, white -1px 1px 2px, white 1px -1px 2px, white -1px -1px 2px;
    font-weight: bold;
}

.contents li a.on::before {
	background: rgba(148,148,148,.7);
	background: rgba(0,0,0,0.7);
}
.contents li a.on:hover::before {
	background: rgba(148,148,148,.7);
}


@media screen and (max-width:768px) {
	.contents {
		padding: 40px 0;
	}
	.contents li {
		float: none;
		width: 100%;
		margin: 0 0 2%;
		height: 200px;
	}
    .contents li.coop{
	height: 100%;
}
	.contents li p {
		top: 20%;
	}
	.ttl {
		font-size: 24px;
		text-align: center;
		margin-bottom: 40px;
	}
}

.cta {
	padding: 30px 20px;
}
.cap {
	font-size: 12px;
	text-indent: -1em;
	padding-left: 1em;
    font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
}
.cta ul {
	text-align: center;
}
.cta ul li {
	display: inline-block;
	margin: 10px;
	max-width: 330px;
	transition: .3s;
}
.cta ul li:hover {
	box-shadow: 3px 3px 10px #aaa;
}

/***********************
       footer
***********************/
.footer {
	
}
.ftnavi {
	padding: 15px;
	background: #f5f5f5;
}
.ftnavi ul {
	text-align: center;
}
.ftnavi li {
	display: inline-block;
	font-size: 12px;
	border-right: 1px solid #ccc;
}
.ftnavi li:last-child {
	border-right: 0;
}
.ftnavi li a {
	display: block;
	color: #333;
	padding: 0 10px;
}
.office {
	text-align: center;
	padding: 50px 10px;
}
.office img {
	margin: 0 auto;
}
.office ul {
	text-align: center;
	margin-top: 45px;
}
.office li {
	display: inline-block;
	margin: 0px 30px;
}
.office p {
	margin-bottom: 10px;
}
.copyright {
	background: #08233E;
	background: #f6bd73;
	background: #253827;
	color: #fff;
	text-align: center;
	font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	font-size: 10px;
	padding: 15px;
}
@media screen and (max-width:640px) {
	.footnav {
		padding: 0;
		border-top: 1px solid rgba(255,255,255,0.5);
	}
	.footnav li {
		width: 50%;
		float: left;
		display: block;
		border-bottom: 1px solid rgba(255,255,255,0.5);
	}
	.footnav li:nth-of-type(odd) {
		border-right:  1px solid rgba(255,255,255,0.5);
	}
	.footnav li a {
		padding: 10px;
	}
	.footnav li a::after {
		display: none;
		content: "";
	}
	.office {
		font-size: 12px;
	}
	.office .tel {
		width: 80%;
		margin: 0 auto 15px;;
	}
	.office ul {
		text-align: left;
		margin-top: 20px;
	}
	.office li {
		margin: 30px auto;
		display: block;
	}
}


/*********************
   　下層ページ
*********************/
.page_ttl {
	text-align: center;
	padding: 80px 0;
	font-size: 32px;
	background: #08233e;
	color: #fff;
}
.page_ttl span {
	font-size: 0.5em;
}
.kasou_contents {
	padding: 60px 20px 0;
}
.kasou_contents2 {
	padding: 60px 0 0;
}
.deve_cont h3 {
	border-bottom: 1px solid #08233e;
	border-top: 1px solid #08233e;
	margin-bottom: 30px;
	color: #08233e;
	padding: .5em;
	font-size: 24px;
}
.h3 {
	font-size: 24px;
	color: #08233e;
	margin-bottom: 30px;
}
.h4 {
	font-size: 18px;
	color: #08233e;
	margin-bottom: 20px;
}
.h5 {
	font-size: 16px;
	color: #08233e;
	margin: 5px 0;
}
.h4 img {
	display: inline-block;
	vertical-align: baseline;
	margin-right: 0.25em;
}
.plan_text {
	font-size: 16px;
	margin-bottom: 10px;
}
.plan_text img {
	display: inline-block;
	vertical-align: baseline;
	margin-right: 0.25em;
}
.bunjou li {
	float: left;
	width: 23%;
	margin-left: 1%;
	margin-right: 1%;
}
.txt_link {
	margin-top: 30px;
	text-align: center;
	color: #333;
	text-decoration: underline;
	display: inline-block;
}
.txt_link:hover {
	color: #eb2142;
}
@media screen and (max-width:640px) {
.page_ttl {
	padding: 40px 0;
	font-size: 24px;
}
.kasou_contents {
	padding: 40px 20px 0;
}
.kasou_contents2 {
	padding: 40px 0 0;
}
.deve_cont p {
	text-align: left;
}
.deve_cont h3 {
	margin-bottom: 20px;
	font-size: 20px;
}
.h3 {
	font-size: 18px;
	margin-bottom: 20px;
}
.plan_text {
	font-size: 14px;
}
.bunjou li {
	float: left;
	width: 48%;
	margin-left: 1%;
	margin-right: 1%;
	margin-bottom: 20px;
}
}
/*************************
        outline
*************************/
.outline_ttl,.outline_table,.outline_text {
	font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	font-size: 13px;
	text-align: left;
}
.outline_ttl {
	font-weight: bold;
	margin-bottom: 20px;
}
.outline_text {
	
}
.outline_table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 40px;
}
.outline_table th,.outline_table td {
	padding: 10px;
}
.outline_table tr {
	border-bottom: 1px solid #f5f5f5;
}
.outline_table th {
	width: 30%;
	background: #F7FBF8;
}
.outline_table td {
	width: 70%;
}

@media screen and (max-width:640px) {
	.outline_table th {
		display: block;
		width: 100%;
	}
	.outline_table td {
		display: block;
		width: 100%;
	}
}

/*********************
   　  concept
*********************/
.concept {
	
}
.concept-list .trans-center {
   position: absolute;
   top: 50%;
   left: 50%;
   -webkit-transform: translate(-50%, -50%);
   transform: translate(-50%, -50%);
}
.concept-list {
	position: relative;
	height: 600px;
}
.c_bg1 {
	background: url(../images/concept/bg01.jpg) no-repeat center center;
	background-size: cover;
}
.c_bg2 {
	background: url(../images/concept/bg02.jpg) no-repeat center center;
	background-size: cover;
}
.c_bg3 {
	background: url(../images/concept/bg03.jpg) no-repeat center center;
	background-size: cover;
}
.c_bg4 {
	background: url(../images/concept/bg04.jpg) no-repeat center center;
	background-size: cover;
}
@media screen and (max-width:640px) {
.concept-list {
	position: relative;
	height: 400px;
}
.concept-list .trans-center {
   width: 75%;
}
}
/*********************
   　  access
*********************/
.l48 {
	float: left;
	width: 48%;
}
.r48 {
	float: right;
	width: 48%;
}
@media screen and (max-width:640px) {
.l48 {
	float: none;
	width: 100%;
}
.r48 {
	float: none;
	width: 100%;
}
}
/*********************
   　  jitan
*********************/
.shadow {
	background: #f5f5f5;
	box-shadow: 8px 8px 18px #ccc;
	padding: 20px 40px;
}

/*********************
   　 plan
*********************/
.plan-item {
	background: url(../images/plan/paper.jpg) no-repeat center center;
	background-size: cover;
	padding: 40px;
	box-shadow: 8px 8px 18px #ccc;
}
/*************************
         access
*************************/
.accessArea {
	width: 100%;
	margin: 0 auto;
	text-align: center;
}
.accessTopArea {
	background: #ccc;
	margin-bottom: 100px;
}
.accessTopArea .title {
	width: 100%;
	max-width: 1120px;
	margin: 0 auto;
	text-align: center;
}
.accessMainArea {
	width: 100%;
	max-width: 1120px;
	margin: 0 auto 60px;
	background-image: url(../images/access/access_main_bg.jpg);
	background-repeat: no-repeat;
	background-size: 100%;
	/*background-color: #f7fcfe;*/
}
.accessMainArea .mainLeft {
	float: left;
	width: 40.17%;
	max-width: 450px;
	margin: 0 auto;
	padding-left: 5.5%;
	padding-right: 7.5%;
	padding-bottom: 60%;
}
.accessMainArea .mainRight {
	float: right;
	width: 41.33%;
	max-width: 463px;
	margin: 0 auto;
	padding-right: 5.35%;
}
.accessMainArea .mainRight .r01 {
	padding-top: 15px;
	padding-bottom: 8.5%;
}
.accessMainArea .mainRight .r02 {
	width: 92%;
	max-width: 426px;
}
.accessDataArea {
	width: 100%;
	max-width: 1120px;
	margin: 0 auto;
	/*background-color: #f7fcfe;*/
}
.accessDataArea .tTrain {
	width: 96.43%;
	max-width: 1080px;
	padding: 0 1.785%;
}
.accessDataArea .catch {
	font-size: 1.65rem;
	line-height: 2.2rem;
	font-weight: bold;
	text-align: left;
	padding: 20px 2% 30px;
}
.accessDataArea .catch br .sp {
	display: none;
}
.accessDataArea .text {
	font-size: 1.0rem;
	line-height: 1.8rem;
	text-align: left;
	padding: 0 2% 15px;
}
.accessDataArea .text span {
	font-size: 180%;
	font-weight: bold;
	color: #a40000;
	padding: 0 2px;
}
.accessDataArea .imgTrain {
	width: 97.14%;
	max-width: 1088px;
	padding: 0 1.42%;
}
.accessDataArea .imgTrain ul li {
	float: left;
	width: 49.2%;
	max-width: 544px;
	padding: 0 0.4%;
}
.accessDataArea .rosenzu {
	width: 80%;
	max-width: 740px;
	margin: 0 auto;
	padding: 40px 0 80px;
}
.accessDataArea .dataBottom {
	width: 96.43%;
	max-width: 1080px;
	padding: 0 1.785% 30px;
}
.accessDataArea .dataBottom .dataBus {
	float: left;
	width: 50.18%;
	max-width: 542px;
	padding-right: 3.7%;
}
.accessDataArea .dataBottom .dataBus .imgBus {
	float: right;
	width: 41.5%;
	max-width: 225px;
	margin-top: 20px;
	padding-left: 15px;
	padding-bottom: 30px;
}
.accessDataArea .dataBottom .dataCar {
	float: right;
	width: 46.1%;
	max-width: 498px;
}

@media only screen and (max-width:640px) {
	.accessTopArea {
		margin-bottom: 50px;
	}
	.accessDataArea .catch {
		font-size: 1.1rem;
		line-height: 2.0rem;
		font-weight: normal;
		padding: 20px 2%;
	}
	.accessDataArea .catch br .sp {
		display: block;
	}
	.accessDataArea .text {
		font-size: 0.85rem;
		line-height: 1.5rem;
	}
	.accessDataArea .imgTrain ul li {
		float: none;
		width: 80%;
		max-width: 544px;
		margin: 5px auto;
		padding:0;
	}
	.accessDataArea .rosenzu {
		width: 94%;
		padding: 40px 0;
	}
	.accessDataArea .dataBottom .dataBus ,
	.accessDataArea .dataBottom .dataCar {
		float: none;
		width: 96.43%;
		max-width: 617px;
		padding: 0 auto;
		margin: 0 auto 30px;
	}
	.accessDataArea .dataBottom .dataBus .imgBus {
		width: 35%;
		max-width: 200px;
		margin: 15px 0 20px 20px;
		padding-bottom: 10px;
	}
	.accessDataArea .dataBottom .list {
		width: 100%;
		max-width: 600px;
		margin: 0 auto;
	}
	.accessDataArea .dataBottom br {
		display: block;
	}
}

@media only screen and (max-width:840px) and (min-width:641px) {
	.accessDataArea .text {
		font-size: 0.95rem;
	}
	.accessDataArea .dataBottom br {
		display: none;
	}
}
/*************************
          plan
*************************/
.planArea {
	width: 100%;
	margin: 0 auto;
	text-align: center;
}
.planTopArea {
	background: #ccc;
	margin-bottom: 6%;
}
.planTopArea .title {
	width: 100%;
	max-width: 1120px;
	margin: 0 auto;
	text-align: center;
}

.planCatch {
	font-size: 1.4rem;
	line-height: 2.0rem;
	margin-bottom: 30px;
}
.planCatch br {
	display: none;
}
.planImage {
	width: 93%;
	max-width: 896px;
	margin: 0 auto 5%;
	padding-top: 20px;
	text-align: center;
	border: solid 2px #949494;
}
.planIndex {
	width: 100%;
	max-width: 960px;
	margin: 0 auto 20px;
	text-align: center;
}
.planIndex .list {
	float: left;
	position: relative;
	overflow: hidden;
	width: 44%;
	max-width: 422px;
	margin: 0 3%;
}

.planIndex .list span {
	position: absolute;
	top: -100%;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,.4);
	-webkit-transition: .5s;
	transition: .5s;
	opacity: 1;
}
.planIndex .list:hover span {
	top: 0;
	left: 0;
	cursor : pointer;
}
@media only screen and (max-width:700px) {
	.planCatch {
		font-size: 18px;
	}
	.planCatch br {
		display: block;
	}
    .planIndex .list {
	float: none;
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
        margin-bottom: 30px;
}
}



/*************************
       plan sub
*************************/
.planHeader {
	position: relative;
	max-width: 1000px;
	margin: 0 auto;
}
.planHeader .logo {
	float: left;
	width: 48%;
	max-width: 480px;
	margin: 10px 1%;
}
.planHeader .logo img {
	width: 100px;
}
.planHeader .btn {
	position: absolute;
	top: 12px;
	right: 10px;
}
.planHeader .btn:hover {
	background: #93918e;
}
.planPopArea {
	background: #fff;
	margin-bottom: 60px;
}
.planPopArea .title {
	width: 100%;
	max-width: 720px;
	margin: 40px auto 60px;
	text-align: center;
}
.planPopArea .type {
	width: 90%;
	max-width: 648px;
	margin: 0 auto 40px;
	text-align: center;
}
.planPopArea .text {
	width: 96%;
	max-width: 690px;
	margin: 40px auto;
	font-size: 0.9rem;
	line-height: 1.8rem;
	text-align: center;
}
.planPopArea .madori {
	width: 90%;
	max-width: 648px;
	margin: 0 auto 60px;
	text-align: center;
}
.planPopArea .type img ,
.planPopArea .madori img {
	margin: 0 auto;
	text-align: center;
}
.planPopArea .remark {
	width: 96%;
	max-width: 690px;
	margin: 20px auto;
	font-size: 0.6rem;
	line-height: 1.2rem;
	text-align: left;
}


.planPopArea .btnList {
	margin-top: 30px;
	margin-bottom: 15px;
	text-align: center;
}
.planPopArea .btnList li {
	width: 160px;
	display: inline-block;
	margin-left: 10px;
	margin-right: 10px;
}
.planPopArea .btnList li a {
	-webkit-transition: all .4s ease-in-out;
	-moz-transition: all .4s ease-in-out;
	-ms-transition: all .4s ease-in-out;
	-o-transition: all .4s ease-in-out;
	transition: all .4s ease-in-out;
}
.planPopArea .btnList li:hover {
	opacity: .8;
}
.planPopArea .close {
	text-align: center;
}
@media only screen and (max-width:600px) {
	.planPopArea #container {
		width: 98%;
	}
	.planPopArea .btnList li.num01 {
		display: none;
	}
}

.btnList {
	margin-top: 30px;
/*	margin-bottom: 15px; */
	text-align: center;
}
.btnList.vo02 {
	margin-top: 0;
}
.btnList li {
/* width: 290px;*/
	display: inline-block;
	margin-left: 10px;
	margin-right: 10px;
	margin-bottom: 10px;
}
.btnList a {
	-webkit-transition: all .4s ease-in-out;
	-moz-transition: all .4s ease-in-out;
	-ms-transition: all .4s ease-in-out;
	-o-transition: all .4s ease-in-out;
	transition: all .4s ease-in-out;
}
.btnList a:hover {
	opacity: .7;
}
.map_cap {
	width: 1200px;
	margin: 0 auto;
}


@media only screen and (max-width:780px) {
	.mapArea .text {
		width: 100%;
	}
}
@media only screen and (max-width:640px) {
	.mapArea .text {
		padding: 30px 10px;
	}
}
@media only screen and (max-width:600px) {
	.btnList li.num01 {
		display: none;
	}
}


/*************************
           POP
*************************/
.pop {
	background-color: #fff;
	background-image: none;
	padding-top: 0;
}
.pop .btnList {
	margin-top: 30px;
	margin-bottom: 15px;
	text-align: center;
}
.pop .btnList.vo02 {
	margin-top: 0;
}
.pop .btnList li {
	width: 160px;
	display: inline-block;
	margin-left: 10px;
	margin-right: 10px;
	margin-bottom: 10px;
}
.pop .btnList a {
	-webkit-transition: all .4s ease-in-out;
	-moz-transition: all .4s ease-in-out;
	-ms-transition: all .4s ease-in-out;
	-o-transition: all .4s ease-in-out;
	transition: all .4s ease-in-out;
}
.pop .btnList a:hover {
	opacity: .8;
}
.pop .close {
	text-align: center;
}
.pop .close a {
	color: #FFFFFF;
}

@media only screen and (max-width:600px) {
	.pop #container {
		width: 98%;
	}
	.pop .btnList li.num01 {
		display: none;
	}
}


/*************************
        PRINT
*************************/
@media print {
	.sp {
		display:none;
	}
	.btnList,
	.close {
		display: none;
	}
    header,
    .kara,
    .page_ttl,
    .kasou_main_v,
    .trunk,
    .planPopArea .title,
    .planPopArea .text,
    #bx-pager,
    .cta ul,
    footer{
        display: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    .planPopArea,
    .planPopArea .type{
    margin-bottom: 0px;
}
    .cta {
    padding: 0px;
}
    div.bx-viewport{
        height: 1000px !important;
    }
    .planArea,
    .title,
    .type .madori,
    img,
    body,
    .planArea .planPopArea{
        margin-bottom: 0 !important;
    }
    img{
        width: 70%;
    }
}

/*************************
        layer_board
*************************/
/*
body.fixed{
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
}
.layer_board {
    top: 15px;
    width: 55%;
}
.layer_board {
    width: 100%;
    overflow: auto;
    max-height: 95%;
}
@media only screen and (max-width:640px) {

}
*/
/*************************
        MODAL
*************************/
	#pop_btn {
	    position: fixed;
	    right: 20px;
	    bottom: 20px;
	    color: #B92121;
/*
	    background: #fff;
	    padding: 15px;
	    border-radius: 50%;
	    border: 3px solid #B92121;
	    box-shadow: 3px 3px 8px #999;
*/
	    z-index: 999;
	    text-align: center;
	}
	#pop_btn:hover {
		opacity: .8;
	}
	#pop_btn i {
	    font-size: 44px;
	}
.pop_btn_circle {
    position: fixed;
    right: 20px;
    bottom: 20px;
    color: #fff;
/*
    background: #B92121;
    padding: 15px;
    border-radius: 50%;
    z-index: 999;
    border: 3px solid #B92121;
    box-shadow: 3px 3px 8px #999;
*/
    text-align: center;
}
.pop_btn_circle img{
    width: 80%;
}
.pop_btn_circle:hover {
	opacity: .8;
}
.pop_btn_circle i {
    font-size: 44px;
}
.fa-gift:before {
    content: "\f06b";
}
.ab_num {
    font-size: 13px;
    position: absolute;
    top: -10px;
    right: -5px;
    color: #fff;
    background: #22B962;
    width: 30px;
    height: 30px;
    line-height: 30px;
    border-radius: 50%;
}

.remodal{
    background-image: url(../images/top/modal_bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    padding: 15px;
    max-width: 700px;
}

/*
.remodal{
    padding: 0px;
    max-width: 1000px;
}
*/
.remodal p{
    text-align: left;
    font-weight: bold;
    margin-top: 20px;
}
@media only screen and (max-width:641px) {
    
.pop_btn_circle {
    right: 10px;
    bottom: 10px;
}
    .pop_btn_circle img{
        width: 80px;
    }
#pop_btn{
    right: 10px;
    bottom: 10px;
}
#pop_btn i {
    font-size: 30px;
}
}

li.new{
    position: relative;
}
li.new::after {
    position: absolute;
    top: 0px;
    right: -1px;
    content: "new";
    color: #fff;
    background: #9b1a45;
    padding: 0px 3px;
    font-size: 12px;
    line-height: 1;
}

.ftnavi li.new::after {
    position: absolute;
    top: -10px;
    right: -1px;
    content: "new";
    color: #fff;
    background: #9b1a45;
    padding: 0px 3px;
    font-size: 12px;
    line-height: 1;
}


.office p span.kyugyo{
    color: red;
    font-size: 18px;
}

.ls0{
    letter-spacing: 0;
}

.img_caption{
    position: absolute;
    bottom: 0;
    right: 0;
    background: rgba(0,0,0,0.7);
    color: #fff;
    font-size: 12px;
    letter-spacing: 0em;
    padding: 0.5em;
}
.column_ttl{
    font-size: 16px;
    color: #08233e;
    margin-top: 10px;
    margin-bottom: 10px;
/*    font-weight: bold;*/
    letter-spacing: 0;
}
.column_double{
    float: left;
    width: 49%;
}
.column_double+.column_double{
    float: right;
}
.column_triple{
    float: left;
    width: 32.6388%;
}
.column_triple:nth-of-type(2){
    margin-left: 1.0418%;
    margin-right: 1.0418%;
}

.column_quad{
    
}
@media only screen and (max-width:640px) {
  .copy{
    font-size: 14px;
}  
    .ttl_LI {
    font-size: 16px;
}
    .column_double{
    float: none;
    width: 100%;
}
.column_double+.column_double{
    float: none;
}
    
    .column_triple{
    float: none;
    width: 100%;
}
.column_triple:nth-of-type(2){
    margin-left: 0%;
    margin-right: 0%;
    margin-top: 20px;
    margin-bottom: 20px;
}
    
    .column_double.clearfix .column_double{
        float: left;
        width: 49%;
    }
    .column_double.clearfix .column_double+.column_double{
        float: right;
    }
}

/*200407来場予約削除*/
/*
.index .sub_navi li:last-of-type,
.page .sub_navi li:last-of-type{
    display: none;
}
.entry li:nth-of-type(2){
    display: none;
}
.cta ul li:nth-of-type(2){
    display: none;
}
.btn.sp-res img{
    opacity: .3;
}
nav.cmnmap-index .clearfix .blk.btn {
    float: none;
    margin-left: auto;
    margin-right: auto;
}
nav.cmnmap-index .clearfix .blk.btn+ .blk.btn {
    display: none;
}
*/
/*200407来場予約削除*/

/*concept*/
.concept{
    padding-top: 80px;
    margin-bottom: 80px;
    padding-bottom: 60px;
    background: #fff;
}
.concept img{
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 40px;
}
.concept .copy {
    padding-top: 50px;
    padding-bottom: 50px;
    border: 1px solid #253827;
    font-size: 16px;
    color: #202020;
    letter-spacing: .2em;
    background: url(../images/top/bg_copy.jpg);
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}
.concept .copy span{
    font-size: 18px;
    font-weight: bold;
}
.concept .copy .sen {
    background-image: linear-gradient(180deg, rgba(100, 100, 100, 0) 0%, rgba(100, 100, 100, 0) 98%, #646464 100%);
    background-size: 100% 2em;
    line-height: 2em;
    width: 95%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    color: #253827;
}
@media only screen and (max-width: 960px){
    .concept{
    padding-top: 0px;
    margin-bottom: 80px;
    background: #fff;
}
    .concept .copy {
    padding-top: 30px;
    padding-bottom: 30px;
    font-size: 12px;
    margin-bottom: 0;
        width: 90%;
}
    .concept .copy span {
    font-size: 16px;
}
    .sp-img{
        width: 90%;
        margin-left: auto;
        margin-right: auto;
    }
}
/*concept*/

.ttl_img{
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 40px;
    width: 100%;
}
@media only screen and (max-width: 960px){
    .ttl_img{
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 40px;
}
}

.menu,
.service,
.access,
.bnr_area,
.ig,
.map{
    padding-top: 40px;
    padding-bottom: 40px;
}
.menu_box{
    position: relative;
}
.menu_box .click{
    position: absolute;
    position: absolute;
	left: 50%;
	transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    background: #fff;
    width: 100%;
    max-width: 80%;
    text-align: center;
    bottom: 15px;
    font-size: 18px;
    padding-top: 5px;
    padding-bottom: 5px;
}
.acdn-content {
    display: none;
}
.menu_box_wrap+.menu_box_wrap{
    margin-top: 50px;
}
.menu_text{
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
    font-size: 16px;
    background: #fff;
}
.menu_text .clearfix{
    padding: 15px 10px;
    border-bottom: 1px solid #8b8b8b;
    display: block;
}
.menu_text .clearfix:last-of-type{
    border-bottom: none;
}
.menu_text span.txt_main{
    display: block;
    font-weight: bold;
    font-size: 18px;
}
.menu_text span.txt_sub{
    font-size: 14px;
    vertical-align: baseline;
    letter-spacing: 0;
    float: left;
}
.menu_text span.price{
    float: right;
    font-size: 16px;
    text-align: right;
}
.menu_text hr{
    width: 100vw;
    position: relative;
left: 50%;
transform: translateX(-50%);
}
.menu_text p{
    text-align: center;
    padding-top: 30px;
    font-size: 24px;
    font-weight: bold;
    padding-bottom: 20px;
}
.menu_text p.txt{
    text-align: center;
    margin-top: 0px;
    font-size: 18px;
    padding-top: 0;
    font-weight: normal;
}
.menu_text p.kome{
    text-align: left;
    font-weight: normal;
    font-size: 12px;
    padding-top: 0;
}
@media only screen and (max-width: 960px){
    .menu_text p.kome {
    text-align: center;
}
    .menu_text span.txt_main{
    font-size: 16px;
        letter-spacing: 0;
}
    /*.menu_box_wrap{
    padding-bottom: 50px;
    border-bottom: 3px solid #253827;
}*/
    .menu_text p {
    font-size: 20px;
}
    .menu_text p.txt{
    font-size: 16px;
}
}

/*menu*/

/*service*/
.service_img{
    float: left;
    width: 50%;
    border-bottom: 1px solid #232323;
    box-sizing: border-box;
}
.service_img:nth-of-type(odd){
    border-right: .5px solid #232323;
}
.service_img:nth-of-type(even){
    border-left: .5px solid #232323;
}
.link_box_wrap{
    background: #fff;
    padding-bottom: 2em;
}
.link_box{
    max-width: 60%;
    margin-left: auto;
    margin-right: auto;
    background: #a6151a;
    padding: 1em;
    color: #fff;
    text-align: center;
}
.link_box a{
    display: table;
    color: #fff;
    margin-left: auto;
    margin-right: auto;
}
.link_box_tel{
    padding: 0;
}
.link_icon{
    display: inline-block;
    max-width: 2.5em;
    padding-right: 1em;
    height: auto;
    
}
.link_icon_wrap{
    display: table-cell;
    vertical-align: middle;
}
.link_txt{
    display: table-cell;
    vertical-align: middle;
}
/*.link_box:hover{
    opacity: .3;
    transition: 1.0s ;
}*/

.yomogi{
    padding: 1em 2em;
    min-height: 53.50px;
}
.yomogi span.txt_main{
    float: left;
}
.yomogi span.price{
    float: right;
}
.yomogi:hover{
    opacity: 1;
}
@media only screen and (max-width: 960px){
    .service_img{
    float: none;
    width: 100%;
    border-top: 3px solid #a6151a;
    border-bottom: 3px solid #a6151a;
    margin-bottom: 30px;
}
.service_img:nth-of-type(odd){
    border-right: none;
}
.service_img:nth-of-type(even){
    border-left: none;
}
    .sekkotsuin{
        border-top: 3px solid #a6151a;
        border-bottom: 3px solid #a6151a;
    }
    .yomogi{
    min-height: auto;
}
}
/*service*/

/*access*/
.calender_link_box_wrap{
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 40px;
}

.access_box{
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    border: 1px solid #253827;
    padding: 20px 30px;
    margin-bottom: 30px;
}
.access_box .clearfix{
    margin-bottom: 30px;
}
.access_inner{
    float: left;
    width: 50%;
    border-right: none;
    text-align: center;
}
.access_inner+.access_inner{
    float: right;
    border-right: none;
    border-left: 1px solid #232323;
    padding-left: 30px;
}
.access_inner img{
    margin-bottom: 20px;
    /*max-width: 70%;*/
    max-height: 36px;
    width: auto;
    margin-left: auto;
    margin-right: auto;
}
.access_inner p{
    padding-left: 2.7em;
    text-indent: -2.7em;
    text-align: left;
}
.access_inner p+p{
    padding-top: 1em;
}
.access_inner p.time,
.access_tel p.time{
    font-weight: bold;
}
.access_tel{
    text-align: center;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
}
.access_tel p:nth-of-type(3){
    margin-bottom: 30px;
}
@media only screen and (max-width: 960px){
    .calender_link_box_wrap{
    margin-top: 20px;
    margin-bottom: 60px;
}
    .access_box {
    border: none;
    padding: 0px 10px;
}
    .access_inner {
    float: none;
    width: 100%;
}
    .access_inner+.access_inner {
    float: none;
    border-right: none;
    border-left: none;
    border-top: 1px solid #232323;
    padding-left: 0px;
    padding-top: 30px;
        margin-top: 30px;
}
    .access_inner img {
    max-width: 80%;
}
    .access_inner p {
    letter-spacing: 0;
}
}
/*access*/

/*Instagram*/
.ig .clearfix{
    max-width: 870px;
    margin-left: auto;
    margin-right: auto;
}
.ig_box{
    float: left;
    width: 48%;
    text-align: center;
}
.ig_box+.ig_box{
    float: right;
}
.ig_box p{
    font-size: 30px;
}
.ig_box iframe{
    width: 100%;
    height: 420px;
}
.ig_link{
    background: #000;
    color: #fff;
    text-align: center;
}
.ig_link a{
    color: #fff;
    padding: 1em 0;
}
.ig_link a:hover {
    opacity: .3;
    transition: 1.0s;
}
@media only screen and (max-width: 960px){
    .ig_box{
    float: none;
    width: 100%;
    padding: 0 10px;
        box-sizing: border-box;
}
.ig_box+.ig_box{
    float: none;
    margin-top: 50px;
}
    .ig_box p{
    font-size: 18px;
}
    .ig_box iframe{
    height: 860px;
}
}
@media only screen and (max-width: 800px){
    .ig_box iframe{
    height: 760px;
}
}
@media only screen and (max-width: 700px){
    .ig_box iframe{
    height: 660px;
}
}
@media only screen and (max-width: 640px){
    .ig_box iframe{
    height: 370px;
}
}
/*Instagram*/

/*bnr*/
.bnr{
    max-width: 870px;
    margin-left: auto;
    margin-right: auto;
}
@media only screen and (max-width: 960px){
    .bnr{
        padding: 0px 10px;
    }
}
/*bnr*/

/*map*/
.googlemaps{
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
}
.googlemaps iframe{
    width: 100%;
}
.googlemaps iframe,
.googlemaps object,
.googlemaps embed {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
  -webkit-transition: all 0.7s ease;
  -moz-transition: all 0.7s ease;
  -o-transition: all 0.7s ease;
  transition: all  0.7s ease;
}

.googlemaps iframe:hover,
.googlemaps object:hover,
.googlemaps embed:hover {
  -webkit-filter: grayscale(0%);
  -moz-filter: grayscale(0%);
  -ms-filter: grayscale(0%);
  -o-filter: grayscale(0%);
  filter: grayscale(0%);
}
@media only screen and (max-width: 960px){
    .googlemaps{
    padding: 0px 10px;
}
}
/*map*/

.access,.ig,.bnr_area,.map{
    background: #fff;
}


 
/*固定する背景*/

/*.menu_service_wrap {
  background-image: url('../images/top/bg.jpg');
  background-attachment: fixed;
  background-position: center;
  background-size: 100vw;
  background-repeat: no-repeat;
}*/
.menu_service_wrap:before{
  content:"";
  display:block;
  position:fixed;
  top:0;
  left:0;
  z-index:-1;
  width:100%;
  height:100vh;
    background-image: url('../images/top/bg.jpg');
    background-size:cover;
}


.anchor {
    padding-top: 60px;
    margin-top:-60px;
}

@media only screen and (max-width: 960px){
    .index #menuButton,
    .sp_sub{
        display: none;
}
    .wrap .header>.inner h1.logo{
        margin-left: auto;
        margin-right: auto;
        float: none;
        padding-bottom: 10px;
        width: 60%;
    }
    .index .header{
        padding-bottom: 0px;
        padding-left: 0;
        padding-right: 0;
        min-height: auto;
    }
    
    #hNav {
    display: block;
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 100;
    width: 100%;
}
    #hNav ul li {
    float: left;
    width: 25%;
}
    #hNav ul li a {
    display: block;
    width: 100%;
    height: 79px;
    text-indent: -9999px;
    background-color: #253827;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 23%;
    padding: 10px 0;
}
    #hNav ul #spMap a {
    background-image: url(../images/sp_nav/icn-map.png);
}
    #hNav ul li#res a {
    background-image: url(../images/sp_nav/sp-res.png);
}
    #hNav ul #spTel a {
    background-image: url(../images/sp_nav/icn-phone.png);
}
    #hNav ul #spMenu a {
    background-image: url(../images/sp_nav/icn-menu.png);
}
    
    
    .nav {
    padding: 0;
    display: none;
    position: fixed;
    bottom: 78px;
    width: 100%;
    background-color: #fff;
    z-index: 10;
}
    .wrap .header > .inner nav {
    padding-top: 0px;
    border-top: 3px solid #a6151a;
        display: none;
        width: 100%;
        padding-left: 0;
}
    
    
}

@media screen and (max-width: 960px){
        .index .gnavi,
        .wrap .header > .inner nav{
            display: none;
        }
        #hNav .sp-on.clearfix{
            display: block !important;
        }
    }

@media screen and (max-width: 550px){
        #hNav ul li a {
    background-size: 50%;
}
    }

.menu_text08{
    width: 960px;
    border-bottom: 1px solid #fff;
}
.menu_text08_inner {
    margin-left: auto;
    margin-right: auto;
    max-width: 700px;
}
.menu_text08.pc{
    display: block;
}
.menu_text08.sp{
    display: none;
}
@media screen and (max-width: 960px){
    .menu_text08{
    width: 100%;
}
    .menu_text08.pc{
    display: none;
}
.menu_text08.sp{
    display: block;
}
}


.bnr_box{
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
}
.corona_pic{
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
    float: left;
}
.corona_pic+.corona_pic{
    float: right;
    border: 2px solid #000;
    padding: 5px;
}
.corona_pic+.corona_pic img{
    border: 1px solid #000;
    padding: 5px;
}
.pic_wrap{
    margin-bottom: 50px;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}
.info{
    text-align: center;
    background: #fff;
    padding: 30px 0 0;
    font-size: 18px;
    font-weight: bold;
}
@media screen and (max-width: 960px){
    .bnr_box{
    padding: 0 10px;
}
    .corona_pic{
    max-width: 60%;
    float: none;
        margin-left: auto;
    margin-right: auto;
}
.corona_pic+.corona_pic{
    float: none;
    margin-top: 30px;
}
    .info{
    padding: 30px 0;
}
}

.service08_txt{
    background: #fff;
    position: relative;
    min-height: 236px;
}
.service08_txt img{
    height: 68px;
    width: auto;
    position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.service01{
    border-left: none;
    border-right: .5px solid #232323;
}
.service08{
    border-left: .5px solid #232323;
    border-right: none;
}
.service08.service09{
    border-left: none;
    border-right: .5px solid #232323;
    background: #fff;
    min-height: 549px;
}
@media screen and (max-width: 960px) {
    .service01{
    border-left: none;
    border-right: none;
}
.service08{
    border-left: none;
    border-right: none;
}
.service08.service09{
    border-left: none;
    border-right: none;
    min-height: auto;
}
    
    .service08_txt{
    min-height: auto;
    padding: 30px 0;
}
.service08_txt img{
    width: auto;
    position: static;
    top: auto;
	left: auto;
	transform: none;
    display: block;
    margin: 0 auto;
    height: 50px;
    height: 6rem;
}
    .sp_menu_ttl{
        background: #a6151a;
        color: #fff;
        text-align: center;
    }
}
@media screen and (max-width: 700px) {
    .service08_txt img{
    height: 3.5rem;
}
}