/*
Last Updated: 2022-03-03
Author: yonezawa
*/

/*----------------------------------------
	全体
----------------------------------------*/

html{
	font-family:'游ゴシック体', 'Yu Gothic', YuGothic,'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ ゴシック',sans-serif;
	font-size:62.5%;
	color: #000;
	-webkit-text-size-adjust:100%;
	line-height:1.5;
}
body{ font-size:1.4rem; font-size: 1.4em; }

img{ vertical-align: bottom; }

a{
	color:#35b29e;
	transition: all 0.4s ease-out;
}
a:hover{
	color:#99ecde;
	transition: all 0.4s ease-out;
}

.max_respon{max-width:100%;}

/*----------------------------------------
	text
----------------------------------------*/

p{ line-height:1.8; }
.text_bold{ font-weight: bold; }
.text_normal{ font-weight: normal; }
.lh_16{ line-height: 1.6 !important; }
.lh_18{ line-height: 1.8 !important; }
.lh_20{ line-height: 2 !important; }
.lh_23{ line-height: 2.3 !important; }
/*letter-spacing*/
	.ls_1{ letter-spacing: 1px; }
	.ls_2{ letter-spacing: 2px; }
	.ls_01{letter-spacing: -1px;}

@media print, screen and (min-width: 769px) {

	.text_16{ font-size:1.6rem !important; }
	.text_22{ font-size:2.2rem !important; }
	.text_26{ font-size:2.6rem !important; }

}/*END*/

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

	.text_16{ font-size: 1.5rem !important; }
	.text_22{ font-size: 1.8rem !important; }
	.text_26{ font-size: 2rem !important; }
	.lh_20{ line-height: 1.8 !important; }

}/*END*/

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

	.text_16{ font-size: 1.4rem !important; }
	.text_22{ font-size: 1.6rem !important; }
	.text_26{ font-size: 1.7rem !important; }

}/*END*/


/*----------------------------------------
	iframe比率維持
----------------------------------------*/

.map{
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 100%;
	padding: 35% 0 0;
	text-align: center;
}
.map iframe{
	width: 100%;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate3d(-50%, -50%, 0);
	-ms-transform: translate3d(-50%, -50%, 0);
	transform: translate3d(-50%, -50%, 0);
}
.map iframe:not(:target){
	left: 0\9;
	top: 0\9;
}
.map iframe{
	left: 0\9;
	top: 0\9;
}
@media all and (-ms-high-contrast: none) {
.map iframe{
		left: 50%\9 !important;
		top: 50%\9 !important;
	}
}
.map{ z-index: 2; }/*chrome対策*/

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

	.map{ padding: 60% 0 0; }

}/*END*/


/*----------------------------------------
	layout
----------------------------------------*/
.obi_frame{
	width: 100%;
	position: relative;
	box-sizing: border-box;
	padding-right: 20px;
	padding-left: 20px;
	margin-right: auto;
	margin-left: auto;
}
.inner_frame{
	width: 100%;
	position: relative;
	box-sizing: border-box;
	max-width: 1150px;
	padding-right: 20px;
	padding-left: 20px;
	margin-right: auto;
	margin-left: auto;
}
.box_l{
	float: left;
	width: 48.27%;
}
.box_r{
	float: right;
	width: 48.27%;
}

@media print, screen and (max-width: 999px) {

	.inner_frame{
		padding-right: 1.72%;
		padding-left: 1.72%;
	}

}/*END*/


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

	.inner_frame{
		padding-right: 3%;
		padding-left: 3%;
	}

}/*END*/

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

	.inner_frame{
		padding-right: 4.5%;
		padding-left: 4.5%;
	}
	.box_l,
	.box_r{
		float: none;
		width: 100%;
	}

}/*END*/


/*----------------------------------------
	header
----------------------------------------*/

header a{
	display: block;
	text-decoration: none;
}
.head_inner{ padding: 30px; }
.head_logo{
	float: left;
	width: 280px;
}
.official_link{
	background: #004986;
	color: #fff;
	border: 1px solid #cdcdcd;
	padding: 7px 10px;
	font-size: 1.1rem;
	letter-spacing: 1px;
}
.official_link:hover{
	background: #82d8ca;
	color: #111;
	border-color: #111;
}

@media print, screen and (min-width: 769px) {

	.head_official{
		float: right;
		margin-left: 20px;
	}
	.head_tel{
		float: right;
		width: 230px;
	}
	#sd{
		border-top: 1px solid #222;
		border-bottom: 1px solid #222;
	}
	#sd ul{
		border-left: 1px solid #222;
		width: 100%;
		max-width: 1160px;
		box-sizing: border-box;
		margin-left: auto;
		margin-right: auto;
	}
	#sd li{
		float: left;
		border-right: 1px solid #222;
		box-sizing: border-box;
	}
	#sd li:nth-child(odd){ width: 14.32%; }
	#sd li:nth-child(even){ width: 14.23%; }
	#sd li img{ width: 100%; }
	#sd li:last-child{
		background: #82d8ca;
	}
	#sd li a{ transition: background-color 0.6s ease-out; }
	#sd li a:hover{
		color: #fff;
		background: #222;
		transition: background-color 0.6s ease-out;
	}

}/*END*/

@media print, screen and (min-width: 769px) and ( max-width: 1019px) {

	.head_inner{ padding: 30px 2%; }
	.head_logo{ width: 28%; }
	.head_tel{ width: 23%; }
	.head_official.official_link{
		padding: 5px 8px;
		margin-left: 15px;
	}

}/*END*/

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

	.head_inner{ padding: 15px 3% 15px 4%; }
	.head_logo{
		padding-top: 10px;
		width: 80%;
		max-width: 280px;
	}
	.sd-trigger{
		float: right;
		position: relative;
		width: 54px;
		height: 45px;
		background: #82d8ca;
		cursor: pointer;
	}
	.sd-trigger span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 1px;
		width: 28px;
		background-color: #fff;
	}
	.sd-trigger span:nth-of-type(1) { top: 14px; left: 13px; }
	.sd-trigger span:nth-of-type(2) { top: 22px; left: 13px; }
	.sd-trigger span:nth-of-type(3) { top: 30px; left: 13px; }
	#sd{ box-sizing: border-box; }
	#sd ul{ margin-bottom: 20px; }
	#sd li{ position: relative; }
	#sd li a{
		display: block;
		text-decoration: none;
		border-bottom: 1px solid #444;
		text-align: center;
	}
	#sd li a:hover{
		color: #fff;
		background: #222;
		transition: background-color 0.6s ease-out;
	}
	#sd li img{ width: 76%; }

}/*END*/

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

	.head_logo{
		padding-top: 6px;
		width: 260px;
	}
	.sd-trigger{
		float: right;
		position: relative;
		width: 54px;
		height: 45px;
	}

}/*END*/


/*----------------------------------------
	共通
----------------------------------------*/
#conainer{ overflow: hidden; }
.respon,.max560{ width: 100%; }
li{ list-style:none; }
.center{ text-align:center; }
.left{ float:left; }
.right{ float:right; }
.op:hover{
	filter: alpha(opacity=60);
	-moz-opacity:060;
	opacity:0.60;
}
.max560{
	max-width: 560px;}
main{overflow: hidden;}
@media print, screen and (min-width: 599px) {
.tb_center{ text-align:center; }
	.sp_only{ display: none; }

}/*END*/
@media print, screen and (min-width: 768px){

}/*END*/
@media screen and (max-width: 599px){
	.pc_only{ display: none; }


}/*END*/

@media screen and (max-width: 479px){
	.max560{width: 80%;}


	.left,
	.right{
		float: none;
	}

}/*END*/


/*----------------------------------------
	MV
----------------------------------------*/
/*
.mv{
	background: url("../images/mv_bg.jpg") center top no-repeat;
	background-size: 100%;
	text-align: center;
	box-sizing: border-box;
	padding: 12% 4%;
}
.mv_ttl{
	width: 55%;
}

@media print, screen and (min-width: 1070px){
.mv{
	padding: 15% 4%;
}
.mv_ttl{
	width: 46%;
}
}/*END*/
@media screen and (max-width: 479px){



}/*END*/
*/

/*----------------------------------------
	intro
----------------------------------------*/

.point{
	margin-left: -2%;
	padding-top: 25px;
	padding-bottom: 15px;
}


.point li{
	float: left;
	width : calc(100% / 3) ;
	box-sizing: border-box;
	padding-bottom: 10px;
	position: relative;
}
.point li:before{
	content: "";
	width: 1px;
    height: 80%;
	top: 10%;
	position: absolute;
	right: 0;
	background: url("../images/br.png");
}

.point li:last-child:before{
	content: "";
	background:none;
}


.obi_bg{
	background: url("../images/poitbk.jpg");
	text-align: center;
}


@media screen and (max-width: 599px){
	.point li:before{
	content: "";
	background:none;
}

	.point li{
		width : 80%;
		margin: 0 auto;
		float: none;
		padding-left: 4%;
		padding-right: 0%;
	}
	.point li:nth-of-type(1),
	.point li:nth-of-type(2){
		border-bottom: 1px dotted #501a1a;
	}
	.point li:nth-of-type(3n){
	clear: both;
	}


}/*END*/





/*----------------------------------------
	abaut
----------------------------------------*/

.rela{
	position: relative;
}
#about{
	background-image: url("../images/line_bk.jpg");
}
#about .inner_frame{
	position: relative;
}
.ttl_img img{
	max-width: 520px;
}
.intro_ttl img{
	max-width: 550px;
}
@media screen and (min-width: 780px){
#about .icon1,#about .icon2{
	position: absolute;
}
	#about .icon1{
		top: 20%;
		left: 0%;
		width: 8.695%
	}
	#about .icon2{
		width: 16.521%;
		top: 0%;
		right: 0%;
	}
}/*----------------END--------------*/
@media screen and (min-width: 1060px){
.img_l,.img_r{
	width: 106%;
	}
	.img_l{
		margin-left: -6%;
	}
	.img_r{margin-right: -6%;}
}/*----------------END--------------*/
@media screen and (max-width: 768px){
	
	#about .icon1,#about .icon2{
	position: absolute;
	width: 20%;
}
	#about .icon1{
		top: 4%;
		left: 1%;
		width: 10%;
	}
	#about .icon2{
		top: 0%;
		right: 0%;
	}
}/*----------------END--------------*/
/*----------------------------------------
	location
----------------------------------------*/

.sabu_frame{
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
}
.loc_bk{
	background-image: url("../images/sand_bk.jpg");
	background-size: cover;
	background-repeat: repeat;
}

#location .inner_frame{
	position: relative;
}
.location_flex{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 3%;
}
.location_flex li{
	width: 22%;
	margin-bottom: 50px;
	text-align: center;
}
.loc_ttl img{
	max-width: 300px;
}
.genchi img{
	max-width: 250px;
}
@media screen and (min-width: 769px){
	#location .icon1,#location .icon2{
	position: absolute;
}
	#location .icon1{
		width: 13.478%;
		top: -6%;
		left: 5%;
	}
	#location .icon2{
		width: 8.782%;
		top: 5%;
		right: 3%;
	}

}/*----------------END--------------*/


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

	#location .icon1,#location .icon2{
	width: 10%;
		position: absolute;
}
	#location .icon1{
		position: absolute;
		top: -1%;
		left: 0%;
	}
	#location .icon2{
		position: absolute;
		top: 3%;
		right: 0%;
	}
}
@media screen and (max-width: 599px){
	.genchi{
		width: 50%;
		margin-left: auto;
		margin-right: auto;
	}

	.location_flex li{
		width: 45%;
		margin-bottom: 20px;
		text-align: left;
	}

}
/*----------------END--------------*/







/*----------------------------------------
	landplan
----------------------------------------*/
#landplan{background-image: url("../images/line_bk.jpg");}

#landplan .inner_frame{
	position: relative;
}

@media screen and (min-width: 480px){
	.box_r60{
		width: 50%;
		float: right;
	}
	.box_l40{
		width: 48%;
		float: left;
	}
}
@media screen and (min-width: 769px){
	
	#landplan .icon1,#landplan .icon2{
	position: absolute;
}
	#landplan .icon1{
		width: 8.956%;
		top: 0%;
		left: 3%;
	}
	#landplan .icon2{
		width: 9.391%;
		top: 25%;
		right: 0%;
	}

}/*----------------END--------------*/
@media screen and (max-width: 768px){
	#landplan .icon1,#landplan .icon2{
	width: 10%;
		position: absolute;
}
	
	#landplan .icon1{
		top: 6%;
		left: 1%;
	}
	#landplan .icon2{
		top: 10%;
		right: 2%;
	}
}/*----------------END--------------*/

/*----------------------------------------
	access
----------------------------------------*/
.access_bk{
	background-image: url("../images/sand_bk.jpg");
}







/*----------------------------------------
	outline
----------------------------------------*/

table{
	width: 100%;
	line-height: 2;
}
th,
td{
	padding: 26px 2%;
	border-bottom: 1px solid #ccc;
	text-align: left;
}
th{
	color: #b55b47;
	width: 10em;
}
.no_border{ border-bottom: none; }

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

	.outline .box_l,
	.outline .box_r{
		float: none;
		width: 100%;
	}
	th,
	td{
		padding: 16px 2%;
	}

}/*END*/

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

	th,
	td{
		display: block;
		width: 100%;
		box-sizing: border-box;
	}
	th{
		border-bottom: none;
		padding: 10px 2% 0 2%;
	}
	td{ padding: 0 2% 10px 2%; }

}/*END*/


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

.bnr_contact{
	display: block;
	max-width: 360px;
	width: 31.03%;
	margin: 110px auto 120px auto;
}
footer{ border-top: 1px solid #adb5bd; }
footer a{
	display: block;
	color: inherit;
	text-decoration: none;
}
.foot_l p{
	line-height: 1.5;
	font-size: 1.2rem;
	color: #999;
	margin-bottom: 15px;
}
.foot_official{ display: inline-block; }
.foot_r a{ color: #333; }
.copyright{
	background: #1e457d;
	text-align: center;
	color: #fff;
	font-size: 1rem;
	padding-top: 15px;
	padding-bottom: 15px;
}

@media print, screen and (min-width: 769px){

	footer .inner_frame{
		padding-top: 50px;
		padding-bottom: 50px;
	}
	.foot_l{
		float: left;
		width: 49.13%;
	}
	.foot_r{
		float: right;
		width: 49%;
		font-size: 1.3rem;
	}
	.foot_logo{
		float: left;
		width: 41.05%;
		margin-bottom: 15px;
	}
	.foot_tel{
		float: left;
		width: 49.12%;
		margin-left: 2.63%;
		padding-top: 5px;
		margin-bottom: 15px;
	}
	.foot_r li{
		float: left;
		margin-right: 3%;
		margin-bottom: 25px;
	}
	.foot_r li a:before{ content: "・"; }
	.foot_r li a:hover{ color: #35b29e; }

}/*END*/

@media print, screen and (min-width: 769px) and ( max-width: 1119px) {

	.bnr_contact{ margin: 80px auto 90px auto; }

}/*END*/

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

	.bnr_contact{
		margin: 40px auto 50px auto;
		width: 280px;
	}
	footer .inner_frame{
		padding-right: 0;
		padding-left: 0;
	}
	.foot_l{
		text-align: center;
		margin: 25px auto;
	}
	.foot_logo{
		width: 20%;
		margin-right: auto;
		margin-left: auto;
		margin-bottom: 20px;
	}
	.foot_tel{
		width: 45%;
		margin-bottom: 15px;
	}
	.foot_l p{ margin-bottom: 20px; }
	.official_link.foot_official{
		padding: 15px 25px;
		font-size: 1.2rem;
	}
	.foot_r a{
		padding: 15px 4%;
		text-align: center;
		border-bottom: 1px solid #adb5bd;
		font-size: 1.2rem;
	}

}/*END*/

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

	.bnr_contact{
		margin: 25px auto;
		width: 240px;
	}
	.foot_logo{ width: 35%; }
	.foot_tel{ width: 70%; }

}/*END*/






.list_two,
.list_three,
.list_four{
	margin-left: -1.85%;
}

.list_two li,
.list_three li,
.list_four li{
	position: relative;
	float: left;
	box-sizing: border-box;
	margin-left: 1.85%;
}

.list_two li a,
.list_three li a,
.list_four li a{
	text-decoration: none;
}
.list_four li{
	width: 23.14%;
	margin-bottom: 20px;
}
.list_three li{
	width: 31.48%;
	margin-bottom: 40px;
}
.list_two li{
	width: 48.15%;
	margin-bottom: 50px;
}



@media print, screen and (min-width: 769px) {

	.list_three li:nth-child(3n+1),
	.list_four li:nth-child(4n+1){ clear: both; }

}/*END*/

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

	.box_l,
	.box_r{
		float: none;
		width: 100%;
	}
	.box_l60,.box_r40,.box_r60,.box_l40,.box_l50,.box_r50{
		float: none;
		width: 100%;
	}



	.list_four{ margin-left: -4%; }
	.list_four li{
		width: 46%;
		margin-bottom: 20px;
		margin-left: 4%;
	}
	.list_four li:nth-child(2n+1){ clear: both; }

	.list_three{
		margin-left:0;
	}
	.list_three li{
		float: none;
		width: 100%;
		margin-left:0;
	}

	.list_two li{
		width: 46%;
	}


}/*END*/

