/* @group @variables */

[class*="o-mutual-footer"] {
--footer-padding: 2.25rem var(--x-padding-right) 12rem var(--x-padding-left);
--footer-background-color: var(--color-black);
--footer-color: var(--color-white);
}

@media (width >= 48em) { /* 768px -> * */

[class*="o-mutual-footer"] {
--footer-padding: 2.25rem var(--x-padding-right) 6rem var(--x-padding-left);
}

}

/* @end @variables */

/* @group @o-mutual-footer */

[class*="o-mutual-footer"] {
display: grid;
grid-auto-flow: row;
grid-auto-columns: 1fr;
gap: 2.25rem;
padding: var(--footer-padding);
background-color: var(--footer-background-color);
color: var(--footer-color);
}

/* @end @o-mutual-footer */

/* -------------------------------------------------------- */

/* @group @variables */

[class*="m-footer-nav"] {
--mutual-footer-nav-grid-template-columns: repeat(1, 1fr);
--mutual-footer-nav-gap: 2.25rem;
--head-3-font-size: 1.25rem;
--head-3-line-height: 1.2;
}

@media (width < 48em) { /* 0 -> 767px */

[class*="m-footer-nav"] {
--head-3-text-align: center;
}

}

@media (width >= 48em) { /* 768px -> * */

[class*="m-footer-nav"] {
--mutual-footer-nav-grid-template-columns: repeat(2, 1fr);
--footer-nav-detail-gap: .75rem;
}

}

/* @end @variables */

/* @group @m-footer-nav */

[class*="m-footer-nav"] {
display: grid;
align-items: start;
grid-template-columns: var(--mutual-footer-nav-grid-template-columns);
gap: var(--mutual-footer-nav-gap);
}

/* @end @m-footer-nav */

/* @group @a-footer-nav-detail */

[class*="a-footer-nav-detail"] {
display: grid;
gap: var(--footer-nav-detail-gap)
}

[class*="a-footer-nav-detail"] :where(h3) {
padding: 0 .375rem .75rem;
box-shadow: 0 1px 0 0 var(--color-dimgray);
}

/* @end @a-footer-nav-detail */

/* -------------------------------------------------------- */

/* @group @variables */

@media (width < 48em) { /* 0 -> 767px */

[class*="a-footer-nav-list"] {
--link-background-color: transparent;
--link-background-image: none;
--link-background-size: 0 0;
--link-action-background-size: 0 0;
--link-action-background-color: hsl(0deg 0% 100% / 25%);
--link-transition: background .25s 0s cubic-bezier(.6, .5, .5, .75), color .25s 0s var(--transition-cubic-bezier);
--grid-auto-flow: row;
}

[class*="a-footer-nav-list"] a {
--link-action-font-weight: 400;
--link-action-font-variation-settings: "wght" var(--link-action-font-weight);
}

}

@media (width >= 48em) { /* 768px -> * */

[class*="a-footer-nav-list"] {
--footer-nav-list-gap: .375rem;
}

}

/* @end @variables */

/* @group @a-footer-nav-list */

[class*="a-footer-nav-list"] {
display: grid;
gap: var(--footer-nav-list-gap);
}

[class*="a-footer-nav-list"] span {
box-sizing: border-box;
position: relative;
display: inline-grid;
place-items: center;
height: 1rem;
padding-inline: .375rem;
background-color: var(--color-white);
border-radius: .25rem;
font-size: .75rem;
line-height: 1.25;
color: var(--color-text);
}

@media (width >= 48em) { /* 768px -> * */

[class*="a-footer-nav-list"] li {
padding-left: 1.125rem;
background-image: url('../img/sprite-svg.svg#icon-footer-arrow-right');
background-position: 0 .5rem;
background-repeat: no-repeat;
background-size: .75rem .75rem;
}

[class*="a-footer-nav-list"] span {
top: -.125rem;
margin-left: .375rem;
}

}

@media (width < 48em) { /* 0 -> 767px */

[class*="a-footer-nav-list"] a {
display: grid;
place-content: center;
grid-auto-flow: column;
gap: .35rem;
text-align: center;
padding: 1.125rem .75rem;
box-shadow: 0 1px 0 0 var(--color-dimgray), inset 0 1px 0 0 var(--color-dimgray);
background-image: none;
}

[class*="a-footer-nav-list"] span {
margin-inline: auto;
}

}

/* @end @a-footer-nav-list */

/* -------------------------------------------------------- */

/* @group @a-footer-logo */

[class*="a-footer-logo"] {
text-align: center;
}

[class*="a-footer-logo"] img {
width: auto;
height: 2.25rem;
filter: brightness(0) invert(1);
}

/* @end @a-footer-logo */

/* -------------------------------------------------------- */

/* @group @variables */

[class*="a-footer-copyright"] {
--copyright-text-align: center;
}

/* @end @variables */

/* @group ＠a-footer-copyright */

[class*="a-footer-copyright"] {
overflow: hidden;
font-size: .75rem;
line-height: 1.14285714;
text-transform: uppercase;
word-break: keep-all;
overflow-wrap: anywhere;
text-align: var(--copyright-text-align);
}

/* @end @a-footer-copyright */

/* -------------------------------------------------------- */

/* @group @variables */

:root {
--page-top-right: var(--x-padding-right);
--page-top-bottom: 1.5rem;
--page-top-background-color: hsl(220deg 5% 50% / 37.5%);
--page-top-action-background-color: hsl(220deg 5% 50% / 87.5%);
--page-top-opacity: 0;

}

[class*="is-watch-nav"][class*="is-fit-sticky"] {
--page-top-opacity: 1;

}

@media (width >= 48em) { /* 768px -> * */

:root {
--page-top-bottom: 1.5rem;
}

}

@media (width >= 90em) { /* 1440px -> * */

[class*="a-btn-page-top"] {
--page-top-transform: translate(calc(100% + .75rem));
}

}

@media (scripting: none) {

[class*="a-btn-page-top"] {
--page-top-opacity: 1;
}

}

/* @end @variables */

/* @group @a-btn-page-top */

[class*="a-btn-page-top"] {
box-sizing: border-box;
position: fixed;
overflow: clip;
z-index: 11;
bottom: var(--page-top-bottom);
right: var(--page-top-right);
display: grid;
place-items: center;
width: 3.375rem;
height: 3.375rem;
background-color: var(--page-top-background-color);
background-image: url('../img/sprite-svg.svg#icon-pagetop');
background-position: center center;
background-repeat: no-repeat;
background-size: 2.25rem auto;
border-radius: .1875rem;
opacity: var(--page-top-opacity);
cursor: pointer;
transition: background-color .3s  0s cubic-bezier(.6, .5, .5, .75), background-position .3s  0s cubic-bezier(.6, .5, .5, .75), opacity .3s  0s cubic-bezier(.6, .5, .5, .75);
content-visibility: auto;
}

[class*="a-btn-page-top"]:focus {
background-position: center calc(50% - .125rem);
background-color: var(--page-top-action-background-color);
transition: var(--background-position-transition);
}

@media (hover: hover) {

[class*="a-btn-page-top"]:hover {
background-position: center calc(50% - .125rem);
background-color: var(--page-top-action-background-color);
transition: var(--background-position-transition);
}

}

@media print {[class*="a-btn-page-top"] {display: none;}}

/* @end @a-btn-page-top */

/* -------------------------------------------------------- */

/* @group @variables */

[class*="m-footer-info"] {
--footer-info-grid-template-columns: repeat(1, 1fr);
--footer-info-gap: 2.25rem;
--color: var(--color-white);
--around-list-min-width: 4.5rem;
--head-3-font-size: 1.25rem;
--head-3-line-height: 1.2;
--font-size: .875rem;
--line-height: 1.71428571;
--google-map-height: 20rem;
}

@media (width >= 48em) { /* 768px -> * */

[class*="m-footer-info"] {
--footer-info-grid-template-columns: repeat(2, 1fr);
--google-map-height: 100%;
}

}

/* @end @variables */

/* @group @m-footer-info */

[class*="m-footer-info"] {
display: grid;
align-items: start;
grid-template-columns: var(--footer-info-grid-template-columns);
gap: var(--footer-info-gap);
padding: .75rem;
background-color: var(--color-proto-background-color);
}

[class*="m-footer-info"] :where(h3) {
padding: 0 .375rem .75rem;
box-shadow: 0 1px 0 0 var(--color-dimgray);
}

/* @end @m-footer-info */