@charset "utf-8";
/*------------------------------------------------------------------------------
[1] レイアウト[ 配置 + 書式設定その他 ]
[2] 詳細デザイン
------------------------------------------------------------------------------*/
/*******************************************************************************
[1] レイアウト[ 配置 + 書式設定その他 ]
*******************************************************************************/
/*==============================================================================
	配置
==============================================================================*/
#wrapbg,#wrap{
	min-width:1000px;
}
#headerbg,#topheaderbg{
	position:relative;
}
#headerbg #header{
	max-width:1450px;
	width:calc(100% - 200px);
}
@media (max-width:1450px){
	#headerbg #header{
	max-width:1200px;
	width:100%;
	}
}
#gnavibg #gnavi{
	max-width:1400px;
}
#pagebody{
	padding-bottom:30px;
}
/*==============================================================================
	書式設定その他
==============================================================================*/
body,input,select,textarea,button{
	font-family:"BIZ UDPGothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
	font-weight:normal;
	letter-spacing:.075em;
}
/*******************************************************************************
[2] 詳細デザイン
*******************************************************************************/
/*==============================================================================
	ヘッダ
==============================================================================*/
#header{
	padding:0px;
	max-width:1200px;
	min-width:1000px;
	display:flex;
	flex-wrap:wrap;
	justify-content: space-between;
	align-items: flex-start;
	font-size: 100%;
}

#tlogowrap {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 53.5%;
	max-width: 790px;
	padding: 40px 0px 15px;
}
#tlogo{
	width: 35%;
	margin:0px;
	padding-top: 1.25vw;
}
#utilmenuwrap{
    width: 45%;
    max-width: 652px;
    margin-bottom: 15px;
	display: flex;
	justify-content: space-between;
	align-self: flex-start;
	align-items:center;
    box-sizing: border-box;
}
#util{
    width: calc(100% - 175px);
}
#headerlinkwrap {
	width: 59.25%;
}
/*------------------------------------------------------------------------------
	headerlink
------------------------------------------------------------------------------*/
#headerlink .flexstyle1 {
	margin: 0px;
	gap: 15px;
	font-size: 1.25em;
}
@media screen and (max-width: 1620px){
	#headerlink .flexstyle1{
		font-size: 1.1em;
	}
}
@media screen and (max-width: 1460px){
	#headerlink .flexstyle1{
		font-size: 1em;
	}
}
#headerlink .flexstyle1 li {
	width: calc((100% - 15px * 2) / 3);
	margin: 0px;
	background: none;
}
#headerlink .flexstyle1 li a {
	flex-direction: column;
	justify-content: center;
	padding: 1.3em 0.2em;
	border-radius: 20px;
	background-color: #0863BE;
	box-shadow: none;
	transition:none;
	transition:background .5s;
}
#headerlink .flexstyle1 li.portal a {
	background-color: #B40000;
}
/*------------------------------------------------------------------------------
	kinkyuinfo
------------------------------------------------------------------------------*/
#headerlinkwrap .kinkyuinfo {
	margin-top: 15px;
}
#headerlinkwrap .kinkyuinfo a {
	position: relative;
	display: block;
	padding: 1em 8px 1em 57px;
	border: 2px solid #B40000;
	border-radius: 10px;
	background: #FEEDEB url(images/header/kinkyuicon.png) 10px center no-repeat;
	color: #B40000;
	font-weight: 700;
	font-size: 1.125em;
	text-decoration: none;
}
#headerlinkwrap .kinkyuinfo a::after {
	display: block;
	content: "";
	position: absolute;
	right: 1em;
	top: 50%;
	width: 0.45em;
	height: 0.45em;
	border-right: 3px solid #B40000;
	border-bottom: 3px solid #B40000;
	transform: translateY(-50%) rotate(-45deg);
}
/*------------------------------------------------------------------------------
	util2
------------------------------------------------------------------------------*/
#util2 {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5em 1em;
	padding: 15px 20px;
	border-radius: 0px 0px 20px 20px;
	background-color: #E1E1E1;
}
#util2 #fontsize a {
	display: inline-block;
	position: relative;
	padding-left: 1.25em;
	text-decoration: none;
	color: #222222;
	text-align: left;
}
#util2 #fontsize a::before {
	content: "";
	display: block;
	position: absolute;
	left: 0px;
	top: 0.5em;
	width: 0.4em;
	height: 0.4em;
	border-right: 2px solid #0863BE;
	border-bottom: 2px solid #0863BE;
	transform: rotate(-45deg);
}
#util2 #translation select {
	width: 14em;
	padding: 0.5em;
	border: 2px solid #ccc;
	border-radius: 0.4375em;
	background-color: #fff;
	box-sizing: border-box;
}
#util2 #translation{
	position:relative;
	text-align:left;
}
#util2 #translation button{
	margin:0px;
	padding: 0.5em;
	width: 14em;
	position:relative;
	border: 2px solid #ccc;
	border-radius: 0.4375em;
	background-color: #fff;
	text-align:left;
	box-sizing: border-box;
	-webkit-appearance:none;
}
#util2 #translation button::before {
	content: "";
	display: block;
	position: absolute;
	right: 10px;
	top: 0.75em;
	width: 0.4em;
	height: 0.4em;
	border-right: 2px solid #0863BE;
	border-bottom: 2px solid #0863BE;
	transform: rotate(45deg);
}
#util2 #translation #translationlist{
	padding:3px;
	width:100%;
	display:none;
	position:absolute;
	top:100%;
	left:0;
	z-index:9999;
	background-color: #fff;
	border: 1px solid #ccc;
	border-radius: 0.4375em;
	box-sizing: border-box;
}
#util2 #translation #translationlist{
	list-style:none;
}
#util2 #translation #translationlist a{
	padding:5px 7px;
	display:block;
	color:#222;
	text-decoration:none;
}
#util2 #translation #translationlist a:hover,
#util2 #translation #translationlist a:focus{
	background-color: #EFEFEF;
}
/*==============================================================================
	検索
==============================================================================*/
#sitesearch {
	position: relative;
	margin-top: 1em;
}
/*------------------------------------------------------------------------------
	リセットCSS（アンケートシステム）
------------------------------------------------------------------------------*/
#sitesearch.ui-widget,#sitesearch.ui-widget input,#sitesearch.ui-widget select,#sitesearch.ui-widget textarea,#sitesearch.ui-widget button{
	font-family:"BIZ UDPGothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
}
#sitesearch.ui-widget.ui-widget-content,
#sitesearch .ui-widget-header,
#sitesearch .ui-widget-content,
#sitesearch .ui-state-default,
#sitesearch .ui-widget-content .ui-state-default,
#sitesearch .ui-widget-header .ui-state-default,
#sitesearch .ui-button,
#sitesearch .ui-button.ui-state-disabled:hover,
#sitesearch .ui-button.ui-state-disabled:active{
	border:none;
	background:none;
}
/*------------------------------------------------------------------------------
	タブ表示（サイト内検索／ページ番号検索）
------------------------------------------------------------------------------*/
#searchtab{
	width:calc(100% - 92px);
	list-style-type:none;
	display:flex;
	box-sizing:border-box;
	justify-content:space-between;
}
#searchtab li{
	width:calc(50% - 5px);
	border:none;
	background:none;
}
#searchtab li a{
	padding:15px 30px 15px 30px;
	display:block;
	font-weight:bold;
	color:#FFF;
	font-size:110%;	
	font-weight:normal;
	background-color:#0062B8;
	border-bottom:none;	
	text-decoration:none;
	text-align:center;
	transition:all .5s;
}
#searchtab li.ui-tabs-active a{
	color:#222222;
	background:#FFF;
	position:relative;
	font-weight:bold;
}
#searchtab li a:hover,
#searchtab li.ui-tabs-active a:hover{
	color:#222222;
	background:#D0E7FF;
}
/*------------------------------------------------------------------------------
	サイト内検索
------------------------------------------------------------------------------*/
#googlesearch{
	line-height:normal;
}
#googlesearch table{
	margin:0;
	padding:0;
	max-width:100%;
	border:none;
	border-collapse:collapse;
	empty-cells:inherit;
}
#googlesearch th{
	margin:0;
	padding:0;
	background:none;
	border:none;
}
#googlesearch td{
	margin:0;
	padding:0;
	border:none;
}
#searchmenu .gsc-input-box{
	padding:0;
	height:auto;
	border:none;
}
#searchmenu{
	margin-top: 0.7em;
	padding: 0px;
	box-sizing:border-box;
}
#searchmenu form{
	margin:0px auto 20px auto;
	width:60%;
}
#searchmenu label img{
	vertical-align:middle;
}
#sitesearch input{
	box-sizing:border-box;
	font-size:100%;
	vertical-align:middle;
	-webkit-appearance:none;
}
#searchmenu #key,
#searchmenu .gsc-input-box input{
	padding:12px 8px!important;
	width: calc(100% - 92px);
	height:auto!important;
	display:inline-block;
	vertical-align:middle;
	box-sizing:border-box;
	background-position:left 10px center!important;
	border: 3px solid #ccc !important;
	border-radius: 1em !important;
	box-sizing: border-box;
}
#searchmenu .gsc-input{
	padding-right:6px;
}
#searchmenu .gsc-input-box{
	width:100%;
}
#searchmenu .submit{
	padding:12px 30px 12px 30px!important;
	width: 82px;
	box-sizing:border-box;
	display:inline-block;
	vertical-align:middle;
	color:#FFF;
	font-size:100%!important;
	padding: 0.8em 0px !important;
	background:#0863BE url(images/header/search.svg) no-repeat center center !important;
	border:none !important;
	border-radius: 0.75em !important;
	font-size: 1.25em;
	text-indent:-99999px;
	-webkit-appearance:none;
}
#searchmenu .gsc-search-button-v2{
	margin:0;
	width: 82px;
	padding: 0.5em 0px !important;
	background-color:#0863BE !important;
	border:none !important;
	border-radius: 0.75em !important;
	font-size: 1.25em;
}
#searchmenu .gsc-search-button-v2 svg{
	width:1.5em;
	height:1.5em;
}
/*------------------------------------------------------------------------------
	ページ番号検索
------------------------------------------------------------------------------*/
#searchmenu .navidetail{
	
}
#searchmenu .navidetail form{
	width:100%;	
}
#searchmenu .navidetail input[type="text"]{
	padding:12px 8px!important;
	width: calc(100% - 92px);
	height:auto!important;
	display:inline-block;
	vertical-align:middle;
	box-sizing:border-box;
	background-position:left 10px center!important;
	border: 3px solid #ccc !important;
	border-radius: 1em !important;
	box-sizing: border-box;
}
#searchmenu .navidetail #idbtn{
	padding:12px 30px 12px 30px!important;
	width: 82px;
	box-sizing:border-box;
	display:inline-block;
	vertical-align:middle;
	color:#FFF;
	font-size:100%!important;
	padding: 0.8em 0px !important;
	background-color:#0863BE !important;
	border:none !important;
	border-radius: 0.75em !important;
	font-size: 1.25em;
	-webkit-appearance:none;
}
#searchmenu #idresult p{
	margin:0px;
	color:#c50000;
	font-weight:bold;
	text-align:left;
}
/*==============================================================================
	検索
==============================================================================*/
#searchtab li a{
	display: block;
	padding: 0.45em 0px;
	border-radius: 1em;
	background-color:#0062B8;
	border: 2px solid #0062B8;
	font-size: 1em;
}
@media screen and (max-width: 1540px){
	#searchtab li a{
		font-size: .87em;
	}
}
#searchtab li.ui-tabs-active a{
	color:#222222;
	background:#FFF;
	border: 2px solid #0062B8;
}
#searchtab li.ui-tabs-active a::before,
#searchtab li.ui-tabs-active a::after{
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	margin-left: -5px;
	border-style: solid;
	border-width: 10px 5px;
}
#searchtab li.ui-tabs-active a::before {
	bottom: -20px;
	border-color: #0062B8 transparent transparent transparent;
}
#searchtab li.ui-tabs-active a::after{
	bottom: -16px;
	border-color: #fff transparent transparent transparent;
	transition: all .5s;
}
#searchtab li a:hover,
#searchtab li.ui-tabs-active a:hover{
	color:#FFF;
	background:#0062B8;
}
#searchtab li.ui-tabs-active a:hover::after{
	border-color: #0062B8 transparent transparent transparent;
}

#searchmenu .howto {
	position: absolute;
	right: 18px;
	top: 0px;
}
#searchmenu form {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: auto;
	margin: 0px;
}
#searchmenu input#key {
}
#searchmenu input[type="submit"] {
}


/*==============================================================================
	ドロップダウン
==============================================================================*/
/*------------------------------------------------------------------------------
	いざという時に
------------------------------------------------------------------------------*/
#smpmenup1bg .bmenu > button{
	margin: 0px;
	width: 130px;
	padding: 40px 10px 15px 10px;
	box-sizing: border-box;
	color: #FFF;
	font-weight: bold;
	background-color: #cc0000;
	border: none;
	border: 3px solid #cc0000;
	text-align: center;
	cursor: pointer;
	box-shadow: 0px 0px 3px 0px #333;
	z-index: 1;
}
#smpmenup1bg .bmenu button{
	display: inline-block;
	position: relative;
}
#smpmenup1bg .bmenu > button::after{
    margin-left:-6px;
    width:6px;
    height:6px;
    display:block;
    left:50%;
    bottom:8px;
    position:absolute;
    content:"";
    border-top:2px solid #FFF;
    border-right:2px solid #FFF;
    -webkit-transform:rotate(135deg);
    transform:rotate(135deg);
}
#smpmenup1bg .bmenu button.choice{
	background-color:#cc0000;
	border:3px solid #cc0000;
}
#smpmenup1bg .bmenu > button.choice::after{
    margin-left:-6px;
    width:6px;
    height:6px;
    display:block;
    left:50%;
    bottom:5px;
    position:absolute;
    content:"";
    border-top:2px solid #FFF;
    border-right:2px solid #FFF;
    -webkit-transform:rotate(-45deg);
    transform:rotate(-45deg);
}
#smpmenup1bg #emergencymenu{
	padding:30px;
	width:800px;
	height:auto;
	display:none;
	position:absolute;
	top:100%;
	right:0;
	box-sizing:border-box;
	background-color:#FFFEDF;
	border:3px solid #FFFEDF;
	box-shadow:0px 0px 3px 0px #333;
	z-index:19991;
}
#emergencymenu .flexstyle1{
	margin: 25px auto 25px auto;
	justify-content: center;
	gap: 30px;
}
#emergencymenu .flexstyle1 li{
	width: 180px;
	margin: 0px;
	background: none;
}
#emergencymenu .flexstyle1 li a{
	padding: 20px 10px 10px;
	background-color: #BB4424;
	box-shadow: none;
}
#emergencymenu .flexstyle1 li a img{
	margin: 0px auto 10px;
}
/*------------------------------------------------------------------------------
	目的別検索
------------------------------------------------------------------------------*/
#smpmenup2bg .bmenu > button {
	position: relative;
	z-index: 19992;
	width: 155px;
	height: 155px;
	margin: 0px;
	padding: 55px 0px 0px;
	border-radius: 50%;
	border: 3px solid #0863BE;
	background: #fff url(images/header/sicon.svg) center 32px / 48px 48px no-repeat;
	font-size: 1.125em;
	font-weight: 700;
	-webkit-appearance:none;
}
#smpmenup2bg .bmenu button {
	display: block;
}
#smpmenup2bg .bmenu > button::after{
    margin-left:-6px;
    width:6px;
    height:6px;
    display:block;
    left:50%;
    bottom:14px;
    position:absolute;
    content:"";
    border-top:3px solid #0863BE;
    border-right:3px solid #0863BE;
    -webkit-transform:rotate(135deg);
    transform:rotate(135deg);
}
#smpmenup2bg .bmenu button.choice{
	background-image: url(images/header/close.svg);
}
#smpmenup2bg .bmenu > button.choice::after{
    margin-left:-6px;
    width:6px;
    height:6px;
    display:block;
    left:50%;
    bottom:14px;
    position:absolute;
    content:"";
    border-top:3px solid #0863BE;
    border-right:3px solid #0863BE;
    -webkit-transform:rotate(-45deg);
    transform:rotate(-45deg);
}
#smpmenup2bg #smpmenup1menu{
	padding: 50px 100px 60px;
	width: 100%;
	height:auto;
	display:none;
	position:absolute;
	top: 150px;
	right: 0;
	box-sizing:border-box;
	background-color: #D2F1F7;
	z-index:19991;
}
#smpmenup1menu ul{
	gap: 30px;
	margin: 0px;
	font-size: 1.5em;
	list-style:none;
}
#smpmenup1menu ul li {
	width: calc((100% - 30px * 4) / 5);
	min-height: calc((100vw - (200px + 30px * 4)) / 5);
	margin: 0px;
	background: none;
}
#smpmenup1menu ul li a {
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: #fff;
	border-radius: 30px;
	box-shadow: none;
	color: #222;
}
#smpmenup1menu ul li a > img {
	width: 43.5%;
}
#smpmenup2bg dl{
	margin-bottom: 15px;
}
#smpmenup2bg dt{
	margin-bottom:15px;
	padding-left:10px;
	display:block;
	color:#222;
	font-size:120%;
	font-weight:bold;
	border-left:10px solid #f9f22e;
	line-height:1.4;
}
/*	閉じるボタン
------------------------------------------------------------------------------*/
#emergencymenu button.psclose,
#smpmenup1menu button.psclose{
	position: relative;
	margin: 40px auto 0px;
	padding: 0.5em 1em 0.5em 2.25em;
	border:none;
	color:#FFF;
	background-color: #055DB5;
	border-radius: 1.5em;
	line-height:1.2;
	cursor:pointer;
	-webkit-appearance:none;
}
#emergencymenu button.psclose::before,
#emergencymenu button.psclose::after,
#smpmenup1menu button.psclose::before,
#smpmenup1menu 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:#fff;
}
#emergencymenu button.psclose::before,
#smpmenup1menu button.psclose::before{
	-moz-transform:rotate(45deg);
	-webkit-transform:rotate(45deg);
	transform:rotate(45deg);
}
#emergencymenu button.psclose::after,
#smpmenup1menu button.psclose::after{
	-moz-transform:rotate(-45deg);
	-webkit-transform:rotate(-45deg);
	transform:rotate(-45deg);
}
/*==============================================================================
	グローバルナビ
==============================================================================*/
#gnavi{
	position:relative;
}
#gnavibg,#topgnavibg{
	background: url(images/gnav/navbg.png) center / auto 100% repeat-x;
}
#gnavi ul#topscate{
	display:flex;
	box-sizing:border-box;
	font-weight:bold;
}
#gnavi ul li.scate{
	box-sizing:border-box;
	width:100%;
	font-size: 100%;
	line-height: 1.2;
	border-left: 2px solid #65B4DC;
}
#gnavi ul li.scate:last-child{
	border-right: 2px solid #65B4DC;
}
/*	閉じるボタン
------------------------------------------------------------------------------*/
#gnavi ul#topscate li button{
	display: flex;
	align-items: flex-start;
	justify-content: center;
	margin: 0px;
	padding: 95px 0.5em 0.75em;
	width:100%;
	height: 100%;
	font-size: 1.375em;
	background-color: transparent;
	background-position: center 20px;
	background-size: 70px;
	background-repeat: no-repeat;
	border:none;
	cursor:pointer;
	box-sizing:border-box;
	transition:all .6s;
	-webkit-appearance:none;
}
@media screen and (max-width: 1570px){
	#gnavi ul#topscate li button{
		font-size: 1.2em;
	}
}
@media screen and (max-width: 1400px){
	#gnavi ul#topscate li button{
		font-size: 1em;
	}
}
#gnavi ul#topscate li.scate1 button{
	background-image: url(images/gnav/nav01.svg);
}
#gnavi ul#topscate li.scate2 button{
	background-image: url(images/gnav/nav02.svg);
}
#gnavi ul#topscate li.scate3 button{
	background-image: url(images/gnav/nav03.svg);
}
#gnavi ul#topscate li.scate4 button{
	background-image: url(images/gnav/nav04.svg);
}
#gnavi ul#topscate li.scate5 button{
	background-image: url(images/gnav/nav05.svg);
}
#gnavi ul#topscate li.scate6 button{
	background-image: url(images/gnav/nav06.svg);
}
#gnavi ul#topscate li.scate7 button{
	background-image: url(images/gnav/nav07.svg);
}
#gnavi ul#topscate li.scate8 button{
	background-image: url(images/gnav/nav08.svg);
}
#gnavi ul#topscate li.scate9 button{
	background-image: url(images/gnav/nav09.svg);
}
/*
#gnavi ul#topscate li button::after{
    margin-left:-6px;
    width:6px;
    height:6px;
    display:block;
    left:50%;
    bottom:10px;
    position:absolute;
    content:"";
    border-top:2px solid #FFF;
    border-right:2px solid #FFF;
    -webkit-transform:rotate(135deg);
    transform:rotate(135deg);
}
#gnavi ul#topscate li button:hover,
#gnavi ul#topscate li button.choice,
#gnavi ul li a:hover,
#gnavi ul li a.choice{
	box-sizing:border-box;
	color:#FFFFFF;
	background:#003168;
}
*/
/*------------------------------------------------------------------------------
	開閉メニュー
------------------------------------------------------------------------------*/
#gnavi .navi{
	width:100%;
	display:none;
	position:absolute;
	top:100%;
	left:0;
	z-index:9999;
	padding-top:25px;
}
#gnavi .navi a{
	color:#222;
	text-decoration:underline;
}
#gnavi .navi .gnavilower{
	padding:10px 40px 10px 40px;
	background:#FFF;
	border-top:3px solid #0863BE;
	border-left:3px solid #0863BE;
	border-right:3px solid #0863BE;
	border-radius:20px 20px 0 0;
	position:relative;
	z-index:2;
}
#gnavi .navi .gnavidetail{
	float:left;
	font-size:130%;
	font-weight:bold;
}
#gnavi .navi .gnavidetail a{
	padding:20px 20px 20px 0px;
	display:block;
	position:relative;
	color:#222;
	font-weight:bold;
}
#gnavi .navi .gnavidetail a:hover{
	background:transparent;
}
#gnavi .navi .gnavidetail a::after,
#gnavi .navi ul li a::after{
	content:none;
}
/*	閉じるボタン
------------------------------------------------------------------------------*/
#gnavi ul#topscate .navi button.gnaviclose{
	padding:10px 10px 8px 40px;
	height:auto;
	display:block;
	position:absolute;
	right:20px;
	left:auto;
	top:42px;
	font-size:90%;
	color:#fff;
	background:#055DB5;
	border-radius:100vh;
	text-decoration:none;
	line-height:1.2;
	cursor:pointer;
	width:auto;
	z-index:4;
	-webkit-appearance:none;
}
#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:#fff;
}
#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;
	clear:both;
	background:#FFF;
	border-bottom:3px solid #0863BE;
	border-left:3px solid #0863BE;
	border-right:3px solid #0863BE;
	border-radius:0 0 20px 20px;
}
#gnavi .navi ul li{
	margin-right:15px;
	margin-bottom:15px;
	width:calc(100% / 4 - 15px);
	text-align:left;
	box-sizing:border-box;
	font-size:100%;
	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-weight:normal;
}
#gnavi .navi ul li a{
	font-weight:normal;
}
#gnavi .navi ul li::before{
	width: 6px;
	height: 6px;
	display: block;
	position: absolute;
	left: 0;
	top: .3em;
	content: "";
	border-right: 2px solid #0863BE;
	border-top: 2px solid #0863BE;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
/*------------------------------------------------------------------------------
	吹き出しの矢印
------------------------------------------------------------------------------*/
#gnavi .navi::before{
	content:"";
	position:absolute;
	top:0px;
	border-style:solid;
	border-width:0px 19px 25px 19px;
	border-color:transparent transparent #0863BE transparent;
	z-index:1;
}
#gnavi .navi::after{
	content:"";
	position:absolute;
	top:5px;
	border-style:solid;
	border-width:0px 19px 25px 19px;
	border-color:transparent transparent #FFF transparent;
	z-index:3;
}
#gnavi #list1::before,
#gnavi #list1::after{
	left:calc((11.111% - 38px) / 2);
}
#gnavi #list2::before,
#gnavi #list2::after{
	left:calc(11.111% + (11.111% - 38px) / 2);
}
#gnavi #list3::before,
#gnavi #list3::after{
	left:calc(22.222% + (11.111% - 38px) / 2);
}
#gnavi #list4::before,
#gnavi #list4::after{
	left:calc(33.333% + (11.111% - 38px) / 2);
}
#gnavi #list5::before,
#gnavi #list5::after{
	left:calc(44.444% + (11.111% - 38px) / 2);
}
#gnavi #list6::before,
#gnavi #list6::after{
	left:calc(55.555% + (11.111% - 38px) / 2);
}
#gnavi #list7::before,
#gnavi #list7::after{
	left:calc(66.666% + (11.111% - 38px) / 2);
}
#gnavi #list8::before,
#gnavi #list8::after{
	left:calc(77.777% + (11.111% - 38px) / 2);
}
#gnavi #list9::before,
#gnavi #list9::after{
	left:calc(88.888% + (11.111% - 38px) / 2);
}
/*==============================================================================
	左メニュー
==============================================================================*/
#menu{
	padding-bottom:15px;
	background:#FFFFFF;
	border:3px solid #0863BE;
	border-radius:20px;
}
#menu a{
	transition:all .5s;
}
/*------------------------------------------------------------------------------
	見出しh2
------------------------------------------------------------------------------*/
#menu h2{
	padding:40px 8px 35px 8px;
	display:block;
	color:#222;
	background:transparent;
}
#menu h2 a{
	color:#222;
}
/* lang属性用 */
#menu h2 span.h2span span{
	padding:0px;
}
/*------------------------------------------------------------------------------
	リンクなし　セパレータ
------------------------------------------------------------------------------*/
#menu h3.separator{
	margin:0px;
	padding:13px 5px 13px 8px;
	background:#E3F6F9;
	border-top:1px solid #A3E3EE;
}
#menu h4.separator,#menu h5.separator,#menu h6.separator{
	margin:0px 0px 0px 10px;
	padding:13px 5px 13px 6px;
	background:#E3F6F9;
	border-top:1px solid #A3E3EE;
}
/*------------------------------------------------------------------------------
	詳細メニュー　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:14px 5px 14px 23px;
	color:#222;
	background:#D2F1F7;
	border-top:1px solid #A3E3EE;
	position:relative;
}
#menu h3 a::before{
	width:4px;
	height:calc(100% - 28px);
	content:"";
	position:absolute;
	top:14px;
	left:8px;
	background:#0863BE;
	border-radius:4px;
}
#menu h3 a:hover{
	color:#222;
	background:#E3F6F9;
}
#menu h4 a{
	padding:14px 5px 14px 23px;
	color:#222;
	border-top:1px solid #A3E3EE;
	position:relative;
}
#menu h5 a{
	padding:14px 5px 14px 23px;
	color:#222;
	border-top:1px solid #A3E3EE;
	position:relative;
}
#menu h4 a::before,
#menu h5 a::before{
	content:'';
	width:8px;
	height:8px;
	box-sizing:border-box;
	position:absolute;
	top:calc(.75em - 6px + 14px);
	left:8px;
	border-top:solid 2px #0863BE;
	border-right:solid 2px #0863BE;
	transform:rotate(135deg);
}
#menu h4 a:hover,
#menu h5 a:hover{
	color:#222;
	background:#E3F6F9;
}
#menu ul li:not([class]) a{
	padding:14px 5px 14px 23px;
	color:#222;
	border-top:1px solid #A3E3EE;
	position:relative;
}
#menu ul li:not([class]) a::before,
#menu ul li.choice::before{
	content:'';
	width:8px;
	height:8px;
	box-sizing:border-box;
	position:absolute;
	top:calc(.75em - 6px + 14px);
	left:8px;
	border-top:solid 2px #0863BE;
	border-right:solid 2px #0863BE;
	transform:rotate(45deg);
}
#menu ul li:not([class]) a:hover{
	color:#222;
	background:#E3F6F9;
}
#menu ul li.choice{
	padding:14px 5px 14px 23px;
	display:block;
	position:relative;
	color:#FFF;
	background:#0863BE;
	border-top:1px solid #A3E3EE;
}
#menu ul li.choice::before{
	border-color:#FFF;
}
/*------------------------------------------------------------------------------
	入れ子リスト
------------------------------------------------------------------------------*/
#menu ul.lmenu li{
	margin-left:10px;
}
#menu ul.lmenu li a{
	border-top:1px solid #A3E3EE;
	border-bottom:none;
	position:relative;
}
#menu ul.lmenu li a::before,
#menu ul.lmenu li.choice::before{
	width:5px;
	height:5px;
	content:'';
	position:absolute;
	top:calc(.75em - 3px + 14px);
	left:8px;
	background-color:#0863BE;
	border:none;
	border-radius:50%;
}
#menu ul.lmenu li a:hover{
	color:#222;
	background-color:#E3F6F9;
}
#menu ul.lmenu li.choice{
	display:block;
	color:#FFF;
	background-color:#0863BE;
	border-top:1px solid #A3E3EE;
	border-bottom:none;
}
#menu ul.lmenu li.choice::before{
	background:#FFF;
}
/*  フォーカス　*/
#menu h2 a:focus{
	z-index: 1;
	position: relative;
	outline: 2px solid #000;
}
#menu h3 a:focus,
#menu h4 a:focus,
#menu h5 a:focus{
	z-index: 1;
}
#menu ul li a:focus{
	z-index: 1;
}
/*==============================================================================
	ページ遷移
==============================================================================*/
#guide ul,#guide ul li{
	display:inline;
}
/*------------------------------------------------------------------------------
	このページのトップへ
------------------------------------------------------------------------------*/
#guide p.pagetop{
    display:block;
    clear:both;
    text-align:right;
    position:fixed;
    right: 0px;
    bottom: 40px;
    z-index:10000;
	line-height:0;
	display:none;
}
#guide p.pagetop a{
	padding-left:18px;
}
#guide p.pagetopnoscript{
    display:block;
    clear:both;
    text-align:right;
    position:fixed;
    right:30px;
    bottom:25px;
    z-index:10000;
    line-height:0;
}
/*------------------------------------------------------------------------------
	ページ戻り
------------------------------------------------------------------------------*/
#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-block;
	font-size:95%;
}
#guide .viewmode dl,#guide .viewmode dt,#guide .viewmode dd{
	display:inline-block;
}
#guide .viewmode dl::after{
	content:"";
	display:block;
	clear:both;
}
#guide .viewmode dl{
	margin-left:10px;
	vertical-align:middle;
}
#guide .viewmode dt{
	padding:5px 15px 5px 15px;
	display:inline-block;
	vertical-align:middle;
	font-weight:bold;
}
#guide .viewmode dd{
	vertical-align:middle;
	border:1px solid #CCCCCC;
	border-radius:5px;
}
#guide .viewmode ul{
	margin:0px;
	display:table;
	list-style-type:none;
}
#guide .viewmode ul li{
	display:table-cell;
	text-align:center;
	white-space:nowrap;
}
#guide .viewmode dd a{
	padding:8px 25px 8px 25px;
	display:block;
	color:#222;
}
#guide .viewmode a#viewmode_pc{
	border-right:1px solid #CCC;
	background:#FFF;
	text-decoration:none;
	border-radius:5px 0 0 5px;
}
#guide .viewmode a#viewmode_pc:hover{
	text-decoration:underline;
}
#guide .viewmode a#viewmode_smp{
	border:none;
	background:#EEEEEE;
	border-radius:0 5px 5px 0;
}
#guide .viewmode a#viewmode_smp:hover{
	background:#FFF;
}

/*==============================================================================
	フッタ
==============================================================================*/
#footerbg,#topfooterbg{
	padding-top:360px;
	position:relative;
	background:url(images/footer/footer_img.png) no-repeat top center,#F2DEBC url(images/footer/footer_bg.svg) repeat-x top center;
	overflow:hidden;
}
#footer{
	max-width:1120px;
	position:relative;
}
/*------------------------------------------------------------------------------
	フッタイラスト
------------------------------------------------------------------------------*/
#footerbg::before,#topfooterbg::before{
	content:"";
	width:308px;
	height:326px;
	position:absolute;
	left:0;
	top:143px;
	background:url(images/footer/seaweed_left.png) no-repeat center center;
}
#footerbg::after,#topfooterbg::after{
	content:"";
	width:247px;
	height:254px;
	position:absolute;
	right:0;
	top:130px;
	background:url(images/footer/seaweed_right.png) no-repeat center center;
}
@media screen and (max-width:1600px){
	#footerbg::before,#topfooterbg::before{
		content:none;
	}
	#footerbg::after,#topfooterbg::after{
		content:none;
	}
	#footer::before{
		content:"";
		width:308px;
		height:326px;
		position:absolute;
		left:-238px;
		top:-217px;
		background:url(images/footer/seaweed_left.png) no-repeat center center;
	}
	#footer::after{
		content:"";
		width:247px;
		height:254px;
		position:absolute;
		right:-247px;
		top:-230px;
		background:url(images/footer/seaweed_right.png) no-repeat center center;
	}
}
#add{
	position:relative;
	z-index:1;
}
/*------------------------------------------------------------------------------
	フッタメニュー
------------------------------------------------------------------------------*/
#footernavi,#topfooternavi{
}
#footernavi ul,#topfooternavi ul{
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	list-style-type:none;
}
#footernavi ul li,#topfooternavi ul li{
	width: calc((100% - 12px * 3) / 4);
}
#footernavi ul li a,#topfooternavi ul li a{
	display: block;
	position: relative;
	padding: 0.75em 1.5em;
	background: #fff;
	border-radius: 1.5em;
	color: #222;
	text-decoration: none;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}
#footernavi ul li a::before, #topfooternavi ul li a::before{
    position:absolute;
    content:'';
    right: 1em;
    top: 50%;
    width: 0.5em;
    height: 1em;
    transform: translateY(-50%);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% auto;
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%227.638%22%20height%3D%2211.543%22%20viewBox%3D%220%200%207.638%2011.543%22%3E%20%3Cpath%20d%3D%22M1.3%2C3.574l4.487%2C3.85L1.3%2C11.274a1.092%2C1.092%2C0%2C0%2C0%2C1.423%2C1.658L8.181%2C8.253a1.092%2C1.092%2C0%2C0%2C0%2C0-1.658L2.728%2C1.916A1.092%2C1.092%2C0%2C0%2C0%2C1.3%2C3.574Z%22%20transform%3D%22translate(-0.924%20-1.652)%22%20fill%3D%22%230863be%22%2F%3E%3C%2Fsvg%3E');
}
/*------------------------------------------------------------------------------
	所在地、リンクなど
------------------------------------------------------------------------------*/
#footer{
	padding: 0px;
	font-size: 100%;
}
#footer h2 {
	position: relative;
	z-index: 10;
	margin-bottom: 0.5em;
	font-size: 1.625em;
}
#add{
	margin-bottom: 1em;
}
#addlink{
}
#add h2{
	margin-bottom:10px;
	font-size:160%;
	text-align:left;
}
#addlink ul{
	display:flex;
	list-style-type:none;
}
#addlink ul li{
	margin-left:10px;
	width:calc(100% / 3);
}
#addlink ul li a{
	padding-top:60px;
	padding-bottom:10px;
	width:100%;
	height:100%;
	display:flex;
	color:#222;
	line-height:1.2;
	flex-wrap:wrap;
	text-decoration:none;
	text-align:center;
	align-items:center;
	justify-content:center;
	box-sizing:border-box;
	border:1px solid #CCC;
	transition:all .6s;
}
#copy{
	padding: 30px 0px;
	text-align: center;
	font-size: 0.75em;
}