@charset "UTF-8";

/*============================================================================================
      General
=============================================================================================*/
/*    Fonts
=====================================================*/
.g_yugo{
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
.g_mPlusRounded{
	font-family: 'M PLUS Rounded 1c', sans-serif;
}

/*    Section
=====================================================*/
.g_sec{
	padding: 70px 0 0;
	background-color: #fff;
}
.g_sec__last{
	padding: 70px 0 95px;
	background-color: #fff
}
@media (max-width: 576px){
	.g_sec{
		padding: 18.6vw 0 0;
	}
	.g_sec__last{
		padding: 18.6vw 0 26.6vw;
	}
}

/*    Heading
=====================================================*/
.g_head{
	color: #107E78;
	font-size: 3rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
	margin-bottom: 0.8em;
}
.g_subhead,
.g_subhead_line{
	color: #107E78;
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 0.8em;
}
.g_subhead_line{
	padding-bottom: 0.5em;
	border-bottom: 4px solid #107E78;
}
@media (max-width:767px){}
@media (max-width: 576px){
}

/*    Button - Text
=====================================================*/
.g_txt{
	font-size: 1.5rem;
}
.g_txt_lg{
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 2;
}

/*    Button - basic -
=====================================================*/
.g_btn,
.g_btn_grn,
.g_btn_aot,
.g_btn_red{
	display: block;
	transition: background .2s, color .2s;
	-webkit-transition: background .2s, color .2s;
	color: #107E78;
	font-size: 1.5rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.7;
	background-color: #fff;
	border: 2px solid #107E78;
	border-radius: 8px;
	position: relative;
	width: 255px;
}
.g_btn:hover{
	background-color: #107E78;
	color: #fff;
}
.g_btn a,
.g_btn_grn a,
.g_btn_aot a,
.g_btn_red a{
	padding: 20px 40px 18px 20px;
	display: block;
}
.g_btn::after,
.g_btn_grn::after,
.g_btn_red::after{
	content: '';
	width: 7px;
	height: 7px;
	display: block;
	border-top: 2px solid #107E78;
	border-right: 2px solid #107E78;
	transform: rotate(45deg);
	transform-origin: center;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 10px;
	margin: auto;
	-webkit-transition: border .2s;
	transition: border .2s;
	pointer-events: none;
}
.g_btn:hover::after{
	border-color: #fff;
}

/* Green */
.g_btn_grn{
	color: #fff;
	background-color: #107E78;
}
.g_btn_grn:hover{
	background-color: #fff;
	color: #107E78;
}
.g_btn_grn::after{
	border-color: #fff;
}
.g_btn_grn:hover::after{
	border-color: #107E78;
}

/* Red */
.g_btn_red{
	color: #DE0023;
	background-color: #fff;
	border: 2px solid #DE0023;
}
.g_btn_red:hover{
	background-color: #DE0023;
	color: #fff;
}
.g_btn_red::after{
	border-color: #DE0023;
}
.g_btn_red:hover::after{
	border-color: #fff;
}

/* Anoter tab */
.g_btn_aot{
	color: #222;
	background-color: #FAFAFA;
	border: 2px solid #eee;
}
.g_btn_aot:hover{
	background-color: #DE0023;
	color: #fff;
}
.g_btn_aot::after{
	content: "";
	width: 12px;
	height: 12px;
  margin: auto;
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 100% auto;
	background-image: url(../img/ic_tab_red.png);
	-webkit-transition: background .2s;
	transition: background .2s;
  position: absolute;
	top: 0;
	bottom: 0;
	right: 10px;
	margin: auto;
	pointer-events: none;
}
.g_btn_aot:hover::after{
	background-image: url(../img/ic_tab_wh.png);
}
@media (max-width:767px){}
@media (max-width: 576px){
	.g_btn,
	.g_btn_grn,
	.g_btn_aot,
	.g_btn_red{
		width: 100%;
	}
}

/*    Decoration
=====================================================*/
.g_bold{
	font-weight: bold;
}
.g_color{
	color: #107E78;
}

/*    Pagetop
=====================================================*/
.g_tel{
	color: #fff;
	font-size: 2.2rem;
	font-weight: bold;
	text-align: center;
	background-color: #107E78;
	border-radius: 8px;
}
.g_tel a{
	display: block;
	padding: 20px 0 18px;
}

/*    Pagetop
=====================================================*/
.g_pagetop{
	position: fixed;
	width: 40px;
	height: 40px;
	bottom: 40px;
	right: 30px;
	-webkit-transition: opacity 1s, visibility 0s, ease 1s;
	transition: opacity 1s, visibility 0s, ease 1s;
	opacity: 0;
	visibility: hidden;
	z-index: 200;
}
.g_pagetop img{
	width: 100%;
	-webkit-transition: opacity 0.4s;
	transition: opacity 0.4s;
}
.g_pagetop.js_show{
	opacity: 1;
	visibility: visible;
}
.g_pagetop:hover img{
	opacity: .5;
}
