@charset "UTF-8";

/* DEV-16 design refinement v9 - 2026-09-22 */

/* FONT */

@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;500;700&display=swap");
@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;700&display=swap');


/* COLOR */
/* カラー */
/* 幅 */
/* ブレイクポイント */
/* ボタンスタイル */


/* ==================================
COMMON
================================== */

html {
    font-size: 62.5%;
    scroll-behavior: smooth;
}

body {
    position: relative;
    max-width: 100%;
    margin: 0;
    padding: 0;
    background-color: #fff;
    font-family: "Noto Sans JP", "游ゴシック", "メイリオ", "ヒラギノ角ゴ Pro W3", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Arial, sans-serif;
    font-size: 1.6rem;
    line-height: 1.65;
    font-weight: 500;
    color: #444444;
    letter-spacing: 0.06em;
}

* {
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

a {
    color: #444444;
    /* text-decoration: none; */
}

a:hover {
    opacity: .7;
    -webkit-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
}

img {
    max-width: 100%;
    height: auto;
}

picture,
source,
svg {
    width: 100%;
    height: auto;
}

.newLine {
    display: inline-block;
}

object {
    pointer-events: none;
    max-width: 100%;
    height: auto;
}

@media screen and (max-width: 1200px) {
    html {
        font-size: 56.25%;
    }
}

@media screen and (max-width: 768px) {
    html {
        font-size: 50.0%;
    }
    /* .no-newline {
        display: none;
    }*/
} 

@media screen and (max-width: 576px) {
    html {
        font-size: 43.8%;
    }
    
    /* .no-newline {
        display: none;
    } */
}


/* ==================================
MAIN CONTENTS
================================== */

body.lower {
    height: auto;
}

.outer {
    padding-top: 90px;
}

.top .outer {
    padding-top: 90px;
}

.top .main-container {
    position: relative;
    width: 100%;
    padding-top: 0.0rem;
    padding-bottom: 0rem;
    background-color: transparent;
    z-index: 3;
}

.main-container {
    position: relative;
    width: 100%;
    padding-top: 8.0rem;
    padding-bottom: 10.0rem;
    background-color: #fff;
    z-index: 3;
}

.main-container.passport {
    padding-bottom: 0;
}

.contents-wrapper {
    position: relative;
    max-width: 1200px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.contents-wrapper__inner {
    max-width: 1200px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}

.bgGray {
    background-color: #f3f4f5;
}

.pageTop {
    display: none;
    position: fixed;
    width: 80px;
    height: 80px;
    right: 60px;
    bottom: 80px;
    z-index: 99;
}

.pageTop__button {
    display: block;
    position: relative;
    width: 100%;
}

.fixed-button {
    display: none;
}

@media screen and (max-width: 1480px) {
    .contents-wrapper {
        width: 90%;
    }
}

@media screen and (max-width: 1200px) {
    .pageTop {
        width: 6.6rem;
        height: 6.6rem;
        bottom: 2.0rem;
    }
}

@media screen and (max-width: 1024px) {
    .top .outer {
        padding-top: 70px;
    }
    .outer {
        padding-top: 70px;
    }
    .main-container {
        padding-top: 4rem;
    }
}

@media screen and (max-width: 768px) {
    .main-container {
        /* padding-top: calc(100/768*100vw);
        padding-bottom: calc(100/768*100vw); */
        background-color: #fff;
        z-index: 3;
    }
    .pageTop {
        width: 6.6rem;
        height: 6.6rem;
        right: 1.5rem;
        bottom: calc(180/750*100vw);
    }
}

main,
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
    display: block;
}

audio[controls],
canvas,
video {
    display: inline-block;
    *display: inline;
    zoom: 1;
}

html {
    overflow-y: scroll;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

body,
div,
dl,
dt,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td,
ul {
    margin: 0;
    padding: 0;
}

button,
input,
select,
textarea {
    font-family: sans-serif;
}

a:hover {
    /* text-decoration: none; */
    text-decoration: inherit;
}

a:focus {
    outline: 0;
}

a:hover,
a:active {
    outline: 0;
}

abbr[title] {
    border-bottom: 1px dotted;
}

b,
strong {
    font-weight: bold;
}

blockquote {
    margin: 1em 40px;
}

dfn {
    font-style: italic;
}

mark {
    background: #ff0;
    color: #000;
}

pre,
code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em;
}

pre {
    white-space: pre;
    white-space: pre-wrap;
    word-wrap: break-word;
}

q {
    quotes: none;
}

q:before,
q:after {
    content: '';
    content: none;
}

small {
    font-size: 75%;
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

ul,
ol {
    margin: 0;
    padding: 0;
}

dd {
    margin: 0px;
}

nav ul,
nav ol {
    list-style: none;
}

img {
    border: 0;
    -ms-interpolation-mode: bicubic;
    font-size: 0px;
    line-height: 0px;
    vertical-align: middle;
}

svg:not(:root) {
    overflow: hidden;
}

figure {
    margin: 0;
}

form {
    margin: 0;
}

fieldset {
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

legend {
    border: 0;
    *margin-left: -7px;
}

button,
input,
select,
textarea {
    font-size: 100%;
    margin: 0;
    vertical-align: baseline;
    *vertical-align: middle;
}

button,
input {
    line-height: normal;
    *overflow: visible;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
    cursor: pointer;
    -webkit-appearance: button;
}

input[type="checkbox"],
input[type="radio"] {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

input[type="search"] {
    -webkit-appearance: textfield;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}

input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

textarea {
    overflow: auto;
    vertical-align: top;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
    font-style: normal;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: normal;
    font-size: 100%;
}

img,
abbr,
acronym,
fieldset {
    border: 0;
}

li {
    /* list-style: none; */
}

input[type="button"],
input[type="submit"],
input[type="text"] {
    -webkit-appearance: none;
}

figure {
    -webkit-margin-before: 0em;
    margin-block-start: 0em;
    -webkit-margin-after: 0em;
    margin-block-end: 0em;
    -webkit-margin-start: 0px;
    margin-inline-start: 0px;
    -webkit-margin-end: 0px;
    margin-inline-end: 0px;
}


/*utility*/

.mb00 {
    margin-bottom: 0px !important;
}

.mb05 {
    margin-bottom: 5px !important;
}

.mb10 {
    margin-bottom: 10px !important;
}

.mb12 {
    margin-bottom: 12px !important;
}

.mb15 {
    margin-bottom: 15px !important;
}

.mb20 {
    margin-bottom: 20px !important;
}

.mb30 {
    margin-bottom: 30px !important;
}

.mb40 {
    margin-bottom: 40px !important;
}

.mb50 {
    margin-bottom: 50px !important;
}

.mb60 {
    margin-bottom: 60px !important;
}

.mb70 {
    margin-bottom: 70px !important;
}

.mb80 {
    margin-bottom: 80px !important;
}

.mt00 {
    margin-top: 0px !important;
}

.mt05 {
    margin-top: 5px !important;
}

.mt10 {
    margin-top: 10px !important;
}

.mt12 {
    margin-top: 12px !important;
}

.mt15 {
    margin-top: 15px !important;
}

.mt20 {
    margin-top: 20px !important;
}

.mt30 {
    margin-top: 30px !important;
}

.mt40 {
    margin-top: 40px !important;
}

.mt50 {
    margin-top: 50px !important;
}

.mt60 {
    margin-top: 60px !important;
}

.ml05 {
    margin-left: 5px;
}

.ml10 {
    margin-left: 10px;
}

.ml12 {
    margin-left: 12px;
}

.ml15 {
    margin-left: 15px;
}

.ml20 {
    margin-left: 20px;
}

.ml30 {
    margin-left: 30px !important;
}

.ml40 {
    margin-left: 40px;
}

.ml50 {
    margin-left: 50px;
}

.ml60 {
    margin-left: 60px;
}

.mr05 {
    margin-right: 5px;
}

.mr10 {
    margin-right: 10px;
}

.mr15 {
    margin-right: 15px;
}

.mr20 {
    margin-right: 20px;
}

.mr30 {
    margin-right: 30px;
}

.mr40 {
    margin-right: 40px;
}

.mr50 {
    margin-right: 50px;
}

.mr60 {
    margin-right: 60px;
}

.pt05 {
    padding-top: 5px;
}

.pt10 {
    padding-top: 10px;
}

.pt15 {
    padding-top: 15px;
}

.pt20 {
    padding-top: 20px;
}

.pt30 {
    padding-top: 30px;
}

.pt40 {
    padding-top: 40px;
}

.pb05 {
    padding-bottom: 5px;
}

.pb10 {
    padding-bottom: 10px;
}

.pb15 {
    padding-bottom: 15px;
}

.pb20 {
    padding-bottom: 20px;
}

.pb30 {
    padding-bottom: 30px;
}

.pb40 {
    padding-bottom: 40px;
}

.pl05 {
    padding-left: 5px;
}

.pl10 {
    padding-left: 10px;
}

.pl15 {
    padding-left: 15px;
}

.pl20 {
    padding-left: 20px;
}

.pl30 {
    padding-left: 30px;
}

.pl40 {
    padding-left: 40px;
}

.pr05 {
    padding-right: 5px;
}

.pr10 {
    padding-right: 10px;
}

.pr15 {
    padding-right: 15px;
}

.pr20 {
    padding-right: 20px;
}

.pr30 {
    padding-right: 30px;
}

.pr40 {
    padding-right: 40px;
}

.flt {
    float: left;
}

.flr {
    float: right;
}

.txt_l,
td.txt_l,
.txt_l td {
    text-align: left;
}

.txt_r,
td.txt_r,
.txt_r td {
    text-align: right;
}

.txt_c,
td.txt_c,
.txt_c td {
    text-align: center;
}

.valign_t,
td.valign_t,
.valign_t td {
    vertical-align: top;
}

.valign_m,
td.valign_m,
.valign_m td {
    vertical-align: middle;
}

.valign_b,
td.valign_b,
.valign_b td {
    vertical-align: bottom;
}

.clear {
    clear: both;
}

.clearfix:before,
.clearfix:after {
    content: "";
    display: block;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    zoom: 1;
}

.ft_b {
    font-weight: bold;
}

.ft_13px {
    font-size: 1.3rem;
}

.ft_14px {
    font-size: 1.4rem;
}

.ft_15px {
    font-size: 1.5rem;
}

.ft_16px {
    font-size: 1.6rem;
}

.txt_indent {
    padding-left: 1em;
    text-indent: -1em;
    margin: 0em !important;
}


/* ページ　画像 */

.alignright {
    float: right;
    margin: 0 0 5% 30px;
}

.alignright:after {
    float: right;
    margin: 0 0 5% 30px;
}

.alignleft {
    float: left;
    margin: 0 30px 1% 0px;
}

.alignleft:after {
    float: left;
    margin: 0 30px 5% 0px;
}

.aligncenter {
    display: block;
    margin: 0 auto;
}

.red_txt {
    color: #fa6b88;
}

.txt_center {
    text-align: center;
}

.txt_right {
    text-align: right;
}


/* ==================================
    TITLE
================================== */
.page__title {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    width: 100%;
    height: 180px;
    background: url(../images/common/title_image.svg) no-repeat center center #E2ECBA;
    background-size: cover;
}
.page__titleH1Text {
    font-size: 4.0rem;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.06em;
    color: #387d39;
    text-align: center;
}
.page__titleH1Text span {
    display: block;
    font-size: 2.0rem;
}
@media screen and (max-width: 1024px) {
    .page__title {
        height: 145px;
    }
    .page__titleH1Text {
        font-size: 3.0rem;
    }
    .page__titleH1Text span {
        font-size: 1.8rem;
    }
}
@media screen and (max-width: 768px) {
    .page__title {
        height: 120px;
        background: url(../images/common/title_image_tb.svg) no-repeat center center #E2ECBA;
        background-size: cover;
    }
    /* .page__titleH1Text {
        font-size: 2.5rem;
    }
    .page__titleH1Text span {
        font-size: 1.6rem;
    } */
}
@media screen and (max-width: 576px) {
    .page__title {
        height: 96px;
        background: url(../images/common/title_image_sp.svg) no-repeat center center #E2ECBA;
        background-size: cover;
    }
}


/* ==================================
    BUTTON STYLE
================================== */

.contents-wrapper__button {
    margin-top: 5.0rem;
}

.contents-wrapper__button--center {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.contents-wrapper__buttonLink {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    width: 27.0rem;
    height: 6.0rem;
    border-radius: 6.0rem;
    -webkit-transition: 0.25s;
    transition: 0.25s;
    background-color: #559545;
    border: none;
    text-decoration: none;
    color: #FFFFFF;
}

.contents-wrapper__buttonLink::after {
    content: "";
    display: block;
    position: absolute;
    width: 1.5rem;
    height: 1.3rem;
    top: 0;
    bottom: 0;
    right: 3.0rem;
    margin: auto;
    background-image: url(../images/icon/arrow_icon02.svg);
    background-repeat: no-repeat;
    background-size: 100% auto;
    -webkit-transition: 0.25s;
    transition: 0.25s;
}

.contents-wrapper__buttonLink--reverse::before {
    content: "";
    display: block;
    position: absolute;
    width: 1.5rem;
    height: 1.3rem;
    top: 0;
    bottom: 0;
    left: 3.0rem;
    margin: auto;
    background-image: url(../images/icon/arrow_icon.svg);
    background-repeat: no-repeat;
    background-size: 100% auto;
    -webkit-transition: 0.25s;
    transition: 0.25s;
}

.contents-wrapper__buttonLink--reverse::after {
    content: none;
}

.contents-wrapper__buttonLink:hover {
    opacity: 1;
    background-color: #FAFAC9;
    color: #559545;
}

.contents-wrapper__buttonLink:hover::after {
    right: 2.5rem;
    background-image: url(../images/icon/arrow_icon02_green.svg);
}

.contents-wrapper__buttonLink:hover::before {
    left: 2.5rem;
    background-image: url(../images/icon/arrow_icon_green.svg);
}

.contents-wrapper__buttonLink:hover .contents-wrapper__buttonLinkText {
    color: #387d39;
}

.contents-wrapper__buttonLink--pink {
    background-color: #fe6f58;
}

.contents-wrapper__buttonLink--pink:hover {
    opacity: 1;
    background-color: #faddd9;
    color: #fe6f58;
}

.contents-wrapper__buttonLink--pink:hover::after {
    right: 2.5rem;
    background-image: url(../images/icon/arrow_icon02_pink.svg);
}

.contents-wrapper__buttonLink--pink:hover .contents-wrapper__buttonLinkText {
    color: #fe6f58;
}

.contents-wrapper__buttonLinkText {
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.1;
    letter-spacing: 0;
    color: #fff;
}

.post-detail .contents-wrapper__buttonLinkText {
    padding-left: 1.5rem;
}

@media screen and (max-width: 576px) {
    .contents-wrapper__buttonLink {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        width: 32.0rem;
        height: 7.6rem;
        border-radius: 7.6rem;
    }
    .contents-wrapper__buttonLink::after {
        right: 2.8rem;
    }
    .contents-wrapper__buttonLink:hover::before {
        left: 2.4rem;
    }
    .contents-wrapper__buttonLink--reverse::before {
        left: 2.8rem;
    }
    .contents-wrapper__buttonLinkText {
        font-size: 2.0rem;
    }
}


/* ==================================
    pagenation
================================== */

.pagenation {
    margin-top: 5.0rem;
}

.pagenation-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.pagenation-list__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 4.7rem;
    height: 4.7rem;
    margin: 0 0.5rem;
}

.pagenation-list__item.is-active .pagenation-list__itemNoLink {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 100%;
    background-color: #559545;
    border-radius: 50%;
    font-family: "Viga", "Noto Sans JP", "游ゴシック", "メイリオ", "ヒラギノ角ゴ Pro W3", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Arial, sans-serif;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.1;
    color: #fff;
}

.pagenation-list__item--prev {
    margin-right: 1.0rem;
}

.pagenation-list__item--next {
    margin-left: 1.0rem;
}

.pagenation-list__itemLink {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    width: 100%;
    height: 100%;
    background-color: #fff;
    border-radius: 50%;
    font-family: "Viga", "Noto Sans JP", "游ゴシック", "メイリオ", "ヒラギノ角ゴ Pro W3", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Arial, sans-serif;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.1;
    color: #000;
}

.pagenation-list__itemLink:hover {
    opacity: 1;
    background-color: #559545;
    color: #fff;
    -webkit-transition: 0.5s;
    transition: 0.5s;
}

.pagenation-list__itemLink--prev {
    background-color: transparent;
}

.pagenation-list__itemLink--prev::before {
    content: "";
    display: block;
    position: absolute;
    width: 0.8rem;
    height: 0.8rem;
    top: 1.9rem;
    left: 2.0rem;
    border-style: solid;
    border-width: 0px 0px 2px 2px;
    border-color: transparent transparent #000 #000;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.pagenation-list__itemLink--prev:hover {
    background-color: #387d39;
}

.pagenation-list__itemLink--prev:hover::before {
    border-color: transparent transparent #fff #fff;
}

.pagenation-list__itemLink--next {
    background-color: transparent;
}

.pagenation-list__itemLink--next::before {
    content: "";
    display: block;
    position: absolute;
    width: 0.8rem;
    height: 0.8rem;
    top: 1.9rem;
    right: 2.0rem;
    border-style: solid;
    border-width: 0px 2px 2px 0px;
    border-color: transparent #000 #000 transparent;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.pagenation-list__itemLink--next:hover {
    background-color: #387d39;
}

.pagenation-list__itemLink--next:hover::before {
    border-color: transparent #fff #fff transparent;
}


/* ==================================
    Header NAV
================================== */




/* ==================================
    HEADER
================================== */

.header {
    position: fixed;
    width: 100%;
    height: 90px;
    background-color: #fff;
    z-index: 999;
    box-shadow: 0 3px 3px rgba(0, 0, 0, .02);
    transition: .5s;
}

.header.hide {
    transform: translateY(-100%);
}

.header-contents__wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
    margin: 0 3%;
}

.header-contents__logo {
    width: 190px;
    flex-shrink: 0;
}

.header-contents__logoLink,
.header-contents__logoLink img {
    display: block;
    width: 100%;
    height: auto;
}

.global-nav__wrapper {
    display: block;
    margin-left: auto;
}

.global-nav {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height: 100%;
    margin-left: auto;
}

.global-nav > li {
    margin-left: 35px;
    font-weight: bold;
    white-space: nowrap;
    list-style: none;
}

.global-nav__itemLink {
    display: block;
    line-height: 90px;
    text-decoration: none;
}

.global-nav__itemLink:hover {
    color: #559545;
    opacity: 1;
    transition: 0.3s;
}

.global-nav__itemLink.is-current,
.global-nav__itemLink[aria-current="page"] {
    position: relative;
    color: #387d39;
}

.global-nav__itemLink.is-current::after,
.global-nav__itemLink[aria-current="page"]::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 16px;
    width: 24px;
    height: 3px;
    border-radius: 999px;
    background: #559545;
    transform: translateX(-50%);
}

.asumo-quick-nav {
    display: none;
}

.openBtn {
    display: none;
    border: 0;
    padding: 0;
}

.overlay {
    display: none;
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 10;
}

.overlay.active {
    display: block;
}

@media screen and (max-width: 1024px) {
    .header {
        height: 70px;
    }

    .header-contents__logo {
        width: 136px;
    }

    .global-nav > li {
        margin-left: 2.4rem;
        font-size: 1.5rem;
    }

    .global-nav__itemLink {
        line-height: 70px;
    }

    .global-nav__itemLink.is-current::after,
    .global-nav__itemLink[aria-current="page"]::after {
        bottom: 11px;
    }
}

@media screen and (max-width: 768px) {
    .global-nav > li {
        margin-left: 1.8rem;
    }
}

@media screen and (max-width: 576px) {
    .header {
        height: 116px;
    }

    .header-contents__wrapper {
        height: 70px;
        margin: 0 4%;
    }

    .header-contents__logo {
        width: 136px;
    }

    .asumo-quick-nav {
        display: flex;
        align-items: stretch;
        width: 100%;
        height: 46px;
        background-color: #fff;
        border-top: 1px solid #eee;
        border-bottom: 1px solid #eee;
    }

    .asumo-quick-nav a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 33.333%;
        height: 100%;
        color: #559545;
        font-size: 1.9rem;
        font-weight: 700;
        line-height: 1;
        text-align: center;
        text-decoration: none;
    }

    .asumo-quick-nav a + a {
        border-left: 1px solid #eee;
    }

    .asumo-quick-nav a:hover {
        opacity: 1;
        background-color: #FDFFF5;
    }

    .global-nav__wrapper {
        display: none;
        position: fixed;
        left: 0;
        top: 116px;
        width: 100%;
        height: calc(100dvh - 116px);
        margin-left: 0;
        padding: 0 4%;
        overflow-y: auto;
        background-color: #fff;
        z-index: 998;
    }

    .global-nav {
        display: block;
        height: auto;
        margin: 2rem 0 10rem;
        overflow: visible;
    }

    .global-nav > li {
        margin-left: 0;
        font-size: 2rem;
        font-weight: bold;
        white-space: nowrap;
        background-color: #fff;
        border-top: 1px solid #eee;
    }

    .global-nav > li:last-child {
        border-bottom: 1px solid #eee;
    }

    .global-nav__itemLink {
        display: block;
        padding: 1em 1em;
        line-height: 1.6;
        text-decoration: none;
        background: url(../images/icon/arrow_icon02_green.svg) no-repeat right 1em center;
        background-size: 10px auto;
    }

    .global-nav__itemLink.is-current,
    .global-nav__itemLink[aria-current="page"] {
        color: #387d39;
        background-color: #F4F9DF;
    }

    .global-nav__itemLink.is-current::after,
    .global-nav__itemLink[aria-current="page"]::after {
        content: none;
    }

    .openBtn {
        position: relative;
        display: block;
        width: 50px;
        height: 50px;
        background: #559545;
        border-radius: 25px;
        cursor: pointer;
        flex-shrink: 0;
    }

    .openBtn span {
        display: inline-block;
        position: absolute;
        left: 14px;
        width: 45%;
        height: 3px;
        border-radius: 2px;
        background: #fff;
        transition: all .4s;
    }

    .openBtn span:nth-of-type(1) { top: 15px; }
    .openBtn span:nth-of-type(2) { top: 23px; }
    .openBtn span:nth-of-type(3) { top: 31px; }

    .openBtn.active span:nth-of-type(1) {
        top: 24px;
        left: 18px;
        width: 30%;
        transform: rotate(-45deg);
    }

    .openBtn.active span:nth-of-type(2) {
        opacity: 0;
    }

    .openBtn.active span:nth-of-type(3) {
        top: 24px;
        left: 18px;
        width: 30%;
        transform: rotate(45deg);
    }

    .outer,
    .top .outer {
        padding-top: 116px;
    }
}

/* ==================================
FOOTER
================================== */

.footer {
    position: relative;
    background: #559545;
    color: #fff;
}

.footer-contents__wrapper {
    max-width: 1200px;
    margin: 0 auto;
    padding: 6rem 5% 4rem;
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 7rem;
    align-items: start;
}

.footer-brand {
    min-width: 0;
}

.footer .footer-contents__logo {
    width: 200px;
}

.footer .footer-contents__logo img {
    display: block;
    width: 100%;
    height: auto;
}

.footer-brand__text {
    margin-top: 2rem;
    color: #e7f0e3;
    font-size: 1.4rem;
    line-height: 1.8;
}

.footer-social {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    margin-top: 2.5rem;
}

.footer-social__link {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    padding: .8rem 1.2rem;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 999px;
    color: #fff;
    font-size: 1.3rem;
    text-decoration: none;
}

.footer-social__link img {
    width: 20px;
    height: 20px;
    object-fit: contain;
}

.footer-social__link:hover {
    opacity: 1;
    background: rgba(255,255,255,.1);
}

.footer-main {
    min-width: 0;
}

.footer-service {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4rem;
}

.footer-service__column {
    padding-bottom: 2.5rem;
    border-bottom: 1px solid rgba(255,255,255,.22);
}

.footer-service__title {
    color: #dcebd8;
    font-size: 1.4rem;
    font-weight: 700;
}

.footer-service__column ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem 2rem;
    margin-top: 1.2rem;
    list-style: none;
}

.footer-service__column li {
    list-style: none;
}

.footer-service__column a,
.footer-support a {
    color: #fff;
    font-size: 1.4rem;
    line-height: 1.6;
    text-decoration: none;
}

.footer-service__column a:hover,
.footer-support a:hover {
    opacity: .75;
}

.footer-support {
    margin-top: 2.5rem;
}

.footer-support ul {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 2.5rem;
    list-style: none;
}

.footer-support li {
    list-style: none;
}

.footer-coworking {
    margin-top: 3rem;
    padding: 1.8rem 2rem;
    border: 1px solid rgba(255,255,255,.3);
    border-radius: 1.2rem;
}

.footer-coworking__label {
    color: #dcebd8;
    font-family: "Quicksand", "Noto Sans JP", sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: .1em;
}

.footer-coworking a {
    display: flex;
    justify-content: space-between;
    gap: 2rem;
    margin-top: .5rem;
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    text-decoration: none;
}

.footer-coworking a span {
    white-space: nowrap;
}

.footer-contents__bottomBox {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem 5% 3rem;
    border-top: 1px solid rgba(255,255,255,.22);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
}

.footer-contents__privacyLink {
    color: #fff;
    font-size: 1.2rem;
    text-decoration: none;
}

.footer-contents__copyrightText {
    color: #d2e4cd;
    font-size: 1.1rem;
    font-weight: 400;
    letter-spacing: normal;
}

@media screen and (max-width: 900px) {
    .footer-contents__wrapper {
        grid-template-columns: 1fr;
        gap: 4rem;
    }

    .footer-brand {
        text-align: center;
    }

    .footer .footer-contents__logo {
        margin: 0 auto;
    }

    .footer-social {
        justify-content: center;
    }
}

@media screen and (max-width: 576px) {
    .footer-contents__wrapper {
        padding-top: 5rem;
        gap: 3.5rem;
    }

    .footer-brand__text {
        font-size: 1.7rem;
    }

    .footer-social__link {
        font-size: 1.6rem;
    }

    .footer-service {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .footer-service__column ul {
        grid-template-columns: 1fr 1fr;
    }

    .footer-service__title {
        font-size: 1.8rem;
    }

    .footer-service__column a,
    .footer-support a {
        font-size: 1.7rem;
    }

    .footer-support ul {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1rem;
    }

    .footer-coworking a {
        display: block;
        font-size: 1.8rem;
    }

    .footer-coworking a span {
        display: block;
        margin-top: .5rem;
    }

    .footer-contents__bottomBox {
        display: block;
        text-align: center;
    }

    .footer-contents__privacyLink {
        font-size: 1.5rem;
    }

    .footer-contents__copyrightText {
        margin-top: 1rem;
        font-size: 1.3rem;
    }
}

/* ====== TOPページ　コンテンツ ====== */
.frontPage-contents__title{}
.frontPage-contents__titleH2Text{
    line-height: 1.2;
}
.frontPage-contents__titleH2Text--english  {
    display: block;
    font-family: "Quicksand", "Noto Sans JP", "游ゴシック", "メイリオ", "ヒラギノ角ゴ Pro W3", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Arial, sans-serif;
    font-size: 1.8rem;
    font-weight: bold;
    text-transform: uppercase;
    padding-left: 0.2rem;
    padding-right: 0.2rem;
    color: #559545;
}
.frontPage-contents__titleH2Text--japanese {
    font-size: 4.0rem;
    font-weight: bold;
    color: #559545;
}

@media screen and (max-width: 1480px) {
}

@media screen and (max-width: 1024px) {
}

@media screen and (max-width: 768px) {
}

@media screen and (max-width: 576px) {
}

/* ====== メインビジュアル（スライダー） ====== */
.mainVisual {
    position: relative;
}
.mainVisual-wrapper {
    width: 97%;
    border-radius: 0 0 3vw 0;
    overflow: hidden;
}
.businessHours__box {
    position: absolute;
    right: 1.5%;
    bottom: 25px;
    width: 195px;
    height: 195px;
    background-color: rgba(85, 149, 69, 0.95);
    border-radius: 50%;
    color: #FFFFFF;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 3;
}
.businessHours_title {
    font-size: 1.4rem;
}
.businessHours__time {
    font-family: "Oswald", "Noto Sans JP", "游ゴシック", "メイリオ", "ヒラギノ角ゴ Pro W3", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Arial, sans-serif;
    font-size: 2.5rem;
}
.businessHours__close {
    padding: 0 0.5rem;
    font-size: 1.4rem;
    border: 1px solid #FFFFFF;
}
.businessHours_calendar {
    margin-top: 1rem;
    font-size: 1.2rem;
    text-align: center;
}
.businessHours_calendar a {
    color: #FFFFFF;
}
@media screen and (max-width: 1200px) {
    .businessHours__box {
        width: 19rem;
        height: 19rem;
    }
}
@media screen and (max-width: 900px) {
    .businessHours__box {
        bottom: -13rem;
    }
}
/* @media screen and (max-width: 576px) {
    .businessHours__box {
        bottom: -23vw;
    }
} */

/* ====== ニュース ====== */
.news-contents {
    position: relative;
    background-image: url(../images/top/news/newsBg.svg);
    background-repeat: no-repeat;
    background-position: left top -18.9rem;
    background-size: 111rem auto;
}
.news-contents::after {
    position: absolute;
    right: 5rem;
    bottom: 0;
    content: "";
    width: 30%;
    max-width: 335px;
    height: 31.5rem;
    background: url(../images/top/news/img-news@2x.png) no-repeat right top;
    background-size: contain;
}
.news-contents__wrapper {
    padding-top: 8rem;
    padding-bottom: 8rem;
    width: 70%;
    max-width: 880px;
}
.news-contents__list {}
.news-contents__item {
    margin-bottom: 2rem;
    background-color: #FFF;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
    border-radius: 1rem;
    list-style: none;
    
}
.news-contents__item a {
    padding: 1em 1.5em;
    text-decoration: none;
    display: flex;
    align-items: center;
}
.news-contents__date {
    white-space: nowrap;
    font-family: "Oswald", "Noto Sans JP", "游ゴシック", "メイリオ", "ヒラギノ角ゴ Pro W3", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Arial, sans-serif;
    font-weight: 400;
}
.news-contents__category {
    color: #559545;
    margin-left: 2rem;
    font-size: 1.4rem;
    padding: 0.1rem 1rem;
    border: 1px solid #559545;
    border-radius: 1.4rem;
    width: 9em;
    text-align: center;
    line-height: 1.4;
    white-space: nowrap;
}
.news-contents__title {
    display: block;
    margin-left: 2rem;
}
.news-contents__button {
    display: flex;
    justify-content: center;
}

@media screen and (max-width: 1200px) {
    .news-contents {
        background-size: 90% auto;
    }
    .news-contents::after {
        right: 2vw;
        width: 25vw;
        height: 25vw;
    }
    .news-contents__wrapper {
        width: 65vw;
    }
}
@media screen and (max-width: 768px) {
    .news-contents {
        background-position: left top -13rem;
    }
    .news-contents::after {
        left: 2rem;
        bottom: -11rem;
        width: 30vw;
        height: 30vw;
        z-index: 2;
    }
    .news-contents__wrapper {
        padding-top: 5vw;
        padding-bottom: 10vw;
        width: 100%;
    }
    .news-contents__button {
        justify-content: flex-end;
    }
    .news-contents__item a {
        padding: 1em 1.5em;
        text-decoration: none;
        display: block;
        align-items: center;
    }
    .news-contents__title {
        margin-left: 0;
        font-size: 2.0rem;
    }
}
@media screen and (max-width: 576px) {
    .news-contents__wrapper {
        padding-top: 10vw;
    }
}

/* ====== 施設のご案内 ====== */
.facility-contents {
    position: relative;
    padding-top: 8.0rem;
    padding-bottom: 3.0rem;
    background-image: url(../images/top/facility/facilityBg-right-2.svg), url(../images/top/facility/facilityBg-left-2.svg), url(../images/top/facility/facilityBg-left-1.svg);
    background-repeat: no-repeat, no-repeat, no-repeat;
    background-position: right bottom 13rem, left bottom, left top 2rem;
    background-size: 12.4rem auto, 26rem auto, 8.2rem auto;
} 
.facility-contents::after {
    position: absolute;
    top: -40rem;
    right: 0;
    content: "";
    width: 79.2rem;
    height: 75.8rem;
    background-image: url(../images/top/facility/facilityBg-right-1.svg);
    background-repeat: no-repeat;
    background-size: left top;
    background-size: contain;
    z-index: -1;
}
.facility-contents__list {
    width: 990px;
    margin: 5rem auto 7rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    list-style: none;
}
.facility-contents__item {
    position: relative;
    width: 475px;
    background-color: #FFF;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
    border-radius: 2rem;
    overflow: hidden;
}
.facility-contents__item a {
    display: block;
    padding: 2rem 2rem 5rem 2rem;
    text-decoration: none;
    background-image: url(../images/top/facility/facility-itemBg-1.svg);
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: 17.6% auto;
    -webkit-transition: 0.5s;
    transition: 0.5s;
}
.facility-contents__item a:hover {
    opacity: 1;
    background-image: url(../images/top/facility/facility-itemBg-2.svg);
}
.facility-contents__item:nth-child(1),
.facility-contents__item:nth-child(2) {
    margin-bottom: 4rem;
}
.facility-contents__itemImage {
    border-radius: 1.6rem;
    overflow: hidden;
}
.facility-contents__itemImage img {
    object-fit: cover;
    width: 100%;
    height: 27rem;
    -webkit-transition: 0.5s;
    transition: 0.5s;
}
.facility-contents__item a:hover img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}
.facility-contents__itemTitle {
    margin-top: 1.5rem;
    text-align: center;
    color: #559545;
    font-size: 2.4rem;
    font-weight: bold;
}
.facility-contents__itemText {
    margin: 1.5rem 5rem 0;
}
@media screen and (max-width: 1200px) {
    .facility-contents {
        padding-top: 8.0rem;
        padding-bottom: 3.0rem;
        background-size: 10.3% auto, 21.6% auto, 6.8% auto;
    } 
    .facility-contents::after {
        top: -30vw;
        width: 66%;
        height: 63vw;
    }
    .facility-contents__itemText {
        font-size: 1.77rem;
    }
}
@media screen and (max-width: 1024px) {
    .facility-contents__list {
        width: 90%;
        margin: 5rem auto 7rem;
    }
    .facility-contents__item {
        width: 48%;
    }
    .facility-contents__itemText {
        margin: 1.5rem 2rem 0;
    }
}
@media screen and (max-width: 768px) {
    .facility-contents__itemText {
        font-size: 2.0rem;
    }
}
@media screen and (max-width: 576px) {
    .facility-contents__list {
        justify-content: center;
    }
    .facility-contents__item {
        max-width: 368px;
        width: 100%;
    }
    .facility-contents__item:nth-child(3),
    .facility-contents__item:nth-child(4) {
        margin-bottom: 4rem;
    }
}

/* ====== EVENT CONTENTS ====== */

.event-contents {
    position: relative;
    margin-top: 30px;
    padding-top: 8.0rem;
    padding-bottom: 8.0rem;
    background-color: #FEFEE6;
}

.event-contents .post-contents__cardList {
    display: -webkitbox;
    display: flex;
    -webkit-box-pack: justify;
    /* justify-content: space-between; */
    flex-wrap: wrap;
    margin-top: 6.5rem;
    margin-bottom: 4rem;
}

.event-contents .post-contents__cardItem {
    position: relative;
    max-width: 22.75%;
    width: 22.75%;
    list-style: none;
}

.event-contents .post-contents__cardItem:not(:nth-child(4n)) {
    margin-right: 3%;
}

.event-contents .post-contents__cardItem.is-newItem::before {
    content: "";
    display: block;
    position: absolute;
    width: 9rem;
    height: 9rem;
    top: -4.5rem;
    left: 0rem;
    background-image: url(../images/icon/new_icon.svg);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 10;
}

.event-contents .post-contents__cardImage {
    width: 100%;
    height: 200px;
}

.event-contents .post-contents__cardImageLink {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 1.5rem;
    overflow: hidden;
}

.event-contents .post-contents__cardImageLink img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

.event-contents .post-contents__cardImageLink svg {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.event-contents .post-contents__cardImageLink .no-image_bg {
    fill: #eff6d1;
    fill-rule: evenodd;
    -webkit-transition: 0.5s;
    transition: 0.5s;
}

.event-contents .post-contents__cardImageLink:hover img {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
    transition: 0.5s;
}

.event-contents .post-contents__cardTextBox {
    margin-top: 2.0rem;
    padding: 0 .5rem;
}

.event-contents .post-contents__cardDateCat {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    align-items: center;
    flex-wrap: wrap;
}

.event-contents .post-contents__cardDate {
    font-family: "Oswald", "Noto Sans JP", "游ゴシック", "メイリオ", "ヒラギノ角ゴ Pro W3", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Arial, sans-serif;
    font-size: 1.7rem;
    line-height: 1.1;
    letter-spacing: 0.1em;
    /* color: #559545; */
}
.event-contents .post-contents__cardCategory {
    line-height: 1;
}
.event-contents .post-contents__cardCategoryLink {
    display: inline-block;
    padding-left: 1rem;
    padding-right: 1rem;
    /* background-color: #fff; */
    border: solid 1px #559545;
    border-radius: 1.2rem;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.4;
    text-align: center;
    color: #559545;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    text-decoration: none;
    white-space: nowrap;
}

.event-contents .post-contents__cardCategoryLink:hover {
    opacity: 1;
    background-color: #559545;
    color: #fff;
}

.event-contents .post-contents__cardTitle {
    margin-top: 1.0rem;
}

.event-contents .post-contents__cardTitleLink {
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.02em;
    text-decoration: none;
}

.event-contents .post-contents__cardTitleLink:hover {
    text-decoration: underline;
    opacity: 1;
}

.event-contents .contents-wrapper__button {
    margin-top: 2.0rem;
}

@media screen and (max-width: 1200px) {
    .event-contents {
        padding-bottom: 9.0rem;
    }
    .event-contents .post-contents__cardList {
        margin-top: 6.5rem;
    }
    .event-contents .post-contents__cardItem.is-newItem::before {
        width: 8vw;
        height: 8vw;
    }
    .event-contents .post-contents__cardImage {
        width: 100%;
        height: 16.5vw;
    }
    .event-contents .post-contents__cardTextBox {
        margin-top: 1.0rem;
    }
    .event-contents .post-contents__cardDate {
        font-size: 1.6rem;
    }
    .event-contents .post-contents__cardCategoryLink {
        font-size: 1.2rem;
    }
    .event-contents .post-contents__cardTitle {
        margin-top: 0.5rem;
    }
}

@media screen and (max-width: 1024px) {
} 

@media screen and (max-width: 768px) {
    .event-contents {
        padding-bottom: 6.0rem;
    }
    .post-contents__cardList {
        margin-bottom: 4vw;
    }
    .event-contents .post-contents__cardItem {
        max-width: 48%;
        width: 48%;
    }
    .event-contents .post-contents__cardItem:nth-child(1) {
        margin-right: 4%;
        margin-bottom: 3.6vw;
    }
    .event-contents .post-contents__cardItem:nth-child(2) {
        margin-right: 0%;
        margin-bottom: 3.6vw;
    }
    .event-contents .post-contents__cardItem:nth-child(3) {
        margin-right: 4%;
    }
    .event-contents .post-contents__cardImage {
        width: 100%;
        height: 28.5vw;
    }
    .event-contents .post-contents__cardTextBox {
        margin-top: 1.5rem;
    }
    .event-contents .post-contents__cardDateCat {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
    }
    .event-contents .post-contents__cardDate {
        font-size: 1.6rem;
    }
    .event-contents .post-contents__cardCategory {
        margin-left: 0rem;
    }
    .event-contents .post-contents__cardCategoryLink {
        font-size: 1.2rem;
    }
    .event-contents .post-contents__cardTitle {
        margin-top: 0.5rem;
    }
    .event-contents .post-contents__cardTitleLink {
        font-size: 2.0rem;
    }
}
@media screen and (max-width: 576px) {
    .event-contents .post-contents__cardList {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-top: 8.5rem;
    }
    .event-contents .post-contents__cardItem {
        max-width: 368px;
        width: 100%;
        margin-top: 4.0rem;
    }
    .event-contents .post-contents__cardItem:not(:nth-child(3n)) {
        margin-right: 0;
    }
    .event-contents .post-contents__cardItem:first-child {
        margin-top: 0rem;
    }
    .event-contents .post-contents__cardItem.is-newItem::before {
        max-width: 85px;
        width: calc(85/375*100vw);
        max-height: 97px;
        height: calc(97/375*100vw);
        top: calc(-35/375*100vw);
        left: calc(30/568*100vw);
    }
    .event-contents .post-contents__cardImage {
        width: 100%;
        height: 250px;
    }
    .event-contents .post-contents__cardDateCat {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
    }
    .event-contents .post-contents__cardDate {
        font-size: 2.0rem;
    }
    .event-contents .post-contents__cardCategory {
        /* margin-top: 0.5rem; */
        margin-left: 0rem;
    }
    .event-contents .post-contents__cardCategoryLink {
        font-size: 1.8rem;
    }
    .event-contents .post-contents__cardTitle {
        margin-top: 1.0rem;
    }
    .event-contents .contents-wrapper__button {
        margin-top: 4.0rem;
    }
}


/* ====== Access ====== */
.access-contents {
    background: #F4F9DF;
}
.access-contents__wrapper {
    position: relative;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    margin-left: calc(50% - 576px);
    padding: 5rem 0;
}
.access-contents__leftBox {
    flex-basis: 40%;
    padding-top: 1rem;
    padding-right: 2rem;
}
.access-contents__address1 {
    margin-top: 5rem;
    font-size: 1.8rem;
}
.access-contents__address2 {
    margin-top: 2rem;
    font-size: 1.8rem;
}
.access-contents__address2 li {
    display: flex;
    flex-wrap: wrap;
}
.access-contents__address2 li span {
    color: #559545;
    width: 6em;
}
.access-contents__rightBox {
    flex-basis: 60%;
}
.access-contents__rightBox iframe {
    width: 100%;
    aspect-ratio: 800 / 480; /* アスペクト比（縦横比） */
}
.access-contents__wrapper--icon {
    position: absolute;
    left: -2rem;
    bottom: -5rem;
    width: 24rem;
    height: 14rem;
}
.access-contents__wrapper--icon img {
    object-fit: contain;
    width: 100%;
    height: 100%;
}
@media screen and (max-width: 1200px) {
    .access-contents__wrapper {
        margin-left: 5%;
        padding: 5vw 0 10vw;
    }
    .access-contents__wrapper--icon {
        width: 23vw;
        height: 15vw;
    }
}
@media screen and (max-width: 1024px) {
    .access-contents__wrapper {
        padding: 5vw 0 13vw;
    }
    .access-contents__leftBox {
        padding-top: 0;
    }
    .access-contents__address1 {
        margin-top: 3rem;
    }
    .access-contents__wrapper--icon {
        width: 25vw;
        height: 16vw;
    }
}
@media screen and (max-width: 768px) {
    .access-contents__wrapper {
        position: relative;
        margin-left: 5%;
        margin-right: 5%;
        padding: 5vw 0 5vw;
        flex-direction: column;
    }
    .access-contents__leftBox {
        display: contents;
    }
    .frontPage-contents__title {
        order: -1;
        margin-bottom: 2rem;
    }
    .access-contents__address1 {
        margin-top: 2rem;
        font-size: 2.0rem;
    }
    .access-contents__address2 {
        font-size: 2.0rem;
    }
    .access-contents__wrapper--icon {
        position: absolute;
        left: auto;
        right: 0;
        bottom: -2vw;
        width: 35vw;
        height: 22vw;
    }
}

/* ====== instagram ====== */

.instagram-contents {
    /* padding-top: calc(220/1576*100vw);
    padding-bottom: calc(200/1576*100vw);
    background-image: url(../images/top/insta/bg_img01.svg);
    background-repeat: no-repeat;
    background-size: cover; */
    background: #FDFFF5;
}

.instagram-contents .contents-wrapper {
    max-width: 104.0rem;
    width: 100%;
}
.instagram-contents__wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    width: 100%;
    height: 100%;
    padding-bottom: 5.5rem;
    padding-top: 5.5rem;
    /* background-color: #fff;
    border-radius: 4.0rem;
    -webkit-box-shadow: 0px 2px 10px 0px rgba(233, 234, 223, 0.4);
    box-shadow: 0px 2px 10px 0px rgba(233, 234, 223, 0.4); */
}

/* .instagram-contents__wrapper--icon01 {
    content: "";
    display: block;
    position: absolute;
    width: 12.5rem;
    height: 12.5rem;
    top: 40.1rem;
    left: -2.5rem;
}

.instagram-contents__wrapper--icon02 {
    content: "";
    display: block;
    position: absolute;
    width: 12.4rem;
    height: 14.1rem;
    top: 7.0rem;
    right: -2.8rem;
} */

/* .instagram-contents__title {
    margin-top: -9.0rem;
} */

.instagram-contents__titleIcon {
    display: block;
    width: 4.0rem;
    height: 4.0rem;
    margin-right: 2.0rem;
}

.instagram-contents__titleImage {
    display: block;
    max-width: 18.9rem;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.instagram-contents__titleH2Text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    /* margin-top: 3.5rem; */
    font-family: "Quicksand", "Noto Sans JP", "游ゴシック", "メイリオ", "ヒラギノ角ゴ Pro W3", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Arial, sans-serif;
    font-size: 4.2rem;
    font-weight: bold;
    line-height: 1.1;
    letter-spacing: 0.05em;
    text-align: center;
    color: #559545;
}

.instagram-contents__inner {
    max-width: 73.2rem;
    width: 100%;
    margin-top: 2.0rem;
}

@media screen and (max-width: 1200px) {
    .instagram-contents {
        background-size: cover;
        background-position: center top;
    }
    .instagram-contents .contents-wrapper {
        max-width: 104.0rem;
        width: calc(1040/1200*100vw);
    }
    .instagram-contents__wrapper--icon01 {
        width: 12.5rem calc(125/1200*100vw);
        height: 12.5rem;
        top: 40.1rem;
        left: -2.5rem;
    }
    .instagram-contents__wrapper--icon02 {
        width: 12.4rem;
        height: 14.1rem;
        top: 7.0rem;
        right: -2.8rem;
    }
    /* .instagram-contents__title {
        margin-top: calc(-90/1200*100vw);
    } */
    .instagram-contents__inner {
        max-width: 732px;
        width: calc(732/1200*100vw);
        margin-top: 2.0rem;
    }
}

@media screen and (max-width: 768px) {
    .instagram-contents__wrapper--icon01 {
        width: calc(94/768*100vw);
        height: calc(94/768*100vw);
        top: calc(300/768*100vw);
        left: calc(-14/768*100vw);
    }
    .instagram-contents__wrapper--icon02 {
        width: calc(93/768*100vw);
        height: calc(106/768*100vw);
        top: calc(52/768*100vw);
        right: calc(-21/768*100vw);
    }
}

@media screen and (max-width: 414px) {
    .instagram-contents__wrapper--icon01 {
        top: calc(500/768*100vw);
        left: calc(-28/768*100vw);
    }
    .instagram-contents__wrapper--icon02 {
        top: calc(140/768*100vw);
        right: calc(-28/768*100vw);
    }
}



/* ==================================
DEV-16 v36: COMMON UI
================================== */

:root {
    --asumo-green: #559545;
    --asumo-green-dark: #387d39;
    --asumo-green-soft: #F4F9DF;
    --asumo-coral: #fe6f58;
    --asumo-coral-soft: #FEF6E6;
    --asumo-ink: #444444;
    --asumo-border: #dfe5dc;
}

.asumo-primary-button,
.asumo-secondary-button,
.asumo-action,
.asumo-contact-method__button,
.asumo-contact-page__note-button {
    letter-spacing: .02em;
}

.global-nav__itemLink:focus-visible,
.asumo-primary-button:focus-visible,
.asumo-secondary-button:focus-visible,
.asumo-action:focus-visible,
.asumo-contact-method__button:focus-visible,
.asumo-contact-page__note-button:focus-visible {
    outline: 3px solid rgba(85, 149, 69, .35);
    outline-offset: 4px;
}

.asumo-section__en {
    line-height: 1.3;
    text-transform: uppercase;
}

/* ==================================
DEV-16 TOP PAGE
================================== */

.asumo-section__en {
    margin: 0;
    color: #559545;
    font-family: "Quicksand", "Noto Sans JP", sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: .08em;
}

.asumo-section__title {
    margin-top: .4rem;
    color: #387d39;
    font-size: 4rem;
    font-weight: 700;
    line-height: 1.3;
}

.asumo-hero {
    padding: 3rem 3% 5rem;
    background: #FDFFF5;
}

.asumo-hero__inner {
    max-width: 1320px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    align-items: center;
    gap: 5rem;
}

.asumo-hero__copy {
    padding-left: 3rem;
}

.asumo-hero__eyebrow {
    color: #559545;
    font-family: "Quicksand", "Noto Sans JP", sans-serif;
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: .12em;
}

.asumo-hero__title {
    margin-top: 1.2rem;
    color: #387d39;
    font-size: clamp(4rem, 4.3vw, 6.6rem);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: .04em;
}

.asumo-hero__lead {
    margin-top: 2rem;
    font-size: 1.8rem;
    line-height: 1.9;
}

.asumo-hero__image {
    min-height: 460px;
    border-radius: 3rem;
    overflow: hidden;
}

.asumo-hero__image img {
    width: 100%;
    height: 100%;
    min-height: 460px;
    object-fit: cover;
}

.asumo-hero__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.2rem;
    margin-top: 3rem;
}

.asumo-action {
    display: flex;
    position: relative;
    min-height: 92px;
    padding: 1.8rem 5.2rem 1.8rem 2rem;
    border-radius: 999px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-decoration: none;
    transition: transform .2s ease, opacity .2s ease;
}

.asumo-action::after {
    content: "→";
    position: absolute;
    top: 50%;
    right: 2.2rem;
    font-size: 2rem;
    line-height: 1;
    transform: translateY(-50%);
    transition: right .2s ease;
}

.asumo-action:hover {
    opacity: 1;
    transform: translateY(-2px);
}

.asumo-action:hover::after {
    right: 1.8rem;
}

.asumo-action--play {
    background: #559545;
    color: #fff;
}

.asumo-action--care {
    background: #fe6f58;
    color: #fff;
}

.asumo-action__sub {
    display: block;
    width: 100%;
    font-family: "Quicksand", "Noto Sans JP", sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-align: center;
}

.asumo-action__main {
    display: block;
    width: 100%;
    margin-top: .3rem;
    font-size: 2.4rem;
    font-weight: 700;
    text-align: center;
}

.asumo-status {
    padding: 3rem 0;
    background: #fff;
    border-bottom: 1px solid #edf0e6;
}

.asumo-status__grid {
    display: grid;
    grid-template-columns: 1.3fr repeat(3, 1fr) 1.5fr;
    align-items: stretch;
    border: 1px solid #e3e7dc;
    border-radius: 1.6rem;
    overflow: hidden;
}

.asumo-status__intro,
.asumo-status__item,
.asumo-status__link {
    padding: 2rem;
}

.asumo-status__item,
.asumo-status__link {
    border-left: 1px solid #e3e7dc;
}

.asumo-status__item dt {
    color: #777;
    font-size: 1.3rem;
}

.asumo-status__item dd {
    margin-top: .5rem;
    color: #387d39;
    font-size: 1.9rem;
    font-weight: 700;
}

.asumo-status__link {
    display: flex;
    align-items: center;
}

.asumo-status__link a {
    color: #387d39;
    font-weight: 700;
}

.asumo-status__note {
    margin-top: 1rem;
    color: #777;
    font-size: 1.3rem;
}

.asumo-service {
    padding: 9rem 0;
}

.asumo-service--play {
    background: #fff;
}

.asumo-service--care {
    background: #FEF6E6;
}

.asumo-service__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7rem;
    align-items: center;
}

.asumo-service__inner--reverse .asumo-service__image {
    order: 2;
}

.asumo-service__image {
    overflow: hidden;
    border-radius: 2.4rem;
}

.asumo-service__image img {
    width: 100%;
    height: 440px;
    object-fit: cover;
}

.asumo-service__lead {
    margin-top: 2rem;
    font-size: 1.8rem;
    line-height: 1.9;
}

.asumo-facts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-top: 3rem;
}

.asumo-fact {
    min-height: 110px;
    padding: 1.8rem;
    background: #fff;
    border: 1px solid #e5e8df;
    border-radius: 0;
}

.asumo-fact__label {
    display: block;
    margin-bottom: .6rem;
    color: #777;
    font-size: 1.3rem;
}

.asumo-fact strong {
    color: #444;
    font-size: 1.7rem;
    line-height: 1.5;
}

.asumo-service__actions {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;
    margin-top: 3rem;
}

.asumo-primary-button {
    display: inline-flex;
    position: relative;
    min-width: 210px;
    min-height: 56px;
    padding: 1.2rem 5.2rem 1.2rem 3.2rem;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #559545;
    color: #fff;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    transition: transform .2s ease, opacity .2s ease;
}

.asumo-primary-button::after {
    content: "→";
    position: absolute;
    top: 50%;
    right: 2rem;
    font-size: 1.8rem;
    line-height: 1;
    transform: translateY(-50%);
    transition: right .2s ease;
}

.asumo-primary-button:hover {
    opacity: 1;
    transform: translateY(-1px);
}

.asumo-primary-button:hover::after {
    right: 1.6rem;
}

.asumo-primary-button--care {
    background: #fe6f58;
}

.asumo-primary-button--solid-care {
    background: #fe6f58;
    border: 2px solid #fe6f58;
    color: #fff;
    box-shadow: 0 4px 12px rgba(254, 111, 88, .18);
}

/* Secondary CTA: text links such as fee/timetable are shown as buttons. */
.asumo-secondary-button {
    display: inline-flex;
    position: relative;
    min-width: 210px;
    min-height: 56px;
    padding: 1.2rem 5.2rem 1.2rem 3.2rem;
    align-items: center;
    justify-content: center;
    border: 2px solid #559545;
    border-radius: 999px;
    background: #fff;
    color: #387d39;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    transition: background .2s ease, color .2s ease, transform .2s ease, opacity .2s ease;
}

.asumo-secondary-button::after {
    content: "→";
    position: absolute;
    top: 50%;
    right: 2rem;
    color: currentColor;
    font-size: 1.8rem;
    line-height: 1;
    transform: translateY(-50%);
    transition: right .2s ease;
}

.asumo-secondary-button:hover {
    background: #F4F9DF;
    color: #387d39;
    opacity: 1;
    transform: translateY(-1px);
}

.asumo-secondary-button:hover::after {
    right: 1.6rem;
}

.asumo-secondary-button--care {
    border-color: #fe6f58;
    color: #fe6f58;
}

.asumo-secondary-button--care:hover {
    background: #FEF6E6;
    color: #fe6f58;
}

.asumo-text-link {
    color: #387d39;
    font-weight: 700;
}

.asumo-event {
    margin-top: 0;
}

.asumo-first {
    padding: 8rem 0;
    background: #fff;
}

.asumo-first__header {
    text-align: center;
}

.asumo-first__header > p:last-child {
    margin-top: 1.5rem;
}

.asumo-faq {
    max-width: 900px;
    margin: 4rem auto 0;
    border-top: 1px solid #ddd;
}

.asumo-faq details {
    border-bottom: 1px solid #ddd;
}

.asumo-faq summary {
    position: relative;
    padding: 2rem 5rem 2rem 1rem;
    cursor: pointer;
    font-size: 1.8rem;
    font-weight: 700;
    list-style: none;
}

.asumo-faq summary::-webkit-details-marker {
    display: none;
}

.asumo-faq summary::after {
    content: "+";
    position: absolute;
    right: 1.5rem;
    top: 50%;
    color: #559545;
    font-size: 2.4rem;
    transform: translateY(-50%);
}

.asumo-faq details[open] summary::after {
    content: "−";
}

.asumo-faq details p {
    margin: 0;
    padding: 0 1rem 2rem;
    color: #555;
    font-size: 1.6rem;
    line-height: 1.8;
}

.asumo-coworking {
    padding: 5rem 0;
    background: #f3f4f5;
}

.asumo-coworking__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3rem;
}

.asumo-coworking__title {
    margin-top: .5rem;
    font-size: 2.6rem;
    font-weight: 700;
}

.asumo-coworking__link {
    display: inline-flex;
    position: relative;
    min-width: 280px;
    min-height: 64px;
    padding: 1.4rem 5.2rem 1.4rem 3.2rem;
    align-items: center;
    justify-content: center;
    gap: 0;
    border: 1px solid #aeb6b2;
    border-radius: 999px;
    background: #fff;
    color: #263c37;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    transition: background .2s ease, transform .2s ease, opacity .2s ease;
}

.asumo-coworking__link > span {
    position: absolute;
    top: 50%;
    right: 2.2rem;
    margin: 0;
    font-size: 1.8rem;
    line-height: 1;
    transform: translateY(-50%);
    transition: right .2s ease;
}

.asumo-coworking__link:hover {
    background: #f7f8f7;
    opacity: 1;
    transform: translateY(-1px);
}

.asumo-coworking__link:hover > span {
    right: 1.8rem;
}

.asumo-news .news-contents__wrapper {
    width: 70%;
}

.asumo-instagram__lead {
    margin-top: 1.5rem;
    text-align: center;
}

.asumo-instagram__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    width: 100%;
    margin-top: 3rem;
}

.asumo-instagram-card {
    overflow: hidden;
    background: #fff;
    border: 1px solid #eceee8;
    border-radius: 1.4rem;
}

.asumo-instagram-card__image {
    aspect-ratio: 1 / 1;
    overflow: hidden;
}

.asumo-instagram-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.asumo-instagram-card__title {
    padding: 1.2rem 1.4rem;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.5;
}

.asumo-instagram__empty {
    margin-top: 2.5rem;
    color: #777;
}

@media screen and (max-width: 1024px) {
    .asumo-hero__inner {
        gap: 3rem;
    }

    .asumo-hero__copy {
        padding-left: 0;
    }

    .asumo-hero__image,
    .asumo-hero__image img {
        min-height: 380px;
    }

    .asumo-status__grid {
        grid-template-columns: 1fr 1fr;
    }

    .asumo-status__intro,
    .asumo-status__item,
    .asumo-status__link {
        border-left: 0;
        border-bottom: 1px solid #e3e7dc;
    }

    .asumo-status__grid > *:nth-child(even) {
        border-left: 1px solid #e3e7dc;
    }

    .asumo-status__link {
        grid-column: 1 / -1;
        border-bottom: 0;
    }

    .asumo-service__inner {
        gap: 4rem;
    }

    .asumo-service__image img {
        height: 38vw;
        min-height: 340px;
    }

    .asumo-news .news-contents__wrapper {
        width: 75%;
    }
}

@media screen and (max-width: 768px) {
    .asumo-section__title {
        font-size: 3.4rem;
    }

    .asumo-hero {
        padding: 2rem 5% 4rem;
    }

    .asumo-hero__inner {
        grid-template-columns: 1fr;
    }

    .asumo-hero__copy {
        order: 2;
    }

    .asumo-hero__image {
        order: 1;
    }

    .asumo-hero__image,
    .asumo-hero__image img {
        min-height: 52vw;
        max-height: 430px;
    }

    .asumo-hero__title {
        font-size: 4.8rem;
    }

    .asumo-status__grid {
        grid-template-columns: 1fr 1fr;
    }

    .asumo-service {
        padding: 7rem 0;
    }

    .asumo-service__inner,
    .asumo-service__inner--reverse {
        grid-template-columns: 1fr;
    }

    .asumo-service__inner--reverse .asumo-service__image {
        order: 0;
    }

    .asumo-service__image img {
        height: 55vw;
        min-height: 320px;
    }

    .asumo-coworking__inner {
        display: block;
    }

    .asumo-coworking__link {
        width: 100%;
        margin-top: 2rem;
    }

    .asumo-instagram__grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .asumo-news .news-contents__wrapper {
        width: 100%;
    }
}

@media screen and (max-width: 576px) {
    .asumo-section__title {
        font-size: 3.2rem;
    }

    .asumo-hero__title {
        font-size: 4.2rem;
    }

    .asumo-hero__lead,
    .asumo-service__lead {
        font-size: 2rem;
    }

    .asumo-hero__actions {
        grid-template-columns: 1fr 1fr;
    }

    .asumo-action {
        min-height: 78px;
        padding: 1.4rem;
    }

    .asumo-action__main {
        font-size: 2.4rem;
    }

    .asumo-status {
        padding: 2rem 0;
    }

    .asumo-status__grid {
        grid-template-columns: 1fr 1fr;
    }

    .asumo-status__intro {
        grid-column: 1 / -1;
    }

    .asumo-status__item {
        min-height: 90px;
    }

    .asumo-status__item dd {
        font-size: 2rem;
    }

    .asumo-facts {
        grid-template-columns: 1fr 1fr;
    }

    .asumo-fact {
        min-height: 100px;
        padding: 1.4rem;
    }

    .asumo-fact strong {
        font-size: 1.9rem;
    }

    .asumo-service__actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .asumo-primary-button,
    .asumo-secondary-button {
        width: 100%;
        min-width: 0;
    }

    .asumo-first {
        padding: 6rem 0;
    }

    .asumo-faq summary {
        font-size: 2rem;
    }

    .asumo-faq details p {
        font-size: 1.9rem;
    }

    .asumo-coworking__title {
        font-size: 2.6rem;
    }

    .asumo-instagram__grid {
        grid-template-columns: 1fr;
        width: 90%;
    }

    .asumo-instagram-card__title {
        font-size: 1.9rem;
    }
}


/* ==================================
DEV-16 CHILD CARE PAGE
================================== */

.childcare-intro {
    padding: 5rem 0 7rem;
    background: #FDFFF5;
}

.childcare-intro__inner {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 6rem;
    align-items: center;
}

.childcare-intro__image {
    overflow: hidden;
    border-radius: 2.4rem;
}

.childcare-intro__image img {
    display: block;
    width: 100%;
    height: 430px;
    object-fit: cover;
}

.childcare-intro__title {
    margin-top: .7rem;
    color: #387d39;
    font-size: 4rem;
    font-weight: 700;
    line-height: 1.35;
}

.childcare-intro__lead {
    margin-top: 2rem;
    font-size: 1.8rem;
    line-height: 1.9;
}

.childcare-intro__actions {
    display: flex;
    align-items: center;
    gap: 2rem;
    flex-wrap: wrap;
    margin-top: 3rem;
}

.childcare-intro__priceLink {
    color: #387d39;
    font-weight: 700;
}

.childcare-guide {
    padding: 6rem 0;
    background: #fff;
}

.childcare-guide__heading {
    text-align: center;
}

.childcare-guide__title {
    margin-top: .5rem;
    color: #387d39;
    font-size: 3.4rem;
    font-weight: 700;
}

.childcare-guide__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.2rem;
    margin-top: 3.5rem;
}

.childcare-guide__item {
    margin: 0;
    padding: 2rem;
    border: 1px solid #e4e8df;
    border-radius: 0;
    background: #fff;
}

.childcare-guide__item dt {
    color: #777;
    font-size: 1.3rem;
    font-weight: 700;
}

.childcare-guide__item dd {
    margin-top: .7rem;
    color: #444;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.45;
}

.childcare-guide__item p {
    margin-top: 1rem;
    color: #666;
    font-size: 1.4rem;
    line-height: 1.7;
}

.childcare-guide__notice {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 2rem;
    margin-top: 2rem;
    padding: 1.8rem 2rem;
    border-radius: 1.2rem;
    background: #FEF6E6;
}

.childcare-guide__notice strong {
    color: #fe6f58;
}

.childcare-guide__notice p {
    margin: 0;
    font-size: 1.5rem;
    line-height: 1.7;
}

.childcare-subnav {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    max-width: 780px;
    margin: 4rem auto 0;
    border: 1px solid #dfe4da;
    border-radius: 999px;
    overflow: hidden;
}

.childcare-subnav a {
    display: flex;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    border-left: 1px solid #dfe4da;
    text-decoration: none;
    font-weight: 700;
}

.childcare-subnav a:first-child {
    border-left: 0;
}

.childcare-subnav a:hover,
.childcare-subnav a.is-current {
    opacity: 1;
    background: #559545;
    color: #fff;
}

.childcare-content {
    padding-top: 1rem;
}

.childcare-events {
    margin-top: 8rem;
}

.childcare-fixed-cta {
    display: none;
}

@media screen and (max-width: 1024px) {
    .childcare-intro__inner {
        gap: 4rem;
    }

    .childcare-intro__image img {
        height: 38vw;
        min-height: 340px;
    }

    .childcare-guide__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 768px) {
    .childcare-intro {
        padding: 4rem 0 5rem;
    }

    .childcare-intro__inner {
        grid-template-columns: 1fr;
    }

    .childcare-intro__image img {
        height: 55vw;
        min-height: 320px;
    }

    .childcare-intro__title {
        font-size: 3.6rem;
    }

    .childcare-guide {
        padding: 5rem 0;
    }
}

@media screen and (max-width: 576px) {
    .childcare-page {
        padding-bottom: 74px;
    }

    .childcare-intro__title {
        font-size: 3.4rem;
    }

    .childcare-intro__lead {
        font-size: 2rem;
    }

    .childcare-intro__actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .childcare-intro__priceLink {
        text-align: center;
    }

    .childcare-guide__title {
        font-size: 3rem;
    }

    .childcare-guide__grid {
        grid-template-columns: 1fr 1fr;
        gap: 1rem;
    }

    .childcare-guide__item {
        padding: 1.5rem;
    }

    .childcare-guide__item dt {
        font-size: 1.6rem;
    }

    .childcare-guide__item dd {
        font-size: 2rem;
    }

    .childcare-guide__item p {
        font-size: 1.7rem;
    }

    .childcare-guide__notice {
        grid-template-columns: 1fr;
        gap: .5rem;
        padding: 1.6rem;
    }

    .childcare-guide__notice p {
        font-size: 1.8rem;
    }

    .childcare-subnav {
        grid-template-columns: repeat(3, 1fr);
        border-radius: 1.2rem;
    }

    .childcare-subnav a {
        min-height: 52px;
        padding: .5rem;
        font-size: 1.7rem;
        text-align: center;
    }

    .childcare-fixed-cta {
        display: block;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        padding: 9px 12px calc(9px + env(safe-area-inset-bottom));
        background: rgba(255, 255, 255, .96);
        border-top: 1px solid #e6e6e6;
        z-index: 997;
    }

    .childcare-fixed-cta a {
        display: flex;
        position: relative;
        min-height: 54px;
        padding: 1rem 5rem 1rem 3rem;
        align-items: center;
        justify-content: center;
        border-radius: 999px;
        background: #fe6f58;
        color: #fff;
        font-size: 2rem;
        font-weight: 700;
        text-align: center;
        text-decoration: none;
        box-shadow: 0 3px 12px rgba(0, 0, 0, .08);
    }

    .childcare-fixed-cta a::after {
        content: "→";
        position: absolute;
        top: 50%;
        right: 2rem;
        font-size: 1.8rem;
        line-height: 1;
        transform: translateY(-50%);
    }
}


/* ==================================
DEV-16 CHILD CARE PRICE / RESERVE
================================== */

.childcare-price-intro,
.childcare-reserve-intro {
    padding: 5rem 0 6rem;
    background: #FDFFF5;
}

.childcare-price-intro__heading,
.childcare-reserve-intro__heading {
    text-align: center;
}

.childcare-price-intro__title,
.childcare-reserve-intro__title {
    margin-top: .5rem;
    color: #387d39;
    font-size: 3.8rem;
    font-weight: 700;
    line-height: 1.4;
}

.childcare-price-intro__lead,
.childcare-reserve-intro__lead {
    margin-top: 1.5rem;
    font-size: 1.8rem;
    line-height: 1.8;
}

.childcare-price-summary,
.childcare-reserve-guide {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    max-width: 900px;
    margin: 3.5rem auto 0;
    border: 1px solid #e1e6dc;
    border-radius: 0;
    overflow: hidden;
    background: #fff;
}

.childcare-price-summary__item {
    padding: 2.5rem 2rem;
    text-align: center;
}

.childcare-price-summary__item + .childcare-price-summary__item {
    border-left: 1px solid #e1e6dc;
}

.childcare-price-summary__item span {
    display: block;
    color: #777;
    font-size: 1.4rem;
}

.childcare-price-summary__item strong {
    display: block;
    margin-top: .5rem;
    color: #387d39;
    font-family: "Oswald", "Noto Sans JP", sans-serif;
    font-size: 3rem;
}

.childcare-price-ticket,
.childcare-price-cancel {
    max-width: 900px;
    margin: 1.5rem auto 0;
    padding: 2rem 2.4rem;
    border-radius: 1.4rem;
}

.childcare-price-ticket {
    background: #fff;
    border: 1px solid #e1e6dc;
}

.childcare-price-ticket__label {
    display: block;
    color: #559545;
    font-size: 1.4rem;
    font-weight: 700;
}

.childcare-price-ticket strong {
    display: block;
    margin-top: .4rem;
    font-size: 2rem;
}

.childcare-price-ticket p,
.childcare-price-cancel p {
    margin-top: .8rem;
    font-size: 1.5rem;
    line-height: 1.7;
}

.childcare-price-cancel {
    background: #FEF6E6;
}

.childcare-price-cancel strong {
    color: #fe6f58;
}

.childcare-price-original {
    padding-top: 1rem;
}

.childcare-price-original > h2:first-child,
.childcare-price-original > h3:first-child,
.childcare-price-original > h4:first-child {
    margin-top: 2rem;
}

.childcare-page-bottom-cta {
    margin-top: 7rem;
    padding: 4rem 0;
    background: #FEF6E6;
}

.childcare-page-bottom-cta .contents-wrapper__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3rem;
}

.childcare-page-bottom-cta p {
    margin: 0;
    font-size: 1.7rem;
}

/* Reservation */

.childcare-reserve-guide {
    grid-template-columns: repeat(4, 1fr);
}

.childcare-reserve-guide__item {
    margin: 0;
    padding: 2.2rem 1.5rem;
    text-align: center;
}

.childcare-reserve-guide__item + .childcare-reserve-guide__item {
    border-left: 1px solid #e1e6dc;
}

.childcare-reserve-guide__item dt {
    color: #777;
    font-size: 1.3rem;
    font-weight: 700;
}

.childcare-reserve-guide__item dd {
    margin-top: .7rem;
    color: #387d39;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.45;
}

.childcare-reserve-notes {
    max-width: 900px;
    margin: 2rem auto 0;
    padding: 2.2rem 2.5rem;
    border-radius: 1.4rem;
    background: #fff;
    border: 1px solid #e1e6dc;
}

.childcare-reserve-notes h3 {
    color: #387d39;
    font-size: 1.8rem;
    font-weight: 700;
}

.childcare-reserve-notes ul {
    margin-top: 1.2rem;
    padding-left: 1.5em;
}

.childcare-reserve-notes li {
    margin-top: .7rem;
    font-size: 1.5rem;
    line-height: 1.7;
}

.childcare-reserve-form {
    padding: 7rem 0 9rem;
}

.childcare-reserve-form__heading {
    text-align: center;
}

.childcare-reserve-form__heading h2 {
    margin-top: .5rem;
    color: #387d39;
    font-size: 3.5rem;
    font-weight: 700;
}

.childcare-reserve-form__forms {
    max-width: 1000px;
    margin: 4rem auto 0;
}

.childcare-reserve-form__block {
    margin-top: 4rem;
    padding: 3rem;
    border: 1px solid #e1e6dc;
    border-radius: 1.6rem;
    background: #fff;
}

.childcare-reserve-form__block:first-child {
    margin-top: 0;
}

.childcare-reserve-form__block > h3 {
    margin-bottom: 2.5rem;
    padding-bottom: 1.3rem;
    border-bottom: 3px solid #559545;
    color: #387d39;
    font-size: 2.4rem;
    font-weight: 700;
}

.childcare-reserve-form__fallback {
    max-width: 1000px;
    margin: 4rem auto 0;
}

.childcare-reserve-bottom {
    padding: 3rem 0;
    background: #f3f4f5;
    text-align: center;
}

.childcare-reserve-bottom p {
    margin: 0;
    font-size: 1.5rem;
}

.childcare-reserve-bottom .asumo-secondary-button {
    margin-top: 1.5rem;
}

@media screen and (max-width: 768px) {
    .childcare-price-intro__title,
    .childcare-reserve-intro__title {
        font-size: 3.4rem;
    }

    .childcare-reserve-guide {
        grid-template-columns: repeat(2, 1fr);
    }

    .childcare-reserve-guide__item:nth-child(3) {
        border-left: 0;
        border-top: 1px solid #e1e6dc;
    }

    .childcare-reserve-guide__item:nth-child(4) {
        border-top: 1px solid #e1e6dc;
    }

    .childcare-page-bottom-cta .contents-wrapper__inner {
        display: block;
        text-align: center;
    }

    .childcare-page-bottom-cta .asumo-primary-button {
        margin-top: 2rem;
    }
}

@media screen and (max-width: 576px) {
    .childcare-price-intro,
    .childcare-reserve-intro {
        padding: 4rem 0 5rem;
    }

    .childcare-price-intro__lead,
    .childcare-reserve-intro__lead {
        font-size: 1.9rem;
    }

    .childcare-price-summary {
        grid-template-columns: 1fr;
        border-radius: 0;
    }

    .childcare-price-summary__item {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 1.7rem 2rem;
        text-align: left;
    }

    .childcare-price-summary__item + .childcare-price-summary__item {
        border-left: 0;
        border-top: 1px solid #e1e6dc;
    }

    .childcare-price-summary__item span {
        font-size: 1.7rem;
    }

    .childcare-price-summary__item strong {
        margin-top: 0;
        font-size: 3rem;
    }

    .childcare-price-ticket p,
    .childcare-price-cancel p,
    .childcare-reserve-notes li {
        font-size: 1.8rem;
    }

    .childcare-reserve-guide__item dt {
        font-size: 1.6rem;
    }

    .childcare-reserve-guide__item dd {
        font-size: 2rem;
    }

    .childcare-reserve-form {
        padding: 5rem 0 8rem;
    }

    .childcare-reserve-form__block {
        padding: 2rem 1.5rem;
    }

    .childcare-reserve-form__block > h3 {
        font-size: 2.4rem;
    }

    .childcare-reserve-page {
        padding-bottom: 74px;
    }
}


/* ==================================
DEV-16 PLAYPARK
================================== */

.playpark-intro {
    padding: 5rem 0;
    background: #FDFFF5;
}

.playpark-intro__inner {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 5rem;
    align-items: center;
}

.playpark-intro__image {
    overflow: hidden;
    border-radius: 2.4rem;
}

.playpark-intro__image img {
    display: block;
    width: 100%;
    height: 420px;
    object-fit: cover;
}

.playpark-intro__title {
    margin-top: .5rem;
    color: #387d39;
    font-size: 3.8rem;
    font-weight: 700;
    line-height: 1.4;
}

.playpark-intro__lead {
    margin-top: 1.8rem;
    font-size: 1.8rem;
    line-height: 1.9;
}

.playpark-quick {
    padding: 4rem 0 5rem;
    background: #fff;
}

.playpark-quick__grid,
.playpark-time-summary {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    max-width: 960px;
    margin: 0 auto;
    border: 1px solid #e1e6dc;
    border-radius: 0;
    overflow: hidden;
    background: #fff;
}

.playpark-quick__item,
.playpark-time-summary dl {
    margin: 0;
    padding: 2.2rem 1.5rem;
    text-align: center;
}

.playpark-quick__item + .playpark-quick__item,
.playpark-time-summary dl + dl {
    border-left: 1px solid #e1e6dc;
}

.playpark-quick__item dt,
.playpark-time-summary dt {
    color: #777;
    font-size: 1.3rem;
    font-weight: 700;
}

.playpark-quick__item dd,
.playpark-time-summary dd {
    margin-top: .7rem;
    color: #387d39;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.45;
}

.playpark-quick__actions,
.playpark-time-intro__today,
.playpark-price-intro__actions {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2rem;
    margin-top: 2.5rem;
}

.playpark-subnav {
    padding: 1.5rem 0;
    background: #fff;
    border-top: 1px solid #edf0e8;
    border-bottom: 1px solid #edf0e8;
}

.playpark-subnav__inner {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    max-width: 760px;
}

.playpark-subnav a {
    padding: 1rem .8rem;
    border-left: 1px solid #e1e6dc;
    color: #555;
    font-size: 1.5rem;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
}

.playpark-subnav a:last-child {
    border-right: 1px solid #e1e6dc;
}

.playpark-subnav a:hover,
.playpark-subnav a.is-current {
    color: #559545;
    opacity: 1;
}

.playpark-subnav a.is-current {
    background: #F4F9DF;
}

.playpark-zone--renewal {
    padding-top: 8rem;
    padding-bottom: 3rem;
}

.playpark-zone__intro {
    margin-bottom: 5rem;
    text-align: center;
}

.playpark-zone--renewal .playpark-zone__heading {
    margin-top: .5rem;
}

.playpark-existing-details {
    padding-top: 3rem;
    padding-bottom: 8rem;
}

.playpark-existing-details > details {
    border: 1px solid #dce4d5;
    border-radius: 1.6rem;
    overflow: hidden;
    background: #fff;
}

.playpark-existing-details > details > summary {
    position: relative;
    padding: 2rem 5rem 2rem 2.5rem;
    color: #387d39;
    cursor: pointer;
    font-size: 1.8rem;
    font-weight: 700;
    list-style: none;
}

.playpark-existing-details > details > summary::-webkit-details-marker {
    display: none;
}

.playpark-existing-details > details > summary::after {
    content: "+";
    position: absolute;
    right: 2rem;
    top: 50%;
    font-size: 2.4rem;
    transform: translateY(-50%);
}

.playpark-existing-details > details[open] > summary::after {
    content: "−";
}

.playpark-existing-details__content {
    width: auto;
    padding: 1rem 3rem 4rem;
    border-top: 1px solid #e1e6dc;
}

/* Timetable */

.playpark-time-intro,
.playpark-price-intro {
    padding: 5rem 0;
    background: #FDFFF5;
}

.playpark-page-heading {
    text-align: center;
}

.playpark-page-heading h2 {
    margin-top: .5rem;
    color: #387d39;
    font-size: 3.8rem;
    font-weight: 700;
    line-height: 1.4;
}

.playpark-page-heading > p:last-child {
    margin-top: 1.4rem;
    font-size: 1.8rem;
}

.playpark-time-summary {
    margin-top: 3rem;
}

.playpark-content-renewal {
    padding-top: 6rem;
    padding-bottom: 7rem;
}

/* Price */

.playpark-price-summary {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    max-width: 900px;
    margin: 3rem auto 0;
    border: 1px solid #e1e6dc;
    border-radius: 0;
    overflow: hidden;
    background: #fff;
}

.playpark-price-summary__item {
    padding: 2.5rem 2rem;
    text-align: center;
}

.playpark-price-summary__item + .playpark-price-summary__item {
    border-left: 1px solid #e1e6dc;
}

.playpark-price-summary__item span,
.playpark-price-summary__item small {
    display: block;
}

.playpark-price-summary__item span {
    color: #777;
    font-size: 1.4rem;
}

.playpark-price-summary__item strong {
    display: block;
    margin-top: .5rem;
    color: #387d39;
    font-family: "Oswald", "Noto Sans JP", sans-serif;
    font-size: 3rem;
}

.playpark-price-summary__item small {
    margin-top: .3rem;
    color: #777;
    font-size: 1.2rem;
}

.playpark-price-original {
    padding-top: 1rem;
}

@media screen and (max-width: 768px) {
    .playpark-intro__inner {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .playpark-intro__image img {
        height: 52vw;
        min-height: 300px;
    }

    .playpark-intro__title,
    .playpark-page-heading h2 {
        font-size: 3.4rem;
    }

    .playpark-quick__grid,
    .playpark-time-summary {
        grid-template-columns: repeat(2, 1fr);
    }

    .playpark-quick__item:nth-child(3),
    .playpark-time-summary dl:nth-child(3) {
        border-left: 0;
        border-top: 1px solid #e1e6dc;
    }

    .playpark-quick__item:nth-child(4),
    .playpark-time-summary dl:nth-child(4) {
        border-top: 1px solid #e1e6dc;
    }

    .playpark-subnav__inner {
        width: 94%;
    }

    .playpark-subnav a {
        font-size: 1.4rem;
    }
}

@media screen and (max-width: 576px) {
    .playpark-intro {
        padding: 4rem 0;
    }

    .playpark-intro__lead,
    .playpark-page-heading > p:last-child {
        font-size: 1.9rem;
    }

    .playpark-quick__item dt,
    .playpark-time-summary dt {
        font-size: 1.6rem;
    }

    .playpark-quick__item dd,
    .playpark-time-summary dd {
        font-size: 2rem;
    }

    .playpark-quick__actions,
    .playpark-time-intro__today,
    .playpark-price-intro__actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .playpark-quick__actions .asumo-primary-button,
    .playpark-quick__actions .asumo-secondary-button,
    .playpark-time-intro__today .asumo-primary-button,
    .playpark-price-intro__actions .asumo-primary-button,
    .playpark-price-intro__actions .asumo-secondary-button {
        width: 100%;
    }

    .playpark-subnav {
        overflow-x: auto;
    }

    .playpark-subnav__inner {
        width: 560px;
        max-width: none;
        margin-left: 3%;
        margin-right: 3%;
    }

    .playpark-subnav a {
        font-size: 1.7rem;
    }

    .playpark-existing-details > details > summary {
        font-size: 2rem;
    }

    .playpark-existing-details__content {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }

    .playpark-price-summary {
        grid-template-columns: 1fr;
    }

    .playpark-price-summary__item {
        display: grid;
        grid-template-columns: 1fr auto;
        align-items: center;
        gap: .4rem 1rem;
        padding: 1.7rem 2rem;
        text-align: left;
    }

    .playpark-price-summary__item + .playpark-price-summary__item {
        border-left: 0;
        border-top: 1px solid #e1e6dc;
    }

    .playpark-price-summary__item strong {
        grid-row: 1 / span 2;
        grid-column: 2;
        margin-top: 0;
    }

    .playpark-price-summary__item span {
        font-size: 1.7rem;
    }

    .playpark-price-summary__item small {
        font-size: 1.5rem;
    }
}


/* ==================================
DEV-16 PLAY EQUIPMENT / ARCHIVES
================================== */

.playpark-facility-intro {
    padding: 5rem 0;
    background: #FDFFF5;
}

.playpark-zone-index {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    max-width: 960px;
    margin: 3rem auto 0;
    gap: 1rem;
}

.playpark-zone-index a {
    display: flex;
    min-height: 92px;
    padding: 1.4rem 1rem;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px solid #dce4d5;
    border-radius: 1.2rem;
    background: #fff;
    color: #387d39;
    font-size: 1.5rem;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
}

.playpark-zone-index a span {
    margin-bottom: .4rem;
    color: #777;
    font-family: "Quicksand", "Noto Sans JP", sans-serif;
    font-size: 1.1rem;
    letter-spacing: .05em;
}

.playpark-zone-index a:hover {
    opacity: 1;
    background: #F4F9DF;
}

.playpark-facility-intro__actions {
    display: flex;
    justify-content: center;
    margin-top: 2.5rem;
}

.playpark-facility-content {
    scroll-margin-top: 140px;
}

/* Archives */

.asumo-archive {
    padding-bottom: 8rem;
}

.asumo-archive-intro {
    max-width: 760px;
    margin: 0 auto 3rem;
    text-align: center;
}

.asumo-archive-intro p {
    margin: 0;
    color: #59605c;
    font-size: 1.6rem;
    line-height: 1.9;
}

.asumo-archive-filter {
    max-width: 100%;
    margin: 0 auto 3.5rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.asumo-archive-filter ul {
    display: flex;
    justify-content: center;
    gap: .8rem;
    width: max-content;
    min-width: 100%;
    margin: 0;
    padding: 0 .4rem .3rem;
    list-style: none;
}

.asumo-archive-filter li {
    margin: 0;
    list-style: none;
    white-space: nowrap;
}

.asumo-archive-filter a {
    display: block;
    padding: .65rem 1.5rem;
    border: 1px solid #d7dfd1;
    border-radius: 999px;
    background: #fff;
    color: #555;
    font-size: 1.35rem;
    font-weight: 700;
    text-decoration: none;
    transition: background .2s ease, border-color .2s ease, color .2s ease;
}

.asumo-archive-filter .current-cat a,
.asumo-archive-filter .is-current a,
.asumo-archive-filter a:hover {
    border-color: #559545;
    background: #559545;
    color: #fff;
    opacity: 1;
}

/* Event archive cards */

.asumo-event-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2.4rem;
}

.asumo-event-card {
    min-width: 0;
    border: 1px solid #e0e5dc;
    border-radius: 1.4rem;
    background: #fff;
    overflow: hidden;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.asumo-event-card:hover {
    border-color: #bdcfb5;
    box-shadow: 0 10px 26px rgba(56, 83, 64, .08);
    transform: translateY(-2px);
}

.asumo-event-card__link {
    display: flex;
    height: 100%;
    color: inherit;
    flex-direction: column;
    text-decoration: none !important;
}

.asumo-event-card__link:hover {
    color: inherit;
    opacity: 1;
}

.asumo-event-card__image {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #f3f4f5;
}

.asumo-event-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s ease;
}

.asumo-event-card:hover .asumo-event-card__image img {
    transform: scale(1.025);
}

.asumo-event-card__body {
    display: flex;
    flex: 1;
    padding: 1.8rem 1.9rem 2rem;
    flex-direction: column;
}

.asumo-event-card__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem 1.2rem;
}

.asumo-event-card__datetime {
    display: flex;
    align-items: baseline;
    gap: .7rem;
    min-width: 0;
}

.asumo-event-card__meta time {
    color: #4e5853;
    font-family: "Oswald", "Noto Sans JP", sans-serif;
    font-size: 1.45rem;
    font-weight: 500;
    letter-spacing: .03em;
}

.asumo-event-card__time {
    color: #7b827e;
    font-size: 1.2rem;
    line-height: 1.4;
}

.asumo-event-card__status {
    flex-shrink: 0;
    padding: .3rem .65rem;
    border: 1px solid #7a9d6d;
    border-radius: 0;
    background: #fff;
    color: #4f7e42;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.35;
}

.asumo-event-card__status--accepting,
.asumo-event-card__status--required {
    border-color: #ef765f;
    background: #fff7f4;
    color: #d95f4b;
}

.asumo-event-card__status--full,
.asumo-event-card__status--closed {
    border-color: #c4c8c5;
    background: #f5f6f5;
    color: #747a76;
}

.asumo-event-card__title {
    margin-top: 1.1rem;
    color: #26342e;
    font-size: 1.9rem;
    font-weight: 700;
    line-height: 1.55;
}

.asumo-event-facts--archive {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem 1.3rem;
    margin: 1.4rem 0 0;
    padding-top: 1.3rem;
    border-top: 1px solid #edf0e8;
}

.asumo-event-facts--archive > div {
    display: block;
    min-width: 0;
    margin: 0;
}

.asumo-event-facts--archive dt,
.asumo-event-facts--archive dd {
    margin: 0;
}

.asumo-event-facts--archive dt {
    color: #838985;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.4;
}

.asumo-event-facts--archive dd {
    margin-top: .25rem;
    color: #414944;
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.asumo-event-card__more {
    display: flex;
    position: relative;
    align-items: center;
    min-height: 2.2rem;
    margin-top: auto;
    padding-top: 1.5rem;
    padding-right: 2.2rem;
    color: #387d39;
    font-size: 1.25rem;
    font-weight: 700;
}

.asumo-event-card__more::after {
    content: "→";
    position: absolute;
    right: 0;
    transition: right .2s ease;
}

.asumo-event-card:hover .asumo-event-card__more::after {
    right: -.25rem;
}

/* News archive */

.asumo-news-list {
    max-width: 980px;
    margin: 0 auto;
    border-top: 1px solid #dce1d8;
    list-style: none;
}

.asumo-news-list__item {
    margin: 0;
    border-bottom: 1px solid #dce1d8;
    list-style: none;
}

.asumo-news-list__item > a {
    display: grid;
    grid-template-columns: 108px 112px minmax(0, 1fr) 22px;
    gap: 1.4rem;
    align-items: center;
    min-height: 74px;
    padding: 1.4rem 1.2rem;
    color: inherit;
    text-decoration: none;
    transition: background .2s ease;
}

.asumo-news-list__item > a:hover {
    background: #f7faf5;
    opacity: 1;
}

.asumo-news-list__item time {
    color: #747c77;
    font-family: "Oswald", "Noto Sans JP", sans-serif;
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: .03em;
}

.asumo-news-list__category {
    display: inline-block;
    width: fit-content;
    max-width: 100%;
    padding: .3rem .65rem;
    border: 0;
    border-radius: 0;
    background: #f1f7e7;
    color: #527e47;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
}

.asumo-news-list__title {
    min-width: 0;
    color: #333a36;
    font-size: 1.55rem;
    font-weight: 700;
    line-height: 1.6;
}

.asumo-news-list__arrow {
    color: #7aa06f;
    font-size: 1.6rem;
    line-height: 1;
    text-align: right;
    transition: transform .2s ease;
}

.asumo-news-list__item > a:hover .asumo-news-list__arrow {
    transform: translateX(3px);
}

.asumo-archive__empty {
    padding: 4rem 0;
    color: #777;
    text-align: center;
}

.asumo-generic-list {
    max-width: 900px;
    margin: 0 auto;
}

.asumo-generic-list__item {
    padding: 2rem 0;
    border-bottom: 1px solid #ddd;
}

.asumo-generic-list__item time {
    color: #777;
    font-size: 1.3rem;
}

.asumo-generic-list__item h2 {
    margin-top: .5rem;
    font-size: 1.8rem;
    font-weight: 700;
}

@media screen and (max-width: 900px) {
    .asumo-event-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .asumo-news-list__item > a {
        grid-template-columns: 100px 105px minmax(0, 1fr) 20px;
        gap: 1rem;
    }
}

@media screen and (max-width: 768px) {
    .playpark-zone-index {
        grid-template-columns: repeat(2, 1fr);
    }

    .asumo-archive-intro {
        margin-bottom: 2.5rem;
    }

    .asumo-archive-filter {
        margin-bottom: 3rem;
    }

    .asumo-archive-filter ul {
        justify-content: flex-start;
        min-width: 0;
    }

    .asumo-news-list__item > a {
        grid-template-columns: 92px auto minmax(0, 1fr) 18px;
    }
}

@media screen and (max-width: 576px) {
    .playpark-facility-intro {
        padding: 4rem 0;
    }

    .playpark-zone-index a {
        min-height: 82px;
        font-size: 1.8rem;
    }

    .playpark-zone-index a span {
        font-size: 1.3rem;
    }

    .playpark-facility-intro__actions .asumo-primary-button {
        width: 100%;
    }

    .asumo-archive {
        padding-bottom: 6rem;
    }

    .asumo-archive-intro {
        width: 92%;
        text-align: left;
    }

    .asumo-archive-intro p {
        font-size: 1.8rem;
        line-height: 1.8;
    }

    .asumo-archive-filter {
        margin-left: -5%;
        margin-right: -5%;
    }

    .asumo-archive-filter ul {
        padding-left: 5%;
        padding-right: 5%;
    }

    .asumo-archive-filter a {
        font-size: 1.55rem;
    }

    .asumo-event-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .asumo-event-card__image {
        aspect-ratio: 16 / 9;
    }

    .asumo-event-card__body {
        padding: 2rem;
    }

    .asumo-event-card__meta time {
        font-size: 1.7rem;
    }

    .asumo-event-card__time {
        font-size: 1.45rem;
    }

    .asumo-event-card__status {
        font-size: 1.4rem;
    }

    .asumo-event-card__title {
        font-size: 2.25rem;
    }

    .asumo-event-facts--archive dt {
        font-size: 1.45rem;
    }

    .asumo-event-facts--archive dd {
        font-size: 1.7rem;
    }

    .asumo-event-card__more {
        font-size: 1.65rem;
    }

    .asumo-news-list__item > a {
        grid-template-columns: 1fr auto 18px;
        gap: .55rem .9rem;
        min-height: 0;
        padding: 1.5rem .5rem;
    }

    .asumo-news-list__item time {
        font-size: 1.65rem;
    }

    .asumo-news-list__category {
        justify-self: end;
        font-size: 1.4rem;
    }

    .asumo-news-list__title {
        grid-column: 1 / 3;
        font-size: 1.9rem;
    }

    .asumo-news-list__arrow {
        grid-column: 3;
        grid-row: 1 / 3;
        align-self: center;
        font-size: 1.8rem;
    }
}

/* ===== Pages ===== */


/* ==================================
PAGE COMMON
================================== */

.contents-wrapper__textBox {
    margin-top: 4.0rem;
}

.contents-wrapper__textBox--center {
    text-align: center;
}

.contents-wrapper__text,
.contents-wrapper p,
.contents-wrapper ul {
    margin-top: 3.0rem;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.85;
}

.contents-wrapper__text:first-child,
.contents-wrapper p:first-child {
    margin-top: 0;
}
.page-contents__title {
    position: relative;
    padding-bottom: 25px;
    text-align: center;
}
.page-contents__title::after {
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    /* width: 50px; */
    width: 80px;
    height: 5px;
    background-color: #559545;
}
.page-contents__titleH2Text {
    font-size: 3.5rem;
    font-weight: bold;
    line-height: 1.4;
}

@media screen and (max-width: 768px) {
    /* .page-contents__titleH2Text {
        font-size: 3.0rem;
    } */
}

@media screen and (max-width: 576px) {
    /* .page-contents__titleH2Text {
        font-size: 2.5rem;
    } */
}

/* post-contents */
.post-contents.post-detail .contents-wrapper {
    max-width: 104.0rem;
    width: 90%;
}

/* .post-contents__listCategory {
    margin-top: 7.5rem;
}

.post-contents__listWrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #d2d4cd;
}

.post-contents__listItem {
    position: relative;
    margin-right: 7.0rem;
}

.post-contents__listItemLink {
    font-family: "Viga", "Noto Sans JP", "游ゴシック", "メイリオ", "ヒラギノ角ゴ Pro W3", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Arial, sans-serif;
    font-size: 1.7rem;
    line-height: 1.1;
    letter-spacing: 0.1em;
    color: #bdbfb8;
}

.post-contents__listItemLink.is-active {
    color: #387d39;
    font-weight: bold;
} */

.post-contents__navWrapper {
    width: 100%;
    overflow-x: auto;
}
.post-contents__nav {
    display: flex;
    justify-content: center;
    margin-top: 0 !important;
}
.post-contents__nav li {
    margin: 0 1.5rem;
    white-space: nowrap;
}
.post-contents__nav li a {
    text-decoration: none;
}
.post-contents__nav li a:hover {
    opacity: 1;
    color: #559545;
    text-decoration: underline;
}
.post-contents__nav li.current-cat a {
    color: #559545;
    text-decoration: underline;
}

.post-contents__list {
    margin-top: 7.0rem;
}

.post-contents__mediaItem {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-top: 2.0rem;
    padding-bottom: 2.0rem;
    border-bottom: 1px solid #d2d4cd;
}

.post-contents__mediaItem:first-child {
    /* padding-top: 0rem; */
    border-top: 1px solid #d2d4cd;
}

.post-contents__mediaImage {
    width: 28.0rem;
    height: 18.7rem;
}

.post-contents__mediaImageLink {
    display: block;
    overflow: hidden;
    width: 100%;
    height: 100%;
    border-radius: 1.5rem;
    overflow: hidden;
}

.post-contents__mediaImageLink img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

.post-contents__mediaImageLink:hover img {
    -webkit-transform: scale(1.03) rotate(1.5deg);
    transform: scale(1.03) rotate(1.5deg);
}

.post-contents__mediaDetail {
    width: calc(100% - 28.0rem);
    padding-left: 4.0rem;
}
.post-contents__inner {
    display: flex;
    align-items: center;
}

.post-contents__mediaDetailTime {
    font-family: "Oswald", "Noto Sans JP", "游ゴシック", "メイリオ", "ヒラギノ角ゴ Pro W3", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Arial, sans-serif;
    font-size: 1.7rem;
    line-height: 1.1;
    letter-spacing: 0.1em;
    /* color: #387d39; */
    color: #666666;
    font-weight: 400;
}

.post-contents__mediaDetailTitle {
    margin-top: 1.0rem;
    margin-bottom: 1.0rem;
}

.post-contents__mediaDetailTitleLink {
    font-size: 2.0rem;
    font-weight: 500;
}

.post-contents__mediaDetailTitleLink:hover {
    text-decoration: underline;
}

.post-contents__category {
    /* margin-top: 1.4rem; */
    /* margin-left: 2rem; */
}

.post-contents__categoryLink {
    display: inline-block;
    min-width: 8.5rem;
    min-height: 2.5rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    border: solid 1px #559545;
    background-color: #fff;
    text-align: center;
    border-radius: 2.5rem;
    font-size: 1.4rem;
    line-height: 1.64;
    font-weight: 500;
    letter-spacing: normal;
    color: #559545;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    text-decoration: none;
}

.post-contents__categoryLink:hover {
    opacity: 1;
    background-color: #387d39;
    color: #fff;
}

.post-contents__title {
    position: relative;
    padding-top: 3.0rem;
}

.post-contents__title::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 12.0rem;
    height: 2px;
    background-color: #387d39;
    z-index: 10;
}

.post-contents__title::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #d1d5d1;
    z-index: 9;
}
.post-contents__titleInner {
    display: flex;
    align-items: center;
}

.post-contents__date {
    font-family: "Oswald", "Noto Sans JP", "游ゴシック", "メイリオ", "ヒラギノ角ゴ Pro W3", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Arial, sans-serif;
    /* font-size: 2.0rem; */
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: 0.1em;
    /* color: #559545; */
    color: #666666;
}

.post-contents__titleH1Text {
    padding-top: 1.0rem;
    padding-bottom: 1.0rem;
    font-size: 2.8rem;
    font-weight: 500;
    line-height: 1.65;
}

.post-contents__wrapper {
    margin-top: 6.0rem;
}

.post-contents__wrapper img {
    margin-top: 3.0rem;
    margin-bottom: 3.0rem;
    width: 100%;
    height: auto;
}

.post-contents__wrapper img:last-child {
    margin-bottom: 0rem;
}

.post-contents__categoryList {
    display: none;
    position: absolute;
    min-width: 15.0rem;
    left: -2.0rem;
    top: 100%;
    padding-top: 2.0rem;
    padding-bottom: 2.0rem;
    padding-left: 2.0rem;
    padding-right: 2.0rem;
    background-color: #fff;
    border-radius: 5px;
    z-index: 10;
}

.post-contents__categoryItem:not(:first-child) {
    margin-top: 1.0rem;
}

.post-contents__categoryItemLink {
    font-family: "Viga", "Noto Sans JP", "游ゴシック", "メイリオ", "ヒラギノ角ゴ Pro W3", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Arial, sans-serif;
    font-size: 1.6rem;
    color: #387d39;
}

@media screen and (max-width: 576px) {
    .post-contents__nav {
        justify-content: flex-start;
    }
    /* .post-contents__listCategory {
        margin-top: 5.625rem;
    }
    .post-contents__listItem {
        margin-right: 4.25rem;
    }
    .post-contents__listItemLink {
        font-size: 2.4rem;
    } 
    .post-contents__list {
        margin-top: 5.25rem;
    }*/
    .post-contents__mediaItem {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        padding-top: 2.6rem;
        padding-bottom: 2.6rem;
    }
    .post-contents__mediaImage {
        width: calc(182/568*100vw);
        height: calc(122/568*100vw);
    }
    .post-contents__mediaDetail {
        width: calc(100% - (182/568*100vw));
        padding-left: calc(20/568*100vw);
    }
    .post-contents__mediaDetailTime {
        font-size: 1.7rem;
        line-height: 1.1;
        letter-spacing: 0.1em;
        color: #387d39;
    }
    .post-contents__mediaDetailTitle {
        margin-top: 1.0rem;
    }
    .post-contents__mediaDetailTitleLink {
        font-size: 2.0rem;
        font-weight: 500;
    }
    .post-contents__mediaDetailTitleLink:hover {
        text-decoration: underline;
    }
    .post-contents__mediaDetailCatgory {
        margin-top: 1.4rem;
    }
    .post-contents__mediaDetailCategoryLink {
        display: inline-block;
        min-width: 8.5rem;
        min-height: 2.5rem;
        border: solid 1px #387d39;
        background-color: #fff;
        text-align: center;
        border-radius: 2.5rem;
        font-size: 1.4rem;
        line-height: 1.64;
        font-weight: 500;
        letter-spacing: normal;
        color: #387d39;
    }
    .post-contents__titleH1Text {
        font-size: 2.8rem;
    }
}

/* contact */
.contact-form {
    max-width: 98.0rem;
    width: 100%;
    margin-top: 5.4rem;
    margin-left: auto;
    margin-right: auto;
}

.contact-form__title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 3.0rem;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.625;
    letter-spacing: normal;
    color: #26180e;
}

.contact-form__title:first-child {
    margin-top: 0;
}

.contact-form__titleIcon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-right: 1.5rem;
    border-radius: 5px;
    width: 46px;
    height: 26px;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.0;
    color: #fff;
}

.contact-form__titleIcon--required {
    background-color: #e4902a;
}

.contact-form__titleIcon--Any {
    background-color: #569957;
}

.contact-form__detail {
    padding-top: 1.2rem;
}

.contact-form__detailInput {
    width: 100% !important;
    height: 6.0rem !important;
    margin-bottom: 0 !important;
    padding-top: 2.0rem !important;
    padding-right: 2.0rem !important;
    padding-bottom: 2.0rem !important;
    padding-left: 2.0rem !important;
    background-color: #f4f5ec;
    border: none;
    border-radius: 5px;
    font-family: "Zen Maru Gothic", "Noto Sans JP", "游ゴシック", "メイリオ", "ヒラギノ角ゴ Pro W3", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Arial, sans-serif;
    font-size: 1.5rem;
    font-weight: 500;
    outline: none;
}

.contact-form ::-webkit-input-placeholder {
    font-family: "Zen Maru Gothic", "Noto Sans JP", "游ゴシック", "メイリオ", "ヒラギノ角ゴ Pro W3", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Arial, sans-serif;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.1;
    text-align: left;
    color: #959591;
}

.contact-form :-ms-input-placeholder {
    font-family: "Zen Maru Gothic", "Noto Sans JP", "游ゴシック", "メイリオ", "ヒラギノ角ゴ Pro W3", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Arial, sans-serif;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.1;
    text-align: left;
    color: #959591;
}

.contact-form ::-ms-input-placeholder {
    font-family: "Zen Maru Gothic", "Noto Sans JP", "游ゴシック", "メイリオ", "ヒラギノ角ゴ Pro W3", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Arial, sans-serif;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.1;
    text-align: left;
    color: #959591;
}

.contact-form ::placeholder {
    font-family: "Zen Maru Gothic", "Noto Sans JP", "游ゴシック", "メイリオ", "ヒラギノ角ゴ Pro W3", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Arial, sans-serif;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.1;
    text-align: left;
    color: #959591;
}

.contact-form__detailTextarea {
    width: 100%;
    height: 20.0rem;
    padding-top: 2.0rem !important;
    padding-right: 2.0rem !important;
    padding-bottom: 2.0rem !important;
    padding-left: 2.0rem !important;
    background-color: #f4f5ec;
    border: none;
    border-radius: 5px;
    font-family: "Zen Maru Gothic", "Noto Sans JP", "游ゴシック", "メイリオ", "ヒラギノ角ゴ Pro W3", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Arial, sans-serif;
    font-size: 1.5rem;
    font-weight: 500;
    outline: none;
}

.contact-form__submit {
    margin-top: 3.5rem;
    max-width: 98.0rem;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.contact-form__submit .contents-wrapper__button {
    position: relative;
    width: 26.0rem;
    height: 6.6rem;
    margin-top: 3.0rem;
    margin-left: auto;
    margin-right: auto;
}

.contact-form__submit .contents-wrapper__button::after {
    content: "";
    display: block;
    position: absolute;
    width: 1.5rem;
    height: 1.3rem;
    top: 0;
    bottom: 0;
    right: 3.0rem;
    margin: auto;
    font-weight: 500;
    font-size: 1.6rem;
}
.contact-form__submit .contents-wrapper__buttonBack {
    text-align: center;
    margin-top: 1rem;
}
.contact-form__submit .contents-wrapper__buttonBack input[type="submit"] {
    border: none;
    background: inherit;
    text-decoration: underline;
}

/* ====== FACILITY 固定ページ（核施設のご利用案内・遊戯施設・一時預かり保育・テレワークセンター・会議室） ====== */
.pageVisual-contents {
    position: relative;
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: wrap;
    justify-content: space-between;
}
.pageVisual-contents__textBox {
    flex-basis: 35%;
    padding-left: 5%;
}
.pageVisual-contents__titleH2Text {
    margin-top: 2em;
    margin-bottom: 0.5em;
    font-size: 4.0rem;
    font-weight: bold;
    line-height: 1.3;
}
.pageVisual-contents__titleH2Text span {
    display: block;
    font-family: "Quicksand", "Noto Sans JP", "游ゴシック", "メイリオ", "ヒラギノ角ゴ Pro W3", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Arial, sans-serif;
    font-size: 1.8rem;
    font-weight: bold;
    color: #559545;
    margin-left: 0.2em;
}
.pageVisual-contents__text {
    font-size: 1.8rem;
    margin-right: 2em;
}
.pageVisual-contents__imageBox {
    height: 30vw;
    border-radius: 15px 0 0 15px;
    overflow: hidden;
    flex-basis: 65%;
}
.pageVisual-contents__imageBox img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}
.pageVisual-contents::before {
    position: absolute;
    left: 0;
    bottom: -30px;
    content: "";
    width: 100%;
    height: 150px;
    background-color: #FEFEE6;
    z-index: -1;
}
.pageVisual-contents::after {
    position: absolute;
    left: 0;
    bottom: -30px;
    content: "";
    width: 50%;
    height: 50%;
    border-radius: 0 0 15px 0;
    background-color: #F4F9DF;
    z-index: -1;
}
@media screen and (max-width: 1200px) {
    .pageVisual-contents__textBox {
        flex-basis: 40%;
    }
    .pageVisual-contents__titleH2Text {
        margin-top: 1em;
    }
    .pageVisual-contents__imageBox {
        flex-basis: 60%;
    }
}
@media screen and (max-width: 1024px) {
    .pageVisual-contents__textBox {
        flex-basis: 45%;
    }
    .pageVisual-contents__titleH2Text {
        margin-top: 0;
        font-size: 4rem;
    }
    .pageVisual-contents__titleH2Text span {
        font-size: 1.6rem;
    }
    .pageVisual-contents__imageBox {
        flex-basis: 55%;
        height: 33vw;
    }
}
@media screen and (max-width: 768px) {
    .pageVisual-contents {
        position: relative;
        display: block;
    }
    .pageVisual-contents__textBox {
        flex-basis: 100%;
        padding-left: 5%;
    }
    .pageVisual-contents__titleH2Text {
        margin-top: 1em;
    }
    .pageVisual-contents__imageBox {
        margin-left: 5%;
        height: 50vw;
    }
    .pageVisual-contents::before {
        height: 100%;
    }
    .pageVisual-contents::after {
        height: 70%;
    }

}

.facility a {
    text-decoration: underline;
}
.facility h2 {
    margin-top: 10rem;
    margin-bottom: 5rem;
    position: relative;
    padding-bottom: 25px;
    text-align: center;
    font-size: 3.5rem;
    font-weight: bold;
    line-height: 1.5;
}
.facility h2::after {
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    /* width: 50px; */
    width: 80px;
    height: 5px;
    background-color: #559545;
}
.facility h2 span {
    display: block;
    font-size: 2.5rem;
    font-weight: bold;
}
.facility h2.mtSmall {
    margin-top: 2rem;
}
.facility h3.box-title {
    margin-top: 4rem;
    margin-bottom: 2rem;
    text-align: center;
}
.facility h3.box-title span {
    display: inline-block;
    min-width: 220px;
    margin-top: 2em;
    padding: 1.4rem 3rem;
    font-size: 2.0rem;
    font-weight: bold;
    line-height: 1.2;
    letter-spacing: 0.06em;
    color: #387d39;
    border: 4px dotted #387d39;
    border-radius: 6rem;
    text-align: center;
}
.facility h4.line-title {
    margin-bottom: 1em;
    text-align: center;
    font-size: 2.5rem;
    font-weight: bold;
    line-height: 1.2;
    letter-spacing: 0.1em;
}
.facility h4.line-title:first-of-type {
    margin-top: 2em;
}
.facility h4.line-title:not(:first-of-type) {
    margin-top: 4em;
}
.facility h4.line-title span {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(60%, #FAFAC9));
    background: linear-gradient(transparent 70%, #FAFAC9 60%);
}
.facility p {
    line-height: 1.85;
}

/* facility price */
.facility table.price {
    margin: 2em auto;
    border-collapse: collapse;
    max-width: 800px;
}
.facility table.price th,
.facility table.price td {
    width: 20rem;
    padding-top: 1em;
    padding-bottom: 1em;
    padding-left: 1em;
    padding-right: 1em;
    border: solid 1px #559545;
    background-color: #fff;
    border-collapse: collapse;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.5;
    color: #444444;
}
.facility table.price th {
    padding-top: 1.4rem;
    padding-bottom: 1.4rem;
    background-color: #559545;
    border: 1px solid #fff;
    color: #FFF;
    white-space: nowrap;
}
.facility table.price th:not(:last-child) {
    border-right: 1px solid #d2d4cd;
}
.facility table.price td {
    text-align: center;
}
.facility table.price td span {
    /* font-size: 2.0rem; */
    font-family: "Oswald", "Noto Sans JP", "游ゴシック", "メイリオ", "ヒラギノ角ゴ Pro W3", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Arial, sans-serif;
}
.facility .price-img__box {
    width: 700px;
    margin: 5em auto 0;
}
.facility .price-img__box img {
    width: 100%;
}

@media screen and (max-width: 768px) {
    .facility table.price {
        max-width: 100%;
    }
    .facility table.price th,
    .facility table.price td {
        min-width: auto;
    }
    .facility table.price th {
        white-space: normal;
    }
    .facility .price-img__box {
        width: 80%;
    }
}

/* facility-box */ 
.facility .facility-box {
    position: relative;
    width: 870px;
    margin: 5em auto 5em;
}
.facility .facility-box::after {
    position: absolute;
    right: -2em;
    bottom: -1em;
    content: "";
    width: 870px;
    height: 215px;
    background: #FAFAC9;
    border-radius: 15px;
    z-index: -2;
}
.facility .facility-box:not(:first-of-type) {
    margin-top: 8em;
}
.facility .facility-box figure {
    width: 100%;
    height: 430px;
    border-radius: 15px;
    overflow: hidden;
}
.facility .facility-box figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.facility .facility-box h3 {
    text-align: left;
    margin-bottom: 0.5em;
    position: relative;
    font-size: 3.0rem;
    font-weight: bold;
    line-height: 1.3;
}
.facility .facility-box h3 span {
    display: block;
    font-family: "Quicksand", "Noto Sans JP", "游ゴシック", "メイリオ", "ヒラギノ角ゴ Pro W3", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Arial, sans-serif;
    font-size: 1.6rem;
    font-weight: bold;
    text-transform: uppercase;
    color: #559545;
}
.facility .facility-box h3::after {
    position: absolute;
    left: -1em;
    top: -1em;
    content: "";
    width: 250px;
    height: 250px;
    background: #FAFAC9;
    border-radius: 15px;
    z-index: -1;
}
.facility-box-column {
    width: 870px;
    margin: 0 auto 5em;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.facility-box-column__item {
    width: 31%;
    margin-top: 2em;
}
.facility-box-column__item figure {
    width: 100%;
    height: 210px;
    border-radius: 15px;
    overflow: hidden;
}
.facility-box-column__item figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.facility-box-column__item h4 {
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
    margin-top: 0.5em;
}
.facility-box-column__item p {
    margin-top: 0.5em;
}
.facility-box-horizon {
    width: 870px;
    margin: 0 auto 5em;
    display: flex;
    align-items: flex-start;
}
.facility-box-horizon figure {
    flex-shrink: 0;
    width: 270px;
    height: 210px;
    border-radius: 15px;
    overflow: hidden;
    margin-right: 40px;
}
.facility-box-horizon figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.facility-box-horizon .facility-box-columnText h4 {
    font-size: 1.8rem;
    font-weight: bold;
}
.facility-box-horizon .facility-box-columnText p {
    margin-top: 0.5em;
}
.facility .facility-toolsBox__wrapper {
    position: relative;
    width: 870px;
    margin: 5em auto 5em;
}
.facility .facility-toolsBox__wrapper:not(:first-of-type) {
    margin-top: 5em;
}
.facility .facility-toolsBox__wrapper h3 {
    text-align: left;
    margin-bottom: 0.5em;
    position: relative;
    font-size: 3.0rem;
    font-weight: bold;
    line-height: 1.3;
}
.facility .facility-toolsBox__wrapper h3 span {
    display: block;
    font-family: "Quicksand", "Noto Sans JP", "游ゴシック", "メイリオ", "ヒラギノ角ゴ Pro W3", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Arial, sans-serif;
    font-size: 1.6rem;
    font-weight: bold;
    text-transform: uppercase;
    color: #559545;
}
.facility .facility-toolsBox__wrapper h3::after {
    position: absolute;
    left: -1em;
    top: -1em;
    content: "";
    width: 250px;
    height: 250px;
    background: #FAFAC9;
    border-radius: 15px;
    z-index: -1;
}
.facility .facility-toolsBox {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
.facility .facility-toolsBox__item {
    width: 31%;
}
.facility .facility-toolsBox__item:not(:first-of-type) {
    margin-left: 3.5%;
}
.facility .facility-toolsBox__item figure {
    width: 100%;
    height: 210px;
    border-radius: 15px;
    overflow: hidden;
}
.facility .facility-toolsBox__item figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.facility .facility-toolsBox__item h4 {
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
    margin-top: 0.5em;
}
.facility .facility-toolsBox__item table {
    width: 100%;
    margin-top: 0.5em;
    margin-bottom: 2em;
    border-collapse: collapse;
}
.facility .facility-toolsBox__item table th,
.facility .facility-toolsBox__item table td {
    border: 1px solid #CCCCCC;
    padding: 0.5em;
    overflow-wrap: break-all;
    word-break: break-word;
}
.facility .facility-toolsBox__item table th {
    background-color: #EFF5F1;
    color: #444444;
    font-weight: bold;
}
.facility .facility-toolsBox__item table tr:nth-child(odd) td {
    background-color: #EFF5F1;
}
.facility .facility-toolsBox__item table td span {
    color: #666666;
    font-size: 1.5rem;
    display: block;
}

@media screen and (max-width: 1200px) {
    .facility .facility-box {
        width: 80%;
    }
    .facility .facility-box::after {
        width: 80%;
        height: 30vw;
    }
    .facility .facility-box figure {
        height: 39vw;
        border-radius: 1em;
    }
    .facility .facility-box h3::after {
        width: 20vw;
        height: 20vw;
    }
    .facility-box-column {
        width: 80%;
    }
    .facility-box-column__item figure {
        width: 100%;
        height: 19vw;
        border-radius: 1em;
    }
    .facility-box-horizon {
        width: 80%;
    }
    .facility-box-horizon figure {
        width: 24.8vw;
        height: 19vw;
        border-radius: 1em;
        margin-right: 2em;
    }
    .facility .facility-toolsBox__wrapper {
        width: 80%;
    }
    .facility .facility-toolsBox__wrapper h3::after {
        width: 20vw;
        height: 20vw;
    }
    .facility .facility-toolsBox__item figure {
        width: 100%;
        height: 19vw;
        border-radius: 1em;
    }
}
@media screen and (max-width: 576px) {
    .facility .facility-box {
        width: 90%;
    }
    .facility .facility-box::after {
        width: 90%;
        height: 44vw;
    }
    .facility .facility-box figure {
        height: 44vw;
    }
    .facility .facility-box h3::after {
        width: 30vw;
        height: 30vw;
    }
    .facility-box-column {
        width: 90%;
    }
    .facility-box-column__item {
        width: 48%;
    }
    .facility-box-column__item figure {
        height: 30vw;
    }
    .facility-box-horizon {
        width: 90%;
    }
    .facility-box-horizon figure {
        width: 39vw;
        height: 30vw;
    }
    .facility .facility-toolsBox__wrapper {
        width: 90%;
    }
    .facility .facility-toolsBox__wrapper h3::after {
        width: 30vw;
        height: 30vw;
    }
    .facility .facility-toolsBox__item {
        width: 48%;
    }
    .facility .facility-toolsBox__item:nth-child(odd) {
        margin-left: 0;
    }
    .facility .facility-toolsBox__item figure {
        height: 30vw;
    }
}

.facility .note-list {
    width: 1000px;
    margin: 0 auto;
    padding: 2em 4em;
    border: 1px dotted #559545;
}
.facility .note-list li {
    list-style: none;
    position: relative;
    padding-left: 1.5em;
    margin-bottom: 0.5em;
}
.facility .note-list li::before {
    position: absolute;
    left: 0;
    top: 0.75em;
    content: "";
    width: 0.5em;
    height: 0.5em;
    border-radius: 1em;
    background-color: #559545;
}
.facility .rule-list {
    width: 1000px;
    margin: 0 auto;
    padding: 2em 4em;
    border: 1px dotted #559545;
}
.facility .rule-list li {
    margin-bottom: 0.5em;
    margin-left: 2em;
}
.facility .rule-list li::marker {
    font-weight: bold;
    color: #559545;
}
.facility .check-list {
    width: 1000px;
    margin: 0 auto;
    padding: 2em 4em;
    background-color: #FEF6E6;
    border-radius: 2rem;
}
.facility .check-list li {
    list-style: none;
    position: relative;
    padding-left: 2em;
    margin-bottom: 0.5em;
}
.facility .check-list li::before {
    position: absolute;
    left: 0;
    top: 0.5em;
    content: "";
    width: 0.8em;
    height:0.8em;
    border: 1px solid #444;
}
.facility .data-print {
    width: 1000px;
    margin: 2em auto 0;
    padding: 2em;
    border-radius: 15px;
    background-color: #F4F9DF;
}

@media screen and (max-width: 1024px) {
    .facility .note-list {
        width: auto;
        margin: 0 auto;
        padding: 2em 2em;
        border: 1px dotted #559545;
    }
    .facility .rule-list {
        width: auto;
        margin: 0 auto;
        padding: 2em 2em;
        border: 1px dotted #559545;
    }
    .facility .check-list {
        width: auto;
        margin: 0 auto;
        padding: 2em 2em;
        background-color: #FEF6E6;
        border-radius: 2rem;
    }
    .facility .data-print {
        width: auto;
    }
}
@media screen and (max-width: 768px) {}

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

.facility .gallery-horizontal {
    max-width: 800px;
    width: 70%;
    margin: 0 auto;
}
.facility .gallery-vertical {
    width: 50%;
    margin: 0 auto;
}
.facility .facility-contents__wrap {
    margin: 2rem auto;
    max-width: 800px;
}
.facility .facility-spec__list {
    margin: 2rem auto 4rem;
    max-width: 800px;
}
.facility .facility-spec__list li {
    list-style: none;
    margin-left: 0 !important;
    padding: 1rem;
    border-bottom: 1px solid #CCC;
}
.facility .facility-spec__list li:first-child {
    padding: 0.5rem 1rem;
    text-align: center;
    font-weight: bold;
    border-top: 1px solid #CCC;
    background: #EEE;
}

/* 遊戯施設　ご利用方法 */
.playpark .howto {}
.playpark .howto > div {
    position: relative;
    /* margin-top: 1rem; */
}
.playpark .howto figure {
    margin-bottom: 0;
    overflow: hidden;
    position: relative;
}
.playpark .howto figure img {
    margin-bottom: 1rem;
    border-radius: 1rem;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}
.playpark .howto figure figcaption {
    position: absolute;
    left: 0;
    top: 0;
    color: #FFF;
    width: 5em;
    height: 5em;
    padding: .3em 0 0 1em;
    margin: 0;
    border-radius: 1rem 0 0 0;
    background: url(../images/page/playpark/num_bg.svg) no-repeat left top;
    background-size: cover;
    font-size: 1.8rem;
}
.playpark .howto > div p {
    margin-top: 0;
}
.playpark .timetable-title {
    position: relative;
}
.playpark .timetable-title::before {
    position: absolute;
    right: calc(50% + 2em);
    top: -1.5em;
    content: "";
    width: 200px;
    height: 100px;
    background: url(../images/page/playpark/timeTable_img.svg) no-repeat left top;
    background-size: contain;
    z-index: -1;
}
.playpark .timetable-list {
    width: 30%;
    margin: 3rem auto 0;
}
.playpark .timetable-list li {
    list-style: none;
    margin: 1rem 0;
    padding: 0.5rem 1rem;
    text-align: center;
    border-radius: 0.5rem;
}
.playpark .timetable-list li:nth-child(odd) {
    background: #559545;
    color: #FFF;
    font-size: 1.8rem;
}
.playpark .timetable-list li:nth-child(odd) span {
    padding-left: 1.5em;
    background: url(../images/icon/clock_icon.svg) no-repeat left center;
    background-size: 1em auto;
}
.playpark .timetable-list li:nth-child(even) {
    background: #FEF6E6;
    color: #559545;
}
@media screen and (max-width: 1024px) {
    .playpark .timetable-list {
        width: 70%;
    }
}
@media screen and (max-width: 768px) {
    .playpark .timetable-title::before {
        right: calc(50% + 2em);
        top: -1.5em;
        width: 30vw;
        height: 20vw;
    }
}

/* 一時預かり保育 */
.childcare .example-title::before {
    position: absolute;
    right: calc(50% + 1em);
    top: -1em;
    content: "";
    width: 160px;
    height: 90px;
    background: url(../images/page/childcare/example_img.svg) no-repeat left top;
    background-size: contain;
    z-index: -1;
}
.childcare .example {
    width: 70%;
    margin: 0 auto;
}
.childcare .example li {
    position: relative;
    margin-bottom: 3em;
    border-radius: 5px;
    display: flex;
    background-color: #E2ECBA;
}
.childcare .example li:not(:last-child)::after {
    position: absolute;
    left: calc(50% - 1em);
    bottom: -2em;
    content: "";
    width: 1em;
    height: 1em;
    background: url(../images/icon/triangle_icon.svg) no-repeat left top;
    background-size: contain;
}
.childcare .example li > div {
    padding: 0.5em 1em;
}
.childcare .example li > div.time {
    background-color: #559545;
    flex-basis: 11em;
    white-space: nowrap;
    border-radius: 5px 0 0 5px;
}
.childcare .example li > .time span {
    color: #FFF;
    background: url(../images/icon/clock_icon.svg) no-repeat left center;
    background-size: 1em auto;
    width: 15em;
    white-space: nowrap;
    padding-left: 1.5em;font-family: "Oswald", "Noto Sans JP", "游ゴシック", "メイリオ", "ヒラギノ角ゴ Pro W3", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Arial, sans-serif;
}


@media screen and (max-width: 768px){
    .facility p {
        line-height: 1.65;
        text-align: left !important;
    }
    .facility .gallery-horizontal {
        max-width: 100%;
        width: 100%;
    }
    .facility .gallery-vertical {
        width: 80%;
    }

    /* 遊戯施設　ご利用方法 */
    .playpark .timetable-list {
        width: 100%;
    }

    /* 一時預かり保育 */
    .childcare .childcare-table table tr td:nth-child(2) {
        white-space: normal;
    }
    .childcare .example {
        width: 100%;
    }
}

/* ご予約------------------------------- */

#fbuilder p,
#fbuilder span,
#fbuilder label,
#fbuilder select,
#fbuilder a {
    font-size: 1.8rem;
}
#fbuilder select {
    margin-top: 1rem;
}
#fbuilder input[type=text] {
    margin-top: 0.5rem;
    margin-bottom: 1rem;
    padding: 0.5rem;
    font-family: "Noto Sans JP", "游ゴシック", "メイリオ", "ヒラギノ角ゴ Pro W3", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Arial, sans-serif;
    font-size: 1.8rem;
}
#fbuilder .fform h1 {
    position: relative;
    margin-bottom: 5rem !important;
    padding-bottom: 25px !important;
    text-align: center;
    font-size: 3.5rem;
    font-weight: bold;
    line-height: 1.5;
}
#fbuilder .fform h1::after {
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    width: 50px;
    height: 5px;
    background-color: #559545;
}
#fbuilder .pbSubmit {
    width: 24.0rem;
    height: 6.0rem;
    margin-top: 3rem !important;
    border-radius: 6.0rem;
    -webkit-transition: 0.25s;
    transition: 0.25s;
    background: #559545 !important;
    border: none;
    text-decoration: none;
    color: #FFFFFF !important;
}
#fbuilder .pbSubmit:hover {
    background: #FAFAC9 !important;
    color: #559545 !important;
}


/* プライバシーポリシー------------------------------- */

.privacy .contents-wrapper h2 {
    color: #387d39;
    font-size: 2.8rem;
    font-weight: 500;
    margin-top: 8rem
}

.privacy .contents-wrapper h3 {
    color: #387d39;
    font-size: 1.8rem;
    font-weight: 500;
    margin-top: 4rem
}

.privacy .contents-wrapper p {
    font-size: 1.6rem;
    margin-top: 2rem
}

.privacy .contents-wrapper ol,.privacy .contents-wrapper ul {
    font-size: 1.6rem;
    font-weight: 500;
    margin-top: 2rem
}

.privacy .contents-wrapper ol li,.privacy .contents-wrapper ul li {
    margin-left: 3rem
}

.privacy .contents-wrapper ol li {
    list-style: decimal
}

.privacy .contents-wrapper ul li {
    list-style: disc
}

@media screen and (max-width: 768px) {
    .privacy .contents-wrapper h2 {
        font-size:2.8rem
    }

    .privacy .contents-wrapper h3 {
        font-size: 2.2rem
    }

    .privacy .contents-wrapper ol,.privacy .contents-wrapper p,.privacy .contents-wrapper ul {
        font-size: 2rem
    }
}

/* ==================================
DEV-16 EVENT META / INSTAGRAM PICKUP
================================== */

.asumo-event-home-card__time {
    margin-left: .8rem;
    color: #777;
    font-family: "Noto Sans JP", sans-serif;
    font-size: .9em;
}

.asumo-event-facts {
    display: grid;
    gap: .7rem;
    margin: 1.5rem 0 0;
}

.asumo-event-facts > div {
    display: grid;
    grid-template-columns: 4.5em 1fr;
    gap: .8rem;
    align-items: start;
    margin: 0;
}

.asumo-event-facts dt,
.asumo-event-facts dd {
    margin: 0;
    line-height: 1.55;
}

.asumo-event-facts dt {
    color: #777;
    font-size: 1.2rem;
    font-weight: 700;
}

.asumo-event-facts dd {
    color: #444;
    font-size: 1.4rem;
    font-weight: 700;
}

.asumo-event-facts__reservation dd {
    width: fit-content;
    padding: .15rem .7rem;
    border: 1px solid #559545;
    border-radius: 999px;
    color: #559545;
    font-size: 1.2rem;
}

.asumo-event-facts__reservation--full dd,
.asumo-event-facts__reservation--closed dd {
    border-color: #999;
    color: #777;
}

.asumo-event-facts__reservation--accepting dd,
.asumo-event-facts__reservation--required dd {
    border-color: #fe6f58;
    color: #fe6f58;
}

.asumo-event-facts--compact {
    gap: .5rem;
    margin-top: 1.2rem;
}

.asumo-event-facts--compact > div {
    grid-template-columns: 3.8em 1fr;
}

.asumo-event-facts--compact dt {
    font-size: 1.1rem;
}

.asumo-event-facts--compact dd {
    font-size: 1.3rem;
}

.asumo-instagram-card__link {
    display: block;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.asumo-instagram-card__link:hover {
    opacity: 1;
}

.asumo-instagram-card__link:hover .asumo-instagram-card__image img {
    transform: scale(1.03);
}

.asumo-instagram-card__image img {
    transition: transform .3s ease;
}

.asumo-instagram-card__more {
    display: block;
    padding: 0 1.4rem 1.5rem;
    color: #559545;
    font-size: 1.2rem;
    font-weight: 700;
}

@media screen and (max-width: 576px) {
    .asumo-event-facts dt {
        font-size: 1.5rem;
    }

    .asumo-event-facts dd {
        font-size: 1.7rem;
    }

    .asumo-event-facts__reservation dd {
        font-size: 1.5rem;
    }

    .asumo-event-facts--compact dt {
        font-size: 1.4rem;
    }

    .asumo-event-facts--compact dd {
        font-size: 1.6rem;
    }

    .asumo-instagram-card__more {
        font-size: 1.6rem;
    }
}

/* ==================================
DEV-16 v11 / TODAY'S ASUMO SUPPLEMENT
既存Googleスプレッドシートはそのまま表示し、
asumo-core の営業日・貸切情報だけを補足する。
================================== */

.todays-asumo .page-contents__title {
    margin-bottom: 2.4rem;
}

.asumo-today-info {
    width: min(100%, 84rem);
    margin: 0 auto 2.4rem;
}

/* 非クリック情報は角丸を付けず、ボタンとの違いを明確にする。 */
.asumo-today-notice {
    position: relative;
    padding: 1.8rem 2rem;
    border: 1px solid #d9dfdc;
    border-left-width: 5px;
    background: #fff;
    text-align: left;
}

.asumo-today-notice + .asumo-today-notice {
    margin-top: 1.2rem;
}

.asumo-today-notice--closed {
    border-left-color: #68716d;
    background: #f7f8f7;
}

.asumo-today-notice--reserved {
    border-left-color: #ef765f;
    background: #fff7f4;
}

.asumo-today-notice--hours {
    border-left-color: #559545;
    background: #f7fbf5;
}

.asumo-today-notice__label {
    display: block;
    margin-bottom: .45rem;
    color: #6f7773;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: .08em;
}

.asumo-today-notice__title {
    display: block;
    color: #25332d;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.55;
}

.asumo-today-notice--reserved .asumo-today-notice__title {
    color: #b84f3d;
}

.asumo-today-notice__text {
    margin: .7rem 0 0;
    color: #525b57;
    font-size: 1.4rem;
    line-height: 1.8;
}

.asumo-today-reserved-list {
    display: grid;
    gap: .8rem;
    margin: 1.3rem 0 0;
    padding: 0;
    list-style: none;
}

.asumo-today-reserved-list li {
    display: grid;
    grid-template-columns: 9.5rem minmax(8rem, auto) 1fr;
    gap: 1rem;
    align-items: baseline;
    margin: 0;
    padding: 1rem 0;
    border-top: 1px solid rgba(76, 86, 81, .14);
    color: #4b5550;
    font-size: 1.4rem;
    line-height: 1.6;
}

.asumo-today-reserved-list__time {
    color: #25332d;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    white-space: nowrap;
}

.asumo-today-reserved-list li strong {
    color: #25332d;
    font-weight: 700;
}

.asumo-today-sheet-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 1rem;
    width: min(100%, 84rem);
    margin: 0 auto .8rem;
    text-align: left;
}

.asumo-today-sheet-head__label {
    color: #25332d;
    font-size: 1.5rem;
    font-weight: 700;
}

.asumo-today-sheet-head__note {
    color: #7b817e;
    font-size: 1.2rem;
}

/* iframeのデータ内容・形式は変更しない。見える領域だけ安定させる。 */
.asumo-today-sheet {
    width: min(100%, 84rem);
    margin-right: auto;
    margin-left: auto;
    overflow: hidden;
    border: 1px solid #e4e7e5;
    background: #fff;
}

.asumo-today-sheet iframe {
    display: block;
    width: 100%;
    min-height: 28rem;
    margin: 0;
    border: 0;
    background: #fff;
}

@media screen and (max-width: 768px) {
    .asumo-today-info,
    .asumo-today-sheet-head,
    .asumo-today-sheet {
        width: 100%;
    }

    .asumo-today-notice {
        padding: 1.6rem 1.5rem;
    }

    .asumo-today-notice__label {
        font-size: 1.4rem;
    }

    .asumo-today-notice__title {
        font-size: 2.1rem;
    }

    .asumo-today-notice__text,
    .asumo-today-reserved-list li {
        font-size: 1.6rem;
    }

    .asumo-today-reserved-list li {
        grid-template-columns: 1fr;
        gap: .2rem;
        padding: 1.1rem 0;
    }

    .asumo-today-sheet-head {
        display: block;
    }

    .asumo-today-sheet-head__label,
    .asumo-today-sheet-head__note {
        display: block;
    }

    .asumo-today-sheet-head__label {
        font-size: 1.7rem;
    }

    .asumo-today-sheet-head__note {
        margin-top: .2rem;
        font-size: 1.4rem;
    }

    .asumo-today-sheet {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .asumo-today-sheet iframe {
        min-width: 62rem;
        min-height: 30rem;
    }
}



/* ==================================
DEV-16 v12 / TODAY'S ASUMO VISIBILITY
既存Googleスプレッドシートは変更せず、表示領域だけを最適化する。
================================== */

/* 旧デザインの大きな背景・装飾を今日の混雑表示では使わない。 */
article.todays-asumo {
    position: relative;
    margin-top: 0 !important;
    padding: clamp(4.8rem, 6vw, 8rem) 0 !important;
    background: #f4f7f3 !important;
    color: #25332d;
}

article.todays-asumo::before,
article.todays-asumo::after,
.todays-asumo__inner::before,
.todays-asumo__inner::after {
    display: none !important;
    content: none !important;
    background: none !important;
}

.todays-asumo__inner {
    max-width: 1200px;
}

.asumo-today-layout {
    display: grid;
    grid-template-columns: minmax(28rem, 34rem) minmax(0, 1fr);
    gap: clamp(3.2rem, 5vw, 7rem);
    align-items: start;
    padding: clamp(3.2rem, 4.4vw, 5.6rem);
    border: 1px solid #dfe6df;
    border-radius: 2.4rem;
    background: #fff;
    box-shadow: 0 1.2rem 3.6rem rgba(44, 67, 55, .06);
}

.asumo-today-layout--notice-only {
    grid-template-columns: minmax(0, 68rem);
    justify-content: center;
}

.asumo-today-copy,
.asumo-today-crowd {
    min-width: 0;
}

.todays-asumo .page-contents__title,
.todays-asumo .asumo-today-heading {
    margin: 0;
    padding: 0;
    text-align: left;
}

.todays-asumo .page-contents__title::after {
    display: none;
}

.asumo-today-heading__en {
    margin: 0 0 .8rem !important;
    color: #559545;
    font-size: 1.2rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: .14em;
}

.todays-asumo .page-contents__titleH2Text {
    margin: 0;
    color: #25332d;
    font-size: clamp(3.2rem, 3.6vw, 4.6rem);
    font-weight: 800;
    line-height: 1.18;
    letter-spacing: .01em;
    white-space: nowrap;
}

.asumo-today-heading__lead {
    margin: 2rem 0 0 !important;
    color: #44514a;
    font-size: 1.55rem !important;
    font-weight: 600 !important;
    line-height: 1.85 !important;
}

.asumo-today-heading__lead span {
    color: #6e7772;
    font-size: .92em;
    font-weight: 500;
}

.asumo-today-info {
    width: 100%;
    margin: 2.4rem 0 0;
}

.asumo-today-notice {
    padding: 1.6rem 1.7rem;
}

.asumo-today-notice__title {
    font-size: 1.8rem;
    line-height: 1.45;
}

.asumo-today-reserved-list li {
    grid-template-columns: 8.2rem minmax(6rem, auto) 1fr;
    gap: .7rem;
    font-size: 1.3rem;
}

.asumo-today-crowd {
    align-self: stretch;
}

.asumo-today-sheet-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 1.6rem;
    width: 100%;
    margin: 0 0 1.2rem;
    text-align: left;
}

.asumo-today-sheet-head__eyebrow,
.asumo-today-sheet-head__label {
    display: block;
}

.asumo-today-sheet-head__eyebrow {
    margin-bottom: .3rem;
    color: #559545;
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .13em;
}

.asumo-today-sheet-head__label {
    color: #25332d;
    font-size: 2.2rem;
    font-weight: 800;
    line-height: 1.35;
    white-space: nowrap;
}

.asumo-today-sheet-head__note {
    flex: 0 0 auto;
    color: #6f7873;
    font-size: 1.3rem;
    font-weight: 600;
    line-height: 1.4;
    white-space: nowrap;
}

/*
 * Google Sheets自体は変更しない。
 * iframeを十分な幅で描画し、上部の重複タイトルと下部タブを表示領域から外す。
 */
.asumo-today-sheet {
    width: 100%;
    margin: 0;
    overflow: hidden;
    border: 1px solid #dfe4e1;
    background: #fff;
    box-shadow: 0 .8rem 2.4rem rgba(32, 55, 43, .06);
}

.asumo-today-sheet__viewport {
    position: relative;
    width: 100%;
    height: 32.5rem;
    overflow: hidden;
    background: #fff;
}

.asumo-today-sheet iframe {
    display: block;
    width: 100%;
    min-width: 58rem;
    height: 40rem;
    margin: 0;
    border: 0;
    background: #fff;
    transform: translateY(-3.2rem);
    transform-origin: top left;
}

@media screen and (max-width: 980px) {
    .asumo-today-layout {
        grid-template-columns: minmax(24rem, 30rem) minmax(0, 1fr);
        gap: 3rem;
        padding: 3rem;
    }

    .todays-asumo .page-contents__titleH2Text {
        font-size: 3.4rem;
    }

    .asumo-today-sheet iframe {
        min-width: 52rem;
    }
}

@media screen and (max-width: 768px) {
    article.todays-asumo {
        padding: 4rem 0 !important;
    }

    .asumo-today-layout,
    .asumo-today-layout--notice-only {
        grid-template-columns: 1fr;
        gap: 3rem;
        padding: 2.4rem 1.8rem;
        border-radius: 1.8rem;
    }

    .todays-asumo .page-contents__titleH2Text {
        font-size: 3.2rem;
        white-space: normal;
    }

    .asumo-today-heading__lead {
        font-size: 1.5rem !important;
    }

    .asumo-today-sheet-head {
        align-items: flex-start;
    }

    .asumo-today-sheet-head__label {
        font-size: 2rem;
    }

    .asumo-today-sheet-head__note {
        padding-top: .2rem;
        font-size: 1.2rem;
    }

    .asumo-today-sheet__viewport {
        height: 27rem;
    }

    .asumo-today-sheet iframe {
        width: 133.333%;
        min-width: 0;
        height: 40rem;
        transform: translateY(-3.2rem) scale(.75);
        transform-origin: top left;
    }

    .asumo-today-reserved-list li {
        grid-template-columns: 1fr;
        gap: .2rem;
        font-size: 1.5rem;
    }
}

@media screen and (max-width: 420px) {
    .asumo-today-layout {
        padding-right: 1.4rem;
        padding-left: 1.4rem;
    }

    .asumo-today-sheet-head {
        display: block;
    }

    .asumo-today-sheet-head__note {
        margin-top: .4rem;
        white-space: normal;
    }

    .asumo-today-sheet__viewport {
        height: 24rem;
    }

    .asumo-today-sheet iframe {
        width: 147%;
        height: 40rem;
        transform: translateY(-3.2rem) scale(.68);
    }
}


/* ==================================
DEV-16 v38 / TODAY'S ASUMO - COMPACT STATUS BOARD
Googleスプレッドシートはデータ源として維持し、WEBでは回ごとの情報カードに整形して表示する。
情報量は維持したまま、TOP内での面積と視覚的な重さを抑える。
================================== */

article.todays-asumo {
    padding: clamp(3.2rem, 4.2vw, 5rem) 0 !important;
    background: #f5f8f2 !important;
}

.asumo-today-panel {
    width: min(100%, 1080px);
    margin: 0 auto;
    padding: clamp(2.2rem, 3vw, 3.2rem);
    border: 1px solid #dfe6df;
    border-top: 4px solid #559545;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
}

.asumo-today-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 2.4rem;
    margin: 0;
    padding: 0 0 1.8rem;
    border-bottom: 1px solid #e4e9e4;
    text-align: left;
}

.asumo-today-heading__copy {
    min-width: 0;
    max-width: 72rem;
}

.asumo-today-heading__en {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    margin: 0 0 .55rem !important;
    color: #559545;
    font-family: "Quicksand", "Noto Sans JP", sans-serif;
    font-size: 1.05rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: .16em;
}

.asumo-today-heading__en::before {
    content: "";
    width: .7rem;
    height: .7rem;
    background: #559545;
}

.asumo-today-heading__title {
    margin: 0;
    color: #25332d;
    font-size: clamp(2.6rem, 3vw, 3.5rem);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .01em;
}

.asumo-today-heading__lead {
    margin: .8rem 0 0 !important;
    color: #58635d;
    font-size: 1.35rem !important;
    font-weight: 500 !important;
    line-height: 1.7 !important;
}

.asumo-today-heading__lead span {
    color: #78817c;
    font-size: .94em;
    font-weight: 500;
}

.asumo-today-heading__date {
    min-width: 8.8rem;
    padding: .15rem 0 0 1.8rem;
    border-left: 1px solid #dbe3da;
    background: transparent;
    text-align: right;
}

.asumo-today-heading__date span,
.asumo-today-heading__date small {
    display: block;
}

.asumo-today-heading__date span {
    color: #25332d;
    font-size: 1.65rem;
    font-weight: 800;
    line-height: 1.25;
}

.asumo-today-heading__date small {
    margin-top: .15rem;
    color: #7b847f;
    font-family: "Quicksand", sans-serif;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: .08em;
}

/* 営業変更・休館・貸切など、当日だけ必要な補足帯。 */
.asumo-today-info {
    width: 100%;
    margin: 1.5rem 0 0;
}

.asumo-today-notice {
    padding: 1.2rem 1.5rem;
    border-radius: 0 !important;
}

.asumo-today-notice__label {
    margin-bottom: .25rem;
    font-size: 1.05rem;
}

.asumo-today-notice__title {
    font-size: 1.55rem;
    line-height: 1.45;
}

.asumo-today-notice__text {
    margin-top: .4rem;
    font-size: 1.25rem;
    line-height: 1.65;
}

.asumo-today-reserved-list {
    margin-top: .8rem;
}

.asumo-today-reserved-list li {
    grid-template-columns: 8rem minmax(6rem, auto) 1fr;
    gap: .7rem;
    padding: .7rem 0;
    font-size: 1.2rem;
}

.asumo-today-crowd {
    margin-top: 2rem;
}

.asumo-today-crowd__head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 1.6rem;
    margin-bottom: .9rem;
}

.asumo-today-crowd__eyebrow {
    display: block;
    margin-bottom: .2rem;
    color: #559545;
    font-size: .95rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .14em;
}

.asumo-today-crowd__title {
    margin: 0;
    color: #25332d;
    font-size: 1.85rem;
    font-weight: 800;
    line-height: 1.3;
}

.asumo-today-crowd__note {
    flex: 0 0 auto;
    margin: 0;
    color: #7b837f;
    font-size: 1.15rem;
    font-weight: 600;
    line-height: 1.4;
}

.asumo-session-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid #dfe5e1;
    border-left: 1px solid #dfe5e1;
}

/* 回カードは情報表示。小さくても時刻と状態が一目で分かる密度にする。 */
.asumo-session-card {
    position: relative;
    min-width: 0;
    min-height: 12.8rem;
    padding: 1.25rem 1.4rem 1.35rem;
    border: 0;
    border-right: 1px solid #dfe5e1;
    border-bottom: 1px solid #dfe5e1;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
}

.asumo-session-card.is-current {
    background: #f4f9f1;
    box-shadow: inset 0 4px 0 #559545;
}

.asumo-session-card__top {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: .8rem;
}

.asumo-session-card__number {
    color: #5f6964;
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: .04em;
}

.asumo-session-card__phase {
    color: #818985;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.3;
}

.asumo-session-card__phase--current {
    color: #3f8137;
}

.asumo-session-card__phase--ended {
    color: #9a9f9c;
}

.asumo-session-card__time {
    margin: .65rem 0 0;
    color: #25332d;
    font-family: "Quicksand", "Noto Sans JP", sans-serif;
    font-size: 1.78rem;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0;
    font-variant-numeric: tabular-nums;
}

.asumo-session-card__status {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    margin-top: .8rem;
    color: #25332d;
}

.asumo-session-card__status-dot {
    flex: 0 0 auto;
    width: .8rem;
    height: .8rem;
    margin-top: .55rem;
    border-radius: 50%;
    background: #7b8580;
}

.asumo-session-card__status strong {
    display: block;
    min-width: 0;
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.asumo-session-card__detail {
    margin: .35rem 0 0 1.45rem;
    color: #737b77;
    font-size: 1.1rem;
    line-height: 1.45;
}

.asumo-session-card--calm .asumo-session-card__status-dot {
    background: #559545;
}

.asumo-session-card--moderate .asumo-session-card__status-dot {
    background: #c6922b;
}

.asumo-session-card--busy .asumo-session-card__status-dot,
.asumo-session-card--full .asumo-session-card__status-dot {
    background: #dc6a56;
}

.asumo-session-card--reserved {
    background: #fff5f1;
}

.asumo-session-card--reserved .asumo-session-card__status-dot {
    width: .85rem;
    height: .85rem;
    border-radius: 0;
    background: #ef765f;
}

.asumo-session-card--reserved .asumo-session-card__status strong {
    color: #b64e3c;
}

.asumo-session-card--unavailable {
    background: #f5f6f5;
}

.asumo-session-card--unavailable .asumo-session-card__status-dot {
    border-radius: 0;
    background: #737b77;
}

.asumo-today-source-note {
    margin: .8rem 0 0;
    color: #8a918d;
    font-size: 1.05rem;
    line-height: 1.5;
    text-align: right;
}

.asumo-today-fetch-state {
    padding: 1.8rem;
    border: 1px solid #dfe5e1;
    border-left: 4px solid #7a847f;
    background: #f7f8f7;
    text-align: left;
}

.asumo-today-fetch-state strong,
.asumo-today-fetch-state span {
    display: block;
}

.asumo-today-fetch-state strong {
    color: #25332d;
    font-size: 1.6rem;
    line-height: 1.5;
}

.asumo-today-fetch-state span {
    margin-top: .35rem;
    color: #65706a;
    font-size: 1.25rem;
    line-height: 1.6;
}

@media screen and (max-width: 900px) {
    .asumo-session-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (max-width: 768px) {
    article.todays-asumo {
        padding: 3.5rem 0 !important;
    }

    .asumo-today-panel {
        width: 100%;
        padding: 2.4rem 1.8rem;
        border-top-width: 3px;
    }

    .asumo-today-heading {
        grid-template-columns: 1fr;
        gap: 1.1rem;
        padding-bottom: 1.6rem;
    }

    .asumo-today-heading__title {
        font-size: 3rem;
    }

    .asumo-today-heading__lead {
        font-size: 1.45rem !important;
    }

    .asumo-today-heading__date {
        display: flex;
        min-width: 0;
        padding: .8rem 0 0;
        align-items: baseline;
        gap: .7rem;
        border-top: 1px solid #e3e8e3;
        border-left: 0;
        text-align: left;
    }

    .asumo-today-heading__date span {
        font-size: 1.6rem;
    }

    .asumo-today-heading__date small {
        margin-top: 0;
    }

    .asumo-today-crowd {
        margin-top: 1.8rem;
    }

    .asumo-today-crowd__head {
        align-items: flex-start;
    }

    .asumo-today-crowd__title {
        font-size: 2rem;
    }

    .asumo-today-crowd__note {
        padding-top: .2rem;
        font-size: 1.15rem;
    }

    .asumo-session-card {
        min-height: 12.5rem;
        padding: 1.3rem;
    }

    .asumo-session-card__time {
        font-size: 1.8rem;
    }

    .asumo-session-card__status strong {
        font-size: 1.45rem;
    }
}

@media screen and (max-width: 560px) {
    .asumo-session-grid {
        grid-template-columns: 1fr;
    }

    .asumo-today-crowd__head {
        display: block;
    }

    .asumo-today-crowd__note {
        margin-top: .4rem;
    }

    .asumo-session-card {
        min-height: 0;
        padding: 1.3rem 1.25rem;
    }

    .asumo-session-card__top {
        align-items: center;
    }

    .asumo-session-card__time {
        margin-top: .55rem;
        font-size: 1.8rem;
    }

    .asumo-session-card__status {
        margin-top: .7rem;
    }

    .asumo-today-source-note {
        text-align: left;
    }
}

/* ==================================
DEV-16 v17 HERO SLIDER
================================== */

.asumo-hero-slider {
    position: relative;
    min-height: 460px;
    margin: 0;
    background: #eef3e8;
    isolation: isolate;
}

.asumo-hero-slider__viewport {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.asumo-hero-slider__slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity .8s ease, visibility .8s ease;
    z-index: 1;
}

.asumo-hero-slider__slide.is-active {
    opacity: 1;
    visibility: visible;
    z-index: 2;
}

.asumo-hero-slider__slide img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 460px;
    object-fit: cover;
    object-position: center;
}

.asumo-hero-slider__arrow {
    position: absolute;
    top: 50%;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    color: #387d39;
    font-size: 2.2rem;
    line-height: 1;
    cursor: pointer;
    transform: translateY(-50%);
    box-shadow: 0 8px 24px rgba(45, 73, 41, .14);
    z-index: 4;
    transition: transform .2s ease, background-color .2s ease;
}

.asumo-hero-slider__arrow:hover,
.asumo-hero-slider__arrow:focus-visible {
    background: #fff;
    transform: translateY(-50%) scale(1.06);
}

.asumo-hero-slider__arrow--prev {
    left: 18px;
}

.asumo-hero-slider__arrow--next {
    right: 18px;
}

.asumo-hero-slider__dots {
    position: absolute;
    left: 50%;
    bottom: 18px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 8px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .86);
    transform: translateX(-50%);
    z-index: 4;
}

.asumo-hero-slider__dot {
    width: 9px;
    height: 9px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #b8c6b3;
    cursor: pointer;
    transition: width .2s ease, border-radius .2s ease, background-color .2s ease;
}

.asumo-hero-slider__dot.is-active {
    width: 26px;
    border-radius: 999px;
    background: #387d39;
}

.asumo-hero-slider.is-static .asumo-hero-slider__arrow,
.asumo-hero-slider.is-static .asumo-hero-slider__dots {
    display: none;
}

@media screen and (max-width: 1024px) {
    .asumo-hero-slider,
    .asumo-hero-slider__slide img {
        min-height: 380px;
    }
}

@media screen and (max-width: 768px) {
    .asumo-hero-slider,
    .asumo-hero-slider__slide img {
        min-height: 52vw;
        max-height: 430px;
    }

    .asumo-hero-slider__arrow {
        width: 42px;
        height: 42px;
    }

    .asumo-hero-slider__arrow--prev {
        left: 12px;
    }

    .asumo-hero-slider__arrow--next {
        right: 12px;
    }
}

@media screen and (max-width: 576px) {
    .asumo-hero-slider__arrow {
        width: 38px;
        height: 38px;
        font-size: 2rem;
    }

    .asumo-hero-slider__dots {
        bottom: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .asumo-hero-slider__slide,
    .asumo-hero-slider__arrow,
    .asumo-hero-slider__dot {
        transition: none;
    }
}

/* ==================================
DEV-16 v37 TOP PC FINAL
PC only: compact message -> large photo -> PLAY / CHILD CARE.
Tablet/mobile layout is intentionally unchanged.
================================== */
@media screen and (min-width: 1025px) {
    .asumo-hero {
        position: relative;
        overflow: hidden;
        padding: 4.4rem 3% 5.6rem;
        background: #FDFFF5;
        isolation: isolate;
    }

    /* Soft shapes add a little ASUMO playfulness without competing with photos. */
    .asumo-hero::before,
    .asumo-hero::after {
        content: "";
        position: absolute;
        border-radius: 50%;
        pointer-events: none;
        z-index: -1;
    }

    .asumo-hero::before {
        width: 20rem;
        height: 20rem;
        top: 7rem;
        left: -8rem;
        background: rgba(247, 179, 79, .12);
    }

    .asumo-hero::after {
        width: 15rem;
        height: 15rem;
        right: -3rem;
        bottom: 9rem;
        background: rgba(85, 149, 69, .10);
    }

    .asumo-hero__inner {
        display: flex;
        max-width: 1280px;
        margin: 0 auto;
        flex-direction: column;
        align-items: center;
        gap: 0;
    }

    .asumo-hero__copy {
        width: min(820px, 92%);
        padding: 0;
        text-align: center;
    }

    .asumo-hero__eyebrow {
        font-size: 1.25rem;
        letter-spacing: .16em;
    }

    .asumo-hero__title {
        margin-top: .9rem;
        font-size: clamp(5rem, 4.15vw, 6.3rem);
        line-height: 1.15;
        letter-spacing: .025em;
        text-wrap: balance;
    }

    .asumo-hero__lead {
        margin-top: 1.5rem;
        font-size: 1.7rem;
        line-height: 1.8;
    }

    /* On desktop, keep the supporting sentence visually light and compact. */
    .asumo-hero__lead br {
        display: none;
    }

    .asumo-hero__image {
        width: 100%;
        height: clamp(440px, 32vw, 510px);
        min-height: 440px;
        margin: 2.6rem 0 0;
        border-radius: 3rem;
        overflow: hidden;
        box-shadow: 0 18px 46px rgba(52, 85, 43, .10);
    }

    .asumo-hero__image img,
    .asumo-hero-slider__slide img {
        width: 100%;
        height: 100%;
        min-height: 440px;
        object-fit: cover;
        object-position: center;
    }

    .asumo-hero__actions {
        width: min(650px, 88%);
        margin: 1.8rem auto 0;
        grid-template-columns: 1fr 1fr;
        gap: 1.4rem;
    }

    .asumo-action {
        min-height: 80px;
        padding-top: 1.35rem;
        padding-bottom: 1.35rem;
        box-shadow: 0 8px 18px rgba(52, 85, 43, .06);
    }

    .asumo-action__sub {
        font-size: 1.05rem;
    }

    .asumo-action__main {
        margin-top: .15rem;
        font-size: 2.25rem;
    }

    /* The photo carries the mood. Keep slider UI calm. */
    .asumo-hero-slider__label {
        display: none;
    }

    .asumo-hero-slider__arrow {
        width: 48px;
        height: 48px;
        background: rgba(255, 255, 255, .94);
    }

    .asumo-hero-slider__arrow--prev {
        left: 20px;
    }

    .asumo-hero-slider__arrow--next {
        right: 20px;
    }

    .asumo-hero-slider__dots {
        bottom: 16px;
    }

    /* Bring TODAY closer to the first-view decision flow. */
    .todays-asumo {
        scroll-margin-top: 100px;
    }
}

@media screen and (max-width: 1024px) {
    .asumo-hero-slider__label {
        display: none;
    }

    .asumo-hero__image {
        order: 1;
    }

    .asumo-hero__copy {
        order: 2;
    }

    .asumo-hero__actions {
        order: 3;
    }
}

/* ==================================
DEV-16 v21 PLAYPARK INTEGRATED EQUIPMENT
/playpark-facility is integrated into /playpark/#equipment.
================================== */

html {
    scroll-behavior: smooth;
}

#equipment,
#active-zone,
#roleplay-zone,
#construction-zone,
#baby-zone {
    scroll-margin-top: 120px;
}

.playpark-equipment {
    padding: 8rem 0 9rem;
    background: #fbfcf7;
}

.playpark-equipment__heading {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}

.playpark-equipment__heading h2 {
    margin-top: .7rem;
    color: #387d39;
    font-size: 4rem;
    font-weight: 700;
    line-height: 1.35;
}

.playpark-equipment__heading > p:last-child {
    margin-top: 1.4rem;
    color: #4b4b45;
    font-size: 1.7rem;
    line-height: 1.9;
}

.playpark-equipment__index {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    max-width: 980px;
    margin: 3.2rem auto 0;
    gap: 1rem;
}

.playpark-equipment__index a {
    position: relative;
    display: flex;
    min-height: 92px;
    padding: 1.5rem 3.6rem 1.5rem 1.8rem;
    flex-direction: column;
    justify-content: center;
    border: 1px solid #78a96b;
    border-radius: 999px;
    background: #fff;
    color: #387d39;
    font-size: 1.45rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
}

.playpark-equipment__index a::after {
    content: "↓";
    position: absolute;
    top: 50%;
    right: 1.6rem;
    transform: translateY(-50%);
}

.playpark-equipment__index a span {
    display: block;
    margin-bottom: .3rem;
    color: #6e8069;
    font-family: "Quicksand", "Noto Sans JP", sans-serif;
    font-size: 1.05rem;
    letter-spacing: .08em;
}

.playpark-equipment__index a:hover,
.playpark-equipment__index a:focus-visible {
    background: #f3f8e7;
    opacity: 1;
}

.playpark-equipment-zone {
    padding-top: 8rem;
}

.playpark-equipment-zone + .playpark-equipment-zone {
    margin-top: 1rem;
    border-top: 1px solid #dfe5d8;
}

.playpark-equipment-zone__hero {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
    align-items: stretch;
    gap: 0;
    background: #fff;
    border: 1px solid #dfe5d8;
}

.playpark-equipment-zone__hero--reverse {
    grid-template-columns: minmax(320px, .75fr) minmax(0, 1.25fr);
}

.playpark-equipment-zone__hero--reverse .playpark-equipment-zone__heroImage {
    order: 2;
}

.playpark-equipment-zone__hero--reverse .playpark-equipment-zone__heroBody {
    order: 1;
}

.playpark-equipment-zone__heroImage {
    min-height: 360px;
    overflow: hidden;
}

.playpark-equipment-zone__heroImage img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 360px;
    object-fit: cover;
}

.playpark-equipment-zone__heroBody {
    display: flex;
    padding: 4rem;
    flex-direction: column;
    justify-content: center;
}

.playpark-equipment-zone__en {
    color: #559545;
    font-family: "Quicksand", "Noto Sans JP", sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: .12em;
}

.playpark-equipment-zone__heroBody h3 {
    margin-top: .7rem;
    color: #2f7531;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.45;
}

.playpark-equipment-zone__heroBody > p:last-child {
    margin-top: 1.5rem;
    color: #4b4b45;
    font-size: 1.65rem;
    line-height: 1.9;
}

.playpark-equipment-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 2.4rem;
    border-top: 1px solid #dfe5d8;
    border-left: 1px solid #dfe5d8;
}

.playpark-equipment-grid--single {
    grid-template-columns: minmax(0, 1fr);
    max-width: 760px;
}

.playpark-equipment-item {
    border-right: 1px solid #dfe5d8;
    border-bottom: 1px solid #dfe5d8;
    background: #fff;
}

.playpark-equipment-item img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.playpark-equipment-item__body {
    padding: 2.2rem 2.2rem 2.5rem;
}

.playpark-equipment-item__body h4 {
    color: #2f7531;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.5;
}

.playpark-equipment-item__body p {
    margin-top: 1rem;
    color: #55564f;
    font-size: 1.45rem;
    line-height: 1.8;
}

.playpark-support-info {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .75fr);
    margin-top: 2.4rem;
    border: 1px solid #dfe5d8;
    background: #fff;
}

.playpark-support-info img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 300px;
    object-fit: cover;
}

.playpark-support-info__body {
    display: flex;
    padding: 3.2rem 3.5rem;
    flex-direction: column;
    justify-content: center;
}

.playpark-support-info__body h4 {
    margin-top: .6rem;
    color: #2f7531;
    font-size: 2.5rem;
    font-weight: 700;
}

.playpark-support-info__body > p:last-child {
    margin-top: 1.2rem;
    font-size: 1.55rem;
    line-height: 1.85;
}

.playpark-equipment__actions {
    display: flex;
    justify-content: center;
    gap: 1.4rem;
    margin-top: 6rem;
}

/* The integrated equipment section is informational, so non-clickable blocks remain square.
   Clickable controls keep the rounded CTA treatment. */
.playpark-equipment-zone__hero,
.playpark-equipment-item,
.playpark-support-info {
    border-radius: 0;
}

@media screen and (max-width: 900px) {
    .playpark-equipment__index {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .playpark-equipment-zone__hero,
    .playpark-equipment-zone__hero--reverse,
    .playpark-support-info {
        grid-template-columns: 1fr;
    }

    .playpark-equipment-zone__hero--reverse .playpark-equipment-zone__heroImage,
    .playpark-equipment-zone__hero--reverse .playpark-equipment-zone__heroBody {
        order: initial;
    }

    .playpark-equipment-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (max-width: 576px) {
    .playpark-equipment {
        padding: 5rem 0 6rem;
    }

    .playpark-equipment__heading h2 {
        font-size: 3.3rem;
    }

    .playpark-equipment__heading > p:last-child {
        font-size: 1.8rem;
    }

    .playpark-equipment__index {
        grid-template-columns: 1fr 1fr;
        gap: .8rem;
    }

    .playpark-equipment__index a {
        min-height: 78px;
        padding: 1.2rem 2.8rem 1.2rem 1.2rem;
        font-size: 1.55rem;
    }

    .playpark-equipment-zone {
        padding-top: 5.5rem;
    }

    .playpark-equipment-zone__heroImage,
    .playpark-equipment-zone__heroImage img {
        min-height: 58vw;
    }

    .playpark-equipment-zone__heroBody {
        padding: 2.6rem 2rem 3rem;
    }

    .playpark-equipment-zone__heroBody h3 {
        font-size: 2.7rem;
    }

    .playpark-equipment-zone__heroBody > p:last-child,
    .playpark-support-info__body > p:last-child {
        font-size: 1.8rem;
    }

    .playpark-equipment-grid,
    .playpark-equipment-grid--single {
        grid-template-columns: 1fr;
    }

    .playpark-equipment-item__body h4 {
        font-size: 2.2rem;
    }

    .playpark-equipment-item__body p {
        font-size: 1.75rem;
    }

    .playpark-support-info img {
        min-height: 56vw;
    }

    .playpark-support-info__body {
        padding: 2.5rem 2rem 3rem;
    }

    .playpark-equipment__actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1.2rem;
        margin-top: 4.5rem;
    }

    .playpark-equipment__actions .asumo-primary-button,
    .playpark-equipment__actions .asumo-secondary-button {
        width: 100%;
    }
}

/* ==================================
DEV-16 v22 PLAYPARK BALANCE + IMAGE LINK FIX
- Compact the duplicated four-zone overview into a 2 x 2 scanable grid.
- Keep detailed equipment below without repeating the active-zone hero image.
- Broken 2023/05 images are served from confirmed production media URLs in PHP.
================================== */

.playpark-zone--renewal {
    width: min(1120px, calc(100% - 48px));
    margin-right: auto;
    margin-left: auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
    padding-top: 7rem;
    padding-bottom: 7rem;
}

.playpark-zone--renewal .playpark-zone__intro {
    grid-column: 1 / -1;
    margin-bottom: 2.4rem;
}

.playpark-zone--renewal .playpark-zone__item,
.playpark-zone--renewal .playpark-zone__item--reverse {
    display: grid;
    grid-template-columns: 1fr;
    margin: 0;
    border: 1px solid #dfe5d8;
    background: #fff;
}

.playpark-zone--renewal .playpark-zone__imageBox,
.playpark-zone--renewal .playpark-zone__item--reverse .playpark-zone__imageBox {
    order: 1;
    width: 100%;
    overflow: hidden;
}

.playpark-zone--renewal .playpark-zone__imageBox img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.playpark-zone--renewal .playpark-zone__textBox,
.playpark-zone--renewal .playpark-zone__item--reverse .playpark-zone__textBox {
    order: 2;
    display: flex;
    min-height: 270px;
    padding: 2.8rem 3rem 3rem;
    flex-direction: column;
    align-items: flex-start;
}

.playpark-zone--renewal .playpark-zone__title {
    margin: 0;
    color: #2f7531;
    font-size: 2.7rem;
    font-weight: 700;
    line-height: 1.4;
}

.playpark-zone--renewal .playpark-zone__titleEnglish {
    display: block;
    margin-bottom: .5rem;
    color: #559545;
    font-family: "Quicksand", "Noto Sans JP", sans-serif;
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: .1em;
}

.playpark-zone--renewal .playpark-zone__text {
    margin-top: 1.2rem;
    color: #4b4b45;
    font-size: 1.55rem;
    line-height: 1.85;
}

.playpark-zone--renewal .playpark-zone__button {
    width: 100%;
    margin-top: auto;
    padding-top: 2rem;
}

.playpark-zone--renewal .playpark-zone__buttonLink {
    width: 100%;
    max-width: 260px;
    margin: 0;
}

.playpark-equipment {
    padding-top: 7rem;
}

.playpark-equipment__heading {
    margin-bottom: 0;
}

.playpark-equipment-zone:first-of-type {
    padding-top: 4.5rem;
}

.playpark-equipment-zone__sectionHeading {
    max-width: 760px;
    margin: 0 0 2.4rem;
    padding: 0 0 2rem;
    border-bottom: 1px solid #dfe5d8;
}

.playpark-equipment-zone__sectionHeading h3 {
    margin-top: .7rem;
    color: #2f7531;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.45;
}

.playpark-equipment-zone__sectionHeading > p:last-child {
    margin-top: .9rem;
    color: #55564f;
    font-size: 1.55rem;
    line-height: 1.8;
}

.playpark-equipment-zone--active .playpark-equipment-grid {
    margin-top: 0;
}

.playpark-equipment-item img {
    background: #f4f6ef;
}

@media screen and (max-width: 900px) {
    .playpark-zone--renewal {
        width: min(100% - 36px, 760px);
    }

    .playpark-zone--renewal .playpark-zone__textBox,
    .playpark-zone--renewal .playpark-zone__item--reverse .playpark-zone__textBox {
        min-height: 300px;
        padding: 2.4rem 2.4rem 2.8rem;
    }
}

@media screen and (max-width: 640px) {
    .playpark-zone--renewal {
        width: min(100% - 28px, 560px);
        grid-template-columns: 1fr;
        gap: 1.4rem;
        padding-top: 5rem;
        padding-bottom: 5rem;
    }

    .playpark-zone--renewal .playpark-zone__intro {
        margin-bottom: 1.4rem;
    }

    .playpark-zone--renewal .playpark-zone__textBox,
    .playpark-zone--renewal .playpark-zone__item--reverse .playpark-zone__textBox {
        min-height: 0;
        padding: 2.2rem 2rem 2.4rem;
    }

    .playpark-zone--renewal .playpark-zone__title {
        font-size: 2.5rem;
    }

    .playpark-zone--renewal .playpark-zone__text {
        font-size: 1.7rem;
    }

    .playpark-zone--renewal .playpark-zone__buttonLink {
        max-width: none;
    }

    .playpark-equipment {
        padding-top: 5rem;
    }

    .playpark-equipment-zone:first-of-type {
        padding-top: 3.5rem;
    }

    .playpark-equipment-zone__sectionHeading h3 {
        font-size: 2.7rem;
    }

    .playpark-equipment-zone__sectionHeading > p:last-child {
        font-size: 1.75rem;
    }
}


/* ==================================
DEV-16 v23 PLAYPARK BALANCE REFINEMENT
- Four-zone overview is a compact clickable 2 x 2 navigator.
- Detailed content starts immediately after the overview.
- Magformers is absorbed into the Construction zone to avoid a large standalone section.
================================== */

.playpark-zone--renewal {
    display: block;
    width: min(1120px, calc(100% - 48px));
    padding-top: 6rem;
    padding-bottom: 5.5rem;
}

.playpark-zone--renewal .playpark-zone__intro {
    margin-bottom: 2.6rem;
}

.playpark-zone-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.6rem;
}

.playpark-zone-card {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(220px, .95fr);
    min-height: 220px;
    overflow: hidden;
    border: 1px solid #dbe4d4;
    border-radius: 24px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.playpark-zone-card:hover,
.playpark-zone-card:focus-visible {
    border-color: #78a96b;
    box-shadow: 0 14px 34px rgba(63, 100, 49, .12);
    transform: translateY(-2px);
    opacity: 1;
}

.playpark-zone-card__image {
    display: block;
    min-height: 220px;
    overflow: hidden;
}

.playpark-zone-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 220px;
    object-fit: cover;
    transition: transform .3s ease;
}

.playpark-zone-card:hover .playpark-zone-card__image img,
.playpark-zone-card:focus-visible .playpark-zone-card__image img {
    transform: scale(1.025);
}

.playpark-zone-card__body {
    display: flex;
    padding: 2.4rem 2.4rem 2.2rem;
    flex-direction: column;
    justify-content: center;
}

.playpark-zone-card__en {
    color: #559545;
    font-family: "Quicksand", "Noto Sans JP", sans-serif;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: .1em;
}

.playpark-zone-card__title {
    display: block;
    margin-top: .45rem;
    color: #2f7531;
    font-size: 2.25rem;
    font-weight: 700;
    line-height: 1.4;
}

.playpark-zone-card__desc {
    display: block;
    margin-top: .9rem;
    color: #55564f;
    font-size: 1.4rem;
    line-height: 1.7;
}

.playpark-zone-card__cta {
    display: flex;
    margin-top: 1.4rem;
    align-items: center;
    justify-content: space-between;
    color: #3f873f;
    font-size: 1.35rem;
    font-weight: 700;
}

.playpark-equipment {
    padding-top: 5.5rem;
}

.playpark-equipment-zone {
    padding-top: 6rem;
}

.playpark-equipment-zone + .playpark-equipment-zone {
    margin-top: 0;
}

.playpark-equipment-zone__hero--construction {
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
}

.playpark-equipment-zone__hero--construction .playpark-equipment-zone__heroBody {
    justify-content: flex-start;
}

.playpark-construction-feature {
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr);
    margin-top: 2.2rem;
    overflow: hidden;
    border-top: 1px solid #dfe5d8;
    padding-top: 2rem;
    gap: 1.6rem;
    align-items: center;
}

.playpark-construction-feature img {
    display: block;
    width: 132px;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.playpark-construction-feature__body h4 {
    color: #2f7531;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.45;
}

.playpark-construction-feature__body p {
    margin-top: .6rem;
    color: #55564f;
    font-size: 1.35rem;
    line-height: 1.75;
}

@media screen and (max-width: 900px) {
    .playpark-zone--renewal {
        width: min(100% - 36px, 760px);
    }

    .playpark-zone-card {
        grid-template-columns: 1fr;
    }

    .playpark-zone-card__image,
    .playpark-zone-card__image img {
        min-height: 190px;
    }

    .playpark-equipment-zone__hero--construction {
        grid-template-columns: 1fr;
    }
}

@media screen and (max-width: 640px) {
    .playpark-zone--renewal {
        width: min(100% - 28px, 560px);
        padding-top: 4.5rem;
        padding-bottom: 4.5rem;
    }

    .playpark-zone-cards {
        grid-template-columns: 1fr;
        gap: 1.2rem;
    }

    .playpark-zone-card {
        grid-template-columns: minmax(128px, .9fr) minmax(0, 1.1fr);
        min-height: 150px;
        border-radius: 20px;
    }

    .playpark-zone-card__image,
    .playpark-zone-card__image img {
        min-height: 150px;
        height: 100%;
    }

    .playpark-zone-card__body {
        padding: 1.8rem 1.6rem;
    }

    .playpark-zone-card__title {
        font-size: 2rem;
    }

    .playpark-zone-card__desc {
        margin-top: .6rem;
        font-size: 1.5rem;
    }

    .playpark-zone-card__cta {
        margin-top: 1rem;
        font-size: 1.45rem;
    }

    .playpark-equipment {
        padding-top: 4.5rem;
    }

    .playpark-equipment-zone {
        padding-top: 4.5rem;
    }

    .playpark-construction-feature {
        grid-template-columns: 110px minmax(0, 1fr);
        gap: 1.2rem;
    }

    .playpark-construction-feature img {
        width: 110px;
    }

    .playpark-construction-feature__body h4 {
        font-size: 1.9rem;
    }

    .playpark-construction-feature__body p {
        font-size: 1.6rem;
    }
}

/* ==================================
DEV-16 v24 PLAYPARK FINAL BALANCE TUNING
- Calm down the zone-card link treatment.
- Give overview cards more text width and a steadier rhythm.
- Make the intro headline break intentionally on desktop.
- Increase Magformers visual weight inside Construction.
================================== */

@media screen and (min-width: 901px) {
    .playpark-intro__inner {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 3.2rem;
    }

    .playpark-intro__title {
        font-size: 3.45rem;
        line-height: 1.38;
    }

    .playpark-intro__lead {
        margin-top: 1.5rem;
        font-size: 1.72rem;
        line-height: 1.85;
    }

    .playpark-zone-card {
        grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
    }

    .playpark-zone-card__body {
        padding: 2.1rem 2.1rem 2rem;
    }

    .playpark-zone-card__title {
        font-size: 1.9rem;
        line-height: 1.45;
    }

    .playpark-zone-card__desc {
        font-size: 1.3rem;
        line-height: 1.7;
    }

    .playpark-construction-feature {
        grid-template-columns: 184px minmax(0, 1fr);
        gap: 1.9rem;
        margin-top: 2.4rem;
        padding-top: 2.2rem;
    }

    .playpark-construction-feature img {
        width: 184px;
        aspect-ratio: 4 / 3;
    }

    .playpark-construction-feature__body h4 {
        font-size: 1.9rem;
    }
}

.playpark-zone-card,
.playpark-zone-card:hover,
.playpark-zone-card:focus,
.playpark-zone-card:focus-visible,
.playpark-zone-card * {
    text-decoration: none !important;
}

.playpark-zone-card__cta {
    padding-top: .2rem;
    color: #3f873f;
}

.playpark-zone-card__cta > span[aria-hidden="true"] {
    transition: transform .2s ease;
}

.playpark-zone-card:hover .playpark-zone-card__cta > span[aria-hidden="true"],
.playpark-zone-card:focus-visible .playpark-zone-card__cta > span[aria-hidden="true"] {
    transform: translateX(4px);
}

.playpark-equipment-zone {
    padding-top: 5.2rem;
}

.playpark-equipment-zone:first-of-type {
    padding-top: 3.8rem;
}

@media screen and (max-width: 900px) {
    .playpark-intro__break {
        display: none;
    }
}

/* ==========================================================
   DEV-16 v25 : Playpark detail accordions + native timetable
   ========================================================== */

.playpark-existing-details {
    display: grid;
    gap: 1.4rem;
}

.playpark-existing-details > .playpark-detail-accordion {
    margin: 0;
    border: 1px solid #dce4d5;
    border-radius: 1.6rem;
    overflow: hidden;
    background: #fff;
}

.playpark-existing-details > .playpark-detail-accordion > summary {
    position: relative;
    min-height: 7rem;
    padding: 2rem 5.5rem 2rem 2.5rem;
    display: flex;
    align-items: center;
    color: #387d39;
    cursor: pointer;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.5;
    list-style: none;
}

.playpark-existing-details > .playpark-detail-accordion > summary::-webkit-details-marker {
    display: none;
}

.playpark-existing-details > .playpark-detail-accordion > summary::after {
    content: "+";
    position: absolute;
    right: 2.2rem;
    top: 50%;
    color: #4f9844;
    font-size: 2.4rem;
    font-weight: 500;
    transform: translateY(-50%);
}

.playpark-existing-details > .playpark-detail-accordion[open] > summary::after {
    content: "−";
}

.playpark-existing-details > .playpark-detail-accordion[open] > summary {
    border-bottom: 1px solid #e1e6dc;
}

.playpark-detail-accordion__heading {
    margin: 2rem 0 3.5rem;
    text-align: center;
}

.playpark-native-timetable {
    max-width: 92rem;
    margin: 1.5rem auto 5rem;
}

.playpark-native-timetable__heading {
    margin-bottom: 2.8rem;
    text-align: center;
}

.playpark-native-timetable__heading h2 {
    margin: .5rem 0 1rem;
    color: #333;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.4;
}

.playpark-native-timetable__heading p:last-child {
    margin: 0;
    font-size: 1.5rem;
    line-height: 1.8;
}

.playpark-native-timetable__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.playpark-native-timetable__item {
    display: grid;
    grid-template-columns: 9rem 1fr;
    align-items: center;
    min-height: 7.2rem;
    border: 1px solid #dbe5d7;
    background: #fbfdf7;
}

.playpark-native-timetable__item span {
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: #edf5e8;
    color: #387d39;
    font-size: 1.35rem;
    font-weight: 700;
}

.playpark-native-timetable__item strong {
    padding: 1rem 1.8rem;
    color: #222;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: .02em;
    text-align: center;
}

.playpark-native-timetable__note {
    margin: 1.4rem 0 0;
    color: #76634c;
    font-size: 1.3rem;
    line-height: 1.8;
    text-align: center;
}

.playpark-existing-details__content > h2:first-child {
    margin-top: 2rem;
}

@media (max-width: 767px) {
    .playpark-existing-details {
        gap: 1rem;
        padding-top: 2.5rem;
        padding-bottom: 5rem;
    }

    .playpark-existing-details > .playpark-detail-accordion {
        border-radius: 1.2rem;
    }

    .playpark-existing-details > .playpark-detail-accordion > summary {
        min-height: 6.2rem;
        padding: 1.6rem 4.6rem 1.6rem 1.7rem;
        font-size: 1.55rem;
    }

    .playpark-existing-details > .playpark-detail-accordion > summary::after {
        right: 1.6rem;
        font-size: 2rem;
    }

    .playpark-existing-details__content {
        padding: 1rem 1.5rem 3rem;
    }

    .playpark-native-timetable {
        margin-bottom: 3.5rem;
    }

    .playpark-native-timetable__heading {
        margin-bottom: 2rem;
    }

    .playpark-native-timetable__heading h2 {
        font-size: 2.4rem;
    }

    .playpark-native-timetable__grid {
        grid-template-columns: 1fr;
        gap: .7rem;
    }

    .playpark-native-timetable__item {
        grid-template-columns: 7.2rem 1fr;
        min-height: 5.8rem;
    }

    .playpark-native-timetable__item span {
        font-size: 1.2rem;
    }

    .playpark-native-timetable__item strong {
        font-size: 1.75rem;
    }

    .playpark-native-timetable__note {
        font-size: 1.2rem;
        text-align: left;
    }

    .playpark-detail-accordion__heading {
        margin: 1.5rem 0 2.5rem;
        font-size: 2.3rem;
    }
}


/* ==========================================================
   DEV-16 v26 : Playpark timetable summary refinement
   ========================================================== */

.playpark-use-summary {
    max-width: 74rem;
    margin: 4rem auto 1rem;
    text-align: center;
}

.playpark-use-summary dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 54rem;
    margin: 0 auto 2rem;
    border: 1px solid #dbe5d7;
    background: #fff;
}

.playpark-use-summary dl > div {
    display: grid;
    grid-template-columns: 10rem 1fr;
    min-height: 6.4rem;
}

.playpark-use-summary dl > div + div {
    border-left: 1px solid #dbe5d7;
}

.playpark-use-summary dt,
.playpark-use-summary dd {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 1.2rem 1.4rem;
}

.playpark-use-summary dt {
    background: #edf5e8;
    color: #387d39;
    font-size: 1.35rem;
    font-weight: 700;
}

.playpark-use-summary dd {
    color: #2c2c2c;
    font-size: 1.55rem;
    font-weight: 700;
    line-height: 1.6;
}

.playpark-use-summary > p {
    max-width: 64rem;
    margin: 0 auto 2.2rem;
    color: #4b4b4b;
    font-size: 1.4rem;
    line-height: 1.9;
}

.playpark-use-summary__button {
    min-width: 22rem;
}

/* WordPress本文内の強調マーカーをサイトの配色へ統一する。 */
.playpark-existing-details mark {
    padding: .08em .3em;
    background: #edf5e8;
    color: #2f7437;
    font-weight: 700;
}

@media (max-width: 767px) {
    .playpark-use-summary {
        margin-top: 3rem;
    }

    .playpark-use-summary dl {
        grid-template-columns: 1fr;
    }

    .playpark-use-summary dl > div {
        grid-template-columns: 8.2rem 1fr;
        min-height: 5.6rem;
    }

    .playpark-use-summary dl > div + div {
        border-left: 0;
        border-top: 1px solid #dbe5d7;
    }

    .playpark-use-summary dt {
        font-size: 1.2rem;
    }

    .playpark-use-summary dd {
        font-size: 1.45rem;
    }

    .playpark-use-summary > p {
        text-align: left;
        font-size: 1.3rem;
    }

    .playpark-use-summary__button {
        width: 100%;
        min-width: 0;
    }
}

/* ==========================================================
   DEV-16 v27 : Childcare guide + price integration
   ========================================================== */

.childcare-integrated-price {
    scroll-margin-top: 10rem;
    padding: 7rem 0 8rem;
    background: #fff7f4;
}

.childcare-integrated-price .childcare-price-intro__heading {
    max-width: 74rem;
    margin: 0 auto;
}

.childcare-integrated-price .childcare-price-summary {
    max-width: 90rem;
    margin-top: 3.8rem;
}

/* Non-clickable information blocks stay square per the shared UI rule. */
.childcare-integrated-price .childcare-price-ticket,
.childcare-integrated-price .childcare-price-cancel {
    border-radius: 0;
}

.childcare-integrated-price .childcare-price-ticket {
    border-color: #eadfd8;
}

.childcare-integrated-price .childcare-price-cancel {
    border-left: 4px solid #fe6f58;
}

.childcare-integrated-price__actions {
    display: flex;
    justify-content: center;
    margin-top: 3.2rem;
}

.childcare-integrated-price__actions .asumo-primary-button {
    min-width: 31rem;
}

.childcare-page #guide,
.childcare-page #details {
    scroll-margin-top: 10rem;
}

/* Integrated page no longer needs visual separation that suggested a second pricing page. */
.childcare-content {
    padding-top: 6rem;
}

@media screen and (max-width: 576px) {
    .childcare-integrated-price {
        padding: 5rem 0 6rem;
    }

    .childcare-integrated-price .childcare-price-summary {
        margin-top: 2.8rem;
    }

    .childcare-integrated-price__actions {
        margin-top: 2.5rem;
    }

    .childcare-integrated-price__actions .asumo-primary-button {
        width: 100%;
        min-width: 0;
    }

    .childcare-content {
        padding-top: 4rem;
    }
}


/* ==================================
DEV-16 CHILD CARE v28 REFINEMENT
================================== */

.childcare-content .childcare-managed-booking-title {
    margin-bottom: 3rem;
}

.childcare-content .childcare-managed-booking-cta {
    display: inline-flex;
    position: relative;
    min-width: 280px;
    min-height: 58px;
    margin-top: 2rem !important;
    padding: 1.2rem 5rem 1.2rem 3rem;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    background: #559545;
    color: #fff !important;
    font-weight: 700;
    text-align: center;
    text-decoration: none !important;
}

.childcare-content .childcare-managed-booking-cta::after {
    content: "→";
    position: absolute;
    top: 50%;
    right: 2rem;
    line-height: 1;
    transform: translateY(-50%);
}

.childcare-content .childcare-managed-booking-cta:hover {
    opacity: .88;
}

@media screen and (max-width: 576px) {
    .childcare-content .childcare-managed-booking-title {
        margin-bottom: 2.2rem;
    }

    .childcare-content .childcare-managed-booking-cta {
        width: 100%;
        min-width: 0;
        min-height: 56px;
        font-size: 1.8rem;
    }
}

/* ==================================
DEV-16 CHILD CARE v30 FINAL FIX
================================== */

/*
 * v29の末尾CSSが文字列 "\\n" のまま保存されていたため、
 * ブラウザで規則として解釈されていなかった。
 * v30では実改行で再定義し、利用条件表と非クリック見出しを確実に反映する。
 */

/* 利用条件はフォーム風の小表ではなく、横幅を使った参照情報として表示。 */
.childcare-content .childcare-managed-condition-table {
    width: min(100%, 86rem) !important;
    max-width: 86rem !important;
    margin: 2.8rem auto 3.4rem !important;
    table-layout: fixed !important;
}

.childcare-content .childcare-managed-condition-table th,
.childcare-content .childcare-managed-condition-table td {
    width: auto !important;
    min-width: 0 !important;
    padding: 1.7rem 2.4rem !important;
    vertical-align: middle !important;
    line-height: 1.7 !important;
}

.childcare-content .childcare-managed-condition-table th {
    width: 28% !important;
    white-space: nowrap;
}

.childcare-content .childcare-managed-condition-table td {
    text-align: left !important;
}

/*
 * 「お申込み方法」「お預かり当日の流れ」は情報見出し。
 * legacyの .facility h3.box-title span にある点線ピルを完全に解除する。
 */
.childcare-content h3.box-title.childcare-info-label,
.childcare-content .childcare-info-label {
    margin: 4.8rem 0 2.4rem !important;
    padding: 0 !important;
    text-align: center !important;
}

.childcare-content h3.box-title.childcare-info-label::before,
.childcare-content .childcare-info-label::before {
    display: block;
    margin-bottom: .7rem;
    color: #559545;
    font-family: "Quicksand", "Noto Sans JP", sans-serif;
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: .16em;
}

.childcare-content .childcare-info-label--application::before {
    content: "APPLICATION";
}

.childcare-content .childcare-info-label--flow::before {
    content: "FLOW";
}

.childcare-content h3.box-title.childcare-info-label > span,
.childcare-content .childcare-info-label > span {
    display: inline !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #387d39 !important;
    font-size: 2.2rem !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    letter-spacing: .04em !important;
}

/* 当日の流れはSTEPとして走査しやすくする。クリック要素には見せない。 */
.childcare-content .childcare-flow-step {
    position: relative;
    max-width: 100rem;
    margin: 3rem auto 1.4rem !important;
    padding: .2rem 0 .2rem 8.6rem !important;
    font-weight: 700;
    line-height: 1.8;
    text-align: left !important;
}

.childcare-content .childcare-flow-step::before {
    position: absolute;
    top: .1rem;
    left: 0;
    display: inline-flex;
    width: 6.8rem;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    border-left: 3px solid #559545;
    color: #387d39;
    font-family: "Quicksand", "Noto Sans JP", sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: .08em;
}

.childcare-content .childcare-flow-step--1::before { content: "STEP 1"; }
.childcare-content .childcare-flow-step--2::before { content: "STEP 2"; }
.childcare-content .childcare-flow-step--3::before { content: "STEP 3"; }

@media screen and (max-width: 768px) {
    .childcare-content .childcare-managed-condition-table {
        width: min(100%, 62rem) !important;
    }
}

@media screen and (max-width: 576px) {
    .childcare-content .childcare-managed-condition-table {
        width: 100% !important;
        margin-top: 2rem !important;
    }

    .childcare-content .childcare-managed-condition-table th,
    .childcare-content .childcare-managed-condition-table td {
        padding: 1.2rem 1.1rem !important;
    }

    .childcare-content .childcare-managed-condition-table th {
        width: 34% !important;
        white-space: normal;
    }

    .childcare-content h3.box-title.childcare-info-label,
    .childcare-content .childcare-info-label {
        margin-top: 3.6rem !important;
    }

    .childcare-content h3.box-title.childcare-info-label > span,
    .childcare-content .childcare-info-label > span {
        font-size: 2rem !important;
    }

    .childcare-content .childcare-flow-step {
        margin-top: 2.6rem !important;
        padding-left: 0 !important;
    }

    .childcare-content .childcare-flow-step::before {
        position: static;
        display: flex;
        width: fit-content;
        margin-bottom: .8rem;
        padding-left: .8rem;
    }
}

/* ==================================
DEV-16 v36: CONTACT FINAL / COMMON DESIGN
================================== */
.asumo-contact-shell .page__title {
    margin-bottom: 0;
}

.asumo-contact-page {
    padding: 6.5rem 0 9rem;
    background: #fbfcf5;
}

.asumo-contact-page .contents-wrapper {
    max-width: 1120px;
}

.asumo-contact-page__heading {
    max-width: 760px;
    margin: 0 auto 4rem;
    text-align: center;
}

.asumo-contact-page__heading h2 {
    margin: .8rem 0 0;
    color: #2f3330;
    font-size: clamp(3rem, 3.4vw, 4.4rem);
    line-height: 1.35;
}

.asumo-contact-page__heading > p:last-child {
    margin: 1.8rem 0 0;
    color: #555;
    font-size: 1.6rem;
    line-height: 2;
}

.asumo-contact-methods {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.4rem;
    max-width: 980px;
    margin: 0 auto;
}

.asumo-contact-method {
    display: flex;
    min-height: 360px;
    padding: 4rem;
    border: 1px solid #dfe5dc;
    border-radius: 0;
    background: #fff;
    flex-direction: column;
}

.asumo-contact-method--phone {
    background: #fbfdf6;
}

.asumo-contact-method__label,
.asumo-contact-page__note-label {
    margin: 0;
    color: #559545;
    font-family: "Quicksand", "Noto Sans JP", sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: .14em;
}

.asumo-contact-method h3 {
    margin: .8rem 0 0;
    color: #2f3330;
    font-size: 2.2rem;
    line-height: 1.5;
}

.asumo-contact-method__value {
    margin: 3rem 0 0;
    color: #559545;
    font-size: clamp(2.9rem, 3vw, 4rem);
    font-weight: 700;
    line-height: 1.2;
}

.asumo-contact-method__value--mail {
    font-size: clamp(1.9rem, 2vw, 2.6rem);
    overflow-wrap: anywhere;
}

.asumo-contact-method__note {
    margin: 1rem 0 0;
    color: #666;
    font-size: 1.4rem;
    line-height: 1.7;
}

.asumo-contact-method__button {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 60px;
    margin-top: auto;
    padding: 1.5rem 5rem;
    border: 2px solid #559545;
    border-radius: 999px;
    font-size: 1.5rem;
    font-weight: 700;
    text-align: center;
    text-decoration: none !important;
}

.asumo-contact-method__button-text {
    position: static;
    display: block;
    width: 100%;
    padding: 0 2.5rem;
    text-align: center;
}

.asumo-contact-method__button-arrow {
    position: absolute;
    top: 50%;
    right: 2.2rem;
    line-height: 1;
    transform: translateY(-50%);
}

.asumo-contact-method__button--primary {
    color: #fff !important;
    background: #559545;
}

.asumo-contact-method__button--secondary {
    color: #559545 !important;
    background: #fff;
}

.asumo-contact-page__note {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    max-width: 980px;
    margin: 2.4rem auto 0;
    padding: 2.1rem 2.6rem;
    border: 0;
    border-left: 4px solid #f0715c;
    border-radius: 0;
    background: #fff9f6;
}

.asumo-contact-page__note p:not(.asumo-contact-page__note-label) {
    margin: .6rem 0 0;
    color: #444;
    font-size: 1.5rem;
    line-height: 1.8;
}

.asumo-contact-page__note-button {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 280px;
    min-height: 58px;
    padding: 1.4rem 4.5rem 1.4rem 2rem;
    border: 2px solid #f0715c;
    border-radius: 999px;
    color: #f0715c !important;
    background: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    text-align: center;
    text-decoration: none !important;
}

.asumo-contact-page__note-button span:last-child {
    position: absolute;
    right: 2rem;
}

@media screen and (max-width: 768px) {
    .asumo-contact-page {
        padding: 5rem 0 7rem;
    }

    .asumo-contact-page__heading {
        margin-bottom: 3.5rem;
    }

    .asumo-contact-methods {
        grid-template-columns: 1fr;
        gap: 1.6rem;
    }

    .asumo-contact-method {
        min-height: 0;
        padding: 3rem 2.4rem;
    }

    .asumo-contact-method__button {
        margin-top: 3rem;
    }

    .asumo-contact-page__note {
        align-items: stretch;
        flex-direction: column;
        padding: 2.4rem;
    }

    .asumo-contact-page__note-button {
        flex-basis: auto;
        width: 100%;
    }
}

@media screen and (max-width: 576px) {
    .asumo-contact-page__heading {
        text-align: left;
    }

    .asumo-contact-page__heading h2 {
        font-size: 2.8rem;
    }

    .asumo-contact-page__heading > p:last-child {
        font-size: 1.5rem;
    }

    .asumo-contact-method h3 {
        font-size: 2rem;
    }

    .asumo-contact-method__button,
    .asumo-contact-page__note-button {
        min-height: 56px;
        font-size: 1.6rem;
    }
}

/* ==================================
DEV-16 v39 / TODAY'S ASUMO - BALANCED GREEN FRAME
上・左右だけに見えていたグリーン余白を、下辺にも同じ意匠で持たせる。
================================== */

.todays-asumo__inner {
    width: min(90%, 1200px);
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
    padding: clamp(3rem, 3.2vw, 4rem) clamp(4.5rem, 6.2vw, 8rem) !important;
    border-radius: clamp(1.8rem, 2vw, 2.6rem);
    background: #68924f;
}

.todays-asumo__inner .asumo-today-panel {
    width: 100%;
    margin: 0;
}

@media screen and (max-width: 768px) {
    .todays-asumo__inner {
        width: 92%;
        padding: 2rem !important;
        border-radius: 1.8rem;
    }
}

@media screen and (max-width: 560px) {
    .todays-asumo__inner {
        width: 94%;
        padding: 1.4rem !important;
        border-radius: 1.5rem;
    }
}

/* ==================================
DEV-16 v41 / TOP LOWER SECTIONS POLISH
FIRST VISIT / COWORKING / NEWS / ACCESS / INSTAGRAM
================================== */

/* FIRST VISIT: compact, friendly interactive FAQ */
.asumo-first {
    padding: 6.5rem 0 7rem;
    background: #fff;
}

.asumo-first__header {
    max-width: 760px;
    margin: 0 auto;
}

.asumo-first__header > p:last-child {
    margin-top: 1.2rem;
    color: #5d665f;
    font-size: 1.55rem;
    line-height: 1.8;
}

.asumo-faq {
    display: grid;
    gap: 1rem;
    max-width: 920px;
    margin: 3.2rem auto 0;
    border-top: 0;
}

.asumo-faq details {
    overflow: hidden;
    border: 1px solid #dfe6dc;
    border-radius: 1.2rem;
    background: #fff;
    transition: border-color .2s ease, background .2s ease;
}

.asumo-faq details[open] {
    border-color: #bfcfb7;
    background: #fbfdf8;
}

.asumo-faq summary {
    position: relative;
    min-height: 6.4rem;
    padding: 1.7rem 5.5rem 1.7rem 5.6rem;
    cursor: pointer;
    color: #28312c;
    font-size: 1.7rem;
    font-weight: 700;
    line-height: 1.55;
    list-style: none;
}

.asumo-faq summary::before {
    content: "Q";
    position: absolute;
    top: 50%;
    left: 1.8rem;
    display: grid;
    width: 2.7rem;
    height: 2.7rem;
    place-items: center;
    border-radius: 50%;
    background: #eff6e8;
    color: #559545;
    font-family: "Quicksand", "Noto Sans JP", sans-serif;
    font-size: 1.25rem;
    font-weight: 800;
    transform: translateY(-50%);
}

.asumo-faq summary::after {
    right: 2rem;
    color: #559545;
    font-size: 2.2rem;
}

.asumo-faq details p {
    margin: 0;
    padding: 0 5.6rem 1.9rem;
    color: #566059;
    font-size: 1.5rem;
    line-height: 1.85;
}

/* COWORKING: keep it clearly secondary to family services */
.asumo-coworking {
    padding: 3.8rem 0;
    border-top: 1px solid #e7eae7;
    border-bottom: 1px solid #e7eae7;
    background: #f7f8f7;
}

.asumo-coworking__title {
    margin-top: .4rem;
    color: #303934;
    font-size: 2.3rem;
}

.asumo-coworking__link {
    min-height: 56px;
    border-color: #c4cbc7;
}

/* NEWS: align the TOP list with the simplified archive design */
.asumo-news {
    padding: 6.5rem 0 7rem;
    background: #fff;
}

.asumo-news .news-contents__wrapper {
    width: min(100%, 960px);
    margin: 0 auto;
}

.asumo-news .news-contents__list {
    margin-top: 3rem;
    border-top: 1px solid #e1e6df;
}

.asumo-news .news-contents__item {
    border-bottom: 1px solid #e1e6df;
}

.asumo-news .news-contents__itemLink {
    position: relative;
    display: grid;
    grid-template-columns: 11rem 12rem minmax(0, 1fr);
    gap: 1.4rem;
    align-items: center;
    min-height: 7.2rem;
    padding: 1.45rem 4.5rem 1.45rem .4rem;
    color: #2f3732;
    text-decoration: none;
}

.asumo-news .news-contents__itemLink::after {
    content: "→";
    position: absolute;
    top: 50%;
    right: .8rem;
    color: #559545;
    font-size: 1.8rem;
    transform: translateY(-50%);
    transition: right .2s ease;
}

.asumo-news .news-contents__itemLink:hover::after {
    right: .4rem;
}

.asumo-news .news-contents__date {
    color: #727a75;
    font-size: 1.35rem;
    font-weight: 600;
}

.asumo-news .news-contents__category {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-width: 8.8rem;
    min-height: 2.8rem;
    padding: .35rem 1rem;
    border-radius: 999px;
    background: #f1f6ed;
    color: #4f7f43;
    font-size: 1.2rem;
    font-weight: 700;
}

.asumo-news .news-contents__title {
    min-width: 0;
    color: #303833;
    font-size: 1.55rem;
    font-weight: 700;
    line-height: 1.65;
}

/* ACCESS: centered two-column section, no left-offset layout */
.access-contents {
    scroll-margin-top: 11rem;
    padding: 7rem 0;
    background: #f4f9df;
}

.access-contents__wrapper {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(32rem, .92fr);
    gap: clamp(4rem, 6vw, 7rem);
    align-items: center;
    width: min(90%, 1180px);
    margin: 0 auto;
    padding: 0;
}

.access-contents__rightBox {
    grid-column: 1;
    grid-row: 1;
}

.access-contents__leftBox {
    grid-column: 2;
    grid-row: 1;
    padding: 0;
}

.access-contents__rightBox iframe {
    display: block;
    width: 100%;
    min-height: 38rem;
    border-radius: 1.6rem;
    aspect-ratio: 4 / 3;
}

.access-contents__leftBox .frontPage-contents__title {
    margin: 0 0 2.8rem;
    text-align: left;
}

.access-contents__address1 {
    margin-top: 0;
    color: #344039;
    font-size: 1.6rem;
    line-height: 1.9;
}

.access-contents__address2 {
    margin-top: 2rem;
    border-top: 1px solid rgba(85, 149, 69, .25);
    color: #344039;
    font-size: 1.5rem;
}

.access-contents__address2 li {
    display: grid;
    grid-template-columns: 7.5rem minmax(0, 1fr);
    gap: 1rem;
    padding: 1rem 0;
    border-bottom: 1px solid rgba(85, 149, 69, .18);
    line-height: 1.65;
}

.access-contents__address2 li span {
    width: auto;
    color: #559545;
    font-weight: 700;
}

.access-contents__wrapper--icon {
    right: -2rem;
    bottom: -6rem;
    left: auto;
    width: 18rem;
    height: 11rem;
    opacity: .8;
}

/* INSTAGRAM: simple visual grid */
.asumo-instagram {
    padding: 7rem 0 8rem;
    background: #fff;
}

.asumo-instagram__lead {
    margin-top: 1rem;
    color: #626b65;
    font-size: 1.5rem;
}

.asumo-instagram__grid {
    gap: 2rem;
    max-width: 980px;
    margin: 3rem auto 0;
}

.asumo-instagram-card {
    border-color: #e4e8e2;
    border-radius: 1.2rem;
    box-shadow: none;
}

.asumo-instagram-card__link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.asumo-instagram-card__title {
    padding: 1.4rem 1.5rem .6rem;
    color: #303833;
}

.asumo-instagram-card__more {
    display: block;
    padding: 0 1.5rem 1.5rem;
    color: #559545;
    font-size: 1.25rem;
    font-weight: 700;
}

@media screen and (max-width: 768px) {
    .asumo-first,
    .asumo-news,
    .asumo-instagram {
        padding-top: 5.5rem;
        padding-bottom: 6rem;
    }

    .asumo-faq summary {
        padding-right: 4.8rem;
    }

    .asumo-news .news-contents__itemLink {
        grid-template-columns: 9.5rem minmax(0, 1fr);
        gap: .7rem 1rem;
        padding: 1.5rem 3.5rem 1.5rem .2rem;
    }

    .asumo-news .news-contents__category {
        min-width: 0;
    }

    .asumo-news .news-contents__title {
        grid-column: 1 / -1;
    }

    .access-contents {
        padding: 5.5rem 0 6rem;
    }

    .access-contents__wrapper {
        grid-template-columns: 1fr;
        gap: 3rem;
        width: 90%;
        margin: 0 auto;
    }

    .access-contents__leftBox,
    .access-contents__rightBox {
        grid-column: 1;
    }

    .access-contents__leftBox {
        grid-row: 1;
        display: block;
    }

    .access-contents__rightBox {
        grid-row: 2;
    }

    .access-contents__leftBox .frontPage-contents__title {
        text-align: center;
    }

    .access-contents__rightBox iframe {
        min-height: 0;
        aspect-ratio: 4 / 3;
    }

    .access-contents__wrapper--icon {
        display: none;
    }
}

@media screen and (max-width: 576px) {
    .asumo-faq {
        gap: .8rem;
        margin-top: 2.6rem;
    }

    .asumo-faq summary {
        min-height: 6rem;
        padding: 1.5rem 4.5rem 1.5rem 5rem;
        font-size: 1.7rem;
    }

    .asumo-faq summary::before {
        left: 1.5rem;
        width: 2.5rem;
        height: 2.5rem;
    }

    .asumo-faq details p {
        padding: 0 1.7rem 1.7rem 5rem;
        font-size: 1.55rem;
    }

    .asumo-coworking {
        padding: 3.2rem 0;
    }

    .asumo-coworking__title {
        font-size: 2.1rem;
    }

    .asumo-news .news-contents__itemLink {
        grid-template-columns: auto 1fr;
    }

    .asumo-news .news-contents__date {
        font-size: 1.3rem;
    }

    .asumo-news .news-contents__title {
        font-size: 1.5rem;
    }

    .access-contents__address1,
    .access-contents__address2 {
        font-size: 1.5rem;
    }

    .access-contents__address2 li {
        grid-template-columns: 6.5rem minmax(0, 1fr);
    }

    .asumo-instagram__grid {
        grid-template-columns: 1fr;
        width: 100%;
        gap: 1.5rem;
    }
}

/* ==================================
DEV-16 v42: FINAL CROSS-SITE POLISH
- fixed-header anchor offsets
- keyboard focus visibility across header/footer/content links
- reduced-motion support
- footer rhythm consistency
================================== */

html {
    scroll-padding-top: 11rem;
}

#equipment,
#timetable,
#price,
#access {
    scroll-margin-top: 11rem;
}

.header-contents__logoLink:focus-visible,
.global-nav__itemLink:focus-visible,
.asumo-quick-nav a:focus-visible,
.openBtn:focus-visible,
.footer a:focus-visible,
.contents-wrapper__buttonLink:focus-visible,
.news-contents__itemLink:focus-visible,
.post-contents__cardImageLink:focus-visible,
.post-contents__cardTitleLink:focus-visible,
.asumo-instagram-card__link:focus-visible,
.asumo-coworking__link:focus-visible {
    outline: 3px solid rgba(85, 149, 69, .38);
    outline-offset: 4px;
}

.footer a:focus-visible {
    outline-color: rgba(255, 255, 255, .72);
}

.global-nav__itemLink,
.footer a,
.asumo-quick-nav a,
.contents-wrapper__buttonLink {
    transition: color .2s ease, background-color .2s ease, opacity .2s ease, transform .2s ease;
}

.footer-service__column a,
.footer-support a,
.footer-contents__privacyLink {
    text-underline-offset: .25em;
}

.footer-service__column a:hover,
.footer-service__column a:focus-visible,
.footer-support a:hover,
.footer-support a:focus-visible,
.footer-contents__privacyLink:hover,
.footer-contents__privacyLink:focus-visible {
    text-decoration: underline;
    opacity: 1;
}

.footer-coworking a:focus-visible,
.footer-social__link:focus-visible {
    background: rgba(255, 255, 255, .10);
}

@media screen and (max-width: 576px) {
    html {
        scroll-padding-top: 13.2rem;
    }

    #equipment,
    #timetable,
    #price,
    #access {
        scroll-margin-top: 13.2rem;
    }

    .footer-contents__wrapper {
        padding-bottom: 3.2rem;
    }

    .footer-contents__bottomBox {
        padding-top: 1.8rem;
        padding-bottom: 2.4rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto !important;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}
