/* base.css from static html */
/*reset*/
html, body, div, p, h1, h2, h3, h4, ol, ul, li, img, a, figure, main, section, article, aside, footer, header{
  margin: 0;
  padding: 0;
  border: 0;
  box-sizing: border-box;
}
img{
  vertical-align: bottom;
}
ul, ol {
  list-style: none;
}
a {
  text-decoration: none;
  color: inherit;
}

/* Reset for WordPress*/
.wp-block-image,
figure.wp-block-image{
 max-width: none !important;
 box-sizing: border-box;
}
.wp-block-image a,
figure.wp-block-image a{
 display: inline-block;
 width: 100%;
}
.wp-block-image img,
figure.wp-block-image img{
 width: 100%;
 max-width: none;
 height: auto;
}
.has-global-padding{
  padding-left: 0;
  padding-right: 0;
}
*:focus {
  outline: none;
}
*:focus-visible {
  outline: 2px solid #007cba;
  outline-offset: 2px;
}

/* design scheme */
:root {
  --font-weight--medium: 400;
  --font-weight--bold: 700;
  --font-weight--extrabold: 800;

  --letter-spacing--reset: 0;
  --letter-spacing--medium: 0.05em;

  --transition-duration--short: .3s;
  --transition-duration--medium: .5s;
  --transition-duration--long: .8s;

  --font-size--default: clamp(12px, 3.5vw, 15px);
  --font-size--x-small: 0.75em;
  --font-size--small: 0.875em;
  --font-size--medium: 1em;
  --font-size--large: 1.125em;
  --font-size--x-large: 1.25em;
  --font-size--xx-large: 1.375em;

  --font-size--title--medium: 1.5em;
  --font-size--title--large: 1.875em;
  --font-size--title--x-large: 2.375em;

  --line-height--reset: 1;
  --line-height--short: 1.6;
  --line-height--medium: 1.8;
  --line-height--wide: 2;
  --line-height--wider: 2.4;

  --inner-width: 87.5%;
  --inner-width--narrow: 80%;

  --wp--style--gallery-gap-default: 1em;
  --wp--style--block-gap: 1em;

  @media (737px <= width < 1280px) {
    --font-size--default: clamp(13px, 1.5vw, 18px);
  }

  @media (737px <= width) {
    --font-size--default: clamp(13px, 1vw, 24px);
    --font-size--x-large: 1.3125em;
    --font-size--xx-large: 1.625em;

    --font-size--title--medium: 1.75em;
    --font-size--title--large: 2.5em;
    --font-size--title--x-large: 3.375em;
  }

  @media (1280px <= width) {
    --inner-width: 72.5%;
  }
}
.defs{
  display: none;
}

body{
  color: var(--wp--preset--color--contrast);
  font-size: var(--font-size--default);
  font-family: var(--wp--preset--font-family--default);
  font-weight: var(--font-weight--medium);
  line-height: var(--line-height--medium);
  letter-spacing: var(--letter-spacing--medium);
}
body *{
  scroll-margin-top: calc(var(--wp--preset--spacing--40) * 5);
  @media (width < 737px) {
    word-break: keep-all;
    overflow-wrap: anywhere;
    line-break: strict;
  }
}
.wrapper{
  background: var(--wp--preset--color--base-2);
  position: relative;
  overflow-x: clip;
}
img{
  width: 100%;
}
@media (width < 737px) {
  br.is-pc{
    display: none;
  }
}
@media (737px <= width) {
  br.is-sp{
    display: none;
  }
}
/*default style*/
:where(p){
  color: var(--wp--preset--color--contrast);
  line-height: var(--line-height--wide);
}
:where(h1, h2, h3, h4, h5, h6){
  font-weight: 400;
  font-size: normal;
  letter-spacing: var(--letter-spacing--medium);
  line-height: var(--line-height--medium);
}
/*=====================
Site Header
=====================*/
.site-header{
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  pointer-events: none;
  a, p, li, button{
    pointer-events: auto;
  }
}
.header__inner{ 
  margin: 0;
  display: flex;
  justify-content: space-between;
}
.g-nav__inner{
  position: relative;
}


/*for PC*/
@media (737px <= width) {
  .header-logo{
    margin-left: calc(var(--wp--preset--spacing--10) * 4.8);
  }
  .wp-block-site-logo img{
    margin-top: calc(var(--wp--preset--spacing--20) * 1);
    height: auto;
    width: 8.5vw;
  }
  .g-nav__inner{
    display: flex;
    align-items: flex-end
  }
  .header-main-menu{
    display: flex;
  }
  .header-main-menu{
    margin-inline: calc(var(--wp--preset--spacing--10) * 2.4);
    padding-inline: 1.7em;
    height: 3.5em;
    border-radius: 6.25em;
    background-color: var(--wp--preset--color--base-3);
    font-size: var(--font-size--medium);
    font-weight: var(--font-weight--bold);
    &>li{
      margin-top: 0;
      line-height: var(--line-height--reset);
      position: relative;
    }
    &>li:not(:first-child){
      &::before{
        content: "";
        display: block;
        width: 3px;
        height: calc(100% - 2em);
        border-left: var(--wp--preset--color--base-2) 3px dotted;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
      }
    }
    &>li>a{
      display: inline-block;
      padding: 1.25em 1.7em;
      transition: color .5s;
    }
    &>li>a:hover{
      color: var(--wp--preset--color--accent-7);
    }
    &>li>ul{
      padding: 1.5em 2em;
      width: 13.5em;
      box-sizing: border-box;
      border-top-left-radius: 0.5em;
      border-top-right-radius: 6.5em;
      border-bottom-right-radius: 6.5em;
      border-bottom-left-radius: 6.5em;
      color: var(--wp--preset--color--contrast-on-dark);
      background: var(--wp--preset--color--accent-7);
      position: absolute;
      top: 3em;
      left: 0;
      visibility: hidden;
      opacity: 0;
      z-index: -1;
      transition: opacity .5s;
    }
    &>li:hover>ul{
      visibility: visible;
      opacity: 1;
      z-index: 10;
    }
    &>li>ul>li::after{
      content: "";
      display: inline-block;
      width: 1.25em;
      height: 1.25em;
      background: url(../images/common/icon-arrow-white.svg);
      background-size: contain;
      vertical-align: -3px;
    }
    &>li>ul>li:first-child{
      margin-top: 0;
    }
    &>li>ul>li:not(:first-child){
      margin-top: 0.75em;
    }
    .has-child{
      &>a{
        &::after{
          content: "";
          display: inline-block;
          margin-left: 0.125em;
          width: 1.125em;
          height: 1.125em;
          background: url(../images/common/icon-arrow-green-bottom.svg) no-repeat center center;
          background-size: contain;        
          vertical-align: -3px;
          transition: background .5s;
        } 
      }
      &>a:hover{
        &::after{
          background: url(../images/common/icon-arrow-green-invert.svg) no-repeat center center;
          transform: rotate(0);
        } 
      }
    }
  }
  .header__cta{
    display: flex;
    border-bottom-left-radius: 2.5em;
    color: var(--wp--preset--color--contrast-on-dark);
    background: var(--wp--preset--color--accent-5);
    z-index: 100;
    li{
      margin-top: 0;
      padding-block: 0.75em;
      padding-inline: 1.375em;
      font-size: var(--font-size--small);
      font-weight: var(--font-weight--bold);
      text-align: center;
      position: relative;
    }
    &>li:not(:first-child){
      &::before{
        content: "";
        width: 3px;
        height: calc(100% - 2.75em);
        border-left: var(--wp--preset--color--contrast-on-dark) 3px dotted;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
      }
    }
    &>li>a{
      display: inline-block;
      width: 100%;
      height: 5.5em;
      align-content: center;
      position: relative;
      &::before{
        content: "";
        display: block;
        margin-bottom: 0.25em;
        margin-inline: auto;
        width: 1.75em;
        height: 1.75em;
      }
    }
    &>li.contact>a{
      &::before{
        background: url(../images/common/icon-mail-white.svg) no-repeat center bottom;
        background-size: contain;
      }
    }
    &>li.enquete>a{
      &::before{
        background: url(../images/common/icon-memo-white.svg) no-repeat center bottom;
        background-size: contain;
      }
    }
    &>li>a::after{
      content: "";
      width: 2.5em;
      height: 2.5em;
      background: url(../images/common/icon-leaf-small.svg) no-repeat center center;
      background-size: contain;
      position: absolute;
      top: 15%;
      left: -35%;
      visibility: hidden;
      opacity: 0;
    }
    &>li>a:hover{
      &::before{
        transform: rotate(-25deg);
      }
      &::after{
        visibility: visible;
        opacity: 1;
      }
    }
  }
  .g-nav__button{
    display: none;
  }
}

/*for SP*/
@media (width < 737px) {
  .header-logo{
    margin-top: 1em;
    margin-left: 1em;
    height: 16.5vw;
    width: 21vw;
    z-index: 100;
    img{
      margin-top: 1em;
    }
  }
  .g-nav{
    padding: 8em 1em 1.5em 1em;
    width: 56.5%;
    height: 96svh;
    border-radius: 2em;
    background-color: rgba(255,255,255, 0.9);
    box-shadow: 0 4px 10px rgba(108, 27, 0, 0.05);
    position: fixed;
    top: 1em;
    right: 1em;
    z-index: 5;
    visibility: hidden;
    opacity: 0;
    transform: translateX(60%);
    transition: opacity .3s, transform .5s;
  }
  .header-main-menu li{
    margin-block: 0.5em;
    font-size: var(--font-size--medium);
    font-weight: var(--font-weight--bold);
    a{
      display: inline-block;
      padding: 0.5em;
    }
    &>a::after{
      content: "";
      display: inline-block;
      margin-left: 1px;
      width: 1.125em;
      height: 1.125em;
      background: url(../images/common/icon-arrow-green.svg) no-repeat center center;
      background-size: contain;
      vertical-align: -2px;
    }
    &.has-child>a{
      padding: 0.25em 1em;
    }
  }
  .g-nav li ul{
    margin-left: 1.5em;
    &>li>a{
      padding: 0.5em;
    }
  }
  .header__cta{
    margin-top: 1em;
    &>li{
      margin-top: 1em;
      text-align: center;
    }
    &>li>a{
      margin: auto;
      padding: 1em 1.5em;
      width: 100%;
      border-radius: 6.25em;
      display: inline-block;
      color: var(--wp--preset--color--contrast-on-dark);
      background: var(--wp--preset--color--accent-5);
      font-weight: var(--font-weight--bold);
      text-align: center;
      &::before{
        content: "";
        display: inline-block;
        margin-right: 0.375em;
        width: 1em;
        height: 1em;
        background-size: contain;
        vertical-align: -2px;
      }
    }
    .contact>a::before{
      background: url(../images/common/icon-mail-white.svg) no-repeat center center;
      background-size: contain;
    }
    .enquete>a::before{
      background: url(../images/common/icon-memo-white.svg) no-repeat center center;
      background-size: contain;
    }
  }
  .g-nav__button{
    display: block;
    width: 20vw;
    height: 12.8vw;
    border: none;
    border-radius: 6.25em;
    background: var(--wp--preset--color--accent-5);
    align-content: center;
    appearance: none;
    position: absolute;
    top: 0.75em;
    right: 0.75em;
    z-index: 10;
    span{
      margin: 3px auto;
      display: block;
      height: 3px;
      width: 50%;
      border-radius: 2px;
      background: var(--wp--preset--color--contrast-on-dark);
    }
  }
}

/*when drawer open*/
.is-layer-fixed{
  position: fixed;
  z-index: -1;
  width: 100%;
  height: 100%;
}
.is-open .g-nav__wrapper{
  transform: translateX(0);
  visibility: visible;
  z-index: -100;
  opacity: 1;
}
.is-open{
  .g-nav{
    visibility: visible;
    opacity: 1;
    transform: translateX(0);
  }
  .g-nav__button{
    background: var(--wp--preset--color--contrast);
    span:first-of-type{
      transform: translateY(0.25em) rotate(30deg);
    }
    span:nth-of-type(2){
      transform: translateY(-0.25em) rotate(-30deg);
    }
  }
}
/*=============================
 Common Components
=============================*/
/* float button */
.float-button{
  width: 6em;
  position: fixed;
  bottom: 2em;
  right: 1em;
  z-index: 10000;
  transition: transform var(--transition-duration--short);
  box-sizing: border-box;
}
.float-button:hover{
  transform: translateX(-1em);
}
.float-button .wp-block-image,
.float-button figure.wp-block-image{
  margin: 0 !important;
}
@media (737px <= width < 1280px) {
  .float-button{
    width: 12.5vw;
  }
}
@media (1280px <= width) {
  .float-button{
    width: 9.5vw;
  }
}


/*Button*/
.wp-block-buttons>.wp-block-button{
  margin-block: 1em;
}
.wp-block-button{
  .wp-block-button__link{
    display: inline-block;
    padding: 0.625em 1.75em;
    min-width: 7em;
    border-radius: 6.25em;
    color: var(--wp--preset--color--contrast-on-dark);
    background: var(--wp--preset--color--accent-3);
    font-size: var(--font-size--large);
    font-weight: var(--font-weight--bold);
    text-decoration: none;
    transition: background-color 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    &:hover{
      color: var(--wp--preset--color--contrast-on-dark);
      background-color: color-mix(in srgb, var(--wp--preset--color--accent-3), #000 10%);
    }
  } 
}
.wp-block-button.is-style-orange{
  .wp-block-button__link{
    background: var(--wp--preset--color--accent-5);
    position: relative;
    &::after{
      content: "";
      display: block;
      width: 1.875em;
      height: 1.875em;
      background: url(../images/common/image-leaf.svg) no-repeat center center;
      background-size: contain;
      position: absolute;
      transform: rotate(120deg);
      top: -0.5em;
      right: -0.5em;
      opacity: 0;
    }
    &:hover{
      color: var(--wp--preset--color--contrast-on-dark);
      &::after{
        opacity: 1;
      }
    }
  }
}
.wp-block-button.is-style-icon{
  .wp-block-button__link{
    padding: 0.625em 1.5em 0.625em 1.75em;
  }
}
.wp-block-button.is-style-exlink{
  display: inline-flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0.5em;
  .wp-block-button__link{
    padding: 0;
    border-radius: 0;
    border: none;
    color: var(--wp--preset--color--contrast);
    background: transparent;
    text-align: left;
    &:hover{
      text-decoration: underline;
      text-decoration: underline;
      text-decoration-skip-ink: none;
      text-underline-offset: 0.25em;
      text-decoration-style: dashed;
    }
  }
  .tt5-exlink-icon{
    display: inline-flex;
    flex-shrink: 0;
    line-height: 0;
  }
}
/*style for icon*/
.wp-block-button.is-style-icon,
.wp-block-button.is-style-exlink{
  img, svg{
    width: 2.5em;
    height: 2.5em;
    vertical-align: middle;
  }
  .c-btn-icon-circle {
    transform-origin: center;
    transition: transform 0.7s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  }
  .c-btn-icon-arrow {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 3px;
  }
  &:hover{
    .c-btn-icon-circle {
      transform: scale(1.4);
    }
  }
}
.wp-block-button.is-style-icon{
  img, svg{
    margin-left: 0.5em;
  }
  .c-btn-icon-outline{
    fill: var(--wp--preset--color--base-3);
    opacity: 0.5;
  }
  .c-btn-icon-circle {
    fill: var(--wp--preset--color--base-3);
  }
  .c-btn-icon-arrow {
    fill: none;
    stroke: var(--wp--preset--color--accent-5);
  }
}
.wp-block-button.is-style-exlink{
  .c-btn-icon-outline{
    fill: var(--wp--preset--color--accent-6);
    opacity: 0.5;
  }
  .c-btn-icon-circle {
    fill: var(--wp--preset--color--accent-6);
  }
  .c-btn-icon-arrow {
    stroke: var(--wp--preset--color--accent-5);
  }
}

/* svg button */
.c-btn-icon-circle{
  transform-box: fill-box;
  transform-origin: center;
  transition: var(--transition-duration--short);
}
.c-btn-icon-arrow{
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3px;
  transform-box: fill-box;
  transform-origin: center;
  transition: var(--transition-duration--medium);
}
.c-btn-icon.yellow{
  .c-btn-icon-outline{
    fill: #F0D740;
    opacity: .5;
  }
  .c-btn-icon-circle{
    fill: #F0D740;
  }
  .c-btn-icon-arrow{
    stroke: #F06813;
  }
}
.c-btn-icon.blue{
  .c-btn-icon-outline{
    fill: #DCEED7;
  }
  .c-btn-icon-circle{
    fill: #1CAA9D;
  }
  .c-btn-icon-arrow{
    stroke: #ffffff;
  }
}
/*Common parts*/
.wp-block-image.image__people img{
  height: 10vw;
  width: auto;
  @media (737px <= width) {
    height: 6vw;
  }
}
.image__people.jitensha img{
  height: 13.5vw;
  width: auto;
  @media (737px <= width) {
    height: 7.5vw;
  }
}
/* カクカクアニメーション */
.image__people img{
  transform-origin: 50% 100%;
}
.image__people:nth-of-type(odd) img{
  animation: people-wiggle 1.8s steps(2, end) infinite alternate;
}
.image__people:nth-of-type(even) img{
  animation: people-wiggle-reverse 1.8s steps(2, end) infinite alternate;
}

@keyframes people-wiggle{
  0% {
    rotate: -5deg;
  }
  100% {
    rotate: 5deg;
  }
}
@keyframes people-wiggle-reverse{
  0% {
    rotate: 5deg;
  }
  100% {
    rotate: -5deg;
  }
}
/*=============================
 Subpage Header
=============================*/

.deco-leaf{
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  .image__leaf-top{
    width: 12.5vw;
    position: absolute;
    top: -1vw;
    left: 38%;
  }
  .image__leaf-left{
    width: 18.5vw;
    position: absolute;
    top: 50vw;
    left: -9.5vw;
  }
  .image__leaf-right{
    width: 34vw;
    position: absolute;
    top: 48vw;
    right: -20%;
  }
  @media (737px <= width) {
    .image__leaf-top{
      width: 7.5%;
      top: -2.5vw;
      left: 26%;
    }
    .image__leaf-left{
      width: 12.5%;
      top: 27.5vw;
      left: -6.5vw;
    }
    .image__leaf-right{
      width: 22.5%;
      top: 23.5vw;
      right: -10%;
    }
  }
}

.page-header{
  z-index: 1;
}
.page-header__wrapper{
  width: 100%;
  aspect-ratio: 960 / 502;
  background: url(../images/common/subpage_bg-sp.png) no-repeat center top;
  background-size: 100% auto;
  align-content: center;
  position: relative;
  @media (737px <= width) {
    aspect-ratio: 2400 / 854;
    background: url(../images/common/subpage_bg-pc.png) no-repeat center top;
    background-size: 100% auto;
  }
}
.page-header__back{
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  .image--sun{
    width: 8.5vw;
    position: absolute;
    top: 12.5vw;
    left: 27.5vw;
    animation: ani-rotate 1.8s steps(2, end) infinite alternate;
    @media (737px <= width) {
      width: 6.7vw;
      top: 7.5vw;
      left: 20vw;
    }
  }
  .image--bird{
    width: 4.2vw;
    position: absolute;
    top: 15vw;
    left: 75vw;
    animation: ani-pulse 1.8s steps(1) infinite;
    @media (737px <= width) {
      width: 2vw;
      top: 12.5vw;
      left: 70vw;
    }
  }
  .athletic{
    position: absolute;
    bottom: 0;
    left: 7%;
  }
  .people01{
    position: absolute;
    bottom: 12%;
    left: 27%;
  }
  .people02{
    position: absolute;
    bottom: 4%;
    left: 59%;
  }
  .people03{
    position: absolute;
    bottom: 17%;
    left: 60%;
  }
  .people04{
    position: absolute;
    bottom: 7.5%;
    left: 78%;
  }
  .people05{
    position: absolute;
    bottom: -2%;
    left:82%;
  }
  .jitensha{
    position: absolute;
    bottom: -7.5%;
    left: 40%;
  }
  @media (width < 737px) {
    .people03{
      display: none;
    }
    .people05{
      display: none;
    }
  }
  @media (737px <= width) {
    .athletic{
      bottom: 15%;
      left: 7%;
    }
    .people01{
      bottom: 20%;
      left: 25%;
    }
    .people02{
      bottom: 0;
      left: 35%;
    }
    .people03{
      bottom: 20%;
      left: 60%;
    }
    .people04{
      bottom: 7.5%;
      left: 67%;
    }
    .people05{
      bottom: 5%;
      left:80%;
    }
    .jitensha{
      bottom: 10%;
      left: 50%;
    }
  }
}
.page-title{
  margin: 0 auto 1em auto;
  color: var(--wp--preset--color--accent-1);
  font-size: var(--font-size--title--large);
  font-weight: var(--font-weight--extrabold);
  text-align: center;
  @media (737px <= width) {
    font-size: var(--font-size--title--x-large);
  }
  &>a:not(:last-of-type){
    display: none;
  }
}
/*=============================
 archive-list
=============================*/
.archive--list{
  &.container{
    margin-top: calc(var(--wp--preset--spacing--40) * 2);
    margin-inline: auto;
    padding: 0 0 calc(var(--wp--preset--spacing--40) * 2) 0;
    width: var(--inner-width);
  }
  .post-list{
    &>li{
      margin-top: 1em;
    }
    .list__item{
      padding: 2.5em;
      border-radius: 1em;
      background: var(--wp--preset--color--base-5);
      transition: var(--transition-duration--medium);
      position: relative;
      &:not(:first-child){
        margin-top: 1em;
      }
      @media (width < 737px) {
        .item__link{
          display: none;
        }
      }
      @media (737px <= width) {
        display: flex;
        align-items: center;
        justify-content: space-between;
        .item__text{
          flex: 0 0 90%;
        }
        .item__button{
          flex: 0 0 5.5%;
        }
      }
    }
    .item__date{
      color: var(--wp--preset--color--accent-2);
      font-size: var(--font-size--large);
      font-weight: var(--font-weight--bold);
    }
    .item__title{
      font-size: var(--font-size--large);
      font-weight: var(--font-weight--bold);
      line-height: var(--line-height--medium);
    }
    .item__tags{
      margin-top: 0.5em;
      display: flex;
      &>a{
        display: inline-block;
        margin-top: 0.25em;
        margin-right: 0.125em;
        padding: 0.375em 1em;
        border-radius: 6.25em;
        background: var(--wp--preset--color--base-4);
        color: var(--wp--preset--color--accent-1);
        font-size: var(--font-size--x-small);
        font-weight: var(--font-weight--bold);
      }
      &>a::before{
        content: "#";
      }
    }
    .item__title a::after{
      content: "";
      width: 100%;
      height: 100%;
      border-radius: 1em;
      position: absolute;
      top: 0;
      left: 0;
      z-index: 1;
    }
    .list__item:hover{
      background: var(--wp--preset--color--base-3);
      transform: translateY(-0.5em);
      box-shadow: 0 1em 10px rgba(0, 0, 0, 0.05);
      a{
        text-decoration: none;
      }
      .c-btn-icon-circle {
        transform: scale(1.4);
      }
    }
  }
}
/*---------------
Pagenation
---------------*/
.wp-block-query-pagination{
  margin-top: calc(var(--wp--preset--spacing--30) * 2);
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  justify-content: center;
  .page-numbers{
    display: inline-block;
    padding: 0.25em 0.5em;
    border-radius: 1em;
    color: var(--wp--preset--color--accent-3);
    font-size: var(--font-size--medium);
    font-weight: var(--font-weight--bold);
    line-height: var(--line-height--reset);
  }
  .page-numbers.current{
    color: var(--wp--preset--color--accent-1);
    background: var(--wp--preset--color--base-3);
  }
  /* アイコンは <a> 内。前へリンクの svg の向きは CSS で調整 */
  .wp-block-query-pagination-previous,
  .wp-block-query-pagination-next{
    display: inline-flex;
    align-items: center;
    gap: 0.35em;
    line-height: 0;
  }
  .wp-block-query-pagination-previous svg,
  .wp-block-query-pagination-next svg{
    width: 1.875em;
    height: 1.875em;
    vertical-align: middle;
  }
  .wp-block-query-pagination-previous svg{
    transform: rotate(180deg);
  }
  .c-btn-icon-outline{
    fill: var(--wp--preset--color--base-3);
    opacity: 0.5;
  }
  .c-btn-icon-circle {
    fill: var(--wp--preset--color--accent-3);
    transform-origin: center;
    transition: transform 0.7s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  }
  .c-btn-icon-arrow {
    fill: none;
    stroke: var(--wp--preset--color--contrast-on-dark);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 3px;
    transition: transform 0.5s ease;
  }
  .is-arrow-arrow{
    display: none
  }
  .wp-block-query-pagination-previous:hover,
  .wp-block-query-pagination-next:hover{
    .c-btn-icon-circle {
      transform: scale(1.4);
    }
  }
  @media (737px <= width) {
    .page-numbers{
      padding: 0.25em 1em;
      font-size: var(--font-size--x-large);
    }
    .wp-block-query-pagination-previous svg,
    .wp-block-query-pagination-next svg{
      width: 3em;
      height: 3em;
      vertical-align: middle;
    }
  }
}



/*----------------
Archive Grid
----------------*/
.archive--grid{
  &.container{
    margin-top: calc(var(--wp--preset--spacing--40) * 2);
    margin-inline: auto;
    padding: 0 0 calc(var(--wp--preset--spacing--40) * 2) 0;
    width: var(--inner-width);
    @media (737px <= width) {
      width: 88%;
    }
  }
  .post-list{
    margin-top: 3em;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
    gap: 3em;
    @media (1280px <= width) {
      grid-template-columns: repeat(3, 1fr);
    }
    &>li{
      position: relative;
    }
    .item__image{
      background: var(--wp--preset--color--base-3) url(../images/common/img_noimg.png) no-repeat center center;
      background-size: auto 100%;
      -webkit-mask-image: url("../images/common/shape-lens.svg");
      mask-image: url("../images/common/shape-lens.svg");
      -webkit-mask-size: contain;
      -webkit-mask-repeat: no-repeat;
      -webkit-mask-position: center;

      aspect-ratio: 667 / 443;
      overflow: hidden;
      transition: background 0.3s ease-in;
      img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.7s cubic-bezier(0.175, 0.885, 0.32, 1.275);
      }
    }
    .item__event-date{
      margin-top: 0.5em;
      color: var(--wp--preset--color--accent-1);
      font-size: var(--font-size--x-large);
      font-weight: var(--font-weight--bold);
      .event-date{
        margin-left: 0.375em;
      }
    }
    .item__box{
      display: flex;
      justify-content: space-between;
    }
    .item__text{
      flex: 0 0 calc(100% - 5.25em);
    }
    h3{
      font-size: var(--font-size--large);
      font-weight: var(--font-weight--bold);
    }
    h3 a{
      padding: 0.25em 0.375em;
      border-radius: 0.25em;
      display: inline;
      background-color: var(--wp--preset--color--base);
      -webkit-box-decoration-break: clone;
      box-decoration-break: clone;
      line-height: var(--line-height--wide);
      &::after{
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        z-index: 1;
        position: absolute;
        top: 0;
        left: 0;
      }
    }
    .item__button .item__link,
    .item__link{
      img, svg{
        width: 4em;
        height: 4em;
      }
    }
    .item__date{
      color: var(--wp--preset--color--contrast);
      font-size: var(--font-size--small);
      font-weight: var(--font-weight--bold);
    }
    &>li:hover{
      .item__image{
        background-size: auto 103%;
      }
      .item__image img{
        transform: rotate(2deg) scale(1.035);
      }
      .c-btn-icon-circle{
        transform: scale(1.4);
      }
    }
  }
}
/*=============================
 Subpage
=============================*/
main{
  background: var(--wp--preset--color--base-2);
}
.subpage.container{
  margin-block: calc(var(--wp--preset--spacing--40) * 2);
  margin-inline: auto;
  padding: 10% 6.25%;
  width: var(--inner-width);
  box-sizing: border-box;
  background-color: var(--wp--preset--color--base-3);  
  border-radius: 1em;
  @media (737px <= width) {
    padding: 6.25%;
  }
}
/*=============================
 Single Page
=============================*/
/*----------------
Layout
----------------*/
.entry.container{
  margin-block: calc(var(--wp--preset--spacing--40) * 2);
  margin-inline: auto;
  width: var(--inner-width);
}
.entry__body{
  padding: 10% 7.5%;
  border-radius: 1.5em;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  background: var(--wp--preset--color--base-3);
  @media (737px <= width) {
    padding: 7.5%;
  }
}
@media (width < 737px) {
  .entry__body{
    h1,h2,h3,h4,h5,h6{
      word-break: keep-all;
      overflow-wrap: anywhere;
      line-break: normal;
    }
  }
}
@media (1280px <= width) {
  .entry.container{
    margin-top: calc(var(--wp--preset--spacing--40) * 2);
    margin-inline: 6%;
    width: 88%;
    position: relative;
    display: flex;
    justify-content: space-between;
  }
  .entry__body{
    flex: 0 0 67.5%;
    padding: 3.5em;
  }
  .entry__sidebar{
    flex: 0 0 25%;
    height: 40vh;
    position: sticky;
    top: calc(var(--wp--preset--spacing--40) * 3);
  }
}
/*----------------
Components Style
----------------*/
.entry__title{
  margin-bottom: calc(var(--wp--preset--spacing--30) * 2);
  h1{
    color: var(--wp--preset--color--accent-1);
    font-size: var(--font-size--title--medium);
    font-weight: var(--font-weight--extrabold);
    letter-spacing: var(--letter-spacing--medium);
    line-height: var(--line-height--short);
    @media (737px <= width < 1280px) {
      line-height: var(--line-height--short);
    }
  }
  .item__event-date{
    font-size: var(--font-size--large);
    font-weight: var(--font-weight--bold);
    &::before{
      content: "開催日:";
    }
    .event-year{
      margin-right: 0.375em;
    }
  }
  .item__event-date:not(:has(*)):not(:has(text)){
    display: none;
  }
  @media (737px <= width) {
    .entry__info{
      display: flex;
      justify-content: space-between;
    }
    .entry__date{
      flex: 0 0 5.5em;
    }
  }
}
.entry__tags{
  display: flex;
  &>a{
    margin-top: 0.5em;
    margin-right: 0.375em;
    padding: 0.375em 1em;
    border-radius: 6.25em;
    background: var(--wp--preset--color--base-4);
    color: var(--wp--preset--color--accent-1);
    font-size: var(--font-size--x-small);
    font-weight: var(--font-weight--bold);
  }
  &>a::before{
    content: "#";
  }
}
.entry__date{
  color: var(--wp--preset--color--accent-1);
  font-size: var(--font-size--medium);
  font-weight: var(--font-weight--bold);
  @media (737px <= width) {
    text-align: right;
  }
}

.entry__contents, .subpage__contents{
  font-size: var(--font-size--large);
  /*Heading*/
  h2{
    margin-top: calc(var(--wp--preset--spacing--40) * 1);
    margin-bottom: 1em;
    padding: 0.5em 0.875em;
    border-radius: 0.35em;
    background: var(--wp--preset--color--base-6);
    font-size: 1.375em;
    font-weight: var(--font-weight--extrabold);
    line-height: var(--line-height--medium);
    @media (width < 737px) {
      h2{
        font-size: 1.25em;
      }
    }
  }
  h3{
    margin-top: calc(var(--wp--preset--spacing--30) * 1);
    margin-bottom: 1em;
    padding-block: 1em;
    border-block: var(--wp--preset--color--accent-2) 3px dotted;
    font-size: 1.125em;
    font-weight: var(--font-weight--extrabold);
    line-height: var(--line-height--medium);
  }
  h4{
    margin-top: 2em;
    padding-left: 0.75em;
    font-weight: var(--font-weight--bold);
    line-height: var(--line-height--medium);
    position: relative;
    &::before{
      content: "";
      display: block;
      width: 4px;
      height: calc(100% - 0.75em);
      border-radius: 1em;
      background: var(--wp--preset--color--accent-5);
      position: absolute;
      top: 0.4em;
      left: 0;
    }
  }
  h5, h6{
    margin-top: 1.25em;
    margin-top: 0.75em;
    font-size: 1em;
  }
  h2.is-style-small,
  h3.is-style-small,
  h4.is-style-small{
    margin: 1em 0 0.25em 0;
    padding: 0 0 0 1.25em;
    border: none;
    background: transparent;
    font-size: 1em;
    font-weight: var(--font-weight--bold);
    position: relative;
    &::before{
      content: "";
      display: block;
      width: 0.75em;
      height: 0.75em;
      border-radius: 50%;
      background: var(--wp--preset--color--accent-7);
      position: absolute;
      top: 50%;
      left: 0;
      transform: translateY(-50%);
    }
  }
  /*Text*/
  p{
    line-height: var(--line-height--wide);
  }
  p+p{
    margin-top: 0.5em;
  }
  strong{
    font-weight: var(--font-weight--bold);
  }
  em{
    font-style: normal;
    text-decoration: underline;
    text-decoration-skip-ink: none;
    text-underline-offset: -0.125em;
    text-decoration-color: var(--wp--preset--color--base-2);
    text-decoration-thickness: 0.5em;
  }
  .has-small-font-size{
    font-size: 0.875em !important;
  }
  .has-medium-font-size{
    font-size: 1em !important;
  }
  .has-large-font-size{
    font-size: 1.125em !important;
  }
  .has-x-large-font-size{
    font-size: 1.375em !important;
  }
  .has-xx-large-font-size{
    font-size: 1.5em !important;
  }
  /*List*/
  ul,ol{
    margin-top: 0.5em;
    margin-bottom: 1em;
  }
  ul{
    &>li::before{
      content: "・";
    }
  }
  ol{
    counter-reset: contents-list-item;
    &>li{
      counter-increment: contents-list-item;
    }
    &>li::before{
      content: counter(contents-list-item)".";
      margin-right: 0.125em;
    }
  }
  /*Image*/
  figure{
    margin-block: var(--wp--preset--spacing--20);
    img{
      border-radius: 0.75em;
      overflow: clip;
    }
  }
  /*Quote*/
  blockquote{
    margin-block: var(--wp--preset--spacing--20);
    padding: 1em;
    font-size: 1em;
    font-weight: var(--font-weight--medium);
    font-style: italic;
  }
  /*Group*/
  .wp-block-group.is-style-remark{
    margin-top: 1em;
    padding: 0.75em 1em;
    border-radius: 0.5em;
    background: var(--wp--preset--color--base);
  }
  /*Photo Gallery*/
  .wp-block-gallery{
    margin-block: var(--wp--preset--spacing--30);
    figure{
      aspect-ratio: 4/3;
    }
  }
  /*Column*/
  .wp-block-column{
    margin-block: var(--wp--preset--spacing--20);
  }
  /*Link*/
  a{
    text-decoration: underline;
    text-decoration-skip-ink: none;
    text-underline-offset: 0.25em;
    text-decoration-style: dashed;
    &:hover{
      color: var(--wp--preset--color--accent-5);
    }
  }
  /* hr */
  .wp-block-separator{
    margin-block: 1em;
    color: var(--wp--preset--color--base);
  }
}
/*アイキャッチ画像*/
.wp-block-post-featured-image{
  margin-top: var(--wp--preset--spacing--40);
}
/*----------------
Related Link
----------------*/
.related-link{
  margin-top: calc(var(--wp--preset--spacing--40) * 1) !important;
  font-weight: var(--font-weight--bold);
  .wp-block-post-terms,
  .post-navigation-top,
  .nav-top{
    padding: 0.5em 1.5em;
    width: 7.5em;
    box-sizing: content-box;
    border-inline: var(--wp--preset--color--accent-4) 3px dotted;
    font-size: var(--font-size--medium);
    text-align: center;
    &>a:not(:last-of-type){
      display: none;
    }
    span{
      display: none;
    }
  }
  .wp-block-post-navigation-link,
  .nav-prev, .nav-next{
    font-size: 1em;
  }
  @media (width < 737px) {
    .wp-block-post-terms,
    .nav-top{
      display: none;
    }
    .wp-block-post-navigation-link,
    .nav-prev, .nav-next{
      padding-block: 1em;
    }
    .post-navigation-link-next,
    .nav-next{
      border-top: var(--wp--preset--color--accent-4) 3px dotted;
    }
  }
  @media (737px <= width) {
    padding-top: 1em;
    border-top: var(--wp--preset--color--accent-4) 3px dotted;
    .wp-block-post-navigation-link,
    .nav-prev, .nav-next{
      flex:0 0 calc((100% - 15em) / 2);
    }
    /*for post page only*/
    &>nav{
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
  }
  .wp-block-post-navigation-link,
  .nav-prev, .nav-next{
    display: flex;
    align-items: center;
    position: relative;
    a{
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
      padding-bottom: 0.375em;
    }
    a::after{
      content: "";
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      z-index: 1;
    }
    .arrow-icon{
      flex: 0 0 2.5em;
      align-content: center;
      svg{
        width: 2.5em;
        height: 2.5em;
      }
    }
  }
  .post-navigation-link-previous,
  .nav-prev{
    a{
      margin-left: 1em;
    }
    .arrow-icon svg{
      transform: rotate(180deg);
    }
  }
  .post-navigation-link-next{
    justify-content: space-between;
    a{
      margin-right: 1em;
    }
    .arrow-icon{
      position: relative;
      z-index: 0;
    }
  }
  .wp-block-post-navigation-link:hover,
  .nav-prev:hover, .nav-next:hover{
    .c-btn-icon-circle{
      transform: scale(1.4);
    }
  }
}
.related-link.subpage{
  justify-content: space-between;
  width: 100%;
  .nav-top{
    a{
      text-align: center;
    }
  }
  .nav-next{
    justify-content: flex-end;
    a{
      margin-right: 1em;
    }
  }
  li{
    margin-top: 0;
    margin-left: 0;
  }
  li::before{
    content: "";
  }
  a{
    display: block;
    text-align: left;
    text-decoration: none;
  }
  @media (737px <= width) {
    display: flex;
  }
}
/* Photo Gallery */
.gallery{
  .wp-block-image{
    aspect-ratio: 4/3;
  }
}
.pswp {
  --pswp-bg: var(--wp--preset--color--base);
  --pswp-icon-color: var(--wp--preset--color--contrast);
  --pswp-icon-color-secondary: var(--wp--preset--color--base);
  --pswp-icon-stroke-color: var(--wp--preset--color--contrast);
}
/*----------------
Sidebar
----------------*/
.entry__sidebar{
  h2{
    color: var(--wp--preset--color--accent-1);
    font-size: var(--font-size--xx-large);
    font-weight: var(--font-weight--extrabold);
  }
  .recent-entry-list{
    .list__item{
      margin-top: 1em;
      padding-bottom: 1em;
      border-bottom: var(--wp--preset--color--accent-4) 3px dotted;
      position: relative;
      &:hover{
        a{
          text-decoration: underline;
        }
        .c-btn-icon-circle{
          transform: scale(1.4);
        }
      }
    }
    .item__box{
      display: flex;
      align-items: center;
      justify-content: space-between;
    }
    .item__text{
      margin-top: 0.5em;
      margin-right: 1em;
    }
    h3{
      line-height: var(--line-height--medium);
    }
    .item__button{
      flex: 0 0 3em;
      svg{
        width: 3em;
        height: 3em;
      }
    }
    /* カード全体のクリック領域は「タイトルリンク」基準（ボタン用 a と二重にしない） */
    .item__text a::after{
      content: "";
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
    }
  }
  .wp-block-post-date{
    padding: 0 0.5em;
    display: inline-block;
    border-radius: 4px;
    color: var(--wp--preset--color--accent-2);
    background: var(--wp--preset--color--base-6);
    font-size: var(--font-size--small);
    font-weight: var(--font-weight--bold);
  }
  h3{
    margin-top: 0.5em;
    font-size: var(--font-size--medium);
  }
  @media (width < 737px) {
    margin-top: calc(var(--wp--preset--spacing--30) * 2);
  }
  @media (737px <= width < 1280px) {
    margin-top: var(--wp--preset--spacing--40);
    .recent-entry-list{
      .list__item{
        padding: 1.5em 2.5em;
        border-bottom: none;
        border-radius: 1em;
        background: var(--wp--preset--color--base-5);
      }
      .item__button{
        img, svg{
          width: 4.7em;
          height: 4.7em;
        }
      }
    }
  }
}

/*=============================
 Footer
=============================*/
/*----------------
Footer CTA
----------------*/
footer{
  background: var(--wp--preset--color--base-2);
}
.footer__contact{
  height: 50vw;
  align-content: center;
  background: var(--wp--preset--color--base-2);
  width: 100%;
  overflow-x: clip;
  position: relative;
  z-index: 1;
  svg{
    background: transparent;
  }
  .image-mountain{
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
  }
  .image-river{
    position: absolute;
    left: 0;
    top: 30%;
    z-index: 2;
  }
  @media (width < 737px) {
    padding-top: var(--wp--preset--spacing--40);
    .bg-image{
      left: -37.5%;
      width: 175%;
    }
  }
  @media (737px <= width < 1280px) {
    height: 30vw;
    .bg-image{
      width: 100%;
    }
    .image-river{
      left: 0;
      top: 25%;
      z-index: 2;
    }
  }
  @media (1280px <= width) {
    height: 30vw;
    .bg-image{
      width: 100%;
    }
    .image-river{
      left: 0;
      top: 25%;
      z-index: 2;
    }
  }
}
.frontpage .footer__contact{
  background: linear-gradient(
    180deg, 
    var(--wp--preset--color--base-3) 0%, 
    var(--wp--preset--color--base-3) calc(100% - 4.5em),
    var(--wp--preset--color--base-2) calc(100% - 4.5em),
    var(--wp--preset--color--base-2) 100%
  );
  @media (737px <= width) {
    background: linear-gradient(
      180deg, 
      var(--wp--preset--color--base-3) 0%, 
      var(--wp--preset--color--base-3) 70%,
      var(--wp--preset--color--base-2) 70%,
      var(--wp--preset--color--base-2) 100%
    );
  }
}
.footer__contact__textbox{
  @media (737px <= width < 1280px) {
    margin-top: -1em;
  }
  @media (1280px <= width) {
    margin-top: -2.5em;
  }
}
.footer__contact__catch{
  color: var(--wp--preset--color--contrast-on-dark);
  font-size: var(--font-size--small);
  font-weight: var(--font-weight--extrabold);
  line-height: var(--line-height--reset);
  letter-spacing: var(--letter-spacing--medium);
  text-align: center;
  position: relative;
  z-index: 10;
  @media (737px <= width < 1280px) {
    font-size: var(--font-size--medium);
  }
  @media (1280px <= width) {
    font-size: var(--font-size--x-large);
  }
}
.footer__contact__telnumber{
  color: var(--wp--preset--color--contrast-on-dark);
  font-size: var(--font-size--x-large);
  font-weight: var(--font-weight--extrabold);
  letter-spacing: var(--letter-spacing--medium);
  text-align: center;
  position: relative;
  z-index: 10;
  &::before{
    content: '';
    display: inline-block;
    margin-right: 0.125em;
    width: 0.8125em;
    height: 0.8125em;
    background: url(../images/common/icon-phone-white.svg) no-repeat center center;
    background-size: contain;
    vertical-align: -2px;
  }
  @media (737px <= width < 1280px) {
    font-size: var(--font-size--title--medium);
  }
  @media (1280px <= width) {
    font-size: var(--font-size--title--large);
  }
}
/*decration parts*/
.footer__contact .el-deco{
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  .image__people{
    position: absolute;
  }
  .people01{
    bottom: 5%;
    left: 20%;
    z-index: 10;
  }
  .people02{
    bottom: 7.5%;
    left: 50%;
    z-index: 10;
  }
  .people03{
    bottom: -5%;
    right: 18%;
    z-index: 10;
  }
  .image__building{
    width: 45vw;
    position: absolute;
    bottom: 7.5%;
    right: -1.5%;
    z-index: 1;
  }
  .image__tree01{
    width: 8.2vw;
    position: absolute;
    bottom: 7%;
    right: 7.5%;
    z-index: 5;
  }
  .image__tree02{
    width: 8.2vw;
    position: absolute;
    bottom: 2.5%;
    right: -3%;
    z-index: 5;
  }
  @media (737px <= width) {
    .people01{
      bottom: 10%;
      left: 10%;
    }
    .people02{
      bottom: 15%;
      left: 50%;
    }
    .people03{
      bottom: 0;
      right: 25%;
    }
    .image__building{
      width: 36vw;
      bottom: 11.5%;
      right: 5%;
    }
    .image__tree01{
      width: 5vw;
      bottom: 8%;
      right: 12.5%;
    }
    .image__tree02{
      width: 5vw;
      bottom: 5%;
      right: 5%;
    }
  }
}
/*-----------------
Footer Main
-----------------*/
.footer__lower{
  margin-top: var(--wp--preset--spacing--40);
  background: var(--wp--preset--color--base-2);
}
.footer__lower__inner{
  margin-inline: 6.25%;
  display: flex;
  justify-content: center;
  @media (width < 737px) {
    flex-direction: column;
  }
  @media (737px <= width < 1280px) {
    flex-wrap: wrap;
    font-size: 0.875em;
    align-items: center;
    row-gap: var(--wp--preset--spacing--20);
  }
  @media (1280px <= width) {
    align-items: center;
  }
}
@media (1280px <= width) {
  .footer__owner-info{
    flex: 0 0 25%;
  }
  .footer__btn--contact{
    flex: 0 0 15em;
  }
}
.footer__owner-info{
  display: flex;
  align-items: center;
}
.footer__logo{
  flex: 0 0 7.5em;
  height: auto;
}
.footer__address{
  margin-left: var(--wp--preset--spacing--30);
  flex: 0 0 calc(100% - 7.5em);
  address{
    font-style: normal;
  }
  .telnumber{
    font-size: var(--font-size--large);
    font-weight: var(--font-weight--extrabold);
    &::before{
      content: '';
      display: inline-block;
      margin-right: 0.125em;
      width: 0.875em;
      height: 0.875em;
      background: url(../images/common/icon-phone-brown.svg);
      background-size: contain;
      vertical-align: -1px;
    }
  }
  .sns-icon{
    margin-top: -0.25em;
    li{
      display: inline-block;
      height: 1.5em;
    }
    svg{
      width: 1.5em;
      height: 100%;
      fill: currentColor;
    }
  }
  @media (width < 737px) {
    width: 100%;
    .footer__address{
      flex: 0 0 calc(100% - 7.5em);
    }
  }
}
.footer__megamenu{
  @media (width < 737px) {
    margin-top: 1em;
    margin-inline: 0.5em;
  }
  @media (737px <= width) {
    margin-inline: var(--wp--preset--spacing--20);
    display: grid;
    grid-template-columns: repeat(3, max-content); 
    align-items: start;
    .megamenu__item{
      padding: 0.5em 1.7em;
      border-left: var(--wp--preset--color--accent-4) 3px dotted;
    }
    .megamenu__item:last-of-type{
      border-right: var(--wp--preset--color--accent-4) 3px dotted;
    }
  }
  a{
    font-size: var(--font-size--xx-large);
    font-weight: var(--font-weight--extrabold);
    &::after{
      content: '';
      display: inline-block;
      margin-left: 0.25em;
      width: 1.125em;
      height: 1.125em;
      background: url(../images/common/icon-arrow-green.svg) no-repeat center center;
      background-size: contain;
      vertical-align: -3px;
    }
    @media (737px <= width) {
      font-size: var(--font-size--medium);
    }
    @media (width < 737px) {
      display: inline-block;
      padding: 0.5em 0.75em;
      width: 100%;
      &::after{
        width: 1.5em;
        height: 1.5em;
        vertical-align: -5px;
      }
    }
  }
  ul>li{
    margin-top: 0;
    @media (737px <= width) {
      &:not(:first-child){
        margin-top: 0.375em;
      }
    }
  }
  @media (width < 737px) {
    ul>li{
      border-top: var(--wp--preset--color--accent-4) 3px dotted;
    }
  }
  @media (737px <= width) {
    .has-child{
      display: flex;
      justify-content: flex-start;
    }
  }
  .has-child>a{
    &::after{
      content: none;
    }
  }
  .submenu{
    margin-left: 1em;
  }
  @media (width < 737px) {
    .submenu{
      display: flex;
      &>li{
        margin-right: 1em;
        border-top: none;
      }
      a{
        padding: 0 0 0.5em 0;
      }
    }
  }
}
@media (width < 737px) {
  .footer__btn--contact{
    text-align: center;
  }
}
.footer__btn--contact .wp-block-button{
  @media (width < 737px) {
    width: 100%;
  }
}
.footer__btn--contact .wp-block-button .wp-block-button__link{
  background: var(--wp--preset--color--accent-5);
  &::before{
    content: '';
    display: inline-block;
    margin-right: 0.375em;
    width: 1.125em;
    height: 1.125em;
    background: url(../images/common/icon-mail-white.svg) no-repeat center center;
    background-size: contain;
    vertical-align: -0.25em;
  }
  &:hover{
    &::before{
      transform: rotate(-15deg);
    }
  }
  @media (width < 737px) {
    padding: 1em;
    width: 62.5%;
  }
}
.footer__rights{
  margin-top: var(--wp--preset--spacing--30);
  margin-inline: auto;
  padding-bottom: var(--wp--preset--spacing--40);
  width: 80%;
  display: flex;
  justify-content: space-between;
  p{
    font-size: var(--font-size--small);
  }
}
/*==================
Subpage Components
==================*/
.l-table{
  .wp-block-columns{
    gap: 0;
    font-size: var(--font-size--medium);
  }
  .wp-block-column{
    margin: 0;
  }
  .wp-block-column:first-of-type{
    padding: 0.375em 0.875em;
    font-weight: var(--font-weight--bold);
    background: var(--wp--preset--color--base);
  }
  .wp-block-column:last-of-type{
    padding: 0.375em 0.75em;
  }
  @media (737px <= width) {
    .wp-block-columns{
      margin: 0;
      border-top: var(--wp--preset--color--contrast) 1px solid;
      width: 100%;
      display: table;
      table-layout: fixed;
    }
    .wp-block-columns:last-of-type{
      border-bottom: var(--wp--preset--color--contrast) 1px solid;
    }
    .wp-block-column{
      margin: 0;
      display: table-cell;
      box-sizing: border-box;
    }
    .wp-block-column:first-of-type{
      padding: 1em;
      width: 10.5em;
    }
    .wp-block-column:last-of-type{
      padding: 1em 1.5em;
    }
  }
}
/*==================
Subpage for appendix
==================*/
.subpage__info{
  h2{
    margin-top: 3em;
    margin-bottom: 0.75em;
    padding: 0;
    border: none;
    color: var(--wp--preset--color--accent-1);
    background: transparent;
    font-size: var(--font-size--title--medium);
    font-weight: var(--font-weight--extrabold);
  }
  h2:first-of-type{
    margin-top: 0;
  }
}

/*==================
ACCESS
==================*/
.access__infomation{
  gap: var(--wp--preset--spacing--40);
  .wp-block-column{
    flex-basis: 50%;
  }
  .access__info__map{
    border-radius: 1em;
    overflow: hidden;
    iframe{
      width: 100%;
      height: 100%;
    }
  }
  h3{
    margin: 0;
    padding: 0;
    border: none;
    font-size: var(--font-size--x-large);
  }
  li::before{
    content: none !important;
  }
}
.access__other-parks{
  h3{
    margin: 0;
    padding: 0;
    border: none;
  }
  figure img{
    transition: transform 0.7s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  }
  figure:hover{
    img{
      transform: scale(1.035);
    }
  }
  .item__tags{
    &>li{
      display: inline-block;
      padding: 0.375em 1em;
      border-radius: 6.25em;
      color: var(--wp--preset--color--accent-1);
      background: var(--wp--preset--color--base-4);
      font-size: 0.625em;
      font-weight: var(--font-weight--bold);
    }
    &>li::before{
      content: "#" !important;
    }
  }
  .item__infomation{
    li::before{
      content: none !important;
    }
  }
}
/*==================
Form
==================*/
.form__wrapper{
  h2:first-of-type{
    margin-top: 0;
  }
}

/*====================
Form Components
====================*/
.c-form{
  dt label{
    cursor: pointer;
  }
  .smf-item{
  }
  .smf-item__col.smf-item__col--label{
    padding: 0.5em 1em;
    background: var(--wp--preset--color--base);
    font-weight: var(--font-weight--bold);
  }
  .smf-item__col.smf-item__col--controls{
    padding: 0.75em 0;
  }
  .required{
    .smf-item__label__text::after{
      content: "必須";
      display: inline-block;
      margin-left: 0.35em;
      padding: 0.12em 0.45em;
      border-radius: 0.35em;
      font-size: 0.72em;
      font-weight: var(--wp--preset--font-weight--bold);
      line-height: 1.2;
      letter-spacing: 0.02em;
      color: var(--wp--preset--color--contrast-on-dark);
      background: var(--wp--preset--color--accent-5);
      vertical-align: 0.15em;
    }
  }
  .option{
    .smf-item__label__text::after{
      content: "任意";
      display: inline-block;
      margin-left: 0.35em;
      padding: 0.12em 0.45em;
      border: currentColor 1px solid;
      border-radius: 0.35em;
      font-size: 0.72em;
      font-weight: var(--wp--preset--font-weight--bold);
      line-height: 1.2;
      letter-spacing: 0.02em;
      vertical-align: 0.15em;
    }
  }
  input[type="text"],
  input[type="tel"],
  input[type="email"],
  textarea.smf-textarea-control__control{
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-height: 2.75rem;
    margin: 0;
    padding: 0.65em 0.85em;
    border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 28%, transparent);
    border-radius: 0.65em;
    background: var(--wp--preset--color--base-3);
    color: var(--wp--preset--color--contrast);
    font-family: inherit;
    font-size: clamp(16px, 1vw, 24px);
    line-height: var(--wp--preset--line-height--medium);
    transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    background-color 0.2s ease;
  }
  input[type="checkbox"]{
    width: 1.15em;
    height: 1.15em;
    min-height: 0;
    margin: 0;
    accent-color: var(--wp--preset--color--accent-5);
    flex-shrink: 0;
  }
  textarea.smf-textarea-control__control{
    display: block;
    min-height: max(10em, 12rem);
    resize: vertical;
    line-height: var(--wp--preset--line-height--wide);
  }
  input::placeholder,
  textarea::placeholder{
    color: color-mix(in srgb, var(--wp--preset--color--contrast) 45%, transparent);
  }
  input[type="text"]:hover:not(:disabled),
  input[type="tel"]:hover:not(:disabled),
  input[type="email"]:hover:not(:disabled),
  textarea:hover:not(:disabled){
    border-color: color-mix(in srgb, var(--wp--preset--color--accent-1) 45%, var(--wp--preset--color--contrast) 35%);
  }
  input[type="text"]:focus,
  input[type="tel"]:focus,
  input[type="email"]:focus,
  textarea:focus{
    outline: none;
    border-color: var(--wp--preset--color--accent-3);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--wp--preset--color--accent-3) 35%, transparent);
    background: var(--wp--preset--color--white);
  }
  @media (737px <= width) {
    .smf-item{
      display: flex;
      border-top: var(--wp--preset--color--contrast) 1px solid;
    }
    .smf-item.last-item{
      border-bottom: var(--wp--preset--color--contrast) 1px solid;
    }
    .smf-item__col.smf-item__col--label{
      padding: 1.5em 1em;
      flex: 0 0 14em;
      background: var(--wp--preset--color--base);
    }
    .smf-item__col.smf-item__col--controls{
      padding: 1.5em 2em;
      flex: 0 0  calc(100% - 14em);
    }
    input[type="text"],
    input[type="tel"],
    input[type="email"]{
      max-width: 24em;
    }
  }
}
.smf-control-description{
  margin-top: 0.45em;
  margin-bottom: 0;
  font-size: var(--wp--preset--font-size--small);
  line-height: var(--wp--preset--line-height--medium);
  color: color-mix(in srgb, var(--wp--preset--color--accent-1) 55%, var(--wp--preset--color--contrast));
}

.c-form__actions{
  margin-top: 2em;
  text-align: center;
  .smf-item{
    border-top: none;
    display: block;
  }
}
.smf-checkbox-control{
  padding: 0.25em 0.5em;
  border-radius: 0.25em;
  display: inline-flex;
  align-items: center !important;
  font-size: var(--font-size--large);
  transition: background-color 0.15s ease;
  &:hover{
    background-color: color-mix(in srgb, var(--wp--preset--color--base) 85%, transparent);
  }
}
.smf-action{
  margin-top: var(--wp--preset--spacing--20);
  text-align: center;
}
.smf-action .smf-button-control__control {
  appearance: none;
  padding: 0.75em 2.375em 0.875em 2.375em;
  border: 0;
  border: none;
  border-radius: 6.25em;
  color: var(--wp--preset--color--contrast-on-dark);
  background: var(--wp--preset--color--accent-5);
  font-size: var(--font-size--x-large);
  font-weight: var(--font-weight--bold);
  letter-spacing: var(--letter-spacing--medium);
  cursor: pointer;
  &::before{
    content: '';
    display: inline-block;
    margin-right: 0.375em;
    width: 1.125em;
    height: 1.125em;
    background: url(../images/common/icon-mail-white.svg) no-repeat center center;
    background-size: contain;
    vertical-align: -0.25em;
  }
  &::after{
    content: "";
    display: block;
    width: 1.875em;
    height: 1.875em;
    background: url(../images/common/image-leaf.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    transform: rotate(120deg);
    top: -0.5em;
    right: -0.5em;
    opacity: 0;
  }
  &:hover{
    &::before{
      transform: rotate(-15deg);
    }
    &::after{
      opacity: 1;
    }
  }
  &:hover, &:active{
  }
}
.form__lead{
  margin-bottom: 1.5em;
  font-weight: var(--font-weight--bold);
}
.grecaptcha-badge { 
  overflow: hidden; 
  transition: all 0.3s ease;
  position: absolute;
  left: 50%;
  bottom: 40px !important;
  transform: translateX(-50%) scale(0.8);
  z-index: 10000;
}


.thanks__tel-number{
  margin-block: 0.75em;
  font-size: var(--font-size--xx-large);
  font-weight: var(--font-weight--extrabold);
}
/*===============
404 PAGE
===============*/
.site-guide{
  h2{
    margin-bottom: 0.75em;
    color: var(--wp--preset--color--accent-1);
    font-size: var(--font-size--title--medium);
    font-weight: var(--font-weight--extrabold);
    line-height: var(--line-height--short);
  }
  h3{
    margin-top: 1.5em;
    font-size: var(--font-size--x-large);
    font-weight: var(--font-weight--extrabold);
    line-height: var(--line-height--medium);
  }
  p{
    font-size: var(--font-size--x-large);
  }
  @media (737px <= width) {
    h2{
      line-height: var(--line-height--medium);
    }
  }
}
.site-guide__list{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(240px, 100%), 1fr));
  gap: 1.25em;
  &>li{
    a{
      display: inline-block;
      padding: 0.875em 1.5em;
      width: 100%;
      box-sizing: border-box;
      border: var(--wp--preset--color--accent-7) 1px solid;
      border-radius: 6.25em;
      background: url(../images/common/icon-arrow-green.svg) no-repeat right 1em center;
      background-size: 1em auto;
      font-size: var(--font-size--x-large);
      font-weight: var(--font-weight--bold);
      transition: background .5s;
    }
    a:hover{
      color: var(--wp--preset--color--base-3);
      background: var(--wp--preset--color--accent-7) url(../images/common/icon-arrow-white.svg) no-repeat right 1em center;;
    }
  }
}
.wp-block-search__inside-wrapper{
  margin-top: 1em;
}
.wp-block-search{
  .wp-block-search__input{
    border: var(--wp--preset--color--contrast) 1px solid;
  }
  .wp-element-button, .wp-block-button__link{
    background: var(--wp--preset--color--contrast);
  }
}

@media (width < 737px) {
  .wp-block-search__inside-wrapper{
  }
  .wp-block-search{
    width: 100%;
    .wp-block-search__input{
      border-top-left-radius: 6.25em;
      border-bottom-left-radius: 6.25em;
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
      flex: 0 0 calc(100% - 4.5em);
      box-sizing: border-box;
      line-height: 1;
    }
    .wp-element-button, .wp-block-button__link{
      margin-left: 0;
      padding: 1em 0.5em 1em 0.25em;
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
      border-top-right-radius: 6.25em;
      border-bottom-right-radius: 6.25em;
      flex: 0 0 4.5em;
      box-sizing: border-box;
      line-height: 1.5;
    }
  }
}
.return-button{
  margin-top: calc(var(--wp--preset--spacing--40) * 1);
}
.noresult-section{
  h2{
    margin-bottom: 0.25em;
    color: var(--wp--preset--color--accent-1);
    font-size: var(--font-size--title--medium);
    font-weight: var(--font-weight--extrabold);
    line-height: var(--line-height--short);
  }
  p{
    font-size: var(--font-size--x-large);
  }
  @media (737px <= width) {
    h2{
      line-height: var(--line-height--medium);
    }
  }
}
.search-area{
  h3{
    font-size: var(--font-size--x-large);
    font-weight: var(--font-weight--extrabold);
  }
}

/*animation*/
.u-anime-sunshine img{
  animation: ani-rotate 1.2s steps(2, end) infinite alternate;
}
.u-anime-pulse img{
  animation: ani-pulse 2s steps(1) 1.8s infinite;
}
@keyframes ani-rotate{
  0% {
    rotate: 0;
  }
  100% {
    rotate: 30deg;
  }
}
@keyframes ani-pulse {
  0%   { opacity: 1; }
  50%  { opacity: 0; }
  100% { opacity: 1; }
}
/* subpage-animation: 葉の初期傾きは CSS、GSAP が 0 へ戻す */
figure.jsLeafScroll.js-leaf-tilt--neg{
  transform: rotate(45deg) translateX(27px);
  transform-origin: center center;
}
figure.jsLeafScroll.js-leaf-tilt--pos{
  transform: rotate(-45deg) translateX(-27px);
  transform-origin: center center;
}

/*decoration parts control*/
.aria-hidden{
  pointer-events: none;
}