@charset "UTF-8";
/* CSS Document */


body,
html{
	overflow:auto;
}

#gNavi {
	float: left;
}

body {
	font-family: 'Noto Serif JP', serif;
	width: 100%;
	color: #333333;
	font-size: 13px;
	line-height: 1;
	text-align: left;
	font-weight: 100;
}

h2 {
	font-size: 20px;
}

.f-l {
	font-weight: lighter;
}

.wrap {
	width: 100%;
	height: auto;
	text-align: center;
	background-color: #FFF;
}

.inner {
	height: auto;
	margin-left: auto;
	margin-right: auto;
	width: 85vw;
	max-width: 1100px;
}

/***************************************
背景色
***************************************/
.bg_y {
	background-color: #f9f6f2;/*背景色イエロー*/
}

.bg_w {
	background-color: #FFF;
}

.bg_g {
		background-color: #70ac8c;/*グリーン*/
}

.bg_rg {
		background-color: #d8db7d;/*ライトグリーン*/
}

/***************************************
背景色　END
***************************************/

/***************************************
テキスト
***************************************/

.txt-w {
	color: #FFF;
}

.caps-jp {
	font-size: 1.3vw;
}

.l-h_25 {
	line-height: 2.5;
}

/***************************************
テキスト
***************************************/

/***************************************
ボーダーボックス
***************************************/
.borderbox_wrap {
	width: 100%;
	height: auto;
	position: relative;
	padding-bottom: 4.9%;
	padding-top: 5.636%;
	letter-spacing: 1px;
	font-size: 16px;
}

.borderbox_caps {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateY(-52%) translateX(-50%);
  	-webkit- transform: translateY(-52%) translateX(-50%);
	height: 44px;
	width: 40%;
	max-width: 300px;
	border-radius: 100vh;
}

.borderbox_caps-txt {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
  	-webkit- transform: translateY(-50%) translateX(-50%);
	font-size: 18px;
	letter-spacing: 2px;
}

.box_color-g {
	border: solid 2px #70ac8c;/*ボーダーカラーグリーン*/
}


.box_color-rg {
	border: solid 2px #d8db7d;/*ボーダーカラーライトグリーン*/
}

/***************************************
ボーダーボックス　END
***************************************/

/***************************************
共通マージン
***************************************/
.mb10 {
	margin-bottom: 10px!important;
}
.mb20 {
	margin-bottom: 20px!important;
}
.mb30 {
	margin-bottom: 30px!important;
}
.mb40 {
	margin-bottom: 40px!important;
}
.mb50 {
	margin-bottom: 50px!important;
}
.mb60 {
	margin-bottom: 60px!important;
}
.mb70 {
	margin-bottom: 70px!important;
}
.mb80 {
	margin-bottom: 80px!important;
}
.mb90 {
	margin-bottom: 90px!important;
}
.mb100 {
	margin-bottom: 100px!important;
}
.mb110 {
	margin-bottom: 110px!important;
}
.mb120 {
	margin-bottom: 120px!important;
}
.mb130 {
	margin-bottom: 130px!important;
}

.mbf10 {
	margin-bottom: 0.9%!important;
}
.mbf20 {
	margin-bottom: 1.8%x!important;
}

.mbf25 {
	margin-bottom: 2.27%x!important;
}
.mbf30 {
	margin-bottom: 2.7%!important;
}
.mbf40 {
	margin-bottom: 3.63%!important;
}
.mbf50 {
	margin-bottom: 4.54%!important;
}
.mbf60 {
	margin-bottom: 5.45%!important;
}
.mbf70 {
	margin-bottom: 6.363%!important;
}
.mbf80 {
	margin-bottom: 7.27%!important;
}
.mbf90 {
	margin-bottom: 8.18%!important;
}
.mbf100 {
	margin-bottom: 9.09%!important;
}
.mbf110 {
	margin-bottom: 10%!important;
}
.mbf120 {
	margin-bottom: 10.9%!important;
}
.mbf130 {
	margin-bottom: 11.8%!important;
}




.mt10 {
	margin-top: 10px!important;
}
.mt20 {
	margin-top: 20px!important;
}
.mt30 {
	margin-top: 30px!important;
}
.mt40 {
	margin-top: 40px!important;
}
.mt50 {
	margin-top: 50px!important;
}
.mt60 {
	margin-top: 60px!important;
}
.mt70 {
	margin-top: 70px!important;
}
.mt80 {
	margin-top: 80px!important;
}
.mt90 {
	margin-top: 90px!important;
}
.mt100 {
	margin-top: 100px!important;
}
.tb110 {
	margin-top: 110px!important;
}

.mt130 {
	margin-top: 130px!important;
}


.mtf10 {
	margin-top: 0.9%!important;
}
.mtf20 {
	margin-top: 1.8%x!important;
}
.mtf30 {
	margin-top: 2.7%!important;
}
.mtf40 {
	margin-top: 3.63%!important;
}
.mtf50 {
	margin-top: 4.54%!important;
}
.mtf60 {
	margin-top: 5.45%!important;
}
.mtf70 {
	margin-top: 6.363%!important;
}
.mtf80 {
	margin-top: 7.27%!important;
}
.mtf90 {
	margin-top: 8.18%!important;
}
.mtf100 {
	margin-top: 9.09%!important;
}
.mtf110 {
	margin-top: 10%!important;
}
.mtf120 {
	margin-top: 10.9%!important;
}
.mtf130 {
	margin-top: 11.8%!important;
}


/***************************************
共通マージン END
***************************************/



/***************************************
共通パディング
***************************************/

.pb10 {
	padding-bottom: 10px;
}
.pb20 {
	padding-bottom: 20px;
}
.pb30 {
	padding-bottom: 30px;
}
.pb40 {
	padding-bottom: 40px;
}
.pb50 {
	padding-bottom: 50px;
}
.pb60 {
	padding-bottom: 60px;
}
.pb70 {
	padding-bottom: 70px;
}
.pb80 {
	padding-bottom: 80px;
}
.pb90 {
	padding-bottom: 90px;
}
.pb100 {
	padding-bottom: 100px;
}
.pb110 {
	padding-bottom: 110px;
}
.pb120 {
	padding-bottom: 120px;
}
.pb130 {
	padding-bottom: 130px;
}

.pbf10 {
	padding-bottom: 0.9%;
}
.pbf20 {
	padding-bottom: 1.8%;
}
.pbf30 {
	padding-bottom: 2.7%;
}
.pbf40 {
	padding-bottom: 3.63%;
}
.pbf50 {
	padding-bottom: 4.54%;
}
.pbf60 {
	padding-bottom: 5.45%;
}
.pbf70 {
	padding-bottom: 6.363%;
}
.pbf80 {
	padding-bottom: 7.27%;
}
.pbf90 {
	padding-bottom: 8.18%;
}
.pbf100 {
	padding-bottom: 9.09%;
}
.pbf110 {
	padding-bottom: 10%;
}
.pbf120 {
	padding-bottom: 10.9%;
}
.pbf130 {
	padding-bottom: 11.8%;
}




.pt10 {
	padding-top: 10px;
}
.pt20 {
	padding-top: 20px;
}
.pt30 {
	padding-top: 30px;
}
.pt40 {
	padding-top: 40px;
}
.pt50 {
	padding-top: 50px;
}
.pt60 {
	padding-top: 60px;
}
.pt70 {
	padding-top: 70px;
}
.pt80 {
	padding-top: 80px;
}
.pt90 {
	padding-top: 90px;
}
.pt100 {
	padding-top: 100px;
}
.tb110 {
	padding-top: 110px;
}
.pt120 {
	padding-top: 120px;
}
.pt130 {
	padding-top: 130px;
}


.ptf10 {
	padding-top: 0.9%;
}
.ptf20 {
	padding-top: 1.8%;
}
.ptf30 {
	padding-top: 2.7%;
}
.ptf40 {
	padding-top: 3.63%;
}
.ptf50 {
	padding-top: 4.54%;
}
.ptf60 {
	padding-top: 5.45%;
}
.ptf70 {
	padding-top: 6.363%;
}
.ptf80 {
	padding-top: 7.27%;
}
.ptf90 {
	padding-top: 8.18%;
}
.ptf100 {
	padding-top: 9.09%;
}
.ptf110 {
	padding-top: 10%;
}
.ptf120 {
	padding-top: 10.9%;
}
.ptf130 {
	padding-top: 11.8%;
}

/***************************************
共通パディング END
***************************************/
/***************************************
g_navi
***************************************/



.h__gnavi_wrap {
	width: 100%;
	height: 10vh;
	background-color: #FFF;
	position: fixed;
	z-index: 500;
	
}

.h__gnavi_inner_sp{
	display: none;
}

.h__gnavi_inner {
    width: 96%;
	margin-right: auto;
	margin-left: auto;
	display: flex;
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.h__gnavi_list {
	width: 58.898%;
	max-width: 736.2305px;
	margin-right: auto;
	margin-left: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.gnavi_list--item--jp {
	font-size: 11px;
	color: #666;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
	line-height: 3;
	letter-spacing: 2px;
}

.gnavi_list--item--en {
	font-size: 16px;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
	letter-spacing: 2px;
}

.gnavi_list--item--logo {
	width: 78px;
	height: auto;
}

.h__sns_box {
	margin-left: auto;
	display: flex;
	justify-content: space-between;
	width: 5.998%;
	max-width: 74.9842px;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}

.h__sns--fb {
	width: 24px;
	height: 24px;
}

.h__sns--insta {
	width: 24px;
	height: 24px;
}




/***************************************
g_navi END
***************************************/


/***************************************
トップページ　h__ヒーローヘッダー
***************************************/

.h__hero_wrap {
	height: auto;
	width: 100%;
	padding-top: 10vh;
}

.h__hero_inner {
    width: 96%;
    height: auto;
    margin: 0 auto;
	position: relative;
}

.h__slider {
	width: 100%;
	height: auto;
	position: relative;
}

.h__hero {
	width: 100%;
	height: auto;
}

/***************************************
トップページ　h__ヒーローヘッダー END
***************************************/

/***************************************
トップページ以外　h__ヒーローヘッダー
***************************************/

.other__h__hero_wrap {
	height: 50vh;
	width: 100%;
	padding-top: 10vh;
}

.other__h__hero_inner {
    width: 96%;
    height: 100%;
    margin: 0 auto;
	position: relative;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.h__hero_img {
	width: 100%;
	height: 100%;
}

.h__hero_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}


/*.other__h_copy_box {
	width: 85%;
	height: auto;
	margin: 0 auto;	
	position: relative;
}*/

.other_h_copy--txt {
	position: absolute;
	top: 50%;
	left: 10%;
	transform: translateY(-50%);
	height: auto;
}

.other_h_copy--txt p {
	position: absolute;
	bottom: -30%;
    left: 37%;
	color: #FFF;
	font-size: 20px;
}


/***************************************
トップページ以外　h__ヒーローヘッダー END
***************************************/




/***************************************
セクションコンテンツバナー
***************************************/

.content__banner_wrap {
	width: 100%;
	height: auto;
	background-color: #FFF;
}
.content__banner_inner{
	width: 85vw;
	max-width: 1100px;
	height: auto;
	padding: 9.307vh 0;
	margin: 0 auto;
}

.contet__banner_box {
	display: flex;
	justify-content: left;
}



/***************************************
セクションコンテンツバナー　フッター
***************************************/




/***************************************
コンタクト
***************************************/
.contact_title--en {
	width: 42%;
	max-width: 462px;
	height: auto;
	margin: 0 auto;
}


.tel {
	width: 46.727%;
	max-width: 514px;
	margin-right: auto;
	margin-left: 28%;
}

.tel a {
	font-size: 47px;
	position: relative;
	line-height: 1;
	letter-spacing: 0.1em;
}

.tel a::before {
	content: '';
	display: inline-block;
 	width: 41px;
 	height: 41px;
	background-image:url("../images/common/tel_img.png");
 	background-size: contain;
 	vertical-align: middle;
	position: absolute;
	top: 50%;
	left: 0px;	 
	transform: translateY(-40%) translateX(-150%);
  -webkit- transform: translateY(-40%) translateX(-150%);
	
}

.contact_txt_body {
	line-height: 2.5;
	font-size: 16px;
	letter-spacing: 2px;
}

.contact__btn {
	width: 63.077%;
	max-width: 693.8477px;
	height: auto;
	margin-right: auto;
	margin-left: auto;
	color: #FFF;
}

.btn_txt__box {
	margin: 0 auto 0 27.5%;
	width: 26.153vw;
	max-width: 340px;

}

.contact__btn_txt {
	font-size: 27px;
	position: relative;
}

.contact__btn a{
	display: block;
	color: #FFF;
}


.contact__btn_txt::before {
	content: '';
	display: inline-block;
 	width: 30px;
 	height: 22px;
	background-image: url("images/common/mail.png");
 	background-size: contain;
 	vertical-align: middle;
	position: absolute;
	top: 50%;
	left: 0px;	 
	transform: translateY(-40%) translateX(-150%);
  -webkit- transform: translateY(-40%) translateX(-150%);
}

/***************************************
コンタクト END
***************************************/





/***************************************
マップ
***************************************/
.map__title_box {
	max-width:  388px;
	width: 29.887vw;
	height: auto;
	margin-right: auto;
	margin-left: auto;
}



.map__address {
	font-size: 18px;
	line-height: 2em;
}

.map__map_box {
  position: relative;
  width: 100%;
  padding-top: 53%; /* = height ÷ width × 100 */
}
.map__map_box iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/***************************************
マップ END
***************************************/




/***************************************
fi__フィフスセクション　フッター
***************************************/


.fi__navi_logo {
	width: 15vw;
	max-width: 125px;
	height: auto;
}

.fi__navi__inner {
	width: 85vw;
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
/*	flex-wrap: wrap;*/
	justify-content: space-between;
	line-height: 2;
}


.yazirushi::before {
	content: '';
	display: inline-block;
	width: 25px;
	height: 6.4372px;
	background-image:url("../../images/common/yazirushi.png");
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	position: absolute;
	top: 50%;
	left: -5%;
	transform: translateY(-50%) translateX(-60%);
}

.fi__navi_list--child {
	font-size: 12px;
}

.fi__navi_list--item {
	margin-bottom: 1.31%;
	position: relative;
}


.fi__gEnter_wrap {
	width: 100%;
	height: auto;
	background-color: #f2f2f2;
	padding: 4.5vh 0;
}

.fi__gEnter_inner {
	width: 85vw;
	max-width: 1100px;
	margin: 0 auto;
}


.fi__gEnter_list {
	display: flex;
	flex-wrap: wrap!important;
	justify-content: space-between;
}

.fi__gEnter_list::before {
  display: block;
  content:"";
	width: 24vw;
  max-width: 207px;
  order: 1
}

.fi__gEnter_list::after {
  display: block;
  content:"";
	width: 24vw;
  max-width: 207px;
}


.fi__gEnter_list--item {
	width: 24vw;
	max-width: 207px;
	height: auto;
}

.fi__gEnter_list--item a{
	display: block;
}

.fi__gEnter_caps--g {
	width: 134px;
	height: auto;
	margin-bottom: 1.5%;
}

.fi__gEnter_caps--s {
	width: 101px;
	height: auto;
	margin-bottom: 2vh;
}

.fi__gEnter_list {
	margin-bottom: 0.4%;
}

.fi__gEnter_list--item {
	margin-bottom: 1.5%;
}

.fi__cw_box {
	margin-left: auto;
	width: 146px;
	height: auto;
}


.fi__gEnter_list_02 {
    width: 33vw;
    max-width: 431px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}


/***************************************
fi__フィフスセクション　フッター　END
***************************************/
/*ページトップアイコン*/

body {
	position: relative;
}

.floating {
	width: 58px;
	height: auto;
	position: fixed;
	right: 50px;
	z-index: 101;
	opacity:0;
	
}

.floating img {
	width: 100%;
	height: auto;
}


.floating a:hover {
	position: relative;
	top: 1px;
	left: 1px;
}

/***************************************
特大PC対応
***************************************/

@media screen and (min-width: 1301px) {
	
	.borderbox_caps {
		width: 50%;
	}
	
	.other_h_copy--txt {
    	width: 30%!important;
	}
}



/***************************************
モバイル対応　タブレット　
***************************************/

@media screen and (max-width: 959px) {
	
	.h__sns_box {
		width: 8%;
	}	
	
	.h__gnavi_list {
		width: 80%;
	}	
	
	.other__h__hero_wrap {
		height: 30vh;
	}
	
	.btn_txt__box {
		width: auto;
		max-width: initial;
		margin: 0 auto;
	}
	
	.contact__btn {
		width: auto;
		max-width: initial;
		height: auto;
		margin-right: auto;
		margin-left: auto;
		color: #FFF;
	}
	
	.contact__btn_txt {
		font-size: 20px;
	}	
	
	.tel {
		width: auto;
		max-width: initial;
		margin:0 auto 20px;
	}
	
	.fi__gEnter_list {
		flex-wrap: wrap;
		margin-bottom: 30px;
	}
	
	.fi__gEnter_list--item {
		width: 20%;
		max-width: initial;
		height: auto;
		margin-right: 1%;
	}
	
	.fi__gEnter_list--item {
		width: 49%;
		max-width: initial;
		height: auto;
		margin-right: 0;
	}
	
	.fi__navi__inner {
		width: auto;
		max-width: initial;
		padding: 0 20px;
	}
    
    .fi__gEnter_list_02 {
    width: 100%;
    max-width: none;
}

/***************************************
モバイル対応　タブレット END
***************************************/




/***************************************
モバイル対応　SP
***************************************/

@media screen and (max-width: 680px) {
	
	
	.h__hero_wrap {
		padding-top: 130px;
	}	
	
	body.open,
	html.open{
		overflow: hidden;
	}
	
	.h__gnavi_inner_sp .logo{
		width: 20%;
		margin: auto;
	}
	
	.other__h__hero_wrap {
		height: 30vh;
		padding-top: 130px;
	}
	
	.h__gnavi_inner_sp{
		display: block;
		padding: 20px 0 10px;
		position: fixed;
		width: 100%;
		z-index: 500;
		background-color: #FFF;
	}
	
	.h__gnavi_wrap{
		display: none;
	}
	
	.h__gnavi_list{
		display: none;
	}
	
	.h__sns_box{
		display: none;
	}

	.fi__navi__inner {
		display: block;
		padding: 0 20px;
		text-align: center;
	}
	
	.fi__navi_logo {
		width: 50%;
		margin: 0 auto 30px;
	}
	
	.borderbox_caps-txt {
		font-size: 16px;
		letter-spacing: 1px;
	}
	
	.tel a {
		font-size: 40px;
	}
	
	.tel a:before {
		left: 10px;
	}	
	
}

@media screen and (max-width: 559px) {
	
	.other_h_copy--txt {
    	width: 61%!important;
	}
	.other_h_copy--txt p {
   	 font-size: 5vw!important;
	}
	
	.l__title_box--SP {
   		width: 77%!important;
    	margin: 0 auto!important;
	}
	
	.l__title--jp--SP {
    	text-align: center!important;
	}
	
	.contact_title--en {
		width: 80%;
		max-width: initial;
	}
	
	.fi__gEnter_list {
		display: block;
		margin-bottom: 60px;
	}
	
	.fi__gEnter_list--item {
		width: 100%;
		margin-bottom: 20px;
	}
	
	.contact_txt_body {
		font-size: 14px;
		letter-spacing: 1px;
	}
	
	.floating {
		width: 42px;
		height: auto;
		position: fixed;
		right: 15px;
		z-index: 101;
		opacity:0;

	}

	.floating img {
		width: 100%;
		height: auto;
	}


	.floating a:hover {
		position: relative;
		top: 1px;
		left: 1px;
	}

}

/***************************************
モバイル対応　SP　END
***************************************/
