@charset "utf-8";
/*------------------------------------------------------------------------------
[1] レイアウト[ 配置 + 書式設定その他 ]
[2] 詳細デザイン
------------------------------------------------------------------------------*/
/*******************************************************************************
[1] レイアウト[ 配置 + 書式設定その他 ]
*******************************************************************************/
/*==============================================================================
	配置
==============================================================================*/
#wrapbg{
	background:linear-gradient(180deg , #F4EBD5 0px ,#FFFFFF 130px)
}
/*==============================================================================
	書式設定その他
==============================================================================*/
/*------------------------------------------------------------------------------
	游ゴシックの場合コメント外す、不要な場合は削除
------------------------------------------------------------------------------*/
/*
body,input,select,textarea,button{
	font-family:"游ゴシック","Yu Gothic","游ゴシック体",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
	font-weight:500;
}
*/
/*******************************************************************************
[2] 詳細デザイン
*******************************************************************************/
#wrapbg,#wrap{
	/*min-width:1000px;*/
}
/*==============================================================================
	ヘッダ
==============================================================================*/
#topheaderbg{
	position:absolute;
	top:0;
	left:0;
	z-index:1000;
}
#header{
	border-bottom-left-radius: 16px;
	border-bottom-right-radius: 16px;
	max-width:1400px;
	/*min-width:1000px;*/
	padding:0px;
	background-color: #fff;
}
#headerbg #header,.headerfixed #gnavi{
	box-shadow:0 0 7px rgba(0,0,0,0.3);
}
/*ヘッダ, レイアウト*/
.header_inner {
	margin-right: auto;
	margin-left: auto;
	max-width: 1200px;
	/*min-width: 980px;*/
	padding-top: 18px;
	display: grid;
	grid-template-columns: 269px 1fr;
	grid-template-rows: 1fr;
	gap: 0px 0px;
	grid-auto-flow: row;
	grid-template-areas:
		"tlogo utilmenuwrap";
	}
	#tlogo { grid-area: tlogo; }
	#utilmenuwrap { grid-area: utilmenuwrap; }
/*サイトロゴ*/
#tlogo{
	margin: 0px;
	width: 100%;
	height: auto;
	aspect-ratio: 269 / 63;/*画像の縦横比維持*/
	height: auto;
	line-height: 1em;
}
#tlogo img {
	transition: all .3s;
}
#tlogo:hover img {
	opacity: 0.5;
	transition: all .3s;
}
#tlogo.error{
	margin-bottom:25px;
}
/*メニュー*/
#utilmenuwrap{
	display: grid;
	grid-template-columns: 1fr 126px;
	grid-template-rows: 1fr;
	gap: 0px 16px;
	grid-auto-flow: row;
	grid-template-areas:
		"util dropdownmenu";
	}
	#util { grid-area: util; }
	#dropdownmenu { grid-area: dropdownmenu; }

#dropdownmenu{
	display:flex;
	align-items: center;
    justify-content: center;
}
/*------------------------------------------------------------------------------
	util
------------------------------------------------------------------------------*/
#util {
	display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    align-content: center;
}
#util ul{
	display:inline-block;
	list-style-type:none;
}
#util li{
	display:inline-block;
}
/*------------------------------------------------------------------------------
	util1
------------------------------------------------------------------------------*/
/* 文字サイズ変更・背景色変更をヘッダで有効にする、不要な場合は削除
------------------------------------------------------------------------------*/

/*------------------------------------------------------------------------------
	util2
------------------------------------------------------------------------------*/
#util2 ul li a {
	margin:5px 0px;
	border-radius: 3px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
    justify-content: center;
    align-content: center;
	padding: 6px 12px;
	color: #333;
	text-decoration: none;
	background-color: #fbf1e4;
	transition: all .3s;
}
#util2 ul li a:hover {
	background-color: #fcdeb6;
	transition: all .3s;
}
#util2 ul li a .icon {
	margin-right: 8px;
	width: 16px;
	height: 16px;
}
/*------------------------------------------------------------------------------
	検索
------------------------------------------------------------------------------*/
#util2+#sitesearch {
	margin-left: 16px;
}
#sitesearch ul li>a ,#sitesearch ul li button {
	margin:0px;
	border-radius: 30px;
	border: 1px solid rgba(196,84,0,0.45);
	padding: 6px 18px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
    justify-content: center;
    align-content: center;
	text-decoration: none;
	color: #000;
	background-color: #fff;
	line-height:1.8;
	transition: all .3s;
}
#sitesearch ul li>a .icon ,#sitesearch ul li button .icon {
	margin-right: 8px;
	width: 16px;
	height: 16px;
}
#sitesearch ul li>a:hover ,#sitesearch ul li button:hover ,#sitesearch ul li button.choice{
	background-color: #fcdeb6;
	transition: all .3s;
}
#sitesearch ul li{
	margin:10px 0px;
	position:relative;
}
#sitesearch button.psclose{
	margin:0px auto;
	padding:3px 20px;
}
#sitesearch ul li .openmenu{
	padding: 18px 18px 15px;
	width:max-content;
	display:none;
	position:absolute;
	top:100%;
	left:0;
	z-index:9999;
	text-align: left;
	background-color: #fcdeb6;
	border-radius:6px;
}
#sitesearch input{
	box-sizing:border-box;
	font-size:100%;
	vertical-align:middle;
	-webkit-appearance:none;
}
#sitesearch input#key{
	padding:10px 10px 10px 10px!important;
	width:220px!important;
	height:auto!important;
	border:1px solid #bababa!important;
	border-right:none;
	border-radius:6px 0px 0px 6px!important;
}
#sitesearch input[type=submit]{
	padding:10px 15px 10px 15px;
	color:#ffffff;
	font-weight:bold;
	background-color:#4d4d4d;
	border-radius:0px;
	border:1px solid #4d4d4d;
	text-align:center;
	border-radius:0px 6px 6px 0px;
}
#sitesearch p.use{
	margin:5px 5px 5px 0px;
	padding-left: 20px;
	position:relative;
}
#sitesearch p.use a {
	font-weight: bold;
	color: #3a3a3a;
}
#sitesearch p.use:before {
	position: absolute;
	margin: auto 16px auto auto;
	top: 0;
	right: auto;
	bottom: 0;
	left: 0;
	content: "";
	background-image: url("../design/images/top/sagasu_arrow.svg");
	width: 14px;
	height: 12px;
}
/*==============================================================================
	ドロップダウン
==============================================================================*/
#dropdownmenu .pscate{
	position:relative;
}
/*------------------------------------------------------------------------------
	いざという時に
------------------------------------------------------------------------------*/
#dropdownmenu .bmenu{
	position: relative;
}
#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 {
	border-radius: 30px;
	margin: 0px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px 18px;
	box-sizing: border-box;
	color: #222;
	font-weight: bold;
	background-color: #ffa410;
	border: none;
	text-align: center;
	cursor: pointer;
	transition: all .3s;
	z-index: 1;
}
#smpmenup2bg .bmenu > button:hover {
	background-color: #ffbf57;
}
/*ハンバーガーボタン(メニュー)*/
#smpmenup2bg .bmenu > button span {
	display: flex;
    align-items: center;
    justify-content: flex-start;
}
/*開閉アイコン(通常)*/
#smpmenup2bg .bmenu > button .hnmenu-line {
	margin-right: 12px;
    display: block;
    position: relative;
    width: 12px;
    height: 1px;
    transition: .2s;
	background-color: #000;
}
#smpmenup2bg .bmenu > button .hnmenu-line::before,
#smpmenup2bg .bmenu > button .hnmenu-line::after {
	content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
	background-color: #000;
    transition: .5s;
}
#smpmenup2bg .bmenu > button .hnmenu-line::before {
	transform: translateY(-4px);
}
#smpmenup2bg .bmenu > button .hnmenu-line::after {
	transform: translateY(4px);
}


/*ハンバーガーボタン(開いたとき)*/
#smpmenup2bg .bmenu button.choice{
	background-color:#f9f22e;
	/* border:3px solid #f9f22e; */
}

/*開閉アイコン(開いたとき)*/
#smpmenup2bg .bmenu > button.choice .hnmenu-line {
	background-color: transparent;
}
#smpmenup2bg .bmenu > button.choice .hnmenu-line::before {
	transform: rotate(45deg);
}
#smpmenup2bg .bmenu > button.choice .hnmenu-line::after {
	transform: rotate(-45deg);
}

#smpmenup2bg #smpmenup1menu {
	padding:30px;
	width:calc(100vw - 25px);
	max-width:1200px;
	min-width:auto;
	height:auto;
	display:none;
	position:absolute;
	top:100%;
	right:0;
	box-sizing:border-box;
	background-color:#FFF;
	border:3px solid #fcdeb6;
	border-radius:10px;
	z-index:19991;
}
/*------------------------------------------------------------------------------
	dropdownutil
------------------------------------------------------------------------------*/
#dropdownutil ul{
	margin-left:-32px;
	display:flex;
	flex-wrap:wrap;
	list-style:none;
}
#dropdownutil ul li{
	margin-left:32px;
	margin-bottom:10px;
	padding-left:13px;
	position:relative;
}
#dropdownutil ul li::before {
	height:0;
	width:0;
	position:absolute;
	content:'';
	top:0.3em;
	left:0;
	border-style:solid;
	border-width:5px 0 5px 8px;
	border-color:transparent transparent transparent #ee8812;
}
/*------------------------------------------------------------------------------
	dropdowngnavi
------------------------------------------------------------------------------*/
#dropdowngnavi{
	margin-top:30px;
	margin-bottom:50px;
	position:relative;
}
#dropdowngnavi::after {
	position: absolute;
	margin: auto;
	top:auto;
	bottom: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 4px;
	background-color: #ee8812;
    transition: 500ms;
}
#dropdowngnavi ul{
	margin:0px;
	width:100%;
	display:flex;
	box-sizing:border-box;
	font-weight:bold;
	list-style:none;
	text-align:center;
	border: 1px solid #d4cdcd;
	border-bottomn:none;
	border-radius:5px;
}
#dropdowngnavi ul li{
	box-sizing:border-box;
	width:100%;
	font-size: 110%;
	line-height:1.4;
}
#dropdowngnavi ul li+li{
	border-left: 1px solid #d4cdcd;
}
#dropdowngnavi ul li a{
	margin:0px;
	padding:18px 0px 25px 0px;
	width:100%;
	display:block;
	box-sizing:border-box;
	color: #000;
	text-decoration:none;
	background:transparent;
	border:none;
	cursor:pointer;
	position:relative;
	transition:all .6s;
}
#dropdowngnavi ul li:first-child a{
	border-radius:5px 0 0 0;
}
#dropdowngnavi ul li:last-child a{
	border-radius:0 5px 0 0;
}
#dropdowngnavi ul li a:hover,
#dropdowngnavi ul li a.choice{
	box-sizing:border-box;
	color:#000;
	background:#ffa410;
}
/*------------------------------------------------------------------------------
	トップページのタブ分けメニュー
------------------------------------------------------------------------------*/
.toptabmenu_ttl{
	border-style: none;
	padding: 0;
	text-align: center;
	font-size: 160%;
	color: #c45400;
	background-image: none;
}
.toptabmenu_ttl {
	position: relative;
	z-index: 0;
}
.toptabmenu_ttl:before {
	content: "";
	margin: auto;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	z-index: -1;
	border-top: 1px dotted #eb6701;
}
.toptabmenu_ttl_text {
	margin-right: auto;
	margin-left: auto;
	padding: 0 1em;
	display: inline-flex;
	align-items: center;
    justify-content: center;
	background-color: #fff;
}
.toptabmenu_ttl .icon {
	margin-right: 12px;
	width: 30px;
	height: 30px;
}
ul.flexstyle1.toptabmenu_list {
	margin-left:-30px;
	list-style-type:none;
}
ul.flexstyle1.toptabmenu_list li{
	margin:0px 0px 25px 30px;
	width: calc(100% / 5 - 30px);
	position:relative;
	box-sizing:border-box;
	line-height: 1.5;
}
ul.flexstyle1.toptabmenu_list li .date{
	width:6em;
	display:inline-block;
	letter-spacing:normal;
	vertical-align:top;
}
ul.flexstyle1.toptabmenu_list .newsli{
	width:calc( 100% - 6.5em );
	display:inline-block;
	letter-spacing:normal;
}
ul.flexstyle1.toptabmenu_list ul:not(.topicsdetail) li{
	position:relative;
}
@media screen and (max-width: 1000px) {
	ul.flexstyle1.toptabmenu_list{
		margin-left:-20px;
	}
	ul.flexstyle1.toptabmenu_list li{
		margin:0px 0px 20px 20px;
		width: calc(100% / 5 - 20px);
	}
	ul.flexstyle1.toptabmenu_list li a{
		padding: 10px 10px 10px 10px;
	}
}
/*------------------------------------------------------------------------------
	リンク
------------------------------------------------------------------------------*/
#purposemenu2{
	margin:0px 0px 60px 0px;
}
#purposemenu2 ul.flexstyle3 li{
	border:none;
	box-shadow:none;
}
#purposemenu2 ul.flexstyle3 li a{
	padding:20px 10px;
	text-decoration:none;
	font-weight:bold;
	border: 2px solid rgba(196, 84, 0, 0.3);
	border-radius: 18px;
}
#purposemenu2 ul.flexstyle3 li a:hover{
	background-color: rgba(248, 185, 84, 0.3);
}
/*	閉じるボタン
------------------------------------------------------------------------------*/
#emergencymenu button.psclose,
#smpmenup1menu button.psclose{
	margin:20px auto 0px auto;
	padding:5px 20px 5px 40px;
	display:block;
	position:relative;
	cursor:pointer;
	color: #000;
	border: 1px solid rgba(196,84,0,0.45);
	border-radius: 30px;
	background-color: #fff;
	line-height:1.8;
	transition: all .3s;
}
#emergencymenu button.psclose:hover,
#smpmenup1menu button.psclose:hover{
	background-color: #fcdeb6;
}
#emergencymenu button.psclose::before,
#emergencymenu button.psclose::after,
#smpmenup1menu button.psclose::before,
#smpmenup1menu button.psclose::after{
    content:"";
	position:absolute;
	display:inline-block;
	top:12px;
	right:auto;
	left:20px;
	width:2px;
	height:15px;
	border:0;
	margin:0;
	padding:0;
	background-color:rgba(196,84,0,0.45);
}
#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);
}
/*==============================================================================
	グローバルナビ
==============================================================================*/
#gnavibg.headerfixed,#topgnavibg.headerfixed{
	position:fixed;
	top:0px;
	left:0px;
	z-index:10001;
}
.cmswrap #gnavibg.headerfixed.cmswrap #topgnavibg.headerfixed{
	position:static;
}
#glogo{
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(calc(-50% - 2px));
    opacity: 0;
    z-index: -1;
    transition: 500ms;
}
#gnavibg.headerfixed #glogo,
#topgnavibg.headerfixed #glogo{
    opacity: 1;
    z-index: 9999;
}
#gnavibg.headerfixed #gnavi #topscate,
#topgnavibg.headerfixed #gnavi #topscate{
    padding: 0px 0px 0px 205px;
}
#gnavi{
	width: 100%;
	max-width: 1230px;
	/*min-width: 1000px;*/
	position: relative;
	background:#FFF;
}
#gnavibg.headerfixed #gnavi,
#topgnavibg.headerfixed #gnavi{
	padding:0px 15px;
	border-radius:0 0 5px 5px;
}
#gnavi::after {
	position: absolute;
	margin: auto;
	top:auto;
	bottom: 0;
	left: 15px;
	content: "";
	width: calc(100% - 30px);
	height: 4px;
	background-color: #ee8812;
    transition: 500ms;
}
#gnavibg,#topgnavibg{
	background: none;
}
#gnavi ul#topscate{
	margin:0px 15px;
	display:flex;
	box-sizing:border-box;
	font-weight:bold;
    transition: 500ms;
}
.headerfixed #gnavi ul#topscate button{
	margin:0px;
	font-size:90%;
}
#gnavi ul li.scate{
	box-sizing:border-box;
	width:100%;
	font-size: 110%;
	line-height:1.4;
}

#gnavi ul li.scate+li.scate {
	border-left: 1px solid #d4cdcd;
}


/*	閉じるボタン
------------------------------------------------------------------------------*/
#gnavi ul#topscate li button{
	margin:0px;
	padding:15px 0px 25px 0px;
	width:100%;
	box-sizing:border-box;
	color: #000;
	background: #FFF;
	border:none;
	cursor:pointer;
	position:relative;
	transition:all .6s;
}
#gnavibg.headerfixed #gnavi ul#topscate li button:not(.gnaviclose),
#topgnavibg.headerfixed #gnavi ul#topscate li button:not(.gnaviclose){
	padding:22px 0px 26px 0px;
}
#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:#000;
	background:#ffa410;
}
/*------------------------------------------------------------------------------
	開閉メニュー
------------------------------------------------------------------------------*/
#gnavi .navi{
	width:100%;
	display:none;
	position:absolute;
	top:100%;
	left:0;
	z-index:9999;
	font-size:90%;
	padding-top:18px;
}
#gnavi .navi a{
	color:#000;
	text-decoration:underline;
}
#gnavi .navi .gnavilower{
	padding:10px 30px 10px 30px;
	background:#FFF;
	position:relative;
	border-radius:20px 20px 0 0;
	border:4px solid #ee8812;
	border-bottom:none;
	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:#000;
	font-size:110%;
	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;
	display:block;
	position:absolute;
	right:10px;
	left:auto;
	top:10px;
	font-size:90%;
	color:#000;
	background:#ffa410;
	text-decoration:none;
	line-height:1.2;
	cursor:pointer;
	width:auto;
	border-radius:100vh;
}
#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:#000;
}
#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;
	position:relative;
	background:#FFF;
	border-radius:0 0 20px 20px;
	border:4px solid #ee8812;
	border-top:none;
	z-index:2;
}
#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;
	float:left;
}
#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:105%;
	font-weight:normal;
}
#gnavi .navi ul li a{
	font-weight:normal;
}
#gnavi .navi ul li::before{
	position:absolute;
	content:'';
	width:0;
	height:0;
	border:solid 4px transparent;
	border-left:solid 6px #ee8812;
	top:calc(0.5em - 2px);
	left:0;
}
/*------------------------------------------------------------------------------
	吹き出しの矢印
------------------------------------------------------------------------------*/
#gnavi .navi::before{
	content:"";
	position:absolute;
	top:0px;
	border-style:solid;
	border-width:0px 12px 18px 12px;
	border-color:transparent transparent #ee8812 transparent;
	z-index:1;
}
#gnavi #list1::before{
	left:calc(15px + (100% / 6 - 24px) / 2);
}
#gnavi #list2::before{
	left:calc(15px + (100% - 30px) / 6 * 1 + ((100% - 30px) / 6 - 24px) / 2);
}
#gnavi #list3::before{
	left:calc(15px + (100% - 30px) / 6 * 2 + ((100% - 30px) / 6 - 24px) / 2);
}
#gnavi #list4::before{
	left:calc(15px + (100% - 30px) / 6 * 3 + ((100% - 30px) / 6 - 24px) / 2);
}
#gnavi #list5::before{
	left:calc(15px + (100% - 30px) / 6 * 4 + ((100% - 30px) / 6 - 24px) / 2);
}
#gnavi #list6::before{
	left:calc(15px + (100% - 30px) / 6 * 5 + ((100% - 30px) / 6 - 24px) / 2);
}
.headerfixed #gnavi #list1::before{
	left:calc(220px + ((100% - 235px) / 6 - 24px) / 2);
}
.headerfixed #gnavi #list2::before{
	left:calc(220px + (100% - 235px) / 6 * 1 + ((100% - 235px) / 6 - 24px) / 2);
}
.headerfixed #gnavi #list3::before{
	left:calc(220px + (100% - 235px) / 6 * 2 + ((100% - 235px) / 6 - 24px) / 2);
}
.headerfixed #gnavi #list4::before{
	left:calc(220px + (100% - 235px) / 6 * 3 + ((100% - 235px) / 6 - 24px) / 2);
}
.headerfixed #gnavi #list5::before{
	left:calc(220px + (100% - 235px) / 6 * 4 + ((100% - 235px) / 6 - 24px) / 2);
}
.headerfixed #gnavi #list6::before{
	left:calc(220px + (100% - 235px) / 6 * 5 + ((100% - 235px) / 6 - 24px) / 2);
}
/*==============================================================================
	左メニュー
==============================================================================*/
#menu{
	border-radius: 2px;
	background:#FFFFFF;
	border:2px solid #eae0da;
}
#menu a{
	transition:all .5s;
}
/*------------------------------------------------------------------------------
	見出しh2
------------------------------------------------------------------------------*/
#menu h2{
	border-bottom: 2px solid #f1a041;
	padding:30px 8px 30px 8px;
	display:block;
	color:#000;
	background-color:#fffaf3;
}
#menu h2 a{
	color:#000;
}
/* lang属性用 */
#menu h2 span.h2span span{
	padding:0px;
}
/*------------------------------------------------------------------------------
	リンクなし　セパレータ
------------------------------------------------------------------------------*/
#menu h3.separator{
	margin:0px;
	padding:10px 5px 8px 8px;
	border-top:3px double #eae0da;
	border-bottom: 1px dotted #eae0da;
}
#menu h4.separator,#menu h5.separator,#menu h6.separator{
	margin:0px 0px 0px 10px;
	padding:10px 5px 8px 6px;
	background:#EEEEEE;
	border-top:1px dotted #999;
}
/*------------------------------------------------------------------------------
	詳細メニュー　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:12px 5px 12px 23px;
	color:#222;
	border-top:1px dotted #999;
	position:relative;
}
#menu h3 a::before{
	width:5px;
	height:calc(100% - 24px);
	content:"";
	position:absolute;
	top:calc(.8em);
	left:8px;
	background:#f39800;
	transition:all .2s;
}
#menu h3 a:hover{
	color:#222;
	background:#FFFEDF;
}
#menu h3 a:hover::before{
	background:#FFE300;
}
#menu h4 a{
	padding:8px 5px 8px 23px;
	color:#222;
	border-top:1px dotted #999;
	position:relative;
}
#menu h5 a{
	padding:8px 5px 8px 23px;
	color:#222;
	border-top:1px dotted #999;
	position:relative;
}
#menu h4 a::before,
#menu h5 a::before{
	content:'';
	position:absolute;
	top:calc(.5em + 6px);
	left:8px;
	border:solid 4px transparent;
	border-left:solid 6px #f39800;
	transition:all .2s;
}
#menu h4 a:hover,
#menu h5 a:hover{
	color:#222;
	background:#FFFEDF;
}
#menu h4 a:hover::before,
#menu h5 a:hover::before{
	content:'';
	position:absolute;
	top:calc(.5em + 6px);
	left:8px;
	border:solid 4px transparent;
	border-left:solid 6px #FFE300;
}
/*#menu ul {
	margin-top: 12px;
	margin-bottom: 12px;
}*/
#menu ul li:not([class]) a{
	padding:10px 12px 10px 40px;
	color:#222;
	/* border-top:1px dotted #CCC; */
	position:relative;
}
#menu ul li:not([class]) a::before{
	content:'';
	position:absolute;
	top: calc(.5em + 8px);
	left:20px;
	width: 10px;
	height: 10px;
	background-image: url("images/page/arrow.svg");
	background-size: 10px 10px;
	transition:all .2s;
}
#menu ul li:not([class]) a:hover{
	color:#222;
	background:#FDFCD1;
}
#menu ul li:not([class]) a:hover::before{
	border-left-color:#FFE300;
}
#menu ul li.choice{
	padding:10px 12px 10px 40px;
	display:block;
	position:relative;
	color:#222;
	background:#FFFEDF;
}
#menu ul li.choice::before{
	content:'';
	position:absolute;
	top: calc(.5em + 8px);
	left:20px;
	/* border:solid 4px transparent;
	border-left:solid 6px #F7E700; */
	width: 10px;
	height: 10px;
	background-image: url("images/page/arrow.svg");
	background-size: 10px 10px;
}
/*------------------------------------------------------------------------------
	入れ子リスト
------------------------------------------------------------------------------*/
#menu ul.lmenu li{
	margin-left:10px;
}
#menu ul.lmenu li a{
	padding-left:25px;
	border-top:1px dotted #CCC;
	border-bottom:none;
	position:relative;
}
#menu ul.lmenu li a::before{
	width:4px;
	height:4px;
	content:'';
	position:absolute;
	top:calc(.5em + 10px);
	left:8px;
	background-color:#f39800;
	border:none;
	border-radius:50%;
	transition:all .2s;
}
#menu ul.lmenu li a:hover{
	color:#222;
	background-color:#FFFEDF;
}
#menu ul.lmenu li a:hover::before{
	background-color:#FFE300;
	border:none;
	border-radius:50%;
}
#menu ul.lmenu li.choice{
	padding-left:25px;
	display:block;
	color:#222;
	background-color:#FFFEDF;
	border-top:1px dotted #CCC;
	border-bottom:none;
}
#menu ul.lmenu li.choice::before{
	width:4px;
	height:4px;
	content:'';
	position:absolute;
	top:calc(.5em + 10px);
	left:8px;
	background-color:#FFE300;
	border:none;
	border-radius:50%;
}
/*  フォーカス　*/
#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:30px;
    bottom:25px;
    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:25px;
	color: #000;
	background:url(images/page/mark_pageback.svg) no-repeat left center;
	background-size: 15px 15px;
}
#guide ul li a.pagehome{
	padding-left:20px;
	color: #000;
	background:url(images/page/mark_pagehome.svg) no-repeat left center;
	background-size: 15px 15px;
}
/*------------------------------------------------------------------------------
	表示切替
------------------------------------------------------------------------------*/
#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;
}

/*==============================================================================
	フッタ
==============================================================================*/
/*------------------------------------------------------------------------------
	フッタメニュー
------------------------------------------------------------------------------*/
#footernavi,#topfooternavi{
	background:#fff	
}
#footernavi ul,#topfooternavi ul{
	margin: auto;
	width: 100%;
    /*min-width: 1000px;*/
    max-width: 1200px;
	display: flex;
}
#footernavi ul,#topfooternavi ul{
	padding: 30px 0px 20px 0px;
	text-align:left;
	list-style-type:none;
}
#footernavi ul li,#topfooternavi ul li{
	position:relative;
}
#footernavi ul li+li,#topfooternavi ul li+li{
	margin-left: 40px;
}
#footernavi ul li a ,#topfooternavi ul li a {
	color: #333333;
}
#footernavi ul li+li::before,
#topfooternavi ul li+li::before{
    position:absolute;
    content:'';
    top:0;
	right: auto;
	bottom: 0;
	left: -20px;
    width:1px;
	height: 100%;
	background-color: #333;
}
/*------------------------------------------------------------------------------
	所在地、リンクなど
------------------------------------------------------------------------------*/
#footer{
	
	background-image: url("images/footer/footer_bg.png");
	background-repeat: repeat;
	background-color: #eae8e4;
}
#footer .footer-inner {
	padding:80px 0px 120px 0;
	background-image: url("images/footer/ft_illust.svg");
	background-size: 148px 75px;
	background-repeat: no-repeat;
	background-position: left bottom;
}
#footer .footer-inner {
	margin-right: auto;
	margin-left: auto;
	/*min-width:1000px;*/
	max-width:1200px;
	/*display: grid;
	grid-template-columns: 213px 1fr 370px;
	grid-template-rows: 1fr;
	grid-auto-columns: 1fr;
	grid-auto-rows: 1fr;
	gap: 0px 30px;
	grid-auto-flow: row;
	grid-template-areas:
		"ft_sitename ft_add ft_addlink";
	*/
	display:flex;
	justify-content:space-between;
	}
	  
	/*.ft_sitename { grid-area: ft_sitename; }
	  
	#add { grid-area: ft_add; }
	  
	#addlink { grid-area: ft_addlink; }*/
	  
/*サイト名*/
#footer .ft_sitename {
	width:213px;
}
/*所在地*/
#add{
	/* width:50%; */
}
/*リンク*/
#addlink{
	/* width:50%; */
	width:370px;
}
#add h2{
	margin-bottom:10px;
	font-size:160%;
	text-align:left;
}
#addlink ul{
	display:flex;
	list-style-type:none;
	justify-content:flex-end;
}
#addlink ul li+li{
	margin-left: 6px;
}
#addlink ul li a{
	border-radius: 30px;
	/* padding-top:60px;
	padding-bottom:10px; */
	width:100%;
	height:100%;
	display:flex;
	color:#fff;
	line-height:1.2;
	padding-top: 12px;
	padding-right: 20px;
	padding-bottom: 12px;
	flex-wrap:wrap;
	text-decoration:none;
	text-align:center;
	align-items:center;
	justify-content:center;
	box-sizing:border-box;
	transition:all .6s;
}
#addlink ul li:nth-of-type(1) a{
	padding-left: 50px;
	background:#c45400 url("images/footer/mail.svg") no-repeat left 18px center;
	background-size: 23px 17px;
}
#addlink ul li:nth-of-type(2) a{
	padding-left: 46px;
	background:#c45400 url("images/footer/access.svg") no-repeat left 18px center;
	background-size: 20px 25px;
}

#addlink ul li:nth-of-type(1) a:hover{
	background-color: #8c420a;
}
#addlink ul li:nth-of-type(2) a:hover{
	background-color: #8c420a;
}

#copy{
	margin:0px auto 0px auto;
	padding:40px 10px 44px 10px;
	clear:both;
	color:#FFF;
	font-size:85%;
	background:#333333;
	text-align:center;
}