@charset "UTF-8";
/*
 * ブレイクポイント
 */
/*
 * Display設定
 */
/*
 * 画像調整
 */
/*
 * 基準: 1920px幅で○○pxの余白 → ○○/1920*100vw
 */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
}

body {
  -webkit-text-size-adjust: 100%;
  position: relative;
  overflow-x: hidden;
  height: 100%;
  min-height: 100%;
  background-color: #004587;
  font-size: 0.9375vw;
  font-family: "Noto Sans JP", serif;
  line-height: 1.8;
}
@media screen and (max-width: 1440px) {
  body {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 960px) {
  body {
    font-size: 1.875vw;
  }
}
@media screen and (max-width: 600px) {
  body {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 480px) {
  body {
    font-size: 4vw;
  }
}
body.is-fixed {
  overflow: hidden;
}

.wrap {
  width: 100%;
  margin: 0 auto;
  padding-right: calc(20 / 375 * 100vw);
  padding-left: calc(20 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .wrap {
    padding-right: calc(30 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .wrap {
    padding-right: calc(55 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .wrap {
    padding-right: calc(80 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .wrap {
    padding-right: calc(100 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .wrap {
    padding-left: calc(30 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .wrap {
    padding-left: calc(55 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .wrap {
    padding-left: calc(80 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .wrap {
    padding-left: calc(100 / 1920 * 100vw);
  }
}

.wrap-narrow {
  width: 100%;
  margin: 0 auto;
  padding-right: calc(20 / 375 * 100vw);
  padding-left: calc(20 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .wrap-narrow {
    padding-right: calc(30 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .wrap-narrow {
    padding-right: calc(55 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .wrap-narrow {
    padding-right: calc(180 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .wrap-narrow {
    padding-right: calc(220 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .wrap-narrow {
    padding-left: calc(30 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .wrap-narrow {
    padding-left: calc(55 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .wrap-narrow {
    padding-left: calc(180 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .wrap-narrow {
    padding-left: calc(220 / 1920 * 100vw);
  }
}

.youtube {
  width: 100%;
  aspect-ratio: 16/9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}

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

.sp-only {
  display: none;
}
@media screen and (max-width: 600px) {
  .sp-only {
    display: block;
  }
}

.mt0 {
  margin-top: 0 !important;
}

.section-title h2 {
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
  line-height: 2.2;
}
@media screen and (max-width: 600px) {
  .section-title h2 {
    font-size: 1.4rem;
  }
}
.section-title h2.c-blue {
  color: #004587;
}
.section-title h2.c-white {
  color: #FFFFFF;
}
.section-title h2 span {
  display: block;
  font-size: 2.604vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1440px) {
  .section-title h2 span {
    font-size: 3.502vw;
  }
}
@media screen and (max-width: 960px) {
  .section-title h2 span {
    font-size: 4.166vw;
  }
}
@media screen and (max-width: 600px) {
  .section-title h2 span {
    font-size: 4.666vw;
  }
}
@media screen and (max-width: 480px) {
  .section-title h2 span {
    font-size: 7.466vw;
  }
}

.anime-up.displayed span {
  animation: showText 1s backwards;
  display: inline-block;
}

.anime-up.displayed > span {
  overflow: hidden;
}

.anime-up.displayed > span > span {
  animation: show_text_from_bottom 0.5s backwards;
}

/* Header
--------------------------------------------- */
.site-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 99;
}
.site-header__inner {
  display: -moz-grid;
  display: grid;
  grid-template-columns: 122px auto;
  grid-template-rows: repeat(2, auto);
  gap: 1rem 6rem;
}
@media screen and (max-width: 960px) {
  .site-header__inner {
    padding-top: 2rem;
    gap: 1rem 5rem;
  }
}
.site-header-logo {
  grid-column: 1/2;
  grid-row: 2/3;
  width: 122px;
  transition: all 0.3s ease-in-out;
}
@media screen and (max-width: 960px) {
  .site-header-logo {
    width: 71px;
  }
}
.site-header-logo:hover {
  opacity: 0.75;
  filter: opacity(75%);
}
.site-header-logo img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.site-header-nav {
  grid-column: 2/3;
  grid-row: 2/3;
  width: 100%;
}
@media screen and (max-width: 960px) {
  .site-header-nav {
    display: none;
  }
}
.site-header-global-list {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0 6rem;
}
.site-header-global-list li {
  text-align: center;
  list-style-type: none;
}
.site-header-global-list li a {
  color: #004587;
  font-size: 1.145vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  line-height: 1.5;
}
@media screen and (max-width: 1440px) {
  .site-header-global-list li a {
    font-size: 1.527vw;
  }
}
@media screen and (max-width: 960px) {
  .site-header-global-list li a {
    font-size: 2.291vw;
  }
}
@media screen and (max-width: 600px) {
  .site-header-global-list li a {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 480px) {
  .site-header-global-list li a {
    font-size: 4vw;
  }
}
.site-header-global-list li a:hover {
  opacity: 0.75;
  filter: opacity(75%);
}
.site-header-global-list li a span {
  display: block;
  color: #004587;
  font-size: 1.2rem;
  font-family: "Noto Sans JP", serif;
  font-weight: 700;
}
.site-header-action {
  grid-column: 1/3;
  grid-row: 1/2;
}
@media screen and (max-width: 960px) {
  .site-header-action {
    display: none;
  }
}
.site-header-action ul {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.8rem;
}
.site-header-action ul li {
  list-style: none;
}
.site-header-action .link-btn {
  width: 100%;
  padding: 1.8rem 3.6rem 2rem 3.6rem !important;
  border-radius: 0 0 25px 25px;
  font-size: 1.5rem;
  font-weight: 700;
}
.site-header-action .link-btn:hover {
  background-color: #FFFFFF;
  color: #004587;
}
.site-header-action .link-btn i {
  font-size: 1.145vw;
}
@media screen and (max-width: 1440px) {
  .site-header-action .link-btn i {
    font-size: 1.527vw;
  }
}
@media screen and (max-width: 960px) {
  .site-header-action .link-btn i {
    font-size: 2.291vw;
  }
}
@media screen and (max-width: 600px) {
  .site-header-action .link-btn i {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 480px) {
  .site-header-action .link-btn i {
    font-size: 4vw;
  }
}

/* hamburger
--------------------------------------------- */
.hamburger-menu {
  display: none;
  position: fixed;
  top: 1.2rem;
  right: 2rem;
  z-index: 9999;
  width: 40px;
  height: 40px;
  border: 2px solid #004587;
  border-radius: 50%;
  background-color: transparent;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
}
@media screen and (max-width: 960px) {
  .hamburger-menu {
    display: inline-block;
  }
}
.hamburger-menu__bar {
  display: inline-block;
  position: absolute;
  left: 50%;
  width: 11px;
  height: 2px;
  background-color: #004587;
  transition: all 0.3s ease-in-out;
  transform: translateX(-50%);
}
.hamburger-menu__bar:nth-of-type(1) {
  top: 14px;
}
.hamburger-menu__bar:nth-of-type(2) {
  top: 18px;
}
.hamburger-menu__bar:nth-of-type(3) {
  top: 22px;
}
.hamburger-menu-open {
  border: 2px solid #FFFFFF;
}
.hamburger-menu-open .hamburger-menu__bar {
  top: 17px;
  left: 10px;
  width: 16px;
  background-color: #FFFFFF;
}
.hamburger-menu-open .hamburger-menu__bar:nth-of-type(1) {
  transform: rotate(45deg);
}
.hamburger-menu-open .hamburger-menu__bar:nth-of-type(2) {
  transform: rotate(-45deg);
}
.hamburger-menu-open .hamburger-menu__bar:nth-of-type(3) {
  display: none;
}

.sp-header {
  display: none;
}
@media screen and (max-width: 960px) {
  .sp-header {
    display: block;
  }
}
.sp-header-logo {
  position: absolute;
  top: 3.2rem;
  left: calc(20 / 375 * 100vw);
  width: 71px;
}
@media screen and (min-width: 600px) {
  .sp-header-logo {
    left: calc(30 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .sp-header-logo {
    left: calc(55 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .sp-header-logo {
    left: calc(80 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .sp-header-logo {
    left: calc(100 / 1920 * 100vw);
  }
}
.sp-header-logo img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.sp-header-navigation {
  display: block;
  position: fixed;
  top: 0;
  right: 0;
  overflow-y: scroll;
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  width: 70vw;
  height: 100vh;
  padding-top: 3.2rem;
  padding-bottom: 6.4rem;
  background-color: #004587;
  background-image: url("../img/common/bg_geometry.svg");
  background-position: center;
  background-repeat: repeat-y;
  background-size: cover;
  transform: translateX(70vw);
  transition: transform 0.3s ease;
}
.sp-header-navigation.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateX(0vw) !important;
}
.sp-header-nav {
  width: 100%;
  padding-top: 5.5rem;
}
.sp-header-nav-list {
  width: 100%;
  margin: 0;
  padding: 0;
}
.sp-header-nav-list li {
  width: 100%;
  margin: 2.4rem 0 0 0;
  padding: 0;
  list-style-type: none;
}
.sp-header-nav-list li:first-of-type {
  margin-top: 0;
}
.sp-header-nav-list a {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
  gap: 1.4rem;
  position: relative;
  color: #FFFFFF;
  font-size: 1.8rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  text-decoration: none;
}
.sp-header-nav-list a span {
  color: #FFFFFF;
  font-size: 1.2rem;
  font-weight: 700;
}
.sp-header-action {
  width: 100%;
  margin-top: 4rem;
}
.sp-header-action ul {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 2.5rem;
}
.sp-header-action ul li {
  width: 100%;
  list-style: none;
}
.sp-header-action .link-btn {
  width: 100%;
  padding: 1.8rem 4.8rem 2rem 4.8rem !important;
  border-radius: 25px 0 25px 0 !important;
  color: #004587;
  font-size: 1.5rem;
  font-weight: 500;
}
.sp-header-action .link-btn i {
  font-size: 1.145vw;
}
@media screen and (max-width: 1440px) {
  .sp-header-action .link-btn i {
    font-size: 1.527vw;
  }
}
@media screen and (max-width: 960px) {
  .sp-header-action .link-btn i {
    font-size: 2.291vw;
  }
}
@media screen and (max-width: 600px) {
  .sp-header-action .link-btn i {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 480px) {
  .sp-header-action .link-btn i {
    font-size: 4vw;
  }
}
.sp-header-policy {
  margin-top: 4rem;
}
.sp-header-policy a {
  color: #FFFFFF;
  font-size: 1.5rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  text-decoration: none;
}

/* Footer
--------------------------------------------- */
.site-footer {
  position: relative;
  padding-top: calc(80 / 375 * 100vw);
  padding-bottom: 8rem;
}
@media screen and (min-width: 600px) {
  .site-footer {
    padding-top: calc(150 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .site-footer {
    padding-top: calc(200 / 960 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .site-footer {
    padding-top: calc(300 / 1920 * 100vw);
  }
}
@media screen and (max-width: 960px) {
  .site-footer {
    padding-bottom: 5rem;
  }
}
.site-footer__inner {
  display: -moz-grid;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: 1fr;
  gap: 3vw 10vw;
}
@media screen and (max-width: 960px) {
  .site-footer__inner {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(2, auto);
  }
}
.site-footer-info {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-start;
  gap: 4vw 5vw;
  width: 100%;
}
@media screen and (max-width: 600px) {
  .site-footer-info {
    flex-wrap: wrap;
  }
}
.site-footer-info__menu {
  width: 184px;
}
@media screen and (max-width: 600px) {
  .site-footer-info__menu {
    width: 100%;
  }
}
.site-footer-info__shop {
  width: calc(100% - 184px);
}
@media screen and (max-width: 600px) {
  .site-footer-info__shop {
    width: 100%;
  }
}
.site-footer-logo {
  width: 184px;
}
@media screen and (max-width: 600px) {
  .site-footer-logo {
    width: 104px;
    margin: 0 auto;
  }
}
.site-footer-logo img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.site-footer-nav {
  width: 100%;
  margin-top: calc(24 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .site-footer-nav {
    margin-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .site-footer-nav {
    margin-top: calc(24 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .site-footer-nav {
    margin-top: calc(60 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .site-footer-nav {
    margin-top: calc(60 / 1920 * 100vw);
  }
}
@media screen and (max-width: 960px) {
  .site-footer-nav {
    display: none;
  }
}
.site-footer-nav ul li {
  margin-top: 1rem;
  list-style: none;
}
.site-footer-nav ul li:first-of-type {
  margin-top: 0;
}
.site-footer-nav ul li a {
  color: #FFFFFF;
  font-size: 1.4rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}
.site-footer-nav ul li a:hover {
  text-decoration: underline;
}
.site-footer-sns {
  display: none;
}
@media screen and (max-width: 960px) {
  .site-footer-sns {
    display: block;
    margin-top: calc(24 / 375 * 100vw);
    text-align: center;
  }
}
@media screen and (max-width: 960px) and (min-width: 600px) {
  .site-footer-sns {
    margin-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (max-width: 960px) and (min-width: 960px) {
  .site-footer-sns {
    margin-top: calc(24 / 960 * 100vw);
  }
}
.site-footer-sns a {
  color: #FFFFFF;
  font-size: 1.5625vw;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-decoration: none;
}
@media screen and (max-width: 1440px) {
  .site-footer-sns a {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 960px) {
  .site-footer-sns a {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 600px) {
  .site-footer-sns a {
    font-size: 3.333vw;
  }
}
@media screen and (max-width: 480px) {
  .site-footer-sns a {
    font-size: 5.333vw;
  }
}
.site-footer-shop__item {
  width: 100%;
  margin-top: calc(24 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .site-footer-shop__item {
    margin-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .site-footer-shop__item {
    margin-top: calc(30 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .site-footer-shop__item {
    margin-top: calc(30 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .site-footer-shop__item {
    margin-top: calc(30 / 1920 * 100vw);
  }
}
.site-footer-shop__item:first-of-type {
  margin-top: 0;
}
.site-footer-shop__item dt {
  color: #FFFFFF;
  font-size: 1.145vw;
  font-weight: 500;
  line-height: 2.2;
}
@media screen and (max-width: 1440px) {
  .site-footer-shop__item dt {
    font-size: 1.527vw;
  }
}
@media screen and (max-width: 960px) {
  .site-footer-shop__item dt {
    font-size: 2.291vw;
  }
}
@media screen and (max-width: 600px) {
  .site-footer-shop__item dt {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 480px) {
  .site-footer-shop__item dt {
    font-size: 4vw;
  }
}
.site-footer-shop__item dd {
  color: #FFFFFF;
  font-size: 0.9375vw;
  font-weight: 500;
  line-height: 2.2;
}
@media screen and (max-width: 1440px) {
  .site-footer-shop__item dd {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 960px) {
  .site-footer-shop__item dd {
    font-size: 1.875vw;
  }
}
@media screen and (max-width: 600px) {
  .site-footer-shop__item dd {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 480px) {
  .site-footer-shop__item dd {
    font-size: 4vw;
  }
}
@media screen and (max-width: 960px) {
  .site-footer-shop__item dd.instagram {
    display: none;
  }
}
.site-footer-shop__item dd a {
  color: #FFFFFF;
  font-size: 0.9375vw;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-decoration: none;
}
@media screen and (max-width: 1440px) {
  .site-footer-shop__item dd a {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 960px) {
  .site-footer-shop__item dd a {
    font-size: 1.875vw;
  }
}
@media screen and (max-width: 600px) {
  .site-footer-shop__item dd a {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 480px) {
  .site-footer-shop__item dd a {
    font-size: 4vw;
  }
}
.site-footer-shop__item dd i {
  margin-right: 1.2vw;
  font-size: 1.145vw;
  vertical-align: -1px;
}
@media screen and (max-width: 1440px) {
  .site-footer-shop__item dd i {
    font-size: 1.527vw;
  }
}
@media screen and (max-width: 960px) {
  .site-footer-shop__item dd i {
    font-size: 2.291vw;
  }
}
@media screen and (max-width: 600px) {
  .site-footer-shop__item dd i {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 480px) {
  .site-footer-shop__item dd i {
    font-size: 4vw;
  }
}
@media screen and (max-width: 600px) {
  .site-footer-shop__item dd i {
    vertical-align: -4px;
  }
}
.site-footer-shop__link {
  width: 100%;
  margin-top: calc(24 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .site-footer-shop__link {
    margin-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .site-footer-shop__link {
    margin-top: calc(30 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .site-footer-shop__link {
    margin-top: calc(30 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .site-footer-shop__link {
    margin-top: calc(30 / 1920 * 100vw);
  }
}
.site-footer-shop__link .link-btn {
  margin: 0;
}
.site-footer-map {
  width: 100%;
}
.site-footer-map img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.site-footer .copyright {
  width: 100%;
  margin-top: calc(80 / 375 * 100vw);
  text-align: center;
}
@media screen and (min-width: 960px) {
  .site-footer .copyright {
    margin-top: calc(100 / 960 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .site-footer .copyright {
    margin-top: calc(150 / 1920 * 100vw);
  }
}
.site-footer .copyright p {
  color: #FFFFFF;
  font-size: 1.2rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
}

/* main visual
--------------------------------------------- */
.l-mv {
  position: relative;
}
.l-mv__inner {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  height: 100%;
  aspect-ratio: 2/1;
}
@media screen and (max-width: 960px) {
  .l-mv__inner {
    align-items: flex-end;
    padding-bottom: 10%;
    aspect-ratio: 195/262;
  }
}
.l-mv__inner.mini {
  aspect-ratio: 24/7;
}
@media screen and (max-width: 960px) {
  .l-mv__inner.mini {
    aspect-ratio: 13/12;
  }
}
.l-mv__txt {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 960px) {
  .l-mv__txt {
    width: 100%;
  }
}
.l-mv__txt h1 {
  color: #004587;
  font-size: 4.166vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1440px) {
  .l-mv__txt h1 {
    font-size: 5.555vw;
  }
}
@media screen and (max-width: 960px) {
  .l-mv__txt h1 {
    font-size: 6.666vw;
  }
}
@media screen and (max-width: 600px) {
  .l-mv__txt h1 {
    font-size: 7.333vw;
  }
}
@media screen and (max-width: 480px) {
  .l-mv__txt h1 {
    font-size: 11.733vw;
  }
}
.l-mv__txt p {
  color: #004587;
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 600px) {
  .l-mv__txt p {
    font-size: 1.4rem;
  }
}
.l-mv__image {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  width: 100%;
  height: auto;
  border-radius: 0 0 100px 100px;
}
@media screen and (max-width: 960px) {
  .l-mv__image {
    border-radius: 0 0 30px 30px;
  }
}
.l-mv__image.aos-animate img {
  animation: zoom_down 2s ease-out 0s normal both;
}
.l-mv__image img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

/* Lower
--------------------------------------------- */
.l-content__content {
  padding-bottom: calc(30 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .l-content__content {
    padding-bottom: calc(30 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-content__content {
    padding-bottom: calc(55 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-content__content {
    padding-bottom: calc(100 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-content__content {
    padding-bottom: calc(100 / 1920 * 100vw);
  }
}

/* main visual
--------------------------------------------- */
.p-mv {
  position: relative;
}
@media screen and (max-width: 960px) {
  .p-mv {
    z-index: 3;
  }
}
.p-mv__inner {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  height: 100%;
  aspect-ratio: 24/7;
}
@media screen and (max-width: 960px) {
  .p-mv__inner {
    align-items: flex-end;
    padding-bottom: 10%;
    aspect-ratio: 13/12;
  }
}
.p-mv__txt {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 960px) {
  .p-mv__txt {
    width: 100%;
  }
}
.p-mv__txt h1 {
  color: #004587;
  font-size: 4.166vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1440px) {
  .p-mv__txt h1 {
    font-size: 5.555vw;
  }
}
@media screen and (max-width: 960px) {
  .p-mv__txt h1 {
    font-size: 6.666vw;
  }
}
@media screen and (max-width: 600px) {
  .p-mv__txt h1 {
    font-size: 7.333vw;
  }
}
@media screen and (max-width: 480px) {
  .p-mv__txt h1 {
    font-size: 11.733vw;
  }
}
.p-mv__txt p {
  color: #004587;
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 600px) {
  .p-mv__txt p {
    font-size: 1.4rem;
  }
}
.p-mv__image {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  width: 100%;
  height: auto;
  border-radius: 0 0 100px 100px;
}
@media screen and (max-width: 960px) {
  .p-mv__image {
    border-radius: 0 0 30px 30px;
  }
}
.p-mv__image img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

/* container
--------------------------------------------- */
.p-container {
  position: relative;
  overflow: hidden;
  width: 100%;
  margin-top: calc(-30 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .p-container {
    margin-top: calc(-30 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .p-container {
    margin-top: calc(-40 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .p-container {
    margin-top: calc(-100 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .p-container {
    margin-top: calc(-100 / 1920 * 100vw);
  }
}
.p-container__inner {
  margin-bottom: calc(85 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .p-container__inner {
    margin-bottom: calc(85 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .p-container__inner {
    margin-bottom: calc(130 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .p-container__inner {
    margin-bottom: calc(260 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .p-container__inner {
    margin-bottom: calc(260 / 1920 * 100vw);
  }
}
@media screen and (max-width: 960px) {
  .p-container__inner {
    padding-right: 0;
    padding-left: 0;
  }
}

/* contents
--------------------------------------------- */
.p-content {
  position: relative;
}
.p-content__wrap {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 4rem 9rem;
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding-top: calc(40 / 375 * 100vw);
  padding-right: calc(20 / 375 * 100vw);
  padding-bottom: calc(80 / 375 * 100vw);
  padding-left: calc(20 / 375 * 100vw);
  background-color: #FFFFFF;
}
@media screen and (min-width: 600px) {
  .p-content__wrap {
    padding-top: calc(40 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .p-content__wrap {
    padding-top: calc(80 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .p-content__wrap {
    padding-top: calc(130 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .p-content__wrap {
    padding-top: calc(130 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .p-content__wrap {
    padding-right: calc(30 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .p-content__wrap {
    padding-right: calc(55 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .p-content__wrap {
    padding-right: calc(80 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .p-content__wrap {
    padding-right: calc(100 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .p-content__wrap {
    padding-bottom: calc(80 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .p-content__wrap {
    padding-bottom: calc(130 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .p-content__wrap {
    padding-bottom: calc(220 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .p-content__wrap {
    padding-bottom: calc(220 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .p-content__wrap {
    padding-left: calc(30 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .p-content__wrap {
    padding-left: calc(55 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .p-content__wrap {
    padding-left: calc(80 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .p-content__wrap {
    padding-left: calc(100 / 1920 * 100vw);
  }
}
@media screen and (max-width: 1440px) {
  .p-content__wrap {
    gap: 4rem 6rem;
  }
}
@media screen and (max-width: 960px) {
  .p-content__wrap {
    flex-wrap: wrap;
  }
}
.p-content__content {
  width: 70%;
}
@media screen and (max-width: 960px) {
  .p-content__content {
    width: 100%;
  }
}
.p-content__content h2 {
  color: #004587;
  font-size: 1.5625vw;
  font-weight: 700;
  text-align: left;
}
@media screen and (max-width: 1440px) {
  .p-content__content h2 {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 960px) {
  .p-content__content h2 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 600px) {
  .p-content__content h2 {
    font-size: 3.333vw;
  }
}
@media screen and (max-width: 480px) {
  .p-content__content h2 {
    font-size: 5.333vw;
  }
}
.p-content__content .blog-list {
  margin-top: calc(24 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .p-content__content .blog-list {
    margin-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .p-content__content .blog-list {
    margin-top: calc(40 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .p-content__content .blog-list {
    margin-top: calc(55 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .p-content__content .blog-list {
    margin-top: calc(55 / 1920 * 100vw);
  }
}
.p-content__content p {
  margin-top: 2.4rem;
  color: #004587;
  font-size: 1.041vw;
  font-weight: 500;
  text-align: left;
  line-height: 2.2;
}
@media screen and (max-width: 1440px) {
  .p-content__content p {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .p-content__content p {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .p-content__content p {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .p-content__content p {
    font-size: 4.266vw;
  }
}
.p-content__link {
  margin-top: calc(24 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .p-content__link {
    margin-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .p-content__link {
    margin-top: calc(40 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .p-content__link {
    margin-top: calc(55 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .p-content__link {
    margin-top: calc(55 / 1920 * 100vw);
  }
}

/* single content
--------------------------------------------- */
.s-content__wrap {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 4rem 9rem;
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding-top: calc(60 / 375 * 100vw);
  padding-right: calc(20 / 375 * 100vw);
  padding-bottom: calc(80 / 375 * 100vw);
  padding-left: calc(20 / 375 * 100vw);
  background-color: #FFFFFF;
}
@media screen and (min-width: 600px) {
  .s-content__wrap {
    padding-top: calc(60 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .s-content__wrap {
    padding-top: calc(80 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .s-content__wrap {
    padding-top: calc(130 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .s-content__wrap {
    padding-top: calc(130 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .s-content__wrap {
    padding-right: calc(30 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .s-content__wrap {
    padding-right: calc(40 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .s-content__wrap {
    padding-right: calc(80 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .s-content__wrap {
    padding-right: calc(100 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .s-content__wrap {
    padding-bottom: calc(80 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .s-content__wrap {
    padding-bottom: calc(130 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .s-content__wrap {
    padding-bottom: calc(220 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .s-content__wrap {
    padding-bottom: calc(220 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .s-content__wrap {
    padding-left: calc(30 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .s-content__wrap {
    padding-left: calc(40 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .s-content__wrap {
    padding-left: calc(80 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .s-content__wrap {
    padding-left: calc(100 / 1920 * 100vw);
  }
}
@media screen and (max-width: 1440px) {
  .s-content__wrap {
    gap: 4rem 6rem;
  }
}
@media screen and (max-width: 960px) {
  .s-content__wrap {
    flex-wrap: wrap;
  }
}
.s-content__content {
  width: 70%;
}
@media screen and (max-width: 960px) {
  .s-content__content {
    width: 100%;
  }
}
.s-content__content .entry-meta {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1.6rem 2.4rem;
}
.s-content__content .entry-meta .blog-category {
  display: inline-block;
  width: -moz-fit-content;
  width: fit-content;
  padding: 2px 0.8rem;
  background-color: #004587;
  color: #FFFFFF;
  font-size: 1.6rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
}
@media screen and (max-width: 600px) {
  .s-content__content .entry-meta .blog-category {
    font-size: 1.4rem;
  }
}
.s-content__content .entry-meta time {
  color: #004587;
  font-size: 1.6rem;
  font-weight: 500;
}
@media screen and (max-width: 600px) {
  .s-content__content .entry-meta time {
    font-size: 1.4rem;
  }
}
.s-content__content .entry-header {
  width: 100%;
  margin-top: calc(16 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .s-content__content .entry-header {
    margin-top: calc(16 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .s-content__content .entry-header {
    margin-top: calc(24 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .s-content__content .entry-header {
    margin-top: calc(40 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .s-content__content .entry-header {
    margin-top: calc(40 / 1920 * 100vw);
  }
}
.s-content__content .entry-header h1 {
  color: #004587;
  font-size: 1.5625vw;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 1440px) {
  .s-content__content .entry-header h1 {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 960px) {
  .s-content__content .entry-header h1 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 600px) {
  .s-content__content .entry-header h1 {
    font-size: 3.333vw;
  }
}
@media screen and (max-width: 480px) {
  .s-content__content .entry-header h1 {
    font-size: 5.333vw;
  }
}
.s-content__content .entry-content {
  margin-top: calc(40 / 375 * 100vw);
  padding-top: calc(24 / 375 * 100vw);
  border-top: 1px dotted #004587;
}
@media screen and (min-width: 600px) {
  .s-content__content .entry-content {
    margin-top: calc(40 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .s-content__content .entry-content {
    margin-top: calc(60 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .s-content__content .entry-content {
    margin-top: calc(80 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .s-content__content .entry-content {
    margin-top: calc(80 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .s-content__content .entry-content {
    padding-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .s-content__content .entry-content {
    padding-top: calc(40 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .s-content__content .entry-content {
    padding-top: calc(55 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .s-content__content .entry-content {
    padding-top: calc(55 / 1920 * 100vw);
  }
}
.s-content__content .entry-content__thumb {
  overflow: hidden;
  width: 100%;
  margin: 2rem 0;
}
.s-content__content .entry-content__thumb img {
  max-width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  margin-inline: auto;
}
.s-content__content .entry-content h2 {
  position: relative;
  margin-top: calc(40 / 375 * 100vw);
  padding: 0.4rem 0 0.6rem 1.6rem;
  border-left: 10px solid #004587;
  color: #1E1E1E;
  font-size: 1.5625vw;
  font-weight: 600;
  text-align: left;
  line-height: 1.5;
}
@media screen and (min-width: 600px) {
  .s-content__content .entry-content h2 {
    margin-top: calc(40 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .s-content__content .entry-content h2 {
    margin-top: calc(60 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .s-content__content .entry-content h2 {
    margin-top: calc(80 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .s-content__content .entry-content h2 {
    margin-top: calc(80 / 1920 * 100vw);
  }
}
@media screen and (max-width: 1440px) {
  .s-content__content .entry-content h2 {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 960px) {
  .s-content__content .entry-content h2 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 600px) {
  .s-content__content .entry-content h2 {
    font-size: 3.333vw;
  }
}
@media screen and (max-width: 480px) {
  .s-content__content .entry-content h2 {
    font-size: 5.333vw;
  }
}
@media screen and (max-width: 600px) {
  .s-content__content .entry-content h2 {
    padding: 0.4rem 1rem 0.6rem;
  }
}
.s-content__content .entry-content h2 + p {
  margin-top: calc(10 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .s-content__content .entry-content h2 + p {
    margin-top: calc(10 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .s-content__content .entry-content h2 + p {
    margin-top: calc(16 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .s-content__content .entry-content h2 + p {
    margin-top: calc(24 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .s-content__content .entry-content h2 + p {
    margin-top: calc(24 / 1920 * 100vw);
  }
}
.s-content__content .entry-content h3 {
  position: relative;
  margin-top: calc(40 / 375 * 100vw);
  padding: 1.6rem 2.2rem;
  background-color: #004587;
  color: #FFFFFF;
  font-size: 1.145vw;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 600px) {
  .s-content__content .entry-content h3 {
    margin-top: calc(40 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .s-content__content .entry-content h3 {
    margin-top: calc(55 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .s-content__content .entry-content h3 {
    margin-top: calc(60 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .s-content__content .entry-content h3 {
    margin-top: calc(60 / 1920 * 100vw);
  }
}
@media screen and (max-width: 1440px) {
  .s-content__content .entry-content h3 {
    font-size: 1.527vw;
  }
}
@media screen and (max-width: 960px) {
  .s-content__content .entry-content h3 {
    font-size: 2.291vw;
  }
}
@media screen and (max-width: 600px) {
  .s-content__content .entry-content h3 {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 480px) {
  .s-content__content .entry-content h3 {
    font-size: 4vw;
  }
}
.s-content__content .entry-content h3 + p {
  margin-top: calc(10 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .s-content__content .entry-content h3 + p {
    margin-top: calc(10 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .s-content__content .entry-content h3 + p {
    margin-top: calc(16 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .s-content__content .entry-content h3 + p {
    margin-top: calc(24 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .s-content__content .entry-content h3 + p {
    margin-top: calc(24 / 1920 * 100vw);
  }
}
.s-content__content .entry-content h4 {
  margin-top: calc(24 / 375 * 100vw);
  color: #004587;
  font-size: 1.145vw;
  font-weight: 700;
}
@media screen and (min-width: 600px) {
  .s-content__content .entry-content h4 {
    margin-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .s-content__content .entry-content h4 {
    margin-top: calc(32 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .s-content__content .entry-content h4 {
    margin-top: calc(40 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .s-content__content .entry-content h4 {
    margin-top: calc(40 / 1920 * 100vw);
  }
}
@media screen and (max-width: 1440px) {
  .s-content__content .entry-content h4 {
    font-size: 1.527vw;
  }
}
@media screen and (max-width: 960px) {
  .s-content__content .entry-content h4 {
    font-size: 2.291vw;
  }
}
@media screen and (max-width: 600px) {
  .s-content__content .entry-content h4 {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 480px) {
  .s-content__content .entry-content h4 {
    font-size: 4vw;
  }
}
.s-content__content .entry-content h4 + p {
  margin-top: calc(10 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .s-content__content .entry-content h4 + p {
    margin-top: calc(10 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .s-content__content .entry-content h4 + p {
    margin-top: calc(16 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .s-content__content .entry-content h4 + p {
    margin-top: calc(24 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .s-content__content .entry-content h4 + p {
    margin-top: calc(24 / 1920 * 100vw);
  }
}
.s-content__content .entry-content p {
  margin-top: calc(24 / 375 * 100vw);
  color: #1E1E1E;
  font-size: 1.041vw;
  line-height: 1.6;
}
@media screen and (min-width: 600px) {
  .s-content__content .entry-content p {
    margin-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .s-content__content .entry-content p {
    margin-top: calc(32 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .s-content__content .entry-content p {
    margin-top: calc(40 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .s-content__content .entry-content p {
    margin-top: calc(40 / 1920 * 100vw);
  }
}
@media screen and (max-width: 1440px) {
  .s-content__content .entry-content p {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .s-content__content .entry-content p {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .s-content__content .entry-content p {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .s-content__content .entry-content p {
    font-size: 4.266vw;
  }
}
.s-content__content .entry-content a {
  color: #004587;
  text-decoration: underline;
}
.s-content__content .entry-content a:hover {
  opacity: 0.75;
  filter: opacity(75%);
}
.s-content__content .entry-content figure {
  width: 100%;
  margin-top: calc(24 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .s-content__content .entry-content figure {
    margin-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .s-content__content .entry-content figure {
    margin-top: calc(32 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .s-content__content .entry-content figure {
    margin-top: calc(40 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .s-content__content .entry-content figure {
    margin-top: calc(40 / 1920 * 100vw);
  }
}
.s-content__content .entry-content figure img {
  max-width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.s-content__content .entry-content figure figcaption {
  margin-top: 0.8rem;
  color: #004587;
  font-size: 1.6rem;
  font-weight: 400;
  text-align: left;
}
@media screen and (max-width: 600px) {
  .s-content__content .entry-content figure figcaption {
    font-size: 1.4rem;
  }
}
.s-content__content .entry-content ul {
  margin-top: calc(24 / 375 * 100vw);
  font-size: 1.6rem;
}
@media screen and (min-width: 600px) {
  .s-content__content .entry-content ul {
    margin-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .s-content__content .entry-content ul {
    margin-top: calc(32 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .s-content__content .entry-content ul {
    margin-top: calc(40 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .s-content__content .entry-content ul {
    margin-top: calc(40 / 1920 * 100vw);
  }
}
.s-content__content .entry-content ul li {
  margin: 1rem 0 0 1.5rem;
  color: #004587;
  font-size: 1.041vw;
  font-weight: 500;
}
@media screen and (max-width: 1440px) {
  .s-content__content .entry-content ul li {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .s-content__content .entry-content ul li {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .s-content__content .entry-content ul li {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .s-content__content .entry-content ul li {
    font-size: 4.266vw;
  }
}
.s-content__content .entry-content ul li::marker {
  color: #004587;
}
.s-content__content .entry-content ol {
  margin-top: calc(24 / 375 * 100vw);
  font-size: 1.6rem;
}
@media screen and (min-width: 600px) {
  .s-content__content .entry-content ol {
    margin-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .s-content__content .entry-content ol {
    margin-top: calc(32 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .s-content__content .entry-content ol {
    margin-top: calc(40 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .s-content__content .entry-content ol {
    margin-top: calc(40 / 1920 * 100vw);
  }
}
.s-content__content .entry-content ol li {
  margin: 1rem 0 0 1.2rem;
  color: #004587;
  font-size: 1.041vw;
  font-weight: 500;
}
@media screen and (max-width: 1440px) {
  .s-content__content .entry-content ol li {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .s-content__content .entry-content ol li {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .s-content__content .entry-content ol li {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .s-content__content .entry-content ol li {
    font-size: 4.266vw;
  }
}
.s-content__content .entry-content ol li::marker {
  color: #004587;
  font-size: 1.8rem;
  font-weight: 700;
}
.s-content__content .entry-content table {
  width: 100%;
  margin-top: calc(24 / 375 * 100vw);
  border-collapse: collapse;
}
@media screen and (min-width: 600px) {
  .s-content__content .entry-content table {
    margin-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .s-content__content .entry-content table {
    margin-top: calc(32 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .s-content__content .entry-content table {
    margin-top: calc(40 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .s-content__content .entry-content table {
    margin-top: calc(40 / 1920 * 100vw);
  }
}
.s-content__content .entry-content table thead {
  border: none;
}
.s-content__content .entry-content table thead th {
  padding: 1.4rem 1rem 1.6rem 1rem;
  border: 1px solid #004587;
  background-color: #004587;
  color: #FFFFFF;
  font-size: 1.041vw;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 1440px) {
  .s-content__content .entry-content table thead th {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .s-content__content .entry-content table thead th {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .s-content__content .entry-content table thead th {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .s-content__content .entry-content table thead th {
    font-size: 4.266vw;
  }
}
@media screen and (max-width: 600px) {
  .s-content__content .entry-content table thead th {
    padding: 0.8rem 1rem 1rem 1rem;
  }
}
.s-content__content .entry-content table tbody th {
  padding: 1.4rem 1rem 1.6rem 1rem;
  color: #004587;
  font-size: 1.041vw;
  font-weight: 500;
  text-align: left;
}
@media screen and (max-width: 1440px) {
  .s-content__content .entry-content table tbody th {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .s-content__content .entry-content table tbody th {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .s-content__content .entry-content table tbody th {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .s-content__content .entry-content table tbody th {
    font-size: 4.266vw;
  }
}
@media screen and (max-width: 600px) {
  .s-content__content .entry-content table tbody th {
    padding: 0.8rem 1rem 1rem 1rem;
  }
}
.s-content__content .entry-content table tbody td {
  padding: 1.4rem 1rem 1.6rem 1rem;
  color: #004587;
  font-size: 1.041vw;
  font-weight: 500;
}
@media screen and (max-width: 1440px) {
  .s-content__content .entry-content table tbody td {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .s-content__content .entry-content table tbody td {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .s-content__content .entry-content table tbody td {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .s-content__content .entry-content table tbody td {
    font-size: 4.266vw;
  }
}
@media screen and (max-width: 600px) {
  .s-content__content .entry-content table tbody td {
    padding: 0.8rem 1rem 1rem 1rem;
  }
}
.s-content__content .entry-content blockquote {
  width: 100%;
  margin-top: calc(24 / 375 * 100vw);
  padding: 3rem 2rem;
  background-color: #CBD5DC;
}
@media screen and (min-width: 600px) {
  .s-content__content .entry-content blockquote {
    margin-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .s-content__content .entry-content blockquote {
    margin-top: calc(32 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .s-content__content .entry-content blockquote {
    margin-top: calc(40 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .s-content__content .entry-content blockquote {
    margin-top: calc(40 / 1920 * 100vw);
  }
}
@media screen and (max-width: 600px) {
  .s-content__content .entry-content blockquote {
    padding: 2rem 1.6rem;
  }
}
.s-content__content .entry-content blockquote p {
  color: #004587;
  font-size: 1.041vw;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 1440px) {
  .s-content__content .entry-content blockquote p {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .s-content__content .entry-content blockquote p {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .s-content__content .entry-content blockquote p {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .s-content__content .entry-content blockquote p {
    font-size: 4.266vw;
  }
}
.s-content__content .entry-content blockquote p:first-of-type {
  margin-top: 0;
}
.s-content__content .entry-content blockquote cite {
  margin-top: 2rem;
  color: #004587;
  font-size: 1.6rem;
  font-weight: 500;
  font-style: italic;
  text-align: left;
}
@media screen and (max-width: 600px) {
  .s-content__content .entry-content blockquote cite {
    font-size: 1.4rem;
  }
}

/* pager
--------------------------------------------- */
.s-pager-list {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;
  gap: 2rem;
  width: 100%;
  margin-top: 8rem;
}
@media screen and (max-width: 600px) {
  .s-pager-list {
    margin-top: 4rem;
  }
}
.s-pager-list li {
  list-style: none;
}
.s-pager-list li .link-btn {
  width: 120px;
}
.s-pager-list li .link-btn:hover {
  opacity: 1;
  filter: opacity(100%);
}
.s-pager-list li a {
  display: inline-block;
  padding: 1.2rem 2.4rem;
  border: 2px solid #004587;
  border-radius: 25px;
  background-color: #FFFFFF;
  color: #004587;
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  line-height: 1.6;
  transition: all 0.3s ease-in-out;
}
.s-pager-list li a:hover {
  background-color: #004587;
  color: #FFFFFF;
}

/* related posts
--------------------------------------------- */
.s-related {
  width: 100%;
  margin-top: 8rem;
  padding-top: 10rem;
  border-top: 2px solid #004587;
}
@media screen and (max-width: 600px) {
  .s-related {
    margin-top: 6rem;
    padding-top: 8rem;
  }
}
.s-related__title {
  position: relative;
  color: #004587;
  font-weight: 700;
  line-height: 1.5;
}
.s-related__title::before {
  content: "ー";
  display: inline-block;
  position: relative;
  margin-right: 0.8rem;
  color: #004587;
}
.s-related-list {
  width: 100%;
  margin-top: 4rem !important;
}
@media screen and (max-width: 600px) {
  .s-related-list {
    margin-top: 2.4rem;
  }
}

/* author
--------------------------------------------- */
.s-author {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  font-size: 1.6rem;
  font-weight: 500;
  gap: 1em;
}
@media screen and (max-width: 600px) {
  .s-author {
    gap: 0.5em;
  }
}
.s-author__avatar {
  display: block;
  max-width: 62px;
  width: 62px;
  aspect-ratio: 1/1;
  border-radius: 50% 50%;
  overflow: hidden;
}
@media screen and (max-width: 600px) {
  .s-author__avatar {
    max-width: 30px;
  }
}
.s-author__avatar img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
}
.s-author-card {
  position: relative;
  margin-top: 6.4rem;
  padding: 3rem 2rem 3rem 21.2rem;
  font-size: 1.6rem;
}
@media screen and (max-width: 600px) {
  .s-author-card {
    padding: 2rem 1.5rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0 1em;
  }
}
.s-author-card::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 50%;
  width: 56.25%;
  height: 10px;
  background-color: #004587;
  transform: translateX(-50%);
}
.s-author-card__avatar {
  position: absolute;
  left: 2rem;
  display: block;
  max-width: 170px;
  width: 170px;
  aspect-ratio: 1/1;
  border-radius: 50% 50%;
  overflow: hidden;
}
@media screen and (max-width: 600px) {
  .s-author-card__avatar {
    position: static;
    max-width: 90px;
  }
}
.s-author-card__avatar img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
}
.s-author-card__name, .s-author-card__description, .s-author-card__url {
  width: 100%;
}
.s-author-card__name {
  font-size: 2rem;
  color: #004587;
  font-weight: 700;
  margin-bottom: 1em;
}
@media screen and (max-width: 600px) {
  .s-author-card__name {
    width: calc(100% - 120px);
  }
}
.s-author-card__description {
  margin: 1rem 0;
  line-height: 1.5;
}
.s-author-card__url a {
  display: flex;
  align-items: center;
  gap: 0.5em;
  text-decoration: none;
  color: #004587;
  opacity: 1;
  font-weight: 700;
  transition: all 0.3s ease-in-out;
}
.s-author-card__url a:hover {
  opacity: 0.6;
}

/* sidebar
--------------------------------------------- */
.site-sidebar {
  width: 30%;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 960px) {
  .site-sidebar {
    width: 100%;
  }
}
.site-sidebar .widget {
  position: relative;
  width: 100%;
  margin-top: 6rem;
  padding: 4rem;
  border: 1px solid #CBD5DC;
  border-radius: 30px 0 30px 0;
  box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1);
  list-style: none;
}
.site-sidebar .widget:first-of-type {
  margin-top: 0;
}
.site-sidebar .widget .wp-block-heading,
.site-sidebar .widget .widgettitle {
  position: relative;
  width: 100%;
  color: #004587;
  font-size: 1.041vw;
  font-weight: 700;
  text-align: left;
}
@media screen and (max-width: 1440px) {
  .site-sidebar .widget .wp-block-heading,
  .site-sidebar .widget .widgettitle {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .site-sidebar .widget .wp-block-heading,
  .site-sidebar .widget .widgettitle {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .site-sidebar .widget .wp-block-heading,
  .site-sidebar .widget .widgettitle {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .site-sidebar .widget .wp-block-heading,
  .site-sidebar .widget .widgettitle {
    font-size: 4.266vw;
  }
}
.site-sidebar .wp-block-categories-list {
  width: 100%;
  margin-top: 2rem;
}
.site-sidebar .wp-block-categories-list .cat-item {
  width: 100%;
  margin-top: 1rem;
  border-bottom: 1px solid #CBD5DC;
  list-style-type: none;
}
.site-sidebar .wp-block-categories-list .cat-item a {
  display: block;
  position: relative;
  padding: 1rem 2rem 1rem 0;
  color: #004587;
  font-size: 1.041vw;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}
@media screen and (max-width: 1440px) {
  .site-sidebar .wp-block-categories-list .cat-item a {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .site-sidebar .wp-block-categories-list .cat-item a {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .site-sidebar .wp-block-categories-list .cat-item a {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .site-sidebar .wp-block-categories-list .cat-item a {
    font-size: 4.266vw;
  }
}
.site-sidebar .wp-block-categories-list .cat-item a:hover {
  opacity: 0.7;
  filter: opacity(70%);
}
.site-sidebar .wp-block-categories-list .cat-item a:hover::after {
  right: 0;
}
.site-sidebar .wp-block-categories-list .cat-item a::after {
  content: "\f054";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 0.5rem;
  color: #004587;
  font-size: 1.041vw;
  font-family: "Font Awesome 6 Free";
  font-weight: 700;
  transform: translateY(-50%);
  transition: all 0.3s ease-in-out;
}
@media screen and (max-width: 1440px) {
  .site-sidebar .wp-block-categories-list .cat-item a::after {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .site-sidebar .wp-block-categories-list .cat-item a::after {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .site-sidebar .wp-block-categories-list .cat-item a::after {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .site-sidebar .wp-block-categories-list .cat-item a::after {
    font-size: 4.266vw;
  }
}
.site-sidebar .wp-block-latest-posts {
  width: 100%;
  margin-top: 2rem;
}
.site-sidebar .wp-block-latest-posts li {
  width: 100%;
  margin-top: 1rem;
  border-bottom: 1px solid #CBD5DC;
  list-style-type: none;
}
.site-sidebar .wp-block-latest-posts li a {
  display: block;
  position: relative;
  padding: 1rem 2rem 1rem 0;
  color: #004587;
  font-size: 1.041vw;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}
@media screen and (max-width: 1440px) {
  .site-sidebar .wp-block-latest-posts li a {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .site-sidebar .wp-block-latest-posts li a {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .site-sidebar .wp-block-latest-posts li a {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .site-sidebar .wp-block-latest-posts li a {
    font-size: 4.266vw;
  }
}
.site-sidebar .wp-block-latest-posts li a:hover {
  opacity: 0.7;
  filter: opacity(70%);
}
.site-sidebar .wp-block-latest-posts li a:hover::after {
  right: 0;
}
.site-sidebar .wp-block-latest-posts li a::after {
  content: "\f054";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 0.5rem;
  color: #004587;
  font-size: 1.041vw;
  font-family: "Font Awesome 6 Free";
  font-weight: 700;
  transform: translateY(-50%);
  transition: all 0.3s ease-in-out;
}
@media screen and (max-width: 1440px) {
  .site-sidebar .wp-block-latest-posts li a::after {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .site-sidebar .wp-block-latest-posts li a::after {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .site-sidebar .wp-block-latest-posts li a::after {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .site-sidebar .wp-block-latest-posts li a::after {
    font-size: 4.266vw;
  }
}

/* fade in 
--------------------------------------------- */
@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadein_up {
  0% {
    transform: translateY(4rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadein_right {
  0% {
    transform: translateX(-4rem);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fadein_left {
  0% {
    transform: translateX(4rem);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
/* zoom
--------------------------------------------- */
@keyframes zoom_down {
  0% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}
/* show text
--------------------------------------------- */
@keyframes show_text_from_bottom {
  0% {
    transform: translateY(100%);
  }
  50% {
    transform: translateY(-20%);
  }
  100% {
    transform: translateY(0px);
  }
}
@keyframes transformLeftRight {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0);
  }
}
/* arrow
--------------------------------------------- */
@keyframes buttonArrow {
  0% {
    transform: translate(0, 0);
  }
  39% {
    transform: translate(26px, 0);
    opacity: 0;
  }
  59% {
    transform: translate(26px, 0);
    opacity: 0;
  }
  60% {
    transform: translate(-26px, 0);
    opacity: 0;
  }
  to {
    transform: translate(0, 0);
    opacity: 1;
  }
}
/* Access
--------------------------------------------- */
.c-access {
  position: relative;
  overflow: hidden;
  width: 100%;
  margin: -10rem 0 0 0;
  padding: 0;
  border-radius: 0 100px 0 0;
  background: transparent;
  background-color: #FFFFFF;
}
@media screen and (max-width: 960px) {
  .c-access {
    margin: -3rem 0 0 0;
    border-radius: 0 30px 0 0;
  }
}
.c-access__inner {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 3vw 10vw;
  padding-top: calc(80 / 375 * 100vw);
  padding-bottom: calc(80 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .c-access__inner {
    padding-top: calc(80 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .c-access__inner {
    padding-top: calc(130 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .c-access__inner {
    padding-top: calc(200 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .c-access__inner {
    padding-top: calc(200 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .c-access__inner {
    padding-bottom: calc(80 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .c-access__inner {
    padding-bottom: calc(130 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .c-access__inner {
    padding-bottom: calc(200 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .c-access__inner {
    padding-bottom: calc(200 / 1920 * 100vw);
  }
}
@media screen and (max-width: 960px) {
  .c-access__inner {
    flex-wrap: wrap;
  }
}
.c-access-info {
  width: 37.25%;
}
@media screen and (max-width: 960px) {
  .c-access-info {
    width: 100%;
  }
}
.c-access-info .section-title h2 {
  text-align: left;
}
@media screen and (max-width: 960px) {
  .c-access-info .section-title h2 {
    text-align: center;
  }
}
.c-access-info p {
  margin-top: calc(24 / 375 * 100vw);
  color: #004587;
  font-size: 1.041vw;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (min-width: 600px) {
  .c-access-info p {
    margin-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .c-access-info p {
    margin-top: calc(24 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .c-access-info p {
    margin-top: calc(30 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .c-access-info p {
    margin-top: calc(30 / 1920 * 100vw);
  }
}
@media screen and (max-width: 1440px) {
  .c-access-info p {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .c-access-info p {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .c-access-info p {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .c-access-info p {
    font-size: 4.266vw;
  }
}
.c-access-info__link {
  margin-top: calc(24 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .c-access-info__link {
    margin-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .c-access-info__link {
    margin-top: calc(40 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .c-access-info__link {
    margin-top: calc(60 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .c-access-info__link {
    margin-top: calc(60 / 1920 * 100vw);
  }
}
@media screen and (max-width: 960px) {
  .c-access-info__link {
    margin-right: 0;
    margin-left: auto;
  }
}
.c-access-info__link .link-txt {
  color: #004587;
  font-size: 1.145vw;
  font-weight: 500;
}
@media screen and (max-width: 1440px) {
  .c-access-info__link .link-txt {
    font-size: 1.527vw;
  }
}
@media screen and (max-width: 960px) {
  .c-access-info__link .link-txt {
    font-size: 2.291vw;
  }
}
@media screen and (max-width: 600px) {
  .c-access-info__link .link-txt {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 480px) {
  .c-access-info__link .link-txt {
    font-size: 4vw;
  }
}
@media screen and (max-width: 960px) {
  .c-access-info__link .link-txt {
    font-size: 1.875vw;
  }
}
.c-access-map {
  width: 62.25%;
}
@media screen and (max-width: 960px) {
  .c-access-map {
    width: 100%;
  }
}
.c-access-map img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.c-access-map figcaption {
  color: #004587;
  font-size: 1.6rem;
  font-weight: 500;
  text-align: left;
}
@media screen and (max-width: 600px) {
  .c-access-map figcaption {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 960px) {
  .c-access-map figcaption {
    text-align: right;
  }
}
.c-access-map__caption {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem 2.4rem;
  width: 100%;
  margin-top: 1rem;
}

/* Blog list
--------------------------------------------- */
.blog-list {
  display: -moz-grid;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: auto;
  gap: 3rem 4rem;
  width: 100%;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 960px) {
  .blog-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 600px) {
  .blog-list {
    grid-template-columns: 1fr;
  }
}
.blog-list__item {
  width: 100%;
  padding: 0;
  list-style-type: none;
}
.blog-list__item a {
  color: #333333;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}
.blog-list__item a:hover {
  opacity: 0.75;
  filter: opacity(75%);
}
.blog-list__item-meta {
  width: 100%;
}
.blog-list__item-meta .blog-cat {
  display: inline-block;
  width: -moz-fit-content;
  width: fit-content;
  padding: 2px 0.8rem;
  background-color: #004587;
  color: #FFFFFF;
  font-size: 1.2rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
}
.blog-list__item-thumb {
  overflow: hidden;
  width: 100%;
  border-radius: 30px 0 30px 0;
}
.blog-list__item-thumb img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  transition: all 0.3s ease-in-out;
}
.blog-list__item-thumb img:hover {
  transform: scale(1.1);
}
.blog-list__item-title {
  width: 100%;
  margin-top: calc(12 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .blog-list__item-title {
    margin-top: calc(12 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .blog-list__item-title {
    margin-top: calc(15 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .blog-list__item-title {
    margin-top: calc(20 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .blog-list__item-title {
    margin-top: calc(20 / 1920 * 100vw);
  }
}
.blog-list__item-title h3 {
  margin: 0;
  color: #004587;
  font-size: 1.145vw;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 1440px) {
  .blog-list__item-title h3 {
    font-size: 1.527vw;
  }
}
@media screen and (max-width: 960px) {
  .blog-list__item-title h3 {
    font-size: 2.291vw;
  }
}
@media screen and (max-width: 600px) {
  .blog-list__item-title h3 {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 480px) {
  .blog-list__item-title h3 {
    font-size: 4vw;
  }
}
.blog-list__item-title a {
  color: #004587;
}
.blog-list__item-title p {
  margin-top: 1rem;
  color: #004587;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 600px) {
  .blog-list__item-title p {
    font-size: 1.4rem;
  }
}
.blog-list__item-link {
  margin-top: calc(24 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .blog-list__item-link {
    margin-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .blog-list__item-link {
    margin-top: calc(30 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .blog-list__item-link {
    margin-top: calc(40 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .blog-list__item-link {
    margin-top: calc(40 / 1920 * 100vw);
  }
}
.blog-list__item-link .link-btn.btn-white {
  margin-right: 0;
  margin-left: auto;
  padding: 4px 0.8rem;
  border: 1px solid #004587;
  border-radius: 0 !important;
  font-size: 1.2rem;
}

/* Button
--------------------------------------------- */
.link-btn {
  display: block;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  font-size: 1.5rem;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  letter-spacing: 0.05em;
  transition: all 0.3s ease-in-out;
}
@media screen and (max-width: 600px) {
  .link-btn {
    padding: 1rem 1.5rem;
    font-size: 1.4rem;
  }
}
.link-btn.btn-primary {
  padding: 1.2rem 1.8rem;
  border: 2px solid #004587;
  background: #004587;
  color: #FFFFFF;
  font-size: 1.5rem;
}
.link-btn.btn-white {
  padding: 1.2rem 2.4rem;
  border: 2px solid #004587;
  border-radius: 25px;
  background-color: #FFFFFF;
  color: #004587;
}
.link-btn.btn-white:hover {
  border: 2px solid #FFFFFF;
  background-color: #004587;
  color: #FFFFFF;
}
.link-btn i {
  margin-left: 1.2rem;
}

.link-txt {
  position: relative;
  color: #004587;
  font-size: 0.9375vw;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}
@media screen and (max-width: 1440px) {
  .link-txt {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 960px) {
  .link-txt {
    font-size: 1.875vw;
  }
}
@media screen and (max-width: 600px) {
  .link-txt {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 480px) {
  .link-txt {
    font-size: 4vw;
  }
}
.link-txt:hover::after {
  right: -0.5vw;
}

.link-arrow-right {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0 1rem;
}
.link-arrow-right:hover .arrow::before {
  animation-name: transform_right_left;
}

.buttom_arrow svg {
  display: block;
  width: 135px;
  height: 46px;
  margin: auto;
}
@media screen and (max-width: 600px) {
  .buttom_arrow svg {
    width: 74px;
    height: 25px;
  }
}
.buttom_arrow .ar,
.buttom_arrow .c,
.buttom_arrow .c-h {
  opacity: 1;
  fill-rule: evenodd;
  clip-rule: evenodd;
  fill: none;
  stroke: #FFFFFF;
}
.buttom_arrow .c,
.buttom_arrow .c-h {
  stroke-width: 0;
  fill: #FFFFFF;
}
.buttom_arrow .ar {
  stroke-width: 2;
  transform: translate(0, 0);
  transition: all 0.3s ease-in-out 0.3s;
  opacity: 1;
}
.buttom_arrow.blue .ar,
.buttom_arrow.blue .c,
.buttom_arrow.blue .c-h {
  stroke: #004587;
}
.buttom_arrow.blue .c,
.buttom_arrow.blue .c-h {
  fill: #004587;
}
.buttom_arrow:hover .c,
.buttom_arrow:hover .c-h {
  stroke-dashoffset: 0;
  opacity: 1;
}
.buttom_arrow:hover .ar {
  animation: buttonArrow 0.5s ease-in-out 1;
}

/* wp forms
--------------------------------------------- */
.wpforms-container .wpforms-form {
  width: 100%;
  max-width: 740px;
  margin-inline: auto;
}
.wpforms-container .wpforms-field .wpforms-field-label {
  color: #004587;
}
.wpforms-container .wpforms-field input[type=text] {
  border: 1px solid #004587;
}
.wpforms-container .wpforms-field textarea {
  border: 1px solid #004587;
}
.wpforms-container .wpforms-field-radio input[type=radio] {
  color: #004587;
}
.wpforms-container .wpforms-field-radio .wpforms-field-label {
  color: #004587;
}
.wpforms-container .wpforms-submit {
  display: block;
  position: relative;
  width: 240px;
  margin: 2rem auto 0 !important;
  padding: 1.2rem 1.8rem !important;
  border: 2px solid #004587;
  border-radius: 25px !important;
  background: #004587;
  color: #FFFFFF;
  font-size: 0.9375vw;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}
@media screen and (max-width: 1440px) {
  .wpforms-container .wpforms-submit {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 960px) {
  .wpforms-container .wpforms-submit {
    font-size: 1.875vw;
  }
}
@media screen and (max-width: 600px) {
  .wpforms-container .wpforms-submit {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 480px) {
  .wpforms-container .wpforms-submit {
    font-size: 4vw;
  }
}

/* Instagram
--------------------------------------------- */
.c-instagram {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  background-image: url("../img/common/instagram_img_01-pc.webp");
  background-position: bottom center;
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 960px) {
  .c-instagram {
    background-image: url("../img/common/instagram_img_01-sp.webp");
    background-size: cover;
    background-position: bottom center;
  }
}
.c-instagram__inner {
  padding-top: calc(130 / 375 * 100vw);
  padding-bottom: calc(130 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .c-instagram__inner {
    padding-top: calc(100 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .c-instagram__inner {
    padding-top: calc(80 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .c-instagram__inner {
    padding-top: calc(100 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .c-instagram__inner {
    padding-top: calc(130 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .c-instagram__inner {
    padding-bottom: calc(100 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .c-instagram__inner {
    padding-bottom: calc(100 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .c-instagram__inner {
    padding-bottom: calc(160 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .c-instagram__inner {
    padding-bottom: calc(220 / 1920 * 100vw);
  }
}
.c-instagram__txt {
  margin-top: calc(24 / 375 * 100vw);
  color: #004587;
  font-size: 1.145vw;
  font-weight: 500;
  text-align: center;
  line-height: 2;
}
@media screen and (min-width: 600px) {
  .c-instagram__txt {
    margin-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .c-instagram__txt {
    margin-top: calc(30 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .c-instagram__txt {
    margin-top: calc(40 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .c-instagram__txt {
    margin-top: calc(40 / 1920 * 100vw);
  }
}
@media screen and (max-width: 1440px) {
  .c-instagram__txt {
    font-size: 1.527vw;
  }
}
@media screen and (max-width: 960px) {
  .c-instagram__txt {
    font-size: 2.291vw;
  }
}
@media screen and (max-width: 600px) {
  .c-instagram__txt {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 480px) {
  .c-instagram__txt {
    font-size: 4vw;
  }
}
.c-instagram__box {
  width: 32.33%;
  margin-top: calc(72 / 375 * 100vw);
  margin-inline: auto;
  padding: 0;
}
@media screen and (min-width: 600px) {
  .c-instagram__box {
    margin-top: calc(100 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .c-instagram__box {
    margin-top: calc(80 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .c-instagram__box {
    margin-top: calc(150 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .c-instagram__box {
    margin-top: calc(200 / 1920 * 100vw);
  }
}
@media screen and (max-width: 1440px) {
  .c-instagram__box {
    width: 37.5%;
  }
}
@media screen and (max-width: 960px) {
  .c-instagram__box {
    width: 80%;
  }
}
.c-instagram__box-link {
  display: block;
  padding: 4rem;
  background-color: #004587;
  color: #FFFFFF;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}
@media screen and (max-width: 960px) {
  .c-instagram__box-link {
    padding: 2rem;
    border-radius: 50px 0 50px 0;
  }
}
.c-instagram__box-link:hover {
  border-radius: 50px 0 50px 0;
}
.c-instagram__box p {
  position: relative;
  color: #FFFFFF;
  font-size: 1.6rem;
  text-align: center;
}
@media screen and (max-width: 600px) {
  .c-instagram__box p {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 600px) {
  .c-instagram__box p {
    font-size: 3.4vw;
  }
}
.c-instagram__box img {
  display: block;
  width: 52.38%;
  height: auto;
  margin-top: calc(16 / 375 * 100vw);
  margin-inline: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 600px) {
  .c-instagram__box img {
    margin-top: calc(16 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .c-instagram__box img {
    margin-top: calc(20 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .c-instagram__box img {
    margin-top: calc(24 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .c-instagram__box img {
    margin-top: calc(24 / 1920 * 100vw);
  }
}

.pagination {
  position: relative;
  width: 100%;
  margin: 0 auto;
  margin-top: calc(55 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .pagination {
    margin-top: calc(55 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .pagination {
    margin-top: calc(80 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .pagination {
    margin-top: calc(100 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .pagination {
    margin-top: calc(100 / 1920 * 100vw);
  }
}
.pagination__list {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 1rem;
  width: 100%;
  margin: 0 auto;
  color: #004587;
  list-style-type: none;
}
.pagination__item.current {
  display: block;
  justify-self: center;
  align-self: center;
  width: 45px;
  height: 45px;
  padding: 0.8rem 0;
  border: 2px solid #004587;
  border-radius: 50px;
  background: #004587;
  color: #FFFFFF;
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}
@media screen and (max-width: 600px) {
  .pagination__item.current {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 600px) {
  .pagination__item.current {
    width: 32px;
    height: 32px;
    padding: 0.4rem 0;
  }
}
.pagination__item a {
  display: block;
  justify-self: center;
  align-self: center;
  width: 45px;
  height: 45px;
  padding: 0.8rem 0;
  border: 2px solid #004587;
  border-radius: 50px;
  background: #FFFFFF;
  color: #004587;
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}
@media screen and (max-width: 600px) {
  .pagination__item a {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 600px) {
  .pagination__item a {
    width: 32px;
    height: 32px;
    padding: 0.4rem 0;
  }
}
.pagination__item a:hover {
  border: 2px solid #004587;
  background-color: #004587;
  color: #FFFFFF;
}
.pagination .prev,
.pagination .next {
  position: absolute;
  top: 0;
}
@media screen and (max-width: 600px) {
  .pagination .prev,
  .pagination .next {
    top: 42px;
  }
}
.pagination .prev a,
.pagination .next a {
  display: block;
  justify-self: center;
  align-self: center;
  width: 41px;
  height: 41px;
  padding: 1.9rem 1rem;
  color: #FFFFFF;
  text-align: center;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}
@media screen and (max-width: 600px) {
  .pagination .prev a,
  .pagination .next a {
    width: 31px;
    height: 31px;
    padding: 1.4rem 0.7rem;
  }
}
.pagination .prev img,
.pagination .next img {
  width: 17px;
  height: 3px;
  -o-object-fit: contain;
     object-fit: contain;
}
.pagination .prev {
  right: 41px;
  background-color: #CBD5DC;
}
@media screen and (max-width: 600px) {
  .pagination .prev {
    left: -31px;
  }
}
.pagination .next {
  right: 0;
  background-color: #004587;
}

/* kakomi
--------------------------------------------- */
.kakomi {
  margin-top: calc(24 / 375 * 100vw);
  padding: 3rem 4rem;
  border-left: 5px solid #004587;
  background-color: #F4F6F8;
  font-size: 1.041vw;
}
@media screen and (min-width: 600px) {
  .kakomi {
    margin-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .kakomi {
    margin-top: calc(32 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .kakomi {
    margin-top: calc(40 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .kakomi {
    margin-top: calc(40 / 1920 * 100vw);
  }
}
@media screen and (max-width: 1440px) {
  .kakomi {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .kakomi {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .kakomi {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .kakomi {
    font-size: 4.266vw;
  }
}
@media screen and (max-width: 600px) {
  .kakomi {
    padding: 2rem 1.6rem;
  }
}
.kakomi p {
  margin-top: 1.2rem !important;
}
.kakomi ul,
.kakomi ol {
  margin-top: 1.2rem !important;
}

.kakomi_with_title {
  position: relative;
}
.kakomi_with_title .title {
  display: inline-block;
  color: #004587;
  font-size: 1.145vw;
  font-weight: 700;
}
@media screen and (max-width: 1440px) {
  .kakomi_with_title .title {
    font-size: 1.527vw;
  }
}
@media screen and (max-width: 960px) {
  .kakomi_with_title .title {
    font-size: 2.291vw;
  }
}
@media screen and (max-width: 600px) {
  .kakomi_with_title .title {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 480px) {
  .kakomi_with_title .title {
    font-size: 4vw;
  }
}

/* related
--------------------------------------------- */
.related {
  position: relative;
  margin-top: calc(24 / 375 * 100vw);
  padding: 3rem 4rem;
  border: 2px solid #004587;
}
@media screen and (min-width: 600px) {
  .related {
    margin-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .related {
    margin-top: calc(32 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .related {
    margin-top: calc(40 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .related {
    margin-top: calc(40 / 1920 * 100vw);
  }
}
@media screen and (max-width: 600px) {
  .related {
    padding: 2rem 1.6rem;
  }
}
.related .title {
  color: #004587;
  font-size: 1.145vw;
  font-weight: 500;
}
@media screen and (max-width: 1440px) {
  .related .title {
    font-size: 1.527vw;
  }
}
@media screen and (max-width: 960px) {
  .related .title {
    font-size: 2.291vw;
  }
}
@media screen and (max-width: 600px) {
  .related .title {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 480px) {
  .related .title {
    font-size: 4vw;
  }
}
.related .related_title {
  color: #004587;
  font-size: 1.145vw;
  font-weight: 500;
}
@media screen and (max-width: 1440px) {
  .related .related_title {
    font-size: 1.527vw;
  }
}
@media screen and (max-width: 960px) {
  .related .related_title {
    font-size: 2.291vw;
  }
}
@media screen and (max-width: 600px) {
  .related .related_title {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 480px) {
  .related .related_title {
    font-size: 4vw;
  }
}
.related p {
  position: relative;
  margin-top: 0 !important;
}
.related ul {
  margin: 0 !important;
}
.related ul li {
  margin: 0 !important;
  padding: 1rem 0;
  border-top: 1px solid #333333;
  list-style-type: none;
}
.related ul li:first-child {
  border-top: none;
}
.related ul li a {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: nowrap;
  gap: 0 1rem;
  text-decoration: none !important;
}
.related ul li a .thumbnail {
  width: 132px;
  margin-top: 0 !important;
}
@media screen and (max-width: 600px) {
  .related ul li a .thumbnail {
    width: 90px;
  }
}
.related ul li a .post_title {
  width: calc(100% - 148px);
  color: #333333;
  font-size: 1.041vw;
}
@media screen and (max-width: 1440px) {
  .related ul li a .post_title {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .related ul li a .post_title {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .related ul li a .post_title {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .related ul li a .post_title {
    font-size: 4.266vw;
  }
}
@media screen and (max-width: 600px) {
  .related ul li a .post_title {
    width: calc(100% - 108px);
  }
}

.related_link {
  position: relative;
  margin-top: calc(24 / 375 * 100vw);
  padding: 3rem 4rem;
  border: 2px solid #004587;
}
@media screen and (min-width: 600px) {
  .related_link {
    margin-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .related_link {
    margin-top: calc(32 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .related_link {
    margin-top: calc(40 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .related_link {
    margin-top: calc(40 / 1920 * 100vw);
  }
}
@media screen and (max-width: 600px) {
  .related_link {
    padding: 2rem 1.6rem;
  }
}
.related_link .title {
  font-size: 1.145vw;
  font-weight: 500;
}
@media screen and (max-width: 1440px) {
  .related_link .title {
    font-size: 1.527vw;
  }
}
@media screen and (max-width: 960px) {
  .related_link .title {
    font-size: 2.291vw;
  }
}
@media screen and (max-width: 600px) {
  .related_link .title {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 480px) {
  .related_link .title {
    font-size: 4vw;
  }
}
.related_link p {
  position: relative;
  font-size: 1.041vw;
}
@media screen and (max-width: 1440px) {
  .related_link p {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .related_link p {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .related_link p {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .related_link p {
    font-size: 4.266vw;
  }
}
.related_link p::before {
  content: "";
  position: absolute;
  top: 12px;
  left: 5px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #004587;
}
.related_link p::before:last-of-type {
  padding-bottom: 0;
  border-bottom: none;
  margin-bottom: 0;
}
.related_link p a {
  color: #333333;
  text-decoration: none;
}
.related_link ul {
  margin: 0;
}
.related_link ul li {
  margin-top: 1rem;
  padding-left: 0;
  padding-bottom: 1rem;
  border-bottom: 1px solid #333333;
  font-size: 1.041vw;
  list-style-type: none;
}
@media screen and (max-width: 1440px) {
  .related_link ul li {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .related_link ul li {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .related_link ul li {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .related_link ul li {
    font-size: 4.266vw;
  }
}
.related_link ul li::before {
  display: none;
}
.related_link ul li:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
.related_link ul li a {
  display: flex;
  align-items: center;
  gap: 10px;
}
@media screen and (max-width: 600px) {
  .related_link ul li a {
    gap: 5px;
  }
}
.related_link ul li a .thumbnail {
  width: 150px;
}
@media screen and (max-width: 600px) {
  .related_link ul li a .thumbnail {
    width: 80px;
  }
}
.related_link ul li a .post_title {
  width: calc(100% - 160px);
}
@media screen and (max-width: 600px) {
  .related_link ul li a .post_title {
    width: calc(100% - 85px);
  }
}

/* cv btn
--------------------------------------------- */
.cvbtn {
  display: block;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 280px;
  margin-top: calc(24 / 375 * 100vw);
  padding: 1.6rem 2rem;
  font-size: 1.041vw;
  font-weight: 700;
  text-align: center;
  text-decoration: none !important;
  transition: all 0.3s ease-in-out;
}
@media screen and (min-width: 600px) {
  .cvbtn {
    margin-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .cvbtn {
    margin-top: calc(32 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .cvbtn {
    margin-top: calc(40 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .cvbtn {
    margin-top: calc(40 / 1920 * 100vw);
  }
}
@media screen and (max-width: 1440px) {
  .cvbtn {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .cvbtn {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .cvbtn {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .cvbtn {
    font-size: 4.266vw;
  }
}
.cvbtn:hover {
  opacity: 1 !important;
  filter: opacity(100%) !important;
}
.cvbtn.cvbtn_1 {
  border: 2px solid #004587;
  background-color: #004587;
  color: #FFFFFF !important;
}
.cvbtn.cvbtn_1:hover {
  opacity: 0.75;
  filter: opacity(75%);
}
.cvbtn.cvbtn_2 {
  border: 2px solid #333333;
  background: #FFFFFF;
  color: #333333;
}
.cvbtn.cvbtn_2:hover {
  background-color: #333333;
  color: #FFFFFF;
}

.txtlink {
  position: relative;
  color: #004587;
  text-decoration: underline;
}
.txtlink::before {
  content: "\f0c1";
  display: inline-block;
  margin-right: 0.5rem;
  color: #004587;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}

/* table wrap
--------------------------------------------- */
.table-wrap table {
  overflow-x: scroll;
  white-space: nowrap;
}

.wp-block-search {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;
}
.wp-block-search__wrap {
  width: 100%;
  margin-top: 4rem;
}
.wp-block-search__input {
  width: calc(100% - 48px);
  height: 60px;
  padding: 1.2rem 1.5rem;
  border: 2px solid #004587;
  border-radius: 10px 0 0 0;
  background-color: #FFFFFF;
  font-size: 1.041vw;
}
@media screen and (max-width: 1440px) {
  .wp-block-search__input {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .wp-block-search__input {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .wp-block-search__input {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .wp-block-search__input {
    font-size: 4.266vw;
  }
}
.wp-block-search__input:focus {
  outline: none;
}
.wp-block-search__button {
  width: 48px;
  height: 60px;
  margin: 0;
  padding: 10px;
  border: none;
  background-color: #004587;
  border-radius: 0 0 10px 0;
  color: #FFFFFF;
  font-size: 1.041vw;
  text-align: center;
}
@media screen and (max-width: 1440px) {
  .wp-block-search__button {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .wp-block-search__button {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .wp-block-search__button {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .wp-block-search__button {
    font-size: 4.266vw;
  }
}

/* table of contents
--------------------------------------------- */
#toc_container {
  position: relative;
  width: 100%;
  margin-top: calc(24 / 375 * 100vw);
  padding: 3rem 4rem;
  border: none;
  border-radius: 30px 0 30px 0;
  box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1);
}
@media screen and (min-width: 600px) {
  #toc_container {
    margin-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  #toc_container {
    margin-top: calc(32 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  #toc_container {
    margin-top: calc(40 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  #toc_container {
    margin-top: calc(40 / 1920 * 100vw);
  }
}
@media screen and (max-width: 600px) {
  #toc_container {
    padding: 2rem 1.6rem;
  }
}
#toc_container .toc_title {
  color: #004587;
  font-size: 1.041vw;
  font-weight: 700;
}
@media screen and (max-width: 1440px) {
  #toc_container .toc_title {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  #toc_container .toc_title {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  #toc_container .toc_title {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  #toc_container .toc_title {
    font-size: 4.266vw;
  }
}
#toc_container .toc_title span {
  color: #004587;
  font-weight: 400;
}
#toc_container .toc_list {
  margin: 0;
  padding: 0;
}
#toc_container .toc_list > li {
  margin: 0;
  padding: 1rem 0;
  list-style-type: none;
}
#toc_container .toc_list > li > a {
  display: block;
  padding-bottom: 0.8rem;
  border-bottom: 1px dotted #004587;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 500;
  text-decoration: none;
}
@media screen and (max-width: 600px) {
  #toc_container .toc_list > li > a {
    font-size: 1.4rem;
  }
}
#toc_container .toc_list ul {
  margin: 0 0 0 1rem;
  padding: 1rem 0 !important;
}
#toc_container .toc_list ul li {
  margin-top: 1rem;
}
#toc_container .toc_list ul li:first-of-type {
  margin-top: 0;
}
#toc_container .toc_list ul li a {
  color: #333333;
  font-size: 1.6rem;
  font-weight: 400;
  text-decoration: none;
}
@media screen and (max-width: 600px) {
  #toc_container .toc_list ul li a {
    font-size: 1.4rem;
  }
}
#toc_container .toc_list ul ul {
  margin: 0;
  padding: 0;
}

/*
@use "breadcrumbs";
@use "cta";
@use "pager";
*/
/* main visual
--------------------------------------------- */
.f-mv {
  position: relative;
}
.f-mv__inner {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  height: 100%;
  aspect-ratio: 2/1;
}
@media screen and (max-width: 960px) {
  .f-mv__inner {
    align-items: flex-end;
    padding-bottom: 10%;
    aspect-ratio: 195/262;
  }
}
.f-mv__txt {
  position: relative;
  width: 50%;
}
@media screen and (max-width: 960px) {
  .f-mv__txt {
    width: 100%;
  }
}
.f-mv__txt h2 {
  color: #004587;
  font-size: 2.083vw;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1440px) {
  .f-mv__txt h2 {
    font-size: 2.777vw;
  }
}
@media screen and (max-width: 960px) {
  .f-mv__txt h2 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 600px) {
  .f-mv__txt h2 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 480px) {
  .f-mv__txt h2 {
    font-size: 5.333vw;
  }
}
.f-mv__txt p {
  margin-top: calc(24 / 375 * 100vw);
  color: #004587;
  font-size: 1.5625vw;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 600px) {
  .f-mv__txt p {
    margin-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-mv__txt p {
    margin-top: calc(30 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-mv__txt p {
    margin-top: calc(40 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-mv__txt p {
    margin-top: calc(40 / 1920 * 100vw);
  }
}
@media screen and (max-width: 1440px) {
  .f-mv__txt p {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 960px) {
  .f-mv__txt p {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 600px) {
  .f-mv__txt p {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 480px) {
  .f-mv__txt p {
    font-size: 4vw;
  }
}
.f-mv__image {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  width: 100%;
  height: auto;
  border-radius: 0 0 100px 100px;
}
@media screen and (max-width: 960px) {
  .f-mv__image {
    border-radius: 0 0 30px 30px;
  }
}
.f-mv__image.aos-animate img {
  animation: zoom_down 2s ease-out 0s normal both;
}
.f-mv__image img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

/* Gelato
--------------------------------------------- */
.f-gelato {
  position: relative;
  width: 100%;
  padding: 0;
}
.f-gelato::before {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 6.14%;
  height: auto;
  background-image: url("../img/common/icon_uni.svg");
  background-size: contain;
  background-position: bottom center;
  background-repeat: no-repeat;
  aspect-ratio: 1/3;
}
@media screen and (max-width: 600px) {
  .f-gelato::before {
    display: none;
    background-image: none;
  }
}
.f-gelato::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  width: 6.14%;
  height: auto;
  background-image: url("../img/common/icon_uni.svg");
  background-size: contain;
  background-position: top center;
  background-repeat: no-repeat;
  aspect-ratio: 1/3;
}
@media screen and (max-width: 600px) {
  .f-gelato::after {
    display: none;
    background-image: none;
  }
}
.f-gelato__inner {
  margin-top: calc(55 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .f-gelato__inner {
    margin-top: calc(55 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-gelato__inner {
    margin-top: calc(100 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-gelato__inner {
    margin-top: calc(130 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-gelato__inner {
    margin-top: calc(130 / 1920 * 100vw);
  }
}
.f-gelato__inner h2 {
  color: #004587;
  font-size: 2.083vw;
  font-weight: 700;
}
@media screen and (max-width: 1440px) {
  .f-gelato__inner h2 {
    font-size: 2.777vw;
  }
}
@media screen and (max-width: 960px) {
  .f-gelato__inner h2 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 600px) {
  .f-gelato__inner h2 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 480px) {
  .f-gelato__inner h2 {
    font-size: 5.333vw;
  }
}
.f-gelato__inner p {
  color: #004587;
  font-size: 1.041vw;
  font-weight: 500;
  line-height: 2.2;
}
@media screen and (max-width: 1440px) {
  .f-gelato__inner p {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .f-gelato__inner p {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .f-gelato__inner p {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .f-gelato__inner p {
    font-size: 4.266vw;
  }
}
.f-gelato-item {
  width: 40%;
  margin: 0 auto;
  padding-top: calc(55 / 375 * 100vw);
  padding-right: calc(40 / 375 * 100vw);
  padding-left: calc(40 / 375 * 100vw);
  border-radius: 384px;
  background-color: #FFFFFF;
}
@media screen and (min-width: 600px) {
  .f-gelato-item {
    padding-top: calc(55 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-gelato-item {
    padding-top: calc(100 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-gelato-item {
    padding-top: calc(130 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-gelato-item {
    padding-top: calc(130 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .f-gelato-item {
    padding-right: calc(40 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-gelato-item {
    padding-right: calc(55 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-gelato-item {
    padding-right: calc(80 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-gelato-item {
    padding-right: calc(80 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .f-gelato-item {
    padding-left: calc(40 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-gelato-item {
    padding-left: calc(55 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-gelato-item {
    padding-left: calc(80 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-gelato-item {
    padding-left: calc(80 / 1920 * 100vw);
  }
}
@media screen and (max-width: 1440px) {
  .f-gelato-item {
    width: 53.33%;
  }
}
@media screen and (max-width: 960px) {
  .f-gelato-item {
    width: 100%;
    max-width: 480px;
  }
}
.f-gelato-item h2 {
  text-align: center;
  line-height: 1.5;
}
.f-gelato-item p {
  margin-top: calc(24 / 375 * 100vw);
  margin-bottom: calc(-40 / 375 * 100vw);
  text-align: center;
}
@media screen and (min-width: 600px) {
  .f-gelato-item p {
    margin-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-gelato-item p {
    margin-top: calc(40 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-gelato-item p {
    margin-top: calc(55 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-gelato-item p {
    margin-top: calc(55 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .f-gelato-item p {
    margin-bottom: calc(-40 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-gelato-item p {
    margin-bottom: calc(-60 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-gelato-item p {
    margin-bottom: calc(-80 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-gelato-item p {
    margin-bottom: calc(-80 / 1920 * 100vw);
  }
}
@media screen and (max-width: 960px) {
  .f-gelato-item p {
    text-align: left;
  }
}
.f-gelato-item img {
  position: relative;
  bottom: calc(-40 / 375 * 100vw);
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 600px) {
  .f-gelato-item img {
    bottom: calc(-40 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-gelato-item img {
    bottom: calc(-60 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-gelato-item img {
    bottom: calc(-80 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-gelato-item img {
    bottom: calc(-80 / 1920 * 100vw);
  }
}
.f-gelato-weekly {
  position: relative;
  margin-top: calc(120 / 375 * 100vw);
  margin-bottom: calc(120 / 375 * 100vw);
  padding-top: calc(60 / 375 * 100vw);
  padding-right: 4rem;
  padding-bottom: calc(60 / 375 * 100vw);
  padding-left: 4rem;
  border-radius: 500px;
  background-color: #FFFFFF;
  width: 100%;
}
@media screen and (min-width: 600px) {
  .f-gelato-weekly {
    margin-top: calc(120 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-gelato-weekly {
    margin-top: calc(180 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-gelato-weekly {
    margin-top: calc(220 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-gelato-weekly {
    margin-top: calc(220 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .f-gelato-weekly {
    margin-bottom: calc(120 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-gelato-weekly {
    margin-bottom: calc(180 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-gelato-weekly {
    margin-bottom: calc(220 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-gelato-weekly {
    margin-bottom: calc(220 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .f-gelato-weekly {
    padding-top: calc(60 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-gelato-weekly {
    padding-top: calc(100 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-gelato-weekly {
    padding-top: calc(130 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-gelato-weekly {
    padding-top: calc(130 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .f-gelato-weekly {
    padding-bottom: calc(60 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-gelato-weekly {
    padding-bottom: calc(100 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-gelato-weekly {
    padding-bottom: calc(130 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-gelato-weekly {
    padding-bottom: calc(130 / 1920 * 100vw);
  }
}
@media screen and (max-width: 600px) {
  .f-gelato-weekly {
    width: calc(100% - 10.666vw);
    margin-right: calc(20 / 375 * 100vw);
    margin-left: calc(20 / 375 * 100vw);
    border-radius: 384px;
  }
}
@media screen and (max-width: 600px) and (min-width: 600px) {
  .f-gelato-weekly {
    margin-right: calc(30 / 600 * 100vw);
  }
}
@media screen and (max-width: 600px) and (min-width: 960px) {
  .f-gelato-weekly {
    margin-right: calc(0 / 960 * 100vw);
  }
}
@media screen and (max-width: 600px) and (min-width: 1440px) {
  .f-gelato-weekly {
    margin-right: calc(0 / 1440 * 100vw);
  }
}
@media screen and (max-width: 600px) and (min-width: 1920px) {
  .f-gelato-weekly {
    margin-right: calc(0 / 1920 * 100vw);
  }
}
@media screen and (max-width: 600px) and (min-width: 600px) {
  .f-gelato-weekly {
    margin-left: calc(30 / 600 * 100vw);
  }
}
@media screen and (max-width: 600px) and (min-width: 960px) {
  .f-gelato-weekly {
    margin-left: calc(0 / 960 * 100vw);
  }
}
@media screen and (max-width: 600px) and (min-width: 1440px) {
  .f-gelato-weekly {
    margin-left: calc(0 / 1440 * 100vw);
  }
}
@media screen and (max-width: 600px) and (min-width: 1920px) {
  .f-gelato-weekly {
    margin-left: calc(0 / 1920 * 100vw);
  }
}
.f-gelato-weekly__inner {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  width: 73.03%;
  margin: 0 auto;
}
@media screen and (max-width: 960px) {
  .f-gelato-weekly__inner {
    width: 100%;
  }
}
@media screen and (max-width: 600px) {
  .f-gelato-weekly__inner {
    flex-wrap: wrap;
  }
}
.f-gelato-weekly__image {
  position: relative;
  overflow: hidden;
  width: 29.33%;
  height: auto;
  margin: 0 auto;
  border-radius: 50%;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 600px) {
  .f-gelato-weekly__image {
    width: 61.42%;
  }
}
.f-gelato-weekly__image.aos-animate img {
  animation: zoom_down 3s ease-out 0s normal both;
}
.f-gelato-weekly__image img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.f-gelato-weekly__txt {
  width: 73.03%;
}
@media screen and (max-width: 600px) {
  .f-gelato-weekly__txt {
    width: 100%;
  }
}
.f-gelato-weekly__txt div {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: 2rem;
  padding-left: 5vw;
}
@media screen and (max-width: 600px) {
  .f-gelato-weekly__txt div {
    align-items: center;
    padding: 0;
  }
}
.f-gelato-weekly__txt h2 {
  color: #004587;
  font-size: 2.083vw;
  font-weight: 600;
  text-align: left;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1440px) {
  .f-gelato-weekly__txt h2 {
    font-size: 2.777vw;
  }
}
@media screen and (max-width: 960px) {
  .f-gelato-weekly__txt h2 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 600px) {
  .f-gelato-weekly__txt h2 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 480px) {
  .f-gelato-weekly__txt h2 {
    font-size: 5.333vw;
  }
}
@media screen and (max-width: 600px) {
  .f-gelato-weekly__txt h2 {
    text-align: center;
  }
}
.f-gelato-weekly__txt h3 {
  color: #004587;
  font-size: 1.5625vw;
  font-weight: 600;
  text-align: left;
}
@media screen and (max-width: 1440px) {
  .f-gelato-weekly__txt h3 {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 960px) {
  .f-gelato-weekly__txt h3 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 600px) {
  .f-gelato-weekly__txt h3 {
    font-size: 3.333vw;
  }
}
@media screen and (max-width: 480px) {
  .f-gelato-weekly__txt h3 {
    font-size: 5.333vw;
  }
}
@media screen and (max-width: 600px) {
  .f-gelato-weekly__txt h3 {
    margin-top: 2rem;
    text-align: center;
  }
}
.f-gelato-weekly__txt p {
  color: #004587;
  font-size: 1.041vw;
  font-weight: 500;
  text-align: left;
  line-height: 2;
}
@media screen and (max-width: 1440px) {
  .f-gelato-weekly__txt p {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .f-gelato-weekly__txt p {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .f-gelato-weekly__txt p {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .f-gelato-weekly__txt p {
    font-size: 4.266vw;
  }
}
.f-gelato-weekly__txt hr {
  width: 100%;
  margin: 2rem 0;
  border: none;
  border-bottom: 2px dotted #004587;
}

/* Flavor
--------------------------------------------- */
.f-flavor {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding: 0;
  background-color: #FFFFFF;
}
.f-flavor__inner {
  padding-top: calc(60 / 375 * 100vw);
  padding-bottom: calc(80 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .f-flavor__inner {
    padding-top: calc(60 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-flavor__inner {
    padding-top: calc(100 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-flavor__inner {
    padding-top: calc(220 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-flavor__inner {
    padding-top: calc(220 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .f-flavor__inner {
    padding-bottom: calc(80 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-flavor__inner {
    padding-bottom: calc(130 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-flavor__inner {
    padding-bottom: calc(320 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-flavor__inner {
    padding-bottom: calc(320 / 1920 * 100vw);
  }
}
.f-flavor__wrap {
  width: 73.03%;
  padding-top: calc(24 / 375 * 100vw);
  margin-inline: auto;
}
@media screen and (min-width: 600px) {
  .f-flavor__wrap {
    padding-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-flavor__wrap {
    padding-top: calc(60 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-flavor__wrap {
    padding-top: calc(80 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-flavor__wrap {
    padding-top: calc(80 / 1920 * 100vw);
  }
}
@media screen and (max-width: 1440px) {
  .f-flavor__wrap {
    width: 100%;
    max-width: 1220px;
  }
}
.f-flavor__wrap p {
  color: #004587;
  font-size: 1.041vw;
  font-weight: 500;
  text-align: center;
  line-height: 1.8;
}
@media screen and (max-width: 1440px) {
  .f-flavor__wrap p {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .f-flavor__wrap p {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .f-flavor__wrap p {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .f-flavor__wrap p {
    font-size: 4.266vw;
  }
}
@media screen and (max-width: 960px) {
  .f-flavor__wrap p {
    text-align: left;
  }
}
.f-flavor__wrap-list {
  display: -moz-grid;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: auto;
  -moz-column-gap: calc(30 / 375 * 100vw);
       column-gap: calc(30 / 375 * 100vw);
  row-gap: calc(30 / 375 * 100vw);
  width: 100%;
  padding-top: calc(40 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .f-flavor__wrap-list {
    -moz-column-gap: calc(30 / 600 * 100vw);
         column-gap: calc(30 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-flavor__wrap-list {
    -moz-column-gap: calc(40 / 960 * 100vw);
         column-gap: calc(40 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-flavor__wrap-list {
    -moz-column-gap: calc(55 / 1440 * 100vw);
         column-gap: calc(55 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-flavor__wrap-list {
    -moz-column-gap: calc(55 / 1920 * 100vw);
         column-gap: calc(55 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .f-flavor__wrap-list {
    row-gap: calc(30 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-flavor__wrap-list {
    row-gap: calc(40 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-flavor__wrap-list {
    row-gap: calc(60 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-flavor__wrap-list {
    row-gap: calc(60 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .f-flavor__wrap-list {
    padding-top: calc(40 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-flavor__wrap-list {
    padding-top: calc(80 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-flavor__wrap-list {
    padding-top: calc(130 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-flavor__wrap-list {
    padding-top: calc(130 / 1920 * 100vw);
  }
}
@media screen and (max-width: 960px) {
  .f-flavor__wrap-list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 600px) {
  .f-flavor__wrap-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
.f-flavor__wrap-list li {
  width: 100%;
  list-style: none;
}
.f-flavor__wrap-list li img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.f-flavor__wrap-list li h3 {
  margin-top: 2rem;
  color: #004587;
  font-size: 1.041vw;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 1440px) {
  .f-flavor__wrap-list li h3 {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .f-flavor__wrap-list li h3 {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .f-flavor__wrap-list li h3 {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .f-flavor__wrap-list li h3 {
    font-size: 4.266vw;
  }
}
.f-flavor__wrap-list li p {
  margin-top: 2rem;
  color: #004587;
  font-size: 1.6rem;
  font-weight: 500;
  text-align: left;
}
@media screen and (max-width: 600px) {
  .f-flavor__wrap-list li p {
    font-size: 1.4rem;
  }
}
.f-flavor__link {
  margin-top: calc(30 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .f-flavor__link {
    margin-top: calc(30 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-flavor__link {
    margin-top: calc(40 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-flavor__link {
    margin-top: calc(60 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-flavor__link {
    margin-top: calc(60 / 1920 * 100vw);
  }
}
.f-flavor__link .link-txt {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 0 0 auto;
  color: #004587;
  font-size: 1.041vw;
  font-weight: 500;
}
@media screen and (max-width: 1440px) {
  .f-flavor__link .link-txt {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .f-flavor__link .link-txt {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .f-flavor__link .link-txt {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .f-flavor__link .link-txt {
    font-size: 4.266vw;
  }
}
@media screen and (max-width: 960px) {
  .f-flavor__link .link-txt {
    margin-right: 0;
    margin-left: auto;
  }
}

/* Story
--------------------------------------------- */
.f-story {
  position: relative;
  overflow: hidden;
  width: 100%;
  margin: -10rem 0 0 0;
  padding: 0;
  border-radius: 0 100px 0 0;
  background: transparent;
  background-color: #004587;
}
@media screen and (max-width: 960px) {
  .f-story {
    margin: -3rem 0 0 0;
    border-radius: 0 30px 0 0;
  }
}
.f-story__inner {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 3rem 4vw;
  padding-top: calc(60 / 375 * 100vw);
  padding-bottom: calc(80 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .f-story__inner {
    padding-top: calc(60 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-story__inner {
    padding-top: calc(100 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-story__inner {
    padding-top: calc(200 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-story__inner {
    padding-top: calc(200 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .f-story__inner {
    padding-bottom: calc(80 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-story__inner {
    padding-bottom: calc(130 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-story__inner {
    padding-bottom: calc(200 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-story__inner {
    padding-bottom: calc(200 / 1920 * 100vw);
  }
}
@media screen and (max-width: 960px) {
  .f-story__inner {
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 960px) {
  .f-story .section-title {
    width: 100%;
  }
}
.f-story .section-title h2 {
  color: #FFFFFF;
  text-align: left;
}
@media screen and (max-width: 960px) {
  .f-story .section-title h2 {
    text-align: center;
  }
}
.f-story-image {
  width: 73.03%;
  border-radius: 0 300px 300px 0;
}
@media screen and (max-width: 960px) {
  .f-story-image {
    width: 100%;
  }
}
.f-story-image .swiper-slide {
  position: relative;
  overflow: hidden;
}
.f-story-image .swiper-slide img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-fit: cover;
     object-fit: cover;
}
.f-story-image .swiper-slide-active img {
  animation: zoom_down 3s ease-out 0s normal both;
}
.f-story-text {
  width: 37.25%;
}
@media screen and (max-width: 960px) {
  .f-story-text {
    width: 100%;
  }
}
.f-story-text p {
  margin-top: calc(24 / 375 * 100vw);
  color: #FFFFFF;
  font-size: 1.041vw;
  font-weight: 500;
  line-height: 4;
}
@media screen and (min-width: 600px) {
  .f-story-text p {
    margin-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-story-text p {
    margin-top: calc(30 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-story-text p {
    margin-top: calc(40 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-story-text p {
    margin-top: calc(40 / 1920 * 100vw);
  }
}
@media screen and (max-width: 1440px) {
  .f-story-text p {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .f-story-text p {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .f-story-text p {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .f-story-text p {
    font-size: 4.266vw;
  }
}
@media screen and (max-width: 960px) {
  .f-story-text p {
    margin-top: 0 !important;
    line-height: 2.2;
  }
}
.f-story__link {
  margin-top: calc(30 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .f-story__link {
    margin-top: calc(30 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-story__link {
    margin-top: calc(40 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-story__link {
    margin-top: calc(60 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-story__link {
    margin-top: calc(60 / 1920 * 100vw);
  }
}
.f-story__link .link-txt {
  width: -moz-fit-content;
  width: fit-content;
  color: #FFFFFF;
  font-size: 1.041vw;
  font-weight: 500;
}
@media screen and (max-width: 1440px) {
  .f-story__link .link-txt {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .f-story__link .link-txt {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .f-story__link .link-txt {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .f-story__link .link-txt {
    font-size: 4.266vw;
  }
}
@media screen and (max-width: 960px) {
  .f-story__link .link-txt {
    margin-right: 0;
    margin-left: auto;
  }
}

/* Journal
--------------------------------------------- */
.f-journal {
  position: relative;
  padding-top: calc(80 / 375 * 100vw);
  padding-bottom: calc(110 / 375 * 100vw);
  background-image: url("../img/front/bg_journal_01-pc.webp");
  background-position: top center;
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (min-width: 600px) {
  .f-journal {
    padding-top: calc(80 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-journal {
    padding-top: calc(150 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-journal {
    padding-top: calc(220 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-journal {
    padding-top: calc(220 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .f-journal {
    padding-bottom: calc(110 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-journal {
    padding-bottom: calc(180 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-journal {
    padding-bottom: calc(220 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-journal {
    padding-bottom: calc(220 / 1920 * 100vw);
  }
}
@media screen and (max-width: 960px) {
  .f-journal {
    background-image: url("../img/front/bg_journal_01-sp.webp");
  }
}
.f-journal__wrap {
  width: 100%;
  padding-top: calc(24 / 375 * 100vw);
  margin-inline: auto;
}
@media screen and (min-width: 600px) {
  .f-journal__wrap {
    padding-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-journal__wrap {
    padding-top: calc(40 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-journal__wrap {
    padding-top: calc(55 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-journal__wrap {
    padding-top: calc(55 / 1920 * 100vw);
  }
}
@media screen and (max-width: 1440px) {
  .f-journal__wrap {
    width: 100%;
    max-width: 1220px;
  }
}
.f-journal__wrap .blog-list {
  display: -moz-grid;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto;
  gap: 3rem 4rem;
  width: 100%;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 960px) {
  .f-journal__wrap .blog-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 600px) {
  .f-journal__wrap .blog-list {
    grid-template-columns: 1fr;
  }
}
.f-journal__link {
  width: -moz-fit-content;
  width: fit-content;
  margin-top: calc(55 / 375 * 100vw);
  margin-right: 0;
  margin-left: auto;
  text-align: right;
}
@media screen and (min-width: 600px) {
  .f-journal__link {
    margin-top: calc(55 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-journal__link {
    margin-top: calc(80 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-journal__link {
    margin-top: calc(100 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-journal__link {
    margin-top: calc(100 / 1920 * 100vw);
  }
}

/* Business
--------------------------------------------- */
.f-business {
  position: relative;
  margin: -10rem 0 0 0;
  padding-top: calc(80 / 375 * 100vw);
  padding-bottom: calc(110 / 375 * 100vw);
  border-radius: 100px 0 0 0;
  background-image: url("../img/front/business_img_01.jpg");
  background-position: top center;
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (min-width: 600px) {
  .f-business {
    padding-top: calc(80 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-business {
    padding-top: calc(100 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-business {
    padding-top: calc(100 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-business {
    padding-top: calc(100 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .f-business {
    padding-bottom: calc(110 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-business {
    padding-bottom: calc(160 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-business {
    padding-bottom: calc(220 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-business {
    padding-bottom: calc(220 / 1920 * 100vw);
  }
}
@media screen and (max-width: 960px) {
  .f-business {
    margin: -3rem 0 0 0;
    border-radius: 30px 0 0 0;
  }
}
.f-business p {
  margin-top: calc(24 / 375 * 100vw);
  color: #004587;
  font-size: 1.041vw;
  font-weight: 500;
  text-align: center;
  line-height: 1.8;
}
@media screen and (min-width: 600px) {
  .f-business p {
    margin-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-business p {
    margin-top: calc(30 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-business p {
    margin-top: calc(40 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-business p {
    margin-top: calc(40 / 1920 * 100vw);
  }
}
@media screen and (max-width: 1440px) {
  .f-business p {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .f-business p {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .f-business p {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .f-business p {
    font-size: 4.266vw;
  }
}
@media screen and (max-width: 960px) {
  .f-business p {
    text-align: left;
  }
}
.f-business__link {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  margin-top: calc(55 / 375 * 100vw);
  text-align: center;
}
@media screen and (min-width: 600px) {
  .f-business__link {
    margin-top: calc(55 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-business__link {
    margin-top: calc(80 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-business__link {
    margin-top: calc(100 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-business__link {
    margin-top: calc(100 / 1920 * 100vw);
  }
}
.f-business-action {
  display: -moz-grid;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: 1fr;
  gap: 5.5rem 12vw;
  width: 100%;
  margin-top: calc(55 / 375 * 100vw);
  margin-inline: auto;
}
@media screen and (min-width: 600px) {
  .f-business-action {
    margin-top: calc(55 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-business-action {
    margin-top: calc(80 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-business-action {
    margin-top: calc(120 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-business-action {
    margin-top: calc(120 / 1920 * 100vw);
  }
}
@media screen and (max-width: 1440px) {
  .f-business-action {
    width: 100%;
    max-width: 1220px;
  }
}
@media screen and (max-width: 960px) {
  .f-business-action {
    gap: 5.5rem 5.5vw;
  }
}
@media screen and (max-width: 600px) {
  .f-business-action {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(2, 1fr);
    width: 80%;
  }
}
.f-business-action__item {
  width: 100%;
  padding-top: calc(40 / 375 * 100vw);
  padding-bottom: calc(40 / 375 * 100vw);
  padding-right: calc(32 / 375 * 100vw);
  padding-left: calc(32 / 375 * 100vw);
  border-radius: 500px 500px 0 0;
  background-color: #004587;
  text-align: center;
}
@media screen and (min-width: 600px) {
  .f-business-action__item {
    padding-top: calc(40 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-business-action__item {
    padding-top: calc(50 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-business-action__item {
    padding-top: calc(60 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-business-action__item {
    padding-top: calc(60 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .f-business-action__item {
    padding-bottom: calc(40 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-business-action__item {
    padding-bottom: calc(50 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-business-action__item {
    padding-bottom: calc(60 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-business-action__item {
    padding-bottom: calc(60 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .f-business-action__item {
    padding-right: calc(32 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-business-action__item {
    padding-right: calc(40 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-business-action__item {
    padding-right: calc(60 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-business-action__item {
    padding-right: calc(60 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .f-business-action__item {
    padding-left: calc(32 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-business-action__item {
    padding-left: calc(40 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-business-action__item {
    padding-left: calc(60 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-business-action__item {
    padding-left: calc(60 / 1920 * 100vw);
  }
}
.f-business-action__item h3 {
  color: #FFFFFF;
  font-size: 1.041vw;
  font-weight: 700;
}
@media screen and (max-width: 1440px) {
  .f-business-action__item h3 {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .f-business-action__item h3 {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .f-business-action__item h3 {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .f-business-action__item h3 {
    font-size: 4.266vw;
  }
}
.f-business-action__item p {
  margin-top: calc(24 / 375 * 100vw);
  color: #FFFFFF;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (min-width: 600px) {
  .f-business-action__item p {
    margin-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-business-action__item p {
    margin-top: calc(30 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-business-action__item p {
    margin-top: calc(40 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-business-action__item p {
    margin-top: calc(40 / 1920 * 100vw);
  }
}
@media screen and (max-width: 600px) {
  .f-business-action__item p {
    font-size: 1.4rem;
  }
}
.f-business-action__link {
  margin-top: calc(20 / 375 * 100vw);
  text-align: center;
}
@media screen and (min-width: 600px) {
  .f-business-action__link {
    margin-top: calc(20 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .f-business-action__link {
    margin-top: calc(40 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .f-business-action__link {
    margin-top: calc(50 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .f-business-action__link {
    margin-top: calc(50 / 1920 * 100vw);
  }
}

/* Product
--------------------------------------------- */
.l-flavors-product {
  position: relative;
  width: 100%;
  padding-top: calc(60 / 375 * 100vw);
  padding-bottom: calc(80 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .l-flavors-product {
    padding-top: calc(60 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-flavors-product {
    padding-top: calc(100 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-flavors-product {
    padding-top: calc(130 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-flavors-product {
    padding-top: calc(130 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .l-flavors-product {
    padding-bottom: calc(80 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-flavors-product {
    padding-bottom: calc(130 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-flavors-product {
    padding-bottom: calc(220 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-flavors-product {
    padding-bottom: calc(220 / 1920 * 100vw);
  }
}
.l-flavors-product__item {
  position: relative;
  width: 100%;
  margin-top: calc(60 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .l-flavors-product__item {
    margin-top: calc(60 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-flavors-product__item {
    margin-top: calc(100 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-flavors-product__item {
    margin-top: calc(130 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-flavors-product__item {
    margin-top: calc(130 / 1920 * 100vw);
  }
}
.l-flavors-product__item::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  width: 6.14%;
  height: auto;
  background-image: url("../img/common/icon_uni.svg");
  background-size: contain;
  background-position: top center;
  background-repeat: no-repeat;
  aspect-ratio: 1/3;
}
.l-flavors-product__item:nth-of-type(even)::after {
  right: 0;
}
.l-flavors-product__item:nth-of-type(even) .l-flavors-product__wrap {
  grid-template-columns: 67.44% 32.56%;
}
@media screen and (max-width: 960px) {
  .l-flavors-product__item:nth-of-type(even) .l-flavors-product__wrap {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(2, auto);
  }
}
.l-flavors-product__item:nth-of-type(even) .l-flavors-product__txt {
  order: 1;
  margin: 0;
  padding-right: calc(40 / 375 * 100vw);
  padding-left: calc(40 / 375 * 100vw);
  border-radius: 0 500px 500px 0;
}
@media screen and (min-width: 600px) {
  .l-flavors-product__item:nth-of-type(even) .l-flavors-product__txt {
    padding-right: calc(40 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-flavors-product__item:nth-of-type(even) .l-flavors-product__txt {
    padding-right: calc(80 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-flavors-product__item:nth-of-type(even) .l-flavors-product__txt {
    padding-right: calc(200 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-flavors-product__item:nth-of-type(even) .l-flavors-product__txt {
    padding-right: calc(200 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .l-flavors-product__item:nth-of-type(even) .l-flavors-product__txt {
    padding-left: calc(40 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-flavors-product__item:nth-of-type(even) .l-flavors-product__txt {
    padding-left: calc(80 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-flavors-product__item:nth-of-type(even) .l-flavors-product__txt {
    padding-left: calc(100 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-flavors-product__item:nth-of-type(even) .l-flavors-product__txt {
    padding-left: calc(100 / 1920 * 100vw);
  }
}
@media screen and (max-width: 960px) {
  .l-flavors-product__item:nth-of-type(even) .l-flavors-product__txt {
    margin: -2rem auto 0;
    border-radius: 384px;
  }
}
@media screen and (max-width: 960px) {
  .l-flavors-product__item:nth-of-type(even) .l-flavors-product__txt {
    order: 2;
  }
}
.l-flavors-product__item:nth-of-type(even) .l-flavors-product__thumb {
  order: 2;
  left: -8.75vw;
}
@media screen and (max-width: 960px) {
  .l-flavors-product__item:nth-of-type(even) .l-flavors-product__thumb {
    order: 1;
    left: 0;
  }
}
.l-flavors-product__item:nth-of-type(odd)::after {
  left: 0;
}
.l-flavors-product__item:nth-of-type(odd) .l-flavors-product__wrap {
  grid-template-columns: 32.56% 67.44%;
}
@media screen and (max-width: 960px) {
  .l-flavors-product__item:nth-of-type(odd) .l-flavors-product__wrap {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(2, auto);
  }
}
.l-flavors-product__item:nth-of-type(odd) .l-flavors-product__txt {
  order: 2;
  margin: 0 0 0 auto;
  padding-right: calc(40 / 375 * 100vw);
  padding-left: calc(40 / 375 * 100vw);
  border-radius: 500px 0 0 500px;
}
@media screen and (min-width: 600px) {
  .l-flavors-product__item:nth-of-type(odd) .l-flavors-product__txt {
    padding-right: calc(40 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-flavors-product__item:nth-of-type(odd) .l-flavors-product__txt {
    padding-right: calc(80 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-flavors-product__item:nth-of-type(odd) .l-flavors-product__txt {
    padding-right: calc(100 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-flavors-product__item:nth-of-type(odd) .l-flavors-product__txt {
    padding-right: calc(100 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .l-flavors-product__item:nth-of-type(odd) .l-flavors-product__txt {
    padding-left: calc(40 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-flavors-product__item:nth-of-type(odd) .l-flavors-product__txt {
    padding-left: calc(80 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-flavors-product__item:nth-of-type(odd) .l-flavors-product__txt {
    padding-left: calc(200 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-flavors-product__item:nth-of-type(odd) .l-flavors-product__txt {
    padding-left: calc(200 / 1920 * 100vw);
  }
}
@media screen and (max-width: 960px) {
  .l-flavors-product__item:nth-of-type(odd) .l-flavors-product__txt {
    margin: -2rem auto 0;
    border-radius: 384px;
  }
}
.l-flavors-product__item:nth-of-type(odd) .l-flavors-product__thumb {
  order: 1;
  right: -8.75vw;
}
@media screen and (max-width: 960px) {
  .l-flavors-product__item:nth-of-type(odd) .l-flavors-product__thumb {
    right: 0;
  }
}
.l-flavors-product__wrap {
  display: -moz-grid;
  display: grid;
  grid-template-rows: 1fr;
  width: 100%;
}
.l-flavors-product__thumb {
  position: relative;
  overflow: hidden;
  width: 100%;
  border-radius: 50%;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 960px) {
  .l-flavors-product__thumb {
    width: 74.85%;
    margin: 0 auto;
  }
}
.l-flavors-product__thumb.aos-animate img {
  animation: zoom_down 2s ease-out 0s normal both;
}
.l-flavors-product__thumb img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.l-flavors-product__txt {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 93.86%;
  background-color: #FFFFFF;
}
@media screen and (max-width: 960px) {
  .l-flavors-product__txt {
    width: calc(100% - 10.666vw);
    margin: -2rem auto 0;
    padding-top: calc(80 / 375 * 100vw);
    padding-bottom: calc(80 / 375 * 100vw);
  }
}
@media screen and (max-width: 960px) and (min-width: 600px) {
  .l-flavors-product__txt {
    padding-top: calc(80 / 600 * 100vw);
  }
}
@media screen and (max-width: 960px) and (min-width: 960px) {
  .l-flavors-product__txt {
    padding-top: calc(100 / 960 * 100vw);
  }
}
@media screen and (max-width: 960px) and (min-width: 1440px) {
  .l-flavors-product__txt {
    padding-top: calc(0 / 1440 * 100vw);
  }
}
@media screen and (max-width: 960px) and (min-width: 1920px) {
  .l-flavors-product__txt {
    padding-top: calc(0 / 1920 * 100vw);
  }
}
@media screen and (max-width: 960px) and (min-width: 600px) {
  .l-flavors-product__txt {
    padding-bottom: calc(80 / 600 * 100vw);
  }
}
@media screen and (max-width: 960px) and (min-width: 960px) {
  .l-flavors-product__txt {
    padding-bottom: calc(100 / 960 * 100vw);
  }
}
@media screen and (max-width: 960px) and (min-width: 1440px) {
  .l-flavors-product__txt {
    padding-bottom: calc(0 / 1440 * 100vw);
  }
}
@media screen and (max-width: 960px) and (min-width: 1920px) {
  .l-flavors-product__txt {
    padding-bottom: calc(0 / 1920 * 100vw);
  }
}
.l-flavors-product__txt-title {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 2.4rem 3.6vw;
  width: 100%;
}
@media screen and (max-width: 960px) {
  .l-flavors-product__txt-title {
    justify-content: center;
    flex-wrap: wrap;
  }
}
.l-flavors-product__txt-title .num {
  display: block;
  padding: 1.8rem;
  border-radius: 30px 0 30px 0;
  background-color: #004587;
  color: #FFFFFF;
  font-size: 2.604vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1440px) {
  .l-flavors-product__txt-title .num {
    font-size: 3.502vw;
  }
}
@media screen and (max-width: 960px) {
  .l-flavors-product__txt-title .num {
    font-size: 4.166vw;
  }
}
@media screen and (max-width: 600px) {
  .l-flavors-product__txt-title .num {
    font-size: 4.666vw;
  }
}
@media screen and (max-width: 480px) {
  .l-flavors-product__txt-title .num {
    font-size: 7.466vw;
  }
}
@media screen and (max-width: 960px) {
  .l-flavors-product__txt-title .num {
    padding: 1rem;
  }
}
.l-flavors-product__txt-title .num span {
  display: block;
  font-size: 1.2rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  letter-spacing: 0;
}
.l-flavors-product__txt-title .title {
  color: #004587;
  font-size: 2.083vw;
  font-weight: 700;
  text-align: left;
}
@media screen and (max-width: 1440px) {
  .l-flavors-product__txt-title .title {
    font-size: 2.777vw;
  }
}
@media screen and (max-width: 960px) {
  .l-flavors-product__txt-title .title {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 600px) {
  .l-flavors-product__txt-title .title {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 480px) {
  .l-flavors-product__txt-title .title {
    font-size: 5.333vw;
  }
}
.l-flavors-product__txt-title .title span {
  display: block;
  color: #004587;
  font-size: 1.145vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  text-align: left;
}
@media screen and (max-width: 1440px) {
  .l-flavors-product__txt-title .title span {
    font-size: 1.527vw;
  }
}
@media screen and (max-width: 960px) {
  .l-flavors-product__txt-title .title span {
    font-size: 2.291vw;
  }
}
@media screen and (max-width: 600px) {
  .l-flavors-product__txt-title .title span {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 480px) {
  .l-flavors-product__txt-title .title span {
    font-size: 4vw;
  }
}
.l-flavors-product__txt-title .type {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1.6rem 0.8rem;
}
.l-flavors-product__txt-title .type span {
  padding: 0.2rem 1rem;
  border: 2px solid #004587;
  border-radius: 25px;
  background-color: #FFFFFF;
  color: #004587;
  font-size: 1.6rem;
}
@media screen and (max-width: 600px) {
  .l-flavors-product__txt-title .type span {
    font-size: 1.4rem;
  }
}
.l-flavors-product__txt-detail p {
  color: #004587;
  font-size: 1.041vw;
  font-weight: 500;
  text-align: left;
  line-height: 2;
}
@media screen and (max-width: 1440px) {
  .l-flavors-product__txt-detail p {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .l-flavors-product__txt-detail p {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .l-flavors-product__txt-detail p {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .l-flavors-product__txt-detail p {
    font-size: 4.266vw;
  }
}
.l-flavors-product__txt-line {
  width: 100%;
  margin-top: calc(12 / 375 * 100vw);
  margin-bottom: calc(12 / 375 * 100vw);
  border: none;
  border-bottom: 1px dotted #004587;
}
@media screen and (min-width: 600px) {
  .l-flavors-product__txt-line {
    margin-top: calc(12 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-flavors-product__txt-line {
    margin-top: calc(16 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-flavors-product__txt-line {
    margin-top: calc(20 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-flavors-product__txt-line {
    margin-top: calc(20 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .l-flavors-product__txt-line {
    margin-bottom: calc(12 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-flavors-product__txt-line {
    margin-bottom: calc(16 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-flavors-product__txt-line {
    margin-bottom: calc(20 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-flavors-product__txt-line {
    margin-bottom: calc(20 / 1920 * 100vw);
  }
}

/* Flavors
--------------------------------------------- */
.l-flavors-flavor {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding: 0;
}
.l-flavors-flavor__inner {
  padding-top: 0;
  padding-bottom: calc(80 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .l-flavors-flavor__inner {
    padding-bottom: calc(80 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-flavors-flavor__inner {
    padding-bottom: calc(130 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-flavors-flavor__inner {
    padding-bottom: calc(320 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-flavors-flavor__inner {
    padding-bottom: calc(320 / 1920 * 100vw);
  }
}
.l-flavors-flavor__wrap {
  width: 73.03%;
  padding-top: calc(24 / 375 * 100vw);
  margin-inline: auto;
}
@media screen and (min-width: 600px) {
  .l-flavors-flavor__wrap {
    padding-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-flavors-flavor__wrap {
    padding-top: calc(60 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-flavors-flavor__wrap {
    padding-top: calc(80 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-flavors-flavor__wrap {
    padding-top: calc(80 / 1920 * 100vw);
  }
}
@media screen and (max-width: 1440px) {
  .l-flavors-flavor__wrap {
    width: 100%;
    max-width: 1220px;
  }
}
.l-flavors-flavor__wrap p {
  color: #FFFFFF;
  font-size: 1.041vw;
  font-weight: 500;
  text-align: center;
  line-height: 1.8;
}
@media screen and (max-width: 1440px) {
  .l-flavors-flavor__wrap p {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .l-flavors-flavor__wrap p {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .l-flavors-flavor__wrap p {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .l-flavors-flavor__wrap p {
    font-size: 4.266vw;
  }
}
@media screen and (max-width: 960px) {
  .l-flavors-flavor__wrap p {
    text-align: left;
  }
}
.l-flavors-flavor__wrap-note {
  margin-top: calc(16 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .l-flavors-flavor__wrap-note {
    margin-top: calc(16 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-flavors-flavor__wrap-note {
    margin-top: calc(20 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-flavors-flavor__wrap-note {
    margin-top: calc(24 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-flavors-flavor__wrap-note {
    margin-top: calc(24 / 1920 * 100vw);
  }
}
.l-flavors-flavor__list {
  display: -moz-grid;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: auto;
  -moz-column-gap: calc(30 / 375 * 100vw);
       column-gap: calc(30 / 375 * 100vw);
  row-gap: calc(30 / 375 * 100vw);
  width: 100%;
  padding-top: calc(40 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .l-flavors-flavor__list {
    -moz-column-gap: calc(30 / 600 * 100vw);
         column-gap: calc(30 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-flavors-flavor__list {
    -moz-column-gap: calc(40 / 960 * 100vw);
         column-gap: calc(40 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-flavors-flavor__list {
    -moz-column-gap: calc(55 / 1440 * 100vw);
         column-gap: calc(55 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-flavors-flavor__list {
    -moz-column-gap: calc(55 / 1920 * 100vw);
         column-gap: calc(55 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .l-flavors-flavor__list {
    row-gap: calc(30 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-flavors-flavor__list {
    row-gap: calc(40 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-flavors-flavor__list {
    row-gap: calc(60 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-flavors-flavor__list {
    row-gap: calc(60 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .l-flavors-flavor__list {
    padding-top: calc(40 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-flavors-flavor__list {
    padding-top: calc(80 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-flavors-flavor__list {
    padding-top: calc(130 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-flavors-flavor__list {
    padding-top: calc(130 / 1920 * 100vw);
  }
}
@media screen and (max-width: 960px) {
  .l-flavors-flavor__list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 600px) {
  .l-flavors-flavor__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
.l-flavors-flavor__list li {
  width: 100%;
  list-style: none;
}
.l-flavors-flavor__list li img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.l-flavors-flavor__list li h3 {
  margin-top: 2rem;
  color: #FFFFFF;
  font-size: 1.041vw;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 1440px) {
  .l-flavors-flavor__list li h3 {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .l-flavors-flavor__list li h3 {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .l-flavors-flavor__list li h3 {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .l-flavors-flavor__list li h3 {
    font-size: 4.266vw;
  }
}
.l-flavors-flavor__list li p {
  margin-top: 2rem;
  color: #FFFFFF;
  font-size: 1.6rem;
  font-weight: 500;
  text-align: left;
}
@media screen and (max-width: 600px) {
  .l-flavors-flavor__list li p {
    font-size: 1.4rem;
  }
}

/* Description
--------------------------------------------- */
.l-store-desc {
  position: relative;
  width: 100%;
  margin-bottom: calc(130 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .l-store-desc {
    margin-bottom: calc(130 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-store-desc {
    margin-bottom: calc(220 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-store-desc {
    margin-bottom: calc(350 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-store-desc {
    margin-bottom: calc(350 / 1920 * 100vw);
  }
}
.l-store-desc__wrap {
  display: -moz-grid;
  display: grid;
  grid-template-rows: 1fr;
  gap: 0.8rem;
  margin-top: calc(55 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .l-store-desc__wrap {
    margin-top: calc(55 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-store-desc__wrap {
    margin-top: calc(100 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-store-desc__wrap {
    margin-top: calc(130 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-store-desc__wrap {
    margin-top: calc(130 / 1920 * 100vw);
  }
}
@media screen and (max-width: 960px) {
  .l-store-desc__wrap {
    grid-template-rows: repeat(2, auto);
  }
}
.l-store-desc__wrap:nth-of-type(odd) {
  grid-template-columns: 46.86% 52.73%;
}
@media screen and (max-width: 960px) {
  .l-store-desc__wrap:nth-of-type(odd) {
    grid-template-columns: 1fr;
  }
}
.l-store-desc__wrap:nth-of-type(odd) .l-store-desc__txt {
  order: 1;
}
.l-store-desc__wrap:nth-of-type(odd) .l-store-desc__thumb {
  order: 2;
}
.l-store-desc__wrap:nth-of-type(even) {
  grid-template-columns: 52.73% 46.86%;
}
@media screen and (max-width: 960px) {
  .l-store-desc__wrap:nth-of-type(even) {
    grid-template-columns: 1fr;
  }
}
.l-store-desc__wrap:nth-of-type(even) .l-store-desc__txt {
  order: 2;
}
@media screen and (max-width: 960px) {
  .l-store-desc__wrap:nth-of-type(even) .l-store-desc__txt {
    order: 1;
  }
}
.l-store-desc__wrap:nth-of-type(even) .l-store-desc__thumb {
  order: 1;
}
@media screen and (max-width: 960px) {
  .l-store-desc__wrap:nth-of-type(even) .l-store-desc__thumb {
    order: 2;
  }
}
.l-store-desc__thumb {
  width: 100%;
}
.l-store-desc__thumb img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.l-store-desc__txt {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  background-color: #FFFFFF;
}
.l-store-desc__txt-box {
  padding-right: calc(40 / 375 * 100vw);
  padding-left: calc(40 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .l-store-desc__txt-box {
    padding-right: calc(40 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-store-desc__txt-box {
    padding-right: calc(55 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-store-desc__txt-box {
    padding-right: calc(80 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-store-desc__txt-box {
    padding-right: calc(80 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .l-store-desc__txt-box {
    padding-left: calc(40 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-store-desc__txt-box {
    padding-left: calc(55 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-store-desc__txt-box {
    padding-left: calc(80 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-store-desc__txt-box {
    padding-left: calc(80 / 1920 * 100vw);
  }
}
@media screen and (max-width: 960px) {
  .l-store-desc__txt-box {
    padding-top: calc(40 / 375 * 100vw);
    padding-bottom: calc(40 / 375 * 100vw);
  }
}
@media screen and (max-width: 960px) and (min-width: 600px) {
  .l-store-desc__txt-box {
    padding-top: calc(40 / 600 * 100vw);
  }
}
@media screen and (max-width: 960px) and (min-width: 960px) {
  .l-store-desc__txt-box {
    padding-top: calc(55 / 960 * 100vw);
  }
}
@media screen and (max-width: 960px) and (min-width: 1440px) {
  .l-store-desc__txt-box {
    padding-top: calc(80 / 1440 * 100vw);
  }
}
@media screen and (max-width: 960px) and (min-width: 1920px) {
  .l-store-desc__txt-box {
    padding-top: calc(80 / 1920 * 100vw);
  }
}
@media screen and (max-width: 960px) and (min-width: 600px) {
  .l-store-desc__txt-box {
    padding-bottom: calc(40 / 600 * 100vw);
  }
}
@media screen and (max-width: 960px) and (min-width: 960px) {
  .l-store-desc__txt-box {
    padding-bottom: calc(55 / 960 * 100vw);
  }
}
@media screen and (max-width: 960px) and (min-width: 1440px) {
  .l-store-desc__txt-box {
    padding-bottom: calc(80 / 1440 * 100vw);
  }
}
@media screen and (max-width: 960px) and (min-width: 1920px) {
  .l-store-desc__txt-box {
    padding-bottom: calc(80 / 1920 * 100vw);
  }
}
.l-store-desc__txt h2 {
  color: #004587;
  font-size: 2.083vw;
  font-weight: 700;
  text-align: left;
}
@media screen and (max-width: 1440px) {
  .l-store-desc__txt h2 {
    font-size: 2.777vw;
  }
}
@media screen and (max-width: 960px) {
  .l-store-desc__txt h2 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 600px) {
  .l-store-desc__txt h2 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 480px) {
  .l-store-desc__txt h2 {
    font-size: 5.333vw;
  }
}
@media screen and (max-width: 960px) {
  .l-store-desc__txt h2 {
    text-align: center;
  }
}
.l-store-desc__txt p {
  margin-top: calc(12 / 375 * 100vw);
  color: #004587;
  font-size: 1.041vw;
  font-weight: 500;
  line-height: 2.2;
}
@media screen and (min-width: 600px) {
  .l-store-desc__txt p {
    margin-top: calc(12 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-store-desc__txt p {
    margin-top: calc(16 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-store-desc__txt p {
    margin-top: calc(20 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-store-desc__txt p {
    margin-top: calc(20 / 1920 * 100vw);
  }
}
@media screen and (max-width: 1440px) {
  .l-store-desc__txt p {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .l-store-desc__txt p {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .l-store-desc__txt p {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .l-store-desc__txt p {
    font-size: 4.266vw;
  }
}

/* Business
--------------------------------------------- */
.l-store-business {
  position: relative;
  width: 100%;
  padding: 0;
}
.l-store-business::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  width: 6.14%;
  height: auto;
  background-image: url("../img/common/icon_uni.svg");
  background-size: contain;
  background-position: top center;
  background-repeat: no-repeat;
  aspect-ratio: 1/3;
}
@media screen and (max-width: 960px) {
  .l-store-business::after {
    display: none;
    background-image: none;
  }
}
.l-store-business::before {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 6.14%;
  height: auto;
  background-image: url("../img/common/icon_uni.svg");
  background-size: contain;
  background-position: bottom center;
  background-repeat: no-repeat;
  aspect-ratio: 1/3;
}
@media screen and (max-width: 960px) {
  .l-store-business::before {
    display: none;
    background-image: none;
  }
}
.l-store-business__wrap {
  width: 40%;
  margin: 0 auto;
  padding-top: calc(55 / 375 * 100vw);
  padding-right: calc(40 / 375 * 100vw);
  padding-bottom: calc(80 / 375 * 100vw);
  padding-left: calc(40 / 375 * 100vw);
  border-radius: 384px;
  background-color: #FFFFFF;
}
@media screen and (min-width: 600px) {
  .l-store-business__wrap {
    padding-top: calc(55 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-store-business__wrap {
    padding-top: calc(100 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-store-business__wrap {
    padding-top: calc(130 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-store-business__wrap {
    padding-top: calc(130 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .l-store-business__wrap {
    padding-right: calc(40 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-store-business__wrap {
    padding-right: calc(55 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-store-business__wrap {
    padding-right: calc(80 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-store-business__wrap {
    padding-right: calc(80 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .l-store-business__wrap {
    padding-bottom: calc(80 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-store-business__wrap {
    padding-bottom: calc(160 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-store-business__wrap {
    padding-bottom: calc(220 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-store-business__wrap {
    padding-bottom: calc(220 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .l-store-business__wrap {
    padding-left: calc(40 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-store-business__wrap {
    padding-left: calc(55 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-store-business__wrap {
    padding-left: calc(80 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-store-business__wrap {
    padding-left: calc(80 / 1920 * 100vw);
  }
}
@media screen and (max-width: 1440px) {
  .l-store-business__wrap {
    width: 53.33%;
  }
}
@media screen and (max-width: 960px) {
  .l-store-business__wrap {
    width: 100%;
    max-width: 480px;
  }
}
.l-store-business__wrap h2 {
  color: #004587;
  font-size: 2.083vw;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 1440px) {
  .l-store-business__wrap h2 {
    font-size: 2.777vw;
  }
}
@media screen and (max-width: 960px) {
  .l-store-business__wrap h2 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 600px) {
  .l-store-business__wrap h2 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 480px) {
  .l-store-business__wrap h2 {
    font-size: 5.333vw;
  }
}
.l-store-business__wrap p {
  margin-top: calc(16 / 375 * 100vw);
  color: #004587;
  font-size: 1.041vw;
  font-weight: 700;
  text-align: center;
  line-height: 2.2;
}
@media screen and (min-width: 600px) {
  .l-store-business__wrap p {
    margin-top: calc(16 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-store-business__wrap p {
    margin-top: calc(24 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-store-business__wrap p {
    margin-top: calc(40 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-store-business__wrap p {
    margin-top: calc(40 / 1920 * 100vw);
  }
}
@media screen and (max-width: 1440px) {
  .l-store-business__wrap p {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .l-store-business__wrap p {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .l-store-business__wrap p {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .l-store-business__wrap p {
    font-size: 4.266vw;
  }
}
@media screen and (max-width: 960px) {
  .l-store-business__wrap p {
    text-align: left;
  }
}
.l-store-business__wrap .c-instagram__box {
  width: 100%;
  margin-top: calc(24 / 375 * 100vw);
  margin-inline: auto;
  padding: 0;
}
@media screen and (min-width: 600px) {
  .l-store-business__wrap .c-instagram__box {
    margin-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-store-business__wrap .c-instagram__box {
    margin-top: calc(40 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-store-business__wrap .c-instagram__box {
    margin-top: calc(60 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-store-business__wrap .c-instagram__box {
    margin-top: calc(60 / 1920 * 100vw);
  }
}
.l-store-business__wrap .c-instagram__box-link {
  display: block;
  padding: 4rem;
  background-color: #004587;
  color: #FFFFFF;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}
@media screen and (max-width: 960px) {
  .l-store-business__wrap .c-instagram__box-link {
    padding: 2rem;
    border-radius: 50px 0 50px 0;
  }
}
.l-store-business__wrap .c-instagram__box-link:hover {
  border-radius: 50px 0 50px 0;
}
.l-store-business__wrap .c-instagram__box p {
  position: relative;
  margin-top: 0;
  color: #FFFFFF;
  font-size: 1.6rem;
  text-align: center;
}
@media screen and (max-width: 600px) {
  .l-store-business__wrap .c-instagram__box p {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 600px) {
  .l-store-business__wrap .c-instagram__box p {
    font-size: 3vw;
  }
}
.l-store-business__wrap .c-instagram__box img {
  display: block;
  width: 52.38%;
  height: auto;
  margin-top: calc(24 / 375 * 100vw);
  margin-inline: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 600px) {
  .l-store-business__wrap .c-instagram__box img {
    margin-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-store-business__wrap .c-instagram__box img {
    margin-top: calc(30 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-store-business__wrap .c-instagram__box img {
    margin-top: calc(40 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-store-business__wrap .c-instagram__box img {
    margin-top: calc(40 / 1920 * 100vw);
  }
}

/* Access
--------------------------------------------- */
.l-store-access {
  position: relative;
  overflow: hidden;
  width: 100%;
  margin-top: calc(130 / 375 * 100vw);
  padding: 0;
  border-radius: 1000px 1000px 0 0;
  background-color: #FFFFFF;
}
@media screen and (min-width: 600px) {
  .l-store-access {
    margin-top: calc(130 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-store-access {
    margin-top: calc(220 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-store-access {
    margin-top: calc(350 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-store-access {
    margin-top: calc(350 / 1920 * 100vw);
  }
}
.l-store-access__inner {
  padding-top: calc(80 / 375 * 100vw);
  padding-bottom: calc(110 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .l-store-access__inner {
    padding-top: calc(80 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-store-access__inner {
    padding-top: calc(130 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-store-access__inner {
    padding-top: calc(200 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-store-access__inner {
    padding-top: calc(200 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .l-store-access__inner {
    padding-bottom: calc(110 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-store-access__inner {
    padding-bottom: calc(160 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-store-access__inner {
    padding-bottom: calc(300 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-store-access__inner {
    padding-bottom: calc(300 / 1920 * 100vw);
  }
}
.l-store-access__inner h2 {
  color: #004587;
  font-size: 2.083vw;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 1440px) {
  .l-store-access__inner h2 {
    font-size: 2.777vw;
  }
}
@media screen and (max-width: 960px) {
  .l-store-access__inner h2 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 600px) {
  .l-store-access__inner h2 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 480px) {
  .l-store-access__inner h2 {
    font-size: 5.333vw;
  }
}
.l-store-access-list {
  display: -moz-grid;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: 1fr;
  gap: 6rem;
  width: 100%;
  margin: 0 auto;
  margin-top: calc(80 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .l-store-access-list {
    margin-top: calc(80 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-store-access-list {
    margin-top: calc(100 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-store-access-list {
    margin-top: calc(130 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-store-access-list {
    margin-top: calc(130 / 1920 * 100vw);
  }
}
@media screen and (max-width: 1440px) {
  .l-store-access-list {
    gap: 4rem;
  }
}
@media screen and (max-width: 960px) {
  .l-store-access-list {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(3, auto);
  }
}
.l-store-access-list__item {
  position: relative;
  width: 100%;
  padding: 8rem 3.2rem 4rem 3.2rem;
  border: 2px solid #004587;
  border-radius: 10px;
}
@media screen and (max-width: 960px) {
  .l-store-access-list__item {
    margin-right: 0;
    margin-left: auto;
    padding: 6rem 2.4rem 3.2rem 2.4rem;
  }
}
.l-store-access-list__item img {
  position: absolute;
  top: -58px;
  left: 50%;
  width: 116px;
  height: 116px;
  transform: translateX(-50%);
  aspect-ratio: 1/1;
}
@media screen and (max-width: 960px) {
  .l-store-access-list__item img {
    top: -35px;
    width: 70px;
    height: 70px;
  }
}
.l-store-access-list__item h3 {
  color: #004587;
  font-size: 1.041vw;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 1440px) {
  .l-store-access-list__item h3 {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .l-store-access-list__item h3 {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .l-store-access-list__item h3 {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .l-store-access-list__item h3 {
    font-size: 4.266vw;
  }
}
.l-store-access-list__item hr {
  width: 100%;
  margin: 2rem 0;
  border: none;
  border-bottom: 2px dotted #004587;
}
.l-store-access-list__item p {
  margin-top: 2rem;
  padding: 0 1.5rem;
  color: #004587;
  font-size: 1.6rem;
  font-weight: 500;
  text-align: left;
  line-height: 2;
}
@media screen and (max-width: 600px) {
  .l-store-access-list__item p {
    font-size: 1.4rem;
  }
}
.l-store-access-list__item p:first-of-type {
  margin-top: 0;
}
.l-store-access-info {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 3vh 6vw;
  padding-top: calc(40 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .l-store-access-info {
    padding-top: calc(40 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-store-access-info {
    padding-top: calc(80 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-store-access-info {
    padding-top: calc(160 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-store-access-info {
    padding-top: calc(160 / 1920 * 100vw);
  }
}
@media screen and (max-width: 960px) {
  .l-store-access-info {
    flex-wrap: wrap;
  }
}
.l-store-access-info__txt {
  width: 37.25%;
}
@media screen and (max-width: 960px) {
  .l-store-access-info__txt {
    width: 100%;
  }
}
.l-store-access-info__txt h3 {
  color: #004587;
  font-size: 1.041vw;
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (max-width: 1440px) {
  .l-store-access-info__txt h3 {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .l-store-access-info__txt h3 {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .l-store-access-info__txt h3 {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .l-store-access-info__txt h3 {
    font-size: 4.266vw;
  }
}
.l-store-access-info__txt ul li {
  color: #004587;
  font-size: 1.041vw;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 1440px) {
  .l-store-access-info__txt ul li {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .l-store-access-info__txt ul li {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .l-store-access-info__txt ul li {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .l-store-access-info__txt ul li {
    font-size: 4.266vw;
  }
}
.l-store-access-info__txt p {
  margin-top: calc(24 / 375 * 100vw);
  color: #004587;
  font-size: 1.041vw;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (min-width: 600px) {
  .l-store-access-info__txt p {
    margin-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-store-access-info__txt p {
    margin-top: calc(24 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-store-access-info__txt p {
    margin-top: calc(30 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-store-access-info__txt p {
    margin-top: calc(30 / 1920 * 100vw);
  }
}
@media screen and (max-width: 1440px) {
  .l-store-access-info__txt p {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .l-store-access-info__txt p {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .l-store-access-info__txt p {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .l-store-access-info__txt p {
    font-size: 4.266vw;
  }
}
.l-store-access-info__map {
  width: 62.25%;
}
@media screen and (max-width: 960px) {
  .l-store-access-info__map {
    width: 100%;
  }
}
.l-store-access-info__map img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.l-store-access-info__map figcaption {
  color: #004587;
  font-size: 1.6rem;
  font-weight: 500;
  text-align: left;
}
@media screen and (max-width: 600px) {
  .l-store-access-info__map figcaption {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 960px) {
  .l-store-access-info__map figcaption {
    text-align: right;
  }
}
.l-store-access-info__map-caption {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem 2.4rem;
  width: 100%;
  margin-top: 1rem;
}

/* Staff
--------------------------------------------- */
.l-store-staff {
  position: relative;
  overflow: hidden;
  width: 100%;
  margin-top: -10rem;
  border-radius: 10rem 0 0 0;
  background-image: url("../img/stores/staff_bg_01-pc.webp");
  background-position: top center;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 960px) {
  .l-store-staff {
    margin-top: -3rem;
    border-radius: 3rem 0 0 0;
    background-image: url("../img/stores/staff_bg_01-sp.webp");
    background-size: cover;
    background-position: bottom center;
  }
}
.l-store-staff__inner {
  padding-top: calc(80 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .l-store-staff__inner {
    padding-top: calc(80 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-store-staff__inner {
    padding-top: calc(130 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-store-staff__inner {
    padding-top: calc(160 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-store-staff__inner {
    padding-top: calc(160 / 1920 * 100vw);
  }
}
.l-store-staff__inner h2 {
  color: #004587;
  font-size: 2.083vw;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 1440px) {
  .l-store-staff__inner h2 {
    font-size: 2.777vw;
  }
}
@media screen and (max-width: 960px) {
  .l-store-staff__inner h2 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 600px) {
  .l-store-staff__inner h2 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 480px) {
  .l-store-staff__inner h2 {
    font-size: 5.333vw;
  }
}
.l-store-staff-list {
  width: 70%;
  margin: 0 auto;
  margin-top: calc(80 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .l-store-staff-list {
    margin-top: calc(80 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-store-staff-list {
    margin-top: calc(130 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-store-staff-list {
    margin-top: calc(160 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-store-staff-list {
    margin-top: calc(160 / 1920 * 100vw);
  }
}
@media screen and (max-width: 1440px) {
  .l-store-staff-list {
    width: 100%;
  }
}
.l-store-staff-list__item {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  position: relative;
  width: 100%;
  margin: 0 auto;
  margin-top: calc(130 / 375 * 100vw);
  padding: 4rem;
  border-radius: 500px;
  background-color: #FFFFFF;
}
@media screen and (min-width: 600px) {
  .l-store-staff-list__item {
    margin-top: calc(130 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-store-staff-list__item {
    margin-top: calc(160 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-store-staff-list__item {
    margin-top: calc(80 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-store-staff-list__item {
    margin-top: calc(80 / 1920 * 100vw);
  }
}
@media screen and (max-width: 600px) {
  .l-store-staff-list__item {
    flex-wrap: wrap;
    padding: 12.2rem 2.4rem 8rem 2.4rem;
    border-radius: 384px;
  }
}
.l-store-staff-list__image {
  width: 29.33%;
  height: auto;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 600px) {
  .l-store-staff-list__image {
    position: absolute;
    top: -90px;
    left: 50%;
    width: 180px;
    transform: translateX(-50%);
  }
}
.l-store-staff-list__image img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.l-store-staff-list__txt {
  width: 73.03%;
}
@media screen and (max-width: 600px) {
  .l-store-staff-list__txt {
    width: 100%;
  }
}
.l-store-staff-list__txt-name {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0 2rem;
  padding-left: 1.5rem;
}
@media screen and (max-width: 600px) {
  .l-store-staff-list__txt-name {
    justify-content: center;
    padding: 0 1.5rem;
  }
}
.l-store-staff-list__txt-name img {
  width: 20%;
  height: auto;
  aspect-ratio: 1/1;
}
.l-store-staff-list__txt-name h3 {
  color: #004587;
  font-size: 2.083vw;
  font-weight: "Montserrat", sans-serif;
  font-weight: 600;
  text-align: left;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1440px) {
  .l-store-staff-list__txt-name h3 {
    font-size: 2.777vw;
  }
}
@media screen and (max-width: 960px) {
  .l-store-staff-list__txt-name h3 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 600px) {
  .l-store-staff-list__txt-name h3 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 480px) {
  .l-store-staff-list__txt-name h3 {
    font-size: 5.333vw;
  }
}
.l-store-staff-list__txt-name h3 span {
  display: block;
  font-size: 1.041vw;
  font-weight: "Noto Sans JP", serif;
  letter-spacing: 0;
}
@media screen and (max-width: 1440px) {
  .l-store-staff-list__txt-name h3 span {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .l-store-staff-list__txt-name h3 span {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .l-store-staff-list__txt-name h3 span {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .l-store-staff-list__txt-name h3 span {
    font-size: 4.266vw;
  }
}
.l-store-staff-list__txt hr {
  width: 100%;
  margin: 2rem 0;
  border: none;
  border-bottom: 2px dotted #004587;
}
.l-store-staff-list__txt p {
  padding: 0 0 0 1.5rem;
  color: #004587;
  font-size: 1.6rem;
  font-weight: 500;
  text-align: left;
  line-height: 2;
}
@media screen and (max-width: 600px) {
  .l-store-staff-list__txt p {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 600px) {
  .l-store-staff-list__txt p {
    padding: 0 1.5rem;
  }
}

/* Overview
--------------------------------------------- */
.l-store-overview__inner {
  padding-top: calc(80 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .l-store-overview__inner {
    padding-top: calc(80 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-store-overview__inner {
    padding-top: calc(160 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-store-overview__inner {
    padding-top: calc(220 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-store-overview__inner {
    padding-top: calc(220 / 1920 * 100vw);
  }
}
.l-store-overview__inner h2 {
  color: #004587;
  font-size: 2.083vw;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 1440px) {
  .l-store-overview__inner h2 {
    font-size: 2.777vw;
  }
}
@media screen and (max-width: 960px) {
  .l-store-overview__inner h2 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 600px) {
  .l-store-overview__inner h2 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 480px) {
  .l-store-overview__inner h2 {
    font-size: 5.333vw;
  }
}
.l-store-overview__tbl {
  width: 70%;
  margin: 0 auto;
  margin-top: calc(40 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .l-store-overview__tbl {
    margin-top: calc(40 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-store-overview__tbl {
    margin-top: calc(55 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-store-overview__tbl {
    margin-top: calc(80 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-store-overview__tbl {
    margin-top: calc(80 / 1920 * 100vw);
  }
}
@media screen and (max-width: 960px) {
  .l-store-overview__tbl {
    width: 100%;
  }
}
.l-store-overview__tbl table {
  width: 100%;
  border-collapse: collapse;
  background-color: #FFFFFF;
}
.l-store-overview__tbl table th {
  width: 27.7%;
  padding: 2.4rem 4rem;
  border: 1px solid #004587;
  color: #004587;
  font-size: 1.145vw;
  font-weight: 500;
  text-align: left;
}
@media screen and (max-width: 1440px) {
  .l-store-overview__tbl table th {
    font-size: 1.527vw;
  }
}
@media screen and (max-width: 960px) {
  .l-store-overview__tbl table th {
    font-size: 2.291vw;
  }
}
@media screen and (max-width: 600px) {
  .l-store-overview__tbl table th {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 480px) {
  .l-store-overview__tbl table th {
    font-size: 4vw;
  }
}
@media screen and (max-width: 960px) {
  .l-store-overview__tbl table th {
    width: 100px;
    padding: 1.5rem 2rem;
  }
}
.l-store-overview__tbl table td {
  width: 72.3%;
  padding: 2.4rem 4rem;
  border: 1px solid #004587;
  color: #004587;
  font-size: 1.145vw;
  font-weight: 500;
}
@media screen and (max-width: 1440px) {
  .l-store-overview__tbl table td {
    font-size: 1.527vw;
  }
}
@media screen and (max-width: 960px) {
  .l-store-overview__tbl table td {
    font-size: 2.291vw;
  }
}
@media screen and (max-width: 600px) {
  .l-store-overview__tbl table td {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 480px) {
  .l-store-overview__tbl table td {
    font-size: 4vw;
  }
}
@media screen and (max-width: 960px) {
  .l-store-overview__tbl table td {
    width: calc(100% - 100px);
    padding: 1.5rem 2rem;
  }
}

/* Story
--------------------------------------------- */
.l-story-history {
  position: relative;
  width: 100%;
}
.l-story-history__item {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;
  gap: 1.5rem 6rem;
  width: 100%;
  margin-top: calc(55 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .l-story-history__item {
    margin-top: calc(55 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-story-history__item {
    margin-top: calc(100 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-story-history__item {
    margin-top: calc(160 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-story-history__item {
    margin-top: calc(160 / 1920 * 100vw);
  }
}
@media screen and (max-width: 960px) {
  .l-story-history__item {
    flex-wrap: wrap;
  }
}
.l-story-history__item:nth-of-type(even) {
  flex-direction: row-reverse;
}
@media screen and (max-width: 960px) {
  .l-story-history__item:nth-of-type(even) .l-story-history__txt h2 {
    text-align: right;
  }
}
.l-story-history__item:nth-of-type(even) .l-story-history__thumb {
  border-radius: 300px 0 0 300px;
}
.l-story-history__thumb {
  position: relative;
  overflow: hidden;
  width: 59.3%;
  border-radius: 0 300px 300px 0;
}
@media screen and (max-width: 960px) {
  .l-story-history__thumb {
    width: 100%;
  }
}
.l-story-history__thumb.aos-animate img {
  animation: zoom_down 2s ease-out 0s normal both;
}
.l-story-history__thumb img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.l-story-history__txt {
  width: 36.2%;
}
@media screen and (max-width: 960px) {
  .l-story-history__txt {
    width: 100%;
  }
}
.l-story-history__txt h2 {
  color: #FFFFFF;
  font-size: 2.083vw;
  font-weight: 700;
  text-align: left;
  line-height: 1.6;
}
@media screen and (max-width: 1440px) {
  .l-story-history__txt h2 {
    font-size: 2.777vw;
  }
}
@media screen and (max-width: 960px) {
  .l-story-history__txt h2 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 600px) {
  .l-story-history__txt h2 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 480px) {
  .l-story-history__txt h2 {
    font-size: 5.333vw;
  }
}
.l-story-history__txt p {
  margin-top: calc(10 / 375 * 100vw);
  color: #FFFFFF;
  font-size: 1.041vw;
  font-weight: 500;
  line-height: 2.4;
}
@media screen and (min-width: 600px) {
  .l-story-history__txt p {
    margin-top: calc(10 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-story-history__txt p {
    margin-top: calc(24 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-story-history__txt p {
    margin-top: calc(40 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-story-history__txt p {
    margin-top: calc(40 / 1920 * 100vw);
  }
}
@media screen and (max-width: 1440px) {
  .l-story-history__txt p {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .l-story-history__txt p {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .l-story-history__txt p {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .l-story-history__txt p {
    font-size: 4.266vw;
  }
}

/* Commit
--------------------------------------------- */
.l-story-commit {
  position: relative;
  width: 100%;
  padding-bottom: calc(80 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .l-story-commit {
    padding-bottom: calc(80 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-story-commit {
    padding-bottom: calc(130 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-story-commit {
    padding-bottom: calc(220 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-story-commit {
    padding-bottom: calc(220 / 1920 * 100vw);
  }
}
.l-story-commit__item {
  width: 100%;
}
.l-story-commit__thumb {
  position: relative;
  overflow: hidden;
  width: 100vw;
  margin-top: calc(80 / 375 * 100vw);
  border-radius: 350px;
}
@media screen and (min-width: 600px) {
  .l-story-commit__thumb {
    margin-top: calc(80 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-story-commit__thumb {
    margin-top: calc(130 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-story-commit__thumb {
    margin-top: calc(220 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-story-commit__thumb {
    margin-top: calc(220 / 1920 * 100vw);
  }
}
.l-story-commit__thumb.short {
  margin-top: calc(40 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .l-story-commit__thumb.short {
    margin-top: calc(40 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-story-commit__thumb.short {
    margin-top: calc(100 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-story-commit__thumb.short {
    margin-top: calc(130 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-story-commit__thumb.short {
    margin-top: calc(130 / 1920 * 100vw);
  }
}
.l-story-commit__thumb.aos-animate img {
  animation: zoom_down 2s ease-out 0s normal both;
}
.l-story-commit__thumb img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.l-story-commit__title {
  margin-top: calc(40 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .l-story-commit__title {
    margin-top: calc(40 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-story-commit__title {
    margin-top: calc(100 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-story-commit__title {
    margin-top: calc(130 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-story-commit__title {
    margin-top: calc(130 / 1920 * 100vw);
  }
}
.l-story-commit__title.long {
  margin-top: calc(80 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .l-story-commit__title.long {
    margin-top: calc(80 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-story-commit__title.long {
    margin-top: calc(130 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-story-commit__title.long {
    margin-top: calc(220 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-story-commit__title.long {
    margin-top: calc(220 / 1920 * 100vw);
  }
}
.l-story-commit__title h2 {
  color: #FFFFFF;
  font-size: 2.083vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
}
@media screen and (max-width: 1440px) {
  .l-story-commit__title h2 {
    font-size: 2.777vw;
  }
}
@media screen and (max-width: 960px) {
  .l-story-commit__title h2 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 600px) {
  .l-story-commit__title h2 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 480px) {
  .l-story-commit__title h2 {
    font-size: 5.333vw;
  }
}
.l-story-commit__txt {
  width: 63.54%;
  margin: 0 auto;
  margin-top: calc(24 / 375 * 100vw);
  padding-right: calc(20 / 375 * 100vw);
  padding-left: calc(20 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .l-story-commit__txt {
    margin-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-story-commit__txt {
    margin-top: calc(40 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-story-commit__txt {
    margin-top: calc(80 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-story-commit__txt {
    margin-top: calc(80 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .l-story-commit__txt {
    padding-right: calc(30 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-story-commit__txt {
    padding-right: calc(55 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-story-commit__txt {
    padding-right: calc(0 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-story-commit__txt {
    padding-right: calc(0 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .l-story-commit__txt {
    padding-left: calc(30 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-story-commit__txt {
    padding-left: calc(55 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-story-commit__txt {
    padding-left: calc(0 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-story-commit__txt {
    padding-left: calc(0 / 1920 * 100vw);
  }
}
@media screen and (max-width: 960px) {
  .l-story-commit__txt {
    width: 100%;
  }
}
.l-story-commit__txt p {
  margin-top: 2.4rem;
  color: #FFFFFF;
  font-size: 1.041vw;
  font-weight: 500;
  line-height: 2.4;
}
@media screen and (max-width: 1440px) {
  .l-story-commit__txt p {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .l-story-commit__txt p {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .l-story-commit__txt p {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .l-story-commit__txt p {
    font-size: 4.266vw;
  }
}
.l-story-commit__txt p:first-of-type {
  margin-top: 0;
}
.l-story-commit__flow {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  gap: 0 3rem;
  position: relative;
  width: 74.47%;
  margin: 0 auto;
  margin-top: calc(40 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .l-story-commit__flow {
    margin-top: calc(40 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-story-commit__flow {
    margin-top: calc(80 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-story-commit__flow {
    margin-top: calc(120 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-story-commit__flow {
    margin-top: calc(120 / 1920 * 100vw);
  }
}
@media screen and (max-width: 960px) {
  .l-story-commit__flow {
    display: block;
    width: 100%;
  }
}
.l-story-commit__flow::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 32.25%;
  left: 50%;
  z-index: -1;
  width: 90%;
  border-top: 2px dotted #FFFFFF;
  transform: translateX(-50%);
}
@media screen and (max-width: 960px) {
  .l-story-commit__flow::after {
    top: 90px;
  }
}
.l-story-commit__flow li.process-item {
  width: calc(20% - 1.5rem);
  list-style: none;
}
@media screen and (max-width: 960px) {
  .l-story-commit__flow li.process-item {
    width: 180px;
    margin: 0m;
  }
}
.l-story-commit__flow li.process-item figure {
  width: 100%;
}
.l-story-commit__flow li.process-item figure img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.l-story-commit__flow li.process-item figure figcaption {
  margin-top: calc(15 / 375 * 100vw);
  color: #FFFFFF;
  font-size: 1.041vw;
  font-weight: 500;
  text-align: center;
  line-height: 1.6;
}
@media screen and (min-width: 600px) {
  .l-story-commit__flow li.process-item figure figcaption {
    margin-top: calc(15 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-story-commit__flow li.process-item figure figcaption {
    margin-top: calc(20 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-story-commit__flow li.process-item figure figcaption {
    margin-top: calc(24 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-story-commit__flow li.process-item figure figcaption {
    margin-top: calc(24 / 1920 * 100vw);
  }
}
@media screen and (max-width: 1440px) {
  .l-story-commit__flow li.process-item figure figcaption {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .l-story-commit__flow li.process-item figure figcaption {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .l-story-commit__flow li.process-item figure figcaption {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .l-story-commit__flow li.process-item figure figcaption {
    font-size: 4.266vw;
  }
}

/* Access
--------------------------------------------- */
.l-access-access {
  position: relative;
  overflow: hidden;
  width: 100%;
  margin-top: calc(-30 / 375 * 100vw);
  padding-right: calc(0 / 375 * 100vw);
  padding-left: calc(0 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .l-access-access {
    margin-top: calc(-30 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-access-access {
    margin-top: calc(-40 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-access-access {
    margin-top: calc(-100 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-access-access {
    margin-top: calc(-100 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .l-access-access {
    padding-right: calc(0 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-access-access {
    padding-right: calc(40 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-access-access {
    padding-right: calc(80 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-access-access {
    padding-right: calc(100 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .l-access-access {
    padding-left: calc(0 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-access-access {
    padding-left: calc(40 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-access-access {
    padding-left: calc(80 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-access-access {
    padding-left: calc(100 / 1920 * 100vw);
  }
}
@media screen and (max-width: 960px) {
  .l-access-access {
    z-index: -1;
  }
}
.l-access-access__inner {
  width: 100%;
  padding-top: calc(90 / 375 * 100vw);
  padding-bottom: calc(80 / 375 * 100vw);
  background-color: #FFFFFF;
}
@media screen and (min-width: 600px) {
  .l-access-access__inner {
    padding-top: calc(90 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-access-access__inner {
    padding-top: calc(100 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-access-access__inner {
    padding-top: calc(160 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-access-access__inner {
    padding-top: calc(160 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .l-access-access__inner {
    padding-bottom: calc(80 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-access-access__inner {
    padding-bottom: calc(130 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-access-access__inner {
    padding-bottom: calc(220 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-access-access__inner {
    padding-bottom: calc(220 / 1920 * 100vw);
  }
}
.l-access-access__inner h2 {
  color: #004587;
  font-size: 2.083vw;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 1440px) {
  .l-access-access__inner h2 {
    font-size: 2.777vw;
  }
}
@media screen and (max-width: 960px) {
  .l-access-access__inner h2 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 600px) {
  .l-access-access__inner h2 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 480px) {
  .l-access-access__inner h2 {
    font-size: 5.333vw;
  }
}
.l-access-access-list {
  display: -moz-grid;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: 1fr;
  gap: 6rem;
  width: 100%;
  margin: 0 auto;
  margin-top: calc(80 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .l-access-access-list {
    margin-top: calc(80 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-access-access-list {
    margin-top: calc(100 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-access-access-list {
    margin-top: calc(130 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-access-access-list {
    margin-top: calc(130 / 1920 * 100vw);
  }
}
@media screen and (max-width: 960px) {
  .l-access-access-list {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(3, auto);
  }
}
.l-access-access-list__item {
  position: relative;
  width: 100%;
  padding: 8rem 3.2rem 4rem 3.2rem;
  border: 2px solid #004587;
  border-radius: 10px;
}
@media screen and (max-width: 960px) {
  .l-access-access-list__item {
    margin-right: 0;
    margin-left: auto;
  }
}
.l-access-access-list__item img {
  position: absolute;
  top: -58px;
  left: 50%;
  width: 116px;
  height: 116px;
  transform: translateX(-50%);
  aspect-ratio: 1/1;
}
@media screen and (max-width: 960px) {
  .l-access-access-list__item img {
    top: -35px;
    width: 70px;
    height: 70px;
  }
}
.l-access-access-list__item h3 {
  color: #004587;
  font-size: 1.041vw;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 1440px) {
  .l-access-access-list__item h3 {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .l-access-access-list__item h3 {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .l-access-access-list__item h3 {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .l-access-access-list__item h3 {
    font-size: 4.266vw;
  }
}
.l-access-access-list__item hr {
  width: 100%;
  margin: 2rem 0;
  border: none;
  border-bottom: 2px dotted #004587;
}
.l-access-access-list__item p {
  margin-top: 2rem;
  padding: 0 1.5rem;
  color: #004587;
  font-size: 1.6rem;
  font-weight: 500;
  text-align: left;
  line-height: 2;
}
@media screen and (max-width: 600px) {
  .l-access-access-list__item p {
    font-size: 1.4rem;
  }
}
.l-access-access-list__item p:first-of-type {
  margin-top: 0;
}
.l-access-access-info {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 3vh 6vw;
  padding-top: calc(40 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .l-access-access-info {
    padding-top: calc(40 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-access-access-info {
    padding-top: calc(80 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-access-access-info {
    padding-top: calc(160 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-access-access-info {
    padding-top: calc(160 / 1920 * 100vw);
  }
}
@media screen and (max-width: 960px) {
  .l-access-access-info {
    flex-wrap: wrap;
  }
}
.l-access-access-info__txt {
  width: 37.25%;
}
@media screen and (max-width: 960px) {
  .l-access-access-info__txt {
    width: 100%;
  }
}
.l-access-access-info__txt h3 {
  color: #004587;
  font-size: 1.041vw;
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (max-width: 1440px) {
  .l-access-access-info__txt h3 {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .l-access-access-info__txt h3 {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .l-access-access-info__txt h3 {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .l-access-access-info__txt h3 {
    font-size: 4.266vw;
  }
}
.l-access-access-info__txt ul li {
  color: #004587;
  font-size: 1.041vw;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 1440px) {
  .l-access-access-info__txt ul li {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .l-access-access-info__txt ul li {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .l-access-access-info__txt ul li {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .l-access-access-info__txt ul li {
    font-size: 4.266vw;
  }
}
.l-access-access-info__txt p {
  margin-top: calc(24 / 375 * 100vw);
  color: #004587;
  font-size: 1.041vw;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (min-width: 600px) {
  .l-access-access-info__txt p {
    margin-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-access-access-info__txt p {
    margin-top: calc(24 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-access-access-info__txt p {
    margin-top: calc(30 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-access-access-info__txt p {
    margin-top: calc(30 / 1920 * 100vw);
  }
}
@media screen and (max-width: 1440px) {
  .l-access-access-info__txt p {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .l-access-access-info__txt p {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .l-access-access-info__txt p {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .l-access-access-info__txt p {
    font-size: 4.266vw;
  }
}
.l-access-access-info__map {
  width: 62.25%;
}
@media screen and (max-width: 960px) {
  .l-access-access-info__map {
    width: 100%;
  }
}
.l-access-access-info__map img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.l-access-access-info__map figcaption {
  color: #004587;
  font-size: 1.6rem;
  font-weight: 500;
  text-align: left;
}
@media screen and (max-width: 600px) {
  .l-access-access-info__map figcaption {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 960px) {
  .l-access-access-info__map figcaption {
    text-align: right;
  }
}
.l-access-access-info__map-caption {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem 2.4rem;
  width: 100%;
  margin-top: 1rem;
}

/* Partner
--------------------------------------------- */
.l-business-partner {
  position: relative;
}
.l-business-partner__inner {
  width: 63.54%;
  margin: 0 auto;
  margin-top: calc(60 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .l-business-partner__inner {
    margin-top: calc(60 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-business-partner__inner {
    margin-top: calc(100 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-business-partner__inner {
    margin-top: calc(130 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-business-partner__inner {
    margin-top: calc(130 / 1920 * 100vw);
  }
}
@media screen and (max-width: 1440px) {
  .l-business-partner__inner {
    width: 100%;
    max-width: 1220px;
  }
}
.l-business-partner__title h2 {
  color: #FFFFFF;
  font-size: 2.083vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
}
@media screen and (max-width: 1440px) {
  .l-business-partner__title h2 {
    font-size: 2.777vw;
  }
}
@media screen and (max-width: 960px) {
  .l-business-partner__title h2 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 600px) {
  .l-business-partner__title h2 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 480px) {
  .l-business-partner__title h2 {
    font-size: 5.333vw;
  }
}
.l-business-partner__txt {
  margin-top: calc(40 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .l-business-partner__txt {
    margin-top: calc(40 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-business-partner__txt {
    margin-top: calc(55 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-business-partner__txt {
    margin-top: calc(80 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-business-partner__txt {
    margin-top: calc(80 / 1920 * 100vw);
  }
}
.l-business-partner__txt p {
  margin-top: 2.4rem;
  color: #FFFFFF;
  font-size: 1.041vw;
  font-weight: 500;
  line-height: 2.4;
}
@media screen and (max-width: 1440px) {
  .l-business-partner__txt p {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .l-business-partner__txt p {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .l-business-partner__txt p {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .l-business-partner__txt p {
    font-size: 4.266vw;
  }
}
.l-business-partner__txt p:first-of-type {
  margin-top: 0;
}

/* Service
--------------------------------------------- */
.l-business-service {
  position: relative;
}
.l-business-service__inner {
  width: 63.54%;
  margin: 0 auto;
  margin-top: calc(80 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .l-business-service__inner {
    margin-top: calc(80 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-business-service__inner {
    margin-top: calc(130 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-business-service__inner {
    margin-top: calc(220 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-business-service__inner {
    margin-top: calc(220 / 1920 * 100vw);
  }
}
@media screen and (max-width: 1440px) {
  .l-business-service__inner {
    width: 100%;
    max-width: 1220px;
  }
}
.l-business-service__title h2 {
  color: #FFFFFF;
  font-size: 2.083vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
}
@media screen and (max-width: 1440px) {
  .l-business-service__title h2 {
    font-size: 2.777vw;
  }
}
@media screen and (max-width: 960px) {
  .l-business-service__title h2 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 600px) {
  .l-business-service__title h2 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 480px) {
  .l-business-service__title h2 {
    font-size: 5.333vw;
  }
}
.l-business-service__wrap {
  display: -moz-grid;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: 1fr;
  gap: 0;
  width: 100%;
  margin-top: calc(40 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .l-business-service__wrap {
    margin-top: calc(40 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-business-service__wrap {
    margin-top: calc(55 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-business-service__wrap {
    margin-top: calc(80 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-business-service__wrap {
    margin-top: calc(80 / 1920 * 100vw);
  }
}
@media screen and (max-width: 960px) {
  .l-business-service__wrap {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(3, 1fr);
  }
}
.l-business-service__item {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-direction: column;
  width: 100%;
}
@media screen and (max-width: 960px) {
  .l-business-service__item {
    flex-direction: row;
    flex-wrap: nowrap;
    margin-top: 2.4rem;
  }
}
@media screen and (max-width: 960px) {
  .l-business-service__item:nth-of-type(2n) {
    flex-direction: row-reverse;
  }
}
@media screen and (max-width: 960px) {
  .l-business-service__item:nth-of-type(2n) .l-business-service__txt {
    margin-right: -5%;
  }
}
.l-business-service__item.aos-animate .l-business-service__thumb img {
  animation: zoom_down 2s ease-out 0s normal both;
}
.l-business-service__thumb {
  position: relative;
  overflow: hidden;
  width: 100%;
  border-radius: 50%;
}
@media screen and (max-width: 960px) {
  .l-business-service__thumb {
    width: 50%;
  }
}
.l-business-service__thumb.aos-animate img {
  animation: zoom_down 2s ease-out 0s normal both;
}
.l-business-service__thumb img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.l-business-service__txt {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 2rem 0;
  position: relative;
  overflow: hidden;
  width: 100%;
  margin-top: -2rem;
  padding: 0 15%;
  border-radius: 50%;
  background-color: #FFFFFF;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 960px) {
  .l-business-service__txt {
    gap: 1rem 0;
    width: 60%;
    margin-left: -5%;
    padding: 0 2rem;
  }
}
.l-business-service__txt h3 {
  color: #004587;
  font-size: 1.145vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
}
@media screen and (max-width: 1440px) {
  .l-business-service__txt h3 {
    font-size: 1.527vw;
  }
}
@media screen and (max-width: 960px) {
  .l-business-service__txt h3 {
    font-size: 2.291vw;
  }
}
@media screen and (max-width: 600px) {
  .l-business-service__txt h3 {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 480px) {
  .l-business-service__txt h3 {
    font-size: 4vw;
  }
}
.l-business-service__txt p {
  color: #004587;
  font-size: 0.9375vw;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 1440px) {
  .l-business-service__txt p {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 960px) {
  .l-business-service__txt p {
    font-size: 1.875vw;
  }
}
@media screen and (max-width: 600px) {
  .l-business-service__txt p {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 480px) {
  .l-business-service__txt p {
    font-size: 4vw;
  }
}
@media screen and (max-width: 600px) {
  .l-business-service__txt p {
    font-size: 1.4rem;
    line-height: 1.6;
  }
}

/* Merit
--------------------------------------------- */
.l-business-merit {
  position: relative;
}
.l-business-merit__inner {
  width: 63.54%;
  margin: 0 auto;
  margin-top: calc(80 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .l-business-merit__inner {
    margin-top: calc(80 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-business-merit__inner {
    margin-top: calc(130 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-business-merit__inner {
    margin-top: calc(220 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-business-merit__inner {
    margin-top: calc(220 / 1920 * 100vw);
  }
}
@media screen and (max-width: 1440px) {
  .l-business-merit__inner {
    width: 100%;
    max-width: 1220px;
  }
}
.l-business-merit__wrap {
  width: 100%;
  padding-top: calc(80 / 375 * 100vw);
  padding-right: 3rem;
  padding-bottom: calc(80 / 375 * 100vw);
  padding-left: 3rem;
  background-color: #FFFFFF;
}
@media screen and (min-width: 600px) {
  .l-business-merit__wrap {
    padding-top: calc(80 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-business-merit__wrap {
    padding-top: calc(80 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-business-merit__wrap {
    padding-top: calc(55 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-business-merit__wrap {
    padding-top: calc(55 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .l-business-merit__wrap {
    padding-bottom: calc(80 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-business-merit__wrap {
    padding-bottom: calc(80 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-business-merit__wrap {
    padding-bottom: calc(55 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-business-merit__wrap {
    padding-bottom: calc(55 / 1920 * 100vw);
  }
}
.l-business-merit__title h2 {
  color: #004587;
  font-size: 2.083vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
}
@media screen and (max-width: 1440px) {
  .l-business-merit__title h2 {
    font-size: 2.777vw;
  }
}
@media screen and (max-width: 960px) {
  .l-business-merit__title h2 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 600px) {
  .l-business-merit__title h2 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 480px) {
  .l-business-merit__title h2 {
    font-size: 5.333vw;
  }
}
.l-business-merit__title p {
  position: relative;
  color: #004587;
  font-size: 2.083vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
}
@media screen and (max-width: 1440px) {
  .l-business-merit__title p {
    font-size: 2.777vw;
  }
}
@media screen and (max-width: 960px) {
  .l-business-merit__title p {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 600px) {
  .l-business-merit__title p {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 480px) {
  .l-business-merit__title p {
    font-size: 5.333vw;
  }
}
.l-business-merit__title p::before {
  content: "";
  display: inline-block;
  position: relative;
  top: 3px;
  width: 30px;
  height: 100%;
  margin-right: 1rem;
  background-image: url("../img/business/icon_arrow_left.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 1/1;
}
.l-business-merit__title p::after {
  content: "";
  display: inline-block;
  position: relative;
  top: 3px;
  width: 30px;
  height: 100%;
  margin-left: 1rem;
  background-image: url("../img/business/icon_arrow_right.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 1/1;
}
.l-business-merit__list {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  margin-top: calc(24 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .l-business-merit__list {
    margin-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-business-merit__list {
    margin-top: calc(30 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-business-merit__list {
    margin-top: calc(40 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-business-merit__list {
    margin-top: calc(40 / 1920 * 100vw);
  }
}
.l-business-merit__list li {
  margin-top: 1.2rem;
  padding-left: 3rem;
  color: #004587;
  font-size: 1.041vw;
  font-weight: 500;
  text-indent: -3rem;
  line-height: 1.8;
  list-style: none;
}
@media screen and (max-width: 1440px) {
  .l-business-merit__list li {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .l-business-merit__list li {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .l-business-merit__list li {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .l-business-merit__list li {
    font-size: 4.266vw;
  }
}
.l-business-merit__list li:first-of-type {
  margin-top: 0;
}
.l-business-merit__list li::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-right: 0.8rem;
  background-image: url("../img/business/icon_check.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: -4px;
}

/* Example
--------------------------------------------- */
.l-business-example {
  position: relative;
  width: 100%;
  margin-top: calc(80 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .l-business-example {
    margin-top: calc(80 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-business-example {
    margin-top: calc(130 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-business-example {
    margin-top: calc(220 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-business-example {
    margin-top: calc(220 / 1920 * 100vw);
  }
}
.l-business-example__title h2 {
  color: #FFFFFF;
  font-size: 2.083vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
}
@media screen and (max-width: 1440px) {
  .l-business-example__title h2 {
    font-size: 2.777vw;
  }
}
@media screen and (max-width: 960px) {
  .l-business-example__title h2 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 600px) {
  .l-business-example__title h2 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 480px) {
  .l-business-example__title h2 {
    font-size: 5.333vw;
  }
}
.l-business-example__item {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;
  gap: 1.5rem 6rem;
  width: 100%;
  margin-top: calc(55 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .l-business-example__item {
    margin-top: calc(55 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-business-example__item {
    margin-top: calc(80 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-business-example__item {
    margin-top: calc(130 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-business-example__item {
    margin-top: calc(130 / 1920 * 100vw);
  }
}
@media screen and (max-width: 960px) {
  .l-business-example__item {
    flex-wrap: wrap;
  }
}
.l-business-example__item:nth-of-type(odd) {
  flex-direction: row-reverse;
}
.l-business-example__item:nth-of-type(odd) .l-business-example__thumb {
  border-radius: 300px 0 0 300px;
}
.l-business-example__thumb {
  position: relative;
  overflow: hidden;
  width: 59.3%;
  border-radius: 0 300px 300px 0;
}
@media screen and (max-width: 960px) {
  .l-business-example__thumb {
    width: 100%;
  }
}
.l-business-example__thumb.aos-animate img {
  animation: zoom_down 2s ease-out 0s normal both;
}
.l-business-example__thumb img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.l-business-example__txt {
  width: 36.2%;
}
@media screen and (max-width: 960px) {
  .l-business-example__txt {
    width: 100%;
  }
}
.l-business-example__txt h3 {
  color: #FFFFFF;
  font-size: 2.083vw;
  font-weight: 700;
  text-align: left;
  line-height: 1.6;
}
@media screen and (max-width: 1440px) {
  .l-business-example__txt h3 {
    font-size: 2.777vw;
  }
}
@media screen and (max-width: 960px) {
  .l-business-example__txt h3 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 600px) {
  .l-business-example__txt h3 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 480px) {
  .l-business-example__txt h3 {
    font-size: 5.333vw;
  }
}
.l-business-example__txt p {
  margin-top: calc(10 / 375 * 100vw);
  color: #FFFFFF;
  font-size: 1.041vw;
  font-weight: 500;
  line-height: 2.4;
}
@media screen and (min-width: 600px) {
  .l-business-example__txt p {
    margin-top: calc(10 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-business-example__txt p {
    margin-top: calc(24 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-business-example__txt p {
    margin-top: calc(40 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-business-example__txt p {
    margin-top: calc(40 / 1920 * 100vw);
  }
}
@media screen and (max-width: 1440px) {
  .l-business-example__txt p {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .l-business-example__txt p {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .l-business-example__txt p {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .l-business-example__txt p {
    font-size: 4.266vw;
  }
}
.l-business-example__link {
  margin-top: calc(24 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .l-business-example__link {
    margin-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-business-example__link {
    margin-top: calc(32 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-business-example__link {
    margin-top: calc(40 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-business-example__link {
    margin-top: calc(40 / 1920 * 100vw);
  }
}
.l-business-example__link .buttom_arrow {
  color: #FFFFFF;
}
.l-business-example__link .buttom_arrow svg {
  margin: 0;
}

/* Contact
--------------------------------------------- */
.l-business-contact {
  position: relative;
  width: 100%;
  margin-top: calc(80 / 375 * 100vw);
  margin-bottom: calc(80 / 375 * 100vw);
}
@media screen and (min-width: 600px) {
  .l-business-contact {
    margin-top: calc(80 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-business-contact {
    margin-top: calc(130 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-business-contact {
    margin-top: calc(220 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-business-contact {
    margin-top: calc(220 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .l-business-contact {
    margin-bottom: calc(80 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-business-contact {
    margin-bottom: calc(130 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-business-contact {
    margin-bottom: calc(220 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-business-contact {
    margin-bottom: calc(220 / 1920 * 100vw);
  }
}
.l-business-contact__inner {
  width: 63.54%;
  margin: 0 auto;
}
@media screen and (max-width: 1440px) {
  .l-business-contact__inner {
    width: 100%;
    max-width: 1220px;
  }
}
.l-business-contact__title h2 {
  color: #FFFFFF;
  font-size: 2.083vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
}
@media screen and (max-width: 1440px) {
  .l-business-contact__title h2 {
    font-size: 2.777vw;
  }
}
@media screen and (max-width: 960px) {
  .l-business-contact__title h2 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 600px) {
  .l-business-contact__title h2 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 480px) {
  .l-business-contact__title h2 {
    font-size: 5.333vw;
  }
}
.l-business-contact__title p {
  margin-top: calc(16 / 375 * 100vw);
  color: #FFFFFF;
  font-size: 1.041vw;
  font-weight: 500;
  text-align: center;
  line-height: 2.4;
}
@media screen and (min-width: 600px) {
  .l-business-contact__title p {
    margin-top: calc(16 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-business-contact__title p {
    margin-top: calc(24 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-business-contact__title p {
    margin-top: calc(40 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-business-contact__title p {
    margin-top: calc(40 / 1920 * 100vw);
  }
}
@media screen and (max-width: 1440px) {
  .l-business-contact__title p {
    font-size: 1.388vw;
  }
}
@media screen and (max-width: 960px) {
  .l-business-contact__title p {
    font-size: 2.083vw;
  }
}
@media screen and (max-width: 600px) {
  .l-business-contact__title p {
    font-size: 2.666vw;
  }
}
@media screen and (max-width: 480px) {
  .l-business-contact__title p {
    font-size: 4.266vw;
  }
}
@media screen and (max-width: 960px) {
  .l-business-contact__title p {
    text-align: left;
  }
}
.l-business-contact__form {
  width: 100%;
  margin-top: calc(24 / 375 * 100vw);
  padding-top: calc(40 / 375 * 100vw);
  padding-bottom: calc(40 / 375 * 100vw);
  padding-right: 4rem;
  padding-left: 4rem;
  border-radius: 30px;
  background-color: #FFFFFF;
}
@media screen and (min-width: 600px) {
  .l-business-contact__form {
    margin-top: calc(24 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-business-contact__form {
    margin-top: calc(32 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-business-contact__form {
    margin-top: calc(40 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-business-contact__form {
    margin-top: calc(40 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .l-business-contact__form {
    padding-top: calc(40 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-business-contact__form {
    padding-top: calc(64 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-business-contact__form {
    padding-top: calc(100 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-business-contact__form {
    padding-top: calc(100 / 1920 * 100vw);
  }
}
@media screen and (min-width: 600px) {
  .l-business-contact__form {
    padding-bottom: calc(40 / 600 * 100vw);
  }
}
@media screen and (min-width: 960px) {
  .l-business-contact__form {
    padding-bottom: calc(64 / 960 * 100vw);
  }
}
@media screen and (min-width: 1440px) {
  .l-business-contact__form {
    padding-bottom: calc(100 / 1440 * 100vw);
  }
}
@media screen and (min-width: 1920px) {
  .l-business-contact__form {
    padding-bottom: calc(100 / 1920 * 100vw);
  }
}
@media screen and (max-width: 960px) {
  .l-business-contact__form {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

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

.sp-only {
  display: none;
}
@media screen and (max-width: 600px) {
  .sp-only {
    display: block;
  }
}

.xl {
  display: none;
}
@media screen and (max-width: 1440px) {
  .xl {
    display: block;
  }
}

.lg {
  display: none;
}
@media screen and (max-width: 960px) {
  .lg {
    display: block;
  }
}

.md {
  display: none;
}
@media screen and (max-width: 600px) {
  .md {
    display: block;
  }
}

.sm {
  display: none;
}
@media screen and (max-width: 480px) {
  .sm {
    display: block;
  }
}

.icon-line {
  display: inline-block;
  width: 37px;
  aspect-ratio: 1;
  margin: 0;
  padding: 0;
  background: url("./../img/common/icon_line.svg") no-repeat 50% 50%/contain;
}/*# sourceMappingURL=style.css.map */