@charset "UTF-8";
html {
  scroll-behavior: smooth;
  line-height: 1;
}

body {
  color: #4d4d4d;
  font-family: fot-tsukuardgothic-std, sans-serif;
  font-size: min(18px, calc(18 / 1440 * 100vw));
  line-height: min(31.5px, calc(31.5 / 1440 * 100vw));
  font-feature-settings: "palt"; /* カーニング：メトリクス */
}

main {
  position: relative;
  z-index: 0;
}

img {
  display: block;
  width: 100%;
}

a {
  opacity: 1;
  transition: all 0.3s;
}

a:hover {
  opacity: 0.7;
}

.pc {
  display: block;
}

.sp {
  display: none !important;
}

@media (max-width: 768px) {
  body {
    font-size: min(16px, calc(16 / 375 * 100vw));
    line-height: min(28px, calc(28 / 375 * 100vw));
  }
  body.is-menu {
    overflow-y: hidden !important;
    padding-top: min(80px, calc(80 / 375 * 100vw));
  }
  a:hover {
    opacity: 1;
  }
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
}
/* PCではメニュー常に表示 */
@media (min-width: 769px) {
  .l-header-nav-sp {
    display: block !important;
  }
  html, body {
    overflow: initial !important;
  }
}
/* SPではメニューは非表示、is-activeで表示 */
@media (max-width: 768px) {
  .l-header-nav-sp {
    display: none;
  }
  body.is-menu .l-header-nav-sp {
    display: block;
  }
}
/* * * Layout * * */
/* * レイアウトBOX * */
.l-container {
  width: 90vw;
  margin: 0 auto;
}

.l-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 50px;
  position: relative;
  z-index: 1;
}

.l-inner-sub--first_visit {
  margin-left: min(35px, calc(35 / 1440 * 100vw));
}

.l-frame {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
}

.l-blog {
  display: grid;
  grid-template-columns: 68.5% 31.5%;
}

@media (max-width: 768px) {
  .l-container {
    max-width: none;
    width: 100%;
  }
  .l-inner {
    width: 90vw;
    margin: 0 auto;
    padding: 0;
  }
  .l-inner-sub {
    width: 80vw;
    margin: 0 auto;
    padding: 0;
  }
  .l-frame {
    display: block;
  }
  .l-blog {
    grid-template-columns: 100%;
  }
}
.l-header {
  background-color: #fff;
  width: 100vw;
  position: fixed;
  left: 0;
  z-index: 999;
}

.l-header-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: min(96px, calc(96 / 1440 * 100vw));
  padding-left: min(50px, calc(50 / 1440 * 100vw));
}

.l-header-sp-wrapper {
  display: flex;
}

.l-header-logo {
  font-weight: bold;
  cursor: pointer;
}
.l-header-logo__ja {
  font-size: min(30px, calc(30 / 1440 * 100vw));
}
.l-header-logo__en {
  font-size: min(16px, calc(16 / 1440 * 100vw));
  line-height: 1;
}

/* * メインメニュー * */
.l-header-nav {
  height: 100%;
}

.l-header-nav-list {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  height: 100%;
}

.l-header-nav-item {
  height: 100%;
  transition: background-color 0.2s ease;
}
.l-header-nav-item--reserve {
  width: min(160px, calc(160 / 1440 * 100vw));
  margin-right: initial;
  transform-origin: top right;
  transition: transform 0.3s ease;
}
.l-header-nav-item__link {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: min(16px, calc(16 / 1440 * 100vw));
  text-align: center;
  height: 100%;
  padding: 0 min(28.5px, calc(28.5 / 1440 * 100vw));
  line-height: 1.25em;
}
.l-header-nav-item:hover {
  color: #fff;
  background-color: #03aa92;
}

/* サブメニュー */
.l-header-sub-nav-list {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  background-color: #03aa92;
  width: 100%;
  padding: min(40px, calc(40 / 1440 * 100vw)) min(70px, calc(70 / 1440 * 100vw));
  position: absolute;
  left: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: min(0px, calc(0 / 1440 * 100vw));
  gap: min(40px, calc(40 / 1440 * 100vw)) min(35px, calc(35 / 1440 * 100vw));
  z-index: 999;
}

.l-header-sub-nav-item {
  text-align: center;
}
.l-header-sub-nav-item__link {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  height: min(60px, calc(60 / 1440 * 100vw));
}

/* サブメニュー - ホバー時に表示 */
.l-header-nav-item:hover .l-header-sub-nav-list {
  opacity: 1;
  visibility: visible;
  color: #4d4d4d;
}

/* 予約ボタン */
.l-header-nav-item--reserve {
  background-image: url("./img/common/common_pattern_stripe-white30.png"), linear-gradient(90deg, #00a6ff 0%, #80db80 50%, #00a6ff 100%);
  background-repeat: repeat, no-repeat;
  background-size: auto, 200%;
  background-position: center, 0% 100%;
  transition: all 0.3s;
}
.l-header-nav-item--reserve:hover {
  background-position: center, 100%;
  transform: scale(1.05);
}
.l-header-nav-item--reserve .l-header-nav-item--reserve {
  display: flex;
  justify-content: center;
  align-items: center;
}
.l-header-nav-item--reserve .l-header-nav-item__link-icon {
  width: min(20px, calc(20 / 1440 * 100vw));
  margin-right: min(10px, calc(10 / 1440 * 100vw));
}
.l-header-nav-item--reserve .l-header-nav-item__link-text {
  font-size: min(20px, calc(20 / 1440 * 100vw));
  font-weight: bold;
}
.l-header-nav-item--reserve .l-header-nav-item__link:hover {
  color: #4d4d4d;
  background-color: initial;
  opacity: initial;
}

@media (max-width: 768px) {
  .l-header {
    position: relative;
    height: min(80px, calc(80 / 375 * 100vw));
  }
  .l-header.is-menu {
    width: 100vw;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 999;
  }
  .l-header.is-menu .l-header-logo {
    animation: fadeIn 0.5s ease forwards;
  }
  @keyframes fadeIn {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  .l-header-container {
    display: block;
    height: 100%;
    padding-left: min(20px, calc(20 / 375 * 100vw));
  }
  .l-header-sp-wrapper {
    height: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .l-header-nav-list {
    display: block;
    height: 100%;
  }
  /* * SP時用のエリア宣言 * */
  /* * SP時用のエリア宣言 /E * */
  /* * サブメニュー * */
  /* * サブメニュー /E * */
}
@media screen and (max-width: 768px) and (max-height: 700px) {
  .l-header-nav-list {
    height: 110dvh;
  }
}
@media (max-width: 768px) {
  .l-header-logo__ja {
    font-size: min(21px, calc(21 / 375 * 100vw));
  }
  .l-header-logo__en {
    font-size: min(11px, calc(11 / 375 * 100vw));
    line-height: 1;
  }
  .l-header-sp-menu-btn {
    background-image: url("./img/common/common_pattern_stripe-white30.png"), linear-gradient(90deg, #00a6ff, #80db80);
    background-repeat: repeat, no-repeat;
    background-size: auto, cover;
    background-position: center;
    height: min(80px, calc(80 / 375 * 100vw));
    aspect-ratio: 1/1;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 1000;
    opacity: 1 !important;
  }
  .l-header-sp-menu-btn__line--1, .l-header-sp-menu-btn__line--2 {
    width: min(30px, calc(30 / 375 * 100vw));
    height: min(2px, calc(2 / 375 * 100vw));
    background-color: #fff;
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: all 0.3s;
  }
  .l-header-sp-menu-btn__line--1 {
    top: 40%;
  }
  .l-header-sp-menu-btn__line--2 {
    top: 60%;
  }
  .l-header-sp-menu-btn__line--1.is-active {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
  }
  .l-header-sp-menu-btn__line--2.is-active {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(135deg);
  }
  .l-header-nav-sp {
    display: none;
    padding-top: min(20px, calc(20 / 375 * 100vw));
    width: 100vw;
    height: 100dvh;
    overflow-y: auto;
    background-color: #fff;
    position: absolute;
    left: 0;
    top: 100%;
    z-index: 999;
  }
  .l-header-nav-item {
    height: auto;
  }
  .l-header-nav-item:hover {
    color: #4d4d4d;
    background-color: #fff;
  }
  .l-header-nav-item--is-sub.is-active {
    background-color: #03aa92;
  }
  .l-header-nav-item__link {
    display: inline-block;
    font-size: min(16px, calc(16 / 375 * 100vw));
    text-align: left;
    margin: min(19px, calc(19 / 375 * 100vw)) min(30px, calc(30 / 375 * 100vw));
  }
  .l-header-nav-item__link--is-sub {
    position: relative;
  }
  .l-header-nav-item__link--is-sub::before, .l-header-nav-item__link--is-sub::after {
    content: "";
    display: block;
    background-color: #03aa92;
    height: min(1px, calc(1 / 375 * 100vw));
    width: min(15px, calc(15 / 375 * 100vw));
    position: absolute;
    top: 50%;
    left: 120%;
    transform: translateY(-50%);
  }
  .l-header-nav-item__link--is-sub::before {
    transform: rotate(90deg);
    transition: all 0.3s;
  }
  .l-header-nav-item__link--is-sub.is-active {
    display: inline-block;
    color: #fff;
    background-color: #03aa92;
  }
  .l-header-nav-item__link--is-sub.is-active::before, .l-header-nav-item__link--is-sub.is-active::after {
    background-color: #fff;
  }
  .l-header-nav-item__link--is-sub.is-active::before {
    transform: rotate(0deg);
  }
  .l-header-sub-nav-list {
    opacity: 1;
    visibility: initial;
    display: none;
    background-color: #03aa92;
    padding: initial;
    padding-bottom: min(24px, calc(24 / 1440 * 100vw));
    position: relative;
  }
  .l-header-nav-item {
    background-color: #fff;
  }
  .l-header-nav-item.is-active {
    background-color: #03aa92;
  }
  .l-header-sub-nav-item {
    text-align: left;
    margin: min(20px, calc(20 / 375 * 100vw)) min(60px, calc(60 / 375 * 100vw));
  }
  .l-header-sub-nav-item:first-of-type {
    margin-top: 0;
  }
  .l-header-sub-nav-item__link {
    color: #fff;
    background-color: #03aa92;
    display: block;
  }
}
.l-footer {
  padding: min(60px, calc(60 / 1440 * 100vw)) min(60px, calc(60 / 1440 * 100vw)) min(15px, calc(15 / 1440 * 100vw)) min(60px, calc(60 / 1440 * 100vw));
  background-image: linear-gradient(90deg, #67c1bf 50%, #03aa92);
  position: relative;
}
.l-footer::after {
  content: "";
  display: block;
  height: min(10px, calc(10 / 1440 * 100vw));
  width: 100%;
  background-image: url("./img/common/common_pattern_stripe-white75.png");
  background-repeat: repeat;
  background-size: contain;
  background-position: top;
  position: absolute;
  left: 0;
  top: 0;
}

.l-footer-contents {
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-items: flex-start;
  margin-bottom: min(40px, calc(40 / 1440 * 100vw));
}

.l-footer-info {
  color: #fff;
}
.l-footer-info-logo {
  font-weight: bold;
}
.l-footer-info-logo__ja {
  font-size: min(30px, calc(30 / 1440 * 100vw));
}
.l-footer-info-logo__en {
  font-size: min(16px, calc(16 / 1440 * 100vw));
  margin-bottom: min(14px, calc(14 / 1440 * 100vw));
}
.l-footer-info__address {
  letter-spacing: -0.085em;
}

.l-footer-contact {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  align-items: flex-start;
}

.l-footer-copy__text {
  display: block;
  color: #fff;
  font-size: min(11px, calc(11 / 1440 * 100vw));
  text-align: center;
  letter-spacing: 0.04em;
}

@media (max-width: 768px) {
  .l-footer {
    padding: min(64px, calc(64 / 375 * 100vw)) min(18px, calc(18 / 375 * 100vw)) min(85px, calc(85 / 375 * 100vw)) min(18px, calc(18 / 375 * 100vw));
  }
  .l-footer::after {
    height: min(5px, calc(5 / 375 * 100vw));
  }
  .l-footer-contents {
    margin-bottom: min(22px, calc(22 / 375 * 100vw));
  }
  .l-footer-info-logo__ja {
    font-size: min(24px, calc(24 / 375 * 100vw));
    margin-bottom: min(5px, calc(5 / 375 * 100vw));
  }
  .l-footer-info-logo__en {
    font-size: min(12px, calc(12 / 375 * 100vw));
    margin-bottom: min(30px, calc(30 / 375 * 100vw));
    line-height: 1;
  }
  .l-footer-info__address {
    font-size: min(14px, calc(14 / 375 * 100vw));
    line-height: 1.75em;
    letter-spacing: 0;
  }
  .l-footer-contact {
    width: 97.87vw;
    display: block;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: min(2px, calc(2 / 375 * 100vw));
    position: fixed;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    z-index: 1000;
  }
  .l-footer-copy__text {
    font-size: min(10px, calc(10 / 375 * 100vw));
    text-align: left;
  }
}
.l-table-basic tr th {
  color: #03aa92;
  width: min(109px, calc(109 / 1440 * 100vw));
}

@media (max-width: 768px) {
  .l-table-basic {
    display: block;
  }
  .l-table-basic tr {
    display: block;
    margin-bottom: min(21px, calc(21 / 375 * 100vw));
  }
  .l-table-basic tr th {
    margin-bottom: max(-4px, calc(-4 / 375 * 100vw));
  }
  .l-table-basic tr th, .l-table-basic tr td {
    width: 100%;
    display: block;
    line-height: min(24px, calc(24 / 375 * 100vw));
  }
}
/* * レイアウトBOX /E * */
/* * * Layout /E * * */
/* * * Component * * */
.c-fv {
  position: relative;
  padding-top: min(96px, calc(96 / 1440 * 100vw));
}
.c-fv__photo {
  width: 90vw;
  margin-left: auto;
}
.c-fv__ashirai {
  width: 44.9vw;
  position: fixed;
  left: 0;
  top: 0;
}
.c-fv-title {
  position: absolute;
  left: 0;
  top: 23.4vw;
  z-index: 2;
}
.c-fv-title-text {
  letter-spacing: 0.075em;
}
.c-fv-title--top {
  top: 48% !important;
}
.c-fv-title-text-wrapper {
  background-color: #fff;
  padding: min(25px, calc(25 / 1440 * 100vw)) min(52px, calc(52 / 1440 * 100vw));
  box-shadow: min(1px, calc(1 / 1440 * 100vw)) min(1px, calc(1 / 1440 * 100vw)) min(4px, calc(4 / 1440 * 100vw)) rgba(0, 0, 0, 0.2);
  -webkit-clip-path: inset(0 100% 0 0);
  clip-path: inset(0 100% 0 0);
  transition: clip-path 1s ease;
}
.c-fv-title-text-wrapper.is-active {
  -webkit-clip-path: inset(max(-10px, calc(-10 / 1440 * 100vw)));
  clip-path: inset(max(-10px, calc(-10 / 1440 * 100vw)));
}
.c-fv-title-text-wrapper span {
  opacity: 0;
  display: inline-block;
  transition-delay: 1.2s;
}
.c-fv-title-text-wrapper span.is-active {
  opacity: 1;
}
.c-fv-title-text {
  font-size: min(30px, calc(30 / 1440 * 100vw));
  font-weight: bold;
}

@media (max-width: 768px) {
  .c-fv {
    padding: initial;
  }
  .c-fv__photo {
    width: 100vw;
    margin: initial;
  }
  .c-fv__ashirai {
    width: 52vw;
  }
  .c-fv-title {
    top: initial;
    transform: translateY(-50%);
  }
  .c-fv-title--top {
    top: 29% !important;
    transform: initial;
  }
  .c-fv-title-text {
    background-color: initial;
    box-shadow: initial;
    font-size: min(24px, calc(24 / 375 * 100vw));
    line-height: 1;
    padding: initial;
    display: block;
  }
  .c-fv-title-text-wrapper {
    background-color: #fff;
    padding: min(16px, calc(16 / 375 * 100vw)) min(20px, calc(20 / 375 * 100vw));
    box-shadow: min(1px, calc(1 / 375 * 100vw)) min(1px, calc(1 / 375 * 100vw)) min(4px, calc(4 / 375 * 100vw)) rgba(0, 0, 0, 0.2);
    display: inline-block;
    position: relative;
  }
  .c-fv-title-text-wrapper.is-active {
    -webkit-clip-path: inset(max(-10px, calc(-10 / 375 * 100vw)));
    clip-path: inset(max(-10px, calc(-10 / 375 * 100vw)));
  }
  .c-fv-title-text-wrapper:not(:first-of-type) {
    margin-top: min(10px, calc(10 / 375 * 100vw));
  }
  .c-fv-title-text-wrapper::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    box-shadow: min(1px, calc(1 / 375 * 100vw)) min(1px, calc(1 / 375 * 100vw)) min(4px, calc(4 / 375 * 100vw)) rgba(0, 0, 0, 0.2);
  }
}
/* * * グリーンフレーム * * */
.c-frame {
  background-image: linear-gradient(125deg, #67c1bf 50%, #03aa92);
  width: 43.06vw;
  color: #fff;
  position: absolute;
  top: min(40px, calc(40 / 1440 * 100vw));
}
.c-frame--rev {
  right: 0;
}
.c-frame-wrapper {
  width: 100%;
  position: relative;
  padding: min(75px, calc(75 / 1440 * 100vw)) min(67px, calc(67 / 1440 * 100vw));
  box-shadow: min(1px, calc(1 / 1440 * 100vw)) min(1px, calc(1 / 1440 * 100vw)) min(4px, calc(4 / 1440 * 100vw)) rgba(0, 0, 0, 0.2);
}
.c-frame-wrapper::after {
  content: "";
  display: block;
  height: min(10px, calc(10 / 1440 * 100vw));
  width: 100%;
  background-image: url("./img/common/common_pattern_stripe-white75.png");
  background-repeat: repeat;
  background-size: contain;
  background-position: top;
  position: absolute;
  left: 0;
  top: 0;
}
.c-frame__title {
  font-size: min(30px, calc(30 / 1440 * 100vw));
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-weight: bold;
  margin-bottom: min(20px, calc(20 / 1440 * 100vw));
}
.c-frame__text {
  line-height: 1.75;
}
.c-frame__text--large {
  font-size: min(24px, calc(24 / 1440 * 100vw));
}
.c-frame__link {
  font-size: min(16px, calc(16 / 1440 * 100vw));
  background-color: #fff;
  color: #4d4d4d;
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(294px, calc(294 / 1440 * 100vw));
  height: min(60px, calc(60 / 1440 * 100vw));
  margin: min(30px, calc(30 / 1440 * 100vw)) min(5px, calc(5 / 1440 * 100vw)) min(5px, calc(5 / 1440 * 100vw)) min(5px, calc(5 / 1440 * 100vw));
}
.c-frame--color-white {
  background-image: linear-gradient(125deg, #fff 50%, #fff);
  color: #4d4d4d;
}
.c-frame--color-white .c-frame-wrapper::after {
  background-image: url("./img/common/common_pattern_stripe-emerald100.png");
}

@media (max-width: 768px) {
  .c-frame {
    width: 90vw;
    position: relative;
    top: initial;
    margin-top: max(-20px, calc(-20 / 375 * 100vw));
    margin-left: auto;
  }
  .c-frame--rev {
    margin-left: initial;
  }
  .c-frame-wrapper {
    padding: min(26px, calc(26 / 375 * 100vw));
    box-shadow: min(1px, calc(1 / 375 * 100vw)) min(1px, calc(1 / 375 * 100vw)) min(4px, calc(4 / 375 * 100vw)) rgba(0, 0, 0, 0.2);
  }
  .c-frame-wrapper::after {
    height: min(5px, calc(5 / 375 * 100vw));
  }
  .c-frame__title {
    font-size: min(24px, calc(24 / 375 * 100vw));
    margin-bottom: min(25px, calc(25 / 375 * 100vw));
  }
  .c-frame__text--large {
    font-size: min(20px, calc(20 / 375 * 100vw));
  }
  .c-frame__link {
    font-size: min(14px, calc(14 / 375 * 100vw));
    width: 100%;
    height: min(50px, calc(50 / 375 * 100vw));
    margin: min(30px, calc(30 / 375 * 100vw)) min(5px, calc(5 / 375 * 100vw)) min(5px, calc(5 / 375 * 100vw)) min(5px, calc(5 / 375 * 100vw));
  }
}
/* * * グリーンフレーム /E * * */
/* * * フレーム写真 * * */
.c-frame-photo {
  width: 51.94vw;
  margin-left: auto;
}
.c-frame-photo--rev {
  margin-left: initial;
}

@media (max-width: 768px) {
  .c-frame-photo {
    width: 90vw;
    margin-left: initial;
  }
  .c-frame-photo--rev {
    margin-left: auto;
  }
}
/* * * フレーム写真 /E * * */
.c-sec-title {
  font-size: min(32px, calc(32 / 1440 * 100vw));
  font-weight: bold;
  letter-spacing: 0.05em;
  padding-left: min(23px, calc(23 / 1440 * 100vw));
  padding-top: min(100px, calc(100 / 1440 * 100vw));
  position: relative;
}
.c-sec-title::before {
  content: "";
  display: block;
  height: min(188px, calc(188 / 1440 * 100vw));
  width: min(4px, calc(4 / 1440 * 100vw));
  background-color: #67c1bf;
  position: absolute;
  left: 0;
  bottom: max(-18px, calc(-18 / 1440 * 100vw));
}

@media (max-width: 768px) {
  .c-sec-title {
    font-size: min(24px, calc(24 / 375 * 100vw));
    padding-left: min(25px, calc(25 / 375 * 100vw));
    padding-top: min(50px, calc(50 / 375 * 100vw));
  }
  .c-sec-title::before {
    height: min(137.9px, calc(137.9 / 375 * 100vw));
    width: min(4px, calc(4 / 375 * 100vw));
    bottom: max(-20px, calc(-20 / 375 * 100vw));
  }
}
/* * * ベースボタンデザイン * * */
.c-base-btn {
  background-image: url("./img/common/common_pattern_stripe-white30.png"), linear-gradient(90deg, #00a6ff 0%, #80db80 50%, #00a6ff 100%);
  background-repeat: repeat, no-repeat;
  background-size: auto, 200%;
  background-position: center, 0% 100%;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(415px, calc(415 / 1440 * 100vw));
  height: min(60px, calc(60 / 1440 * 100vw));
  border-radius: 100px;
  margin: 0 auto;
  transition: all 0.3s;
}
.c-base-btn:hover {
  background-position: center, 100%;
  transform: scale(1.05);
  opacity: 1;
}
.c-base-btn__icon {
  width: min(28px, 1.9444444444vw);
  margin-right: min(5px, 0.3472222222vw);
  aspect-ratio: 1/1;
}

/* * * ベースボタンデザイン /E * * */
.c-footer-btn {
  border: min(1px, calc(1 / 1440 * 100vw)) solid #fff;
  width: min(250px, calc(250 / 1440 * 100vw));
  margin-right: min(15px, calc(15 / 1440 * 100vw));
}
.c-footer-btn__icon {
  width: min(18px, calc(18 / 1440 * 100vw));
  margin-right: min(5px, calc(5 / 1440 * 100vw));
}

@media (max-width: 768px) {
  /* * * ベースボタンデザイン * * */
  .c-base-btn {
    width: min(297.5px, calc(297.5 / 375 * 100vw));
    height: min(50px, calc(50 / 375 * 100vw));
  }
  .c-base-btn__icon {
    width: min(28px, 7.4666666667vw);
    position: absolute;
    left: 10%;
    top: 50%;
    transform: translateY(-50%);
  }
  /* * * ベースボタンデザイン /E * * */
  .c-footer-btn {
    border: min(1px, calc(1 / 375 * 100vw)) solid #fff;
    border-radius: min(10px, calc(10 / 375 * 100vw)) min(10px, calc(10 / 375 * 100vw)) 0 0;
    width: 100%;
    height: min(61px, calc(61 / 375 * 100vw));
    margin-right: initial;
  }
  .c-footer-btn__icon {
    width: min(16px, calc(16 / 375 * 100vw));
    margin-right: min(5px, calc(5 / 375 * 100vw));
  }
}
.c-triangle {
  width: min(60px, calc(60 / 1440 * 100vw));
  height: min(30px, calc(30 / 1440 * 100vw));
  background-color: #b3e0df;
  margin: min(40px, calc(40 / 1440 * 100vw)) auto;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}

@media (max-width: 768px) {
  .c-triangle {
    width: min(30px, calc(30 / 375 * 100vw));
    height: min(15px, calc(15 / 375 * 100vw));
    margin: min(20px, calc(20 / 375 * 100vw)) auto;
  }
}
.c-list li {
  position: relative;
  padding-left: min(25px, calc(25 / 1440 * 100vw));
  letter-spacing: 0.1em;
}
.c-list li::before {
  display: block;
  content: "●";
  font-size: min(18px, calc(18 / 1440 * 100vw));
  color: #03aa92;
  position: absolute;
  left: 0;
  top: 0;
}
.c-list--light-green li::before {
  color: #b3e0df;
}
.c-list--num {
  counter-reset: list-counter;
}
.c-list--num li:nth-child(1)::before {
  content: "①";
}
.c-list--num li:nth-child(2)::before {
  content: "②";
}
.c-list--num li:nth-child(3)::before {
  content: "③";
}
.c-list--num li:nth-child(4)::before {
  content: "④";
}
.c-list--num li:nth-child(5)::before {
  content: "⑤";
}
.c-list--num li:nth-child(6)::before {
  content: "⑥";
}
.c-list--num li:nth-child(7)::before {
  content: "⑦";
}
.c-list--num li:nth-child(8)::before {
  content: "⑧";
}
.c-list--num li:nth-child(9)::before {
  content: "⑨";
}
.c-list--num li:nth-child(10)::before {
  content: "⑩";
}

@media (max-width: 768px) {
  .c-list li {
    padding-left: min(20px, calc(20 / 375 * 100vw));
    letter-spacing: 0;
  }
  .c-list li::before {
    font-size: min(16px, calc(16 / 375 * 100vw));
  }
}
/* * 白背景 * */
.c-white-box {
  background-color: #fff;
  border-radius: min(20px, calc(20 / 1440 * 100vw));
  padding: min(60px, calc(60 / 1440 * 100vw)) min(50px, calc(50 / 1440 * 100vw));
  margin-top: min(80px, calc(80 / 1440 * 100vw));
  margin-left: min(30px, calc(30 / 1440 * 100vw));
}
.c-white-box__title {
  font-size: min(24px, calc(24 / 1440 * 100vw));
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.1em;
  color: #03aa92;
  margin-bottom: min(25px, calc(25 / 1440 * 100vw));
}

@media (max-width: 768px) {
  .c-white-box {
    border-radius: min(20px, calc(20 / 375 * 100vw));
    padding: min(30px, calc(30 / 375 * 100vw));
    margin-top: min(50px, calc(50 / 375 * 100vw));
    margin-left: min(0px, calc(0 / 1440 * 100vw));
  }
  .c-white-box__title {
    font-size: min(20px, calc(20 / 375 * 100vw));
    margin-bottom: min(28px, calc(28 / 375 * 100vw));
  }
}
/* * 白背景 /E * */
.c-blog-contents {
  padding: min(75px, calc(75 / 1440 * 100vw)) 0 min(20px, calc(20 / 1440 * 100vw)) min(30px, calc(30 / 1440 * 100vw));
}
.c-blog-contents-wrapper {
  margin-bottom: min(140px, calc(140 / 1440 * 100vw));
}

.c-blog-sidebar {
  margin-top: max(-12px, calc(-12 / 1440 * 100vw));
  margin-left: min(65px, calc(65 / 1440 * 100vw));
}
.c-blog-sidebar-wrapper:not(:last-of-type) {
  margin-bottom: min(153px, calc(153 / 1440 * 100vw));
}
.c-blog-sidebar__title {
  font-size: min(20px, calc(20 / 1440 * 100vw));
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: min(28px, calc(28 / 1440 * 100vw));
  margin-bottom: min(20px, calc(20 / 1440 * 100vw));
}
.c-blog-sidebar-item {
  font-size: min(16px, calc(16 / 1440 * 100vw));
  display: block;
  letter-spacing: 0.1em;
  background-color: #e8f6f5;
  padding: min(12px, calc(12 / 1440 * 100vw)) min(20px, calc(20 / 1440 * 100vw));
}
.c-blog-sidebar-item:not(.c-blog-sidebar-item:last-of-type) {
  margin-bottom: min(4.5px, calc(4.5 / 1440 * 100vw));
}
.c-blog-sidebar-archive-item__year {
  font-size: min(16px, calc(16 / 1440 * 100vw));
  letter-spacing: 0.2em;
  display: block;
  width: 100%;
  background-color: #e8f6f5;
  padding: min(12px, calc(12 / 1440 * 100vw)) min(20px, calc(20 / 1440 * 100vw));
  margin-bottom: min(4.5px, calc(4.5 / 1440 * 100vw));
  position: relative;
}
.c-blog-sidebar-archive-item__year::before, .c-blog-sidebar-archive-item__year::after {
  content: "";
  display: block;
  width: min(14px, calc(14 / 1440 * 100vw));
  height: min(1px, calc(1 / 1440 * 100vw));
  background-color: #4d4d4d;
  position: absolute;
  top: 50%;
  right: 8%;
}
.c-blog-sidebar-archive-item__year::before {
  transform: translateY(-50%);
}
.c-blog-sidebar-archive-item__year::after {
  transform: translateY(-50%) rotate(90deg);
  transition: transform 0.3s ease;
}
.c-blog-sidebar-archive-item__year.is-active::after {
  transform: translateY(-50%) rotate(0deg);
}
.c-blog-sidebar-archive-item-month-list {
  display: none;
}
.c-blog-sidebar-archive-item-month-list li a {
  font-size: min(16px, calc(16 / 1440 * 100vw));
  display: block;
  width: 96%;
  letter-spacing: 0.1em;
  background-color: #e8f6f5;
  padding: min(12px, calc(12 / 1440 * 100vw)) min(20px, calc(20 / 1440 * 100vw));
  margin-bottom: min(4.5px, calc(4.5 / 1440 * 100vw));
  margin-left: auto;
}

.c-blog-pagenation-list {
  display: flex;
  justify-content: flex-end;
  gap: min(1px, calc(1 / 1440 * 100vw));
}
.c-blog-pagenation-list li {
  height: min(55px, calc(55 / 1440 * 100vw));
  width: min(55px, calc(55 / 1440 * 100vw));
}
.c-blog-pagenation-list__link {
  font-size: min(16px, calc(16 / 1440 * 100vw));
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #e8f6f5;
  width: 100%;
  height: 100%;
}

@media (max-width: 768px) {
  .c-blog-contents {
    padding: initial;
    padding-top: min(50px, calc(50 / 375 * 100vw));
  }
  .c-blog-contents-wrapper {
    margin-bottom: min(50px, calc(50 / 375 * 100vw));
  }
  .c-blog-sidebar {
    margin: initial;
  }
  .c-blog-sidebar-wrapper:not(:last-of-type) {
    margin-bottom: min(50px, calc(50 / 375 * 100vw));
  }
  .c-blog-sidebar__title {
    font-size: min(16px, calc(16 / 375 * 100vw));
    letter-spacing: 0;
    line-height: 1.75;
    margin-bottom: min(20px, calc(20 / 375 * 100vw));
  }
  .c-blog-sidebar-item {
    font-size: min(14px, calc(14 / 375 * 100vw));
    letter-spacing: 0;
    line-height: 1.75;
    padding: min(10px, calc(10 / 375 * 100vw)) min(15px, calc(15 / 375 * 100vw));
  }
  .c-blog-sidebar-item:not(.c-blog-sidebar-item:last-of-type) {
    margin-bottom: min(4px, calc(4 / 375 * 100vw));
  }
  .c-blog-sidebar-archive-item__year {
    font-size: min(14px, calc(14 / 375 * 100vw));
    letter-spacing: 0.1em;
    padding: min(10px, calc(10 / 375 * 100vw)) min(15px, calc(15 / 375 * 100vw));
    margin-bottom: min(4px, calc(4 / 375 * 100vw));
  }
  .c-blog-sidebar-archive-item__year::before, .c-blog-sidebar-archive-item__year::after {
    width: min(14px, calc(14 / 375 * 100vw));
    height: min(1px, calc(1 / 375 * 100vw));
  }
  .c-blog-sidebar-archive-item-month-list {
    display: none;
  }
  .c-blog-sidebar-archive-item-month-list li a {
    font-size: min(14px, calc(14 / 375 * 100vw));
    letter-spacing: 0;
    padding: min(10px, calc(10 / 375 * 100vw)) min(15px, calc(15 / 375 * 100vw));
    margin-bottom: min(4px, calc(4 / 375 * 100vw));
  }
  .c-blog-pagenation {
    margin-bottom: min(100px, calc(100 / 375 * 100vw));
  }
  .c-blog-pagenation-list {
    display: flex;
    justify-content: center;
    gap: min(1px, calc(1 / 375 * 100vw));
  }
  .c-blog-pagenation-list li {
    height: min(55px, calc(55 / 375 * 100vw));
    width: min(55px, calc(55 / 375 * 100vw));
  }
  .c-blog-pagenation-list__link {
    font-size: min(14px, calc(14 / 375 * 100vw));
  }
}
/* * * Component /E * * */
/* * * Utility * * */
.u-font-sub {
  font-family: fot-tsukuardgothic-std, sans-serif;
}

.u-color-text-green {
  color: #03aa92;
}

.u-fw-bold {
  font-weight: bold !important;
}

.u-ls-100 {
  letter-spacing: 0.05em;
}

/* * タイトルフォントサイズ * */
.u-fs-title {
  font-size: min(24px, calc(24 / 1440 * 100vw));
  font-weight: bold;
  letter-spacing: 0.1em;
}

@media (max-width: 768px) {
  .u-fs-title {
    font-size: min(20px, calc(20 / 375 * 100vw));
    letter-spacing: 0;
  }
}
/* * タイトルフォントサイズ /E * */
.u-mb-10 {
  margin-bottom: min(10px, calc(10 / 1440 * 100vw));
}

.u-mb-25 {
  margin-bottom: min(25px, calc(25 / 1440 * 100vw));
}

.u-mb-40 {
  margin-bottom: min(40px, calc(40 / 1440 * 100vw));
}

.u-mb-70 {
  margin-bottom: min(70px, calc(70 / 1440 * 100vw));
}

@media (max-width: 768px) {
  .u-mb-10 {
    margin-bottom: min(10px, calc(10 / 375 * 100vw));
  }
}
/* * セクション背景デザイン * */
.u-sec-bg {
  background-color: #e8f6f5;
}

.u-sec-bg-ashirai {
  position: relative;
}
.u-sec-bg-ashirai::before, .u-sec-bg-ashirai::after {
  content: "";
  display: block;
  height: min(10px, calc(10 / 1440 * 100vw));
  width: 100%;
  background-image: url("./img/common/common_pattern_stripe-white75.png");
  background-repeat: repeat;
  background-size: contain;
  background-position: top;
  position: absolute;
  left: 0;
}
.u-sec-bg-ashirai::before {
  top: 0;
}
.u-sec-bg-ashirai::after {
  bottom: 0;
}

@media (max-width: 768px) {
  .u-sec-bg-ashirai::before, .u-sec-bg-ashirai::after {
    height: min(5px, calc(5 / 375 * 100vw));
  }
}
/* * セクション背景デザイン /E * */
/* * ニュースラベルデザイン * */
.u-label-deep-green {
  background-color: #518ca1 !important;
}

.u-label-red {
  background-color: #ff7b80 !important;
}

/* * ニュースラベルデザイン /E * */
/* * * Utility /E * * */