@charset "UTF-8";
/* =======================================
	このCSSファイルはSassにて生成されています。
	This file is created by Sass Files.
=========================================*/
/***
  A (more) Modern CSS Reset
***/
/* Box sizing rules */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Prevent font size inflation */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  -ms-text-size-adjust: none;
      text-size-adjust: none;
}

/* Remove default margin in favour of better control in authored CSS */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list] {
  list-style: none;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  line-height: 1.5;
}

/* Set shorter line heights on headings and interactive elements */
h1,
h2,
h3,
h4,
button,
input,
label {
  line-height: 1.1;
}

/* Balance text wrapping on headings */
h1,
h2,
h3,
h4 {
  text-wrap: balance;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  color: currentColor;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font-family: inherit;
  font-size: inherit;
}

/* Make sure textareas without a rows attribute are not tiny */
textarea:not([rows]) {
  min-height: 10em;
}

/* Anything that has been anchored to should have extra scroll margin */
:target {
  scroll-margin-block: 5ex;
}

/* ---------------------------------------
	Basic Settings
-----------------------------------------*/
@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}
@media screen and (width > 768px) {
  html {
    scroll-padding-top: 170px;
  }
}
@media screen and (width <= 768px) {
  html {
    scroll-padding-top: 60px;
  }
}
html body {
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  font-family: var(--font-zenmaru);
  background-color: var(--cl-bg);
  color: var(--cl-text);
  line-height: 1.5;
  display: grid;
  grid-template: "header" auto "contents" 1fr "footer" auto/1fr;
  min-height: 100dvh;
}
@media screen and (width > 768px) {
  html body {
    font-size: 1.25rem;
  }
}
@media screen and (width <= 768px) {
  html body {
    font-size: 1rem;
  }
}
html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6 {
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
  text-wrap: inherit;
}
html body address,
html body blockquote,
html body cite,
html body em,
html body i,
html body q,
html body s,
html body strike,
html body strong,
html body sub {
  font-style: normal;
}
html body p {
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
html body img {
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  font-size: 0;
  line-height: 0;
}
html body a {
  color: var(--cl-link);
  text-decoration: none;
  word-break: break-all;
  -webkit-transition: var(--transition);
  transition: var(--transition);
}
html body a:hover, html body a:link, html body a:visited, html body a:active {
  text-decoration: none;
}
@media (any-hover: hover) {
  html body a:hover {
    color: var(--cl-link-hover);
    opacity: var(--opacity);
  }
}
html body ul,
html body ol {
  list-style: none;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
html body button {
  border-color: transparent;
}
@media screen and (width <= 768px) {
  html body .pc-only {
    display: none;
  }
}
@media screen and (width > 768px) {
  html body .sp-only {
    display: none;
  }
}
html body .d-inline-block {
  display: inline-block;
}
html body .cl-primary {
  color: var(--cl-primary);
}
html body .cl-secondary {
  color: var(--cl-secondary);
}
html body .cl-accent {
  color: var(--cl-accent);
}
html body .cl-gray {
  color: var(--cl-gray);
}
html body .bg-primary {
  background-color: var(--cl-primary);
  color: var(--cl-white);
}
html body .bg-secondary {
  background-color: var(--cl-secondary);
}
html body .bg-accent {
  background-color: var(--cl-accent);
  color: var(--cl-white);
}
html body :focus-visible {
  outline: 2px solid var(--cl-primary);
  outline-offset: 2px;
}
html body .text-center {
  text-align: center;
}
html body .text-left {
  text-align: left;
}
html body .text-right {
  text-align: right;
}

:root {
  --cl-primary: #2db600;
  --cl-secondary: #f39800;
  --cl-accent: #e6000a;
  --cl-bg: #fff;
  --cl-text: #787878;
  --cl-link: #787878;
  --cl-link-hover: #787878;
  --cl-gray: #ccc;
  --cl-white: #fff;
  --font-zenmaru: "Zen Maru Gothic", sans-serif;
  --font-noto-sans: "Noto Sans JP", sans-serif;
  --font-awesome: "Font Awesome 7 Free";
  --scale: 1.1;
  --transition: 0.3s ease-in-out;
  --opacity: 0.8;
}

/* ---------------------------------------
	Header
-----------------------------------------*/
.l-header {
  grid-area: header;
  background-color: var(--cl-white);
  position: sticky;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 10;
  -webkit-transition: var(--transition);
  transition: var(--transition);
}
.l-header__wrapper {
  margin-inline: auto;
  display: grid;
  width: 100%;
}
@media screen and (width > 992px) {
  .l-header__wrapper {
    grid-template-areas: "logo navi" "logo contact";
    grid-template-columns: auto 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 0;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    max-width: calc(100% - 32px);
    height: 170px;
  }
}
@media screen and (width <= 992px) {
  .l-header__wrapper {
    grid-template-areas: "logo contact navi-toggle";
    grid-template-columns: auto 1fr;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-column-gap: 16px;
       -moz-column-gap: 16px;
            column-gap: 16px;
    height: 100px;
  }
}
@media screen and (width > 768px) {
  .l-header__wrapper {
    padding-left: 16px;
  }
}
@media screen and (width <= 768px) {
  .l-header__wrapper {
    -webkit-column-gap: 2.0512820513vw;
       -moz-column-gap: 2.0512820513vw;
            column-gap: 2.0512820513vw;
    padding-left: 2.0512820513vw;
    height: 60px;
  }
}
.l-header .logo {
  grid-area: logo;
}
@media screen and (width > 992px) {
  .l-header .logo {
    width: 144px;
  }
}
@media screen and (width <= 992px) {
  .l-header .logo {
    width: 100px;
    height: 100px;
  }
}
@media screen and (width <= 768px) {
  .l-header .logo {
    width: 60px;
    height: 60px;
  }
}
.l-header .globalNavi {
  grid-area: navi;
}
@media screen and (width > 992px) {
  .l-header .globalNavi {
    margin-top: auto;
  }
}
@media screen and (width <= 992px) {
  .l-header .globalNavi {
    position: fixed;
    top: 100px;
    right: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    visibility: hidden;
    width: 80%;
    height: calc(100dvh - 100px);
    padding: 16px;
    z-index: 1;
    -webkit-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
    background-color: color-mix(in srgb, var(--cl-white) 90%, transparent);
  }
}
@media screen and (width <= 768px) {
  .l-header .globalNavi {
    top: 60px;
    height: calc(100dvh - 60px);
    padding: 2.0512820513vw;
  }
}
@media screen and (width <= 992px) {
  .l-header .globalNavi.is_active {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    visibility: visible;
  }
}
.l-header .globalNavi__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media screen and (width > 992px) {
  .l-header .globalNavi__list {
    gap: 32px;
  }
}
@media screen and (width <= 992px) {
  .l-header .globalNavi__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.l-header .globalNavi .menu-item {
  font-family: var(--font-zenmaru);
}
@media screen and (width <= 992px) {
  .l-header .globalNavi .menu-item {
    border-bottom: 1px solid var(--cl-gray);
  }
}
@media screen and (width > 768px) {
  .l-header .globalNavi .menu-item {
    font-size: 1.125rem;
  }
}
@media screen and (width <= 768px) {
  .l-header .globalNavi .menu-item {
    font-size: 1rem;
  }
}
.l-header .globalNavi .menu-item a {
  position: relative;
  color: var(--cl-text);
}
@media screen and (width <= 992px) {
  .l-header .globalNavi .menu-item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 8px;
    padding: 16px;
  }
}
@media screen and (width <= 768px) {
  .l-header .globalNavi .menu-item a {
    gap: 1.0256410256vw;
  }
}
.l-header .globalNavi .menu-item a::before {
  content: "";
  background-image: var(--navi-icon, none);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
  display: block;
}
@media screen and (width > 992px) {
  .l-header .globalNavi .menu-item a::before {
    width: var(--icon-width);
    height: 40px;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    bottom: calc(100% + 4px);
  }
}
@media screen and (width <= 992px) {
  .l-header .globalNavi .menu-item a::before {
    width: 40px;
    height: 40px;
  }
}
@media screen and (width <= 768px) {
  .l-header .globalNavi .menu-item a::before {
    width: 24px;
    height: 24px;
  }
}
@media screen and (width > 992px) {
  .l-header .globalNavi .menu-item a::after {
    content: "";
    display: block;
    width: 0;
    height: 8px;
    border-radius: calc(infinity * 1px);
    background-color: var(--cl-secondary);
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    -webkit-transition: width 0.5s ease-in-out;
    transition: width 0.5s ease-in-out;
  }
}
@media (any-hover: hover) {
  .l-header .globalNavi .menu-item a:hover::after {
    width: 100%;
  }
}
.l-header .globalNavi .menu-item.current-menu-item a::after {
  width: 100%;
}
body:has(#about_us:target) .l-header .globalNavi .menu-item.current-menu-item a::after {
  width: 0;
}
body:has(#about_us:target) .l-header .globalNavi .menu-item.is_about_us a::after {
  width: 100%;
}
body:has(#information:target) .l-header .globalNavi .menu-item.current-menu-item a::after {
  width: 0;
}
body:has(#information:target) .l-header .globalNavi .menu-item.is_information a::after {
  width: 100%;
}
body:has(#guide:target) .l-header .globalNavi .menu-item.current-menu-item a::after {
  width: 0;
}
body:has(#guide:target) .l-header .globalNavi .menu-item.is_guide a::after {
  width: 100%;
}
body:has(#faq:target) .l-header .globalNavi .menu-item.current-menu-item a::after {
  width: 0;
}
body:has(#faq:target) .l-header .globalNavi .menu-item.is_faq a::after {
  width: 100%;
}
body:has(#recruit:target) .l-header .globalNavi .menu-item.current-menu-item a::after {
  width: 0;
}
body:has(#recruit:target) .l-header .globalNavi .menu-item.is_recruit a::after {
  width: 100%;
}
body:has(#access:target) .l-header .globalNavi .menu-item.current-menu-item a::after {
  width: 0;
}
body:has(#access:target) .l-header .globalNavi .menu-item.is_access a::after {
  width: 100%;
}
.l-header .globalNavi .menu-item.is_home {
  --navi-icon: url("../images/layout/header/icon_navi_home.svg");
  --icon-width: 40px;
}
.l-header .globalNavi .menu-item.is_about_us {
  --navi-icon: url("../images/layout/header/icon_navi_aboutus.svg");
  --icon-width: 40px;
}
.l-header .globalNavi .menu-item.is_information {
  --navi-icon: url("../images/layout/header/icon_navi_information.svg");
  --icon-width: 34px;
}
.l-header .globalNavi .menu-item.is_guide {
  --navi-icon: url("../images/layout/header/icon_navi_guide.svg");
  --icon-width: 32px;
}
.l-header .globalNavi .menu-item.is_faq {
  --navi-icon: url("../images/layout/header/icon_navi_faq.svg");
  --icon-width: 39px;
}
.l-header .globalNavi .menu-item.is_recruit {
  --navi-icon: url("../images/layout/header/icon_navi_recruit.svg");
  --icon-width: 56px;
}
.l-header .globalNavi .menu-item.is_access {
  --navi-icon: url("../images/layout/header/icon_navi_access.svg");
  --icon-width: 44px;
}
@media screen and (width <= 992px) {
  .l-header .globalNavi.is_active {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
.l-header .contact {
  grid-area: contact;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media screen and (width > 768px) {
  .l-header .contact {
    gap: 16px;
  }
}
@media screen and (width <= 768px) {
  .l-header .contact {
    gap: 1.0256410256vw;
  }
}
.l-header .contact__text {
  font-weight: bold;
  color: #595757;
  line-height: 1.2;
  letter-spacing: 0.2em;
}
@media screen and (width > 768px) {
  .l-header .contact__text {
    font-size: 1rem;
  }
}
@media screen and (width <= 768px) {
  .l-header .contact__text {
    font-size: 16px;
    font-size: 2.0512820513vw;
  }
}
.l-header .contact__phone {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: var(--cl-secondary);
}
@media screen and (width > 768px) {
  .l-header .contact__phone {
    gap: 8px;
    font-size: 2.375rem;
  }
}
@media screen and (width <= 768px) {
  .l-header .contact__phone {
    gap: 1.0256410256vw;
    font-size: 16px;
    font-size: 2.0512820513vw;
  }
}
@media screen and (width > 768px) {
  .l-header .contact__phone img {
    width: 32px;
  }
}
@media screen and (width <= 768px) {
  .l-header .contact__phone img {
    width: 4.1025641026vw;
  }
}
.l-header .contact__number {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  color: var(--cl-secondary);
  font-weight: bold;
}
@media screen and (width > 768px) {
  .l-header .contact__number {
    font-size: 2.5rem;
  }
}
@media screen and (width <= 768px) {
  .l-header .contact__number {
    font-size: 40px;
    font-size: 5.1282051282vw;
  }
}
.l-header .navi-toggle {
  grid-area: navi-toggle;
}
@media screen and (width > 992px) {
  .l-header .navi-toggle {
    display: none;
  }
}
@media screen and (width <= 992px) {
  .l-header .navi-toggle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100px;
    height: 100px;
    background-color: var(--cl-primary);
    color: var(--cl-white);
    z-index: 1;
  }
}
@media screen and (width <= 768px) {
  .l-header .navi-toggle {
    width: 60px;
    height: 60px;
  }
}
@media screen and (width <= 992px) {
  .l-header .navi-toggle__icon {
    font-size: 3rem;
  }
}
@media screen and (width <= 768px) {
  .l-header .navi-toggle__icon {
    font-size: 1.5rem;
  }
}
@media screen and (width <= 992px) {
  .l-header .navi-toggle__text {
    font-size: 0.875rem;
  }
}
@media screen and (width <= 768px) {
  .l-header .navi-toggle__text {
    font-size: 0.75rem;
  }
}
.l-header.is_sticked {
  background-color: color-mix(in srgb, var(--cl-white) 95%, transparent);
}

/* ---------------------------------------
	Main
-----------------------------------------*/
.l-main {
  grid-area: contents;
  overflow-x: clip;
}

/* ---------------------------------------
	Footer
-----------------------------------------*/
.l-footer {
  grid-area: footer;
  background-color: #288950;
  overflow-x: clip;
}
.l-footer__wrapper {
  margin-inline: auto;
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
@media screen and (width > 992px) {
  .l-footer__wrapper {
    width: calc(100% - 32px);
    max-width: 1000px;
    padding-block: 40px;
    gap: 32px;
    grid-template-areas: "logo navi" "logo contact";
    grid-template-columns: auto 1fr;
  }
}
@media screen and (width <= 992px) {
  .l-footer__wrapper {
    width: 100%;
    width: calc(100% - 32px);
    padding-block: 24px;
    gap: 16px;
    grid-template-areas: "logo navi" "contact contact";
  }
}
@media screen and (width <= 768px) {
  .l-footer__wrapper {
    width: 100%;
    max-width: calc(100% - 4.1025641026vw);
    padding-block: 16px;
  }
}
@media screen and (width > 992px) {
  .l-footer__deco {
    position: absolute;
    top: -20px;
    right: -100px;
    width: 118px;
  }
}
@media screen and (width <= 992px) {
  .l-footer__deco {
    display: none;
  }
}
.l-footer .footerLogo {
  grid-area: logo;
  overflow: hidden;
  aspect-ratio: 4/3;
  background-color: var(--cl-white);
}
@media screen and (width > 768px) {
  .l-footer .footerLogo {
    width: 225px;
    border-radius: 24px;
  }
}
@media screen and (width <= 768px) {
  .l-footer .footerLogo {
    width: 28.8461538462vw;
    border-radius: 2.0512820513vw;
  }
}
.l-footer .footerLogo img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.l-footer .footerNavi {
  grid-area: navi;
}
.l-footer .footerNavi__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (width > 768px) {
  .l-footer .footerNavi__list {
    gap: 8px 32px;
    font-size: 1rem;
  }
}
@media screen and (width <= 768px) {
  .l-footer .footerNavi__list {
    gap: 4px 16px;
    font-size: 0.75rem;
  }
}
.l-footer .footerNavi__list .menu-item a {
  color: var(--cl-white);
}
.l-footer .contact {
  grid-area: contact;
  border: 2px solid var(--cl-white);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: var(--cl-white);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (width > 768px) {
  .l-footer .contact {
    gap: 16px;
    border-radius: 20px;
    padding: 8px 32px;
  }
}
@media screen and (width <= 768px) {
  .l-footer .contact {
    gap: 0.5rem;
    border-radius: 2.0512820513vw;
    padding: 1.0256410256vw 2.0512820513vw;
  }
}
.l-footer .contact__text {
  font-weight: bold;
}
@media screen and (width > 768px) {
  .l-footer .contact__text {
    font-size: 1rem;
  }
}
@media screen and (width <= 768px) {
  .l-footer .contact__text {
    font-size: 0.75rem;
  }
}
.l-footer .contact__phone {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (width > 768px) {
  .l-footer .contact__phone {
    font-size: 1rem;
    gap: 8px;
  }
}
@media screen and (width <= 768px) {
  .l-footer .contact__phone {
    font-size: 8px;
    font-size: 1.0256410256vw;
    gap: 1.0256410256vw;
  }
}
@media screen and (width > 768px) {
  .l-footer .contact__icon {
    width: 40px;
  }
}
@media screen and (width <= 768px) {
  .l-footer .contact__icon {
    width: 4.1025641026vw;
  }
}
.l-footer .contact__number {
  color: var(--cl-white);
  font-weight: bold;
}
@media screen and (width > 768px) {
  .l-footer .contact__number {
    font-size: 3rem;
  }
}
@media screen and (width <= 768px) {
  .l-footer .contact__number {
    font-size: 32px;
    font-size: 4.1025641026vw;
  }
}
.l-footer .contact__hours {
  line-height: 1.2;
}
@media screen and (width > 768px) {
  .l-footer .contact__hours {
    font-size: 1rem;
  }
}
@media screen and (width <= 768px) {
  .l-footer .contact__hours {
    font-size: 0.75rem;
  }
}
.l-footer .copyright {
  border-top: 1px solid var(--cl-white);
  color: var(--cl-white);
  text-align: center;
  padding-block: 8px;
}
@media screen and (width > 768px) {
  .l-footer .copyright {
    font-size: 1rem;
  }
}
@media screen and (width <= 768px) {
  .l-footer .copyright {
    font-size: 0.75rem;
  }
}

/* ---------------------------------------
	Button
-----------------------------------------*/
.btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  cursor: pointer;
  text-decoration: none;
  border-radius: 8px;
}
@media screen and (width > 768px) {
  .btn {
    font-size: 1.125rem;
    padding: 8px 16px;
    min-height: 50px;
  }
}
@media screen and (width <= 768px) {
  .btn {
    font-size: 1rem;
    padding: 4px 16px;
    min-height: 40px;
  }
}
.btn--primary {
  background-color: var(--cl-primary);
  color: var(--cl-white);
}
@media (any-hover: hover) {
  .btn--primary:hover {
    color: var(--cl-white);
  }
}
.btn--arrow::after {
  content: "\f0da";
  font-family: var(--font-awesome);
  font-weight: bold;
}

/* ---------------------------------------
	ブロックエディタ用スタイル
-----------------------------------------*/
.blocks-styles-wrapper {
  color: #000;
  line-height: 1.8;
}
@media screen and (width > 768px) {
  .blocks-styles-wrapper {
    font-size: 1.125rem;
  }
}
@media screen and (width <= 768px) {
  .blocks-styles-wrapper {
    font-size: 1rem;
  }
}
.blocks-styles-wrapper img {
  width: auto;
}
.blocks-styles-wrapper .wp-element-caption {
  color: var(--cl-text);
}
@media screen and (width > 768px) {
  .blocks-styles-wrapper .wp-element-caption {
    font-size: 0.875rem;
  }
}
@media screen and (width <= 768px) {
  .blocks-styles-wrapper .wp-element-caption {
    font-size: 0.75rem;
  }
}
.blocks-styles-wrapper .wp-block-heading {
  line-height: 1.2;
}
@media screen and (width > 768px) {
  .blocks-styles-wrapper .wp-block-heading {
    margin-bottom: 24px;
  }
}
@media screen and (width <= 768px) {
  .blocks-styles-wrapper .wp-block-heading {
    margin-bottom: 16px;
  }
}
.blocks-styles-wrapper h2 {
  border-bottom: 3px solid var(--cl-secondary);
}
@media screen and (width > 768px) {
  .blocks-styles-wrapper h2 {
    font-size: 1.5rem;
    padding-bottom: 16px;
  }
}
@media screen and (width <= 768px) {
  .blocks-styles-wrapper h2 {
    font-size: 1.125rem;
    padding-bottom: 8px;
  }
}
.blocks-styles-wrapper h3 {
  background-color: color-mix(in srgb, var(--cl-primary) 80%, var(--cl-white));
  color: var(--cl-white);
  padding: 8px 16px;
}
@media screen and (width > 768px) {
  .blocks-styles-wrapper h3 {
    font-size: 1.5rem;
  }
}
@media screen and (width <= 768px) {
  .blocks-styles-wrapper h3 {
    font-size: 1.125rem;
  }
}
.blocks-styles-wrapper h4 {
  border-bottom: 2px solid var(--cl-primary);
}
@media screen and (width > 768px) {
  .blocks-styles-wrapper h4 {
    font-size: 1.25rem;
    padding-bottom: 16px;
  }
}
@media screen and (width <= 768px) {
  .blocks-styles-wrapper h4 {
    font-size: 1.125rem;
    padding-bottom: 8px;
  }
}
.blocks-styles-wrapper h5 {
  border-left: 4px solid var(--cl-primary);
}
@media screen and (width > 768px) {
  .blocks-styles-wrapper h5 {
    font-size: 1.125rem;
    padding-left: 16px;
  }
}
@media screen and (width <= 768px) {
  .blocks-styles-wrapper h5 {
    font-size: 1rem;
    padding-left: 8px;
  }
}
.blocks-styles-wrapper h6 {
  border-left: 2px solid var(--cl-secondary);
}
@media screen and (width > 768px) {
  .blocks-styles-wrapper h6 {
    font-size: 1.125rem;
    padding-left: 16px;
  }
}
@media screen and (width <= 768px) {
  .blocks-styles-wrapper h6 {
    font-size: 1rem;
    padding-left: 8px;
  }
}
.blocks-styles-wrapper a {
  color: var(--cl-secondary);
  text-decoration: underline !important;
}
@media (any-hover: hover) {
  .blocks-styles-wrapper a:hover {
    text-decoration: none !important;
  }
}
.blocks-styles-wrapper ol.wp-block-list li {
  position: relative;
  padding-left: 16px;
  counter-increment: list-item;
}
.blocks-styles-wrapper ol.wp-block-list li::before {
  content: counter(list-item) ".";
  position: absolute;
  left: 0;
  top: 0;
}
.blocks-styles-wrapper ul.wp-block-list li {
  position: relative;
  padding-left: 16px;
}
.blocks-styles-wrapper ul.wp-block-list li::before {
  content: "-";
  position: absolute;
  left: 0;
  top: 0;
}

/* ---------------------------------------
	セクション用スタイル
-----------------------------------------*/
.section__wrapper {
  width: calc(100% - 32px);
  margin-inline: auto;
}
@media screen and (width > 768px) {
  .section__wrapper {
    max-width: 1000px;
  }
}
.section__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
}
@media screen and (width > 768px) {
  .section__head {
    margin-bottom: 60px;
  }
}
@media screen and (width <= 768px) {
  .section__head {
    margin-bottom: 40px;
  }
}
.section__heading-en, .section__heading-ja {
  text-align: center;
}
.section__heading-en {
  position: relative;
  color: var(--cl-primary);
  border-bottom-color: var(--cl-primary);
  border-bottom-style: solid;
}
@media screen and (width > 768px) {
  .section__heading-en {
    font-size: 1.375rem;
    border-bottom-width: 4px;
    padding-bottom: 8px;
  }
}
@media screen and (width <= 768px) {
  .section__heading-en {
    font-size: 1.125rem;
    border-bottom-width: 2px;
    padding-bottom: 4px;
  }
}
.section__heading-en::after {
  content: "";
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  position: absolute;
  bottom: 0;
  right: 0;
}
@media screen and (width > 768px) {
  .section__heading-ja {
    font-size: 2.25rem;
    padding-top: 8px;
  }
}
@media screen and (width <= 768px) {
  .section__heading-ja {
    font-size: 1.5rem;
    padding-top: 4px;
  }
}

/* ---------------------------------------
	Information Card
-----------------------------------------*/
.information-card {
  border-bottom: 4px dotted var(--cl-primary);
}
.information-card:first-child {
  border-top: 4px dotted var(--cl-primary);
}
.information-card__link {
  display: grid;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  color: inherit;
}
@media screen and (width > 768px) {
  .information-card__link {
    grid-template-columns: 220px 1fr;
    gap: 32px;
    padding-block: 24px;
  }
}
@media screen and (width <= 768px) {
  .information-card__link {
    grid-template-columns: 120px 1fr;
    gap: 16px;
    padding-block: 16px;
  }
}
@media (any-hover: hover) {
  .information-card__link:hover .information-card__image {
    -webkit-transform: scale(var(--scale));
            transform: scale(var(--scale));
  }
  .information-card__link:hover .information-card__title {
    color: var(--cl-primary);
  }
}
.information-card__image-wrapper {
  aspect-ratio: 4/3;
  overflow: hidden;
  border: 1px solid var(--cl-gray);
}
@media screen and (width > 768px) {
  .information-card__image-wrapper {
    border-radius: 24px;
  }
}
@media screen and (width <= 768px) {
  .information-card__image-wrapper {
    border-radius: 16px;
  }
}
.information-card__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform var(--transition);
  transition: -webkit-transform var(--transition);
  transition: transform var(--transition);
  transition: transform var(--transition), -webkit-transform var(--transition);
}
.information-card__content {
  min-width: 0;
}
.information-card__title {
  font-weight: 500;
  -webkit-transition: color var(--transition);
  transition: color var(--transition);
}
@media screen and (width > 768px) {
  .information-card__title {
    font-size: 1.25rem;
    margin-bottom: 24px;
  }
}
@media screen and (width <= 768px) {
  .information-card__title {
    font-size: 1rem;
    margin-bottom: 12px;
  }
}
.information-card__date {
  color: color-mix(in srgb, var(--cl-text) 65%, transparent);
}
@media screen and (width > 768px) {
  .information-card__date {
    font-size: 1rem;
  }
}
@media screen and (width <= 768px) {
  .information-card__date {
    font-size: 0.8125rem;
  }
}

/* ---------------------------------------
	ページネーション用スタイル
-----------------------------------------*/
@media screen and (width > 768px) {
  .theme-pagination {
    margin-top: 40px;
  }
}
@media screen and (width <= 768px) {
  .theme-pagination {
    margin-top: 24px;
  }
}
.theme-pagination .nav-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (width > 768px) {
  .theme-pagination .nav-links {
    font-size: 1.5rem;
    gap: 16px;
  }
}
@media screen and (width <= 768px) {
  .theme-pagination .nav-links {
    font-size: 1rem;
    gap: 8px;
  }
}
.theme-pagination .nav-links .page-numbers,
.theme-pagination .nav-links .post-page-numbers {
  color: var(--cl-primary);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (width > 768px) {
  .theme-pagination .nav-links .page-numbers,
  .theme-pagination .nav-links .post-page-numbers {
    width: 48px;
    height: 48px;
  }
}
@media screen and (width <= 768px) {
  .theme-pagination .nav-links .page-numbers,
  .theme-pagination .nav-links .post-page-numbers {
    width: 32px;
    height: 32px;
  }
}
.theme-pagination .nav-links .page-numbers.prev, .theme-pagination .nav-links .page-numbers.next,
.theme-pagination .nav-links .post-page-numbers.prev,
.theme-pagination .nav-links .post-page-numbers.next {
  width: auto;
  height: auto;
}
.theme-pagination .nav-links .page-numbers.current,
.theme-pagination .nav-links .post-page-numbers.current {
  background-color: var(--cl-primary);
  color: var(--cl-white);
}

/* ---------------------------------------
	JS_fadeIn
----------------------------------------*/
.js-scroll-fade-bg {
  overflow: hidden;
  opacity: 0;
}
.js-scroll-fade-bg.is_animation {
  -webkit-animation: imgScale 1.2s ease-out forwards;
          animation: imgScale 1.2s ease-out forwards;
}
@-webkit-keyframes imgScale {
  0% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    opacity: 0;
  }
  25% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    opacity: 0;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
@keyframes imgScale {
  0% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    opacity: 0;
  }
  25% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    opacity: 0;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

.skip-link {
  position: absolute;
  top: -100px;
  left: 8px;
  z-index: 100000;
  padding: 0.75em 1.5em;
  background-color: #fff;
  color: #000;
  font-size: 14px;
  line-height: 1;
  text-decoration: underline;
  -webkit-transition: top 0.2s ease;
  transition: top 0.2s ease;
}

.skip-link:focus {
  top: 8px;
  outline: 2px solid #c00;
  outline-offset: 2px;
}

.l-main:focus {
  outline: none;
}/*# sourceMappingURL=style.css.map */