/*==========================================================
                        C U S T O M
==========================================================*/
/* MB */
.under main .mb0{margin-bottom:0px}
.under main .mb10{margin-bottom:10px}
.under main .mb15{margin-bottom:15px}
.under main .mb20{margin-bottom:20px}
.under main .mb25{margin-bottom:25px}
.under main .mb30{margin-bottom:30px}
.under main .mb40{margin-bottom:40px}
.under main .mb50{margin-bottom:50px}
.under main .mb60{margin-bottom:60px}
.under main .mb70{margin-bottom:70px}
.under main .mb80{margin-bottom:80px}
.under main .mb90{margin-bottom:90px}

/* MT */
.under main .mt10{margin-top:10px}
.under main .mt15{margin-top:15px}
.under main .mt20{margin-top:20px}
.under main .mt25{margin-top:25px}
.under main .mt30{margin-top:30px}
.under main .mt40{margin-top:40px}
.under main .mt50{margin-top:50px}
.under main .mt60{margin-top:60px}
.under main .mt70{margin-top:70px}
.under main .mt80{margin-top:80px}
.under main .mt90{margin-top:90px}

/* MAX_W */
.under main .max_w200{width:100%;max-width:200px}
.under main .max_w250{width:100%;max-width:250px}
.under main .max_w300{width:100%;max-width:300px}
.under main .max_w350{width:100%;max-width:350px}
.under main .max_w500{width:100%;max-width:500px}
.under main .max_w600{width:100%;max-width:600px}
.under main .max_w700{width:100%;max-width:700px}
.under main .max_w800{width:100%;max-width:800px}
.under main .max_w900{width:100%;max-width:900px}

/* MIN-W */
.under main .min_w200{min-width:200px}
.under main .min_w250{min-width:250px}
.under main .min_w300{min-width:300px}
.under main .min_w350{min-width:350px}
.under main .min_w500{min-width:500px}

/*==========================================================
                        H E A D I N G
==========================================================*/
.under main h1,.under main h2,.under main h3,.under main h4,.under main h5,.under main h6{font-weight: bold;}
.under main h1{font-size: 4.2rem;text-align: center;color: #fff;position: relative;z-index: 1;width: 100%;padding: 1.6rem 1.5rem;}
.under main .top_info_box{width: 100%;position: relative;}
.under main .top_info_box::after{content: "";position: absolute;width: 100%;height: 100%;background: var(--gradient1);opacity: 0.75;z-index: 0;top: 0;left: 0;mix-blend-mode: multiply;}
.under main h2{font-size: 3.2rem;text-align: center;color: #05433A;position: relative;padding-bottom: 2.8rem;margin-bottom: 3rem;}
.under main h2::after{content: '';position: absolute;width: 10rem;height: 0.3rem;background: var(--gradient1);left: 50%;transform: translateX(-50%);bottom: 0;}
.under main h3{font-size: 2.4rem;padding: 1.1rem 2.3rem;background-color: #E5F5F7;color: var(--mcolor);margin-bottom: 2.9rem;}
.under main h3 .en{font-size: 80%; color: var(--mcolor); display: block;}
.under main h4{font-size: 2.2rem;position: relative;padding-left: 2.6rem;margin-bottom: 1.3rem;}
.under main h4::before{content: "";position: absolute;width:1.4rem;height: 1.4rem;background-color: var(--mcolor);left: 0;top: 0.8rem;}

.under main h5{font-size: 2.4rem;color: var(--mcolor);}
.under main h6{font-size: 2rem;position: relative;}
.under main h6::before,
.under main h6::after{content: ""; position: absolute;height: 0.3rem;left: 0; bottom: -0.5rem;}
.under main h6::before{background-color: var(--mcolor);width: 5rem;left: 0;z-index: 2;}
.under main h6::after{background-color: #ccc;width: 100%;}

/*==========================================================
                      MAIN - CONTENT
==========================================================*/
.under main p{font-weight: 500;}
.under main .inner{width: 103.2rem;}
.under main #content{padding: 0 0 12rem}
.under main section{padding: 0 0 7rem;margin-bottom:0}
.under main section:last-child{padding:0}
.under main ol li{list-style: decimal;}

/* LINK + BUTTON TOP */
.under main .link{text-decoration: underline;color: var(--mcolor);text-underline-offset: 0.3rem;}
.under main strong{color: #86C46D;}
.under main .u_box:not(:last-child){margin-bottom: 48px;}
/*============ TOP INFO ============ */
.under main #top_info{height:40rem;width:100%;max-width:192rem;margin:0 auto;background:url('../images/top_info_bg.jpg') no-repeat center /cover;}
.under main #top_info .inner{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;padding-bottom: 4rem;}

/*==========================================================
                    T O P I C   P A T H
==========================================================*/
.under main #topic_path{margin-bottom: 2.7rem;}
.under main #topic_path ul{display:block;padding: 1.9rem 3rem;background-color: #FFF;margin-top: -4rem;}
.under main #topic_path li{display:inline;position: relative;font-size: 1.4rem;}
.under main #topic_path li:not(:last-child)::after{content:">";position:relative;display: inline-block;margin: 0 0.5rem 0 1rem;top: -0.1rem;pointer-events: none;}
.under main #topic_path li a{color: var(--mcolor);text-decoration: underline;}

/*============ LIST ANCHOR LINK ============ */
.under main .list_anchor{display: flex; align-items: center; flex-wrap: wrap; justify-content: center;width:100%;margin-bottom: 3rem;}
.under main .list_anchor .btn{margin: 0 1rem 1.5rem}
.under main .list_anchor:last-child{margin-bottom: -1.5rem;}

/*==========================================================
                        T A B L E
==========================================================*/
.under main table.td_top td{vertical-align:top}
.under main table.tb_fix{table-layout: fixed;}
.under main table{margin-bottom: 4rem;}
.under main table.users{margin-bottom: 1rem;}
.under main table th{background:#E5F5F7;font-weight:700;}
.under main table td{background:#fff;}
.under main table th,
.under main table td{padding: 1rem 2rem;border-color: #C7C7C7;border-right: 0;border-left: 0;word-break: break-all;}
.under main table img{display:block;margin:auto;}
.under main table tr th:not(:first-child){border-left: 1px solid #FFF;}
.under main table:not(.tb_block) tr th{border-bottom: 0;}
.under main table .border-top0{border-top: 0;}
/*============ LIST ============ */
/* LIST 01 */
.under main .list01{margin-bottom: 2.4rem;}
.under main .list01.mb10{margin-bottom: 1rem;}
.under main .list01 li{display:block;padding-left: 1.7rem;margin-bottom: 0.8rem;position:relative;font-weight: 500;}
.under main .list01 li::before{background:var(--mcolor);width:1rem;height:1rem;position:absolute;top:0.9rem;left:0;content:'';border-radius: 50%;}

/*============ FRAME ============ */
.under main .frame01{border:0.3rem solid var(--mcolor);padding: 3.5rem 3.7rem;background-color: #fff;border-radius:1rem;margin-bottom: 6.5rem;}

.under main .anchor_list{display: flex;justify-content: center;align-items: center;gap: 4rem;margin-bottom: 6.5rem;flex-wrap: wrap;}
.under main .anchor_list li a{width: 22rem;height: 5.6rem;border: 0.1rem solid #202020;border-radius: 0.5rem;display: flex;justify-content: center;align-items: center;position: relative;font-weight: 500;}
.under main .anchor_list li a::after{content: '';position: absolute;width: 1.7rem;height: 1rem;background: url('../images/anchor_ic.png') no-repeat center /contain;right: 1.1rem;top: calc(50% - 0.4rem);transition: all 0.3s;}

.under main .step_list{display: flex;flex-direction: column;gap: 9.2rem;}
.under main .step_ite{position: relative;border: 0.3rem solid var(--mcolor);border-radius: 1rem;padding: 3.7rem;counter-increment: li;}
.under main .step_ite::before{content: counter(li);position: absolute;left: 0;top: 0;font-weight: bold;color: #FFF;width: 5.8rem;height: 5.8rem;display: flex;justify-content: center;align-items: center;background-color: var(--mcolor);z-index: 1;font-size: 3.2rem;}
.under main .step_ite:not(:last-child)::after{content:"";position: absolute;width: 15rem;height: 5rem;background-color: var(--mcolor);clip-path: polygon(0 0, 100% 0, 50% 100%, 50% 100%);top: calc(100% + 2.4rem);left: 50%;transform: translateX(-50%);}
.under main .step_img{margin-bottom: 4.1rem;display: flex;flex-wrap: wrap;gap: 2rem;justify-content: center;}
.under main .step_des{padding: 1.4rem 1.5rem;background-color: #E5F5F7;color: #171717;text-align: center;border-radius: 0.3rem;}

.under main span.head {display: inline-block;}

@media screen and (min-width: 751px) {
  .under main .anchor_list li a:hover{color: var(--mcolor);border: 1px solid var(--mcolor);outline: 1px solid var(--mcolor);}
  .under main .anchor_list li a:hover::after{top: calc(50% - 2px);}
  .under main .step_img img{width: 45%;max-width: 400px;}
  .under main table:not(.users) tr:first-child th,.under main table:not(.users) tr:first-child td{border-top: 0;}
  .under main table:not(.users) tr:last-child th,.under main table:not(.users) tr:last-child td{border-bottom: 0;}
  .under main table.tb_row td{padding: 2.5rem 1.5rem;}
  .w30{width: 27rem;}
}

/* RESET */
.under main table:last-child,
.under main .list_faq:last-child,
.under main .list_faq dl:last-child,
.under main .list01:last-child,
.under main .list01 li:last-child,
.under main .list02:last-child,
.under main .list02 li:last-child,
.under main .list_check:last-child,
.under main .list_check li:last-child,
.under main .list_step:last-child,
.under main .list_step dl:last-child,
.under main section p:last-child,
.under main p:last-child,
.under main .frame01:last-child,
.under main .frame02:last-child,
.under main .frame_pick:last-child{margin-bottom: 0}


/* 施設利用者の皆様へ /users */
.anchor-link_box {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    column-gap: 20px;
    row-gap: 0.5em;
}
.anchor-link_box li{
    width: 100%;
    margin-right: 0;
    box-sizing: border-box;
}
.anchor-link_box li a {
    background: #fff;
    text-decoration: none;
    border: 1px solid #202020;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 56px;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    text-align: center;
    line-height: initial;
		font-weight: 500;
}
.anchor-link_box li a::after {
    content: "";
    display: inline-block;
    width: 16px;
    height: 9px;
    background: url(../images/ic-down.png) no-repeat;
    background-position: center;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 9px;
    transform: translateY(-50%);
}
.anchor-link_box li a:hover {
    background: #fff;
    color: var(--mcolor);
}

.anchor-link_navi {
    opacity: 0;
}

.anchor-link_navi.fixed {
    opacity: unset;
    display: block;
    position: fixed;
    top: 90px;
}

.anchor-stickey-navi, .anchor-stickey-navi-sp { display: none; }
.anchor-stickey-navi.blocked { display: block; }

.anchor-stickey-navi.blocked .anchor-link_box {
    max-width: 950px;
    margin: 0 auto;
    padding: 0.5rem 0;
}
.floor-map_box {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: auto auto auto;
    gap: 54px 20px;
		margin-top: 30px;
}
.floor-map_box dd {
    text-align: center;
    padding-top: 7px;
		font-weight: 500;
}

.parking-img {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr; 
    gap:20px;
}
.flow_box {
	margin-bottom: 52px;
}
.flow_box dl {
    border: 3px solid var(--mcolor);
		border-radius:10px;
		padding: 4rem;
		text-align: center;
		position: relative;
		margin-bottom: 9.3rem;
}
.flow_box dl:last-child {
		margin-bottom: 0rem;
}
.flow_box dl dd.flow_box_img {
	margin-bottom: 4rem;
}

.flow_box dl dd.flow_box_desc {
	background-color: #E5F5F7;
	border-radius:5px;
	padding: 1.6rem;
	color: #171717;
	font-weight: 500;
}
.flow_box dt {
	color: #fff;
	background-color: var(--mcolor);
	position: absolute;
	font-weight: bold;
	font-size: 3.2rem;
	top: 0;
	left: 0;
	width: 60px;
	height: 60px;
}

.flow_box dl:not(:last-child):after {
	content: "";
	display: inline-block;
	width: 150px;
	height: 50px;
	background: url(../images/arrow-down.png) no-repeat;
	background-position: center;
	background-size: contain;
	position: absolute;
	bottom: -70px;
  left: 50%;
  transform: translateX(-50%);
}

.img-caption_box {
	text-align: center;
}

.img-caption_box.notes img {
	max-width: 438px;
	width: 100%;
}

.img-caption_box.notes p {
	margin-top: 0rem;
}
.c-green {
	color: var(--scolor);
}

.under main  a.link02 {text-decoration: underline;color: var(--mcolor);}
.under main  a.link02:hover {color: var(--txt);}