@charset "utf-8";
/*------------------------------------------------------------------------------
[1] レイアウト[ 配置 + 書式設定その他 ]
[2] 詳細デザイン
------------------------------------------------------------------------------*/
/*******************************************************************************
[1] レイアウト[ 配置 + 書式設定その他 ]
*******************************************************************************/
/*==============================================================================
	配置
==============================================================================*/
#wrap{
	overflow:hidden;
}
#topheaderbg{
	position:absolute;
}
#tpath,#pagebody,#guide,#footer,#footernavi,#content2,#content3{
	max-width:1200px;
	min-width:auto;
}
#guide{
	font-size:100%;
	padding: 30px 0;
}
#guide p{
	margin-bottom:30px;
	font-size: 87.5%;
}
#gnavi{
	max-width: none;
	min-width: auto;
	width:100%;
}
#header{
	max-width:1300px;
	min-width:auto;
}
#tpath{
	margin-bottom:30px;
	padding-left: 0;
}
/*==============================================================================
	書式設定その他
==============================================================================*/
a{
    color:#0066CC;
}
a:visited{
    color:#6413a6;
}
#wrap a:hover{
	text-decoration: none;
}
img{
	max-width:100%;
}
body,input,select,textarea,button{
	font-family:"游ゴシック","Yu Gothic","游ゴシック体",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
	font-weight:500;
}
/*******************************************************************************
[2] 詳細デザイン
*******************************************************************************/
/*==============================================================================
	ヘッダ
==============================================================================*/
#topheaderbg{
	position: absolute;
	z-index: 2;
}
#header{
	margin:30px auto;
	padding:0px;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	background:#FFF;
	border-radius:20px;
	height: 100%;
	box-shadow: 0px 3px 16px 0px rgba(102,102,102,.16);
	position: relative;
}
#headerbg{
	margin-bottom:70px;
}
#headerbg #header{
    position: relative;
    margin-top: 20px;
}
#headerbg #header::before{
    content:"";
    width: calc(100vw - 200px);
    height: 150%;
    position: absolute;
    top: -20px;
    left: 200px;
	background:  -webkit-linear-gradient(0deg, rgba(0, 56, 135, 1), rgba(0, 125, 231, 1));
    z-index: -1;
    border-radius: 0 0 0 50px;
}
#headerbg #header > *{
    position: relative;
}
#tlogo{
	width:calc(180 / 1200 * 100%);
	display: flex;
	align-items: center;
	justify-content: center;
}
#util{
	flex-grow: 1;
}
#emergency{
	width:calc(110 / 1300 * 100%);
	order: 4;
	background: #F4D9D9;
	border-radius: 0 20px 20px 0;
}
#purpose{
	width:calc(110 / 1300 * 100%);
	order: 3;
}
#tlogo img{
	max-width: 100%;
	height: auto;
}
/*------------------------------------------------------------------------------
	util
------------------------------------------------------------------------------*/
#util ul{
	display:inline-block;
	list-style-type:none;
}
#util li{
	display:inline-block;
}
/*------------------------------------------------------------------------------
	util2
------------------------------------------------------------------------------*/
#util2{
  font-size:85.6%;
	padding:17px 50px 0 0;
}
#util2 ul li:nth-of-type(1){
	margin-left:50px;
	margin-bottom:0px;
	padding-left:28px;
	background: url(images/header/header_fontsize.svg) no-repeat left center;
}
#util2 ul li:nth-of-type(2){
	margin-left:50px;
	margin-bottom:0px;
	padding-left:23px;	background: url(images/header/header_language.svg) no-repeat left center;
}
#util2 ul li a{
	color: #124986;
	font-weight: bold;
}
/*------------------------------------------------------------------------------
	パンくずリスト
------------------------------------------------------------------------------*/
#tpath img{
	padding-bottom:3px;
	width: 18px;
	height: 18px;
}
#tpath p,#tpath a{
	font-weight:600;
	color:#124986;
}
/*==============================================================================
	緊急・災害
==============================================================================*/
#emergency p{
	display: flex;
	font-size: 112%;
	height: 100%;
}
#emergency a{
	padding: 65px 5px 10px 5px;
	color:#AF2E32;
	font-weight: bold;
	text-decoration:none;
	width: 100%;
    background:#F4D9D9 url(images/header/header_bousai.svg) no-repeat top 1.8em center;
	border-radius: 0 20px 20px 0;
	text-align: center;
}
#emergency a:hover{
	background-color:#FFC0C0 ;
}
/*==============================================================================
	さがす
==============================================================================*/
#purpose .pscate{
	width:100%;
	height: 100%;
}
#purpose .pscate > button{
	margin:0px;
	width:100%;
	height: 100%;
	padding: 38px 10px 0 10px;
	box-sizing:border-box;
	color:#124986;
	font-size: 112%;
	font-weight:bold;
	background: #FFF url(images/header/header_search.svg) no-repeat top 2em center;
	border:	none;
	border-left: 1px solid #F0F1F2;
	text-align:center;
	cursor:	pointer;
	display:block;
}
#purpose .pscate > button:hover,
#purpose .pscate button.choice{
	background-color:#EDFAFF;
}
#purpose #purposemenu{
	margin-top: 10px;
	padding: 0.3rem;
	width:100%;
	max-width: 1300px;
	height:auto;
	display:none;
	position:absolute;
	top:100%;
	left:calc((100% - 1300px) / 2);
	box-sizing:border-box;
	background: rgb(1,56,135);
	background: linear-gradient(180deg, rgba(1,56,135,1) 0%, rgba(0,131,239,1) 100%);
	border-radius: 18px;
	box-shadow:0px 0px 3px 0px #333;
	z-index:199999999;
}
#headerbg #purpose #purposemenu{
	width:calc(1300 / 1300 * 100vw);
	left:calc(100% - 1190px);
}
#topheaderbg #purpose #purposemenu{
	left:0;
}
#purpose #purposemenu::before{
    content: "";
    position: absolute;
    top: -10px;
    right: 130px;
    border-style: solid;
    border-width: 0px 35px 20px 35px;
    border-color: transparent transparent #FFF transparent;
    z-index: 1;
}
#purposemenubg{
	padding:30px 30px 70px 30px;
	background: #FFF;
	border-radius: 15px;
}
/*------------------------------------------------------------------------------
	検索
------------------------------------------------------------------------------*/
#headsearchmenu{
	margin-bottom:30px;
	display: flex;
	justify-content: space-between;
}
#headsearch1,#headsearch2{
	position: relative;
}
#headsearch1{
	width:60%;
}
#headsearch2{
	width:35%;
}
#headerbg #headsearch1 .howtobg{
	position: absolute;
	top:-5px;
	left:165px;
}
#headerbg #headsearch2 .howtobg{
	position: absolute;
	top:-5px;
	left:190px;
}
/*	サイト内検索
------------------------------------------------------------------------------*/
#headsearchmenu form{
	margin: 15px auto 20px auto;
    width: 100%;
}
#headsearchmenu label img{
	vertical-align:middle;
}
#headsearchmenu input{
	display:inline-block;
	vertical-align:middle;
}
#headsearchmenu input[type="text"]{
	padding:6px 8px 6px 2px !important;
	width:calc(100% - 135px) !important;
	height:auto!important;
	box-sizing:border-box;
	background-position:left 10px center!important;
	border:none!important;
	border-bottom: 2px solid #124986!important;
	border-radius:0px!important;
	outline: none;
	font-weight: bold;
}
#headsearchmenu input[type="submit"]{
	padding:5px 43px 5px 27px !important;
	box-sizing:border-box;
	color:#FFF;
	font-size:94%!important;
	font-weight: bold;
	background: url(images/top/search.svg), -moz-linear-gradient(0deg, rgba(1, 56, 135, 1), rgba(0, 131, 239, 1));
    background: url(images/top/search.svg), -webkit-linear-gradient(0deg, rgba(1, 56, 135, 1), rgba(0, 131, 239, 1));
    background-repeat: no-repeat;
    background-position: right 25% center;
    box-shadow: 5px 5px 5px rgba(112,112,112,.3);
    border-radius: 20px!important;
	border:none!important;
	-webkit-appearance:none;
}
#headsearchmenu input[type="submit"]:hover{
	background: url(images/top/search.svg),#013B8B;
    background-repeat: no-repeat;
    background-position: right 25% center;
}
/*	ページ番号検索
------------------------------------------------------------------------------*/
#headsearchmenu .navidetail{
    width: 100%;
}
#headsearchmenu .navidetail form{
	width:100%;	
}
#headsearchmenu .navidetail #idbtn{
    box-sizing: border-box;
    color: #FFF;
    background-color: #0062B8;
    border-radius: 20px!important;
    -webkit-appearance: none;
}
#headsearchmenu .navidetail #idbtn:hover{
	background: url(images/top/search.svg),#013B8B;
    background-repeat: no-repeat;
    background-position: right 25% center;
}
#headsearchmenu #idresult p{
	margin:0px;
	color:#c50000;
	font-weight:bold;
}
/*------------------------------------------------------------------------------
	メニュー
------------------------------------------------------------------------------*/
#purposemenu ul{
	font-size:110%;
	list-style:none;
	margin-top:-15px;
}
#purposemenu .searchlist ul li{
	margin-top:15px;
	margin-left:5px;
	box-sizing:border-box;
}
#purposemenu .searchlist ul li a{
	width:100%;
	height:100%;
	padding:18px 14px 20px 14px;
	display:flex;
	justify-content:center;
	align-items:center;
	box-sizing:border-box;
	color:#fff;
	background-color:#0057b8;
	vertical-align:middle;
	text-align:center;
}
#purposemenu .searchlist ul li a img.external{
	flex-shrink:0;
}
#idresult{
	margin:0 0 10px 0;
	clear:left;
}
#idresult p{
	margin-top:.2em;
	margin-bottom:-.3em;
	color:#b30303;
	font-size:90%;
	font-weight:bold;
	line-height:1.4;
}
#purpose dl{
	margin:20px 0;
}
#purpose dt{
	margin-bottom:8px;
	padding-left:10px;
	display:block;
	color:#124986;
	font-size:120%;
	font-weight:bold;
	line-height:1.4;
}
#purpose .navidetail #idform p{
	color:#222;
	font-weight:500;
	line-height:1.2;
}
.search #sitesearch div, .search .navidetail div:not([id]){
	margin-top:6px;
	padding:0px;
	display:flex;
	flex-direction:row;
	justify-content:space-between;
	align-items:stretch;
}
#purposemenu .menusearch h2{
	margin-bottom: 20px;
	padding-left: 15px;
	position: relative;
	display: inline-block;
	color: #124986;
}
#purposemenu .menusearch h2::before{
	content: "";
	position:absolute;
	width:4px;
	height:20px;
	left:0;
	top:7px;
	background: rgb(1,56,135);
	background: linear-gradient(180deg, rgba(1,56,135,1) 0%, rgba(0,131,239,1) 100%);
	border-radius: 5px;
}
#purposemenu .menusearch ul{
	margin:0;
	display:flex;
	float: right;
}
#purposemenu .menusearch ul li{
	margin:0 0 0 20px;
	padding:0!important;
	box-sizing:border-box;
	list-style-type:none;
	background:#EDFAFF none;
	border:1px solid #D1D1D1;
	border-radius: 10px;
}
#purposemenu .menusearch li a{
	padding:10px 30px 10px 30px;
	display:
	block;
	box-sizing:
	border-box;
	color:#124986;
	font-weight: bold;
	text-decoration: none;
	border-radius: 10px;
	height: 100%;
}
#purposemenu .menusearch li a:hover{
	background:#d9f4ff;
}
#purposemenu .menusearch li a span{
	display:inline-block;
}
#purposemenu1, #purposemenu2{
	display: flex;
}
#purposemenu1 dt, #purposemenu2 dt{
	width: 7em;
}
#purposemenu1 dd, #purposemenu2 dd{
	width: calc(100% - 7em);
}
#purposemenu .menusearch ul.large,
#purposemenu .menusearch ul.small{
	width: 100%;
	float: left;
}
#purposemenu .menusearch ul.large li,
#purposemenu .menusearch ul.small li{
	margin:0 10px 10px 0;
	padding:0!important;
	width: calc((100% - 30px) / 4);
	background:#FFF none;
}
#purposemenu .menusearch ul.small li{
	width: calc((100% - 50px) / 6);
}
#purposemenu .menusearch ul.large li:nth-child(4n),
#purposemenu .menusearch ul.small li:nth-child(6n){
	margin-right: 0;
}
#purposemenu .menusearch ul.large li a,
#purposemenu .menusearch ul.small li a{
	padding:6px 10px 6px 10px;
	display:flex;
	align-items: center;
	height:100%;
}
#purposemenu .menusearch ul.large li a > img,
#purposemenu .menusearch ul.small li a > img{
	margin: 0 5px 0 0;
	width: 30%;
	height: auto;
}
#purposemenu .menusearch ul.large li a span,
#purposemenu .menusearch ul.small li a span{
	width: calc(70% - 5px);
	font-size: 95%;
	text-align: left;
}
#purposemenu .menusearch ul.small li a span{
	font-size: 84%;
}
/*	閉じるボタン
------------------------------------------------------------------------------*/
#purposemenu button.psclose{
	margin:0px 10px 0px 10px;
	padding:10px 10px 8px 40px;
	position:absolute;
	border:none;
	right:21px;
	bottom:25px;
	color:#124986;
	background-color:#FFF;
	line-height:1.2;
	cursor:pointer;
	border-radius: 20px;
	box-shadow: 5px 5px 5px rgba(112,112,112,.3);
}
#purposemenu button.psclose:hover{
	background:#efefef;
}
#purposemenu button.psclose::before,
#purposemenu button.psclose::after{
    content:"";
	position:absolute;
	display:inline-block;
	top:10px;
	right:auto;
	left:20px;
	width:2px;
	height:15px;
	border:0;
	margin:0;
	padding:0;
	background-color:#124986;
}
#purposemenu button.psclose::before{
	-moz-transform:rotate(45deg);
	-webkit-transform:rotate(45deg);
	transform:rotate(45deg);
}
#purposemenu button.psclose::after{
	-moz-transform:rotate(-45deg);
	-webkit-transform:rotate(-45deg);
	transform:rotate(-45deg);
}
/*==============================================================================
	グローバルナビ
==============================================================================*/
#gnavi{
	position:relative;
}
#gnavibg,#topgnavibg{
}
#gnavi ul#topscate{
	display:flex;
	box-sizing:border-box;
	font-weight:bold;
	justify-content: space-around;
}
#gnavi ul li.scate{
	box-sizing:border-box;
	font-size:118.4%;
	line-height:1.4;
	float: none;
	/*! width:calc(100% / 7); */
}
/*	閉じるボタン
------------------------------------------------------------------------------*/
#gnavi ul#topscate li button{
	margin:0px;
	padding:17px 10px 38px 10px;
	box-sizing:border-box;
	width:100%;
	height: 100%;
	color: #124986;
	font-weight: bold;
	font-feature-settings: "palt";
	background: #FFF;
	border:none;
	cursor:pointer;
	position:relative;
}
#gnavi ul#topscate li button:not(.gnaviclose)::after{
    width:10px;
    height:10px;
    display:block;
    left:calc(50% - 5px);
    bottom:28px;
    position:absolute;
    content:"";
    border-top:1px solid #A0B6CE;
    border-right:1px solid #A0B6CE;
    -webkit-transform:rotate(135deg);
    transform:rotate(135deg);
}
#gnavi ul#topscate li button:not(.gnaviclose):hover::before{
	content: '';
  	width: 100%;
  	height: 4px;
  	display: inline-block;
  	background-color: #124986;
  	position: absolute;
  	bottom: 17px;
  	left:0;
}
#gnavi ul#topscate li button:not(.gnaviclose).choice::before{
	content: '';
  	width: 100%;
  	height: 4px;
  	display: inline-block;
  	background-color: #124986;
  	position: absolute;
  	bottom: 17px;
  	left:0;
  	transition:all .5s;
}
/*------------------------------------------------------------------------------
	開閉メニュー
------------------------------------------------------------------------------*/
#gnavi .navi{
	width:1300px;
	display:none;
	position:absolute;
	top:80%;
	left: -22%;
	z-index:9999;
	font-size:90%;
	max-width: 1300px;
    min-width: auto;
}
#gnavi .navi a{
	color:#124986;
	text-decoration:underline;
}
#gnavi .navi .gnavilower{
	padding:10px 30px 10px 30px;
	background:#EDFAFF;
	position:relative;
	box-shadow: 0px 10px 10px 0px rgba(102,102,102,.16);
	/*box-shadow: 0px 3px 5px 0px rgba(102,102,102,.5);*/
	z-index: -1;
}
#gnavi .navi .gnavidetail{
	float:left;
	font-size:130%;
	font-weight:bold;
	max-width: 1300px;
}
#gnavi .navi .gnavidetail a{
	padding:10px;
	display:block;
	position:relative;
	color:#124986;
	font-size:110%;
	font-weight:bold;
}
#gnavi .navi .gnavidetail a::before{
	content:"";
   	display:inline-block;
   	width:4px;
   	height:20px;
   	background:linear-gradient(180deg, rgba(1,56,135,1) 0%, rgba(0,131,239,1) 100%);
   	position:absolute;
   	top:.6em;
   	left:0;
   	border-radius: 10px;
}
#gnavi .navi .gnavidetail a:hover{
	text-decoration: none;
}
#gnavi .navi .gnavidetail a::after,
#gnavi .navi ul li a::after{
	content:none;
}
/*	閉じるボタン
------------------------------------------------------------------------------*/
#gnavi ul#topscate .navi button.gnaviclose{
	padding:10px 10px 8px 40px;
	display:block;
	position:absolute;
	right:20px;
	left:auto;
	top:20px;
	font-size:90%;
	color:#124986;
	background:#FFF;
	text-decoration:none;
	line-height:1.2;
	cursor:pointer;
	width:auto;
	height: auto;
	border-radius: 20px;
	box-shadow: 5px 5px 5px -5px rgba(112,112,112,.5);
}
#gnavi ul#topscate .navi button.gnaviclose:hover{
	background:#efefef;
}
#gnavi ul#topscate .navi button.gnaviclose:before,
#gnavi ul#topscate .navi button.gnaviclose:after{
	content:"";
	position:absolute;
	display:inline-block;
	top:10px;
	right:auto;
	left:20px;
	width:2px;
	height:15px;
	border:0;
	margin:0;
	padding:0;
	background-color:#124986;
}
#gnavi ul#topscate .navi button.gnaviclose:before{
	-moz-transform:rotate(45deg);
	-webkit-transform:rotate(45deg);
	transform:rotate(45deg);
}
#gnavi ul#topscate .navi button.gnaviclose:after{
	-moz-transform:rotate(-45deg);
	-webkit-transform:rotate(-45deg);
	transform:rotate(-45deg);
}
#gnavi .navi ul{
	margin:0px;
	padding:0px 30px 15px 30px;
	position: relative;
	clear:both;
	background:#EDFAFF;
	width: -webkit-fill-available;
	width: -moz-available;
    max-width: 1240px;
    box-shadow: 0px 1px 5px 0px rgba(102,102,102,.5);
    box-shadow: 0px 12px 15px 0px rgba(102,102,102,.16);
    border-radius:0 0 20px 20px;
}
#gnavi .navi ul::before{
	content: "";
	width: 100%;
	height: 5px;
	position: absolute;
	top:-5px;
	left: 0;
	background:#EDFAFF;
}
#gnavi .navi ul li{
	margin-right:15px;
	margin-bottom:15px;
	width:calc(100% / 4 - 15px);
	text-align:left;
	box-sizing:border-box;
	font-size:95%;
	background:none;
	padding:0;
}
#gnavi .navi ul li:nth-child(4n){
	margin-right:0px;
}
#gnavi .navi ul li:nth-child(4n+1){
	clear:left;
}
#gnavi .navi ul li{
	padding:0px 12px 0px 15px;
	position:relative;
	display:flex;
	justify-content:flex-start;
	font-size:110%;
	font-weight:normal;
}
#gnavi .navi ul li a{
	font-weight:bold;
	font-size: 90%;
}
#gnavi .navi ul li a:hover{
	text-decoration: none;
}
#gnavi .navi ul li::before{
	width: 6px;
    height: 6px;
    display: block;
    position: absolute;
    left: 0;
    top: 0.3em;
    content: "";
    border-left: 2px solid #124986;
    border-top: 2px solid #124986;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}
/*==============================================================================
	左メニュー
==============================================================================*/
#lnavi{
	font-size:100%;
}
#menu{
	border:1px solid #D8D8D8;
	border-radius: 20px;
	box-shadow: 0 2px 4px rgba(0,0,0,0.2);
	padding-bottom: 30px;
}
/*------------------------------------------------------------------------------
	見出しh2
------------------------------------------------------------------------------*/
#menu h2{
	padding:30px 8px 30px 8px;
	display:block;
	color:#124986;
	border-bottom:1px solid #EBEBEB;
	font-size: 120%;
}
#menu h2 a{
	color:#124986;
}
/* lang属性用 */
#menu h2 span.h2span span{
	padding:0px;
}
/*------------------------------------------------------------------------------
	リンクなし　セパレータ
------------------------------------------------------------------------------*/
#menu h3.separator{
	margin:0px;
	padding:10px 5px 8px 8px;
	background-color:#F0F1F2;
	border-top:2px solid #D8D8D8;
	font-size: 100%;
	color:#124986;
}
#menu h4.separator,#menu h5.separator,#menu h6.separator{
	padding:10px 5px 8px 26px;
	background-color:#F0F1F2;
	border-top:2px solid #D8D8D8;
	font-size: 100%;
	color:#124986;
}
/*------------------------------------------------------------------------------
	詳細メニュー　h3 h4 ul 同じリスト風デザイン
------------------------------------------------------------------------------*/
#menu h3{
	margin:0px;
	font-size: 95%;
	background:#FFF;
	border-bottom:none;
}
#menu h4{
	margin:0px;
	font-size: 95%;
	font-weight:normal;
	background:#FFF;
	border-bottom:none;
}
#menu h5{
	font-size: 93%;
	font-weight:normal;
	background:#FFF;
	border-bottom:none;
}
#menu h3 a{
	padding:16px 5px 16px 28px;
	color:#124986;	
	background:url(images/lnavi/mark_h3_lnavi.svg) no-repeat top 20px left 8px;
}
#menu h3 a:hover{
	color:#222222;
	background-color:#EDFAFF;
	transition:all .5s;
}
#menu h4 a{
	padding:16px 5px 16px 28px;
	color:#124986;
	border-top:1px solid #EBEBEB;
	background:url(images/lnavi/mark_h4_lnavi.svg) no-repeat top 22px left 10px;
}
#menu h5 a{
	padding:8px 5px 8px 35px;
	color:#124986;
	border-top:1px solid #EBEBEB;
	background:url(images/lnavi/mark_h5_lnavi.svg) no-repeat top 15px left 20px;
}
#menu h4 a:hover,
#menu h5 a:hover{
	color:#222222;
	background-color:#EDFAFF;
	transition:all .5s;
}
#menu ul li:not([class]){
	font-size:93%;
}
#menu ul li:not([class]) a{
	padding:10px 5px 10px 23px;
	color:#124986;
	position:relative;
}
#menu ul li:not([class]) a:before{
	width: 4px;
    height: 4px;
    content: '';
    position: absolute;
    top: calc(.5em + 10px);
    left: 10px;
    background-color: #124986;
    border: none;
    border-radius: 50%;
}
#menu ul li:not([class]) a:hover{
	color:#222222;
	background-color:#EDFAFF;
	transition:all .6s;
}
#menu ul li.choice{
	padding:10px 5px 10px 27px;
	display:block;
	position:relative;
	background-color:#EDFAFF;
	font-weight: bold;
}
#menu ul li.choice::before{	
	width:6px;
	height:6px;
	position:absolute;
	top:15px;
	left:10px;
	content:'';
	background-color:#F3AF49;
	border-radius:25px;
}
/*------------------------------------------------------------------------------
	入れ子リスト
------------------------------------------------------------------------------*/
#menu ul.lmenu{
	font-size:100%;
}
#menu ul.lmenu li a{
	padding-left:40px;
	border-bottom:none;
	color:#124986;	
}
#menu ul.lmenu li a::before{
	width: 4px;
    height: 4px;
    content: '';
    position: absolute;
    top: calc(.5em + 10px);
    left: 27px;
    background-color: #124986;
    border: none;
    border-radius: 50%;
}
#menu ul.lmenu li a:hover{
	color:#222222;
	background-color:#EDFAFF;
	transition:all .5s;
}
#menu ul.lmenu li.choice{
	padding-left:40px;
	display:block;
	position:relative;
	color:#222222;
	background-color:#EDFAFF;
	border-bottom:none;
}
#menu ul.lmenu li.choice::before{
	width:6px;
	height:6px;
	content:'';
	position:absolute;
	top:calc(.5em + 10px);
	left:27px;
	background-color:#F3AF49;
	border:none;
	border-radius:50%;
}
/*==============================================================================
	ページ遷移
==============================================================================*/
#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;
	line-height:0;
	display:none;
}
/*------------------------------------------------------------------------------
	ページ戻り
------------------------------------------------------------------------------*/
#guide p.printbtn pconly{
	margin-bottom:30px;
}
#guide span{
	padding: 6px 10px 6px 10px;
	border: 1px solid #B2B2B2;
	border-radius: 20px;
}
#guide span a{
	padding-right:24px;
	background:url(images/content/print.svg) no-repeat right center;
	text-decoration: none;
	color: #222;
}
#guide ul li a{
	color:#124986;
	font-weight: bold;
}
#guide ul li a.pageback{
	margin-right:15px;
	padding-left:20px;
	background:url(images/page/mark_pageback.svg) no-repeat left center;
}
#guide ul li a.pagehome{
	padding-left:20px;
	background:url(images/page/mark_pagehome.svg) no-repeat left center;
}
/*==============================================================================
	フッタ
==============================================================================*/
#topfooterbg, #footerbg{
	background: #0E2641;
}
#footer{
	padding: 70px 0px 80px 0px;
	display: flex;
	flex-wrap: wrap;
	position: relative;
	font-size: 100%;
}
#footer h2{
	color: #FFF;
	font-size: 113%;
}
#footer #footerlayout{
	width: 100%;
}
/*	フッタリンク
------------------------------------------------------------------------------*/
#footerlink{
	background: #124986;
}
#footerlink .container{
	padding: 50px 0;
	margin:auto;
	display: flex;
	width:100%;
	max-width:1200px;
}
#footerlink .container .footerlink{
	margin-right:10px;
	width: calc((100% - 50px) / 6);
	font-feature-settings: "palt";
}
#footerlink .container .footerlink:last-child{
	margin-right:0;
}
#footerlink h2{
	text-align: left;
	font-size: 100%;
}
#footerlink h2 a{
	display: inline-block;
	color: #FFF;
}
#footerlink ul{
	list-style-type: none;
	font-size: 85%;
}
#footerlink ul li{
	margin-right: 5px;
	padding: 2px 0 2px 15px;
	text-align: left;
	position: relative;
}
#footerlink ul li:last-child{
	margin-right: 0;
}
#footerlink ul li::before{
	width: 6px;
    height: 6px;
    display: block;
    position: absolute;
    left: 0;
    top: 0.8em;
    content: "";
    border-left: 2px solid #FFF;
    border-top: 2px solid #FFF;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}
#footerlink ul li a{
	color: #FFF;
	font-size: 94%;
	font-weight: normal;
}
#footerlink #footerlinkgroup{
	display: flex;
	flex-flow: column;
	width: calc((100% - 50px) / 6);
	margin-right: 10px;
}
#footerlink #footerlinkgroup .footerlink{
	width: 100%;
}
#footerlink #footerlinkgroup .footerlink:first-child{
	margin-bottom: 50px;
}
/*	ロゴ・地図
------------------------------------------------------------------------------*/
#footer > p{
	position: absolute;
}
/*	所在地
------------------------------------------------------------------------------*/
#add{
	margin: 0px 20px 0px 260px;
	width: calc((100% - 280px) * 0.55);
    color: #FFF;
    line-height: 1.8;
}
#add address a{
	color:#FFF;
	text-decoration:none;
}
/*	リンク・SNS
------------------------------------------------------------------------------*/
#addlink{
	margin: 30px 0px 20px 0px;
	width: calc((100% - 280px) * 0.45);
}
#addlink ul{
	list-style-type:none;
}
#addlink ul {
	display:flex;
	flex-wrap: wrap;
}
#addlink ul li{
	margin-bottom: 15px;
	width:calc((100% - 45px) / 2);
}
#addlink ul li:nth-child(2n){
	margin-left: 45px;
}
#addlink ul li a{
	padding: 0px 0px 10px 15px;
    color:#FFF;
    font-weight: bold;
	position:relative;
}
#addlink ul li a::before{
    width: 6px;
    height: 6px;
    display: block;
    position: absolute;
    left: 0;
    top: 0.4em;
    content: "";
    border-left: 2px solid #FFF;
    border-top: 2px solid #FFF;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}
#footersnslink{
	width: 100%;
}
#footersnslink ul{
	display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    list-style: none;
}
#footersnslink ul li{
	margin-left: 20px;
	width:auto;
}
#footersnslink ul li a img{
	width: 32px;
	height: auto;
}
/*------------------------------------------------------------------------------
	フッタサイトマップ
------------------------------------------------------------------------------*/
#footernavibg{
	background: #124986;
}
#footernavi {
	margin:auto;
	display: flex;
	flex-wrap:wrap;
}
#footernavi .footernaviinner{
	width:calc(100% / 6);
}
#footernavi h2{
	text-align: left;
}
#footernavi h2 a{
	color:#FFF;
}
#footernavi ul{
	padding:10px 0px 5px 0px;
	text-align:left;
	list-style-type:none;
}
#footernavi ul li{
	margin-bottom:5px;
	padding-left:15px;
	position:relative;
}
#footernavi ul li a{
	color:#FFF;
}
#footernavi ul li::before{
    position:absolute;
    content:'';
    top:.4em;
    left:0;
    height:0;
    width:0;
    border-style:solid;
    border-width:5px 0 5px 8px;
    border-color:transparent transparent transparent #FFF;
}
/*------------------------------------------------------------------------------
	コピーライト
------------------------------------------------------------------------------*/
#copy{
	margin:0px auto 0px auto;
	padding:5px 10px 5px 10px;
	clear:both;
	color:#FFF;
	font-size:75%;
	background:#0E2641;
	text-align:center;
}
/*==============================================================================
	PCサイト・スマホサイトの表示切り替え
==============================================================================*/
#headerwrap{
	display:flex;
	flex-wrap:wrap;
}
#header{
	order:2;
}
#kinkyuinfo{
	order:1;
	width:100%;
	text-align:left;
}
#kinkyuinfo .kinkyu{
	margin: 0px auto 2px auto;
    padding: 0px 0px 10px 0px;
    background: #F5DCDC;
	width:100%;
}
#kinkyuinfo .kinkyuinner{
	margin: auto;
	padding-bottom: 10px;
	max-width: 1200px;
}
#kinkyuinfo .kinkyuinner .articleall2{
	padding-bottom: 10px;
}
#kinkyuinfo .kinkyu h2{
	padding:10px 10px 10px 0px;
	color: #8D2200;
	font-size:175%;
	text-align:left;
}
#kinkyuinfo .kinkyu h3{
	margin: 0px 0px 20px 0px;
    padding: 5px 5px 5px 20px;
    color: #FFF;
    font-size: 115%;
    background: #8D2200;
	cursor:pointer;
}
#kinkyuinfo .kinkyu h3 a{
	color: #FFF;
	text-decoration: none;
}
#kinkyuinfo .kinkyu p{
	padding:0px 15px 5px 15px;
}
#kinkyuinfo .kinkyu ul{
	padding:0px 15px 5px 15px;
	list-style-type:none;
}
#kinkyuinfo .kinkyu ul li{
	margin-bottom:3px;
	padding-left:15px;
	position:relative;
}
#kinkyuinfo .kinkyu ul li::before {
    height:0;
    width:0;
    position:absolute;
    content:'';
    top:0.5em;
    left:0;
    border-style:solid;
    border-width:5px 0 5px 8px;
    border-color:transparent transparent transparent #A01313;
}
#kinkyuinfo .kinkyu ul li a{
	color: #222;
}
/*		色替え
------------------------------------------------------------------------------*/
#kinkyuinfo .kinkyu.color1{
    background: #D8D8D8;
}
#kinkyuinfo .kinkyu.color1 h2{
	color: #050505;
}
#kinkyuinfo .kinkyu.color1 h3.plus2{
    background: #050505 url(images/smp/plus_1.svg) no-repeat right 8px center;
}
#kinkyuinfo .kinkyu.color1 h3.minus2{
    background: #050505 url(images/smp/minus_1.svg) no-repeat right 8px center;
}
#kinkyuinfo .kinkyu.color1 ul li::before{
    border-color:transparent transparent transparent #050505;
}
#kinkyuinfo .kinkyu.color2{
    background: #ECD0EC;
}
#kinkyuinfo .kinkyu.color2 h2{
	color: #9E05AB;
}
#kinkyuinfo .kinkyu.color2 h3.plus2{
    background: #9E05AB url(images/smp/plus_2.svg) no-repeat right 8px center;
}
#kinkyuinfo .kinkyu.color2 h3.minus2{
    background: #9E05AB url(images/smp/minus_2.svg) no-repeat right 8px center;
}
#kinkyuinfo .kinkyu.color2 ul li::before{
    border-color:transparent transparent transparent #9E05AB;
}
#kinkyuinfo .kinkyu.color3{
    background: #F9E1E1;
}
#kinkyuinfo .kinkyu.color3 h2{
	color: #B93127;
}
#kinkyuinfo .kinkyu.color3 h3.plus2{
    background: #B93127 url(images/smp/plus_3.svg) no-repeat right 8px center;
}
#kinkyuinfo .kinkyu.color3 h3.minus2{
    background: #B93127 url(images/smp/minus_3.svg) no-repeat right 8px center;
}
#kinkyuinfo .kinkyu.color3 ul li::before{
    border-color:transparent transparent transparent #B93127;
}
#kinkyuinfo .kinkyu.color4{
    background: #FFFFE4;
}
#kinkyuinfo .kinkyu.color4 h2{
	color: #050505;
}
#kinkyuinfo .kinkyu.color4 h3.plus2{
    background: #FFEC31 url(images/smp/plus_1.svg) no-repeat right 8px center;
}
#kinkyuinfo .kinkyu.color4 h3.minus2{
    background: #FFEC31 url(images/smp/minus_1.svg) no-repeat right 8px center;
}
#kinkyuinfo .kinkyu.color4 h3 a{
    color: #050505;
}
#kinkyuinfo .kinkyu.color4 ul li::before{
    border-color:transparent transparent transparent #FFEC31;
}
/*==============================================================================
	PCサイト・スマホサイトの表示切り替え
==============================================================================*/
#model_change{
	margin:0px auto 0px auto;
	width:auto;
	min-width:960px;
}
#model_change ul{
	width:100%;
	clear:both;
	display:-ms-flexbox;
	display:flex;
	list-style:none;
}
#model_change ul li{
	width:100%;
	font-size:125%;
	font-weight:bold;
}
#model_change li a{
	box-sizing:border-box;
	padding:16px 10px 16px 10px;
	width:100%;
	display:-ms-flexbox;
	display:flex;
	color:#002063;
	background:#dfe0e6;
	text-align:center;
	text-decoration:none;
}
#model_change li a span{
	display:block;
	width:100%;
}
#model_change li a:hover{
	background:rgba(0, 32, 99, 0.6);
}
#model_change #switch_pc_style{
	display:none;
}
/*==============================================================================
	画面幅調整
==============================================================================*/
/*------------------------------------------------------------------------------
	1300px以下
------------------------------------------------------------------------------*/
@media screen and (max-width:1300px){
	#purpose #purposemenu::before{
		right:calc(125 / 1300 * 100vw);
	}
	#headerbg #purpose #purposemenu{
		width: calc((1252) / 1300 * 100vw);
		left: calc((210 - 1252) / 1300 * 100vw);
	}
	#gnavi .navi{
		left:calc(-188 / 1300 * 100vw);
		width: calc(1255 / 1300 * 100vw);
	}
  	#guide p{
		margin-bottom:20px;
	}
	#footerlink .container,#tpath, #pagebody, #guide, #footer, #footernavi, #content2, #content3, #support, #header{
		width:98%;
	}
}
/*------------------------------------------------------------------------------
	1200px以下
------------------------------------------------------------------------------*/
@media screen and (max-width:1200px){
	#lnavi{
		width:20%;
	}
	#content{
		width:calc(80% - 40px);
	}
	#gnavi ul li.scate{
		font-size:100%;
	}
	#emergency p{
		font-size:100%;
	}
	#purpose .pscate > button{
		font-size:100%;
	}
}
/*------------------------------------------------------------------------------
	1075px以下
------------------------------------------------------------------------------*/
@media screen and (max-width:1075px){
	#tlogo{
		margin:calc(20 / 880 * 100%) 0 calc(10 / 880 * 100%) calc(15 / 880 * 100%);
		width: calc(180 / 880 * 100%);
	}
	#gnavi{
		width:100%;
		font-size:.8rem;
	}
	#header{
		position: relative;
	}
	#purpose{
		margin-left:auto;
		width:calc(110 / 880 * 100%);
		font-size:90%;
		border-bottom: 1px solid #efefef;
	}
	#headerbg #purpose #purposemenu{
		left:-600%;
	}
	#topheaderbg #purpose #purposemenu{
		top: 85px;
	}
	#topheaderbg #purpose #purposemenu::before{
		right:calc(195 / 1300 * 100vw);
	}
	#headerbg #purpose #purposemenu::before{
		right:calc(160 / 1075 * 100vw);
	}
	#purpose .pscate > button{
		padding-top:50px;
		background-position: center top 20px;
		background-size: 25px;
	}
	#emergency{
		width:calc(110 / 880 * 100%);
		border-bottom: 1px solid #efefef;
	}
	#emergency p{
		font-size:90%;
	}
	#emergency a{
		border-radius: 0 30px 0 0;
		background-size: 25px;
		padding-top: 50px;
		background-position-y: 20px;
	}
	#gnavi .navi{
		left:0;
		width: calc(1054 / 1075 * 100vw);
	}
	#util{
		flex-basis: 100%;
		order:4;
	}
	#util2{
		width: auto;
		float: left;
		margin-top: -80px;
		margin-left: 180px;
	}
	#gnavi ul li:first-child button{
		border-radius: 0 0 0 30px;
	}
	#gnavi ul li:last-child button{
		border-radius: 0 0 30px 0;
	}
}
/*------------------------------------------------------------------------------
	880px以下
------------------------------------------------------------------------------*/
@media screen and (max-width:880px){
	#footernavi .footernaviinner{
	  	width:calc(100% / 2);
	}
	#purpose #purposemenu{
		top:calc(90 / 880 * 100vw);
	}
	#purpose #purposemenu::before {
	    right: calc(175 / 1300 * 100vw);
	}
}