/*+++++++++++++++++
footer
++++++++++++++++++*/
.footer-contactbox-text {
    display: none;
}
.footer-contactbox {
    padding: 10px;
    margin: 0;
    box-sizing: border-box;
    position: fixed;
    bottom: 0;
    width: var(--flex-100);
    z-index: 11;
    background: var(--site-color);
}
.footer-contactbox .large-inner {
    display: block;
    max-width: var(--flex-100);
}
.footer-contactbox .large-inner > div:first-child {
	display:none;
}

.tel_mailbox {
    position: relative;
}

.tel_mailbox .column-2 {
	grid-template-columns: repeat(2,1fr) !important;
	align-items: center;
}
.tel_mailbox .column-2:before {
	content:"";
	position: absolute;
}

.tel_mailbox a.tel span.en {
    font-size: var(--font-h5);
}

#pagetop {
    position: fixed;
    bottom: 8.5rem;
    right: 1rem;
    margin: 0rem;
    transform: rotate(-90deg);
    width: 50px;
    height: 50px;
    cursor: pointer;
    transition: .3s;
}

#pagetop .icon-arrow {
	position:relative;
	margin: 0;
	width: 50px;
	height: 50px;
}

footer {
	background:var(--white);
	padding: 0 0 120px;
	position: relative;
	z-index: 4;
}
footer .logo {
	max-width:200px;
	display: block;
}
footer .grid {
	grid-template-columns: 1fr !important;
	justify-content:space-between;
	gap: 20px;
}
footer .tel_mailbox > .column-2 > div {
	background:var(--white);
	display: flex;
	/* border-bottom: 1px solid var(--gray); */
	padding: 12px 0px 8px;
	box-sizing: border-box;
	height: 100%;
	border-radius: 4px;
}
footer .tel_mailbox > .column-2 > div:last-child {
	padding: 10px;
	/* background: none; */
}
footer .tel_mailbox > .column-2 > div:last-child .button a {
	background:none;
	padding: 10px 0;
	color: var(--black);
	font-size: var(--font-h5);
	height: auto;
}
footer .tel_mailbox > .column-2 > div:last-child .button a:before {
	background:var(--white);
	right: 0.4rem;
	width: 5px;
	height: 3px;
}
footer .tel_mailbox > .column-2 > div:last-child .button a:after {
	background:var(--site-color);
	width: 30px;
	height: 30px;
	right: 0;
}
footer .grid div > ol {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	padding: 0;
	gap: 20px;
}

footer .grid div.sns > ol {
	padding:0;
	justify-content: left;
	display: flex;
	gap: 15px;
}
footer .grid div.sns > ol li,footer .grid div.sns > ol li a {
	display:flex;
	align-items:center;
}

.sns ol li a img{
	width: 20px;
}
.sns ol li a img.facebook{
	width: 22px;
}
.sns ol li a img.x{
	width: 18px;
}
.sns ol li a img.line {
	width: 22px;
}
.sns ol li a img.tiktok{
	width: 26px;
}
.sns ol li a img.note{
	width: 60px;
}
.sns ol li a img.youtube{
	width: 25px;
}

.drw {
	margin: 0;
	border-bottom: 1px solid var(--gray);
	padding: 0;
}
.drw .icon-arrow {
	width: 25px;
	height: 25px;
	margin: auto;
	top: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}
.drw .icon-arrow span {
	width: 10px;
	height: 10px;
	left: 0;
	transform: rotate(90deg);
	top: 0;
}
.drw .icon-arrow.active span {
	transform:rotate(-90deg);
	transition:.3s;
}

.drw dt {
	font-size: var(--font-h6);
	font-weight: var(--wght-500);
	color: var(--blue);
	margin: 0;
	position: relative;
}
.drw dt a:before {
	content: url('data:image/svg+xml;charset=utf-8,<svg fill="var(--gray)" data-name="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 37 35.8"><rect class="b" y="16.4" width="24.6" height="3"/><polygon class="b" points="37 17.68 19.32 0 17.2 2.12 32.98 17.9 17.2 33.68 19.32 35.8 37 18.12 36.78 17.9 37 17.68"/></svg>');
	position: absolute;
	top: 0;
	left: 0;
	width: 10px;
	height: 10px;
	bottom: 0;
	margin: auto;
	padding: 0;
	-webkit-mask-image: url('data:image/svg+xml;charset=utf-8,<svg fill="var(--gray)" data-name="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 37 35.8"><rect class="b" y="16.4" width="24.6" height="3"/><polygon class="b" points="37 17.68 19.32 0 17.2 2.12 32.98 17.9 17.2 33.68 19.32 35.8 37 18.12 36.78 17.9 37 17.68"/></svg>');
	mask-image: url('data:image/svg+xml;charset=utf-8,<svg fill="var(--gray)" data-name="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 37 35.8"><rect class="b" y="16.4" width="24.6" height="3"/><polygon class="b" points="37 17.68 19.32 0 17.2 2.12 32.98 17.9 17.2 33.68 19.32 35.8 37 18.12 36.78 17.9 37 17.68"/></svg>');
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	background-color: var(--darkgray);
	z-index: 1;
}.drw dt a {
	color: var(--black);
	text-decoration: none;
	padding: 10px 0 10px 20px;
	display: inline-block;
	position: relative;
}

.drw dd{
	display:none;
	background: rgb(0 0 0 / 5%);
	padding: 15px 20px;
	border-radius: 5px;
	font-size: var(--font-h6);
}
.drw dd.active {
	display: block;
}


.drw ol li {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 5px 0;
}

#sidebar .drw ol li.current_page_item {
	background: var(--beige);
	color: var(--blue);
	font-weight: var(--wght-600);
}

.drw ol li .arrow {
	width: 13px;
}

.drw ol li a{
	display: block;
	padding: 0 0 0 15px;
	width: var(--flex-100);
	position: relative;
	/* font-size: var(--font-h6); */
	font-weight: var(--wght-400);
	color: var(--black);
	text-decoration: none;
}

.drw ol li a:before {
 content: url('data:image/svg+xml;charset=utf-8,<svg fill="var(--gray)" data-name="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 37 35.8"><rect class="b" y="16.4" width="24.6" height="3"/><polygon class="b" points="37 17.68 19.32 0 17.2 2.12 32.98 17.9 17.2 33.68 19.32 35.8 37 18.12 36.78 17.9 37 17.68"/></svg>');
 position: absolute;
 top: 0;
 left: 0;
 width: 8px;
 height: 7px;
 bottom: 0;
 margin: auto;
 padding: 0;
 -webkit-mask-image: url('data:image/svg+xml;charset=utf-8,<svg fill="var(--gray)" data-name="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 37 35.8"><rect class="b" y="16.4" width="24.6" height="3"/><polygon class="b" points="37 17.68 19.32 0 17.2 2.12 32.98 17.9 17.2 33.68 19.32 35.8 37 18.12 36.78 17.9 37 17.68"/></svg>');
 mask-image: url('data:image/svg+xml;charset=utf-8,<svg fill="var(--gray)" data-name="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 37 35.8"><rect class="b" y="16.4" width="24.6" height="3"/><polygon class="b" points="37 17.68 19.32 0 17.2 2.12 32.98 17.9 17.2 33.68 19.32 35.8 37 18.12 36.78 17.9 37 17.68"/></svg>');
 -webkit-mask-repeat: no-repeat;
 mask-repeat: no-repeat;
 background-color: var(--darkgray);
 z-index: 1;
}

.related {
	margin: 30px auto 0;
	background: var(--white);
}
.related dl{
	gap: 10px;
	grid-template-columns: 1fr;
	display: block;
	padding:30px 0;
	justify-content: space-between;
	align-items: center;
	border-radius: 5px;
	box-sizing: border-box;
}
.related dt{
	padding: 0 0 14px;
}
.related dd{
	flex-wrap: wrap;
	gap: 8px 20px;
	display: block;
}
.related a{
	font-size: var(--font-h6);
	display: block;
	line-height: var(--lh-sm);
}

footer ol.accessbox.grid {
    justify-content: center;
    grid-template-columns: repeat(3, 1fr) !important;
    position: relative;
    z-index: 10;
}
footer ol.accessbox.grid:before {
	content:"";
	position: absolute;
	background: var(--site-color);
	width: var(--flex-100);
	height: 1px;
	bottom: 0px;
	z-index: -1;
}
footer ol.accessbox.grid li a {
	background:var(--site-color);
	padding: 8px 5px 10px;
	gap: 10px;
}
footer ol.accessbox.grid li.active a {
	background:var(--white);
	border-radius: 10px 10px 0 0;
}
footer ol.accessbox.grid li figure:before {
	background: var(--white);
}
footer ol.accessbox.grid li.active figure:before {
	background: var(--lightorange);
}
footer ol.accessbox.grid li .tnav_text * {
	color:var(--white);
}
footer ol.accessbox.grid li.active .tnav_text * {
	color:var(--orange);
}
footer .grid .access-content {
	background:var(--white);
	border: 1px solid var(--site-color);
	padding: 20px 16px 10px;
	border-radius: 0 0 5px;
	margin: -1px auto 0;
	border-top: none;
}
footer .grid .access-content ol {
	display: block;
}

.accessbox li {
    border-radius: 10px;
}

.accessbox li svg#jr, .accessbox li svg#bus {
    width: 25px;
    height: 25px;
}

.accessbox li svg {
    fill: var(--site-color);
    width: 30px;
    height: 30px;
    z-index: 1;
    margin: 0;
}

.accessbox li a {
    text-decoration: none;
    color: inherit;
    padding: 18px 5px 16px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    border-radius: 10px 10px 0 0;
    border: 1px solid var(--site-color);
    transition: .3s;
    /* box-shadow: 0px 4px 20px rgba(44, 23, 3, 0.1); */
    border-bottom: none;
}
.accessbox li a:hover .tnav_text * {
color:var(--black);
}

.accessbox li figure {
    width: 35px;
    height: 35px;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.accessbox li figure:before {
    content: "";
    background: var(--lightorange);
    width: 35px;
    height: 35px;
    border-radius: 100px;
    position: absolute;
    left: 0;
    z-index: 0;
    top: 0;
    margin: auto;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    bottom: 0;
    transition: .3s;
}

.access-content {
    display: none;
}

.access-content.active {
    display: block;
}

@media screen and (min-width: 600px) {
/*+++++++++++++++++
footer
++++++++++++++++++*/

footer .logo {
}

.drw .icon-arrow.active span {
	transform:rotate(-90deg);
	transition:.3s;
}

.drw dd.active {
	display: block;
}

#sidebar .drw ol li.current_page_item {
	background: var(--beige);
	color: var(--blue);
	font-weight: var(--wght-600);
}

.drw ol li .arrow {
	width: 13px;
}

}

@media screen and (min-width: 1024px) {
/*+++++++++++++++++
footer
++++++++++++++++++*/
.tel_mailbox a.tel span.en {
    font-size: var(--font-h4);
}    
.footer-contactbox-text {
    display: block;
    text-align: center;
}
.footer-contactbox {
    padding: 60px 0;
    margin: 0 0 100px;
    position: relative;
}
.footer-contactbox .large-inner > div:first-child {
	display:block;
}	
.footer-contactbox .large-inner {
    display: grid;
    grid-template-columns: 36% 60%;
    justify-content: space-between;
    align-items: center;
    max-width: var(--large-inner);
}

.tel_mailbox {
    position: relative;
}

.tel_mailbox .column-2 {
}
.tel_mailbox .column-2:before {
	content:"";
	position: absolute;
}
	
#pagetop {
    width: 90px;
    height: 90px;
}
#pagetop:hover {
	transition:.3s;
	transform:scale(1.1) rotate(-90deg);
}
#pagetop .icon-arrow {
	width: 90px;
	height: 90px;
}

footer .logo {max-width: 280px;}
footer .grid {
}
footer .grid div:first-child {
	border-bottom: none;
}
footer .grid div > ol {grid-template-columns: repeat(2, 1fr);}
.drw {border: none;}
.drw .icon-arrow {
}
.drw .icon-arrow span {
}
.drw .icon-arrow.active span {
	transform:rotate(-90deg);
	transition:.3s;
}

.drw dt {
}
.drw dt a {
}

.drw dd{
}
.drw dd.active {
	display: block;
}

#sidebar .drw ol li.current_page_item {
	background: var(--beige);
	color: var(--blue);
	font-weight: var(--wght-600);
}

.drw ol li .arrow {
	width: 13px;
}

.drw ol li a{
	display: block;
	padding: 0 0 0 15px;
	width: var(--flex-100);
	position: relative;
	font-size: var(--font-em);
	font-weight: var(--wght-400);
	color: var(--black);
	text-decoration: none;
}

.drw ol li a:before {
 content: url('data:image/svg+xml;charset=utf-8,<svg fill="var(--gray)" data-name="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 37 35.8"><rect class="b" y="16.4" width="24.6" height="3"/><polygon class="b" points="37 17.68 19.32 0 17.2 2.12 32.98 17.9 17.2 33.68 19.32 35.8 37 18.12 36.78 17.9 37 17.68"/></svg>');
 position: absolute;
 top: 0;
 left: 0;
 width: 8px;
 height: 7px;
 bottom: 0;
 margin: auto;
 padding: 0;
 -webkit-mask-image: url('data:image/svg+xml;charset=utf-8,<svg fill="var(--gray)" data-name="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 37 35.8"><rect class="b" y="16.4" width="24.6" height="3"/><polygon class="b" points="37 17.68 19.32 0 17.2 2.12 32.98 17.9 17.2 33.68 19.32 35.8 37 18.12 36.78 17.9 37 17.68"/></svg>');
 mask-image: url('data:image/svg+xml;charset=utf-8,<svg fill="var(--gray)" data-name="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 37 35.8"><rect class="b" y="16.4" width="24.6" height="3"/><polygon class="b" points="37 17.68 19.32 0 17.2 2.12 32.98 17.9 17.2 33.68 19.32 35.8 37 18.12 36.78 17.9 37 17.68"/></svg>');
 -webkit-mask-repeat: no-repeat;
 mask-repeat: no-repeat;
 background-color: var(--darkgray);
 z-index: 1;
}

.related {
}
.related dl{
    display: grid;
    grid-template-columns: 20% 80%;
}
.related dt{
}
.related dd{
	display: flex;
}
.related a{
}	
}

@media screen and (min-width: 1200px) {
/*+++++++++++++++++
footer
++++++++++++++++++*/
footer .grid .access-content {
	padding: 25px 25px 20px;
}	
footer ol.accessbox.grid li a {
	gap:20px;
	padding: 18px 10px 16px;
}	
.accessbox li a {
	padding: 18px 10px 16px;
}	
.accessbox li svg {
	margin:0 0 0 10px;
}	
.accessbox li figure:before {
	width: 45px;
	height: 45px;
}	
    footer {
        padding: 0;
    }
#pagetop:hover {
	transition:.3s;
	transform:scale(1.1) rotate(-90deg);
}

footer .grid {
	grid-template-columns: 40% 55% !important;
}
footer .tel_mailbox > .column-2 > div,footer .tel_mailbox > .column-2 > div:last-child {
    display: block;
    padding: 25px 30px 23px;
}
footer .tel_mailbox > .column-2 > div:last-child .button a:before {
	background: var(--site-color);
	right: 1.7rem;
}	
footer .tel_mailbox > .column-2 > div:last-child .button a:after {
	background:var(--white);
	right: 1rem;
}

	
footer .tel_mailbox > .column-2 > div:last-child .button a {
	background: var( --orange);
	padding: 15px 20px;
	font-size: var(--font-h5);
	color: var(--white);
}	
footer .grid div > ol {
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 50px;
}

.drw .icon-arrow.active span {
	transform:rotate(-90deg);
	transition:.3s;
}

.drw dd{
	padding: 20px;
}
.drw dd.active {
	display: block;
}

.drw ol li {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 5px 0;
}

#sidebar .drw ol li.current_page_item {
	background: var(--beige);
	color: var(--blue);
	font-weight: var(--wght-600);
}

.drw ol li .arrow {
	width: 13px;
}

.drw ol li a{
	display: block;
	padding: 0 0 0 15px;
	width: var(--flex-100);
	position: relative;
	font-size: var(--font-em);
	font-weight: var(--wght-400);
	color: var(--black);
	text-decoration: none;
}

.drw ol li a:before {
 content: url('data:image/svg+xml;charset=utf-8,<svg fill="var(--gray)" data-name="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 37 35.8"><rect class="b" y="16.4" width="24.6" height="3"/><polygon class="b" points="37 17.68 19.32 0 17.2 2.12 32.98 17.9 17.2 33.68 19.32 35.8 37 18.12 36.78 17.9 37 17.68"/></svg>');
 position: absolute;
 top: 0;
 left: 0;
 width: 8px;
 height: 7px;
 bottom: 0;
 margin: auto;
 padding: 0;
 -webkit-mask-image: url('data:image/svg+xml;charset=utf-8,<svg fill="var(--gray)" data-name="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 37 35.8"><rect class="b" y="16.4" width="24.6" height="3"/><polygon class="b" points="37 17.68 19.32 0 17.2 2.12 32.98 17.9 17.2 33.68 19.32 35.8 37 18.12 36.78 17.9 37 17.68"/></svg>');
 mask-image: url('data:image/svg+xml;charset=utf-8,<svg fill="var(--gray)" data-name="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 37 35.8"><rect class="b" y="16.4" width="24.6" height="3"/><polygon class="b" points="37 17.68 19.32 0 17.2 2.12 32.98 17.9 17.2 33.68 19.32 35.8 37 18.12 36.78 17.9 37 17.68"/></svg>');
 -webkit-mask-repeat: no-repeat;
 mask-repeat: no-repeat;
 background-color: var(--darkgray);
 z-index: 1;
}

.related {
	margin: 30px auto 0;
	background: var(--white);
}
.related dl{
}
.related dt{
}

.related a{
}	
}

@media screen and (min-width: 1500px) {
/*+++++++++++++++++
footer
++++++++++++++++++*/
#pagetop {
    right: 2rem;
    bottom: 2rem;
}
#pagetop:hover {
	transition:.3s;
	transform:scale(1.1) rotate(-90deg);
}
#pagetop .icon-arrow {
}


.drw .icon-arrow.active span {
	transform:rotate(-90deg);
	transition:.3s;
}

.drw dt {
}
.drw dt a {
}

.drw dd{
}
.drw dd.active {
	display: block;
}

.drw.sbj ol {
	/* grid-template-columns: 1fr 1fr; */
	/* display: grid; */
}

.drw ol li {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 5px 0;
}

#sidebar .drw ol li.current_page_item {
	background: var(--beige);
	color: var(--blue);
	font-weight: var(--wght-600);
}

.drw ol li .arrow {
	width: 13px;
}

.drw ol li a{
	display: block;
	padding: 0 0 0 15px;
	width: var(--flex-100);
	position: relative;
	font-size: var(--font-em);
	font-weight: var(--wght-400);
	color: var(--black);
	text-decoration: none;
}

.drw ol li a:before {
 content: url('data:image/svg+xml;charset=utf-8,<svg fill="var(--gray)" data-name="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 37 35.8"><rect class="b" y="16.4" width="24.6" height="3"/><polygon class="b" points="37 17.68 19.32 0 17.2 2.12 32.98 17.9 17.2 33.68 19.32 35.8 37 18.12 36.78 17.9 37 17.68"/></svg>');
 position: absolute;
 top: 0;
 left: 0;
 width: 8px;
 height: 7px;
 bottom: 0;
 margin: auto;
 padding: 0;
 -webkit-mask-image: url('data:image/svg+xml;charset=utf-8,<svg fill="var(--gray)" data-name="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 37 35.8"><rect class="b" y="16.4" width="24.6" height="3"/><polygon class="b" points="37 17.68 19.32 0 17.2 2.12 32.98 17.9 17.2 33.68 19.32 35.8 37 18.12 36.78 17.9 37 17.68"/></svg>');
 mask-image: url('data:image/svg+xml;charset=utf-8,<svg fill="var(--gray)" data-name="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 37 35.8"><rect class="b" y="16.4" width="24.6" height="3"/><polygon class="b" points="37 17.68 19.32 0 17.2 2.12 32.98 17.9 17.2 33.68 19.32 35.8 37 18.12 36.78 17.9 37 17.68"/></svg>');
 -webkit-mask-repeat: no-repeat;
 mask-repeat: no-repeat;
 background-color: var(--darkgray);
 z-index: 1;
}

}