@charset "utf-8";
/*------------------------------------------------------------------------------
[1] レイアウト[ 配置 + 書式設定その他 ]
[2] 詳細デザイン
------------------------------------------------------------------------------*/
/*******************************************************************************
[1] レイアウト[ 配置 + 書式設定その他 ]
*******************************************************************************/
/*==============================================================================
	配置　独自の設定
==============================================================================*/
body{
	font-family:"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック",sans-serif;
}
input,select,textarea,button{
	font-family:"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック",sans-serif;
}
#headerbg{
	width: 100%;
}
#wrap{
	margin:0px auto 0px auto;
	font-size:95%;
	background:#FFF;
}
#guide{
	font-size:90%;
	padding:20px 0px 20px 0px;
}
/*==============================================================================
	書式設定その他
==============================================================================*/
#tpath{
	font-size:90%;
}
#content,#content2,#content3{
	background:#FFFFFF;
}
#content,#content2,#content3{
	background:#FFFFFF;
}
/*******************************************************************************
[2] 詳細デザイン
*******************************************************************************/
/*==============================================================================
	ヘッダ
==============================================================================*/
#headerbg{
	padding-top: 15px;
	padding-bottom: 20px;
	background: url("images/header/header_bg.png") center top;
}
#headerbg #header{
	margin: 0px auto 0px auto;
    width: 950px;
}
#headerbg #tlogo{
	float: left;
	width: 160px;
}
#headerbg #tlogo img{
	width: 100%;
	height: auto;
	vertical-align:bottom;
}
#headerbg #tlogo p{
	width: 100%;
}
#headerbg #util{
	padding-right: 148px;
	width: 762px;
	float: right;
	box-sizing: border-box;
	position: relative;
	text-align: left;
}
/*------------------------------------------------------------------------------
	util1
------------------------------------------------------------------------------*/
#headerbg #util1 ul{
	margin-top: 10px;
	display:block;
	text-align: right;
	list-style-type:none;
}
#headerbg #util1 ul li{
	display: inline-block;
	text-align:left;
	font-size:85%;
}
#headerbg #util1 ul li + li{
	margin-left: 5px;
}
#headerbg #util1 ul li:first-child{
	width: 138px;
	position: absolute;
	right: 0;
	top: -20px;
}
#headerbg #util1 ul li:not(:first-child) a{
	padding: 6px 6px 6px 32px;
	display:block;
	color: #000;
	text-decoration: none;
	font-weight: bold;
	border-radius: 3px;
}
#headerbg #util1 ul li:nth-of-type(2){
	width:19.7em;
}
#headerbg #util1 ul li:nth-of-type(3){
	width: 18.5em;
}
#headerbg #util1 ul li:nth-of-type(2) a{
	background: url(images/header/icon_1.png) no-repeat left 8px center,#edc7bb;
}
#headerbg #util1 ul li:nth-of-type(2)  a span{
	font-weight: normal;
	margin-left: -0.5em;
	font-size: 90%;
}
#headerbg #util1 ul li:nth-of-type(3) a{
	background: url(images/header/icon_2.png) no-repeat left 8px center,#e2f6f7;
}
/*------------------------------------------------------------------------------
	util2
------------------------------------------------------------------------------*/
#headerbg #util2 ul{
	margin-bottom:15px;
	text-align: right;
}
#headerbg #util2 ul li{
	padding-left: 15px;
	position: relative;
	display: inline-block;
	letter-spacing: normal;
	font-size:90%;
}
#headerbg #util2 ul li::before,
#headerbg #util2 ul li::after{
	content: "";
	position: absolute;
}
#headerbg #util2 ul li::before{
	width: 10px;
	height: 10px;
	top: 5px;
	left: 0;
	background-color: #fff;
	border-radius: 100%;
}
#headerbg #util2 ul li::after{
	width: 6px;
	height: 6px;
    top: 7px;
    left: 4px;
	border: 3px solid transparent;
	border-left: 3px solid #035259;
	box-sizing: border-box;
}
#headerbg #util2 ul li + li{
	margin-left: 15px;
}
#headerbg #util2 ul li a{
	display:block;
	color: #ffffff;
}
/*==============================================================================
	グローバルナビ
==============================================================================*/
#gnavibg{
	border-bottom:1px solid #CCC;
}
#gnavibg #gnavi ul{
	width: 100%;
	display: flex;
	border-left: 1px solid #ccc;
	box-sizing: border-box;
}
#gnavibg #gnavi ul li{
	flex-basis: calc(100% / 6);
	display: flex;
	box-sizing: border-box;
	border-right: 1px solid #ccc;
}
#gnavibg #gnavi ul li a{
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	color:#333;
	padding: 15px 10px 15px 13px;
	box-sizing: border-box;
	line-height:1.2;
	font-size:95%;
}
#gnavibg #gnavi ul li a:hover{
	color: #333;
	background-color: #C7E5E8;
}
/*--スマホワンソースの場合のメニュー非表示--*/
#gnavibg p.hnplus, #gnavibg p.hnminus{
	display:none;
}
/*==============================================================================
	検索
==============================================================================*/
#sitesearch{
	min-width: 950px;
	padding: 15px 0px 15px 0px;
	background-color: #e5edee;
	border-bottom: 1px solid #ccc;
	box-sizing: border-box;
}
#sitesearch #formwrap{
	margin: auto;
}
#sitesearch #formwrap form{
	display: inline-block;
	background: #035259;
	border-radius: 3px;
}
#sitesearch #formwrap form label{
	padding:3px 1px 3px 7px;
	text-align: center;
}
#sitesearch #formwrap form label img{
	vertical-align:middle;
}
#sitesearch #formwrap #key{
	padding:2px 5px 5px 10px!important;
	width:250px!important;
	height:auto!important;
	font-size:110%;
	border: 1px solid #035259!important;
	background-position: left 10px center!important;
	border-radius:0px!important;
}
#sitesearch #formwrap .submit{
	padding: 4px 20px 2px 20px!important;
	box-sizing: border-box;
	color: #ffffff;
	font-size: 110%;
	background-color: #035259;
	border-radius: 0px 3px 3px 0px!important;
	border: 1px solid #035259!important;
	vertical-align: middle;
	-webkit-appearance: none;
}
/*==============================================================================
	左メニュー
==============================================================================*/
#menu{
	width: 198px;
	font-size:95%;
	background:#FFFFFF;
	border:1px solid #ccc;
}
#menu a{
	color:#333;
}
/*------------------------------------------------------------------------------
	見出しh2
------------------------------------------------------------------------------*/
#menu h2 a,#menu h2 span{
	padding: 25px 5px 25px 5px;
	width: 188px;
	display:block;
	color:#333333;
	border-top: 4px solid #035259;
	background-color: #F8F8F8;
}
/*------------------------------------------------------------------------------
	リンクなし　セパレータ
------------------------------------------------------------------------------*/
#menu h3.separator{
	margin:0px;
	padding:10px 5px 8px 8px;
	width: 185px;
	background:#EEEEEE;
	border-top:1px dotted #999;
	line-height: 1.5;
}
#menu h4.separator,#menu h5.separator,#menu h6.separator{
	margin:0px 0px 0px 10px;
	padding:10px 5px 8px 6px;
	width: 177px;
	background:#EEEEEE;
	border-top:1px dotted #999;
	line-height: 1.5;
}
/*------------------------------------------------------------------------------
	詳細メニュー　h3 h4 ul 同じリスト風デザイン
------------------------------------------------------------------------------*/
#menu h3{
	margin:0px;
	background:#FFF;
	border-bottom:none;
}
#menu h4{
	margin:0px;
	font-weight:normal;
	background:#FFF;
	border-bottom:none;
}
#menu h5{
	margin-left:10px;
	font-weight:normal;
	background:#FFF;
	border-bottom:none;
}
#menu h3 a{
	padding:8px 5px 8px 10px;
	width: 183px;
	border-top:1px dotted #999;
}
#menu h3 a:hover{
	background:#FFEAAD;
}
#menu h4 a{
	padding:8px 5px 8px 23px;
	width:170px;
	background:url(images/lnavi/mark_lnavi.png) no-repeat 10px 15px;
	border-top:1px dotted #999;
}
#menu h4 a:hover{
	background:#FFEAAD url(images/lnavi/mark_lnavi_o.png) no-repeat 10px 15px;
}
#menu h5 a{
	padding:8px 5px 8px 23px;
	width:160px;
	background:url(images/lnavi/mark_lnavi.png) no-repeat 10px 15px;
	border-top:1px dotted #999;
}
#menu h5 a:hover{
	background:#FFEAAD url(images/lnavi/mark_lnavi_o.png) no-repeat 10px 15px;
}
#menu ul{
	background:#FFF;
}
#menu ul li a{
	padding:8px 5px 8px 23px;
	width: 170px;
	background:url(images/lnavi/mark_lnavi.png) no-repeat 10px 15px;
	border-top:1px dotted #CCC;
}
#menu ul li a:hover{
	background:#FFEAAD url(images/lnavi/mark_lnavi_o.png) no-repeat 10px 15px;
}
#menu ul li.choice{
	padding:8px 5px 8px 23px;
	width:170px;
	display:block;
	background:#FFEAAD url(images/lnavi/mark_lnavi_o.png) no-repeat 10px 15px;
	border-top:1px dotted #CCC;
}
/*------------------------------------------------------------------------------
	入れ子リスト
------------------------------------------------------------------------------*/
#menu ul.lmenu li{
	margin-left:10px;
}
#menu ul.lmenu li a{
	width: 160px;
	background:url(images/lnavi/mark_slnavi.png) no-repeat 9px 15px;
	border-top:1px dotted #CCC;
	border-bottom:none;
}
#menu ul.lmenu li a:hover{
	background:#FFEAAD url(images/lnavi/mark_slnavi_o.png) no-repeat 9px 15px;
}
#menu ul.lmenu li.choice{
	width:160px;
	display:block;
	background:#FFEAAD url(images/lnavi/mark_slnavi_o.png) no-repeat 9px 15px;
	border-top:1px dotted #CCC;
	border-bottom:none;
}

/* よくある質問 */
#lnavi p.lnavifaq{
	background-color: #035259;
	text-align: center;
	border-radius: 3px;
}
#lnavi p.lnavifaq a{
	padding:15px 5px 15px 5px;
	display:block;
	font-weight:bold;
	color: #ffffff;
	text-decoration:none;
}
#lnavi p.lnavifaq a::before{
    content: "";
    display: inline-block;
	width: 31px;
	height: 24px;
    padding-left: 10px;
	background: url(images/top/icon_faq.png) no-repeat left center;
    -ms-background-size: 31px 24px;
    -moz-background-size: 31px 24px;
    -webkit-background-size: 31px 24px;
    background-size: 31px 24px;
    vertical-align: middle;
}
/*==============================================================================
	ページ遷移
==============================================================================*/
#guide ul,#guide ul li{
	display:inline;
}
/*------------------------------------------------------------------------------
	このページのトップへ
------------------------------------------------------------------------------*/
#guide p.pagetop{
    display: block;
    clear: both;
    text-align: right;
    position: fixed;
    right: 30px;
    bottom: 25px;
    z-index: 10000;
}
#guide p.pagetop a{
	padding-left:18px;
}
/*------------------------------------------------------------------------------
	ページ戻り
------------------------------------------------------------------------------*/
#guide ul li a.pageback{
	margin-right:15px;
	padding-left:20px;
	background:url(images/page/mark_pageback.png) no-repeat left center;
}
#guide ul li a.pagehome{
	padding-left:20px;
	background:url(images/page/mark_pagehome.png) no-repeat left center;
}
/*------------------------------------------------------------------------------
	表示切替
------------------------------------------------------------------------------*/
#guide .viewmode{
	display:inline;
	font-size:95%;
}
#guide .viewmode dl,#guide .viewmode dt,#guide .viewmode dd{
	display:inline-block;
	*display:inline;
    *zoom:1;
}
#guide .viewmode dl:after{
	content:"";
	display:block;
	clear:both;
}
#guide .viewmode dl{
	margin-left:20px;
	background:#FFFFFF;
    border: 1px solid #CCCCCC;
    border-radius: 3px;
	-moz-border-radius:3px;
	-webkit-border-radius:3px;
	-o-border-radius:3px;
	-ms-border-radius:3px;
	overflow:hidden;
	vertical-align:middle;
}
#guide .viewmode dt{
	padding:5px 10px 5px 10px;
	display:inline-block;
	*display:inline;
    *zoom:1;
	color: #fff;
	background:#035259;
	border-right:1px solid #CCCCCC;
	vertical-align:middle;
}
#guide .viewmode dd{
	vertical-align:middle;
}
#guide .viewmode ul{
    display:table;
	list-style-type:none;
}
#guide .viewmode ul li{
    display: table-cell;
	text-align:center;
	white-space: nowrap;
}
#guide .viewmode dd a{
	padding:5px 15px 5px 15px;
	display:block;
    color: #333333;
    text-decoration: none;
}
#guide .viewmode #viewmode_pc{
	border-right:1px solid #CCC;
    background: -moz-linear-gradient(top,#EEEEEE,#FFFFFF);
    background: -webkit-gradient(linear,left top,left bottom,from(#EEEEEE),to(#FFFFFF));
    background: linear-gradient(to bottom, #EEEEEE,#FFFFFF);
}
#guide .viewmode #viewmode_smp{
    border: none;
    background: -moz-linear-gradient(top,#FFFFFF,#EEEEEE);
    background: -webkit-gradient(linear,left top,left bottom,from(#FFFFFF),to(#EEEEEE));
    background: linear-gradient(to bottom, #FFFFFF,#EEEEEE);
}
/*==============================================================================
	フッタ
==============================================================================*/
#footernavi ul,#topfooternavi ul{
	padding:10px 5px 10px 5px;
	font-size: 95%;
	text-align:center;
	list-style-type:none;
}
#footernavi ul li,#topfooternavi ul li{
	margin-right:8px;
	margin-left:8px;
	padding-left:20px;
	display:inline;
	position: relative;
}
#footernavi ul li::before,#topfooternavi ul li::before,
#footernavi ul li::after,#topfooternavi ul li::after{
	content:"";
	position: absolute;
	top: 50%;
	left: 0;
}
#footernavi ul li::before,#topfooternavi ul li::before{
	margin-top: -6px;
	width: 12px;
    height: 12px;
    background-color: #035259;
    border-radius: 100%;
}
#footernavi ul li::after,#topfooternavi ul li::after{
	margin-top: -3px;
	width: 5px;
    height: 5px;
    box-sizing: border-box;
    border: 3px solid transparent;
    border-top: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-left: 4px solid #fff;
    left: 4px;
}
#footernavi ul li a,#topfooternavi ul li a{
	display:inline-block;
}
#footerwrap{
	margin-top: 10px;
	padding-top: 30px;
	padding-bottom: 10px;
	background:#e1e8de url(images/footer/footer_deco1.jpg) no-repeat top center;
}
#footer{
	padding-left: 110px;
	width: 950px;
	background: url(images/footer/fotter_logo.png) no-repeat;
	box-sizing: border-box;
}
#footer h2{
	margin-bottom:10px;
	font-size:180%;
	text-align:left;
}
#add{
	width: 640px;
	float: left;
	font-size:95%;
	line-height: 1.5;
}
#add p{
	margin-bottom:10px;
	display: inline-block;
	font-size: 95%;
}
address{
	margin-bottom:10px;
}
#add p + p{
	margin-left: 5px;
}
#add p span{
	margin-right: 8px;
	padding: 3px 8px 1px 8px;
	display: inline-block;
	background-color: #ffffff;
	border: 1px solid #cccccc;
}
#add p a{
	color:#000;
}
#footer ul{
	width: 170px;
	float: right;
	list-style: none;
}
#footer ul li + li{
	margin-top: 4px;
}
#footer ul li a{
	padding: 8px 14px 8px 30px;
	display: block;
	color: #FFF;
	background-color: #035259;
	border-bottom: 2px solid #cccccc;
	text-decoration: none;
	position: relative;
}
#footer ul li a::before{
    content: "";
    display:block;
	position:absolute;
	left:10px;
	top:calc(50% - 6px);
	width: 7px;
	height: 7px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
}
#copy{
	margin:0px auto 0px auto;
	padding-bottom: 15px;
	clear:both;
	position: relative;
	font-size:85%;
	background:#e1e8de;
	border-bottom: 33px solid #035259;
	text-align:center;
}
#copy::after{
	margin-left: -15px;
	width: 31px;
	height: 16px;
	position: absolute;
	bottom: -16px;
	left: 50%;
	content:"";
	background: url(images/footer/footer_deco2.jpg);
}
