﻿@charset "utf-8";

/* base
------------------ */
/* reset */
html,body,div,h1,h2,h3,h4,h5,h6,p,blockquote,q,pre,table,caption,colgroup,col,tbody,thead,tfoot,tr,th,td,ul,ol,li,dl,dt,dd,form,fieldset,legend,label,span,a,img,em,ins,del,cite,abbr,sup,sub,dfn,code,var,samp,kbd,object,script,noscript,style,iframe,embed,param,map,area,menu,hr,address,small,strong,i,b,article,aside,figure,footer,header,hgroup,nav,section,figcaption,time,video,audio,mark,ruby,rt,rp,bdo,source,canvas,details,summary,command,datalist,keygen,output,progress,meter{margin:0;padding:0;outline:0;}
address,article,aside,figure,figcaption,footer,header,hgroup,hr,legend,menu,nav,section,summary{display:block;}
h1,h2,h3,h4,h5,h6{font-size:100%;}

/* body */
body{
	color:#333;
	line-height:1.7;
	font-size:100%;
	font-family:Meiryo, sans-serif;
	word-break:break-all;
}

@media screen and (orientation:landscape){
body{
	-webkit-text-size-adjust:100%;
}
}

input,textarea,select{
	font-family:Meiryo, sans-serif;
}

/* リンク */
a:link{color:#0c449b;text-decoration:underline;}
a:visited{color:#865d86;text-decoration:underline;}
a:hover{color:#24b2c8;text-decoration:none;}

/* タグ共通 */
img{border:none;max-width:100%;}
p{margin:0 0 1.5rem 0;}
hr{border:none;border-top:1px solid #ccc;margin:3rem auto;clear:both;}
table{empty-cells:show;border:none;border-collapse:collapse;max-width:100%;}

/*テキスト関係*/
.smaller{font-size:87.5%;}/*12px*/
.larger{font-size:125%;}/*20px*/
.bold{font-weight:bold;}
.normal{font-weight:normal;}
.red{color:#f00;}
.orange{color:#f60;}
.gray{color:#666;}
.blue{color: #0c449b;}
.skyblue{color: #24b2c8;}
.en{font-family: 'Lato', sans-serif;letter-spacing: 1px;}
.highlight{background:-webkit-gradient(linear, left top, left bottom, from(#fff7b6), to(#fff7b6));background:linear-gradient(transparent 60%, #fff7b6 60%);}

/*リスト*/
li{list-style:none;}
ul.list_mark{margin-bottom:1.5rem;}
ul.list_mark li{list-style:disc;margin-left:1.5em;}
ol.list_mark{margin-bottom:1.5rem;}
ol.list_mark li{list-style:decimal;margin-left:1.5rem;}
dl.dl_default{margin-bottom:1.5rem;}
dl.dl_default dt{font-weight:bold;}
dl.dl_default dd{margin-left:1em;}

/* テキスト揃え */
.ac{text-align:center;}
.al{text-align:left;}
.ar{text-align:right;}
.vam{vertical-align:middle;}
.vat{vertical-align:top;}

/* フロート */
.fl{float:left;}
.fr{float:right;}
.cl{clear:both;}

/* マージン */
.ma{margin-right:auto;margin-left:auto;}
.ml{margin-left:1rem;}
.mr{margin-right:1rem;}
.mb{margin-bottom:1rem;}
.mb0{margin-bottom:0;}

/* エフェクト */
.fade:hover{opacity:0.8;transition:0.2s;}

/* アコーディオン */
.trg{
	cursor:pointer;
}

/* sp header
------------------ */
#sp_header{
	overflow: hidden;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background: #fff;
	height: 70px;
	line-height: 1.0;
	z-index: 98;
}

/* sp logo */
#sp_logo{
	text-align: center;
	margin: 0 0 0 80px;
}

#sp_logo a{
	display: block;
	padding: 14px 20px 10px 20px;
}

#sp_logo img{
	max-width:90%;
}

#sp_logo h1{
	color: #0c449b;
	font-size:62.5%;
}

@media print, screen and (min-width: 440px){
#sp_logo img{
	max-width:280px;
}
}

/* spメニューボタン */
#sp_header_trg{
	text-align: center;
	background: #d3f0f4;
	color: #0c449b;
	width: 80px;
	position: absolute;
	top: 0;
	left: 0;
	height: 70px;
	font-size: 40px;
	cursor: pointer;
	line-height: 70px;
	z-index: 98;
}

@media print, screen and (min-width: 980px){
#sp_header{
	display: none;
}
}

/* sp nav
------------------ */
#sp_nav{
	display: none;
	z-index: 99;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

/* sp メニュー */
#sp_nav ul{
	margin: 70px 0 2rem 0;
	border-bottom: 1px solid #555;
	font-size: 114.29%;
}

#sp_nav li{
	border-top: 1px solid #555;
	border-bottom: 1px solid #222;
}

#sp_nav a{
	color: #fff;
	display: block;
	padding: 1em 0 1em 3em;
	position: relative;
	text-decoration: none;
}

#sp_nav a:before{
	position: absolute;
	top: 36%;
	left: 1em;
}

/* spメニュー閉じるボタン上 */
#sp_nav_close_top{
	text-align: center;
	background: #0c449b;
	color: #fff;
	width: 80px;
	position: absolute;
	top: 0;
	left: 0;
	height: 70px;
	font-size: 40px;
	cursor: pointer;
	line-height: 70px;
	z-index: 98;
}

/* spメニュー閉じるボタン下 */
#sp_nav_close_bottom{
	text-align: center;
	margin: 0 auto 2rem auto;
	cursor: pointer;
	background: #0c449b;
	color: #fff;
	border-radius: 5px;
	width: 10em;
	min-width: 60%;
	padding: 1em 2em;
}

/* pc nav
------------------ */
#pc_nav{
	display: none;
}

@media screen and (min-width: 980px){
#pc_nav{
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	text-align: center;
	background: #0c449b;
	width: 100%;
	border-bottom: 3px solid #24b2c8;
	z-index: 97;
}

#pc_nav li{
	display: inline-block;
}

#pc_nav a{
	display: inline-block;
	text-decoration: none;
	color: #fff;
	padding: 14px 24px;
	transition: 0.2s;
	position: relative;
	font-weight: bold;
}

#pc_nav a:after{
	border-right: 1px dotted #86a2cd;
	content: "";
	display: inline-block;
	height: 1.6em;
	vertical-align: middle;
	position: absolute;
	right: 0;
}

#pc_nav li:first-child a:before{
	border-right: 1px dotted #86a2cd;
	content: "";
	display: inline-block;
	height: 1.6em;
	vertical-align: middle;
	position: absolute;
	left: 0;
}

#pc_nav a:hover{
	background: #24b2c8;
}
}

/* pc header
------------------ */
#pc_header{
	display: none;
}

@media print, screen and (min-width: 980px){
#pc_header{
	display: block;
	width: 980px;
	margin: 60px auto 0 auto;
	padding: 1rem 0;
	overflow: hidden;
}

/* pc logo */
#pc_logo{
	float: left;
}

#pc_logo h1{
	color: #0c449b;
	font-size: 87.5%;
}

#pc_logo a{
	display: block;
}

#pc_catch{
	font-size: 87.5%;
}

/* pc ヘッダボタン */
#pc_header_bt{
	float: right;
}

#pc_header_bt a{
	display: inline-block;
	margin-left: 0.5rem;
}
}

/* footer
------------------ */
/* フッタリンク */
#footer_link{
	background: #f6f6f6;
	padding: 1rem;
	text-align: center;
}

#footer_link ul{
	padding-top: 1rem;
}

#footer_link li{
	display: inline-block;
}

#footer_link li:after{
	content: "　|　";
	color: #ccc;
}

#footer_link li:last-child:after{
	display: none;
}

/* カウンター */
#counter{
	text-align: right;
}

/* フッタ基本情報 */
#footer_info{
	background: #f6f6f6;
	padding: 1rem 1rem 0 1rem;
}

#footer_info_name{
	font-size: 114.29%;
	font-weight: bold;
	color: #0c449b;
	text-align: center;
	margin-bottom: 0.8rem;
}

#footer_info_bt{
	text-align: center;
	margin-bottom: 1rem;
}

#footer_info_bt .button{
	margin: 0 0.5rem 1rem 0.5rem;
}

#footer_info li{
	margin-bottom: 0.3rem;
	border-top: 1px dashed #ccc;
	padding-top: 0.3rem;
}

#footer_info li:first-child{
	border-top: none;
}

#footer_info_img{
	display: block;
	margin: 0 auto;
	line-height: 0;
}

@media print, screen and (min-width: 980px){
#footer_info{
	padding: 1rem 0;
	background: #f6f6f6 url(../img/il01.png) no-repeat 96% 100%;
}

#footer_info_name{
	width: 980px;
	margin: 0 auto 0.8rem auto;
	text-align: left;
}

#footer_info_bt{
	width: 980px;
	margin: 0 auto 1rem auto;
	text-align: left;
}

#footer_info_bt .button{
	margin: 0 1rem 0 0;
}

#footer_info li{
	margin: 0 auto 0.3rem auto;
	border-top:none;
	padding-top: 0;
	width: 980px;
	text-align: left;
}

#footer_info_img{
	display: none;
}
}

/* copyright */
#cpr{
	color: #cedaeb;
	text-align: center;
	font-size: 75%;
	background: #0c449b;
	padding: 0.5rem 0;
}

/* main
------------------ */
/* section */
#main{
	padding-top: 70px;
}

.section{
	padding: 0 1rem;
	margin-bottom: 4rem;
}

.ovh{
	overflow: hidden;
}

@media print, screen and (min-width: 980px){
#main{
	padding-top: 0;
}

.section{
	padding: 0;
	width: 980px;
	margin: 0 auto 4rem auto;
}
}

/* 見出し */
.h01{
	background: #0c449b;
	border-bottom: 3px solid #24b2c8;
	color: #fff;
	padding: 2rem 0;
	font-size: 170%;
	line-height: 1.2;
	text-align: center;
	margin-bottom: 2rem;
}

.h02{
	font-size: 150%;
	position: relative;
	padding:0 0 0 0.8em;
	margin-bottom: 1.5rem;
	border-bottom: 1px dashed #ccc;
	color: #0c449b;
}

.h02:before{
	content: "";
	display: inline-block;
	width: 5px;
	height: 1.1em;
	background: #0c449b;
	position: absolute;
	bottom: 10px;
	left: 0;
}

.h02:after{
	content: "";
	display: inline-block;
	width: 5px;
	height: 5px;
	background: #24b2c8;
	position: absolute;
	bottom: 5px;
	left: 0;
}

.h03{
	font-size: 114.29%;
	color: #0c449b;
	border-bottom: 1px dashed #ccc;
	margin-bottom: 0.5rem;
}

@media print, screen and (min-width: 980px){
.h01{
	font-size: 200%;
}

.h02{
	font-size: 170%;
}
}

/* 中ページ下層ナビ */
.sub_nav ul{
	border: 2px solid #7cd1de;
	box-sizing: border-box;
}

.sub_nav li{
	border-bottom: 2px dashed #7cd1de;
}

.sub_nav li:last-child{
	border: none;
}

.sub_nav a{
	display: block;
	text-decoration: none;
	position: relative;
	padding: 1em 0;
	text-indent: 1em;
	background: #e6f6f8;
	transition: 0.2s;
}

.sub_nav a:hover{
	background: #f2fafb;
}

.sub_nav a:before{
	position: absolute;
	top:40%;
	right: 2em;
}

@media print, screen and (min-width: 980px){
.sub_nav ul{
	border: none;
	border-bottom: 2px solid #7cd1de;
	text-align: center;
}

.sub_nav li{
	border: none;
	display: inline;
}

.sub_nav a{
	display: inline-block;
	padding:1em 2em;
	text-indent: 0;
	margin: 0 2px;
}

.sub_nav a:before{
	display: none;
}
}

/* ページトップ */
.pt{
	text-align: right;
	clear: both;
}

/* ボタン */
.button{
	color: #fff;
	display: inline-block;
	border-radius: 5px;
	transition: 0.2s;
	font-weight: bold;
	font-size: 114.29%;
	padding: 0.5rem 2rem 0.4rem 2rem;
	cursor: pointer;
}

a.button, .button a{
	color: #fff;
	text-decoration: none;
}

input.button{
	border: none;
	-webkit-appearance: none;
}

.button_red{background: #c00;}
.button_red:hover{background: #e00;}

.button_orange{background: #f80;}
.button_orange:hover{background: #f90;}

.button_blue{background: #0c449b;}
.button_blue:hover{background: #3d69af;}

.button_skyblue{background: #24b2c8;}
.button_skyblue:hover{background: #50c1d3;}

.button_gray{color:#999;font-weight: normal;}

/* table */
.ta{
	width: 100%;
	margin-bottom: 1.5rem;
	background:#fff;
}

.ta > caption{
	background: #0c449b;
	color: #fff;
	font-weight: bold;
	text-align: center;
	padding: 0.5rem 0 0.3rem 0;
}

.ta > tbody > tr > th{
	display: block;
	background: #d3f0f4;
	border: 1px solid #0a367c;
	border-bottom: none;
	text-align: left;
	padding: 0.5rem;
	color: #0c449b;
}

.ta > tbody > tr > th:before{
	content: "■";
}

.ta > tbody > tr > td{
	display: block;
	padding: 0.5rem;
	border: 1px solid #0a367c;
}

@media print, screen and (min-width: 980px){
.ta > tbody > tr > th{
	display: table-cell;
	border-bottom: 1px solid #0a367c;
	padding:1rem;
	width: 30%;
}

.ta > tbody > tr > td{
	display: table-cell;
	padding:1rem;
}
}

/* フォーム関係
------------------ */
/* テーブル */
form .ta > tbody > tr > th{
	color: #333;
	overflow: hidden;
}

form .ta > tbody > tr > th:before{
	color: #0c449b;
}

/* パーツ */
label{
	cursor:pointer;
}

select{
	cursor: pointer;
	font-size: 87.5%;
	padding: 2px;
	max-width: 98%;
}

.textbox{
	border: 1px solid #999;
	font-size: 100%;
	padding: 3px;
	border-radius: 2px;
	box-shadow: 1px 1px 4px rgba(0,0,0,0.1) inset;
	display: inline-block;
	max-width: 96%;
	margin: 1px;
}

/* 注意書き */
.note{
	font-size: 87.5%;
}

/* 必須項目 */
.required{
	color: #fff;
	font-weight: bold;
	display: inline-block;
	background: #c00;
	border-radius: 2px;
	font-size: 75%;
	padding: 0 5px;
}

form th .required{
	float: right;
	margin: 3px 0 0 0;
/*
	position: absolute;
	right: 10px;
	top: 50%;
	margin-top: -0.9em;
*/
}

/* エラー */
td.error{
	background: #fffd5f;
}

div.error{
	color: #f00;
	font-weight: bold;
}

/* 送信ボタン */
.submit_area{
	text-align: center;
	margin-bottom: 3rem;
}

.submit_area .button{
	margin-bottom: 2rem;
}

.submit_area input[type="submit"], .submit_area input.button_red{
	padding: 1rem 2rem;
	font-size: 125%;
}

@media print, screen and (min-width: 980px){
.submit_area .button{
	display: block;
	margin: 0 auto 3rem auto;
}
}

/*eof*/

