@charset "utf-8";
/*------------------------------------------------------------------------------
Css name: common.css
Css info: 共通スタイル
------------------------------------------------------------------------------*/
@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%;
}

body{
	height:100%;
	width:100%;
	margin:0 auto;
	padding:0px;
	position: relative;
	font-family: -apple-system, BlinkMacSystemFont, "Original Yu Gothic", "Yu Gothic", YuGothic, Meiryo, sans-serif;
	font-feature-setting : "pkna";
	letter-spacing: 0.01em;
	font-weight: 400;
	font-style:normal;	
	color:#333333;
	font-size:1.6rem;
	-ms-word-wrap: break-word;
	word-wrap: break-word;
	-webkit-text-size-adjust: 100%;
}
@media all and (-ms-high-contrast: none)  {
  body {
    font-family: Verdana, Meiryo, sans-serif;
  }
}
@media all and (-ms-high-contrast: active) {
  body {
    font-family: Verdana, Meiryo, sans-serif;
  }
}

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-weight: 400;
	font-size:100%;
	line-height:100%;
	margin:0px;
	padding:0px;
	line-height: 1.4;
}
h1,h2,h3,h4,h5,h6{
	font-feature-settings: "palt";
	letter-spacing: 0.03em;
}
pre { 
	white-space: pre-wrap ;/* 折り返し */
}
img,table {
	border:none;
}

img{
	vertical-align: bottom;
	max-width: 100%;
	height: auto;
}

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

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

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

/* テキスト反転
::-moz-selection {
	background-color: #ffd64b;
	text-shadow: 1px 1px 0px #fff;
}
::selection {
	background-color: #ffd64b;
	text-shadow: 1px 1px 0px #fff;
} */

.mobi_o{ display: none; }

@media only screen and (max-width: 767px) {
	p{
		line-height:1.8;
	}
	.mobi_o{ display: block; }
	.pc_o{ display: none; }
}
/*------------------------------------------------------------------------
グローバルナビ
--------------------------------------------------------------------------*/
.header{
	position: absolute;
	width: 100%;
	line-height: 1;
	z-index: 999;
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.25)
}
.header .inner{
}
@media screen and (max-width: 829px) {  
	.header{
		position: relative;
	}
}
/* ロゴ ------------------------------------*/
.header_logo{
	float: left;
	margin: 20px 0 20px 2%;
}
	.header_logo span{
		display: inline-block;
		margin-left: 1em;
		line-height: 1;
		color: #4d4d4d;
	}
@media screen and (max-width: 829px) {  
	.header_logo{
		margin: 16px 0 16px 4%;
	}
		.header_logo img{
			width: auto;
			height: 28px;
		}
		.header_logo span{
			font-size: 1.4rem;
			margin-left: 0.6em;
		}
}
/* メニュー ------------------------------------*/
	.gNav{
		float: right;
		margin: 32px 3% 0;
	}
	.gNav ul{	
	}
		.gNav ul .page_nav{
			position: relative;
			display: inline-block;
			margin-left: 2em;a
		}
		.gNav ul .page_nav a{
			position: relative;
			display: inline-block;
			text-decoration: none;
			padding-bottom: 4px;
			font-size: 1.8rem;
		}
		.gNav ul .page_nav a::after {
			position: absolute;
			bottom: -10px;
			left: 0;
			content: '';
			width: 100%;
			height: 4px;
			background: #ffcc1e;
			opacity: 0;
			visibility: hidden;
			transition: .3s;
		}
		.gNav ul .page_nav a:hover::after {
			bottom: -6px;
			opacity: 1;
			visibility: visible;
		}

@media screen and (max-width: 829px) {  
	.gNav{
		float: none;
		margin: 0;
	}
	.gNav ul{
		background: transparent;
		text-align: center;
	}
		.gNav ul .page_nav{
			display: block;
			margin: 44px 0;
		}
		.gNav ul .page_nav a{
			transition: .3s;
			line-height: 1.8em;
			padding: 0 0.6em;
		}
			.gNav ul .page_nav a::after {
				content: none;
			}
			.gNav ul .page_nav a:hover{
				background: #ffcc00;
			}
    .gNav{
	    display: block;
	    width: 100%;
	    min-height: 100vh;
		transition: all 0.4s ease; 
		opacity: 0;
		pointer-events: none;
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		color: white;
		text-align: center;
		padding: 30px 10%;
		background: rgba(255, 255, 255, 0.9);
		overflow-y: scroll;
    }

}
/* スライドアニメーション ------------------------------------*/
.open .gNav{
    opacity: 1;
	pointer-events: initial;
}

/* Toggle Button ------------------------------------*/
#nav-toggle {
    display: none;
    position: absolute;
    right: 5px;
    top: 5px;
    width: 51px;
    height: 51px;
    padding: 10.5px 6.5px;
    background: #0f3c64;
    border: 1px solid #fff;
    cursor: pointer;
    z-index: 101; 
}
#nav-toggle div {
    position: relative;
}
#nav-toggle span {
    display: block;
    position: absolute;
    height: 4px;
    width: 100%;
    background: #fff;
    left: 0;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
    top: 0;
}
#nav-toggle span:nth-child(2) {
    top: 11px;
}
#nav-toggle span:nth-child(3) {
    top: 22px;
}
/* #nav-toggle 切り替えアニメーション */
.open #nav-toggle span:nth-child(1) {
    top: 11px;
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    transform: rotate(135deg);
}
.open #nav-toggle span:nth-child(2) {
    width: 0;
    left: 50%;
}
.open #nav-toggle span:nth-child(3) {
    top: 11px;
    -webkit-transform: rotate(-135deg);
    -moz-transform: rotate(-135deg);
    transform: rotate(-135deg);
}
@media screen and (max-width: 829px) {  
    #nav-toggle {
        display: block;
    }
}

/*------------------------------------------------------------------------
コンテンツ
--------------------------------------------------------------------------*/
.main{
	padding-top: 76px;
	background-image: url(../img/common/page_bg_l.png), url(../img/common/page_bg_r.png);
	background-position: left top, right -20px;
	background-repeat: no-repeat;
	background-size: 212px 153px, 447px 326px;
}
@media screen and (max-width: 829px) {  
	.main{
		padding-top: 0;
		background: url(../img/common/page_bg_l.png) -20px -60px no-repeat;
		background-size: 212px 153px;
	}
}
.pan{ /* パンくずリスト */
	width: 1166px;
	max-width: 90%;
	margin: 0 auto 60px;
	padding-top: 20px;
	font-size: 1.2rem;
}
	.pan li{
		display: inline-block;
		vertical-align: middle;
	}
	.pan li + li:before {
		content: ">";
		color: #333333;
		margin: 0 4px 0 6px;
	}
		.pan li a{
			border-bottom: 1px dotted #333333;
			transition: .3s;
		}
			.pan li a:hover{
				border-bottom: 1px dotted transparent;
			}
	.pan li:last-child{
		max-width: 18em;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
@media only screen and (max-width: 767px) {
	.pan{ /* パンくずリスト */
		margin: 0 auto 40px;
	}
}
.page_tit{ /* ページタイトル */
	width: 1166px;
	max-width: 90%;
	margin: 0 auto 60px;
	font-family: "A1明朝", "Yu Mincho", YuMincho,"Hiragino Mincho ProN" ,HGS明朝E ,serif;
	font-size: 2.8rem;
	color:#4b4b53;
	text-shadow: 1px 1px 0 rgba(255,255,255,0.7);
}
.content_box{
	width: 800px;
	max-width: 90%;
	margin: 0 auto 120px;
}
.content_tit{ /* h2 */
	font-family: "A1明朝", "Yu Mincho", YuMincho,"Hiragino Mincho ProN" ,HGS明朝E ,serif;
	font-size: 2.6rem;
}
.content_tit:after{
	display: block;
	content: "";
	margin: 28px 0 48px;
	width: 72px;
	height: 1px;
	background: #ffcc1e;
}
.h3_box{
	width: 100%;
	margin: 50px 0 60px;
}
.line_tit{ /* h3 */
	position: relative;
	padding-left: 32px;
	margin-bottom: 32px;
	font-family: "A1明朝", "Yu Mincho", YuMincho,"Hiragino Mincho ProN" ,HGS明朝E ,serif;
	font-size: 2.4rem;
}
.line_tit::before{
	position: absolute;
	top: 16px;
	left: 0;
	display: block;
	content: "";
	width: 20px;
	height: 1px;
	background: #f65b1e;
}
@media only screen and (max-width: 767px) {
	.page_tit{ /* ページタイトル */
		margin: 0 auto 60px;
		font-size: 2.6rem;
	}
	.content_box{
		margin: 0 auto 80px;
	}
	.content_tit{ /* h2 */
		font-size: 2.4rem;
	}
	.content_tit:after{
		margin: 20px 0 32px;
		width: 64px;
	}
	.h3_box{
		margin-bottom: 40px;
	}
	.line_tit{ /* h3 */
		padding-left: 28px;
		margin-bottom: 26px;
		font-size: 2.0rem;
	}
	.line_tit::before{
		top: 14px;
		width: 18px;
	}
}

.content_box p{/* 段落 */
	margin-bottom: 1em;
}
.content_box a{/* リンク　アンダーライン */
	border-bottom: 1px dotted #333333;
	padding-bottom: 2px;
	transition: .3s;
}
	.content_box a:hover{
		border-bottom: 1px dotted  transparent;
	}

.table_st{/* テーブル */
	width: 100%;
}
	.table_st th,
	.table_st td{
		padding: 0.6em 1em;
		line-height: 2;
		vertical-align: top;
	}
	.table_st th{
		width: 20%;
		color: #274f73;
		font-weight: bold;
		text-align: right;
	}
	.table_st td{
		border-top: 1px solid #e6e6e6;
		border-bottom: 1px solid #e6e6e6;
	}
@media only screen and (max-width: 767px) {
	.table_st{
		border-top: 1px solid #e6e6e6;
	}
		.table_st th,
		.table_st td{
			display: block;
			padding: 0.8em 0.5em;
			line-height: 1.8;
		}
		.table_st th{
			padding-bottom: 0;
			width: 100%;
			text-align: left;
		}
		.table_st td{
			border-top: 0;
		}	
}

.list_disc{/* リスト */
	margin-bottom: 1em;
}
.list_disc + *{
	margin-top: 1em;
}
	.list_disc > li{
		position: relative;
		line-height: 1.8;
		padding-left: 16px;
	}
	.list_disc > li::before{
		position: absolute;
		content: "";
		display: block;
		top: 10px;
		left: 0;
		width: 8px;
		height: 8px;
		background: #ffcc1e;
		border-radius: 50%;
	}
	.list_disc > li + li{
		margin-top: 8px;
	}
@media only screen and (max-width: 767px) {
		.list_disc > li{
			line-height: 1.6;
		}
		.list_disc > li + li{
			margin-top: 8px;
		}
}
/*------------------------------------------------------------------------
フッター
--------------------------------------------------------------------------*/
.footer{
	color: #fff;
}
	.footer a{
		color: #fff;
	}
.footer_ban_area{
	padding: 20px 2% 0;
	background: #f2f2f2;
}
	.footer_ban_list{
		text-align: center;
	}
		.footer_ban_list li{
			display: inline-block;
			max-width: 45%;
			margin-bottom: 20px;
		}
		.footer_ban_list li a:hover{
			opacity: 0.7;
		}

.footer_nav_area{
	background: #2d2d37;
	padding: 30px 2%;
}
	.footer_nav_loc{
		float: left;
	}
		.footer_nav_loc li{
			display: inline-block;
			margin-right: 2em;
		}
			.footer_nav_loc_title{
				font-size: 1.8rem;
				font-weight: bold;
				color: #dadadc;
			}
	.footer_nav_nav{
		float: right;
		text-align: right;
		line-height: 2;
		margin-bottom: 30px;
	}

@media screen and (max-width: 767px) {  
	.footer_nav_area{
		padding: 20px 5%;
	}
		.footer_nav_loc{
			float: none;
			margin-bottom: 2em;
		}
			.footer_nav_loc li{
				display: block;
				margin: 0 0 1em 0;
			}
		.footer_nav_nav{
			float: none;
			text-align: right;
			line-height: 2;
			margin-bottom: 20px;
		}
}
/* コピーライト ----------------------------------------------------------*/
.footer .copy{
	text-align: center;
	line-height: 44px;
	font-size: 1.2rem;
	background: #171721;
}
/* ページの先頭に戻る ----------------------------------------------------------*/
#back-top{
	position: fixed;
	bottom: 10px;
	right: 10px;
	display: block;
	width: 80px;
	height: 80px;
	cursor: pointer;
	background: #f2f3ed url(../img/common/back_top.svg) center 44% no-repeat;
	background-size: 44px 28px;
	border: 2px solid #fff;
	border-radius: 50%;
	box-shadow: 2px 2px 1px rgba(0,0,0,0.2);
	transition: .3s;
}
	#back-top:hover{
		background: #fff url(../img/common/back_top.svg) center 44% no-repeat;
		background-size: 44px 28px;
		box-shadow: none;
	}

@media only screen and (max-width: 969px) {
	#back-top{
		position: fixed;
		bottom: 10px;
		right: 10px;
		display: block;
		width: 60px;
		height: 60px;
		cursor: pointer;
		background: #f2f3ed url(../img/common/back_top.svg) center 44% no-repeat;
		background-size: 30px 20px;
		border: 2px solid #fff;
		border-radius: 50%;
		box-shadow: 2px 2px 1px rgba(0,0,0,0.2);
		transition: .3s;
	}
		#back-top:hover{
			background: #fff url(../img/common/back_top.svg) center 44% no-repeat;
			background-size: 30px 20px;
			box-shadow: none;
		}	
}
