@charset "utf-8";

/* *************************************
// 変数宣言
************************************* */
:root {
  --rem: 1rem / 16;
  --black: #333333;
  --white: white;
  --maru: 'Zen Maru Gothic', serif;
  --sans: 'Noto Sans JP', sans-serif;
  --en: 'Roboto', sans-serif;
  --color1: #5bc4d8;
  --color2: #e4f5f8;
  --color3: #93d36c;
  --color4: rgba(255, 255, 255, 0.8);
  --color5: #f1f4ef;
  --color6: #f4f4f6;
}

/* *************************************
// setting
************************************* */
:root {
  --leading-trim: calc((1em - 1lh) / 2);
  /* margin-block: var(--leading-trim); */
}

* {
  min-inline-size: 0;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  min-height: 100vh;
  font-size: calc(16 * var(--rem));
  font-family: var(--maru);
  background-color: var(--white);
  scroll-behavior: smooth;
  color: var(--black);
  position: relative;
}

body.is-active {
  overflow: hidden;
}

p {
  font-size: calc(16 * var(--rem));
  line-height: 1.8;
}

a:not([class]) {
  text-decoration-skip-ink: auto;
}

a {
  text-decoration: none;
  color: inherit;
  transition: opacity 0.3s;
  outline: none;
}

@media (any-hover: hover) {
  a:hover {
    opacity: 0.7;
  }
}

a[href^='tel:'] {
  pointer-events: none;
  @media (width < 768px) {
    pointer-events: revert;
  }
}

figure,
img,
picture {
  max-width: 100%;
  display: block;
}

:focus:not(:focus-visible) {
  outline: none;
}

/* *************************************
// ルートフォント設定
************************************* */
html {
  /* デフォルト */
  font-size: 100%;
}
/*　インナー幅＋余白 〜 */
@media (width < 1440px) {
  html {
    font-size: calc(100vw * (16 / 1440));
  }
}
/* 376px ~ 768px */
@media (width < 768px) {
  html {
    font-size: 100%;
  }
}
/* ~ 375px */
@media (width < 375px) {
  html {
    font-size: calc(100vw * (16 / 375));
  }
}

/* *************************************
// インナー設定(PC first)
************************************* */
:root {
  --padding-inline-pc: 25px;
  --padding-inline-sp: 20px;
  --inner-width-pc: 1080px;
  --inner-width-sp: 600px;
}

.inner {
  padding-inline: var(--padding-inline-pc);
  width: min(100%, calc(var(--inner-width-pc) + var(--padding-inline-pc) * 2));
  margin-inline: auto;
  @media (width < 768px) {
    padding-inline: var(--padding-inline-sp);
    max-width: calc(var(--inner-width-sp) + var(--padding-inline-sp) * 2);
  }
}

.inner.inner--s {
  width: min(100%, calc(800 * var(--rem)));
}

.inner.inner--100 {
  width: 100%;
}

/* *************************************
// class
************************************* */
.pc_none {
  display: none;
}

@media (width < 768px) {
  .pc_none {
    display: block;
  }

  .sp_none {
    display: none;
  }
}

.section-space {
  margin-block-start: calc(120 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(56 * var(--rem));
  }
}

.mbs80 {
  margin-block-start: calc(80 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(40 * var(--rem));
  }
}

/* *************************************
taki
************************************* */
.taki {
  position: relative;
}

.taki::after {
  content: '';
  position: absolute;
  display: block;
  width: calc(250 * var(--rem));
  aspect-ratio: 1;
  background: url(../../library/images/common/taki.webp) no-repeat center / contain;
  position: absolute;
  top: -9%;
  left: 84%;
  transform: translateX(-50%);
  opacity: 0.6;
  @media (width < 768px) {
    width: calc(150 * var(--rem));
    left: 64%;
  }
}

/* *************************************
take
************************************* */
.take {
  position: relative;
}

.take::after {
  content: '';
  position: absolute;
  display: block;
  width: calc(250 * var(--rem));
  height: calc(250 * var(--rem));
  background: url(../../library/images/common/take-g.webp) no-repeat center / contain;
  position: absolute;
  bottom: -31%;
  left: 1%;
  transform: translateX(-50%) translateY(-50%);
  opacity: 0.6;
}

/* *************************************
momiji
************************************* */
.momiji {
  position: relative;
  z-index: 1;
}

.momiji::after {
  content: '';
  position: absolute;
  display: block;
  width: calc(250 * var(--rem));
  height: calc(250 * var(--rem));
  background: url(../../library/images/common/momiji.webp) no-repeat center / contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  opacity: 0.6;
}

/* *************************************
logo
************************************* */
.logo {
  display: block;
}

.logo__block {
  display: grid;
  row-gap: calc(8 * var(--rem));
  padding-inline-start: calc(60 * var(--rem));
  position: relative;
  @media (width < 768px) {
    padding-inline-start: calc(47 * var(--rem));
    width: fit-content;
    margin-inline: auto;
  }
}

.logo__block::before {
  content: '';
  display: inline-block;
  width: calc(55 * var(--rem));
  aspect-ratio: 1;
  background: url(../../library/images/common/logo.png) no-repeat center / contain;
  position: absolute;
  top: 0;
  left: 0;
  @media (width < 768px) {
    width: calc(40 * var(--rem));
  }
}

.logo__jp {
  font-size: calc(30 * var(--rem));
  font-weight: bold;
  line-height: 1;
  @media (width < 768px) {
    font-size: calc(22 * var(--rem));
  }
}

.logo__en {
  font-size: calc(20 * var(--rem));
  line-height: 1;
  letter-spacing: 0.5em;
  font-family: var(--en);
  font-weight: bold;
  @media (width < 768px) {
    font-size: calc(16 * var(--rem));
  }
}

.logo.logo--mv {
  background-color: var(--white);
  padding: calc(20 * var(--rem)) calc(40 * var(--rem));
}

.logo.logo--mv .logo__jp {
  font-size: calc(50 * var(--rem));
}

.logo.logo--mv .logo__block {
  padding-inline-start: calc(85 * var(--rem));
  width: fit-content;
  margin-inline: auto;
}

.logo.logo--mv .logo__block::before {
  width: calc(75 * var(--rem));
  top: 50%;
  transform: translateY(-50%);
}

.logo.logo--mv .logo__en {
  font-size: calc(30 * var(--rem));
}

/* *************************************
// ヘッダー
************************************* */
.header {
  height: calc(100 * var(--rem));
  background-color: var(--white);
  position: absolute;
  top: calc(100svh - calc(100 * var(--rem)));
  left: 0;
  right: 0;
  z-index: 1000000;
  transition: box-shadow 0.3s ease;
  @media (width < 768px) {
    top: 0;
    height: calc(80 * var(--rem));
  }
}

.header.is-active,
.header.not-front {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
}

.header.is-active {
  box-shadow: 0px 10px 20px 0px rgb(0 0 0 / 0.2);
}

.header__inner {
  padding-inline-start: calc(10 * var(--rem));
  height: inherit;
}

.header__container {
  height: inherit;
  display: flex;
  align-items: center;
  column-gap: calc(24 * var(--rem));
}

.header__logo {
  height: inherit;
}

.header__logo-link {
  display: block;
  height: inherit;
  display: grid;
  place-content: center;
}

.header__title {
  font-size: calc(28 * var(--rem));
  font-weight: bold;
  line-height: 1.3;
  display: inline-grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  @media (width < 768px) {
    font-size: calc(22 * var(--rem));
    gap: 0 calc(8 * var(--rem));
  }
}

.header__title::before {
  content: '';
  display: block;
  width: calc(40 * var(--rem));
  aspect-ratio: 1;
  background: url(../../library/images/common/logo.png) no-repeat center / contain;
}

.header__modal {
  display: contents;
  @media (width < 768px) {
    width: 100%;
    height: 100svh;
    position: absolute;
    inset: 0;
    z-index: 10;
    background-color: var(--white);
    display: block;
    visibility: hidden;
    opacity: 0;
    padding: calc(40 * var(--rem)) calc(20 * var(--rem));
    overflow: scroll;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }
}

.header__modal.is-active {
  visibility: visible;
  opacity: 1;
}

.header__wrap {
  margin-inline-start: auto;
  @media (width < 768px) {
    min-height: calc(750 * var(--rem));
  }
}

.header__sns {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
  column-gap: calc(16 * var(--rem));
  margin-inline-start: auto;
  @media (width < 768px) {
    margin-inline-start: 0;
    margin-block-start: calc(40 * var(--rem));
    display: flex;
    justify-content: center;
  }
}

.header__sns a {
  display: block;
  width: calc(40 * var(--rem));
  padding: calc(5 * var(--rem));
  @media (width < 768px) {
    width: calc(56 * var(--rem));
  }
}

.header__sns a img {
  aspect-ratio: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.header__nav {
  display: grid;
  row-gap: calc(12 * var(--rem));
}

.header__nav-main ul {
  display: grid;
  grid-template-columns: repeat(6, auto);
  column-gap: calc(50 * var(--rem));
  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
}

.header__nav-main ul li {
  position: relative;
  @media (width < 768px) {
    padding-inline-start: calc(40 * var(--rem));
    border-bottom: 1px solid var(--color1);
  }
}

.header__nav-main ul li::before {
  content: '';
  display: block;
  width: calc(30 * var(--rem));
  aspect-ratio: 1;
  background: url(../../library/images/svg/header-icon1.svg) no-repeat center / contain;
  position: absolute;
  top: 54%;
  left: calc(-31 * var(--rem));
  transform: translateY(-50%);
  @media (width < 768px) {
    left: 0;
  }
}

.header__nav-main ul li:nth-child(7) {
  display: none;
  @media (width < 768px) {
    display: block;
  }
}

.header__nav-main ul li:nth-child(2):before {
  background: url(../../library/images/svg/header-icon2.svg) no-repeat center / contain;
}
.header__nav-main ul li:nth-child(3):before {
  background: url(../../library/images/svg/header-icon3.svg) no-repeat center / contain;
}
.header__nav-main ul li:nth-child(4):before {
  background: url(../../library/images/svg/header-icon4.svg) no-repeat center / contain;
}
.header__nav-main ul li:nth-child(5):before {
  background: url(../../library/images/svg/header-icon5.svg) no-repeat center / contain;
}
.header__nav-main ul li:nth-child(6):before {
  background: url(../../library/images/svg/header-icon6.svg) no-repeat center / contain;
}

.header__nav-main ul li:nth-child(7):before {
  background: url(../../library/images/svg/header-icon7.svg) no-repeat center / contain;
  display: none;
  @media (width < 768px) {
    display: block;
  }
}

.header__nav-main ul li a {
  font-size: calc(22 * var(--rem));
  font-weight: bold;
  padding: calc(5 * var(--rem));
  @media (width < 768px) {
    display: block;
    padding-block: calc(16 * var(--rem));
  }
}

.header__nav-wrap {
  display: flex;
  column-gap: calc(16 * var(--rem));
  @media (width < 768px) {
    display: contents;
  }
}

.header__nav-sub ul {
  display: grid;
  grid-template-columns: repeat(5, auto);
  column-gap: calc(32 * var(--rem));
  padding-inline-end: calc(24 * var(--rem));
  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
}

.header__nav-sub ul li a {
  font-size: calc(18 * var(--rem));
  font-weight: bold;
  padding: calc(5 * var(--rem));
  display: inline-flex;
  align-items: center;
  column-gap: calc(4 * var(--rem));
  @media (width < 768px) {
    padding-block: calc(8 * var(--rem));
    display: flex;
  }
}

.header__nav-sub ul li a::before {
  content: '';
  display: block;
  width: calc(8 * var(--rem));
  aspect-ratio: 1;
  background: url(../../library/images/svg/arrows.svg) no-repeat center / contain;
}

.header__tel-block {
  height: inherit;
  @media (width < 768px) {
    margin-inline-start: auto;
  }
}

.header__tel-block a {
  height: inherit;
  display: inline-grid;
  place-content: center;
  background-color: var(--color1);
  font-size: calc(20 * var(--rem));
  font-weight: bold;
  color: var(--white);
  padding-inline: calc(16 * var(--rem));
  @media (width < 768px) {
    font-size: calc(16 * var(--rem));
  }
}

.header__hamburger {
  display: none;
  @media (width < 768px) {
    display: block;
    position: fixed;
    bottom: calc(10 * var(--rem));
    right: calc(1 * var(--rem));
    z-index: 100;
    background-color: var(--color1);
    padding: calc(8 * var(--rem));
  }
}

/* *************************************
フッター
************************************* */
.footer {
  background-color: var(--color5);
  padding-block-start: calc(40 * var(--rem));
}

.footer__inner {
  padding-inline: calc(20 * var(--rem));
}

.footer__container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 calc(80 * var(--rem));
  @media (width < 768px) {
    grid-template-columns: 1fr;
    gap: calc(24 * var(--rem));
  }
}

.footer__mate {
  margin-block-start: calc(16 * var(--rem));
}

.footer__title {
  font-size: calc(20 * var(--rem));
  font-weight: bold;
  color: var(--color1);
  @media (width < 768px) {
    font-size: calc(18 * var(--rem));
  }
}

.footer__title-sub {
  font-weight: bold;
}

.footer__tel-block {
  display: inline-grid;
  grid-template-columns: repeat(3, auto);
}

.footer__plastic {
  display: inline-block;
  padding-block: calc(4 * var(--rem));
  color: var(--color3);
  @media (width < 768px) {
    margin-block-start: calc(40 * var(--rem));
  }
}

.footer__link {
 display: inline-block;
 padding-block: calc(4 * var(--rem));
 color: var(--color1);
}

.footer__item a {
  padding-block: calc(4 * var(--rem));
  color: var(--color3);
  display: block;
}


.footer__sns {
  width: fit-content;
  display: grid;
  grid-template-columns: repeat(3, auto);
  column-gap: calc(16 * var(--rem));
  margin-block-start: calc(40 * var(--rem));
  margin-inline-start: auto;
  @media (width < 768px) {
    margin-inline: auto;
  }
}

.footer__copy {
  margin-block-start: calc(40 * var(--rem));
  display: block;
  background-color: var(--black);
  text-align: center;
  padding: calc(4 * var(--rem));
  color: var(--white);
}

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

parts パーツ

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

/* *************************************
hamburger
************************************* */
.hamburger {
  width: fit-content;
  text-align: center;
}

@media (any-hover: hover) {
  .hamburger:hover {
    cursor: pointer;
  }
}

.hamburger__btn {
  padding: calc(8 * var(--rem));
}

.hamburger__btn span {
  display: block;
  width: calc(32 * var(--rem));
  height: calc(2 * var(--rem));
  background-color: var(--white);
  transition: 0.3s ease;
}

.hamburger__btn span:nth-child(2) {
  margin: calc(8 * var(--rem)) 0;
}

/* is-active */
.hamburger.is-active .hamburger__btn span:nth-child(1) {
  transform: translateY(calc(10 * var(--rem))) rotate(45deg);
}
.hamburger.is-active .hamburger__btn span:nth-child(2) {
  opacity: 0;
}
.hamburger.is-active .hamburger__btn span:nth-child(3) {
  transform: translateY(calc(-10 * var(--rem))) rotate(-45deg);
}

.header.is-active .header__hamburger {
  @media (width < 768px) {
    display: block;
  }
}

.hamburger__menu,
.hamburger__close {
  text-transform: uppercase;
  font-size: calc(12 * var(--rem));
  font-weight: bold;
  font-family: var(--jp);
  line-height: 1;
  color: var(--white);
}

.hamburger.is-active .hamburger__menu {
  display: none;
}

.hamburger__close {
  display: none;
}

.hamburger.is-active .hamburger__close {
  display: block;
}

/* *************************************
kumo
************************************* */
.kumo {
  position: relative;
}

.kumo::before,
.kumo::after {
  content: '';
  display: block;
  width: 80%;
  height: 80%;
  background: url(../images/top/ja-gara.webp) no-repeat center / cover;
  position: absolute;
  z-index: -1;
  opacity: 0.2;
}

.kumo::before {
  top: 0;
  left: 0;
}

.kumo::after {
  bottom: 0;
  right: 0;
}

/* *************************************
mari
************************************* */
.mari {
  position: relative;
}

.mari::after {
  content: '';
  display: block;
  width: calc(150 * var(--rem));
  aspect-ratio: 1;
  background: url(../images/top/pattern01.webp) no-repeat center / cover;
  position: absolute;
  bottom: -10%;
  left: -1%;
  z-index: -1;
  opacity: 0.4;
  @media (width < 768px) {
    bottom: 0;
    left: 0;
  }
}

/* *************************************
btn1
************************************* */
.btn1 {
  display: inline-block;
  min-width: calc(180 * var(--rem));
  font-weight: bold;
  background-color: var(--color3);
  padding: calc(10 * var(--rem)) calc(20 * var(--rem));
  text-align: center;
  border-radius: 100vmax;
  color: var(--white);
}

/* *************************************
btn2
************************************* */
.btn2 {
  display: inline-grid;
  grid-template-columns: repeat(3, auto);
  place-content: center;
  align-items: center;
  gap: 0 calc(4 * var(--rem));
  min-width: calc(180 * var(--rem));
  font-weight: bold;
  background-color: var(--color3);
  padding: calc(10 * var(--rem)) calc(20 * var(--rem));
  text-align: center;
  border-radius: 100vmax;
  margin-inline: auto;
  color: var(--white);
}

.btn2::before {
  content: '';
  display: block;
  width: calc(16 * var(--rem));
  aspect-ratio: 1;
  background: url(../../library/images/svg/search.svg) no-repeat center / contain;
}

.btn2::after {
  content: '';
}

.btn2.btn2--hata::before {
  background: url(../../library/images/svg/hata.svg) no-repeat center / contain;
}

/* *************************************
back-btn
************************************* */
.back-btn {
  text-align: center;
  margin-block-start: calc(64 * var(--rem));
  padding-block-end: calc(40 * var(--rem));
}

/* *************************************
title1
************************************* */
.title1 {
  font-size: calc(35 * var(--rem));
  font-weight: bold;
  display: grid;
  justify-items: center;
  row-gap: calc(16 * var(--rem));
  @media (width < 768px) {
    font-size: calc(28 * var(--rem));
  }
}

.title1::after {
  content: '';
  display: block;
  width: calc(100 * var(--rem));
  height: calc(3 * var(--rem));
  background-color: var(--color1);
}

/* *************************************
title2
************************************* */
.title2 {
  display: grid;
  justify-items: center;
  row-gap: calc(16 * var(--rem));
}

.title2::after {
  content: '';
  display: block;
  width: calc(100 * var(--rem));
  height: calc(3 * var(--rem));
  background-color: var(--color1);
}

.title2.title2--s {
  font-size: calc(30 * var(--rem));
  @media (width < 768px) {
    font-size: calc(26 * var(--rem));
  }
}

.title2.title2--s::after {
  width: calc(80 * var(--rem));
}

/* *************************************
title3
************************************* */
.title3 {
  position: relative;
  z-index: 1;
}

.title3::before {
  content: '';
  display: block;
  width: calc(80 * var(--rem));
  height: calc(3 * var(--rem));
  background-color: var(--color1);
  position: absolute;
  top: calc(-16 * var(--rem));
  left: 50%;
  transform: translateX(-50%);
}

.title3.title3--white::before {
  background-color: var(--white);
}

.title3__jp {
  font-size: calc(40 * var(--rem));
  font-weight: bold;
  font-family: var(--sans);
  line-height: 1.1;
  letter-spacing: 0.1em;
  @media (width < 768px) {
    font-size: calc(30 * var(--rem));
  }
}

.title3__en {
  line-height: 1.5;
  letter-spacing: 0.2em;
  font-size: calc(20 * var(--rem));
  font-weight: bold;
  color: var(--color1);
  text-transform: capitalize;
  @media (width < 768px) {
    font-size: calc(16 * var(--rem));
  }
}

.title3.title3--white .title3__jp,
.title3.title3--white .title3__en {
  color: var(--white);
}

/* .title3::before {
  position: absolute;
  left: 0;
  bottom: calc(-8 * var(--rem));
  width: 100%;
  height: calc(6 * var(--rem));
  transform: skew(-45deg);
  background-image: repeating-linear-gradient(90deg, transparent 0 4px, var(--color1) 4px 8px);
  content: '';
} */

/* *************************************
title4
************************************* */
.title4 {
  font-size: calc(40 * var(--rem));
  font-weight: bold;
  padding-inline-start: calc(16 * var(--rem));
  position: relative;
  @media (width < 768px) {
    font-size: calc(26 * var(--rem));
  }
}

.title4::before {
  content: '';
  display: block;
  width: calc(8 * var(--rem));
  height: 100%;
  background-color: var(--color1);
  position: absolute;
  top: 0;
  left: 0;
}

/* *************************************
title5
************************************* */
.title5 {
  background-color: var(--color6);
  font-size: calc(26 * var(--rem));
  border-left: calc(5 * var(--rem)) solid var(--color1);
  padding: calc(8 * var(--rem)) calc(8 * var(--rem));
  @media (width < 768px) {
    font-size: calc(20 * var(--rem));
  }
}

/* *************************************
title6
************************************* */
.title6 {
  font-size: calc(20 * var(--rem));
  font-weight: bold;
  border-bottom: 1px solid var(--color1);
  padding-block-end: calc(4 * var(--rem));
}

/* *************************************
title7
************************************* */
.title7 {
  font-size: calc(18 * var(--rem));
  font-weight: bold;
  display: inline-grid;
  grid-template-columns: auto 1fr;
  gap: calc(8 * var(--rem));
  align-items: center;
}

.title7::before {
  content: '';
  display: block;
  width: calc(24 * var(--rem));
  aspect-ratio: 1;
  background: url(../../library/images/svg/arrow.svg) no-repeat center / contain;
}

/* *************************************
title8
************************************* */
.title8 {
  background: linear-gradient(90deg, #5bc4d8 0%, #5bc4d8 65%, transparent 95%, transparent 100%);
  padding: calc(16 * var(--rem)) calc(20 * var(--rem));
  font-size: calc(30 * var(--rem));
  color: var(--white);
  font-weight: bold;
  letter-spacing: 0.1em;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: calc(8 * var(--rem));
  @media (width < 768px) {
    font-size: calc(22 * var(--rem));
    padding: calc(8 * var(--rem));
  }
}

.title8::before {
  content: '';
  display: block;
  width: calc(40 * var(--rem));
  aspect-ratio: 1;
  background: url(../../library/images/svg/ki.svg) no-repeat center / contain;
  @media (width < 768px) {
    width: calc(30 * var(--rem));
  }
}

.title8.title8--rekishi::before {
  background: url(../../library/images/svg/sasa.svg) no-repeat center / contain;
}

.title8.title8--tokusan::before {
  background: url(../../library/images/svg/mikan.svg) no-repeat center / contain;
}

/* *************************************
banner-list
************************************* */
.banner-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, calc(200 * var(--rem))), 1fr));
  gap: calc(8 * var(--rem));
  position: relative;
  z-index: 1;
}

.banner-list__link {
  @media (width < 768px) {
    padding-block: calc(8 * var(--rem));
    display: block;
  }
}

.banner-list__link img {
  aspect-ratio: 200 /40;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* *************************************
list1
************************************* */
.list1 {
}

.list1__item {
}

.list1__link {
  display: block;
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: calc(24 * var(--rem));
  padding: calc(24 * var(--rem)) calc(8 * var(--rem));
  border-bottom: 1px solid var(--white);
  @media (width < 768px) {
    grid-template-columns: 1fr;
    gap: calc(24 * var(--rem));
  }
}

.list1__item:last-child .list1__link {
  border-bottom: none;
}

.list1__img {
  width: calc(215 * var(--rem));
  @media (width < 768px) {
    width: 100%;
  }
}

.list1__img img {
  aspect-ratio: 3 /2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.list1__wrap {
  display: inline-grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  column-gap: calc(16 * var(--rem));
}

.list1__time {
  color: var(--white);
  font-size: calc(18 * var(--rem));
}

.list1__cat {
  background-color: var(--color3);
  padding-inline: calc(16 * var(--rem));
  border-radius: 4px;
  color: var(--white);
  text-transform: uppercase;
}

.list1__title {
  font-size: calc(22 * var(--rem));
  font-weight: bold;
  color: var(--white);
  margin-block-start: calc(4 * var(--rem));
  font-family: var(--sans);
}

.list1__text {
  color: var(--color4);
  margin-block-start: calc(8 * var(--rem));
}

.list1__text p {
  margin-block-start: calc(8 * var(--rem));
}

.list1.list1--k .list1__link {
  border-bottom: 1px solid var(--color1);
}

.list1.list1--k .list1__time,
.list1.list1--k .list1__title,
.list1.list1--k .list1__text {
  color: var(--black);
}

.list1.list1--maru .list1__img {
  border-radius: 9px;
  overflow: hidden;
}

/* *************************************
list2
************************************* */
.list2 {
}

.list2__item a {
  display: grid;
  grid-template-columns: 4fr 6fr;
  gap: 0 calc(24 * var(--rem));
  border-bottom: 1px solid var(--color1);
  padding-block: calc(24 * var(--rem));
  padding-inline: calc(8 * var(--rem));
  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
}

.list2__item a:first-child {
  border-top: 1px solid var(--color1);
}

.list2__img img {
  aspect-ratio: 3 / 2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.list2__wrap {
  @media (width < 768px) {
    margin-block-start: calc(16 * var(--rem));
  }
}

.list2__title {
  font-size: calc(24 * var(--rem));
  font-weight: bold;
  color: var(--color1);
  letter-spacing: 0.1em;
}

.list2__text {
  font-family: var(--sans);
  margin-block-start: calc(8 * var(--rem));
  line-height: 1.8;
}

/* *************************************
list3
************************************* */
.list3 {
}

.list3__item a {
  display: inline-grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 0 calc(8 * var(--rem));
  font-size: calc(18 * var(--rem));
  font-weight: bold;
  color: #93d36c;
  padding: calc(8 * var(--rem));
}

.list3__item a::before {
  content: '';
  display: block;
  width: calc(26 * var(--rem));
  aspect-ratio: 1;
  background: url(../../library/images/svg/train-g.svg) no-repeat center / contain;
}

.list3.list3--car .list3__item a::before {
  background: url(../../library/images/svg/car-g.svg) no-repeat center / contain;
}

.list3.list3--cab .list3__item a::before {
  background: url(../../library/images/svg/cab-g.svg) no-repeat center / contain;
}

.list3.list3--map .list3__item a::before {
  background: url(../../library/images/svg/map-g.svg) no-repeat center / contain;
}

/* *************************************
card-list1
************************************* */
.card-list1 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(40 * var(--rem)) calc(24 * var(--rem));
  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
}

.card-list1::after {
}

.card-list1__item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  background-color: var(--white);
}

.card-list1__link {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  background-color: var(--white);
  row-gap: calc(8 * var(--rem));
  box-shadow: 0px 10px 20px 0px rgb(0 0 0 / 0.2);
  transition: opacity 0.3s ease;
}

@media (any-hover: hover) {
  .card-list1__link:hover {
    opacity: 0.7;
  }
}

.card-list1__img img {
  aspect-ratio: 3/ 2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background-color: #ccc;
}

.card-list1__title {
  font-size: calc(20 * var(--rem));
  font-weight: bold;
  padding-inline: calc(16 * var(--rem));
}

.card-list1__text {
  padding-inline: calc(16 * var(--rem));
  padding-block-end: calc(16 * var(--rem));
  font-family: var(--sans);
}

.card-list1.card-list1--col4 {
  grid-template-columns: repeat(4, 1fr);
  gap: calc(16 * var(--rem));
  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
}

.card-list1.card-list1--col4 .card-list1__title {
  font-size: calc(18 * var(--rem));
}

/* *************************************
card-list2
************************************* */
.card-list2 {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr));
  gap: calc(16 * var(--rem));
}

.card-list2__item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
}

.card-list2__link {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  border: 1px solid var(--color2);
  padding-block-end: calc(8 * var(--rem));
  gap: calc(8 * var(--rem));
}

.card-list2__img img {
  aspect-ratio: 256 /170;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.card-list2__cat-list {
  display: flex;
  gap: calc(2 * var(--rem));
  flex-wrap: wrap;
  align-items: flex-start;
  padding: calc(4 * var(--rem));
}

.card-list2__cat-item {
  font-size: calc(14 * var(--rem));
  background-color: var(--black);
  color: var(--white);
  padding: calc(calc(2 * var(--rem))) calc(4 * var(--rem));
}

.card-list2__title {
  padding-inline: calc(4 * var(--rem));
  font-size: calc(18 * var(--rem));
}

/* *************************************
card1
************************************* */
.card1 {
  display: block;
}

.card1__img img {
  aspect-ratio: 3 /2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.card1__time {
  font-size: calc(18 * var(--rem));
  font-weight: bold;
}

.card1__title {
  font-size: calc(18 * var(--rem));
  line-height: 1.5;
  font-weight: bold;
}

/* *************************************
card3
************************************* */
.card3 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(16 * var(--rem)) calc(24 * var(--rem));
  background: url(../../library/images/bg-washi/washi1.webp) repeat center / contain;
  border: 5px double var(--color2);
  position: relative;
  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
}

.card3::before,
.card3::after {
  content: '';
  display: block;
  width: calc(16 * var(--rem));
  aspect-ratio: 1;
  background-color: var(--color2);
  rotate: 45deg;
  position: absolute;
  outline: 1px solid var(--bg1);
  outline-offset: calc(-4 * var(--rem));
}

.card3::before {
  top: calc(-10 * var(--rem));
  left: calc(-10 * var(--rem));
}

.card3::after {
  bottom: calc(-10 * var(--rem));
  right: calc(-10 * var(--rem));
}

.card3__img img {
  aspect-ratio: 510 /350;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.card3__wrap {
  display: flex;
  flex-direction: column;
  padding: calc(20 * var(--rem));
  @media (width < 768px) {
    padding-block: 0 calc(24 * var(--rem));
  }
}

.card3__title {
  font-size: calc(24 * var(--rem));
  font-weight: bold;
  display: inline-grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  column-gap: calc(8 * var(--rem));
  @media (width < 768px) {
    font-size: calc(20 * var(--rem));
  }
}

.card3__title::before {
  content: '';
  display: block;
  width: calc(16 * var(--rem));
  aspect-ratio: 1;
  background-color: var(--black);
  rotate: 45deg;
}

.card3__text {
  margin-block-start: calc(16 * var(--rem));
}

.card3__text p {
  margin-block-end: 1em;
}

.card3__btn {
  margin-block-start: auto;
  text-align: center;
  @media (width < 768px) {
    margin-block-start: calc(24 * var(--rem));
  }
}

/* *************************************
cat-list1
************************************* */
.cat-list1 {
  display: flex;
  justify-content: center;
  gap: calc(16 * var(--rem));
  flex-wrap: wrap;
}

.cat-list1__item {
  display: inline-block;
  background-color: var(--black);
  color: var(--white);
  padding: calc(5 * var(--rem)) calc(16 * var(--rem));
}

/* *************************************
table1
************************************* */
.table1 {
  border: 1px solid var(--color1);
}

.table1__item {
  display: grid;
  grid-template-columns: calc(180 * var(--rem)) 1fr;
  background-color: var(--white);
  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
}

.table1__item:not(:last-child) {
  border-bottom: 1px solid var(--color1);
}

.table1__item dt {
  display: grid;
  place-content: center;
  padding: calc(10 * var(--rem));
  background-color: var(--color2);
  font-family: var(--sans);
}

.table1__item dd {
  padding: calc(10 * var(--rem)) calc(24 * var(--rem));
  border-left: 1px solid var(--color1);
  font-family: var(--sans);
  @media (width < 768px) {
    text-align: center;
    border-left: none;
    padding-inline: calc(10 * var(--rem));
  }
}

.table1__item.table1__item--flex dd {
  display: flex;
  gap: calc(16 * var(--rem));
  @media (width < 768px) {
    justify-content: center;
  }
}

.table1__item dd a {
  color: var(--color3);
}

.table1__item .table1__wrap {
  display: grid;
  gap: calc(4 * var(--rem));
}

.cat-list {
  display: flex;
  gap: calc(16 * var(--rem));
  flex-wrap: wrap;
}

.cat-list__item {
}

.cat-list__item a {
  display: block;
  background-color: var(--color1);
  padding: calc(2 * var(--rem)) calc(12 * var(--rem));
  font-size: calc(20 * var(--rem));
  color: var(--white);
  border-radius: 9px;
  text-transform: uppercase;
  @media (width < 768px) {
    font-size: calc(16 * var(--rem));
  }
}

.cat-list__item a.current {
  background-color: var(--color3);
}

.table1__note {
  margin-block-start: calc(16 * var(--rem));
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0 calc(16 * var(--rem));
}

/* *************************************
table2
************************************* */
.table2 {
  display: grid;
  gap: calc(16 * var(--rem));
}

.table2__wrap dt {
  background-color: var(--color2);
  padding: calc(8 * var(--rem));
}

.table2__wrap dd {
  padding: calc(8 * var(--rem));
}

.table2__wrap dd span {
  font-weight: bold;
}

/* *************************************
breadcrumb
************************************* */

.breadcrumb {
  margin-block-start: calc(16 * var(--rem));
}

.aioseo-breadcrumbs {
  display: flex;
  gap: 0 calc(8 * var(--rem));
  flex-wrap: wrap;
}

.breadcrumb span {
  text-transform: uppercase;
}

.breadcrumb span:first-child a {
  display: inline-flex;
  align-items: center;
  gap: 0 calc(4 * var(--rem));
}

.breadcrumb span:first-child a::before {
  content: '';
  display: inline-block;
  width: calc(16 * var(--rem));
  aspect-ratio: 1;
  background: url(../../library/images/svg/ie.svg) no-repeat center / contain;
}

/* *************************************
category-archive-list
************************************* */
.category-archive-list {
}

.category-archive-list__item {
  border-bottom: 2px solid var(--color1);
}

.category-archive-list__item a {
  display: block;
  padding-block: calc(40 * var(--rem));
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0 calc(24 * var(--rem));
  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
}

.category-archive-list__img {
  width: calc(200 * var(--rem));
  @media (width < 768px) {
    width: 100%;
  }
}

.category-archive-list__img img {
  aspect-ratio: 3 /2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.category-archive-list__term-list {
  display: flex;
  flex-wrap: wrap;
  gap: calc(8 * var(--rem));
  margin-block-start: calc(24 * var(--rem));
}

.category-archive-list__term-item {
  background-color: var(--color3);
  padding: calc(4 * var(--rem)) calc(16 * var(--rem));
  font-size: calc(14 * var(--rem));
  font-family: var(--sans);
  border-radius: 4px;
  color: var(--white);
}

.category-archive-list__title {
  font-size: calc(24 * var(--rem));
  font-family: var(--sans);
  border-left: calc(4 * var(--rem)) solid var(--color1);
  padding-left: calc(6 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(16 * var(--rem));
  }
}

.category-archive-list__text {
  font-family: var(--sans);
  margin-block-start: calc(8 * var(--rem));
  line-height: 1.8;
}

/* *************************************
annual-list
************************************* */
.annual-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 calc(24 * var(--rem));
  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
}

.annual-list__item a {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(16 * var(--rem));
  border-bottom: 1px solid var(--color1);
  padding-block: calc(24 * var(--rem));
  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
}

.annual-list__img {
  background-color: #eee;
}

.annual-list__img img {
  aspect-ratio: 3 /2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.annual-list__cat {
  display: inline-flex;
  gap: 0 calc(4 * var(--rem));
}

.annual-list__cat p {
  background-color: var(--color3);
  color: var(--white);
  padding: calc(2 * var(--rem)) calc(8 * var(--rem));
  border-radius: calc(4 * var(--rem));
}

.annual-list__time {
  font-size: calc(14 * var(--rem));
  margin-block-start: calc(4 * var(--rem));
}

.annual-list__title {
  font-weight: bold;
  margin-block-start: calc(8 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(4 * var(--rem));
  }
}

.annual-list__location {
  font-size: calc(15 * var(--rem));
}

/* *************************************
gallery
************************************* */
.gallery {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: calc(40 * var(--rem));
  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
}

.gallery__item a {
  display: block;
}

.gallery__img img {
  aspect-ratio: 3/2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gallery__wrap {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0 calc(16 * var(--rem));
}

.gallery__title {
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

.gallery__num {
  margin-inline-start: auto;
}

/* *************************************
pamphlet-list
************************************* */
.pamphlet-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: calc(24 * var(--rem));
  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
}

.pamphlet-list__item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
}

.pamphlet-list__item a {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: calc(10 * var(--rem)) 0;
  padding-bottom: calc(24 * var(--rem));
  border: calc(2 * var(--rem)) solid var(--color5);
}

.pamphlet-list__title {
  background-color: var(--color2);
  padding: calc(16 * var(--rem));

  display: grid;
  place-content: center;
}

.pamphlet-list__img {
  width: 70%;
  margin-inline: auto;
}

.pamphlet-list__img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.pamphlet-list__text {
  color: var(--color1);
  font-weight: bold;
  font-family: var(--sans);
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 0 calc(8 * var(--rem));
  width: fit-content;
  margin-inline: auto;
  margin-block-start: calc(8 * var(--rem));
}

.pamphlet-list__text::after {
  content: '';
  display: block;
  width: calc(20 * var(--rem));
  aspect-ratio: 1;
  background: url(../../library/images/svg/dl.svg) no-repeat center / contain;
}

/* *************************************
timetable
************************************* */
.timetable {
}

.timetable__table {
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: calc(16 * var(--rem));
  align-items: self-start;
  margin-block-start: calc(24 * var(--rem));
  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
}

.timetable__btn {
  margin-block-start: calc(24 * var(--rem));
  text-align: center;
}

/* *************************************
car-table
************************************* */
.car-table {
}

.car-table__table {
  margin-block-start: calc(24 * var(--rem));
}

/* *************************************
contact-card
************************************* */
.contact-card {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(24 * var(--rem));
  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
}

.contact-card__item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: calc(16 * var(--rem));
  background: url(../../library/images/contact/contact.webp) no-repeat center / cover;
  padding: calc(40 * var(--rem)) calc(16 * var(--rem));
  position: relative;
}

.contact-card__item::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background-color: #00000080;
  position: absolute;
  inset: 0;
  outline: 2px solid var(--white);
  outline-offset: calc(-6 * var(--rem));
}

.contact-card__title {
  font-size: calc(24 * var(--rem));
  color: var(--white);
  letter-spacing: 0.2em;
  text-align: center;
  position: relative;
}

.contact-card__text {
  margin-block-start: calc(24 * var(--rem));
  color: var(--white);
  z-index: 1;
  line-height: 2;
  position: relative;
  padding-block-end: calc(16 * var(--rem));
}

.contact-card__wrap {
  position: relative;
}

.contact-card__link {
  display: block;
  color: var(--white);
  border: 2px solid var(--white);
  padding: calc(10 * var(--rem));
  text-align: center;
}

.contact-card__link + .contact-card__link {
  margin-block-start: calc(16 * var(--rem));
}

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

セクション

---------------------------------------------------------------------------------------- */
/* *************************************
mv
************************************* */
.mv {
  height: calc(100svh - calc(100 * var(--rem)));
  background: repeating-linear-gradient(135deg, var(--color2), var(--color2) 2px, var(--white) 2px, var(--white) 4px);
  display: grid;
  grid-template-columns: 2fr 8fr;
  @media (width < 768px) {
    display: block;
    position: relative;
  }
}

.mv__title-block {
  position: relative;
  @media (width < 768px) {
    position: absolute;
    top: calc(100 * var(--rem));
    left: calc(20 * var(--rem));
    z-index: 10;
  }
}

.mv__title-block::after {
  content: '';
  display: block;
  width: calc(200 * var(--rem));
  aspect-ratio: 1;
  background: url(../../library/images/common/logo.png) no-repeat center / contain;
  position: absolute;
  bottom: 0%;
  left: 50%;
  transform: translateX(-50%);
  rotate: 15deg;
  opacity: 0.3;
  @media (width < 768px) {
    display: none;
  }
}

.mv__title {
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  display: grid;
  gap: calc(8 * var(--rem));
  z-index: 1;
  @media (width < 768px) {
    top: 0;
    left: 0;
    transform: revert;
  }
}

.mv__title p {
  font-size: calc(38 * var(--rem));
  font-weight: bold;
  background-color: var(--white);
  padding: calc(24 * var(--rem)) calc(8 * var(--rem));
  height: fit-content;
  white-space: nowrap;
  @media (width < 768px) {
    font-size: calc(26 * var(--rem));
    padding: calc(4 * var(--rem));
  }
}

.mv__swiper {
  height: inherit;
  width: 100%;
  margin-inline-start: auto;
}

.mv__swiper-contents.swiper {
  height: inherit;
}

.mv__swiper-wrap.swiper-wrapper {
  height: inherit;
}

.mv__swiper-img.swiper-slide {
  height: inherit;
}

.mv__swiper-img.swiper-slide img {
  aspect-ratio: 3/2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* *************************************
top-event
************************************* */
.top-event {
  padding-block: calc(160 * var(--rem)) calc(80 * var(--rem));
  background-color: var(--color2);
  overflow: hidden;
  @media (width < 768px) {
    padding-block: calc(40 * var(--rem));
  }
}

.top-event__container {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  column-gap: calc(24 * var(--rem));
  margin-inline-end: calc(50% - 50vw);
  @media (width < 768px) {
    grid-template-columns: 1fr;
    margin-inline: 0;
    row-gap: calc(40 * var(--rem));
  }
}

.top-event__wrap {
  padding: calc(40 * var(--rem)) calc(48 * var(--rem));
  border-radius: 24px;
  background-color: var(--white);
  position: relative;
  @media (width < 768px) {
    order: 2;
    padding: calc(32 * var(--rem));
  }
}

.top-event__title {
  text-align: center;
}

.top-event__btn {
  margin-block-start: calc(24 * var(--rem));
  text-align: center;
}

/* スライダー */
.top-event__swiper {
  position: relative;
  @media (width < 768px) {
    order: 1;
  }
}

.top-event__swiper .top-event__swiper-pagination.swiper-pagination {
  top: 105%;
  @media (width < 768px) {
    top: 100%;
  }
}

.top-event__swiper .swiper-pagination-bullet-active {
  background-color: var(--color1);
}

.top-event__swiper .swiper-button-prev,
.top-event__swiper .swiper-button-next {
  width: fit-content;
  top: 36%;
}

.top-event__swiper .swiper-button-prev::after,
.top-event__swiper .swiper-button-next::after {
  content: '';
  display: block;
  background: url(../../library/images/svg/arrow.svg) no-repeat center / cover;
  width: calc(35 * var(--rem));
  aspect-ratio: 1;
}

.top-event__swiper .swiper-button-prev::after {
  rotate: 180deg;
}

/* *************************************
top-banner
************************************* */
.top-banner {
  padding-block: calc(40 * var(--rem));
  background-color: var(--color2);
}

.top-banner__title {
  font-size: calc(35 * var(--rem));
  text-align: center;
  font-weight: bold;
  position: relative;
  z-index: 1;
}

.top-banner__sub-title {
  font-size: calc(26 * var(--rem));
  text-align: center;
  font-weight: bold;
  position: relative;
  z-index: 1;
}

.top-banner__list {
  margin-block-start: calc(32 * var(--rem));
}

/* *************************************
top-experience
************************************* */
.top-experience {
  padding-block: calc(100 * var(--rem));
}

.top-experience__title {
  text-align: center;
}

.top-experience__list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  margin-block-start: calc(40 * var(--rem));
  @media (width < 768px) {
    display: flex;
    flex-wrap: wrap;
  }
}

.top-experience__link {
  display: block;
  position: relative;
  transition: opacity 0.3s ease;
}

@media (any-hover: hover) {
  .top-experience__link:hover {
    opacity: 0.7;
  }
}

.top-experience__link::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background-color: #00000050;
  position: absolute;
  top: 0;
  left: 0;
}

.top-experience__link img {
  aspect-ratio: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.top-experience__item-title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  font-size: calc(30 * var(--rem));
  font-weight: bold;
  color: var(--white);
}

/* *************************************
top-pickup
************************************* */
.top-pickup {
  position: relative;
}

.top-pickup__title {
  text-align: center;
}

.top-pickup__lead {
  margin-block-start: calc(40 * var(--rem));
}

.top-pickup__lead p {
  text-align: center;
  font-size: calc(20 * var(--rem));
  font-weight: bold;
  @media (width < 768px) {
    font-size: calc(18 * var(--rem));
  }
}

.top-pickup__container {
  margin-block-start: calc(40 * var(--rem));
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: calc(40 * var(--rem));
  position: relative;
  @media (width < 768px) {
    grid-template-columns: 1fr;
    gap: calc(40 * var(--rem));
  }
}

.top-pickup__link {
  display: block;
  position: relative;
  transition: opacity 0.3s ease;
}

@media (any-hover: hover) {
  .top-pickup__link:hover {
    opacity: 0.7;
  }
}

.top-pickup__img {
  position: relative;
}

.top-pickup__img::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.top-pickup__img img {
  aspect-ratio: 510 /350;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.top-pickup__contents-title {
  font-size: calc(20 * var(--rem));
  font-weight: bold;
  position: absolute;
  left: calc(-16 * var(--rem));
  bottom: calc(-10 * var(--rem));
  z-index: 10;
  background-color: var(--color2);
  padding: calc(8 * var(--rem)) calc(16 * var(--rem));
  @media (width < 768px) {
    position: static;
    display: flex;
    align-items: end;
    justify-content: center;
  }
}

.top-pickup__contents-title span {
  display: block;
  font-size: calc(28 * var(--rem));
  @media (width < 768px) {
    font-size: calc(20 * var(--rem));
  }
}

.top-pickup__contents-title span::first-letter {
  font-size: calc(35 * var(--rem));
  color: var(--color1);
  @media (width < 768px) {
    font-size: calc(26 * var(--rem));
  }
}

/* *************************************
top-amagifu
************************************* */
.top-amagifu {
  padding-block: calc(80 * var(--rem));
  background: repeating-linear-gradient(135deg, var(--color2), var(--color2) 2px, var(--white) 2px, var(--white) 4px);
}

.top-amagifu__title-block {
  text-align: center;
  position: relative;
}

.top-amagifu__title-block::before {
  content: '';
  display: block;
  width: calc(660 * var(--rem));
  aspect-ratio: 1;
  background: url(../../library/images/top/AMAGIFT-log.svg) no-repeat center / contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  opacity: 0.1;
  @media (width < 768px) {
    width: calc(200 * var(--rem));
    top: -37%;
  }
}

.top-amagifu__title {
  font-size: calc(40 * var(--rem));
  font-weight: bold;
  font-family: var(--sans);
  line-height: 1.1;
  letter-spacing: 0.1em;
  @media (width < 768px) {
    font-size: calc(30 * var(--rem));
  }
}

.top-amagifu__title-en {
  line-height: 1.5;
  letter-spacing: 0.2em;
  font-size: calc(20 * var(--rem));
  font-weight: bold;
  text-transform: uppercase;
}

.top-amagifu__lead {
  margin-block-start: calc(72 * var(--rem));
  width: fit-content;
  margin-inline: auto;
  @media (width < 768px) {
    margin-block-start: calc(24 * var(--rem));
  }
}

.top-amagifu__lead p {
  text-align: center;
  font-size: calc(20 * var(--rem));
  font-weight: bold;
  margin-block-end: 1em;
  @media (width < 768px) {
    font-size: calc(17 * var(--rem));
  }
}

.top-amagifu__list {
  margin-block-start: calc(40 * var(--rem));
}

.top-amagifu__btn {
  text-align: center;
  margin-block-start: calc(40 * var(--rem));
}

/* *************************************
page-head
************************************* */
.page-head {
  height: calc(250 * var(--rem));
  position: relative;
}

.page-head::before {
  content: '';
  display: block;
  width: 100%;
  height: inherit;
  background-color: #00000080;
  position: absolute;
  top: 0;
  left: 0;
}

.page-head__img {
  height: inherit;
  overflow: hidden;
}

.page-head__img img {
  aspect-ratio: 16 /9;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 46%;
}

.page-head__title-block {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 100%;
  padding-inline: 32px;
  @media (width < 768px) {
    padding-inline: 10px;
  }
}

.page-head__title {
  font-size: calc(46 * var(--rem));
  font-weight: bold;
  color: var(--white);
  letter-spacing: 0.1em;
  text-align: center;
  @media (width < 768px) {
    font-size: calc(38 * var(--rem));
  }
}

.page-head__title.page-head__title--thanks {
  @media (width < 768px) {
    font-size: calc(28 * var(--rem));
  }
}

.page-head__subtitle {
  font-size: calc(26 * var(--rem));
  font-weight: bold;
  color: var(--white);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-align: center;
  @media (width < 768px) {
    font-size: calc(20 * var(--rem));
  }
}

/* *************************************
page-booking-head
************************************* */
.page-booking-head {
}

.page-booking-head {
  width: calc(1000 * var(--rem));
  margin-inline: auto;
}

.page-booking-head img {
  aspect-ratio: 580/180;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* *************************************
contents1
************************************* */
.contents1 {
  padding-block: calc(80 * var(--rem));
  @media (width < 768px) {
    padding-block: calc(40 * var(--rem));
  }
}

.contents1__inner.inner {
  width: min(100%, calc(800 * var(--rem)));
}

.contents1__cat {
  margin-block-start: calc(24 * var(--rem));
}

.contents1__slider {
  margin-block-start: calc(40 * var(--rem));
}

.contents1__img.contents1__img--contain {
  width: 50%;
  margin-inline: auto;
}

.contents1__img.contents1__img--contain img {
  aspect-ratio: auto;
  object-fit: contain;
}

.contents1__text {
  margin-block-start: calc(80 * var(--rem));
  font-size: calc(18 * var(--rem));
  line-height: 2;
  font-family: var(--sans);
  @media (width < 768px) {
    margin-block-start: calc(24 * var(--rem));
    font-size: calc(16 * var(--rem));
  }
}

.contents1__text p {
  margin-block-end: 1em;
}

/* *************************************
contents2
************************************* */
.contents2__title {
  text-align: center;
}

.contents2__img {
  margin-block-start: calc(24 * var(--rem));
  border: 5px double var(--color2);
}

.contents2__img img {
  aspect-ratio: 510 / 350;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.contents2__table {
  margin-block-start: calc(24 * var(--rem));
  background: url(../../library/images/bg-washi/washi1.webp) repeat center / contain;
  padding: calc(40 * var(--rem)) calc(80 * var(--rem));
  width: min(100%, calc(1000 * var(--rem)));
  margin-inline: auto;
  @media (width < 768px) {
    padding-inline: calc(16 * var(--rem));
  }
}

.contents2__table-btn {
  text-align: center;
  margin-block-start: calc(40 * var(--rem));
}

/* *************************************
map
************************************* */
.map {
}

/* マップにタイトルがあるとき */
.map__title {
  margin-block-start: calc(64 * var(--rem));
  text-align: center;
}

.map__wrap {
  margin-block-start: calc(64 * var(--rem));
}

/* マップにタイトルがあるとき */
.map__title + .map__wrap {
  margin-block-start: calc(24 * var(--rem));
}

.map__wrap iframe {
  aspect-ratio: 16/ 9;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-width: 0;
  @media (width < 768px) {
    aspect-ratio: 1;
  }
}

.map__text {
  margin-block-start: calc(40 * var(--rem));
  font-family: var(--sans);
}

/* *************************************
contents-container
************************************* */
.contents-container {
  margin-block-start: calc(120 * var(--rem));
  display: grid;
  gap: calc(120 * var(--rem)) 0;

  @media (width < 768px) {
    margin-block-start: calc(56 * var(--rem));
    gap: calc(56 * var(--rem)) 0;
  }
}

/* *************************************
contents3
************************************* */
.contents3 {
}

.contents3:nth-child(odd) {
  background-color: var(--color2);
  padding-block: calc(80 * var(--rem));
  @media (width < 768px) {
    padding-block: calc(40 * var(--rem));
  }
}

.contents3__inner.inner {
  width: min(100%, calc(1000 * var(--rem)));
}

.contents3__title {
  text-align: center;
}

.contents3__slider {
  margin-block-start: calc(40 * var(--rem));
}

.contents3__text {
  margin-block-start: calc(40 * var(--rem));
  font-size: calc(18 * var(--rem));
  line-height: 2;
  font-family: var(--sans);
  @media (width < 768px) {
    font-size: calc(16 * var(--rem));
  }
}

.contents3__table {
  margin-block-start: calc(40 * var(--rem));
  background: url(../../library/images/bg-washi/washi1.webp) repeat center / contain;
  padding: calc(40 * var(--rem)) calc(80 * var(--rem));
  @media (width < 768px) {
    padding-inline: calc(16 * var(--rem));
  }
}

/* *************************************
relevance
************************************* */
.relevance {
  padding-block-start: calc(40 * var(--rem));
}

.relevance__title {
  text-align: center;
}

.relevance__list {
  margin-block-start: calc(24 * var(--rem));
}

/* *************************************
organizer
************************************* */
.organizer__title {
  text-align: center;
}

.organizer__contents {
  margin-block-start: calc(24 * var(--rem));
}

/* *************************************
calender
************************************* */
.calender {
  padding: calc(80 * var(--rem)) 0;
  /* background-image: url(../images/top/bg_nois-j.png);
    background-color: var(--color2); */
  background: repeating-linear-gradient(135deg, var(--color2), var(--color2) 2px, var(--white) 2px, var(--white) 4px);
}

.calender__inner.inner {
  width: min(100%, calc(1280 * var(--rem)));
}

.calender__bg {
  background-color: var(--white);
  padding: calc(56 * var(--rem)) calc(20 * var(--rem));
  border-radius: 16px;
}

.calender__title {
  text-align: center;
}

.calender__container {
  display: grid;
  grid-template-columns: 3.5fr 6.5fr;
  column-gap: calc(24 * var(--rem));
  margin-block-start: calc(40 * var(--rem));
  @media (width < 768px) {
    grid-template-columns: 1fr;
    margin-block-start: calc(8 * var(--rem));
    gap: calc(24 * var(--rem));
  }
}

.calender__contents {
  position: relative;
  z-index: 100;
  margin-block-start: calc(40 * var(--rem));
}

/* カレンダー本体 */
.em.em-view-container {
}

.em.em-view-container .em-cal-nav {
  grid-template-columns: auto 1fr auto !important;
}

.em.em-view-container .em-cal-nav p {
  margin: 0 !important;
  font-size: calc(26 * var(--rem));
  font-weight: bold;
  text-align: center;
}

.em.em-view-container .month-nav.input {
  display: contents;
}

.em.em-view-container .month.input {
  order: 2;
}

.em-calnav.em-calnav-prev {
  order: 1;
}

.em-calnav.em-calnav-next {
  order: 3;
}

.em-cal-head.em-cal-week-days.em-cal-days.size-small.size-medium {
  border: 1px solid #ccc;
  background-color: var(--color1);
}

.em.em-calendar .em-cal-head > div {
  padding: 0;
}

@media (any-hover: hover) {
  .em-cal-day-date.colored .event-count:hover {
    cursor: pointer;
  }
}

.em-cal-head.em-cal-week-days.em-cal-days.size-small.size-medium .em-cal-day {
  color: var(--black);
  border-inline: 1px solid #ccc;
  margin: 0;
  padding-block: calc(10 * var(--rem));
  font-size: calc(16 * var(--rem));
}

.em-cal-head.em-cal-week-days.em-cal-days.size-small.size-medium .em-cal-day:first-child {
  border-left: none;
}
.em-cal-head.em-cal-week-days.em-cal-days.size-small.size-medium .em-cal-day:last-child {
  border-right: none;
}

.em.em-calendar.size-small .em-cal-body.em-cal-days.event-style-pill.even-aspect > div {
  border: 1px solid #ccc;
  display: grid;
  justify-items: revert !important;
  align-items: revert !important;
  aspect-ratio: revert;
  height: 100%;
  margin: 0;
}

.em.em-calendar.size-small .em-cal-body .em-cal-day .em-cal-day-date.em-cal-day-date p,
.em.em-calendar.size-small .em-cal-body .em-cal-day .em-cal-day-date.em-cal-day-date span {
  width: revert;
  height: revert;
  padding: 0;
  display: block;
  color: var(--black) !important ;
  font-size: calc(15 * var(--rem));
  margin: 0 !important;
}

#calender-contents.calender__contents .em.em-calendar.size-small .em-cal-body .em-cal-day.eventful .em-cal-day-date.colored div.ring {
  border-color: var(--white) !important;
  display: block;
  clip-path: none;
  margin: 0 !important;
  padding: 0;
  border: none !important;
}

#calender-contents .em.em-calendar.size-small .em-cal-body .em-cal-day .em-cal-day-date.em-cal-day-date span.event-count {
  width: 100%;
  height: auto;
  padding: 0;
  display: block;
  color: var(--color1) !important ;
  font-size: calc(12 * var(--rem));
  border-radius: 0;
  border-color: transparent !important;
}

#calender-contents .em.em-view-container .month.input form {
  display: none;
  visibility: hidden;
}

.em.em-view-container h2 {
  display: none;
}

.em-cal-body.em-cal-days.event-style-pill.even-aspect {
  border: 1px solid #ccc;
  border-top: none;
}

/* *************************************
event-post
************************************* */
.calender__post {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: calc(8 * var(--rem));
  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
}

.event-post {
  display: grid;
}

.event-post:nth-child(n + 7) {
  display: none;
}

.event-post__link {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: calc(16 * var(--rem));
  border-bottom: 1px solid var(--color1);
  padding-block: calc(20 * var(--rem));
  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
}

.calender__post figure.event-post__img {
  margin: 0 !important;
  border-radius: 9px;
  overflow: hidden;
}

.calender__post figure.event-post__img img {
  aspect-ratio: 190 / 127;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.calender__btn {
  text-align: center;
  margin-block-start: calc(24 * var(--rem));
}

/* *************************************
event-post__cat
************************************* */
.event-post__cat {
  background-color: var(--color3);
  display: inline-block;
  padding: calc(4 * var(--rem)) calc(8 * var(--rem));
  min-height: calc(28 * var(--rem));
  min-width: calc(105 * var(--rem));
  border-radius: 9px;
  font-size: calc(14 * var(--rem));
  font-weight: bold;
  color: var(--white);
  text-transform: uppercase;
  text-align: center;
}

@media (any-hover: hover) {
  .em.pixelbones .event-post__cat:hover {
    background-color: var(--color3) !important;
    color: var(--black) !important;
  }
}

.event-post__time {
  display: block;
  color: var(--black);
  font-weight: bold;
  margin-block-start: calc(4 * var(--rem));
  font-size: calc(16 * var(--rem));
}

@media (any-hover: hover) {
  .em.pixelbones .event-post__time:hover {
    color: var(--black) !important;
  }
}

.em.pixelbones .event-post__title {
  margin-block-end: 0 !important;
  font-size: calc(18 * var(--rem)) !important;
  font-weight: bold !important;
  color: var(--black);
  margin-block-start: calc(8 * var(--rem)) !important;
}

@media (any-hover: hover) {
  .em.pixelbones .event-post__title:hover {
    color: var(--black) !important;
  }
}

/* *************************************
search
************************************* */

.search {
  border: 4px solid var(--color1);
  padding: calc(48 * var(--rem)) calc(40 * var(--rem)) calc(40 * var(--rem));
  position: relative;
}

.search__title {
  display: inline-grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0 calc(4 * var(--rem));
  background-color: var(--color1);
  padding: calc(15 * var(--rem));
  border-radius: 100vmax;
  aspect-ratio: 1;
  color: var(--white);
  font-weight: bold;
  position: absolute;
  top: -9%;
  left: 50%;
  transform: translateX(-50%);
  @media (width < 768px) {
    top: calc(-40 * var(--rem));
  }
}

.search__title::before {
  content: '';
  display: block;
  width: calc(16 * var(--rem));
  aspect-ratio: 1;
  background: url(../../library/images/svg/search.svg) no-repeat center / contain;
}

.search__title::after {
  content: '';
}

.search__list {
  display: grid;
  gap: calc(16 * var(--rem)) 0;
}

.search__item {
  border-bottom: 2px solid var(--color2);
}

.search__sub-title {
  font-size: calc(18 * var(--rem));
  display: inline-grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 0 calc(8 * var(--rem));
  line-height: 1;
}

.search__sub-title::before {
  content: '';
  display: block;
  width: calc(12 * var(--rem));
  aspect-ratio: 1;
  background-color: var(--color1);
}

.search__wrap {
  margin-block-start: calc(8 * var(--rem));
  display: flex;
  flex-wrap: wrap;
  gap: calc(24 * var(--rem));
}

.search__wrap span {
  font-family: var(--sans);
  letter-spacing: 0.05em;
}

.search__btn {
  text-align: center;
  margin-block-start: calc(40 * var(--rem));
}

@media (any-hover: hover) {
  .search__btn:hover {
    cursor: pointer;
  }
}

/* *************************************
thumbnail-swipe
************************************* */
.thumbnail-swipe .swiper-slide {
  max-height: calc(700 * var(--rem));
}

.thumbnail-swipe .swiper-slide img {
  aspect-ratio: 1080 / 720;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.thumbnail-swipe .swiper-slide.swiper-slide--sub img {
  aspect-ratio: 3 / 2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.thumbnail-swipe_sub .swiper-wrapper {
}

.thumbnail-swipe_sub .swiper-slide-thumb-active {
  border: 3px solid #f8ff6f;
}

.thumbnail-swipe_sub {
  margin-block-start: calc(8 * var(--rem));
}

.thumbnail-swipe__main .swiper-button-prev,
.thumbnail-swipe__main .swiper-button-next {
  width: calc(50 * var(--rem));
  @media (width < 768px) {
    width: calc(20 * var(--rem));
  }
}

.thumbnail-swipe__main .swiper-button-prev::after,
.thumbnail-swipe__main .swiper-button-next::after {
  content: '';
  display: block;
  background: url(../../library/images/svg/arrow.svg) no-repeat center / cover;
  width: inherit;
  aspect-ratio: 1;
}

.thumbnail-swipe__main .swiper-button-prev::after {
  rotate: 180deg;
}

/* *************************************
model-course-head
************************************* */
.model-course-head {
  background-color: var(--color2);
  padding-block-end: calc(40 * var(--rem));
}

.model-course-head__container {
  position: relative;
  @media (width < 768px) {
    position: static;
    padding-block-start: calc(40 * var(--rem));
  }
}

.model-course-head__img {
  padding-block-start: calc(40 * var(--rem));
  @media (width < 768px) {
    padding-block-start: calc(16 * var(--rem));
  }
}

.model-course-head__img img {
  aspect-ratio: 16 / 9;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.model-course-head__title-block {
  position: absolute;
  top: calc(50 * var(--rem));
  left: calc(8 * var(--rem));
  z-index: 1;
  @media (width < 768px) {
    position: static;
  }
}

.model-course-head__title {
  font-size: calc(26 * var(--rem));
  font-weight: bold;
  padding: calc(8 * var(--rem)) calc(24 * var(--rem));
  background-color: var(--white);
  border-radius: 100vmax;
  @media (width < 768px) {
    font-size: calc(20 * var(--rem));
  }
}

.model-course-head__title::first-letter {
  color: var(--color1);
}

.model-course-head__wrap {
  background-color: var(--color1);
  display: inline-grid;
  grid-template-columns: repeat(2, auto);
  column-gap: calc(24 * var(--rem));
  border-radius: 100vmax;
  margin-block-start: calc(8 * var(--rem));
  padding-inline: calc(24 * var(--rem));
}

.model-course-head__time {
  color: var(--white);
  display: inline-grid;
  align-items: center;
  grid-template-columns: repeat(2, auto);
  column-gap: calc(4 * var(--rem));
}

.model-course-head__time::before {
  content: '';
  display: block;
  width: calc(16 * var(--rem));
  aspect-ratio: 1;
  background: url(../../library/images/svg/tokei.svg) no-repeat center / contain;
}

.model-course-head__movement {
  color: var(--white);
  display: inline-grid;
  align-items: center;
  grid-template-columns: repeat(2, auto);
  column-gap: calc(4 * var(--rem));
}

.model-course-head__movement::before {
  content: '';
  display: block;
  width: calc(16 * var(--rem));
  aspect-ratio: 1;
  background: url(../../library/images/svg/aruku.svg) no-repeat center / contain;
}

.model-course-head__text {
  background-color: var(--white);
  padding: calc(24 * var(--rem));
  margin-block-start: calc(40 * var(--rem));
  position: relative;
  border-radius: 0 4px 4px 4px;
  border: 3px solid var(--color1);
  font-family: var(--sans);
  @media (width < 768px) {
    padding: calc(16 * var(--rem));
  }
}

.model-course-head__text::before {
  content: 'information';
  padding-inline: calc(16 * var(--rem));
  background-color: var(--color1);
  position: absolute;
  top: calc(-27 * var(--rem));
  left: calc(-3 * var(--rem));
  font-size: calc(18 * var(--rem));
  color: var(--white);
  border-radius: 4px 4px 0 0;
  letter-spacing: 0.1em;
}

/* *************************************
model-course-introduction
************************************* */
.model-course-introduction {
  margin-block-start: calc(24 * var(--rem));
}

.model-course-introduction__list {
  margin-block-start: calc(24 * var(--rem));
  display: flex;
  flex-wrap: wrap;
  gap: calc(16 * var(--rem)) calc(20 * var(--rem));
}

.model-course-introduction__item {
  display: inline-flex;
  align-items: center;
  column-gap: calc(16 * var(--rem));
  @media (width < 768px) {
    font-size: calc(14 * var(--rem));
  }
}

.model-course-introduction__item::after {
  content: '';
  display: block;
  width: calc(20 * var(--rem));
  aspect-ratio: 1;
  background: url(../../library/images/svg/maru-arrow.svg) no-repeat center / contain;
  @media (width < 768px) {
    width: calc(16 * var(--rem));
  }
}

.model-course-introduction__item span {
  border-bottom: 1px solid var(--color1);
  padding-bottom: calc(4 * var(--rem));
  padding-inline: calc(4 * var(--rem));
}

.model-course-introduction__item:last-child::after {
  display: none;
}

/* *************************************
model-course
************************************* */
.model-course {
  padding-block: calc(80 * var(--rem));
  @media (width < 768px) {
    padding-block: calc(40 * var(--rem));
  }
}

.model-course__list {
  display: grid;
  place-content: center;
  overflow: hidden;
}

.model-course__item-tag__inner.inner {
  position: relative;
}

.model-course__item {
  counter-increment: num;
  width: 100vw;
  @media (width < 768px) {
    margin-block-start: calc(40 * var(--rem));
  }
}

.model-course__item:nth-child(odd) {
  background-color: var(--color6);
  @media (width < 768px) {
    padding-block: calc(40 * var(--rem));
  }
}

.model-course__item-container {
  padding-inline-start: calc(60 * var(--rem));
  padding-block: calc(100 * var(--rem)) calc(80 * var(--rem));
  position: relative;
  @media (width < 768px) {
    padding: 0;
  }
}

.model-course__item-container::before {
  content: counter(num, decimal-leading);
  display: grid;
  place-content: center;
  font-size: calc(30 * var(--rem));
  background-color: var(--color1);
  border-radius: 100vmax;
  width: calc(50 * var(--rem));
  aspect-ratio: 1;
  color: var(--white);
  position: absolute;
  top: calc(93 * var(--rem));
  left: 0;
  z-index: 1;
  @media (width < 768px) {
    position: static;
    font-size: calc(26 * var(--rem));
    width: calc(40 * var(--rem));
  }
}

.model-course__item-container::after {
  content: '';
  display: block;
  width: calc(8 * var(--rem));
  height: 100%;
  border-left: 3px dashed var(--color1);
  position: absolute;
  top: 0;
  left: calc(23 * var(--rem));
  @media (width < 768px) {
    display: none;
  }
}

.model-course__title-block {
  @media (width < 768px) {
    margin-block-start: calc(8 * var(--rem));
  }
}

.model-course__title {
  font-size: calc(26 * var(--rem));
  font-weight: bold;
  padding-block-end: calc(8 * var(--rem));
  border-bottom: calc(2 * var(--rem)) solid var(--color1);
  @media (width < 768px) {
    font-size: calc(20 * var(--rem));
  }
}

.model-course__sub-title {
  font-size: calc(20 * var(--rem));
  font-family: var(--sans);
  min-height: calc(30 * var(--rem));
  @media (width < 768px) {
    font-size: calc(16 * var(--rem));
  }
}

.model-course__container {
  display: grid;
  grid-template-columns: calc(530 * var(--rem)) 1fr;
  column-gap: calc(24 * var(--rem));
  margin-block-start: calc(16 * var(--rem));
  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
}

.model-course__img {
  margin-block-start: calc(4 * var(--rem));
}

.model-course__img img {
  aspect-ratio: 3 /2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.model-course__text {
  font-family: var(--sans);
  @media (width < 768px) {
    margin-block-start: calc(16 * var(--rem));
  }
}

.model-course__btns {
  margin-block-start: calc(40 * var(--rem));
  display: flex;
  justify-content: center;
  gap: calc(24 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(24 * var(--rem));
    width: fit-content;
    flex-direction: column;
    margin-inline: auto;
  }
}

/* タグ */
.model-course__list-tag {
  font-size: calc(24 * var(--rem));
  border: thick double var(--color1);
  display: flex;
  align-items: center;
  width: fit-content;
  column-gap: calc(8 * var(--rem));
  padding: calc(8 * var(--rem)) calc(32 * var(--rem));
  position: relative;
  @media (width < 768px) {
    font-size: calc(20 * var(--rem));
    padding: calc(8 * var(--rem));
    width: 100%;
    justify-content: center;
  }
}

.model-course__list-tag::before {
  content: '';
  display: block;
  width: calc(32 * var(--rem));
  aspect-ratio: 1;
  @media (width < 768px) {
    width: calc(24 * var(--rem));
  }
}

.model-course__list-tag.model-course__list-tag--start::before {
  background: url(../../library/images/svg/start.svg) no-repeat center / contain;
}
.model-course__list-tag.model-course__list-tag--goal::before {
  background: url(../../library/images/svg/goal.svg) no-repeat center / contain;
}

.model-course__list-tag::after {
  content: '';
  display: block;
  width: calc(8 * var(--rem));
  height: 120%;
  border-left: 3px dashed var(--color1);
  position: absolute;
}

.model-course__list-tag.model-course__list-tag--start::after {
  bottom: calc(-80 * var(--rem));
  left: calc(18 * var(--rem));
  @media (width < 768px) {
    display: none;
  }
}

.model-course__list-tag.model-course__list-tag--goal::after {
  top: calc(-80 * var(--rem));
  left: calc(18 * var(--rem));
  @media (width < 768px) {
    display: none;
  }
}

.model-course__item-tag__inner {
  position: relative;
}

.model-course__item-tag.model-course__item-tag--start {
  margin-block-end: calc(80 * var(--rem));
  @media (width < 768px) {
    margin-block-end: 0;
  }
}
.model-course__item-tag.model-course__item-tag--goal {
  margin-block-start: calc(80 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(40 * var(--rem));
  }
}

/* カード */
.model-course__movement-card {
  position: absolute;
  bottom: calc(-36 * var(--rem));
  left: 0;
  border: calc(3 * var(--rem)) solid var(--color1);
  width: fit-content;
  padding: calc(8 * var(--rem));
  background-color: var(--white);
  z-index: 1;
  display: flex;
  column-gap: calc(8 * var(--rem));
  @media (width < 768px) {
    position: static;
    width: 100%;
    justify-content: center;
    margin-block-start: calc(40 * var(--rem));
  }
}

.model-course__movement-card.model-course__movement-card--start {
  bottom: calc(-120 * var(--rem));
  left: calc(24 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(16 * var(--rem));
  }
}

.model-course__movement-card::before {
  content: '';
  display: block;
  width: calc(32 * var(--rem));
  aspect-ratio: 1;
  background: url(../../library/images/svg/tokei-b.svg) no-repeat center / contain;
  @media (width < 768px) {
    width: calc(24 * var(--rem));
    flex-shrink: 0;
  }
}

.model-course__movement-card-text {
  @media (width < 768px) {
    display: flex;
    gap: calc(16 * var(--rem));
  }
}

.model-course__map {
  margin-block-start: calc(40 * var(--rem));
  width: min(100%, calc(1080 * var(--rem)));
  margin-inline: auto;
  height: calc(400 * var(--rem));
}

.model-course__map iframe {
  aspect-ratio: 16 /9;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-width: none;
}

/* *************************************

************************************* */
.fc-event-container a {
  display: none;
}

.eo-grid.onetime > div:not(:first-child) {
  display: none;
}

/* *************************************
news-archive
************************************* */
.news-archive {
  margin-block-start: calc(40 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(24 * var(--rem));
  }
}

.news-archive__inner.inner {
  width: min(100%, calc(800 * var(--rem)));
}

.news-archive__list {
  margin-block-start: calc(56 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(24 * var(--rem));
  }
}

.news-archive__pagination {
  margin-block-start: calc(40 * var(--rem));
}

/* *************************************
single-news-mate
************************************* */
.single-news-mate__container {
  display: flex;
  gap: 0 calc(16 * var(--rem));
  align-items: center;
  margin-block-start: calc(40 * var(--rem));
}

.single-news-mate__time {
  font-size: calc(20 * var(--rem));
  font-weight: bold;
}

.single-news-mate__cat {
  display: block;
  background-color: var(--color3);
  padding: calc(2 * var(--rem)) calc(16 * var(--rem));
  font-size: calc(20 * var(--rem));
  color: var(--white);
  border-radius: 9px;
  text-transform: uppercase;
  @media (width < 768px) {
    font-size: calc(16 * var(--rem));
  }
}

.single-news-mate__title {
  font-size: calc(38 * var(--rem));
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-block-start: calc(16 * var(--rem));
  @media (width < 768px) {
    font-size: calc(22 * var(--rem));
  }
}

/* *************************************
single-news-slider
************************************* */
.single-news-slider {
  margin-block-start: calc(24 * var(--rem));
}

.single-news-slider__inner.inner {
  width: min(100%, calc(700 * var(--rem)));
}

.single-news {
  margin-block-start: calc(40 * var(--rem));
}

/* *************************************
sightseeing-category-archive-head
************************************* */
.sightseeing-category-archive-head {
  padding: calc(80 * var(--rem));
  background-color: var(--color2);
  @media (width < 768px) {
    padding: calc(20 * var(--rem));
  }
}

.sightseeing-category-archive-head__container {
  position: relative;
}

.sightseeing-category-archive-head__img {
  height: calc(400 * var(--rem));
  position: relative;
  @media (width < 768px) {
    height: calc(200 * var(--rem));
  }
}

.sightseeing-category-archive-head__img::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  margin: auto;
  background-color: #00000050;
}

.sightseeing-category-archive-head__img img {
  aspect-ratio: 16 / 9;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background-color: #ccc;
}

.sightseeing-category-archive-head__title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}

.sightseeing-category-archive-head__title-jp {
  text-align: center;
  font-size: calc(50 * var(--rem));
  font-weight: bold;
  color: var(--white);
  @media (width < 768px) {
    font-size: calc(30 * var(--rem));
  }
}

.sightseeing-category-archive-head__title-en {
  text-align: center;
  font-size: calc(20 * var(--rem));
  letter-spacing: 0.2em;
  font-weight: bold;
  color: var(--white);
  text-transform: uppercase;
  @media (width < 768px) {
    font-size: calc(16 * var(--rem));
  }
}

/* *************************************
sightseeing-category-archive
************************************* */
.sightseeing-category-archive {
}

.sightseeing-category-archive__search {
  margin-block-start: calc(80 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(64 * var(--rem));
  }
}

.sightseeing-category-archive__container {
  margin-block-start: calc(80 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(24 * var(--rem));
  }
}

/* *************************************
attraction
************************************* */
.attraction {
  margin-block-start: calc(40 * var(--rem));
}

.attraction__container {
  margin-block-start: calc(40 * var(--rem));
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(24 * var(--rem));
  align-items: center;
  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
}

.attraction__wrap {
  @media (width < 768px) {
    order: 2;
  }
}

.attraction__text {
  line-height: 2;
  font-family: var(--sans);
}

.attraction__img {
  @media (width < 768px) {
    order: 1;
  }
}

.attraction__img img {
  aspect-ratio: 528 /395;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.attraction__img figcaption {
  text-align: center;
  margin-block-start: calc(16 * var(--rem));
}

/* *************************************
attraction-nature
************************************* */
.attraction-nature {
  margin-block-start: calc(40 * var(--rem));
  padding-block: calc(80 * var(--rem));
  background-color: var(--color2);
}

.attraction-nature__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: calc(24 * var(--rem));
  margin-block-start: calc(40 * var(--rem));
  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
}

.attraction-nature__item {
  position: relative;
}

.attraction-nature__item:not(:last-child)::after {
  content: '';
  display: block;
  width: calc(2 * var(--rem));
  height: 100%;
  background-color: var(--color1);
  position: absolute;
  top: calc(10 * var(--rem));
  right: calc(-13 * var(--rem));
  @media (width < 768px) {
    width: 100%;
    height: calc(2 * var(--rem));
    top: calc(40 * var(--rem));
    right: 0;
  }
}

.attraction-nature__item::after {
  @media (width < 768px) {
    content: '';
    display: block;
    width: calc(2 * var(--rem));
    height: 100%;
    background-color: var(--color1);
    position: absolute;
    width: 100%;
    height: calc(2 * var(--rem));
    top: calc(40 * var(--rem));
    right: 0;
  }
}

.attraction-nature__list-title {
  text-align: center;
  font-size: calc(30 * var(--rem));
  font-weight: bold;
  @media (width < 768px) {
    font-size: calc(26 * var(--rem));
  }
}

.attraction-nature__list-img {
  margin-block-start: calc(8 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(16 * var(--rem));
  }
}

.attraction-nature__list-img img {
  aspect-ratio: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.attraction-nature__text {
  margin-block-start: calc(24 * var(--rem));
  font-size: calc(18 * var(--rem));
  line-height: 2;
  text-align: center;
  @media (width < 768px) {
    text-align: left;
    font-size: calc(16 * var(--rem));
  }
}

/* *************************************
attraction-history
************************************* */
.attraction-history {
  margin-block-start: calc(80 * var(--rem));
  padding-block: calc(80 * var(--rem));
  position: relative;
  @media (width < 768px) {
    margin-block-start: calc(40 * var(--rem));
    padding-block: calc(40 * var(--rem));
  }
}

.attraction-history::before,
.attraction-history::after {
  content: '';
  display: block;
  position: absolute;
  inset: 0;
  z-index: -1;
}

.attraction-history::before {
  background-color: var(--color6);
  clip-path: polygon(0 0, 0% 100%, 100% 100%);
}

.attraction-history::after {
  background-color: var(--color2);
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}

.attraction-history__container {
  margin-block-start: calc(24 * var(--rem));
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(24 * var(--rem));
  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
}

.attraction-history__img img {
  aspect-ratio: 16 /9;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.attraction-history__text {
  font-size: calc(18 * var(--rem));
  line-height: 2;
  @media (width < 768px) {
    font-size: calc(16 * var(--rem));
  }
}

/* *************************************
attraction-special-product
************************************* */
.attraction-special-product {
  margin-block-start: calc(80 * var(--rem));
  padding-block: calc(80 * var(--rem));
  background-color: var(--color6);
  @media (width < 768px) {
    margin-block-start: calc(40 * var(--rem));
    padding-block: calc(40 * var(--rem));
  }
}

.attraction-special-product__container {
  margin-block-start: calc(24 * var(--rem));
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(24 * var(--rem));
  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
}

.attraction-special-product__img {
  @media (width < 768px) {
    order: 1;
  }
}

.attraction-special-product__img img {
  aspect-ratio: 16 /9;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.attraction-special-product__text {
  line-height: 2;
  font-size: calc(18 * var(--rem));
  @media (width < 768px) {
    order: 2;
    font-size: calc(16 * var(--rem));
  }
}

/* *************************************
archive-model-course
************************************* */
.archive-model-course {
  margin-block-start: calc(40 * var(--rem));
}

.archive-model-course__text {
  width: min(100%, calc(800 * var(--rem)));
  margin-inline: auto;
  font-family: var(--sans);
  line-height: 1.8;
}

.archive-model-course__list {
  margin-block-start: calc(40 * var(--rem));
}

/* *************************************
archive-amagift
************************************* */
.archive-amagift {
  margin-block-start: calc(40 * var(--rem));
}

.archive-amagift__pagination {
  margin-block-start: calc(40 * var(--rem));
}

/* *************************************
single-amagift
************************************* */
.single-amagift {
  margin-block-start: calc(40 * var(--rem));
}

body:has(.single-amagift) {
  margin-block-start: 0;
}

.single-amagift__inner.inner {
  width: min(100%, calc(1000 * var(--rem)));
  margin-inline: auto;
}

.single-amagift__title {
  font-size: calc(30 * var(--rem));
  font-weight: bold;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 0 calc(16 * var(--rem));
}

.single-amagift__title::before {
  content: '';
  display: block;
  width: calc(80 * var(--rem));
  aspect-ratio: 1;
  background: url(../../library/images/amagift/icon-amagift.webp) no-repeat center / contain;
  @media (width < 768px) {
    width: calc(60 * var(--rem));
  }
}

.single-amagift__slider {
  margin-block-start: calc(40 * var(--rem));
}

.single-amagift__pr {
  margin-block-start: calc(80 * var(--rem));
}

.single-amagift__pr-slider {
  margin-block-start: calc(32 * var(--rem));
}

.single-amagift__pr-text {
  font-family: var(--sans);
  line-height: 1.8;
  margin-block-start: calc(24 * var(--rem));
}

.single-amagift__birth {
  margin-block-start: calc(80 * var(--rem));
}

.single-amagift__birth-slide {
  margin-block-start: calc(40 * var(--rem));
}

.single-amagift__birth-text {
  margin-block-start: calc(40 * var(--rem));
  font-family: var(--sans);
  line-height: 1.8;
}

.single-amagift_information {
  margin-block-start: calc(80 * var(--rem));
}

.single-amagift_information-table {
  margin-block-start: calc(40 * var(--rem));
}

.single-amagift_item {
  margin-block-start: calc(80 * var(--rem));
}

.single-amagift__item-slider {
  margin-block-start: calc(40 * var(--rem));
}

.single-amagift__item-text {
  margin-block-start: calc(40 * var(--rem));
  font-family: var(---sans);
}

.single-amagift__map {
  margin-block-start: calc(80 * var(--rem));
}

.single-amagift__map-contents {
  margin-block-start: calc(40 * var(--rem));
}

.single-amagift__map-contents {
}

.single-amagift__map-contents iframe {
  aspect-ratio: 16 /9;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-width: 0;
}

/* *************************************
annual-events-archive-cat
************************************* */
.annual-events-archive-cat {
  margin-block-start: calc(40 * var(--rem));
}

.annual-events-archive-cat__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  @media (width < 768px) {
    grid-template-columns: repeat(2, 1fr);
  }
}

.annual-events-archive-cat__item a {
  display: block;
  position: relative;
}

.annual-events-archive-cat__item a::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background-color: #00000050;
  position: absolute;
  inset: 0;
}

.annual-events-archive-cat__img img {
  aspect-ratio: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.annual-events-archive-cat__title {
  font-size: calc(40 * var(--rem));
  color: var(--white);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 1;
  @media (width < 768px) {
    font-size: calc(30 * var(--rem));
  }
}

/* *************************************
annual-events-archive-post
************************************* */
.annual-events-archive-post {
  margin-block-start: calc(40 * var(--rem));
}

.annual-events-archive-post__images {
  margin-block-start: calc(24 * var(--rem));
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, auto);
  @media (width < 768px) {
    grid-template-columns: repeat(2, 1fr);
  }
}

.annual-events-archive-post__image {
  background-color: #eee;
}

.annual-events-archive-post__image:nth-child(1) {
  grid-column: span 2;
  grid-row: span 2;
}

.annual-events-archive-post__image img {
  aspect-ratio: 3/2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.annual-events-archive-post__list {
  margin-block-start: calc(40 * var(--rem));
}

.annual-events-archive-post__title {
  font-size: calc(50 * var(--rem));
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  width: fit-content;
  margin-inline: auto;
  gap: 0 calc(16 * var(--rem));
  @media (width < 768px) {
    font-size: calc(30 * var(--rem));
  }
}

.annual-events-archive-post__title::before,
.annual-events-archive-post__title::after {
  content: '';
  display: block;
  width: calc(40 * var(--rem));
  height: calc(3 * var(--rem));
  background-color: var(--color1);
}

.annual-events-archive-post__pagination {
  margin-block-start: calc(40 * var(--rem));
}

/* *************************************
policy-container
************************************* */
.policy-container {
  margin-block-start: calc(80 * var(--rem));
  display: grid;
  row-gap: calc(40 * var(--rem));
}

.policy-container h3 {
  font-size: calc(20 * var(--rem));
  font-weight: bold;
  margin-block-start: calc(24 * var(--rem));
  border-left: calc(3 * var(--rem)) solid var(--color1);
  padding-inline-start: calc(8 * var(--rem));
}

.policy-container .inner p:first-child,
.policy-container .inner ul,
.policy-container .inner h3 + p,
.policy-container .inner ul + p {
  margin-block-start: calc(16 * var(--rem));
}

.policy-container .inner ul li ul {
  padding-inline-start: calc(16 * var(--rem));
}

.policy-container a {
  color: var(--color3);
}

/* *************************************
image-courtesy
************************************* */
.image-courtesy__description {
  margin-block-start: calc(40 * var(--rem));
  text-align: center;
  line-height: 1.8;
  width: min(100%, calc(700 * var(--rem)));
  margin-inline: auto;
  @media (width < 768px) {
    text-align: left;
  }
}

.image-courtesy__btn {
  display: flex;
  justify-content: center;
  gap: calc(16 * var(--rem)) calc(24 * var(--rem));
  margin-block-start: calc(40 * var(--rem));
  @media (width < 768px) {
    flex-direction: column;
    width: fit-content;
    margin-inline: auto;
  }
}

.image-courtesy__images {
  margin-block-start: calc(80 * var(--rem));
}

/* *************************************
single-report
************************************* */
.single-report-section {
  margin-block-start: calc(80 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(24 * var(--rem));
  }
}

/* *************************************
archive-report
************************************* */
.archive-report {
  margin-block-start: calc(80 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(24 * var(--rem));
  }
}

.archive-report__pagination {
  margin-block-start: calc(80 * var(--rem));
}

/* *************************************
pamphlet
************************************* */
.pamphlet {
  margin-block-start: calc(80 * var(--rem));
}

.pamphlet__request {
  margin-block-start: calc(40 * var(--rem));
  text-align: center;
  line-height: 1.8;
  width: min(100%, calc(1000 * var(--rem)));
  margin-inline: auto;
}

.pamphlet__btn {
  margin-block-start: calc(40 * var(--rem));
  text-align: center;
}

.pamphlet__list {
  margin-block-start: calc(80 * var(--rem));
}

/* *************************************
access-grid-container
************************************* */
.access-grid-container {
  display: grid;
  row-gap: calc(120 * var(--rem));
  margin-block-start: calc(80 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(40 * var(--rem));
  }
}

/* *************************************
access-top
************************************* */
.access-top__container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(24 * var(--rem));
  align-items: self-start;
  position: relative;
  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
}

.access-top__container::before {
  content: '';
  display: block;
  width: 50%;
  aspect-ratio: 1;
  background: url(../../library/images/access/izu-map1.webp) no-repeat center / contain;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
  opacity: 0.2;
  @media (width < 768px) {
    width: 100%;
  }
}

.access-top__list {
  display: grid;
  gap: calc(8 * var(--rem)) 0;
  align-items: self-start;
  position: relative;
  z-index: 1;
  @media (width < 768px) {
    order: 2;
  }
}

.access-top__list a {
  display: inline-grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 0 calc(8 * var(--rem));
  padding: calc(16 * var(--rem));
  font-size: calc(20 * var(--rem));
  font-weight: bold;
}

.access-top__item a::before {
  content: '';
  display: block;
  width: calc(26 * var(--rem));
  aspect-ratio: 1;
  background: url(../../library/images/svg/train.svg) no-repeat center / contain;
}

.access-top__item:nth-child(2) a::before {
  background: url(../../library/images/svg/car.svg) no-repeat center / contain;
}

.access-top__item:nth-child(3) a::before,
.access-top__item:nth-child(4) a::before {
  background: url(../../library/images/svg/bus.svg) no-repeat center / contain;
}

.access-top__item:nth-child(5) a::before {
  background: url(../../library/images/svg/ferry.svg) no-repeat center / contain;
}

.access-top__item:nth-child(6) a::before {
  background: url(../../library/images/svg/cab.svg) no-repeat center / contain;
}

.access-top__item:nth-child(7) a::before {
  background: url(../../library/images/svg/map.svg) no-repeat center / contain;
}

.access__map {
  @media (width < 768px) {
    order: 1;
  }
}

/* *************************************
access-train
************************************* */
.access-train__container {
  margin-block-start: calc(40 * var(--rem));
  display: grid;
  row-gap: calc(68 * var(--rem));
}

/* *************************************
access-car
************************************* */
.access-car {
}

.access-car__table {
  margin-block-start: calc(40 * var(--rem));
}

.access-car__img-block {
  margin-block-start: calc(40 * var(--rem));
}

.access-car__img {
  margin-block-start: calc(24 * var(--rem));
  width: calc(700 * var(--rem));
  margin-inline: auto;
}

.access-car__wrap {
  margin-block-start: calc(40 * var(--rem));
}

.access-car__wrap-text {
  margin-block-start: calc(16 * var(--rem));
}

/* *************************************
access-bus
************************************* */
.access-bus__wrap {
  margin-block-start: calc(40 * var(--rem));
}

.access-bus__wrap-text {
  margin-block-start: calc(16 * var(--rem));
}

.access-bus__btn {
  margin-block-start: calc(24 * var(--rem));
  text-align: center;
}

/* *************************************
access-scheduled-bus
************************************* */
.access-scheduled-bus__wrap {
  margin-block-start: calc(24 * var(--rem));
}

.access-scheduled-bus__table {
  margin-block-start: calc(16 * var(--rem));
  width: min(100%, calc(700 * var(--rem)));
  margin-inline: auto;
}

.access-scheduled-bus__img-block {
  margin-block-start: calc(24 * var(--rem));
}

.access-scheduled-bus__img {
  margin-block-start: calc(16 * var(--rem));
  width: min(100%, calc(700 * var(--rem)));
  margin-inline: auto;
}

.access-scheduled-bus__img img {
  aspect-ratio: 3 / 2;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.access-scheduled-bus__img-btn {
  margin-block-start: calc(40 * var(--rem));
  text-align: center;
}

/* *************************************
access-ferry
************************************* */
.access-ferry {
}

.access-ferry__wrap {
  margin-block-start: calc(24 * var(--rem));
}

.access-ferry__wrap-text {
  margin-block-start: calc(16 * var(--rem));
}

.access-ferry__wrap-btn {
  margin-block-start: calc(40 * var(--rem));
  text-align: center;
}

/* *************************************
access-cab
************************************* */
.access-cab__wrap {
  margin-block-start: calc(24 * var(--rem));
}

.access-cab__wrap-text {
  margin-block-start: calc(16 * var(--rem));
}

/* *************************************
access-links
************************************* */
.access-links__wrap {
  margin-block-start: calc(24 * var(--rem));
}

.access-links__wrap-text {
  margin-block-start: calc(16 * var(--rem));
}

/* *************************************
contact
************************************* */
.contact {
  margin-block-start: calc(80 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(40 * var(--rem));
  }
}

/* *************************************
contact-location-contents1
use-images
************************************* */
.contact-location-contents1,
.use-images {
  margin-block-start: calc(80 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(40 * var(--rem));
  }
}

.contact-location-contents1 h2,
.contact-location-contents1 h3,
.use-images h2,
.use-images h3 {
  margin-block-end: 16px;
}

.contact-location-contents1 h4,
.use-images h4 {
  font-weight: bold;
  margin-block-end: 16px;
}

.contact-location-contents1 p,
.contact-location-contents1 ul,
.use-images p,
.use-images ul {
  margin-block-end: 1em;
}

.contact-location-contents1 ul,
.use-images ul {
  display: grid;
  row-gap: calc(8 * var(--rem));
}

.contact-location-contents1 li,
.use-images li {
  position: relative;
  padding-inline-start: calc(16 * var(--rem));
}

.contact-location-contents1 li::before,
.use-images li::before {
  content: '';
  display: block;
  width: calc(4 * var(--rem));
  aspect-ratio: 1;
  background-color: #5bc4d8;
  border-radius: 100vmax;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

:where(.contact-location-contents1) a,
:where(.use-images) a {
  color: var(--color3);
  font-weight: bold;
}

.contact-location-contents1__btn,
.use-images__btn {
  text-align: center;
  margin-block-start: calc(16 * var(--rem));
}

/* *************************************
contact-insert
************************************* */
.contact-insert {
  margin-block-start: calc(80 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(40 * var(--rem));
  }
}

.contact-insert__inner.inner {
  width: min(100%, calc(800 * var(--rem)));
}

.contact-insert h3 {
  margin-block: calc(24 * var(--rem));
  font-size: calc(26 * var(--rem));
  text-align: center;
}

/* *************************************
contact-sightseeing
************************************* */
.contact-sightseeing {
  text-align: center;
  margin-block-start: calc(40 * var(--rem));
}

.contact-sightseeing h2 {
  font-size: calc(26 * var(--rem));
  @media (width < 768px) {
    font-size: calc(18 * var(--rem));
  }
}

.contact-sightseeing h3 {
  margin-block-start: calc(40 * var(--rem));
  font-size: calc(26 * var(--rem));
}

.contact-sightseeing p {
  margin-block-start: calc(24 * var(--rem));
  font-size: calc(26 * var(--rem));
}

.contact-sightseeing ul {
  margin-block-start: calc(4 * var(--rem));
}

.contact-sightseeing ul li {
  font-size: calc(22 * var(--rem));
}

.contact-sightseeing ul li a {
 display: block;
    padding: calc(8 * var(--rem));
  @media (width < 768px) {

  }
}

/* *************************************
thanks page-404
************************************* */
.thanks,
.page-404 {
  margin-block-start: calc(40 * var(--rem));
  text-align: center;
}

.thanks__title,
.page-404__title {
  font-size: calc(30 * var(--rem));
}

.thanks__text,
.page-404__text {
  font-size: calc(20 * var(--rem));
  margin-block-start: calc(24 * var(--rem));
}

.thanks__btn,
.page-404__btn {
  margin-block-start: calc(40 * var(--rem));
}

/* *************************************
single-annual-events
************************************* */
.single-annual-events {
  margin-block-start: calc(40 * var(--rem));
}

body:has(.single-annual-events) {
  margin-block-start: 0;
}

.single-annual-events__inner.inner {
  width: min(100%, calc(1000 * var(--rem)));
}

.single-annual-events__title {
}

.single-annual-events__slider {
  margin-block-start: calc(40 * var(--rem));
}

.single-annual-events__table {
  margin-block-start: calc(40 * var(--rem));
  width: min(100%, calc(800 * var(--rem)));
  margin-inline: auto;
}

.single-annual-events__contents {
  margin-block-start: calc(40 * var(--rem));
}

.single-annual-events__btn {
  text-align: center;
  margin-block-start: calc(80 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(40 * var(--rem));
  }
}
