

/*------------------------------------------------------------------------------
Css name: common.css
Css info: 共通スタイル
------------------------------------------------------------------------------*/
@charset "UTF-8";
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 100;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 200;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 300;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}
@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 100;
}
@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 200;
}
/*------------------------------------------------------------------------
基本
--------------------------------------------------------------------------*/
*{
	margin: 0px;
	padding: 0px;
	box-sizing: border-box;
}

html{
	box-sizing: border-box;
	overflow-y: scroll;
	font-size: 62.5%;
	-webkit-text-size-adjust: 100%;
}

body{
	height:100%;
	width:100%;
	margin:0;
	padding:0px;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, "Yu Gothic", YuGothic, "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-feature-settings: "pkna";
	font-weight: 400;
	font-style:normal;
	color:#464646;
	font-size:1.6em;
	letter-spacing: 0.01em;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
	display: block;
}

p{
	line-height:2;
}

table, th, td, th {
	border-collapse: collapse;
	border-spacing: 0;
	font-weight: normal;
	font-size:1em;
}

table,div,ol,ul,dl,dt,dd{
	margin:0px;
	padding:0px;
}
li{
	list-style: none;
}

textarea,input{
	font-size:1em;
}

h1,h2,h3,h4,h5,h6,small{		/* 題名 */
	font-size:100%;
	line-height:100%;
	margin:0px;
	padding:0px;
}

img,table {		/* イメージ・テーブル線消し */
	border:none;
}

img{		/* Strict時の画像下のスキマを埋める(Firefox) */
	vertical-align: bottom;
}

a{		/* テキストリンク */
	color:#464646;
	text-decoration:none;
	background-color: transparent;
	-webkit-text-decoration-skip: objects;
	transition: .3s;
}
a:active,
a:hover{		/* テキストリンク */
	color:#464646;
	text-decoration:none;
	outline:none;
}

a:hover img{
	transition: .3s;
}
a:hover img{		/* 画像リンク */
	opacity:0.8;
	filter: alpha(opacity=80);
}
.link_u_line{
	padding-bottom: 2px;
	border-bottom: 1px dotted #333;
}
.link_u_line:hover{
	border-bottom: none;
} 

.nw{
	background: url(../img/common/nw_bk.png) right center no-repeat;
	padding-right: 14px;
	margin-right: 4px;
}

/* 回り込みの解除 */
.cf:after {
	content:" ";
	display:block;
	clear:both;
}

/* テキスト反転 */
::-moz-selection {
	background-color: #d5f2d0;
	color: #464646;
	text-shadow: #fff;
}

::selection {
	background-color: #d5f2d0;
	color: #464646;
	text-shadow: #fff;
}


.mobi_o{
	display: none;
}
@media only screen and (max-width: 600px) {
	body{	
	}
	p{
		line-height: 1.6;
	}
	img{
		max-width: 100%;
		height: auto;
	}
	.mobi_o{
		display: block;
	}
}
/*------------------------------------------------------------------------
レイアウト 
--------------------------------------------------------------------------*/
.wrapper{

}
@media only screen and (max-width: 600px) {
}
/*------------------------------------------------------------------------
header
--------------------------------------------------------------------------*/
.header {
	width: 100%;
	max-width: 1800px;
	min-height: 100px;
	padding-top: 36px;
	background-color: rgba(255,255,255,0.7);
	margin: 0 auto;
}
.logo{
	float: left;
	margin: 0 0 20px 30px;
}
.index .logo{
	margin-top: 5px;
}
.gNav{
	float: right;
	margin: 0 30px 0 0;
}
	.gNav li{
		float: left;
		margin-left: 30px;
		padding-bottom: 10px;
	}
		.gNav li a{
			display: block;
			line-height: 2;
			position: relative;
			transition: .2s;
		}
		.gNav li a::after {
			position: absolute;
			top: 32px;
			left: 50%;
			content: '';
			width: 0;
			height: 4px;
			background-color: #eb5e69;
			border-radius: 1px;
			transition: .3s;
			-webkit-transform: translateX(-50%);
			transform: translateX(-50%);
		}
		.gNav li a:hover::after {
			width: 100%;
		}

@media only screen and (max-width: 600px) {
	.header {
		max-width: 100%;
		min-height: auto;
		padding-top: 20px;
	}
	.logo{
		float: none;
		margin: 0 0 20px 3%;
	}
		.logo img{
			width: 70%;
			max-width: 282px;
		}
	.gNav{
		display: none;
	}
}


/*------------------------------------------------------------------------
main
--------------------------------------------------------------------------*/
.page_tit{
	max-width: 1800px;
	margin: 0 auto 20px;
	font-family: Georgia, "Yu Mincho", YuMincho,"Hiragino Mincho ProN" ,HGS明朝E ,serif;
	font-weight: bold;
	font-size: 1.75em;/*28pt*/
	text-align: center;
	padding: 18px 0;
	letter-spacing: 0.05em;
	border: 30px solid #fad7d9;
}
.pan{
	max-width: 1800px;
	margin: 0 auto 60px;
}
	.pan li{
		display: inline-block;
		font-size: 0.875em;/*14px*/
	}
	.pan li:first-child{
		margin-left: 30px;
	}
		.pan li + li::before{
			display: inline-block;
			content: ">";
			margin: 0 6px;
		}

.h2_box{
	width: 900px;
	max-width: 90%;
	margin: 0 auto 100px;
}
.content_title{
	font-family: Georgia, "Yu Mincho", YuMincho,"Hiragino Mincho ProN" ,HGS明朝E ,serif;
	font-weight: bold;
	font-size: 1.5em;/*24pt*/	
	line-height: 1.4;
	letter-spacing: 0.06em;
	color: #eb5e69;
	margin-bottom: 40px;
}
.h3_box{
	width: 100%;
	margin: 0 auto 60px;	
}
.dit_title{ /* h3 */
	font-size:1.125em;/*18pt*/
	line-height: 1.4;
	color: #f2959c;
	margin-bottom: 20px;
}

.h4_title{
	margin: 24px 0 18px;
	padding-left: 8px;
	font-size:1.6rem;
	line-height: 1.4;
	border-left: 4px solid #eb5e69;
}
.list_vertical{ /* 説明リスト 縦 */
}
	.list_vertical dt{
		font-weight: bold;
		color: #eb5e69;
	}
	.list_vertical dd{
		position: relative;
		padding-left: 1em;
		line-height: 2;
		margin-top: 8px;
	}
	.list_vertical dd::before{
		content: "";
		position: absolute;
		top: 13px;
		left: 2px;
		
		width: 4px;
		height: 4px;
		background: #464646;
		border-radius: 50%;
	}
	.list_vertical dd + dt{
		margin-top: 1em;
	}

@media only screen and (max-width: 600px) {
	.page_tit{
		max-width: 100%;
		margin: 0 auto 20px;
		font-size: 1.625em;/*26pt*/
		border: 20px solid #fad7d9;
	}
	.pan{
		max-width: 100%;
		margin: 0 auto 40px;
	}
		.pan li:first-child{
			margin-left: 5%;
		}
	
	.h2_box{
		width: 90%;
		margin: 0 auto 60px;
	}
	.content_title{
		font-size: 1.375em;/*22pt*/	
		margin-bottom: 30px;
	}
	.h3_box{
		margin: 0 auto 40px;	
	}
		.list_vertical dd{
			line-height: 1.6;
		}
		.list_vertical dd::before{
			top: 9px;
		}
}

/*------------------------------------------------------------------------
footer
--------------------------------------------------------------------------*/
.footer{
	position: relative;
	background: #eae1be;
	padding-top: 50px;
	max-width: 1800px;
	margin: 0 auto;
}

.footer_logo{
	margin: 0 0 20px 30px;
	float: left
}
.footer_Nav{
	float: right;
	margin: 10px 30px 30px 0;
	text-align: right;
}
	.footer_Nav li{
		display: inline-block;
		margin: 0 0 20px 30px;
		font-size: 0.875em;/*14px*/
	}
	.footer_Nav li a{
		padding-bottom: 2px;
		border-bottom: 1px dotted #333;
	}
	.footer_Nav li a:hover{
		border-bottom: none;
	}
.sns_link{
	clear: both;
	width: 100%;
	text-align: center;
	padding: 30px 0;
	border-top: 1px solid #fff;
}
	.sns_link li{
		display: inline-block;
		margin: 0 15px;
	}
		.sns_link li span{
			display: inline-block;
			font-size: 0.875em;/*14px*/
			line-height: 36px;
			margin-left: 6px;
			border-bottom: 1px dotted #333;
		}
			.sns_link li span:hover{
				border: none;
			}
.subsidy_link{
	display: flex;
	justify-content: center;
	align-items: center;
	
	width: 100%;
	padding: 30px 5%;
	border-top: 1px solid #fff;
}
	.subsidy_link li{
		margin: 0 15px;
	}
	.subsidy_link li img{
		max-width: 100%;
		height: auto;
	}
	
.copyright{
	clear: both;
	background: #fff;
	font-size: 0.75em;/*12pt*/
	text-align: center;
	padding: 20px 0;
}

.back_top{
	position: absolute;
	right: 30px;
	top:-25px;
	display: block;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: #f5afb4;
	border: 2px solid #fff;
	
}
	.back_top img{
		display: block;
		margin: 12px auto 0;
	}



@media only screen and (max-width: 880px) {
	.subsidy_link{
		justify-content: center;
		flex-wrap: wrap;
		
		padding: 16px 2% 30px;
	}
		.subsidy_link li{
			width: 30%;
			margin: 14px calc( 10% / 6 ) 0;
			text-align: center
		}	
}
@media only screen and (max-width: 600px) {
	.footer{
		padding-top: 40px;
	}
	
	.footer_logo{
		margin: 0 0 30px 5%;
		float: none;
	}
	.footer_Nav{
		float: none;
		margin: 0 0 0 5%;
		text-align: left;
	}
		.footer_Nav li{
			display: block;
			margin: 0 0 20px 0;
		}
		
	.sns_link{
		clear: both;
		text-align: left;
		margin:40px 0 0;
		padding: 30px 0 20px;
	}
		.sns_link li{
			display: block;
			margin: 0 5% 20px;
		}
	.subsidy_link{
	}
		.subsidy_link li{
			width: 47%;
			margin: 14px calc( 6% / 4 ) 0;
		}	
	.copyright{
		clear: both;
		background: #fff;
		font-size: 0.75em;/*12pt*/
		text-align: center;
		padding: 20px 0;
	}
	
	.back_top{
		right: 5%;	
	}
}
/*------------------------------------------------------------------------
モバイル用グローバル
--------------------------------------------------------------------------*/
@media only screen and (max-width: 600px) {
	.hamburgler-icon-wrapper {
	  position: absolute;
	  top: 1em;
	  right: 1em;
	  height: 40px;
	  width: 40px;
	  cursor: pointer }
	
	.hamburgler-icon, .hamburgler-icon:before, .hamburgler-icon:after {
	  content: '';
	  position: absolute;
	  border-radius: 2px;
	  height: 4px;
	  width: 40px;
	  background: #eb5e69;
	  transition: all 0.2s ease }
.hamburgler-icon        { top: 1.15em  }
.hamburgler-icon:before { top: -0.8em }
.hamburgler-icon:after  { top: 0.8em  }
	.hamburgler-active .hamburgler-icon { background: transparent; transform: rotate(-135deg) }
	.hamburgler-active .hamburgler-icon:before, .hamburgler-active .hamburgler-icon:after { top: 0 }
	.hamburgler-active .hamburgler-icon:before { transform: rotate(90deg) }
	.hamburgler-active .hamburgler-icon, .hamburgler-active .hamburgler-icon:before, .hamburgler-active .hamburgler-icon:after {
	  background: #eb5e69 }
	
	.hamburgler-menu {
	  transition: all 0.4s ease; 
	  opacity: 0;
	  pointer-events: none;
	  position: absolute;
	  top: 0;
	  right: 0;
	  bottom: 0;
	  left: 0;
	  background-color: rgba(255,255,255,0.9);
	  color: white;
	  text-align: left;
	  padding: 0 20%;
	  min-height: 100vh;
	  overflow-y: scroll;
	 }
	.hamburgler-active .hamburgler-menu {
	  opacity: 1;
	  pointer-events: initial; }
	.hamburgler-menu-list {
	  display: block;
	  transition: all 0.4s ease; 
	  padding: 0;
	  list-style-type: none;
	  position: absolute;
	  top: 50%;
	  left: 50%;
	  transform: translate(-50%, -50%) scale(1.2) }
	.hamburgler-active .hamburgler-menu-list {
	  transform: translate(-50%, -50%) scale(1) }
	  
 }
 .mobi_g_nav{
	 margin: 40px auto;
	 color: #ccc;
	 border-top: 1px solid #333;
 }
 .mobi_g_nav li{
	 border-bottom: 1px solid #333;
 }
  .mobi_g_nav li.gNav_v01{
	  border-bottom: 1px dotted #ccc;
  }
  .mobi_g_nav li.gNav_sub{
  }
 	.mobi_g_nav li a{
	 	display: block;
	 	width: 100%;
	 	height: 100%;
	 	padding: 16px 1em;
 	}
 	.mobi_g_nav li.gNav_sub a{
		padding: 14px 1em 14px 2em;
	}