@charset "utf-8";
/*===========================================================================*/
/*menubox
/*pagetop_show
/*===========================================================================*/

/*--------------------------------*/
#menubox .fs0708,
#menubox .fs0709 {
    font-size: 0.7rem;
}
menubox .fs0809 {
    font-size: 0.8rem;
}
@media (min-width:600px) {
    #menubox .fs0708 {
    font-size: 0.8rem;
    }
    #menubox .fs0709,
    #menubox .fs0809 {
        font-size: 0.9rem;
    }
}
/*--------------------------------*/
/*menubox open/close
/*--------------------------------*/
#menubox {
    display: none;
}
#menubox.db {
	display: block;
}
#menubox.dn {
	display: none;
}
/*--------------------------------*/
/*menubox
/*--------------------------------*/
#menubox {
	z-index: 100;
	position: fixed;
	overflow: auto;
	animation: animation1 0.2s both;
	margin-left: auto;
	right: 0;
	top: 0px;
	width: var(--main_width);
	height: 100%;
	background: #fff;
	box-shadow: 0px 0px 20px rgba(0,0,0,0.32);
}
/*--------------------------------*/
#menubox a {
	text-decoration: none;
}
/*--------------------------------*/
@media (min-width:600px) {
    #menubox {
        width:var(--main_width65);
    }
}
/*--------------------------------*/
@media (min-width:900px) {
    #menubox {
        width:var(--main_width40);
    }
}
/*===========================================================================*/
/*#menubox_hdr
/*===========================================================================*/
#menubox_hdr.db {
	display: block;
}
#menubox_hdr.dn {   
	display: none;
}
/*--------------------------------*/
/*３本バーとMENUテキストを囲むブロック*/
/*--------------------------------*/
#menubox_hdr {
	width: 80px;
    height: 31px;
	padding: 10px 0px;
	transform: scale(0.65);
	position: fixed;
	z-index: 101;
	cursor: pointer;
	right: 0px;
	top: 0px;
	background: var(--color_wihte);
	text-align: center;
	color: #fff;
	transform-origin: right top;		/*transform起点*/
	transition: 0.3s;
}
#menubox_hdr:hover {
	filter: brightness(1.4);
}
/*--------------------------------*/
#menubox_hdr p {
	/*display: none;*/
    display: block;
    margin: 8px 0px 0px 2px;
    font-size: 0.9em;
	color: var(--color_gray);
}
/*--------------------------------*/
@media (min-width:600px) {
    #menubox_hdr {
        transform: scale(0.8);
    }
}
@media (min-width:900px) {
    #menubox_hdr {
        height: 43px;
        transform: scale(1);
    }
    #menubox_hdr p {
    margin: 10px 0px 0px 3px;
    font-size: 0.7em;
    }
}
/*MENUを非表示*
body:not(.instop) #menubox_hdr p {
	display: none;}	
}
/*--------------------------------*/
/*３本バーを囲むブロック*/
/*--------------------------------*/
#menubox_hdr div {
	display: flex;
	flex-direction: column;	
	justify-content: space-between;	
	width: 30px;
	height: 30px;
	margin: 0px auto;
}
#menubox_hdr span {/*バー１本設定*/
	display: block;
	transition: 0.3s;
	border-top: 6px solid;
    border-color: var(--color_gray);
}
/*--------------------------------*/
/*×印が出ている状態の設定
/*--------------------------------*/
#menubox_hdr.ham {
    top:8px;
}
#menubox_hdr.ham span:nth-of-type(1),
#menubox_hdr.ham span:nth-of-type(3) {/*変形の起点。センターに。*/
	transform-origin: center center;
	width: 49px;
}
#menubox_hdr.ham span:nth-of-type(1){/*回転45°と、X軸Y軸への移動距離の指定*/
	transform: rotate(45deg) translate(4px, 13px);
}
#menubox_hdr.ham span:nth-of-type(3){/*回転-45°と、X軸Y軸への移動距離の指定*/
	transform: rotate(-45deg) translate(4px, -13px);
}
#menubox_hdr.ham span:nth-of-type(2){/*２本目は使わないので非表示にする*/
	display: none;
}

/*===========================================================================*/
/*#menubox contents
/*===========================================================================*/
/*--------------------------------*/
/*wrap
/*--------------------------------*/
#menubox .wrap_all{
	display: flex;
	justify-content:space-between;
	flex-direction: column;
	min-height: 100%;
    margin: 0px 20px 0px 20px;
}
#menubox .wrap_contents{
	display: flex;
	justify-content:flex-start;
	flex-direction: column;
}
#menubox .wrap_h3nav{
	display: flex; 
	flex-direction:row;
	align-items:flex-start;
    justify-content:space-between;
    margin-top: 40px;
}
/*--------------------------------*/
/*top（h3）
/*--------------------------------*/
#menubox h3{
    font-size: 1.2rem;
    line-height: 1.5rem;
    padding-top: 0.6rem;
    margin-bottom: 0.6rem;
}
#menubox h3 .small{
    font-size: 1.1rem;
}
#menubox h3 .route{
    font-size: 0.9rem;
    font-weight: normal;
}
/*--------------------------------*/
@media (min-width:600px) {
    #menubox h3{
    font-size: 1.3rem;
    }
    #menubox h3 .small{
        font-size: 1.2rem;
    }
}
/*--------------------------------*/
/*wrap_nav
/*--------------------------------*/
#menubox .wrap_nav{
	display: flex; 
	flex-direction:row;
	align-items:flex-end;
    justify-content:flex-end;
    margin-bottom: 5px;
    gap:5px;
}/*--------------------------------*/
@media (min-width:900px) {
    #menubox .wrap_nav{
    gap:10px;
    }
}
/*--------------------------------*/
#menubox .wrap_nav_sitemap,
#menubox .wrap_nav_home,
#menubox .wrap_nav_mail{
	display: flex; 
	flex-direction:column;
	align-items:center;
    justify-content: space-between;
    justify-content: flex-end;
}
#menubox .wrap_nav_sitemap{
    gap:4px;
}
#menubox .wrap_nav_mail{
    gap:0px;
}
#menubox .wrap_nav_home{
    gap:0px;
}
/*--------------------------------*/
/*top（nav_sitemap）
/*--------------------------------*/
#menubox .nav_sitemap{
    background-repeat: no-repeat;
    height: 28px;
	aspect-ratio: 1/1;
    fill: currentColor;
    color:var(--color_gray);
}
#menubox .nav_sitemap:hover{
    color:var(--color_hover);
	transition: 0.1s; 
	transform: scale(0.92);
}
/*--------------------------------*/
@media (min-width:900px) {
    #menubox .nav_sitemap{
    height: 38px;
    }
}
/*--------------------------------*/
/*top（nav_mail）
/*--------------------------------*/
#menubox .nav_mail{
    height: 30px;
	aspect-ratio: 1/1;
    fill: currentColor;
    color:var(--color_gray);
}
#menubox .nav_mail:hover{
    color:var(--color_hover);
	transition: 0.1s; 
	transform: scale(0.92);
}
/*--------------------------------*/
@media (min-width:900px) {
    #menubox .nav_mail{
    height: 42px;
    }
}
/*--------------------------------*/
/*top（nav_home）
/*--------------------------------*/
#menubox .nav_home{
    background-repeat: no-repeat;
    height: 33px;
	aspect-ratio: 1/1;
    fill: currentColor;
    color:var(--color_gray);
}
#menubox .nav_home:hover{
    color:var(--color_hover);
	transition: 0.1s; 
	transform: scale(0.92);
}
/*--------------------------------*/
@media (min-width:900px) {
    #menubox .nav_home{
    height: 43px;
    }
}
/*--------------------------------*/
/*top（nav_text）
/*--------------------------------*/
#menubox .nav_text{
	color: var(--color_gray);
	font-size: 0.7em;
    white-space: nowrap;
}
#menubox .nav_text:hover{
    color:var(--color_hover);
	transition: 0.1s; 
	transform: scale(0.92);
}
@media (min-width:600px) {
    }
    #menubox.nav_text{
	    font-size: 0.8em;
    }

/*===========================================================================*/
/*menubox_gnav
/*===========================================================================*/
/*--------------------------------*/
/*wrap_menu
/*--------------------------------*/
#menubox .wrap_menu {
}
/*--------------------------------*/
/*menubox_gnav
/*--------------------------------*/
#menubox .menubox_gnav_box {
    width: calc(var(--main_width40) - 85px);
    margin-top:8px;
}
#menubox .menubox_gnav {
    display: flex;
    flex-direction: row;
    justify-content:flex-start;
    align-items: center;
    list-style: none;
    padding-top:3px;
    font-size: 0.9rem;
    line-height: 1.2rem;
}

#menubox .menubox_gnav ul{
    list-style-type: none;
    overflow: hidden;
}
#menubox .menubox_gnav li {
    position: relative;
    text-align: center;
    background-color: var(--color_gray06);
    align-content: center;
    margin-right: 2px;
}
#menubox .menubox_gnav a li{
    display: block;
    text-decoration: none;
    color: var(--color_zenp);
}
#menubox .menubox_gnav li:hover{
	background: var(--color_blue1);
	transform: scale(0.92);
	transition:0.2s 
}
/*--------------------------------*/
#menubox .menubox_gnav .on li{
    color: var(--color_black);
    background-color: var(--color_yellow1);
}
/*--------------------------------*/
/*width height
/*--------------------------------*/
#menubox .menubox_gnav_box   {
    width: calc(var(--main_width) - 80px);
}
#menubox .menubox_gnav li {
    width: calc((var(--main_width) - 80px) /5);
    height: 42px;
}
@media (min-width:600px) {
    #menubox .menubox_gnav_box   {
    width: calc(var(--main_width65) - 95px);
    }
    #menubox .menubox_gnav li {
        width: calc((var(--main_width65) - 95px) /5);
        height: 50px;
    }
}
/*--------------------------------*/
@media (min-width:900px) {
    #menubox .menubox_gnav_box   {
    width: calc(var(--main_width40) - 105px);
    }
    #menubox .menubox_gnav li {
        width: calc((var(--main_width40) - 105px) /5);
        height: 60px;
    }
}
/*===========================================================================*/
/*menubox menu（summary）
/*===========================================================================*/
/*--------------------------------*/
/*menu wrap_menu
/*--------------------------------*/
#menubox .wrap_menu ul{
    list-style-type: none;
    margin-bottom: 20px;
}
#menubox .mixed_wrap_menu ul{
    list-style-type: none;
    margin-bottom: 0px;
}
/*===========================================================================*/
/*navg1 navg_f24"><div class="navg2"><div class="navg3">
/*===========================================================================*/
/*navg（main.js）
/*--------------------------------*/
nav .navg{
	display: flex;
	padding: 0px 10px 0px 10px;
	justify-content: space-between;
    margin-top: -12px;
}
@media (min-width:600px) {
   nav .navg{
       padding:0px 20px 0px 20px;
       margin-top:0px;
    }
}
/*--------------------------------*/
/*navg li（main menu）
/*--------------------------------*/
nav .navg > li{
	text-decoration: none;
	list-style: none;
	position: relative;
	display: block;
	transition: 0.2s;
	flex: 1;
	text-align: center;
	margin-right: 10px;	
	font-size: 1.0rem;
	font-weight: 600;
	line-height: 1.3rem;
    height: 2.5rem;
    padding-top: 1.4rem;
}
nav .navg > li:last-child {
	margin-right: 0px;
}
/*--------------------------------*/
/*title_up 
/*--------------------------------*/
nav .navg > li.title_up {
    height: 3.3rem;
    padding-top: 0.6rem;
}
/*--------------------------------*/
@media (min-width:600px) {
    nav .navg > li.title_up,
    nav .navg > li {
        height: 2.5rem;
        padding-top: 1.4rem;
	    padding-bottom: 0.0rem ; 
        font-size: 1.1rem;
    }
}
@media (min-width:900px) {
    nav .navg > li.title_up,
    nav .navg > li {
        height: 2.5rem;
        padding-top: 1.4rem;
	    padding-bottom: 0.2rem ; 
        font-size: 1.2rem;
    }
}
/*--------------------------------*/
/*navg li（main menu）fontsize
/*--------------------------------*/
/*
@media (min-width:600px) {
    nav .navg li .main {
        font-size: 1.2rem;
        font-weight: 600;
	    padding-top: 25px ;
	    padding-bottom: 15px ;
    }
}
/*--------------------------------*/
/*navg li（main menu）gradient
/*--------------------------------*/
nav .navg > li.type_zenp {
	border-bottom: 5px solid;
	border-image:var(--gradient_zenp) 1;
	color: var(--color_zenp);
}
nav .navg > li.type_blue {
	border-bottom: 5px solid;
	border-image:var(--gradient_blue) 1;
	color: var(--color_blue);
}
nav .navg > li.type_olive {
	border-bottom: 5px solid;
	border-image:var(--gradient_olive) 1;
	color: var(--color_olive);
}
nav .navg > li.type_darkred {
	border-bottom: 5px solid;
	border-image:var(--gradient_darkred) 1;
	color: var(--color_darkred);
}
nav .navg > li.type_green {
	border-bottom: 5px solid;
	border-image:var(--gradient_green) 1;
	color: var(--color_green);
}

nav .navg > li.type_gray {
	border-bottom: 5px solid;
	border-image:var(--gradient_gray) 1;
	color: var(--color_gray);
}
/*--------------------------------*/
/*arrow（main.js）
/*--------------------------------*/
nav .navg li:before{
	opacity: 0;
	box-sizing: border-box;
	position: absolute;
	bottom: -2px;
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-bottom: 9px solid black;
	background: transparent;
	left: 20%;
	content: '';
	transition: .2s;
}
nav .navg li.navg_arrow:before{
	opacity: 1;
	transform: translateX(-50%) translateY(16px);
}
/*--------------------------------*/
@media (min-width:600px) {
    nav .navg li:before{
        bottom: -5px;
        border-left: 8px solid transparent;
        border-right: 8px solid transparent;
        border-bottom: 12px solid black;
    }
    nav .navg li.navg_arrow:before{
        transform: translateX(-50%) translateY(19px);
    }	
}
/*--------------------------------*/
/*nav1（li連動範囲）
/*--------------------------------*/
nav .navg1{
	z-index: 30;
	position: absolute;
	top: 31px;
	left: 0;
	opacity: 0;
	pointer-events: none;
	transition: .2s;
	transform: translateY(10px);
	padding: 10px 0px 10px 0px;
	width: 100%;
}
@media (min-width:600px) {
    nav .navg1{
        top: 54px;
    }
}
/*--------------------------------*/
/*hover（main.js）navins1の後
/*--------------------------------*/
nav .navg_hover{
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}
/*--------------------------------*/
/*nav2（Box menu position）
/*--------------------------------*/
nav .navg2{
	padding-top:29px;
}
/*--------------------------------*/
@media (min-width:600px) {
    nav .navins2{
	padding-top:27px;
    }
}
/*--------------------------------*/
/*navg3
/*--------------------------------*/
nav .navg3{
	font-size: 1.0rem;
	box-shadow: 3px 8px 10px -8px rgba(0.6,0,0,0.6);
	padding: 5px 15px 10px 15px;
	border-radius: 10px;
	position: relative;
	background-color: #fff;
    border: solid 1px var(--color_gray10);
    min-width: 270px;
    width: auto;
    max-width: calc(80vw) ;
}
@media (min-width:600px) {
    nav .navg3{
        min-width: 420px;
    }
}
/*===========================================================================*/
/*navg flexbox
/*===========================================================================*/
nav .navg_fl {
	display: flex;
	justify-content: left;
}
nav .navg_fc {
	display: flex;
	justify-content: center;
}

nav .navg_fr {
	display: flex;
	justify-content: right;
}
/*--------------------------------*/
nav .navg_f24 {
	display: flex;
	justify-content: left;
    margin-left: calc((100vw / 6) * -1);
}
nav .navg_f34 {
	display: flex;
	justify-content: right;
    margin-left: calc(100vw / 6.6)  ;
}
/*--------------------------------*/
nav .navg_f25 {
	display: flex;
	justify-content: left;
    margin-left: calc((100vw / 10) * -1);
}
nav .navg_f45 {
	display: flex;
	justify-content: right;
    margin-left: calc(100vw / 9)  ;
}
/*--------------------------------*/
@media (min-width:600px) {
    nav .navg_f24, 
    nav .navg_f25 {
        display: flex;
        justify-content: left;
        margin-left: -50px ;
    }
    nav .navg_f34{
        display: flex;
        justify-content: left;
        margin-left:-50px
    }
    nav .navg_f45{
        display: flex;
        justify-content: right;
        margin-right: 50px ;
    }
}
/*===========================================================================*/
/*map_menu（summary）
/*===========================================================================*/
.map_menu{
    max-width: 500px;
    margin-bottom: 5px;
    box-shadow: 0 7px 15px -5px rgb(0 0 0 / 5%);
    background-color: #fff;
	border: 2px solid var(--color_gray10);
	border-radius: 5px; 
}
.map_menu summary {
	display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding-right: 1.3rem ;
    color: var(--color_gray);
    font-weight: 500;
    cursor: pointer;
}
.map_menu summary::-webkit-details-marker {
    display: none;
}
.map_menu[open] {
    padding: 0rem 1.3rem 2rem 0rem ;
    padding: 0rem ;
}
.map_menu[open] > summary{
    font-size: 1.0rem;
    font-weight: 500;
    color: var(--color_blue);
    background: var(--color_blue1);
}
.map_menu > summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 10px;
    height: 10px;
    margin-left: 10px;
    border-bottom: 3px solid var(--color_zenp);
    border-right: 3px solid var(--color_zenp);
    content: '';
    transition: transform .3s;
}
.map_menu[open] > summary::after {
    transform: rotate(225deg);
}
/*--------------------------------*/
/*map_menu_margin
/*--------------------------------*/
.map_menu_margin {
    margin: 2rem 1.1rem 2rem 1.1rem;
}
/*--------------------------------*/
/*map_menu_title 
/*--------------------------------*/
.map_menu_title {
    font-size: 1.1rem;
    margin: 1rem 0rem 1rem 0rem;
}
.map_menu_title a {
    color: var(--color_linkard);
}
.map_menu_title a::after{
	content:'［記事一覧］ ≫';
}
.map_menu_title:hover {
	transform: scale(0.92);
	transition:0.2s;
}
/*--------------------------------*/
.map_menu ul{
    font-weight: normal;
    list-style-type: none;
}
.map_menu h4{
    font-size: 1.1em;
    font-weight: 500;
    text-align: left;
    margin-bottom: 0px; 
	color: var(--color_zenp);
}
.map_menu summary h4{
    display: flex;
	flex-direction: column;
	justify-content: center;
    line-height: 1.5rem;
    font-size: 1.1em;
    font-weight: 500;
	color: var(--color_zenp);
    padding-top: 0.3rem;
    padding-left: 1.8rem;
}
.map_menu summary figure{
    max-width: 200px;
    text-align: center;
}
/*--------------------------------*/
/*h4
/*--------------------------------*/
/*
#menubox h4 {

    padding-top:20px;
    font-size: 1.3em;
    text-align: center;
}

#menubox h4 {
    font-size: 1.1em;
    font-weight: 500;
    align-items: center;
    display: flex;
    justify-content: center;
    margin-bottom: 5px; 
    padding: 0px;
}
/*===========================================================================*/
/*nav menubox（summary）
/*===========================================================================*/
/*--------------------------------*/
/*title_p
/*--------------------------------*/
@media (max-width: 749px) {
    #menubox h4.title_p,
    #menubox h4.title_p2 {
        align-items: center;
        display: flex;
        justify-content: center;
        font-size: 1.1rem;
        margin-bottom: 5px;
    }
    .map_menu h4.title_p,
    .map_menu h4.title_p2{
        font-size: 1.2rem;    
    }
    nav h4.title_p{
        display: block;
    }
    .map_menu h4.title_s,
    .map_menu h4.title_p1,
    #menubox h4.title_s,
    #menubox h4.title_p1,
    nav h4.title_p,
    nav h4.title_p1,
    nav h4.title_p2 { 
        display: none;
    }
}
@media (min-width: 750px) {
    #menubox h4.title_p,
    #menubox h4.title_p1,
    #menubox h4.title_p2 {
        align-items: center;
        display: flex;
        justify-content: center;
        margin-bottom: 5px;
    }
    nav h4.title_p{
        font-size: 1.3rem;    
    }
    #menubox h4.title_p1,
    #menubox h4.title_p2{
        font-size: 1.2rem;    
    }
    .map_menu h4.title_p,
    .map_menu h4.title_p2{
        font-size: 1.2rem;    
    }
    .map_menu h4.title_s,
    .map_menu h4.title_p1,
    #menubox h4.title_s,
    #menubox h4.title_p1,
    nav h4.title_s,
    nav h4.title_p2 {
        display: none;
    }
}
/*--------------------------------*/
@media (min-width: 750px) {
    #menubox h4.title_p,
    #menubox h4.title_p1,
    #menubox h4.title_p2 {
    font-size: 1.3rem;
    }
} 
/*--------------------------------*/
/*margin_h4
/*--------------------------------*/
.map_menu h4.margin_h4 {
    margin-top: 0.8rem;
    margin-bottom: 0.2rem
}
#menubox h4.margin_h4{
    margin-top: 2.0rem;
}
nav h4.margin_h4{
    margin-top: 0rem;
}
/*--------------------------------*/
/*h4 color
/*--------------------------------*/
#menubox h4.type_zenp {
	color: var(--color_zenp);
    font-weight: 900;
}
#menubox h4.type_blue {
	color: var(--color_blue);
}
#menubox h4.type_olive {
	color: var(--color_olive)
}
#menubox h4.type_darkred {
	color: var(--color_darkred)
}
#menubox h4.type_green {
	color: var(--color_green)
}
#menubox h4.type_gray {
	color: var(--color_gray)
}
/*--------------------------------*/
/*h4 linear-gradient center
/*--------------------------------*/
#menubox h4::before,
#menubox h4::after {
    border-radius: 5px; 
    content: "";
    height: 5px; 
    opacity: 0.6;
    flex-grow: 1; /* 横幅いっぱい */
    width: 60px; /* 横線の長さ */
    background: #F7E4E4
}
#menubox h4::before {
    transform: scale(-1, 1);
    margin-right: 15px; 
    background: #F7E4E4
}
#menubox h4::after {
    margin-left: 15px; 
}
#menubox h4.type_zenp::before,
#menubox h4.type_zenp::after {
    background: var(--gradient_zenp)
}
#menubox h4.type_blue::before,
#menubox h4.type_blue::after {
    background: var(--gradient_blue)
}
#menubox h4.type_olive::before,
#menubox h4.type_olive::after {
    background: var(--gradient_olive)
}
#menubox h4.type_darkred::before,
#menubox h4.type_darkred::after {
    background: var(--gradient_darkred)
}
#menubox h4.type_green::before,
#menubox h4.type_green::after {
    background: var(--gradient_green)
}
#menubox h4.type_gray::before,
#menubox h4.type_gray::after {
    background: var(--gradient_gray)
}

/*===========================================================================*/


/*===========================================================================*/
/*summary（nav menubox map_menu）
/*===========================================================================*/
/*--------------------------------*/
/*
.map_menu .accordion1,
.map_menu .accordion2,
nav .accordion1,
nav .accordion2 {
    list-style-type: none; 
}
/*--------------------------------*/
/*summary
/*--------------------------------*/
.map_menu .accordion1 summary,
.map_menu .accordion2 summary,
#menubox .accordion1 summary,
#menubox .accordion2 summary,
nav .accordion1 summary,
nav .accordion2 summary {
    font-weight: normal;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    margin: 0px ;
    cursor: pointer;
    line-height: 1.3rem;
    border-top: 1px solid var(--color_gray12);
    color: var(--color_gray);
    white-space: nowrap;
}

/*--------------------------------*/
/*accordion1 accordion2
/*--------------------------------*//*-- padding --*/
.map_menu .accordion1 summary,
#menubox .accordion1 summary,
nav .accordion1 summary {
    padding: 0.9rem 1rem 0.9rem 1.0rem;
}
.map_menu .accordion2 summary,
#menubox .accordion2 summary,
nav .accordion2 summary {
    padding: 0.4rem 11rem 0.4rem 1.0rem
}

/*--------------------------------*/
.map_menu .accordion1 summary::-webkit-details-marker,
.map_menu .accordion2 summary::-webkit-details-marker,
#menubox .accordion1 summary::-webkit-details-marker,
#menubox .accordion2 summary::-webkit-details-marker,
nav .accordion1 summary::-webkit-details-marker,
nav .accordion2 summary::-webkit-details-marker {
    display: none;
}
.map_menu .accordion1[open] summary,
.map_menu .accordion2[open] summary,
#menubox .accordion2[open] summary,
#menubox .accordion2[open] summary,
nav .accordion1[open] summary,
nav .accordion2[open] summary {
    background: var(--color_gray04);
}
/*--------------------------------*/
/*summary before after 
/*--------------------------------*/
.map_menu .accordion1 summary::before,
.map_menu .accordion1 summary::after,
.map_menu .accordion2 summary::before,
.map_menu .accordion2 summary::after,
#menubox .accordion1 summary::before,
#menubox .accordion1 summary::after,
#menubox .accordion2 summary::before,
#menubox .accordion2 summary::after,
nav .accordion1 summary::before,
nav .accordion1 summary::after,
nav .accordion2 summary::before,
nav .accordion2 summary::after {
    width: 3px;
    height: 0.9rem;
    border-radius: 5px;
    background-color: var(--color_gray);
    content: '';
    position: absolute;
    right: 1.8rem;
    background: var(--color_gray);
}
.map_menu .accordion1 summary::before,
.map_menu .accordion1 summary::after,
.map_menu .accordion2 summary::before,
.map_menu .accordion2 summary::after{
    right: 0.9rem;
}
#menubox .accordion1 summary::before,
#menubox .accordion1 summary::after,
#menubox .accordion2 summary::before,
#menubox .accordion2 summary::after{
    right: 2.3rem;
}
nav .accordion1 summary::before,
nav .accordion1 summary::after,
nav .accordion2 summary::before,
nav .accordion2 summary::after {
    right: 1.8rem;
}

.map_menu .accordion1 summary::before,
.map_menu .accordion2 summary::before,
#menubox .accordion1 summary::before,
#menubox .accordion2 summary::before, 
nav .accordion1 summary::before,
nav .accordion2 summary::before {
    rotate: 90deg;
}
.map_menu .accordion1 summary::after,
.map_menu .accordion1 summary::after,
#menubox .accordion2 summary::ater,
#menubox .accordion2 summary::after,
nav .accordion1 summary::after,
nav .accordion2 summary::after {
    transition: rotate .2s;
}
.map_menu .accordion1[open] summary::after,
.map_menu .accordion2[open] summary::after,
#menubox .accordion1[open] summary::after,
#menubox .accordion2[open] summary::after,
nav .accordion1[open] summary::after,
nav .accordion2[open] summary::after {
    rotate: 90deg;
}
.map_menu .accordion1 summary:hover,
.map_menu .accordion2 summary:hover,
#menubox .accordion1 summary:hover,
#menubox .accordion2 summary:hover,
nav .accordion1 summary:hover,
nav .accordion2 summary:hover {
	transform: scale(0.98);
	transition:0.2s;
	background: var(--color_blue1);
}
/*--------------------------------*/
/*bdr_none
/*--------------------------------*/
.map_menu .bdr_none summary,
.map_menu .bdr_none summary, 
#menubox .bdr_none summary,
#menubox .bdr_none summary, 
nav .bdr_none summary,
nav .bdr_none summary {
    border-top: none;
}
/*--------------------------------*/
/*ul li
/*--------------------------------*/
#menubox .ul_main{
    margin-top: 0.2rem;
}

/*--------------------------------*/
nav .ul_main,
nav .ul_sub1,
nav .ul_sub2 {
    list-style: none;
}
/*--------------------------------*/
/*--------------------------------*/
/* background: #F6D7D7
/*--------------------------------*/

/*--------------------------------*/
/*--------------------------------*/
/*--------------------------------*/
/*--------------------------------*/
.map_menu .ul_sub1 li,
.map_menu .ul_sub2 li,
#menubox .ul_sub1 li,
#menubox .ul_sub2 li,
nav .ul_sub1 li,
nav .ul_sub2 li {
    text-align: left;
    position: relative;
    text-decoration: none;
    font-weight: normal;
    line-height: 1.3rem;
	margin: 0px ;
	border-top: 1px dotted var(--color_gray12);
    color:var(--color_linkard);
}
/*--------------------------------*/
/*sub_ul1 sub_ul2 
/*--------------------------------*//*-- padding --*/
.map_menu .ul_sub1 li,
#menubox .ul_sub1 li {
    padding: 0.9rem 0rem 0.9rem 2.5rem;
}
.map_menu .ul_sub2 li,
#menubox .ul_sub2 li {
    padding: .4rem 0rem 0.4rem 2.5rem;
}
/*--------------------------------*/
nav .ul_sub1 li {
    padding: 0.9rem 0rem 0.9rem 1.2rem;
}
nav .ul_sub2 li {
    padding: .4rem 0rem 0.4rem 1.2rem;
}
@media (min-width:900px) {
    nav .ul_sub1 li {
        padding: 0.9rem 0rem 0.9rem 2.5rem;
    }  
     nav .ul_sub2 li {
        padding: .4rem 0rem 0.4rem 2.5rem;
    }
}
/*--------------------------------*/
/*block hover before/after
/*--------------------------------*/
.map_menu .ul_sub1 a li,
#menubox .ul_sub1 a li,
#menubox .ul_sub2 a li,
nav .ul_sub1 a li,
nav .ul_sub2 a li {
    display: block;
}
/*--------------------------------*/
.map_menu .ul_sub1 a li:hover,
.map_menu .ul_sub2 a li:hover,
#menubox .ul_sub1 a li:hover,
#menubox .ul_sub2 a li:hover,
nav .ul_sub1 a li:hover,
nav .ul_sub2 a li:hover {
	transform: scale(0.95);
	transition:0.2s;
}
/*--------------------------------*/
.map_menu .ul_sub1 a li::after,
.map_menu .ul_sub2 a li::after,
#menubox .ul_sub1 a li::after,
#menubox .ul_sub2 a li::after,
nav .ul_sub1 a li::after,
nav .ul_sub2 a li::after{
	content:' ≫';
}
/*===========================================================================*/
/*x_accordion
/*===========================================================================*/
#menubox .x_accordion2  {
   margin-top: 0.2rem;
}
/*--------------------------------*/
.map_menu .x_accordion1 ul,
.map_menu .x_accordion2 ul,
#menubox .x_accordion1 ul,
#menubox .x_accordion2 ul,
nav .x_accordion1 ul,
nav .x_accordion2 ul {
    list-style-type: none;
}
.map_menu .x_accordion1 li,
.map_menu .x_accordion2 li,
#menubox .x_accordion1 li,
#menubox .x_accordion2 li,
nav .x_accordion1 li,
nav .x_accordion2 li {
    font-weight: normal;
    text-align: left;
    position: relative;
    text-decoration: none;
	margin: 0px ;
    line-height: 1.3rem;
    color:  var(--color_linkard);
    border-top: 1px solid var(--color_gray12);
}
/*--------------------------------*/
/*block hover before/after
/*--------------------------------*/
.map_menu .x_accordion1 a li,
.map_menu .x_accordion2 a li,
#menubox .x_accordion1 a li,
#menubox .x_accordion2 a li,
nav .x_accordion1 a li,
nav .x_accordion2 a li {
    display: block;
}
/*--------------------------------*/
.map_menu .x_accordion1 li:hover,
.map_menu .x_accordion2 li:hover,
#menubox .x_accordion1 li:hover,
#menubox .x_accordion2 li:hover,
nav .x_accordion1 li:hover,
nav .x_accordion2 li:hover {
	transform: scale(0.92);
	transition:0.2s;
	background: var(--color_blue1);
}
.map_menu .x_accordion1 a li:hover,
.map_menu .x_accordion2 a li:hover,
#menubox .x_accordion1 a li:hover,
#menubox .x_accordion2 a li:hover,
nav .x_accordion1 a li:hover,
nav .x_accordion2 a li:hover {
	color:var(--color_hover);
}
.map_menu .x_accordion1 a li::after,
.map_menu .x_accordion2 a li::after,
#menubox .x_accordion1 a li::after,
#menubox .x_accordion2 a li::after,
nav .x_accordion1 a li:after,
nav .x_accordion2 a li::after {
	content:' ≫';
}
/*--------------------------------*/
/*x_accordion1 x_accordion2
/*--------------------------------*//*-- padding --*/
.map_menu .x_accordion1 li,
#menubox .x_accordion1 li,
nav .x_accordion1 li {
	padding: 1.0rem 0rem 1.0rem 1rem ;
}
.map_menu .x_accordion2 li, 
#menubox .x_accordion2 li, 
nav .x_accordion2 li {
	padding: 0.5rem 0rem 0.5rem 1rem ;
}
.map_menu .x_accordion1 .top li,
#menubox .x_accordion1 .top li,
nav .x_accordion1 .top li {
	padding: 0.5rem 0rem 0.5rem 1rem;
}
.map_menu .x_accordion2 .top li,
#menubox .x_accordion2 .top li,
nav .x_accordion2 .top li {
	padding: 0rem 0rem 0rem 1rem;
}
/*--------------------------------*/
/*bdr_none bdr_dotted
/*--------------------------------*/
.map_menu .x_accordion1 .bdr_none li,
.map_menu .x_accordion2 .bdr_none li,
#menubox .x_accordion1 .bdr_none li,
#menubox .x_accordion2 .bdr_none li,
nav .x_accordion1 .bdr_none li,
nav .x_accordion2 .bdr_none li {
    border-top: none;
}
.map_menu .x_accordion1 .bdr_dotted li,
.map_menu .x_accordion2 .bdr_dotted li,
#menubox .x_accordion1 .bdr_dotted li,
#menubox .x_accordion2 .bdr_dotted li,
nav .x_accordion1 .bdr_dotted li,
nav .x_accordion2 .bdr_dotted li {
	border-top: 1px dotted var(--color_gray12);
}
/*--------------------------------*/
/*caption caption_dred（div）
/*--------------------------------*/
.map_menu .caption,
.map_menu .caption_zenp,
.map_menu .caption_green,
#menubox .caption,
#menubox .caption_zenp,
#menubox .caption_green,
nav .caption,
nav .caption_zenp,
nav .caption_green {
    align-items: center;
    font-size: 0.8rem;
}
/*--------------------------------*/
.map_menu .caption, 
#menubox .caption, 
nav .caption {
    color: var(--color_gray);
}
.map_menu .caption_zenp, 
#menubox .caption_zenp, 
nav .caption_zenp {
    color: var(--color_zenp);
}
.map_menu .caption_green, 
#menubox .caption_green, 
nav .caption_green {
    color: var(--color_green);
}
.map_menu.caption_dred,
#menubox .caption_dred,
nav .caption_dred {
    color: var(--color_darkred);
}
/*--------------------------------*/
/*caption_sub{（absolute）団体契約
/*--------------------------------*/
.map_menu .caption_sub,
#menubox .caption_sub,
nav .caption_sub {
    color:  var(--color_gray);
    font-size: 0.8rem;
    position: absolute;
}
/*--------------------------------*/
.map_menu .caption_sub{
    right: 2.2rem;
}
#menubox .caption_sub{
    right: 3.7rem;
}
nav .caption_sub {
    right: 3rem;
}
/*--------------------------------*/
.map_menu .x_accordion1 .caption_sub,
.map_menu .x_accordion2 .caption_sub{
    right: 2.2rem;
}
#menubox .x_accordion1 .caption_sub,
#menubox .x_accordion2 .caption_sub{
    right: 2.5rem;
}
nav .x_accordion1 .caption_sub,
nav .x_accordion2 .caption_sub {
    right: 2.1rem;
}
/*--------------------------------*/
/*x_accordion1 + accordion2
/*--------------------------------*/
#menubox .adjust{
    margin-top: -1.3rem;
    /*border-top: 1px solid var(--color_gray12);*/
}
/*--------------------------------*/
/*color（a）利用休止
/*--------------------------------*/
.map_menu .x_accordion1 .color li,
.map_menu .x_accordion2 .color li, 
#menubox .x_accordion1 .color li,
#menubox .x_accordion2 .color li, 
nav .x_accordion1 .color li,
nav .x_accordion2 .color li {
    color:  var(--color_blue);
}

/*===========================================================================*/
/*gcse_box（google search） sns_wrap
/*===========================================================================*/
.gcse_box {
    padding: 0px ;
	margin: 0px 0 0px -5px;
	float: left;
    min-width: 200px;
    width: auto;
}
/*--------------------------------*/
@media (min-width:600px) {
    .gcse_box {
        margin: 0;
        min-width: 250px;
        width: auto;
    }
}
/*--------------------------------*/
@media (min-width:900px) {
    .gcse_box {
        min-width: 350px;
        width: auto;
    }
}

/*--------------------------------*/
/*sns_wrap
/*--------------------------------*/
.sns_wrap1{
    margin: 0;
    padding: 0;
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
    gap:10px;
}

.sns_wrap2 {
	display: flex;
	align-items: center; 
	justify-content: center; 
    gap:15px;
}
.sns_wrap2::before,
.sns_wrap2::after {
	padding-top: 10px;
	padding-bottom: 10px;
	content: "";
	width: 100% ; 
}
.sns_wrap2::before {
 	margin-right: 1px;
	background-image: -gradient(to left,#CCCCCC,#FFFFFF);
	background-image: -webkit-linear-gradient(left,#CCCCCC,#FFFFFF);
	background-image: -moz-linear-gradient(left,#CCCCCC,#FFFFFF);
}
.sns_wrap2::after {
	margin-left: 1px; 
	background-image: -gradient(to right,#CCCCCC,#FFFFFF);
	background-image: -webkit-linear-gradient(right,#CCCCCC,#FFFFFF);
	background-image: -moz-linear-gradient(right,#CCCCCC,#FFFFFF);
}

/*--------------------------------*/
.sns_size1,
.sns_size2{
    background-repeat: no-repeat;
    height: 30px;
	aspect-ratio: 1/1;
    fill: currentColor;
}
.sns_size2{
    height: 35px;
}
/*--------------------------------*/
@media (min-width:900px) {
    .sns_wrap1,
    .sns_wrap2{
        gap:20px;
    }
    .sns_size1{
        height: 40px;
    }
    .sns_size2{
        height: 50px;
    }
}
/*===========================================================================*/
/*sns（sns_linkのjsはどこにある？）
/*===========================================================================*/
.snsx_fb,
.snsx_x,
.snsx_line,
.sns_link{ 
    color:var(--color_lightgray);
}

/*--------------------------------*/
.descriptiontips_sns a.snsx_fb :hover,
.descriptiontips_sns a.snsx_line :hover,
.descriptiontips_sns a.snsx_x :hover,
.descriptiontips_sns a.sns_link :hover{
	transition: 0.1s; 
	transform: scale(0.96);
}
.descriptiontips_sns a.snsx_fb :hover{
	fill: #375A94; 
}
.descriptiontips_sns a.snsx_line :hover {
	fill: #5DB40F; 
}
.descriptiontips_sns a.snsx_x :hover {
	fill: #000000; 
}
.descriptiontips_sns a.sns_link :hover{
	fill: #369BEE;
}


/*--------------------------------*/
/*description_sns*/
/*--------------------------------*/
.descriptiontips_sns{
	position: relative;
	cursor: pointer;
	display: inline-block;
}
.descriptiontips_sns p{
	margin:0;
	padding:0;
}
.description_sns {
	display: none;
	position: absolute;
	padding: 10px;
	font-size: 0.9em;
	line-height: 1.3em;
	color: var(--color_white);
	border-radius: 5px;
	background: var(--color_black);
	width:auto;
	white-space: nowrap;
	text-align: center;
}
.description_sns:before {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	border: 15px solid transparent;
	border-top: 15px solid #666;
	margin-left: -15px;
}
.descriptiontips_sns:hover .description_sns{
	display: inline-block;
	top: -3.8em;
	left: -3em;
}
/*===========================================================================*/
/*--------------------------------*/
/*download_pdf
/*--------------------------------*/
.download_pdf{
    background-repeat: no-repeat;
    padding: 0px 2px 0px 0px;
    height: 2.5rem;
	aspect-ratio: 1/1;
    fill: currentColor;
    color:var(--color_gray);
}
.download_pdf:hover{
    color:var(--color_hover);
	transition: 0.1s; 
	transform: scale(0.92);
}
@media (min-width:600px) {
    .download_pdf{
        padding: 0px 2px 0px 0px;
        height: 2.6rem;
    }
}
/*--------------------------------*/
/*download_office
/*--------------------------------*/
.download_office{
    padding: 0px 2px 0px 0px;
    height: 3.1rem;
}
.download_office:hover{
	transition: 0.1s; 
	transform: scale(0.92);
}
@media (min-width:600px) {
    .download_office{
        padding: 0px 2px 0px 0px;
        height: 3.1rem;
    }
}
/*--------------------------------*/
/*opennew
/*--------------------------------*/
.opennew{
    background-repeat: no-repeat;
    padding: 0px 5px 0px 0px;
    height: 2.9rem;
	aspect-ratio: 1/1;
    fill: currentColor;
    color:var(--color_gray);
}
.opennew:hover{
    color:var(--color_hover);
	transition: 0.1s; 
	transform: scale(0.92);
}
@media (min-width:600px) {
    .opennew{
        padding: 0px 5px 0px 0px;
        height: 2.9rem;
    }
}
/*===========================================================================*/
/*pagetop_show
/*main.js
/*===========================================================================*/
.pagetop_show {display: block;
}
.pagetop1 a {
	display: block;text-decoration: none;text-align: center;z-index: 99;
	background: rgba(0,0,0,0.2);	/*背景色。0,0,0は黒の事で0.2は色が20%出た状態。*/
	position: fixed;	/*スクロールに追従しない(固定で表示)為の設定*/
	left: 20px;		/*右からの配置場所指定*/
	bottom: 20px;		/*下からの配置場所指定*/
	color: #fff;		/*文字色*/
	font-size: 1.5em;	/*文字サイズ*/
	width: 60px;		/*幅*/
	line-height: 60px;	/*高さ*/
	border-radius: 50%;	/*円形にする*/
}
/*=======
/*===========================================================================*/
/*===========================================================================*/