@charset "utf-8";
/* Theme Name: res */
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700&display=swap');
html, body {
	font-size: 18px;
	line-height: 2;
	color: #3b2c1b;
	letter-spacing: .1em;
	font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
img {
	max-width: 100%;
	height: auto;
}
li {
	list-style: none;
}
a {
	color: inherit;
}
.txt_link {
	color: #aaa;
}
a:hover {
	opacity: .85;
	transition: .3s;
}
.inner,.inner900,.inner1000,.inner1240,.inner1340
{
	max-width: calc(1200px + 10%);
	width: 100%;
	margin: 0 auto;
	padding: 0 5%;
}
.inner900 {
	max-width: calc(900px + 10%);
}
.inner1000 {
	max-width: calc(1000px + 10%);
}
.inner1240 {
	max-width: calc(1240px + 10%);
}
.inner1340 {
	max-width: calc(1340px + 10%);
}
table{
	table-layout: fixed;
}
td input{
	max-width: 100%;
}
.map{
	position: relative;
	width: 100%;
	padding: 500px 0 0 0;
}
.map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
a[href^="tel:"] {
	cursor: default;
}
a[href^="tel:"]:hover {
	opacity: 1;
}
.slick-slide {
	outline: none;
}
.tb_only {
	display: none;
}
.sp_only {
	display: none;
}
.tb_pc {
	display: inherit;
}
.sp_tb {
	display: none;
}
.flex {
	display:-webkit-box;
	display:-ms-flexbox;
	display: -webkit-flex;
	display:flex;
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	-webkit-justify-content:space-between;
	justify-content:space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}
.flex.start     { -webkit-justify-content: flex-start; justify-content: flex-start; }
.flex.end       { -webkit-justify-content: flex-end; justify-content: flex-end; }
.flex.center    { -webkit-justify-content: center; justify-content: center; }
.flex.around    { -webkit-justify-content: space-around; justify-content: space-around; }
.flex.between   { -webkit-justify-content: space-between; justify-content: space-between; }
.flex.stretch   { -webkit-align-items: stretch; align-items: stretch; }
.flex.ai_center { -webkit-align-items: center; align-items: center; }
.flex.ai_start  { -webkit-align-items: flex-start; align-items: flex-start; }
.flex.ai_end    { -webkit-align-items: flex-end; align-items: flex-end; }
.flex.nowrap    { -webkit-flex-wrap: nowrap; flex-wrap: nowrap; }
.flex.column    { -ms-flex-direction:column; -webkit-flex-direction:column; flex-direction:column; }
.flex.row       { -ms-flex-direction:row; -webkit-flex-direction:row; flex-direction:row; }
.flex.c_reverse { -ms-flex-direction:column-reverse; -webkit-flex-direction:column-reverse; flex-direction:column-reverse; }
.flex.r_reverse { -ms-flex-direction:row-reverse; -webkit-flex-direction:row-reverse; flex-direction:row-reverse; }
.noshrink       { flex: 0 0 auto; }
.grow           { flex: 1 1 auto; }

.txt_center { text-align: center; }
.txt_right { text-align: right; }

.mgn_a {
	margin-left: auto;
	margin-right: auto;
}
.mgn_l { margin-left: auto; }
.mgn_r { margin-right: auto; }
.no_mgn { margin-bottom: 0!important;}
.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; }
.mb55   { margin-bottom: 55px; }
.mb60   { margin-bottom: 60px; }
.mb65   { margin-bottom: 65px; }
.mb70   { margin-bottom: 70px; }
.mb75   { margin-bottom: 75px; }
.mb80   { margin-bottom: 80px; }
.mb85   { margin-bottom: 85px; }
.mb90   { margin-bottom: 90px; }
.mb95   { margin-bottom: 95px; }
.mb100  { margin-bottom:100px; }
.mb105  { margin-bottom:105px; }
.mb110  { margin-bottom:110px; }
.mb115  { margin-bottom:115px; }
.mb120  { margin-bottom:120px; }
.mb125  { margin-bottom:125px; }
.mb130  { margin-bottom:130px; }
.mb135  { margin-bottom:135px; }
.mb140  { margin-bottom:140px; }
.mb145  { margin-bottom:145px; }
.mb150  { margin-bottom:150px; }
.mb05em { margin-bottom:0.5em; }
.mb10em { margin-bottom:1.0em; }
.mb15em { margin-bottom:1.5em; }
.mb20em { margin-bottom:2.0em; }
.mb25em { margin-bottom:2.5em; }
.mb30em { margin-bottom:3.0em; }
@media(min-width: 768px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}
.txt_white { color: #fff; }
.bg_white { background-color: #fff; }
.shadow_w {
	text-shadow: 0px 0px 5px #fff, 0px 0px 5px #fff, 0px 0px 10px #fff, 0px 0px 10px #fff, 0px 0px 15px #fff, 0px 0px 15px #fff;
}
.bebas {
	font-family: bebas-neue, sans-serif;
	font-weight: 400;
	font-style: normal;
}
em { font-style: normal; }
@media(min-width: 768px) and (max-width:960px) {
	.pc_only {
		display: none;
	}
	.tb_only {
		display: inherit;
	}
	.sp_only {
		display: none;
	}
	.tb_pc {
		display: inherit;
	}
	.sp_tb {
		display: inherit;
	}
}
@media(max-width: 767px) {
	html, body {
		font-size: 4.27vw;
		line-height: 1.5625;
		letter-spacing: 0;
	}
	.inner,.inner900,.inner1000,.inner1240,.inner1340 {
		padding: 0 3.2vw;
	}
	.pc_only {
		display: none;
	}
	.tb_only {
		display: none;
	}
	.sp_only {
		display: inherit;
	}
	.tb_pc {
		display: none;
	}
	.sp_tb {
		display: inherit;
	}
	.map {
		padding-top: calc(500 / 750 * 100vw);
	}
	.mb5   { margin-bottom: calc( 5  / 750 * 100vw); }
	.mb10  { margin-bottom: calc( 10 / 750 * 100vw); }
	.mb15  { margin-bottom: calc( 15 / 750 * 100vw); }
	.mb20  { margin-bottom: calc( 20 / 750 * 100vw); }
	.mb25  { margin-bottom: calc( 25 / 750 * 100vw); }
	.mb30  { margin-bottom: calc( 30 / 750 * 100vw); }
	.mb35  { margin-bottom: calc( 35 / 750 * 100vw); }
	.mb40  { margin-bottom: calc( 40 / 750 * 100vw); }
	.mb45  { margin-bottom: calc( 45 / 750 * 100vw); }
	.mb50  { margin-bottom: calc( 50 / 750 * 100vw); }
	.mb55  { margin-bottom: calc( 55 / 750 * 100vw); }
	.mb60  { margin-bottom: calc( 60 / 750 * 100vw); }
	.mb65  { margin-bottom: calc( 65 / 750 * 100vw); }
	.mb70  { margin-bottom: calc( 70 / 750 * 100vw); }
	.mb75  { margin-bottom: calc( 75 / 750 * 100vw); }
	.mb80  { margin-bottom: calc( 80 / 750 * 100vw); }
	.mb85  { margin-bottom: calc( 85 / 750 * 100vw); }
	.mb90  { margin-bottom: calc( 90 / 750 * 100vw); }
	.mb95  { margin-bottom: calc( 95 / 750 * 100vw); }
	.mb100 { margin-bottom:calc(100 / 750 * 100vw); }
	.mb105 { margin-bottom:calc(105 / 750 * 100vw); }
	.mb110 { margin-bottom:calc(110 / 750 * 100vw); }
	.mb115 { margin-bottom:calc(115 / 750 * 100vw); }
	.mb120 { margin-bottom:calc(120 / 750 * 100vw); }
	.mb125 { margin-bottom:calc(125 / 750 * 100vw); }
	.mb130 { margin-bottom:calc(130 / 750 * 100vw); }
	.mb135 { margin-bottom:calc(135 / 750 * 100vw); }
	.mb140 { margin-bottom:calc(140 / 750 * 100vw); }
	.mb145 { margin-bottom:calc(145 / 750 * 100vw); }
	.mb150 { margin-bottom:calc(150 / 750 * 100vw); }
}
#content_home{padding: 60px 0;}
.menu_menu li{
	font-size: 115%;
	letter-spacing: .1em;
}
.menu_menu li:not(:last-child){margin-bottom: 10px;}
@media only screen and (max-width: 767px) {
	#content_home{padding: 9vw 0;}
}

/* ヘッダー header
------------------------------------------------------------------*/
header {
	position: relative;
	z-index: 10;
	padding: 25px 0;
}
@media(min-width: 768px) and (max-width:960px) {

}
@media(max-width: 767px) {
	header {
		padding: 3vw 0;
	}
	h1 {
		width: calc(240 / 750*100vw);
	}
}


/* メインイメージ main_img
------------------------------------------------------------------*/
.main_img {
	position: relative;
}
.main_img ul {
	opacity: 0;
}
.slide_main li {
	min-height: 600px;
	height: 100vh;
}
.main_img.tab .slide_main li {
	height: auto;
}
.main01 {
	background: url(images/index/main01.jpg)no-repeat center / cover;
}
.main02 {
	background: url(images/index/main02.jpg)no-repeat center / cover;
}
.main_img .slick-slide .sp_only {
	display: none !important;
}
@media(min-width: 768px) and (max-width:960px) {

}
@media only screen and (max-width: 767px) {
	.slide_main li {
		min-height: auto;
		height: auto;
	}
	.main01, .main02 {
		background: none;
	}
	.main_img .slick-slide .sp_only {
		display: inherit!important;
	}
	.main_img .slick-slide .tb_pc {
		display: none !important;
	}
}

/* グローバルナビゲーション gnav
------------------------------------------------------------------*/

.gnav {
	transition: .3s;
	width: 100%;
}
.gnav.is_fixed {
	position: fixed;
	left: 0;
	z-index: 10;
	transition: .3s;
}
/*.fix_nav {
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	transition: .5s;
	width: 100%;
	transform: translateY(-100%);
	opacity: 0;
	background: rgba(255,255,255,.9);
}
.fix_nav.is_fixed  {
	transition: .5s;
	transform: translateY(0);
	opacity: 1;
	z-index: 10;
}*/
.gnav > ul > li {
	position: relative;
}
.gnav .nav_sub {
	display: none;
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
}
@media(min-width: 768px) and (max-width:960px) {

}
@media only screen and (max-width: 767px) {
	.gnav {
		display: none;
	}
	.btn_gnav_sp {
		position: fixed;
		top: 3vw;
		right: 3.2vw;
		height: calc(100 / 750 * 100vw);
		width: calc(100 / 750 * 100vw);
		background: #333;
		z-index: 10000;
		outline: none;
	}
	.btn_gnav_sp .txt_gnav {
		position: absolute;
		width: calc(48 / 750 * 100vw);
		right: 0;
		left: 0;
		bottom: 1vw;
		margin: auto;
	}
	.btn_gnav_sp .icn_gnav {
		width: calc(40 / 750 * 100vw);
		height: 2px;
		position: absolute;
		top: -3.5vw;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		background: #fff;
		transition: transform .3s ease-in-out;
	}
	.btn_gnav_sp .icn_gnav:before, .btn_gnav_sp .icn_gnav:after {
		content: "";
		width: 100%;
		height: 2px;
		position: absolute;
		left: 0;
		background: #fff;
		transition: transform .3s ease-in-out;
	}
	.btn_gnav_sp .icn_gnav:before {
		top: -1.5vw;
	}
	.btn_gnav_sp .icn_gnav:after {
		bottom: -1.5vw;
	}
	.open .btn_gnav_sp .icn_gnav {
		background: none;
	}
	.open .btn_gnav_sp .icn_gnav:before, .open .btn_gnav_sp .icn_gnav:after {
		background: #fff;
		transition: transform .3s ease-in-out;
	}
	.open .btn_gnav_sp .icn_gnav:before {
		transform: rotate(45deg);
		top: 0;
	}
	.open .btn_gnav_sp .icn_gnav:after {
		transform: rotate(-45deg);
		bottom: 0;
	}
	.gnav_sp {
		padding: 19vw 0 0;
		overflow-y: auto;
		overflow-x: hidden;
		background: rgba(255,255,255,.9);
		position: fixed;
		top: 0;
		right: 0;
		z-index: 9999;
		height: 100%;
		visibility: hidden;
		opacity: 0;
		width: 80%;
		transition: opacity .6s ease, visibility .6s ease;
		line-height: 1.45;
	}
	.bg_gnav {
		visibility: hidden;
		transition: .3s;
		opacity: 0;
	}
	.open .bg_gnav {
		width: 100%;
		height: 100%;
		position: fixed;
		z-index: 9998;
		background: rgba(0,0,0,0);
		visibility: visible;
		opacity: 1;
		transition: .3s;
		left: 0;
		top: 0;
	}
	.gnav_sp .nav_main {
		padding-bottom: 20vw;
	}
	.gnav_sp .nav_main > ul {
		padding: 0 3vw;
		display: block;
	}
	.gnav_sp .nav_main > ul > li {
		opacity: 0;
		transform: translateX(50%);
		transition: transform .6s ease, opacity .2s ease;
	}
	.gnav_sp .nav_main > ul > li:first-child {
		border-top: 1px dotted #333;
	}
	.gnav_sp .nav_main > ul > li.nav_drawer {
		padding-bottom: 2.5vw;
		border-bottom: 1px dotted #333;
	}
	.gnav_sp .nav_main > ul > li > a {
		padding: 3.5vw 4vw 3.5vw 0;
		border-bottom: 1px dotted #333;
		display:-webkit-box;/*--- Androidブラウザ用 ---*/
		display:-ms-flexbox;/*--- IE10 ---*/
		display: -webkit-flex;/*--- safari（PC）用 ---*/
		display:flex;
		-webkit-box-pack:justify;/*--- Androidブラウザ用 ---*/
		-ms-flex-pack:justify;/*--- IE10 ---*/
		-webkit-justify-content:space-between;/*--- safari（PC）用 ---*/
		justify-content:space-between;
		-webkit-flex-wrap: wrap; /* Safari */
		flex-wrap: wrap;
		-ms-align-items: center;
		align-items: center;
		position: relative;
		letter-spacing: 0;
	}
	.gnav_sp .nav_main > ul > li.nav_drawer > a {
		border-bottom: none;
	}
	.gnav_sp .nav_main > ul > li > a:after {
		content: "";
		position: absolute;
		right: 0;
		top: 1vw;
		bottom: 0;
		width: 0;
		height: 0;
		border-left: calc(16 / 750 * 100vw) solid #333;
		border-top: calc(12 / 750 * 100vw) solid transparent;
		border-bottom: calc(12 / 750 * 100vw) solid transparent;
		margin: auto;
	}
	.gnav_sp .nav_main > ul > li.nav_drawer > a:after {
		transform: rotate(90deg);
	}
	.gnav_sp .nav_main > ul > li.nav_drawer > a.open:after {
		transform: rotate(-90deg);
	}
	.gnav_sp .nav_main > ul > li > a .ja {
	}
	.gnav_sp .nav_main > ul > li > a .en {
		font-size: 62.5%;
		letter-spacing: .1em;
		margin-top: 1vw;
	}
	.gnav_sp .nav_sub {
		background: rgba(51,51,51,.9);
		padding: 5.5vw 8vw 7.5vw;
		/*display: none;*/ /* クリックで開閉させる場合はコメント解除 */
	}
	.gnav_sp .nav_sub li {
		opacity: 0;
		transform: translateX(50%);
		transition: transform .6s ease, opacity .2s ease;
	}
	.gnav_sp .nav_sub li:not(:last-child) {
		margin-bottom: 2.5vw;
	}
	.gnav_sp .nav_sub a {
		padding: 1vw 6vw 1vw;
		display: block;
		position: relative;
		color: #fff;
	}
	.gnav_sp .nav_sub a:after {
		content: "";
		position: absolute;
		left: 0;
		top: 1vw;
		bottom: 0;
		width: 0;
		height: 0;
		border-left: calc(16 / 750 * 100vw) solid #fff;
		border-top: calc(12 / 750 * 100vw) solid transparent;
		border-bottom: calc(12 / 750 * 100vw) solid transparent;
		margin: auto;
	}
	.open .gnav_sp {
		visibility: visible;
		opacity: 1;
	}
	.open .gnav_sp .nav_main > ul > li, .open .gnav_sp .nav_sub li {
		opacity: 1;
		transform: translateX(0);
		transition: transform 1s ease, opacity .9s ease;
	}
}

/* 新着情報 index_news
------------------------------------------------------------------*/

/* ※パーフェクトスクロールバー用基本css ここからデザインに合わせて適宜変更してください */
.index_news ul {
	overflow: hidden;
	position: relative;
	padding-right: 20px;
	max-height: 170px;
	height: auto;
	touch-action: auto !important;
	line-height: 1.75;
}
.index_news li:not(:last-of-type) {
}
.index_news li dt {
}
.index_news li dd {
}
.index_news li dd a {
	color: #aaa; /* コーダーさんへに記載されている★標準テキスト：リンク色に変更*/
}
/* パーフェクトスクロールバー */
.ps-container > .ps-scrollbar-y-rail > .ps-scrollbar-y {
	background: #333333 !important;
	right: 0px !important;
	width: 4px !important;
}
.ps-container > .ps-scrollbar-y-rail {
	background: #f7f7f8 !important;
	right: 0px !important;
	width: 4px !important;
	opacity: 1;
}
.ps-container:hover>.ps-scrollbar-y-rail {
	opacity: 1;
}
@media(min-width: 768px) and (max-width:960px) {

}
@media(max-width: 767px) {
	.index_news ul {
		max-height: calc(500 / 750 * 100vw);
	}
	.index_news li:not(:last-of-type) {
	}
	.index_news li dl {
		display: block;
	}
	.index_news li dt {
		width: 100%;
	}
	.index_news li dd {
		width: 100%;
		line-height: 1.5625;
	}
}


/* コンテンツ名 class
------------------------------------------------------------------*/
@media(min-width: 768px) and (max-width:960px) {

}
@media(max-width: 767px) {

}


/* フッター footer
------------------------------------------------------------------*/
.main_foot {
}
.row_foot01 > .col_l {
}
.row_foot01 > .col_r {
	width: 45%;
	max-width: 530px;
}
.pagetop {
	position: fixed;
	right: 30px;
	bottom: 30px;
	z-index: 1000;
}
.copyright {
	padding: 23px 0 25px;
	background: #edeae7;
	font-size: 88.89%;
	letter-spacing: .1em;
	line-height: 1.5;
}
@media(min-width: 768px) and (max-width:960px) {
	.row_foot01 {
		display: block;
	}
	.row_foot01 > .col_l {
		width: 100%;
		text-align: center;
		margin: 0 auto;
	}
	.row_foot01 > .col_r {
		width: 100%;
		max-width: 100%;
		margin: 0 auto;
	}
}
@media(max-width: 767px) {
	.row_foot01 {
		display: block;
	}
	.row_foot01 > .col_l {
		width: 100%;
		max-width: 100%;
		text-align: center;
	}
	.row_foot01 > .col_r {
		width: 100%;
		max-width: 100%;
		margin: 0 auto;
	}
	.copyright {
		font-size: 75%;
		letter-spacing: 0;
		padding: 4vw 0 5vw;
	}
	.pagetop {
		display: none!important;
	}
	.fix {
		position: fixed;
		width: 100%;
		left: 0;
		bottom: 0;
		z-index: 9;
	}
	.fix_tel {
	}
	.pagetop_sp {
	}
	.fix_tel a, .pagetop_sp a {
		display: block;
	}
}

/* コピペ用 copy&paste
------------------------------------------------------------------*/
@media(min-width: 768px) and (max-width:960px) {

}
@media(max-width: 767px) {

}
.grecaptcha-badge { visibility: hidden; }
