@charset "UTF-8";
/* Break point
---------------------------------------------------------- */
/* Placeholder
---------------------------------------------------------- */
.l-article__block table :where(th) {
  padding: 0.5em 1em;
  border: 1px solid #cfcfcf;
  background-color: var(--color-point01, rgb(209, 209, 209));
}
.l-article__block table :where(td) {
  padding: 0.5em 1em;
  border: 1px solid #cfcfcf;
  background-color: #fff;
}

:where(.l-article) a:not([class]), .c-link {
  text-decoration: underline;
  color: #349BCB;
}
@media (any-hover: hover) {
  :where(.l-article) a:hover:not([class]), .c-link:hover {
    text-decoration: none;
    opacity: 0.7;
  }
  :where(.l-article) a:focus-visible:not([class]), .c-link:focus-visible {
    text-decoration: none;
    opacity: 0.7;
  }
}

/* ==========================================================================//
//
//　変数
//
// ========================================================================== */
:root {
  /* Color
  ---------------------------------------------------------- */
  --color-font: #000;
  --color-point_01: #22B573;
  --color-point_02: #F47621;
  --color-point_03: #587AAA;
  --color-point_04: #FFE564;
  --color-point_05: #F44121;
  --color-back_yellow: #FAFF9E;
  --color-back_yellow_02: #F2F676;
  --color-blue: #2544A5;
  /* Font
  ---------------------------------------------------------- */
  --font-zen-kaku: "Zen Kaku Gothic New", sans-serif;
  --font-zen-maru: "Zen Maru Gothic", sans-serif;
  --font-11-13: clamp(0.688rem, 0.637rem + 0.22vw, 0.813rem);
  --font-12-14: clamp(0.75rem, 0.699rem + 0.22vw, 0.875rem);
  --font-13-15: clamp(0.813rem, 0.762rem + 0.22vw, 0.938rem);
  --font-13-20: clamp(0.813rem, 0.635rem + 0.76vw, 1.25rem)
  --font-14-16: clamp(0.875rem, 0.824rem + 0.22vw, 1rem);
  --font-16-20: clamp(1rem, 0.899rem + 0.43vw, 1.25rem);
  --font-16-18: clamp(1rem, 0.949rem + 0.22vw, 1.125rem);
  --font-20-40: clamp(1.25rem, 0.743rem + 2.16vw, 2.5rem);
  --font-24-45: clamp(1.5rem, 0.968rem + 2.27vw, 2.813rem);
  --font-16-24: clamp(1rem, 0.5rem + 0.83vw, 1.5rem);
  --font-18-26: clamp(1.125rem, 1.004rem + 0.52vw, 1.625rem);
  --headerH: 4rem;
}
@media screen and (min-width: 960px) {
  :root {
    --headerH: 5.5rem;
  }
}
:root {
  --radius-base: 1.25rem;
  --radius-sm: 0.625rem;
  --shadow-base: 0.5em 0.5em 1em rgba(193, 193, 193, 0.3);
  --shadow-frame: -0.5em -0.5em 2em rgba(221, 221, 221, 0.3);
  --content-width: 91.25rem;
  /* Transition
  ---------------------------------------------------------- */
}

/* ==================================================================

Base

================================================================== */
*,
::before,
::after {
  word-break: break-word;
}

html {
  scroll-behavior: smooth;
}
@media screen and (min-width: 960px) {
  html {
    scroll-padding-top: revert;
  }
}

body {
  color: var(--color-font);
  font-family: var(--font-zen-kaku);
}

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

video {
  width: 100%;
}

img:not([width]) {
  width: 100%;
}

em,
strong,
address {
  font-style: normal;
}

@media (any-hover: hover) {
  .c-link_color:hover {
    color: var(--color-link, var(--color-point_02));
  }
  .c-link_color:focus-visible {
    color: var(--color-link, var(--color-point_02));
  }
}

@media (any-hover: hover) {
  .c-hover-opacity:hover {
    opacity: 0.7;
  }
  .c-hover-opacity:focus-visible {
    opacity: 0.7;
  }
}

.c-button_01 {
  padding: 0.5em 2.5em 0.75em;
  background-color: var(--color-button, var(--color-point_01));
  color: #fff;
  border-radius: 10em;
}
@media (any-hover: hover) {
  .c-button_01:hover {
    background-color: var(--color-button-hov, var(--color-point_04));
    color: var(--color-button-text, var(--color-point_01));
  }
  .c-button_01:focus-visible {
    background-color: var(--color-button-hov, var(--color-point_04));
    color: var(--color-button-text, var(--color-point_01));
  }
}

.c-button_02 {
  background-color: #fff;
  color: var(--color-point_03);
  padding: 2em 1em;
  font-size: clamp(1rem, 0.827rem + 0.77vw, 1.75rem);
}
@media (any-hover: hover) {
  .c-button_02:hover {
    background-color: var(--color-point_02);
    color: #fff;
  }
  .c-button_02:focus-visible {
    background-color: var(--color-point_02);
    color: #fff;
  }
}

.c-button_03 {
  background-color: #fff;
  color: var(--color-point_01);
  padding: 1em 1.5em;
  font-size: clamp(0.875rem, 0.7rem + 0.65vw, 1.25rem);
  border: 2px solid var(--color-point_01);
}
@media (any-hover: hover) {
  .c-button_03:hover {
    background-color: var(--color-point_01);
    color: #fff;
  }
  .c-button_03:focus-visible {
    background-color: var(--color-point_01);
    color: #fff;
  }
}

.c-button_04 {
  padding: 1em 1.5em;
  background-color: #FFF6C9;
  color: var(--color-point_03);
  border: 2px solid #FFE564;
}
@media (any-hover: hover) {
  .c-button_04:hover {
    background-color: var(--color-point_04);
    border-color: var(--color-point_04);
  }
  .c-button_04:focus-visible {
    background-color: var(--color-point_04);
    border-color: var(--color-point_04);
  }
}

.c-text_rounded { /* 完全角丸 */
  padding: 1em 1.5em;
  background-color: var(--rounded-color);
  border-radius: 10em;
}

.c-text_rounded_02 { /* 半角丸 */
  padding: 0.5em 1em;
  background-color: var(--rounded-color);
  border-radius: 0.5em;
}

.c-title_solid {
  padding: 0.5em 1em;
  font-weight: bold;
  color: #fff;
  background-color: var(--color-point_01);
  border-radius: 0.5em;
}

.c-img-title {
  font-size: clamp(0.625rem, 0.481rem + 0.64vw, 1.25rem);
  height: 4em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.c-img-title > img {
  width: auto;
  height: 100%;
}

.visually-hidden {
  position: fixed !important;
  /* keep it on viewport */
  top: 0px !important;
  left: 0px !important;
  /* give it non-zero size, VoiceOver on Safari requires at least 2 pixels
   before allowing buttons to be activated. */
  width: 4px !important;
  height: 4px !important;
  /* visually hide it with overflow and opacity */
  opacity: 0 !important;
  overflow: hidden !important;
  /* remove any margin or padding */
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  /* ensure no other style sets display to none */
  display: block !important;
  visibility: visible !important;
}

.pc-only {
  display: none;
}
@media screen and (min-width: 768px) {
  .pc-only {
    display: block;
  }
}

.u-text-zen-kaku {
  font-family: "Zen Kaku Gothic New", sans-serif;
}

.u-text-zen-maru {
  font-family: "Zen Maru Gothic", sans-serif;
}

.text-point_01 {
  color: var(--color-point_01);
}

.text-point_02 {
  color: var(--color-point_02);
}

.text-point_03 {
  color: var(--color-point_03);
}

.text-point_04 {
  color: var(--color-point_04);
}

.u-font-16-20 {
  font-size: var(--font-16-20);
}

.u-font-16-24 {
  font-size: var(--font-16-24);
}

.u-font-18-26 {
  font-size: var(--font-18-26);
}

.u-radius {
  border-radius: var(--radius-base);
}

.u-shadow {
  -webkit-box-shadow: var(--shadow-base);
          box-shadow: var(--shadow-base);
}

.u-disc {
  position: relative;
  text-indent: -1.5em;
  padding-left: 1.5em;
}
.u-disc::before {
  content: "・";
  display: inline-block;
  width: 1.5em;
  text-align: center;
  text-indent: 0;
  color: var(--color-disc, var(--color-point_04));
}

.u-line {
  position: relative;
  padding-left: 1em;
}
.u-line::before {
  content: "";
  position: absolute;
  top: 0.75em;
  left: 0em;
  width: 0.5em;
  height: 1px;
  background-color: var(--color-line, currentColor);
}

@media screen and (min-width: 960px) {
  .u-pt-header {
    padding-top: var(--headerH);
  }
}

/* ==================================================================

    共通

================================================================== */
.l-inner {
  padding-inline: 1.8rem;
  margin-inline: auto;
}
@media screen and (min-width: 960px) {
  .l-inner {
    width: 90%;
  }
}
.l-inner.contents-width {
  max-width: var(--content-width);
}

/* ニュース
---------------------------------------------------------- */
.l-news__item {
  padding: 1.5em;
  background-color: #fff;
  display: grid;
  grid-template-rows: auto 1fr;
  width: 100%;
  height: 100%;
  border: 2px solid #fff;
}
@media (any-hover: hover) {
  .l-news__item:hover {
    border-color: var(--color-point_01);
  }
  .l-news__item:focus-visible {
    border-color: var(--color-point_01);
  }
}
.l-news__item .news-title {
  padding-block: 0.5em 0.25em;
  font-size: clamp(1.125rem, 1.064rem + 0.26vw, 1.375rem);
  font-weight: bold;
  text-align: center;
}
.l-news__item .news-text {
  font-size: var(--font-16-18);
}
.l-news__item .news-thumb {
  aspect-ratio: 390/300;
  width: 100%;
}
.l-news__item .news-thumb > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

/* 記事
---------------------------------------------------------- */
.l-article__inner {
  padding: 2rem 0;
}
.l-article__header {
  padding-block: 3em 1em;
  font-size: clamp(1.25rem, 1.098rem + 0.65vw, 1.875rem);
  display: grid;
  gap: 1em 2.5em;
}
@media screen and (min-width: 1600px) {
  .l-article__header {
    grid-template-columns: 10% 1fr 10%;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.l-article__header .title-wrap {
  margin-inline: auto;
  max-width: 60rem;
}
.l-article__header .news-title {
  text-align: center;
}
.l-article__header .news-title > img {
  width: 8em;
  margin-inline: auto;
}
.l-article__header .article-date {
  padding-left: 1em;
  font-size: clamp(0.875rem, 0.814rem + 0.26vw, 1.125rem);
  color: var(--color-point_01);
  font-weight: 500;
}
.l-article__header .article-title {
  padding: 1em;
  margin: 0;
  font-size: inherit;
  color: var(--color-point_01);
  border: 2px solid var(--color-point_01);
  background-color: #fff;
  border-radius: 1em;
}
.l-article__body {
  line-height: 1.6;
  max-width: 60rem;
  margin-inline: auto;
  font-size: var(--font-16-18);
}
.l-article__block {
  line-height: 1.75;
}
.l-article__block:not(:first-of-type) {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .l-article__block:not(:first-of-type) {
    margin-top: 8rem;
  }
}
.l-article__block * + p {
  margin-top: 2em;
}
.l-article__block em {
  font-style: revert;
}
.l-article__block .caption {
  font-size: var(--font-16-18);
  text-align: center;
  margin-top: 1em;
  line-height: 1.4;
}
.l-article__image img {
  margin: 2rem auto auto auto;
  width: auto;
}
@media screen and (min-width: 768px) {
  .l-article__image.grid-image {
    display: grid;
    grid-template-columns: repeat(2, auto);
    -webkit-column-gap: 1rem;
       -moz-column-gap: 1rem;
            column-gap: 1rem;
  }
}
@media screen and (min-width: 768px) {
  .l-article__grid {
    display: grid;
    grid-template-columns: repeat(2, auto);
    gap: 2rem;
  }
}
.l-article .article-thumbnail {
  width: auto;
  margin-right: auto;
  margin-left: auto;
  display: block;
}

:where(.l-article) h1, :where(.l-article) h2, :where(.l-article) h3, :where(.l-article) h4, :where(.l-article) h5, :where(.l-article) h6, :where(.l-article) ol:not([class]), :where(.l-article) ul:not([class]), :where(.l-article) dl, :where(.l-article) dt, :where(.l-article) dd {
  all: revert;
}
/* アコーディオン
---------------------------------------------------------- */
.l-accordion-panel {
  display: grid;
  grid-template-rows: 0fr;
  -webkit-transition: grid-template-rows 0.5s ease;
  transition: grid-template-rows 0.5s ease;
  transition: grid-template-rows 0.5s ease, -ms-grid-rows 0.5s ease;
}

.l-accordion-trigger.is-open + .l-accordion-panel {
  grid-template-rows: 1fr;
}

/* スライダー
---------------------------------------------------------- */
.l-common-slider {
  --arrow-size: 2rem;
}
@media screen and (min-width: 768px) {
  .l-common-slider {
    --arrow-size: 3rem;
  }
}
.l-common-slider .splide__slide img {
  width: 100%;
  height: auto;
  display: block;
  margin: auto;
}
.l-common-slider .splide__arrow {
  background-color: #fff;
  width: var(--arrow-size);
  height: var(--arrow-size);
  opacity: 1;
  -webkit-box-shadow: 0 0 0.5em rgba(0, 0, 0, 0.168627451);
          box-shadow: 0 0 0.5em rgba(0, 0, 0, 0.168627451);
  top: calc(50% - var(--arrow-size));
}
.l-common-slider .splide__arrow svg {
  fill: #349BCB;
  width: 35%;
}
.l-common-slider .splide__arrow--next {
  right: 5px;
}
.l-common-slider .splide__arrow--prev {
  left: 5px;
}
.l-common-slider .splide__pagination {
  padding: 1em;
  position: static;
}
.l-common-slider .splide__pagination__page {
  margin: 5px;
  width: 10px;
  height: 10px;
}
.l-common-slider .splide__pagination__page.is-active {
  background: #349BCB;
}

/* タブ
---------------------------------------------------------- */
.l-tab__list {
  display: grid;
  grid-template-columns: repeat(var(--tab-count), 1fr);
  gap: 0.25em;
}
.l-tab__panel {
  padding: 1.5em;
  border-radius: 0 0 0.5rem 0.5rem;
}
@media screen and (min-width: 768px) {
  .l-tab__panel {
    padding: 3em;
  }
}
.l-tab__block, .l-tab__block--02 {
  padding: 2em 1em;
}
@media screen and (min-width: 768px) {
  .l-tab__block, .l-tab__block--02 {
    padding: 2em;
  }
}
.l-tab__block .block-title, .l-tab__block--02 .block-title {
  font-size: clamp(1rem, 0.827rem + 0.77vw, 1.75rem);
  font-weight: bold;
  color: var(--color-point_03);
}
.l-tab__block .block-inner, .l-tab__block--02 .block-inner {
  margin-top: 2em;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(20rem, 100%), 1fr));
  gap: 1em;
  font-size: var(--font-16-24);
}
.l-tab__block--02 a {
  padding: 1em;
}
.l-tab .tab-button {
  padding: 1em;
  font-size: clamp(0.688rem, 0.442rem + 1.09vw, 1.75rem);
  border-radius: 0.5rem 0.5rem 0 0;
  cursor: pointer;
}

/* ==================================================================

ヘッダー

================================================================== */
.l-header {
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 20;
  container-type: inline-size;
}
@media screen and (min-width: 960px) {
  .l-header {
    background-color: #fff;
    -webkit-box-shadow: var(--shadow-base);
            box-shadow: var(--shadow-base);
    border-radius: 0 0 2rem 2rem;
  }
}
.l-header__site-name {
  display: none;
  font-weight: 500;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 960px) {
  .l-header__site-name {
    display: revert;
    font-size: clamp(1.25rem, 1rem + 0.42vw, 1.5rem);
  }
}
@media screen and (min-width: 960px) {
  .l-header__inner {
    padding-inline: 5%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.l-header__nav-button {
  width: 55px;
  height: 55px;
  border-radius: 50%;
  background-color: #349BCB;
  border: 1px solid #349BCB;
  position: fixed;
  top: 4em;
  right: 1em;
  z-index: 20;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 960px) {
  .l-header__nav-button {
    display: none;
  }
}
.l-header__nav-button .bar {
  display: block;
  width: 21px;
  height: 15px;
  position: relative;
}
.l-header__nav-button .bar::before, .l-header__nav-button .bar::after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background-color: #fff;
  position: absolute;
  left: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.l-header__nav-button .bar::before {
  top: 0;
}
.l-header__nav-button .bar::after {
  bottom: 0;
}
.l-header__nav-button.is-open {
  background-color: #fff;
}
.l-header__nav-button.is-open .bar::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  top: 6px;
  background-color: #349BCB;
}
.l-header__nav-button.is-open .bar::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  bottom: 6px;
  background-color: #349BCB;
}
.l-header__nav-button.is-open + .l-header__overlay {
  opacity: 1;
  visibility: visible;
}
.l-header__overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(88, 122, 170, 0.3);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
  z-index: -1;
}
.l-header__nav {
  padding: 5em 1em 2em 1em;
  background-color: #fff;
  font-weight: 500;
  width: 100%;
  height: 100%;
  max-width: 17em;
  position: fixed;
  top: 0;
  right: -100%;
  -webkit-box-shadow: var(--shadow-base);
          box-shadow: var(--shadow-base);
  overflow-x: auto;
  -webkit-transition: right 0.4s ease;
  transition: right 0.4s ease;
}
@media screen and (min-width: 960px) {
  .l-header__nav {
    padding: 0;
    position: static;
    background-color: transparent;
    max-width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-column-gap: 2em;
       -moz-column-gap: 2em;
            column-gap: 2em;
    font-size: clamp(0.813rem, 0.625rem + 0.31vw, 1rem);
    -webkit-box-shadow: none;
            box-shadow: none;
    overflow-x: revert;
  }
}
.l-header__nav__list {
  margin-block: 2em;
  display: grid;
  row-gap: 1em;
}
@media screen and (min-width: 960px) {
  .l-header__nav__list {
    margin: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
.l-header__nav__list .nav-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5em;
}
@media screen and (min-width: 960px) {
  .l-header__nav__list .nav-link {
    padding-block: 0.75em;
    padding-inline: 1.25em;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
  }
}
.l-header__nav__list .nav-link .icon {
  width: 3em;
  position: relative;
}
@media screen and (min-width: 960px) {
  .l-header__nav__list .nav-link .icon {
    width: 5em;
  }
}
.l-header__nav__list .nav-link .icon .icon--on {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
@media screen and (min-width: 960px) {
  .l-header__nav__list .nav-link .text {
    text-align: center;
  }
}
@media (any-hover: hover) {
  .l-header__nav__list .nav-link:hover .icon--default {
    opacity: 0;
  }
  .l-header__nav__list .nav-link:hover .icon--on {
    opacity: 1;
  }
  .l-header__nav__list .nav-link:focus-visible .icon--default {
    opacity: 0;
  }
  .l-header__nav__list .nav-link:focus-visible .icon--on {
    opacity: 1;
  }
}
@media (any-hover: hover) {
  .l-header__nav__list .has-secondary:hover .secondary-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .l-header__nav__list .has-secondary:focus-visible .secondary-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.l-header__nav__list .has-secondary:focus-within .secondary-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.l-header__nav__list .secondary-list {
  margin-top: 0.5em;
  padding-left: 3.5em;
  display: grid;
  row-gap: 1em;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 960px) {
  .l-header__nav__list .secondary-list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.l-header__nav__list .secondary-list::after {
  position: absolute;
  top: 0.5em;
  left: 0;
  z-index: -1;
  width: 100%;
  height: calc(100% - 0.5em);
  border-radius: 10rem;
  background-color: #fff;
  -webkit-box-shadow: var(--shadow-base);
          box-shadow: var(--shadow-base);
}
@media screen and (min-width: 960px) {
  .l-header__nav__list .secondary-list::after {
    content: "";
  }
}
@media screen and (min-width: 960px) {
  .l-header__nav__list .secondary-list {
    margin-top: 0;
    padding: 2em 2em 1.5em;
    position: absolute;
    z-index: 1;
    top: 100%;
    right: 10%;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: none;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.l-header__nav__list .secondary-link {
  display: inline-block;
}
@media (any-hover: hover) {
  .l-header__nav__list .secondary-link:hover {
    font-weight: bold;
    color: var(--color-point_02);
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  .l-header__nav__list .secondary-link:focus-visible {
    font-weight: bold;
    color: var(--color-point_02);
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
@media screen and (min-width: 960px) {
  .l-header__nav__list .secondary-link {
    padding-inline: 1em;
  }
}
.l-header__nav__list .secondary-link::before {
  content: "－";
  padding-right: 0.5em;
}
@media screen and (min-width: 960px) {
  .l-header__nav__list .secondary-link::before {
    content: none;
  }
}
.l-header__nav.is-open {
  right: 0;
}
.l-header__language {
  margin-inline: auto;
  position: relative;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
}
@media screen and (min-width: 960px) {
  .l-header__language {
    margin-inline: 0;
    display: grid;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}
.l-header__language .lang-button {
  padding-bottom: 0.75em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.25em;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
}
.l-header__language .lang-button .icon {
  margin-top: 0.25em;
}
.l-header__language .lang-button .chevron {
  margin-top: 0.4em;
}
.l-header__language .lang-list {
  padding: 1em;
  background-color: #fff;
  text-align: center;
  width: 100%;
  row-gap: 0.5em;
  border-radius: var(--radius-sm);
  -webkit-box-shadow: 0px 0px 0.5em rgba(193, 193, 193, 0.6);
          box-shadow: 0px 0px 0.5em rgba(193, 193, 193, 0.6);
  display: none;
}
@media screen and (min-width: 960px) {
  .l-header__language .lang-list {
    position: absolute;
    top: 100%;
    left: 0;
  }
}
@media (any-hover: hover) {
  .l-header__language .lang-list a:hover {
    font-weight: bold;
    color: var(--color-point_02);
  }
  .l-header__language .lang-list a:focus-visible {
    font-weight: bold;
    color: var(--color-point_02);
  }
}
.l-header__language .lang-list a.is-active {
  font-weight: bold;
  color: var(--color-point_02);
}
.l-header__language .lang-list.is-open {
  display: grid;
}
.l-header__home {
  text-decoration: underline;
}
@media screen and (min-width: 960px) {
  .l-header__home {
    display: none;
  }
}

/* ==================================================================

フッター

================================================================== */
.l-footer {
  padding-block: 2em 8em;
  background-color: var(--color-point_01);
  color: #fff;
}
@media screen and (min-width: 768px) {
  .l-footer {
    padding-top: 4em;
  }
}
.l-footer__inner {
  max-width: 70rem;
}
.l-footer__block {
  margin-bottom: 2em;
}
@media screen and (min-width: 768px) {
  .l-footer__block {
    margin-bottom: 0;
    display: grid;
    grid-template-columns: auto auto;
    gap: 5em;
  }
}
.l-footer__block .footer-info {
  font-size: var(--font-20-40);
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: var(--font-zen-maru);
}
.l-footer__block .footer-info .hakusan {
  width: 10em;
}
.l-footer__block .footer-info .site-name {
  padding: 0.4em 0;
  font-weight: bold;
  display: inline-block;
  border-bottom: 1px solid #fff;
}
.l-footer__block .footer-info .info {
  margin-top: 0.5em;
  text-align: center;
  display: grid;
  row-gap: 0.1em;
}
.l-footer__block .footer-info .address_01 {
  font-size: min(85%, 1.75rem);
  font-weight: bold;
}
.l-footer__block .footer-info .address_02 {
  font-size: min(60%, 1.0625rem);
  font-weight: 500;
}
.l-footer__block .footer-info .tel {
  padding-right: 1em;
  font-size: min(80%, 1.4375rem);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25em;
  line-height: 1;
  font-weight: bold;
}
.l-footer__block .footer-info .tel .icon {
  height: 0.8em;
  margin-top: 0.25em;
}
.l-footer__block .footer-nav {
  margin-top: 2em;
  font-size: var(--font-13-20);
  font-family: var(--font-zen-maru);
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (min-width: 768px) {
  .l-footer__block .footer-nav {
    margin-top: 0;
  }
}
.l-footer__block .footer-nav .nav-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1em;
}
@media screen and (min-width: 960px) {
  .l-footer__block .footer-nav .nav-list {
    gap: 2em 3em;
  }
}
.l-footer__caption {
  text-align: center;
  font-size: 0.75rem;
}
@media screen and (min-width: 768px) {
  .l-footer__caption {
    text-align: right;
  }
}
.l-footer__caption > span {
  padding: 0.5em 1em;
  display: inline-block;
  border: 1px solid rgba(255, 255, 255, 0.4901960784);
  border-radius: 0.5em;
}
.l-footer .copyright {
  padding: 3em 0 2em;
  font-size: var(--font-12-14);
  text-align: center;
}

.l-nav__fixed {
  padding-block: 1em;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  background-color: #349BCB;
  color: #fff;
  container-type: inline-size;
  font-family: var(--font-zen-maru);
  border-radius: 1.5rem 1.5rem 0 0;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  -webkit-transition: -webkit-transform 0.4s;
  transition: -webkit-transform 0.4s;
  transition: transform 0.4s;
  transition: transform 0.4s, -webkit-transform 0.4s;
}
.l-nav__fixed .nav-inner {
  padding-inline: 1rem;
  display: grid;
  row-gap: 0.75em;
}
@media screen and (min-width: 960px) {
  .l-nav__fixed .nav-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-column-gap: 2em;
       -moz-column-gap: 2em;
            column-gap: 2em;
  }
}
.l-nav__fixed .title {
  text-align: center;
  font-size: var(--font-13-20);
  font-weight: 500;
}
@media screen and (min-width: 960px) {
  .l-nav__fixed .title {
    font-size: 1.25rem;
  }
}
.l-nav__fixed .nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 768px) {
  .l-nav__fixed .nav-list {
    gap: 1em;
  }
}
.l-nav__fixed .nav-list .item:not(:last-of-type) {
  border-right: 1px solid #fff;
}
@media screen and (min-width: 768px) {
  .l-nav__fixed .nav-list .item:not(:last-of-type) {
    border: none;
    margin-left: 0;
  }
}
.l-nav__fixed .nav-list .item > a {
  padding: 0.25em 0.75em;
  display: inline-block;
  font-size: clamp(0.813rem, 0.596rem + 0.96vw, 1.75rem);
  font-weight: bold;
  text-align: center;
}
@media (any-hover: hover) {
  .l-nav__fixed .nav-list .item > a:hover {
    background-color: var(--color-point_02);
    color: #fff;
  }
  .l-nav__fixed .nav-list .item > a:focus-visible {
    background-color: var(--color-point_02);
    color: #fff;
  }
}
@media screen and (min-width: 768px) {
  .l-nav__fixed .nav-list .item > a {
    padding: 0.25em 1em;
    background-color: #fff;
    color: var(--color-point_02);
    border-radius: 50em;
    width: 100%;
  }
}
.l-nav__fixed.is-active {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/* ==================================================================

下層ページ　共通

================================================================== */
.l-mv {
  padding-top: 3rem;
  background-size: cover;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (orientation: landscape) {
  .l-mv {
    padding-block: var(--headerH) 3rem;
  }
}
.l-mv.nature {
  background-image: url(/assets/images/nature/img_back.webp);
}
.l-mv.about {
  background-image: url(/assets/images/about/img_back.webp);
}
.l-mv__inner {
  padding-block: 2em;
  width: 80%;
  margin-inline: auto;
  max-width: var(--content-width);
  position: relative;
  font-size: clamp(1.5rem, 1.257rem + 1.04vw, 2.5rem);
}
.l-mv__visual {
  position: relative;
}
.l-mv__visual .mv-frame {
  position: absolute;
  top: -1px;
  left: -1px;
  width: calc(100% + 2px);
  height: calc(100% + 2px);
  pointer-events: none;
}
.l-mv__en-title {
  position: absolute;
  z-index: 1;
}
.l-mv__page-title {
  margin-top: 3em;
  font-weight: bold;
  line-height: 1.1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: clamp(1.375rem, 1.102rem + 1.17vw, 2.5rem);
  width: 100%;
  display: flex;
  justify-content: center;
}
@media screen and (orientation: landscape) {
  .l-mv__page-title {
    margin-top: 0;
  }
}
.l-mv__page-title > h1 {
  padding: 1.5em;
  background-image: url(/assets/images/common/img_title-back.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.p-experience__contents {
  padding-block: min(1em, 5%) min(6em, 10%);
  background-color: #fff;
  position: relative;
  z-index: 1;
}
.p-experience__contents .tag {
  margin-inline: auto;
}
.p-experience__contents .tag > img {
  width: 50%;
  max-width: 20rem;
}
.p-experience__contents .contents-title {
  margin-bottom: 0.75em;
  font-size: clamp(2.75rem, 2.022rem + 3.11vw, 5.75rem);
  font-family: var(--font-zen-maru);
  font-weight: bold;
  text-align: center;
}
.p-experience__contents .contents-title .title {
  margin-top: 0.1em;
  color: var(--color-point_01);
}
.p-experience__contents .contents-title .text {
  color: var(--color-point_03);
  font-size: 36%;
}

/* ==================================================================

下層ページ　このサイトについて

================================================================== */
.p-about__en-title {
  width: 70%;
  top: 7%;
  max-width: 32rem;
}
@media screen and (orientation: landscape) {
  .p-about__en-title {
    width: 50%;
    top: 20%;
    left: -8%;
  }
}
.p-about__mv-illust {
  position: absolute;
  right: 0;
  bottom: 5em;
  z-index: 1;
  width: 50%;
  max-width: 24rem;
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}
@media screen and (orientation: landscape) {
  .p-about__mv-illust {
    width: 34%;
    bottom: 0;
  }
}
@media screen and (orientation: landscape) {
  .p-about__page-title {
    margin-top: 0;
    position: absolute;
    bottom: 0;
    z-index: 1;
  }
}
.p-about__intro {
  background-image: url(/assets/images/common/back_texture_02.webp);
  background-size: cover;
  line-height: 2;
  position: relative;
}
.p-about__intro .intro-text {
  font-weight: 500;
  padding-block: 5em 24%;
  font-size: clamp(1.063rem, 0.987rem + 0.32vw, 1.375rem);
}
.p-about__intro .intro-inner {
  max-width: 50em;
}
@media screen and (min-width: 768px) {
  .p-about__yama {
    margin-top: -5%;
  }
}
.p-about__yama_ashirai {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 0;
}
.p-about__contents {
  margin-top: -5%;
  padding-bottom: 6em;
  background-color: var(--color-back_yellow_02);
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-about__contents {
    padding-bottom: 8em;
  }
}
.p-about__contents .content-inner {
  max-width: 50em;
}
.p-about__contents .content-title {
  margin-bottom: 1.25em;
  margin-inline: auto;
  font-size: clamp(1.5rem, 1.257rem + 1.04vw, 2.5rem);
  font-weight: 500;
  text-align: center;
}
.p-about__contents .content-subtitle {
  margin-bottom: 1.25em;
  font-size: clamp(1.125rem, 1.034rem + 0.39vw, 1.5rem);
  font-weight: 500;
  text-align: center;
}
.p-about__contents .content-subtitle::before, .p-about__contents .content-subtitle::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1px;
  background-color: currentColor;
  vertical-align: 0.25em;
}
.p-about__contents .content-subtitle::before {
  margin-right: 0.5em;
}
.p-about__contents .content-subtitle::after {
  margin-left: 0.5em;
}
.p-about__contents .content-text {
  font-size: clamp(1.063rem, 0.987rem + 0.32vw, 1.375rem);
  line-height: 2;
  font-weight: 500;
}
.p-about__slider {
  margin-block: 3em 5em;
}
@media screen and (min-width: 768px) {
  .p-about__slider {
    margin-block: 5em 5em;
  }
}
.p-about__slider .splide__slide img {
  border-radius: var(--radius-base);
}
.p-about__slider .slide-caption {
  margin-top: 0.5em;
  font-size: var(--font-16-18);
  text-align: center;
  font-weight: 500;
}

/* ==================================================================

下層ページ　白山の自然

================================================================== */
.p-nature__en-title {
  width: 70%;
  top: 0;
  max-width: 36rem;
}
@media screen and (orientation: landscape) {
  .p-nature__en-title {
    width: 50%;
    top: 8%;
    left: -8%;
  }
}
.p-nature__mv-illust {
  position: absolute;
  left: 0;
  bottom: 5em;
  z-index: 1;
  width: 50%;
  max-width: 24rem;
}
@media screen and (orientation: landscape) {
  .p-nature__mv-illust {
    width: 26%;
    bottom: 1em;
  }
}
@media screen and (orientation: landscape) {
  .p-nature__page-title {
    margin-top: 0;
    position: absolute;
    bottom: 0;
    z-index: 1;
  }
}
.p-nature__intro {
  background-image: url(/assets/images/common/back_texture_02.webp);
  background-size: cover;
  line-height: 2;
  position: relative;
}
.p-nature__intro .intro-text {
  font-weight: 500;
  padding-block: 5em 24%;
  font-size: clamp(1.063rem, 0.987rem + 0.32vw, 1.375rem);
}
.p-nature__intro .intro-inner {
  max-width: 50em;
}
@media screen and (min-width: 768px) {
  .p-nature__yama {
    margin-top: -5%;
  }
}
.p-nature__yama_ashirai {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 0;
}
.p-nature__contents {
  padding-bottom: 6em;
  background-color: var(--color-back_yellow_02);
}
@media screen and (min-width: 768px) {
  .p-nature__contents {
    padding-bottom: 8em;
  }
}
.p-nature__contents .contents-section:first-of-type {
  padding-top: 0;
}
.p-nature__contents .contents-section:not(:first-of-type) {
  margin-top: 6em;
}
.p-nature__contents .content-title {
  --rounded-color: var(--color-blue);
  margin-bottom: 1.5em;
  margin-inline: auto;
  font-size: clamp(1.375rem, 1.102rem + 1.17vw, 2.5rem);
  font-weight: 500;
  text-align: center;
  max-width: 9em;
  color: #fff;
}
.p-nature__contents .content-text {
  margin-block: 1em 3em;
  font-size: var(--font-16-20);
  line-height: 2;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-nature__contents .content-text {
    margin-top: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-nature__contents .content-block {
    display: grid;
    grid-template-columns: 1fr 1fr;
    -webkit-column-gap: min(4em, 5%);
       -moz-column-gap: min(4em, 5%);
            column-gap: min(4em, 5%);
  }
}
.p-nature__contents .content-column {
  margin-top: 8em;
  padding: 2.5em 1.5em 1.5em;
  background-color: #fff;
  position: relative;
  border-radius: var(--radius-base);
}
@media screen and (min-width: 768px) {
  .p-nature__contents .content-column {
    margin-top: 12em;
    padding: 3em 3em 2em;
  }
}
.p-nature__contents .content-column .column-title {
  font-size: clamp(2rem, 1.424rem + 2.46vw, 4.375rem);
  width: 70%;
  max-width: 6em;
  position: absolute;
  top: -1em;
  left: 1.5rem;
}

/* ==================================================================

下層ページ　魅力を体験

================================================================== */
.l-head {
  background-color: var(--color-head);
  container-type: inline-size;
}
.l-head__wrapper {
  padding-top: 2em;
  max-width: var(--content-width);
  position: relative;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .l-head__wrapper {
    padding-block: 2em 4em;
  }
}
.l-head__inner {
  padding-inline: 1.8rem;
}
@media screen and (min-width: 960px) {
  .l-head__inner {
    width: 80%;
    margin-inline: auto;
  }
}
.l-head__text {
  padding-bottom: 2em;
  display: grid;
  gap: 1em 3em;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .l-head__text {
    grid-template-columns: auto 1fr;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}
.l-head__text .page-title {
  font-size: clamp(2.5rem, 1.635rem + 3.85vw, 6.25rem);
  font-weight: bold;
  line-height: 1;
}
.l-head__text .page-title .small {
  margin-block: 1em 0.75em;
  font-size: 30%;
  display: block;
}
.l-head__text .page-title .small::before, .l-head__text .page-title .small::after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 1em;
  background-color: currentColor;
}
.l-head__text .page-title .small::before {
  -webkit-transform: rotate(-30deg);
          transform: rotate(-30deg);
  margin-right: 0.5em;
}
.l-head__text .page-title .small::after {
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
  margin-left: 0.5em;
}
.l-head__text .text {
  font-size: clamp(0.875rem, 0.784rem + 0.39vw, 1.25rem);
  font-weight: 500;
  line-height: 1.8;
}
.l-head__image {
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .l-head__image {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 0;
  }
}
.l-head__image.climb-image, .l-head__image.tour-image {
  width: 80%;
  max-width: 50rem;
}
@media screen and (min-width: 768px) {
  .l-head__image.climb-image, .l-head__image.tour-image {
    width: 40%;
  }
}
.l-head .title-tag {
  width: 50%;
  max-width: 18rem;
  border-radius: 0.25rem;
  display: block;
}

.p-climb__head {
  margin-top: min(4em, 8%);
  padding-top: 2em;
  -webkit-filter: drop-shadow(var(--shadow-frame));
          filter: drop-shadow(var(--shadow-frame));
}
.p-climb__attention .signboard {
  margin-top: 6.5rem;
  padding: 2em 2rem 8rem 2rem;
  border: 8px solid var(--color-point_02);
  position: relative;
  font-size: clamp(1.125rem, 0.952rem + 0.77vw, 1.875rem);
  background-color: #fff;
  text-align: center;
  border-radius: 0.25rem;
}
@media screen and (min-width: 768px) {
  .p-climb__attention .signboard {
    padding-bottom: 2rem;
  }
}
.p-climb__attention .signboard .attention {
  position: absolute;
  bottom: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 70%;
  max-width: 22rem;
}
.p-climb__attention .signboard .title {
  padding-inline: 0.5em;
  font-weight: 500;
  border-bottom: 2px solid var(--color-point_02);
  display: inline-block;
}
.p-climb__attention .signboard .chain_left, .p-climb__attention .signboard .chain_right {
  position: absolute;
  bottom: calc(100% - 1rem);
  width: auto;
  height: 8rem;
}
.p-climb__attention .signboard .chain_left {
  left: 1.5rem;
}
.p-climb__attention .signboard .chain_right {
  right: 1.5rem;
}
.p-climb__attention .signboard .pin_01, .p-climb__attention .signboard .pin_02, .p-climb__attention .signboard .pin_03, .p-climb__attention .signboard .pin_04 {
  position: absolute;
  width: 9px;
  height: 9px;
}
.p-climb__attention .signboard .pin_01 {
  top: 0.5rem;
  left: 0.5rem;
}
.p-climb__attention .signboard .pin_02 {
  top: 0.5rem;
  right: 0.5rem;
}
.p-climb__attention .signboard .pin_03 {
  bottom: 0.5rem;
  left: 0.5rem;
}
.p-climb__attention .signboard .pin_04 {
  bottom: 0.5rem;
  right: 0.5rem;
}
.p-climb__attention .signboard .image_01 {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 50%;
  max-width: 12rem;
}
.p-climb__attention .signboard .image_02 {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 50%;
  max-width: 12rem;
}

/* ==================================================================

下層ページ　ニュース

================================================================== */
.p-news__content {
  padding-bottom: 6em;
}
@media screen and (min-width: 768px) {
  .p-news__content {
    padding-bottom: 8em;
  }
}
.p-news__title {
  padding-block: 8em 5em;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 5.5em;
}
@media screen and (min-width: 768px) {
  .p-news__title {
    height: 4.5em;
  }
}
@media screen and (min-width: 960px) {
  .p-news__title {
    padding-top: 5em;
  }
}
.p-news__title .title-deco {
  width: 6em;
  height: auto;
  position: absolute;
  left: 100%;
  bottom: -1em;
}
.p-news__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
  gap: 1.5em 2em;
}
.p-news__item {
  justify-self: center;
  max-width: 26rem;
}

/* ==================================================================

アニメーション

================================================================== */
@media (prefers-reduced-motion: no-preference) {
  .a-katakata {
    -webkit-animation: katakata var(--animation-duration, 3s) steps(2) infinite;
            animation: katakata var(--animation-duration, 3s) steps(2) infinite;
  }
  .a-pyonpyon {
    -webkit-animation: pyonpyon var(--animation-duration, 2.5s) steps(1) infinite;
            animation: pyonpyon var(--animation-duration, 2.5s) steps(1) infinite;
  }
  .a-flicker {
    opacity: 0;
    -webkit-animation: flicker var(--animation-duration, 3s) steps(2) infinite;
            animation: flicker var(--animation-duration, 3s) steps(2) infinite;
  }
  .a-buruburu {
    -webkit-animation: buruburu var(--animation-duration, 3s) steps(2) infinite;
            animation: buruburu var(--animation-duration, 3s) steps(2) infinite;
  }
  .a-yokoyure {
    -webkit-animation: yokoyure var(--animation-duration, 2s) steps(1) infinite;
            animation: yokoyure var(--animation-duration, 2s) steps(1) infinite;
  }
  .a-tateyure {
    -webkit-animation: tateyure var(--animation-duration, 3s) steps(1) infinite;
            animation: tateyure var(--animation-duration, 3s) steps(1) infinite;
  }
  .a-frameIn {
    opacity: 0;
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
    transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
    transition: opacity 0.3s ease, transform 0.3s ease;
    transition: opacity 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
  }
  .a-frameIn.is-show {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  .a-fadeIn_01 {
    opacity: 0;
    -webkit-filter: blur(10px);
            filter: blur(10px);
    -webkit-transition: opacity 0.3s ease, -webkit-filter 0.3s ease;
    transition: opacity 0.3s ease, -webkit-filter 0.3s ease;
    transition: opacity 0.3s ease, filter 0.3s ease;
    transition: opacity 0.3s ease, filter 0.3s ease, -webkit-filter 0.3s ease;
  }
  .a-fadeIn_01.is-show {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
  }
  .a-fadeUp {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
    -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
    transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
    transition: opacity 0.3s ease, transform 0.3s ease;
    transition: opacity 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
  }
  .a-fadeUp.is-show {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  @-webkit-keyframes katakata {
    0% {
      -webkit-transform: rotate(5deg);
              transform: rotate(5deg);
    }
    100% {
      -webkit-transform: rotate(-5deg);
              transform: rotate(-5deg);
    }
  }
  @keyframes katakata {
    0% {
      -webkit-transform: rotate(5deg);
              transform: rotate(5deg);
    }
    100% {
      -webkit-transform: rotate(-5deg);
              transform: rotate(-5deg);
    }
  }
  @-webkit-keyframes pyonpyon {
    0% {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
    10% {
      -webkit-transform: translateY(-5%);
              transform: translateY(-5%);
    }
    20% {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
    30% {
      -webkit-transform: translateY(-5%);
              transform: translateY(-5%);
    }
    40% {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
    100% {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
  }
  @keyframes pyonpyon {
    0% {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
    10% {
      -webkit-transform: translateY(-5%);
              transform: translateY(-5%);
    }
    20% {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
    30% {
      -webkit-transform: translateY(-5%);
              transform: translateY(-5%);
    }
    40% {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
    100% {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
  }
  @-webkit-keyframes flicker {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
  @keyframes flicker {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
  @-webkit-keyframes yokoyure {
    0% {
      -webkit-transform: translateX(0);
              transform: translateX(0);
    }
    50% {
      -webkit-transform: translateX(2px);
              transform: translateX(2px);
    }
    100% {
      -webkit-transform: translateX(0);
              transform: translateX(0);
    }
  }
  @keyframes yokoyure {
    0% {
      -webkit-transform: translateX(0);
              transform: translateX(0);
    }
    50% {
      -webkit-transform: translateX(2px);
              transform: translateX(2px);
    }
    100% {
      -webkit-transform: translateX(0);
              transform: translateX(0);
    }
  }
  @-webkit-keyframes tateyure {
    0% {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
    50% {
      -webkit-transform: translateY(2px);
              transform: translateY(2px);
    }
    100% {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
  }
  @keyframes tateyure {
    0% {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
    50% {
      -webkit-transform: translateY(2px);
              transform: translateY(2px);
    }
    100% {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
  }
  @-webkit-keyframes buruburu {
    0% {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
    2% {
      -webkit-transform: translateY(2px);
              transform: translateY(2px);
    }
    4% {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
    6% {
      -webkit-transform: translateY(2px);
              transform: translateY(2px);
    }
    8% {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
    10% {
      -webkit-transform: translateY(2px);
              transform: translateY(2px);
    }
    12% {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
    14% {
      -webkit-transform: translateY(2px);
              transform: translateY(2px);
    }
    16% {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
    100% {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
  }
  @keyframes buruburu {
    0% {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
    2% {
      -webkit-transform: translateY(2px);
              transform: translateY(2px);
    }
    4% {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
    6% {
      -webkit-transform: translateY(2px);
              transform: translateY(2px);
    }
    8% {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
    10% {
      -webkit-transform: translateY(2px);
              transform: translateY(2px);
    }
    12% {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
    14% {
      -webkit-transform: translateY(2px);
              transform: translateY(2px);
    }
    16% {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
    100% {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
  }
}