@charset "utf-8";

/* --------------------------------------------------------------------------------
	body
-------------------------------------------------------------------------------- */
body {
	margin: 0 auto;
	padding: 0;
	max-width: 800px;
	line-height: 1.5;
	font-size: 4vw;
	text-size-adjust: 100%;
	position:relative;
}
body.active #overlay{
	position: absolute;
	left: 0; 
	top: 0;
	width: 100%; 
	height: 100%;
	z-index: 30;
	background-color:rgba(0,0,0,0.3);
}

/* --------------------------------------------------------------------------------
	タグ
-------------------------------------------------------------------------------- */
.common * {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
}
.common h1,
.common h2,
.common h3,
.common h4,
.common h5,
.common h6 {
	font-weight: normal;
	font-size: 1em;
}
.common ol,
.common ul {
	list-style: none;
}
.common table {
	border-collapse: collapse;
	border-spacing: 0;
	tont-size: 1em;
}
.common a,
.common a:link,
.common a:visited {
	text-decoration: none;
	color: #333;
    -webkit-tap-highlight-color:rgba(0,0,0,0.1);
	tap-highlight-color:rgba(0,0,0,0.8);
}
.common a:hover,
.common a:active {
	text-decoration: underline;
}

img{
	max-width: 100%;
	/*height: auto;*/
}


/* --------------------------------------------------------------------------------
	共通クラス
-------------------------------------------------------------------------------- */
.clear{
	clear:both;
}
br.clear{
	display:block;
	margin:0;
	padding:0;
	clear:both;
	height:0;
	border:none;
	visibility:hidden;
	font-size:0;
}
.clearfix:after{
	content:".";
	display:block;
	clear:both;
	height:0;
	visibility:hidden;
}
.clearfix{
	min-height:1%;
}
* html .clearfix{
	height:1%;
	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}

ul.ul{
	list-style:disc;
	padding:0 0 0 1.5em;
}
ol.ol{
	list-style:decimal;
	padding:0 0 0 1.75em;
}


.inner{
	padding: 0 3vw;
}


/********** プレースホルダー **********/
::-webkit-input-placeholder{
	color:#000;
}

/* --------------------------------------------------------------------------------
	デバイスごとの表示・非表示
-------------------------------------------------------------------------------- */
.device-sp{
	display:block;
}
.device-sp-inline{
	display:inline;
}
.device-pc{
	display:none;
}
.device-pc-inline{
	display:none;
}


/* --------------------------------------------------------------------------------
	アンカーポイントの調整
-------------------------------------------------------------------------------- */
.ancpoint{
	margin-top:-15vw;
	padding-top:15vw;
}


/* --------------------------------------------------------------------------------
	container
-------------------------------------------------------------------------------- */
#container{
	position: relative;
	overflow: hidden;
}


/* --------------------------------------------------------------------------------
	header
-------------------------------------------------------------------------------- */
#header{
	position: relative;
	
}


/********** 固定 **********/
#header .h-fix{
	position: fixed;
	top: 0;
	
	width: 100%;
	z-index: 50;
	border-bottom:2px solid #006ec8;
	background:#ffffff;
}

/********** ヘッダーコンテンツ **********/
#header .h-contents{
	display: flex;
	justify-content: space-between;
	margin:1.5vw 4.7vw 1.1vw 3vw;
}

/********** ロゴ・テキスト **********/
#header .h-contents a{
	display: flex;
	justify-content: space-between;
	width: 59.7vw;
	text-decoration: none;
	color: #000000;
	font-size:3vw;
}
#header .h-contents .logo{
	width: 12.6vw;
}
#header .h-contents .logo img{
	width: 100%;
}
#header .h-contents .logo-txt{
	width:44.7vw;
	padding: 0 0 0;
	font-weight: normal;
}
#header .h-contents .logo-txt .h-txt{
	margin:0 0 0.5vw;
}
#header .h-contents .logo-txt img{
	width: 100%;
}



/********** メニューボタン **********/
#header .h-menu-btn{
	margin:2vw 0 0;
	cursor: pointer;
    text-align: center;
}
#header .humberger {
  position: relative;
  height: 5vw;
  width: 7vw;
  display: inline-block;
  box-sizing: border-box;
}
#header .humberger div {
  position: absolute;
  left: 0;
  height: 0.6vw;
  width: 7vw;
  background-color: #006ec8;
  border-radius: 2px;
  display: inline-block;
  box-sizing: border-box;
}
#header .humberger div:nth-of-type(1) {
  top: 0;
}
#header .humberger div:nth-of-type(2) {
  top: 2vw;
}
#header .humberger div:nth-of-type(3) {
  bottom: 0;
}

#header .h-menu-btn .menu{
	color:#006ec8;
	font-size:2.4vw;
	padding:1vw 0 0;
}



/* --------------------------------------------------------------------------------
	メニュー
-------------------------------------------------------------------------------- */
/********** メニュー **********/
#header .h-menu{
	display:none;
	text-align:center;
	
	width: 100%;
	color: #ffffff;
	background: #004ea2;
}

/********** ドロワーメニュー：アクティブ **********/
body.active #header .h-menu{
	display:block;
	position:absolute;
	top:15vw;
}

#header .h-menu-wrapper{
	padding: 8vw 0 13vw;
}
#header .h-menu-box{
}

/********** 閉じるボタン **********/
#header .h-menu .h-close-btn{
	border:1px solid #fff;
	border-radius:5px;
	display:table;
	padding:0 15vw 1vw;
	cursor: pointer;
    line-height: 1;
    margin: 0 auto;
}
#header .h-menu .h-close-btn:hover{
	opacity: 0.7;
}
#header .h-menu .h-close-btn .icon{
	display: table-cell;
	padding:0 10px 0 0;
	font-size:8vw;
	vertical-align:middle;
}
#header .h-menu .h-close-btn .close{
	display: table-cell;
	font-size:3.6vw;
	vertical-align:middle;	
    padding: 1vw 0 0;

}



/********** メニュー内側 **********/
#header .h-menu .h-menu-box{
	padding: 0 0 4vw;
}
#header .h-menu ul li{
	padding: 0 0 5vw;
}

#header .h-menu ul li a{
	display: block;
	color:#ffffff;
	font-size: 4vw;
}

/* --------------------------------------------------------------------------------
	wrapper
-------------------------------------------------------------------------------- */
#wrapper{
}


/* --------------------------------------------------------------------------------
	main
-------------------------------------------------------------------------------- */
#main{
	margin: 15vw 0 10vw;
}



/* --------------------------------------------------------------------------------
	footer
-------------------------------------------------------------------------------- */
#footer {
}

/********** フッターコンテンツ **********/
#footer .footer-contents{
	padding: 3vw 0 21vw;
	border-top:1px solid #d2d2d2;
}

#footer .f-btn-pagetop{
	position:fixed;
	right:2vw;
	bottom:16vw;
}
#footer .f-btn-pagetop img{
	width:10vw;
}

/********** コピーライト **********/
#footer .copyright{
}
#footer .copyright .copyright-box{
	text-align:center;
	font-size: 2.8vw;
	color: #333333;
}


/********** メニュー **********/
#footer #f-fix{
	position:fixed;
	width:100%;
	bottom:0;
	z-index:20;
}
#footer #f-fix ul.f-menu{
	display:flex;
	background:#004ea2;
	color:#ffffff;
}
#footer #f-fix ul.f-menu li{
	width:25%;
	text-align:center;
}
#footer #f-fix ul.f-menu li{
	border-left:1px solid #ffffff;
}
#footer #f-fix ul.f-menu li:nth-child(1){
	border-left:none;
}
#footer #f-fix ul.f-menu li a{
	color:#ffffff;
	font-size:3vw;
	padding:2vw;
	display:block;
}
#footer #f-fix ul.f-menu li img{
	height:6vw;
	display:block;
	margin:0 auto 1vw;
}













