@charset "UTF-8";
/*======================================
    size
======================================*/
/*======================================
    font
======================================*/
/*======================================
    color
======================================*/
/*======================================
    text
======================================*/
/*======================================
    media
======================================*/
/*======================================
    animation
======================================*/
.anime_parallax {
  transform: translateY(0);
  will-change: transform;
  transition: transform 0.2s ease-out;
}

@keyframes floating-x {
  0% {
    transform: translateX(-20px);
  }
  100% {
    transform: translateX(20px);
  }
}
@keyframes floating-y {
  0% {
    transform: translateY(-5px);
  }
  100% {
    transform: translateY(5px);
  }
}
.anime_float {
  animation: floating-x 7.2s ease-in-out infinite alternate-reverse;
}

.anime_float_target {
  animation: floating-y 1.8s ease-in-out infinite alternate-reverse;
}

/*======================================
    parts base
======================================*/
/*======================================
    parts
======================================*/
/*======================================
    common
======================================*/
html {
  font-size: 1rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #000;
}
@media screen and (min-width: 1025px) and (max-width: 1400px) {
  html {
    font-size: 87.5%;
  }
}
@media screen and (max-width: 1024px) {
  html {
    font-size: 1.1428571429vw;
  }
}
@media screen and (max-width: 768px) {
  html {
    font-size: 1rem;
  }
}

body {
  background-color: #edf7f9;
  font-feature-settings: "palt";
}
body.active {
  overflow: hidden;
}

img {
  width: 100%;
  vertical-align: top;
}

a {
  color: inherit;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
a:hover {
  cursor: pointer;
}
a:hover, a:focus {
  opacity: 0.7;
}

@media (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
  }
}
@media screen and (max-width: 768px) {
  br.br_pc {
    display: none;
  }
}

br.br_sp {
  display: none;
}
@media screen and (max-width: 768px) {
  br.br_sp {
    display: block;
  }
}

@media screen and (max-width: 768px) {
  .sp_hide {
    display: none !important;
  }
}

.underline {
  text-decoration: underline;
}

.text_red {
  color: #ff0000;
}

.text_color {
  color: #009398;
}

.text_center {
  text-align: center;
}

@media screen and (max-width: 768px) {
  .text_sp_left {
    text-align: left;
  }
}

.link_color {
  color: #0000ff;
}

strong {
  font-weight: 700 !important;
}

.h_fukidashi {
  display: inline-block;
  position: relative;
  padding-bottom: 0.25rem;
  border-bottom: 1px solid #000;
  min-width: 9.375rem;
}
.h_fukidashi::before, .h_fukidashi::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 6.875rem;
  width: 0.625rem;
  height: 0.625rem;
  clip-path: polygon(0 0, 100% 100%, 100% 0);
  transform: translateY(100%);
}
.h_fukidashi::before {
  background-color: #000;
}
.h_fukidashi::after {
  background-color: #edf7f9;
  transform: translate(-0.75px, calc(100% - 2px));
}

.bg-white {
  background-color: #fff;
}

/*======================================
    layout
======================================*/
.container {
  overflow: hidden;
  font-size: 1rem;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .container {
    font-size: 1.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .container {
    font-size: min(4.2666666667vw, 1.6rem);
  }
}

.inner {
  width: 90%;
  max-width: 67.5rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .inner {
    width: 81.87%;
    max-width: 31.25rem;
  }
}

.inner_s {
  max-width: 51.25rem;
  margin-left: auto;
  margin-right: auto;
}

.inner_m {
  max-width: 101.25rem;
  margin-left: auto;
  margin-right: auto;
}

.inner_l {
  max-width: 110rem;
  width: 95%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .inner_l {
    width: 81.87%;
  }
}

.inner_left_full {
  margin-left: calc(50% - 50vw);
}

.inner_right_full {
  margin-right: calc(50% - 50vw);
}

.c_hidden {
  overflow: hidden;
}

/*======================================
    illust scroll bar
======================================*/
@keyframes bounceIn {
  0% {
    transform: translate(0, 200%);
  }
  15% {
    transform: translate(0, 200%);
  }
  40% {
    transform: translate(0, 120%);
  }
  50% {
    transform: translate(0, 50%);
  }
  65% {
    transform: scale(0.98, 1.05) translate(0, -8px);
  }
  80% {
    transform: scale(1, 0.9) translate(0, 5px);
  }
  100% {
    transform: scale(1, 1) translate(0, 0);
  }
}
.illust_bar_icon {
  transition: transform 0.1s linear;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 300;
  transition: transform 0.3s ease, left 0.5s ease;
  transform-origin: left top;
}
.illust_bar_icon.label-target1 {
  transform: scale(1.2162) !important;
}
@media screen and (max-width: 768px) {
  .illust_bar_icon.label-target1 {
    transform: scale(1.029) !important;
  }
}
.illust_bar_icon.label-target2 {
  transform: scale(1.35) !important;
}
.illust_bar_icon.label-target3 {
  transform: scale(1.23) !important;
}
@media screen and (max-width: 768px) {
  .illust_bar_icon.label-target3 {
    transform: scale(1.53) !important;
  }
}
.illust_bar_icon.bounceIn {
  animation: bounceIn 1s ease-in forwards;
}

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

======================================*/
/*======================================
    header
======================================*/
.header {
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 400;
  transition: background-color 0.3s ease;
}
.header.active:not(.h_top) {
  background-color: #edf7f9;
}
.header.active.h_matching {
  background-color: #ffff67;
}

.h_logo {
  width: 12.625rem;
  margin-top: 1.75rem;
  margin-left: 1.875rem;
  transform-origin: top left;
  transition: transform 0.3s ease;
}
@media screen and (min-width: 1025px) and (max-width: 1400px) {
  .h_logo {
    margin-top: 0;
    margin-left: 0;
    width: 10rem;
  }
}
.h_logo.active {
  transform: scale(0.8);
}
.h_logo.h_logo_top {
  width: 23.625rem;
  width: min(19.6875vw, 23.625rem);
}
@media screen and (min-width: 769px) {
  .h_logo.h_logo_top {
    transform: translate(18%, 33%);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 500;
  }
  .h_logo.h_logo_top.active {
    transform: scale(0.6);
  }
}
@media screen and (max-width: 768px) {
  .h_logo.h_logo_top {
    width: 8.5rem;
  }
}
@media screen and (max-width: 1024px) {
  .h_logo {
    width: 5.625rem;
    margin-top: 1rem;
    margin-left: 1rem;
  }
}
.h_logo a {
  display: block;
}

.h_contents {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  row-gap: 4px;
  column-gap: 1.875rem;
  margin-left: auto;
}
@media screen and (min-width: 769px) {
  .h_contents {
    min-height: 8.375rem;
  }
}
@media screen and (min-width: 1025px) and (max-width: 1199px) {
  .h_contents {
    flex-direction: column-reverse;
    align-items: flex-end;
    justify-content: center;
    row-gap: 0.625rem;
  }
  .h_contents .h_links {
    padding-right: 1.25rem;
  }
}
@media screen and (max-width: 1024px) {
  .h_contents {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 500;
    background-color: #f0f1e8;
    display: block;
    padding: 1.875rem 1.25rem;
    overflow: scroll;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    opacity: 0;
    visibility: hidden;
  }
  .h_contents.active {
    opacity: 1;
    visibility: visible;
  }
  .h_contents .h_search {
    display: none;
  }
}

.h_links {
  display: flex;
}
@media screen and (max-width: 1024px) {
  .h_links {
    flex-direction: column;
    max-width: 16.25rem;
    margin-left: auto;
    margin-right: auto;
    margin-top: 3.75rem;
    width: 100%;
  }
}
@media screen and (max-width: 1024px) {
  .h_links li {
    border-bottom: 1px solid #000;
  }
  .h_links li:first-child {
    border-top: 1px solid #000;
  }
}
.h_links li a {
  font-weight: 500;
  letter-spacing: 0.11em;
  line-height: 2;
  font-feature-settings: "palt";
  padding: 0.25em 0.5em;
  position: relative;
}
@media screen and (min-width: 1025px) and (max-width: 1400px) {
  .h_links li a {
    font-size: 0.8125rem;
  }
}
@media screen and (max-width: 1024px) {
  .h_links li a {
    min-height: 4.125rem;
    display: flex;
    align-items: center;
    font-size: 0.875rem;
    position: relative;
    padding-right: 1.5rem;
  }
  .h_links li a:hover::before {
    transform: translate(0.25em, -50%);
  }
  .h_links li a::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 0.625rem;
    transform: translateY(-50%);
    aspect-ratio: 1/1;
    width: 0.5625rem;
    transition: transform 0.3s ease;
    background: url(../img/common/icon_arrow.svg) no-repeat center/contain;
  }
}

.h_search {
  display: flex;
  align-items: center;
  width: 100%;
  height: 3.625rem;
  max-width: 18.25rem;
  border: 2px solid #3c3c3c;
  background-color: #fff;
  border-radius: 6.25rem 0 0 6.25rem;
  padding: 0 1.5rem 0 2.25rem;
  column-gap: 0.5rem;
}
@media screen and (max-width: 1024px) {
  .h_search {
    max-width: 13.75rem;
    height: 2.375rem;
    border-radius: 6.25rem;
    padding: 0 1rem;
    background-color: #f0f0f0;
    border: 1px solid rgba(60, 60, 60, 0.94);
  }
}
@media screen and (max-width: 768px) {
  .h_search {
    max-width: 9.5rem;
  }
}
.h_search input,
.h_search button {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  border: none;
  background-color: unset;
  font-family: inherit;
  color: inherit;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.11em;
  line-height: 1.5;
  font-feature-settings: "palt";
  max-width: 100%;
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .h_search input,
  .h_search button {
    font-size: 0.6875rem;
  }
}
.h_search input {
  flex: 1;
  width: auto;
}
.h_search input::placeholder {
  color: #909090;
}
.h_search input:focus {
  outline: none;
}
.h_search button {
  width: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .h_search button {
    width: 0.75rem;
  }
}

@media screen and (min-width: 1025px) {
  .d_icon {
    display: none;
  }
}
@media screen and (max-width: 1024px) {
  .d_icon {
    position: fixed;
    top: 1.875rem;
    right: 1.25rem;
    z-index: 600;
    display: block;
  }
}
.d_icon.active .d_icon_bar.bar1, .d_icon.active .d_icon_bar.bar2 {
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.d_icon.active .d_icon_bar.bar3 {
  top: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}

.d_icon_bars {
  width: 1.25rem;
  height: 0.9375rem;
  position: relative;
}

.d_icon_bar {
  width: 100%;
  height: 1px;
  background-color: #000;
  position: absolute;
  transform: translate(-50%, -50%);
  left: 50%;
  transition: transform 0.3s ease, top 0.3s ease;
}
.d_icon_bar.bar1 {
  top: 0;
}
.d_icon_bar.bar2 {
  top: 50%;
}
.d_icon_bar.bar3 {
  top: 100%;
}

/*======================================
    footer
======================================*/
.footer {
  padding: 4.625rem 0 2.5rem;
  margin-top: auto;
  margin-bottom: 6.25rem;
  position: relative;
}

.f_logo {
  display: block;
  max-width: 9.875rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .f_logo {
    max-width: 10.4375rem;
  }
}

@media screen and (min-width: 1025px) {
  .f_links {
    display: flex;
    justify-content: center;
  }
}
@media screen and (max-width: 1024px) {
  .f_links li {
    border-bottom: 1px solid #000;
  }
  .f_links li:first-child {
    border-top: 1px solid #000;
  }
}
.f_links li a {
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 2.1333333333;
  letter-spacing: 0.11em;
  font-feature-settings: "palt";
  padding: 0.25em 1em;
  display: block;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .f_links li a {
    padding: 1.25rem 1.875rem 1.25rem 0.5rem;
    font-size: 0.8125rem;
  }
  .f_links li a:hover::before {
    transform: translate(0.25rem, -50%);
  }
  .f_links li a::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 0.625rem;
    width: 0.625rem;
    height: 0.625rem;
    background: url(../img/common/icon_arrow.svg) no-repeat center/contain;
    transform: translateY(-50%);
    transition: transform 0.3s ease;
  }
}

.f_corps {
  display: flex;
  justify-content: center;
  column-gap: 2.5rem;
  align-items: center;
}

.f_bn1 {
  width: 7.25rem;
}
@media screen and (max-width: 768px) {
  .f_bn1 {
    width: 6.375rem;
  }
}

.f_bn2 {
  width: 9.875rem;
}
@media screen and (max-width: 768px) {
  .f_bn2 {
    width: 9.0625rem;
  }
}

.f_name {
  font-size: 0.9375rem;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.11em;
  font-feature-settings: "palt";
  line-height: 2;
}

.f_copyright {
  text-align: center;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.11em;
  font-feature-settings: "palt";
  line-height: 1.5;
}
.f_copyright small {
  font-size: inherit;
  font-weight: inherit;
}

/*======================================
    TOP
======================================*/
.bg-top {
  background-color: #f0f1e8;
}

.s_ttl_01 {
  display: flex;
  align-items: flex-end;
  line-height: 1;
  font-family: "Shippori Mincho", serif;
  width: fit-content;
  border-bottom: 1px solid #000;
  padding-bottom: 0.875rem;
}
@media screen and (max-width: 768px) {
  .s_ttl_01 {
    padding-bottom: 0.375rem;
  }
}
@media screen and (min-width: 769px) {
  .s_ttl_01.-md h2 {
    font-size: 2.9375rem;
  }
  .s_ttl_01.-md p {
    font-size: 1.5625rem;
  }
}
.s_ttl_01 h2 {
  font-size: 3.4375rem;
  font-weight: 500;
  letter-spacing: 0.075em;
  font-feature-settings: "palt";
}
@media screen and (max-width: 768px) {
  .s_ttl_01 h2 {
    font-size: 1.5625rem;
  }
}
.s_ttl_01 p {
  font-size: 1.875rem;
  font-weight: 500;
  letter-spacing: 0.185em;
  font-feature-settings: "palt";
  padding-left: 0.75em;
  position: relative;
}
@media screen and (max-width: 768px) {
  .s_ttl_01 p {
    font-size: 0.875rem;
  }
}
.s_ttl_01 p::before {
  content: "";
  position: absolute;
  bottom: -0.875rem;
  left: 0;
  width: 100%;
  height: 0.25rem;
  background-color: #000;
  transform: translateY(50%);
}
@media screen and (max-width: 768px) {
  .s_ttl_01 p::before {
    bottom: -0.375rem;
    height: 0.1875rem;
  }
}

.s_ttl_excerpt {
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.175em;
  line-height: 1.8333333333;
  margin-top: 1.75rem;
  margin-left: 0.375rem;
}

.t-section_ttl {
  text-align: center;
  font-size: 1.125rem;
  letter-spacing: 0.185em;
  line-height: 1.7777777778;
  font-weight: 500;
  font-family: "Shippori Mincho", serif;
}

@media screen and (max-width: 768px) {
  .fixed_button_top {
    width: 7rem;
  }
}
.fixed_button_top img {
  height: 100%;
  object-fit: contain;
}

.t-fv {
  padding-top: 10rem;
  padding-bottom: 12.5rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .t-fv {
    padding-top: 4.25rem;
    padding-bottom: 11.75rem;
  }
}

.t-fv_inner {
  max-width: 106.25rem;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: auto 31.875rem;
  column-gap: 4.625rem;
  align-items: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  .t-fv_inner {
    grid-template-columns: 1fr;
    width: 81.87%;
  }
}

.t-fv_img {
  position: relative;
  z-index: 1;
}

.t-fv_img_sub {
  position: absolute;
  top: 0;
  left: 0;
  width: 32.125rem;
  z-index: -1;
  transform: translate(-51%, -59%);
}
@media screen and (max-width: 768px) {
  .t-fv_img_sub {
    transform: translate(-52%, -69%);
    width: 16.75rem;
  }
}

.t-fv_lead {
  font-size: 2.8125rem;
  line-height: 1.6666666667;
  letter-spacing: 0.185em;
  font-weight: 500;
  font-feature-settings: "palt";
  transform: translateY(13%);
}
@media screen and (max-width: 768px) {
  .t-fv_lead {
    font-size: 1.3125rem;
  }
}

.t-fv_text {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 2.2222222222;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .t-fv_text {
    font-size: 0.6875rem;
    margin-top: 1.125rem;
    line-height: 1.9090909091;
    letter-spacing: 0.075em;
  }
}

.t-fv_wind {
  position: absolute;
  bottom: 0;
  right: 0;
  transform: translate(56%, 62%);
  width: 45rem;
}
@media screen and (max-width: 768px) {
  .t-fv_wind {
    width: 18.9375rem;
    transform: translate(53%, 114%);
  }
}

.t-about {
  margin-top: 4rem;
  overflow: hidden;
  padding-bottom: 10rem;
}
@media screen and (max-width: 768px) {
  .t-about {
    margin-top: 0;
    padding-bottom: 6.625rem;
  }
}

.t-about_inner {
  display: grid;
  grid-template-columns: auto 50%;
  column-gap: 2.5rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .t-about_inner {
    display: flex;
    flex-direction: column;
  }
  .t-about_inner .s_ttl_01 {
    order: 1;
  }
}

@media screen and (max-width: 768px) {
  .t-about_contents {
    display: contents;
  }
}

@media screen and (max-width: 768px) {
  .t-about_lists {
    margin-top: 10px;
  }
}

.t-about_list {
  line-height: 1.875;
  letter-spacing: 0;
  font-weight: 500;
  display: flex;
  align-items: start;
  column-gap: 0.625rem;
}
@media screen and (max-width: 768px) {
  .t-about_list {
    font-size: 0.8125rem;
    line-height: 1.7692307692;
    display: grid;
    grid-template-columns: 3.25rem auto;
    column-gap: 0.25rem;
    margin-right: -1em;
  }
}
.t-about_list:nth-child(n+2) {
  margin-top: 1.875rem;
}
.t-about_list .number {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.6em;
  aspect-ratio: 60/50;
  background: url(../img/top/list_num.svg) no-repeat center/contain;
  font-size: 1.4375em;
  font-weight: 500;
  font-family: "Shippori Mincho", serif;
  letter-spacing: normal;
  text-align: center;
  padding-right: 0.43em;
}
@media screen and (max-width: 768px) {
  .t-about_list .number {
    font-size: 1.54em;
  }
}

.t-about_head {
  display: flex;
}
@media screen and (max-width: 768px) {
  .t-about_head {
    display: contents;
  }
  .t-about_head .s_ttl_excerpt {
    order: 2;
    font-size: 0.6875rem;
    margin-top: 1rem;
    margin-left: 0;
  }
}

.t-about_illust {
  margin-left: auto;
  margin-right: 2.75rem;
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .t-about_illust {
    position: relative;
    z-index: 2;
    margin-top: 0;
    margin-right: 0;
    transform: translateY(350%);
    order: 3;
  }
}
.t-about_illust .illust {
  width: 11.25rem;
}
@media screen and (max-width: 768px) {
  .t-about_illust .illust {
    width: 6.5625rem;
  }
}

.t-about_content {
  width: fit-content;
  margin-left: auto;
  margin-top: 2.125rem;
}
@media screen and (max-width: 768px) {
  .t-about_content {
    order: 5;
  }
}

.t-about_link_wrap {
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .t-about_link_wrap {
    margin-top: 1.5rem;
    text-align: center;
  }
}

.t-about_link {
  display: inline-block;
  font-size: 2rem;
  position: relative;
  transition: opacity 0.3s ease;
  padding: 0.75rem 2em 0.75rem 0;
  border-bottom: 1px solid #000;
}
@media screen and (max-width: 768px) {
  .t-about_link {
    font-size: 1.5625rem;
    padding-bottom: 0.625rem;
  }
}
.t-about_link:hover, .t-about_link:focus {
  opacity: 0.7;
}
.t-about_link:hover::before, .t-about_link:focus::before {
  transform: translate(0.2em, -50%);
}
.t-about_link::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 1.5625em;
  aspect-ratio: 50/18;
  background: url(../img/top/arrow_handwrite_right.svg) no-repeat center/contain;
  transition: transform 0.3s ease;
}
.t-about_link span {
  display: inline-block;
}
.t-about_link span img {
  width: auto;
  height: 1em;
}

.t-about_wind {
  max-width: 48.625rem;
  margin-top: 6.25rem;
  transform: translateX(-10%);
}
@media screen and (max-width: 768px) {
  .t-about_wind {
    order: 5;
    margin-top: 0;
    width: 21.5rem;
    transform: translateX(-20%);
  }
}

@media screen and (max-width: 768px) {
  .t-about_imgs {
    order: 4;
    position: relative;
    display: grid;
    margin-top: 2.375rem;
    margin-top: -3.75rem;
  }
}

@media screen and (max-width: 768px) {
  .t-about_img1 {
    width: 21.3125rem;
    transform: translateX(8%);
  }
}

.t-about_img2 {
  margin-top: 2.5rem;
  width: 63%;
  max-width: 35rem;
}
@media screen and (max-width: 768px) {
  .t-about_img2 {
    width: 16.375rem;
    margin-top: -4.125rem;
    transform: translateX(-27%);
  }
}

.bg-wave {
  background-color: #dbefec;
  padding: 6rem 0;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .bg-wave {
    padding: 1.25rem 0;
  }
}
.bg-wave.-dark {
  background-color: #b4ddd8;
}
.bg-wave.-dark::before {
  background-image: url(../img/common/bg_wave_dark_top.svg);
  background-size: 120rem 15.4375rem;
}
@media screen and (max-width: 768px) {
  .bg-wave.-dark::before {
    background-image: url(../img/common/bg_wave_dark_top_sp.svg);
    background-size: 23.4375rem 4.875rem;
  }
}
.bg-wave.-dark::after {
  background-image: url(../img/common/bg_wave_dark_bottom.svg);
  background-size: 120rem 12.5rem;
}
@media screen and (max-width: 768px) {
  .bg-wave.-dark::after {
    background-image: url(../img/common/bg_wave_dark_bottom_sp.svg);
    background-size: 23.4375rem 4.875rem;
  }
}
.bg-wave::before, .bg-wave::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 100%;
  height: 4.375rem;
  background-repeat: repeat-x;
}
.bg-wave::before {
  background-image: url(../img/common/bg_wave_top.svg);
  background-size: 120rem 230.75rem;
  background-position: center top;
  transform: translate(-50%, -4.375rem);
  top: 0;
}
@media screen and (max-width: 768px) {
  .bg-wave::before {
    background-image: url(../img/common/bg_wave_top_sp.svg);
    background-size: 23.4375rem 152.625rem;
  }
}
.bg-wave::after {
  background-image: url(../img/common/bg_wave_bottom.svg);
  background-position: center bottom;
  background-size: 120rem 32.5rem;
  transform: translate(-50%, 4.375rem);
  bottom: 0;
}
@media screen and (max-width: 768px) {
  .bg-wave::after {
    background-image: url(../img/common/bg_wave_bottom_sp.svg);
    background-size: 23.4375rem 9.8125rem;
  }
}

.t-search_head {
  display: flex;
  max-width: 84.375rem;
}
@media screen and (max-width: 768px) {
  .t-search_head {
    flex-direction: column;
  }
}

.t-search_flow {
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .t-search_flow {
    margin-left: 0;
  }
}

.t-search_flow_text {
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.26em;
  line-height: 2;
  margin-bottom: 0.375rem;
}
@media screen and (max-width: 768px) {
  .t-search_flow_text {
    margin-top: 2.5rem;
  }
}

.t-search_flow_steps {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .t-search_flow_steps {
    flex-direction: column;
    margin-top: 1rem;
    max-width: 25rem;
    margin-left: auto;
    margin-right: auto;
    row-gap: 0.75rem;
  }
}

.t-search_flow_step {
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.185em;
  line-height: 2.5333333333;
  padding: 0 0.6em;
  color: #fff;
  background-color: #36a6ba;
}
@media screen and (max-width: 768px) {
  .t-search_flow_step {
    flex: 1;
    text-align: center;
    letter-spacing: 0.025em;
  }
}
.t-search_flow_step:nth-child(n+2) {
  margin-left: 2rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .t-search_flow_step:nth-child(n+2) {
    margin-left: 0;
  }
}
.t-search_flow_step:nth-child(n+2)::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -1rem;
  transform: translate(-50%, -50%);
  width: 0.75rem;
  aspect-ratio: 12/10;
  background: url(../img/common/icon_arrow.svg) no-repeat center/contain;
}
@media screen and (max-width: 768px) {
  .t-search_flow_step:nth-child(n+2)::before {
    top: 0;
    left: 50%;
    transform: translate(-50%, -150%);
    width: 0.6875rem;
    background-image: url(../img/common/icon_arrow_vertical.svg);
  }
}

.t-search_slides {
  margin-top: 5.625rem;
}

.t-search-what {
  margin-top: 8.125rem;
}
@media screen and (max-width: 768px) {
  .t-search-what {
    margin-top: 5rem;
  }
}

.t-search_section_head {
  display: flex;
  align-items: flex-end;
  column-gap: 0.875rem;
  margin-bottom: 5rem;
}
@media screen and (max-width: 768px) {
  .t-search_section_head {
    margin-bottom: 2.5rem;
  }
  .t-search_section_head .slider_buttons {
    display: none;
  }
}

.t-search_section_ttl {
  position: relative;
  font-size: 1.9375rem;
  font-weight: 500;
  font-family: "Shippori Mincho", serif;
  line-height: 1.3548387097;
  padding-left: 1em;
}
@media screen and (max-width: 768px) {
  .t-search_section_ttl {
    font-size: 1.3125rem;
  }
}
.t-search_section_ttl::before {
  content: "■";
  position: absolute;
  top: 0;
  left: 0;
}

.t-search-how {
  margin-top: 8.75rem;
  padding-bottom: 18.125rem;
}
@media screen and (max-width: 768px) {
  .t-search-how {
    margin-top: 4.375rem;
    padding-bottom: 9.125rem;
  }
}

.t-search_tab_buttons {
  width: 90%;
  max-width: 101.25rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .t-search_tab_buttons {
    width: 90.67%;
    margin-right: 0;
    padding-right: 2.5rem;
  }
}
.t-search_tab_buttons .t-search_tab_button {
  cursor: pointer;
  background-color: unset;
  min-height: 3.75rem;
  padding: 0.25em 0;
  border-radius: 0;
  border: none;
  color: #646464;
  font-size: 1rem;
  letter-spacing: 0.226em;
  font-weight: 500;
  font-feature-settings: "palt";
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.3s ease, font-size 0.3s ease;
}
@media screen and (max-width: 768px) {
  .t-search_tab_buttons .t-search_tab_button {
    font-size: 0.9375rem;
    letter-spacing: 0.05em;
    width: 8.875rem;
    min-height: 3.125rem;
  }
}
.t-search_tab_buttons .t-search_tab_button::before, .t-search_tab_buttons .t-search_tab_button::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  transform: translateY(-50%);
  border-radius: 0;
  background-color: #646464;
}
@media screen and (max-width: 768px) {
  .t-search_tab_buttons .t-search_tab_button::before, .t-search_tab_buttons .t-search_tab_button::after {
    background-color: rgba(100, 100, 100, 0.59);
  }
}
.t-search_tab_buttons .t-search_tab_button::after {
  opacity: 0;
  height: 3px;
  transform: translateY(50%);
  background-color: #000;
}
.t-search_tab_buttons .t-search_tab_button.swiper-slide-thumb-active {
  color: #000;
  font-size: 1.25rem;
}
@media screen and (max-width: 768px) {
  .t-search_tab_buttons .t-search_tab_button.swiper-slide-thumb-active {
    font-size: 1.0625rem;
  }
}
.t-search_tab_buttons .t-search_tab_button.swiper-slide-thumb-active::after {
  opacity: 1;
}

.t-search_circle_wrap {
  position: relative;
  height: 1000px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .t-search_circle_wrap {
    height: 580px;
  }
}

.t-search_circle_track {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  will-change: transform;
  height: 100%;
}

.t-search_circle_area {
  width: auto;
  flex: 0 0 auto;
  height: 100%;
  position: relative;
}

.t-search_circle {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
  background-color: gray;
  border-radius: 50%;
  padding: 1em 1.5em;
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.t-search_circle:hover {
  transform: scale(1.05);
}
.t-search_circle span.marker {
  font-size: 1.125rem;
  line-height: 2.2;
  font-weight: 500;
  letter-spacing: 0.08em;
  display: inline;
  background-color: rgba(255, 255, 255, 0.7);
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  padding: 0.2em 0.5em;
}
@media screen and (max-width: 768px) {
  .t-search_circle span.marker {
    font-size: 0.75rem;
  }
}

.t-search_circle_text {
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.05em;
}

.t-search_tags {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(13.75rem, 1fr));
  column-gap: 2.8125rem;
  row-gap: 1.875rem;
  max-width: 72.5rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .t-search_tags {
    row-gap: 0.625rem;
    width: 81.87%;
  }
}

.t-search_tag {
  display: grid;
  grid-template-columns: 3.75rem auto;
  min-height: 4.875rem;
  align-items: center;
  column-gap: 0.625rem;
  padding-left: 0.5rem;
  padding-right: 2.5rem;
  position: relative;
  background-color: rgba(255, 255, 255, 0.4);
  transition: background-color 0.3s ease;
  border-radius: 0.625rem;
  border: 1px solid #000;
}
.t-search_tag:hover {
  opacity: 1;
  background-color: rgb(255, 255, 255);
}
.t-search_tag:hover::before {
  transform: translate(30%, -50%);
}
.t-search_tag::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.25rem;
  aspect-ratio: 1/1;
  transform: translateY(-50%);
  width: 0.625rem;
  background: url(../img/common/icon_arrow.svg) no-repeat center/contain;
  transition: transform 0.3s ease;
}
.t-search_tag .img {
  background-color: gray;
  aspect-ratio: 1/1;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 50%;
}
.t-search_tag .text {
  font-weight: 500;
  letter-spacing: 0.08em;
  font-size: 1rem;
  display: block;
  line-height: 1.5;
  font-feature-settings: "palt";
}

.t-search-how_all .button_type03 {
  font-size: 1.125rem;
  max-width: 25.75rem;
  height: 4.875rem;
}
@media screen and (max-width: 768px) {
  .t-search-how_all .button_type03 {
    font-size: 0.875rem;
    letter-spacing: 0.1em;
    height: 3.875rem;
  }
}
.t-search-how_all .button_type03::before {
  width: 0.9375rem;
  height: 0.9375rem;
  right: 2.375rem;
}
@media screen and (max-width: 768px) {
  .t-search-how_all .button_type03::before {
    width: 0.625rem;
    height: 0.625rem;
    right: 1.5rem;
  }
}

.t-matching {
  position: relative;
  z-index: 3;
  margin-top: -11.5rem;
  overflow-x: clip;
  padding-bottom: 13rem;
}
@media screen and (max-width: 768px) {
  .t-matching {
    margin-top: -6.5rem;
    padding-bottom: 4.5rem;
  }
}

.t-matching_wind {
  width: 38.75rem;
  position: absolute;
  bottom: 2.5rem;
  left: 50%;
  transform: translate(-140%, 0%);
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .t-matching_wind {
    display: none;
  }
}

.t-matching_lead {
  text-align: center;
  font-size: 2.125rem;
}
@media screen and (max-width: 768px) {
  .t-matching_lead {
    font-size: 1.3125rem;
  }
}
.t-matching_lead img {
  height: 1em;
  object-fit: contain;
}

.t-matching_link_wrap {
  border: 1px solid #000;
  border-radius: 6.875rem;
  overflow: hidden;
  margin-top: 2.25rem;
}
@media screen and (max-width: 768px) {
  .t-matching_link_wrap {
    border-radius: 4rem;
    margin-top: 1.125rem;
  }
}

.t-matching_link {
  display: flex;
  flex-direction: column;
  position: relative;
  padding: 2rem 0;
  z-index: 1;
  background-color: #ffff67;
}
@media screen and (max-width: 768px) {
  .t-matching_link {
    padding: 1.5rem 0 1.125rem;
  }
}
.t-matching_link::before {
  content: "島を見つける";
  position: absolute;
  top: 50%;
  right: 4.125rem;
  transform: translateY(-50%);
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  padding-right: 1.25rem;
}
@media screen and (max-width: 768px) {
  .t-matching_link::before {
    font-size: 0.8125rem;
    padding-right: 0.9375rem;
    content: "島を\a見つける";
    white-space: pre;
    line-height: 1.3846153846;
    right: 0.375rem;
  }
}
.t-matching_link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 4.125rem;
  transform: translateY(-50%);
  width: 0.4375rem;
  aspect-ratio: 6/13;
  background: url(../img/common/icon_arrow_simple.svg) no-repeat center/contain;
  transition: transform 0.3s ease;
}
@media screen and (max-width: 768px) {
  .t-matching_link::after {
    right: 0.875rem;
    width: 0.3125rem;
    transform: translateY(-50%);
  }
}
.t-matching_link:hover, .t-matching_link:focus {
  opacity: 1;
}
.t-matching_link:hover::after, .t-matching_link:focus::after {
  transform: translate(0.2em, -50%);
}
.t-matching_link:hover .t-matching_matching .icon, .t-matching_link:focus .t-matching_matching .icon {
  transform: scale(1.1);
}

@keyframes map-floating {
  0% {
    transform: translate(0, -55%);
  }
  100% {
    transform: translate(6%, -55%);
  }
}
.t-matching_map {
  position: absolute;
  top: 50%;
  left: 0;
  width: 64.75rem;
  mix-blend-mode: multiply;
  transform: translate(-3%, -55%);
  animation: map-floating 12s ease-in-out infinite alternate-reverse;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .t-matching_map {
    width: 38.625rem;
  }
}

.t-matching_feeling {
  text-align: center;
  font-size: 1.6875rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .t-matching_feeling {
    font-size: 0.875rem;
  }
}

.t-matching_matching {
  margin-top: 1rem;
}
@media screen and (max-width: 768px) {
  .t-matching_matching {
    margin-top: 0.75rem;
  }
}
.t-matching_matching .icon {
  display: block;
  transition: transform 0.3s ease;
  width: 6.25rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .t-matching_matching .icon {
    width: 3.25rem;
  }
}
.t-matching_matching .text {
  display: block;
  font-size: 1.5625rem;
  text-align: center;
  margin-top: 1rem;
}
@media screen and (max-width: 768px) {
  .t-matching_matching .text {
    font-size: 0.8125rem;
    margin-top: 0.5rem;
  }
}
.t-matching_matching .text img {
  width: auto;
  height: 1em;
  object-fit: contain;
}

.t-matching_time {
  font-size: 2.375rem;
  text-align: center;
  margin-top: 0.625rem;
}
@media screen and (max-width: 768px) {
  .t-matching_time {
    font-size: 1.75rem;
  }
}
.t-matching_time img {
  width: auto;
  height: 1em;
  object-fit: contain;
}

.t-matching_more {
  text-align: center;
  font-size: 1.25rem;
  letter-spacing: 0.125em;
  line-height: 1.8;
  font-weight: 500;
  margin-top: 5.375rem;
  padding-bottom: 1.875rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .t-matching_more {
    font-size: 0.9375rem;
    line-height: 1.8;
    margin-top: 3.375rem;
    letter-spacing: 0.05em;
  }
}
.t-matching_more::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  aspect-ratio: 40/10;
  width: 2.5rem;
  background: url(../img/top/matching_arrow.svg) no-repeat center/contain;
}
@media screen and (max-width: 768px) {
  .t-matching_more::before {
    background-image: url(../img/top/matching_arrow_black.svg);
  }
}

.t-matching_custom {
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .t-matching_custom {
    margin-top: 1.125rem;
  }
}
.t-matching_custom .button_type03 {
  font-size: 1.4375rem;
  max-width: 34.5rem;
  height: 6.875rem;
}
@media screen and (max-width: 768px) {
  .t-matching_custom .button_type03 {
    font-size: 1rem;
    height: 6.8125rem;
    line-height: 1.875;
    width: 100%;
    letter-spacing: 0.15em;
  }
}
.t-matching_custom .button_type03::before {
  width: 0.9375rem;
  height: 0.9375rem;
  right: 2rem;
}
@media screen and (max-width: 768px) {
  .t-matching_custom .button_type03::before {
    width: 0.625rem;
    height: 0.625rem;
    right: 1.5rem;
  }
}

.t-islands {
  margin-top: 1.5rem;
  padding-bottom: 17.625rem;
}
@media screen and (max-width: 768px) {
  .t-islands {
    padding-bottom: 7.5rem;
  }
}

.t-islands_head {
  display: flex;
  max-width: 88.75rem;
  margin-bottom: 6.25rem;
}
@media screen and (max-width: 768px) {
  .t-islands_head {
    flex-direction: column;
    margin-bottom: 0;
  }
}

.t-islands_illust {
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .t-islands_illust {
    display: none;
  }
}
.t-islands_illust .illust {
  width: 12.5rem;
}

.t-island {
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .t-island {
    margin-top: 2.5rem;
  }
}

.t-island_head {
  display: flex;
  column-gap: 1.25rem;
  align-items: flex-end;
}

.t-island_buttons {
  max-width: 15.625rem;
  width: 16%;
}
@media screen and (max-width: 768px) {
  .t-island_buttons {
    display: none;
  }
}

.t-island_ttl_wrap {
  max-width: 67.5rem;
  text-align: center;
  position: relative;
  flex: 1;
  z-index: 1;
}
.t-island_ttl_wrap::before, .t-island_ttl_wrap::after {
  content: "";
  position: absolute;
  bottom: 0;
  height: 1.25rem;
  width: 50%;
  background-image: url(../img/top/island_line.svg);
  background-repeat: repeat-x;
  background-size: 28.625rem 1.25rem;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .t-island_ttl_wrap::before, .t-island_ttl_wrap::after {
    background-image: url(../img/top/island_line_sp.svg);
    background-size: 5.9375rem 0.375rem;
  }
}
.t-island_ttl_wrap::before {
  background-position: center right;
  left: 0;
}
.t-island_ttl_wrap::after {
  background-position: center left;
  right: 0;
}

.t-island_ttl {
  display: inline-block;
  background-color: #f0f1e8;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.7777777778;
  letter-spacing: 0.185em;
  text-align: center;
  padding: 0 1.25rem;
  min-width: 10.625rem;
}
@media screen and (max-width: 768px) {
  .t-island_ttl {
    font-size: 1rem;
    min-width: unset;
  }
}

.t-island_body {
  margin-top: 4.25rem;
  max-width: 113.375rem;
}
@media screen and (max-width: 768px) {
  .t-island_body {
    margin-top: 1.875rem;
    max-width: unset;
    width: 90.935%;
  }
}

.t-faq {
  padding-top: 0;
}

.t-faq_head {
  display: flex;
}
@media screen and (max-width: 768px) {
  .t-faq_head {
    position: relative;
    flex-direction: column-reverse;
    padding-top: 3rem;
  }
}

.t-faq_wind {
  max-width: 40rem;
  flex: 1;
  margin-left: auto;
  transform: translateY(1.25rem);
}
@media screen and (max-width: 768px) {
  .t-faq_wind {
    transform: translate(10%, -100%);
    width: 13.875rem;
    position: absolute;
    top: 0;
    right: 0;
  }
}

.t-faq_lists .toggle_type02 {
  font-size: 1.125rem;
  padding: 1.5rem 2.25rem 1.5rem 1.5em;
  min-height: 7.125rem;
  border-radius: 0.75rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .t-faq_lists .toggle_type02 {
    border-radius: 0.3125rem;
    padding: 0.875rem 1rem 0.875rem 1em;
    min-height: 4.375rem;
  }
}
.t-faq_lists .toggle_type02 .toggle_head {
  flex: 1;
  display: flex;
}
@media screen and (max-width: 768px) {
  .t-faq_lists .toggle_type02 .toggle_head {
    line-height: 1.5833333333;
  }
}
.t-faq_lists .toggle_type02 .toggle_head::before, .t-faq_lists .toggle_type02 .toggle_head::after {
  top: 50%;
}
.t-faq_lists .toggle_type02 .faq_wrap {
  font-weight: 500;
  align-items: center;
  grid-template-columns: 4.375rem auto;
}
@media screen and (max-width: 768px) {
  .t-faq_lists .toggle_type02 .faq_wrap {
    grid-template-columns: 3rem auto;
  }
}
.t-faq_lists .toggle_type02 .faq_wrap .faq {
  font-size: 1.875rem;
  width: 1.6em;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .t-faq_lists .toggle_type02 .faq_wrap .faq {
    font-size: 1.1875rem;
    width: 1.75rem;
  }
}
.t-section_button_more.button_type03 {
  font-size: 0.9375rem;
  max-width: 18.1875rem;
  height: 4.5625rem;
}
.t-section_button_more.button_type03::before {
  width: 0.8125rem;
  height: 0.8125rem;
}

.t-faq_button {
  font-size: 1.125rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 1.25rem;
  background-color: #fff;
  border: 1px solid #000;
  min-height: 7.125rem;
  max-width: 27.75rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  border-radius: 0.75rem;
  letter-spacing: 0.185em;
}
@media screen and (max-width: 768px) {
  .t-faq_button {
    font-size: 0.875rem;
    min-height: 4.375rem;
    border-radius: 0.3125rem;
  }
}
.t-faq_button:hover::before {
  transform: translate(0.2em, -50%);
}
.t-faq_button::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.875rem;
  transform: translateY(-50%);
  width: 0.8125rem;
  aspect-ratio: 1/1;
  background: url(../img/common/icon_arrow.svg) no-repeat center/contain;
  transition: transform 0.3s ease;
}
.t-faq_button span.icon {
  width: 1.1875rem;
}
@media screen and (max-width: 768px) {
  .t-faq_button span.icon {
    width: 0.875rem;
  }
}

.t-news {
  padding: 10.9375rem 0 6.25rem;
  overflow-x: clip;
  position: relative;
}
@media screen and (max-width: 768px) {
  .t-news {
    padding: 7.125rem 0 2.25rem;
  }
}

.t-news_wind {
  position: absolute;
  bottom: 1.875rem;
  left: 50%;
  transform: translateX(-130%);
  width: 54.375rem;
}
@media screen and (max-width: 768px) {
  .t-news_wind {
    width: 23.875rem;
    bottom: -12.25rem;
    transform: translateX(-62%);
  }
}

.t-nav {
  padding-bottom: 9.75rem;
}
@media screen and (max-width: 768px) {
  .t-nav {
    padding-bottom: 7.5rem;
  }
}

.t-nav_head {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  column-gap: 2.5rem;
  align-items: flex-end;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .t-nav_head {
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 11.75rem;
  }
}

.t-nav_illust {
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .t-nav_illust {
    margin-right: auto;
  }
}
.t-nav_illust .illust {
  width: 11.375rem;
}
@media screen and (max-width: 768px) {
  .t-nav_illust .illust {
    width: 9.75rem;
  }
}

.t-nav_ttl {
  font-family: "Zen Kaku Gothic New", sans-serif;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 0.625rem;
  letter-spacing: 0.075em;
}
@media screen and (max-width: 768px) {
  .t-nav_ttl {
    font-size: 0.875rem;
    letter-spacing: 0.05em;
  }
}
.t-nav_ttl .logo {
  display: inline-block;
  max-width: 13.25rem;
  transform: translateY(10%);
}
@media screen and (max-width: 768px) {
  .t-nav_ttl .logo {
    width: 8.125rem;
  }
}

@media screen and (max-width: 768px) {
  .t-nav_slider {
    margin-right: auto;
    width: 81.87%;
  }
  .t-nav_slider .slider_type05 {
    padding-right: 0;
  }
  .t-nav_slider .slider_type05 .swiper-wrapper {
    display: flex;
    flex-direction: column;
    row-gap: 1.875rem;
  }
  .t-nav_slider .slider_type05 .slider_type05_slide {
    width: 100%;
  }
}

/*======================================
    parts
======================================*/
* .mt0 {
  margin-top: 0;
}
* .mt10 {
  margin-top: 0.625rem;
}
* .mt20 {
  margin-top: 1.25rem;
}
* .mt30 {
  margin-top: 1.875rem;
}
* .mt40 {
  margin-top: 2.5rem;
}
* .mt50 {
  margin-top: 3.125rem;
}
* .mt60 {
  margin-top: 3.75rem;
}
* .mt70 {
  margin-top: 4.375rem;
}
* .mt80 {
  margin-top: 5rem;
}
* .mt90 {
  margin-top: 5.625rem;
}
* .mt100 {
  margin-top: 6.25rem;
}
* .mt110 {
  margin-top: 6.875rem;
}
* .mt120 {
  margin-top: 7.5rem;
}
* .mt130 {
  margin-top: 8.125rem;
}
* .mt140 {
  margin-top: 8.75rem;
}
* .mt150 {
  margin-top: 9.375rem;
}
* .mt160 {
  margin-top: 10rem;
}
* .mt170 {
  margin-top: 10.625rem;
}
* .mt180 {
  margin-top: 11.25rem;
}
* .mt190 {
  margin-top: 11.875rem;
}
* .mt200 {
  margin-top: 12.5rem;
}
* .mb0 {
  margin-bottom: 0;
}
* .mb10 {
  margin-bottom: 0.625rem;
}
* .mb20 {
  margin-bottom: 1.25rem;
}
* .mb30 {
  margin-bottom: 1.875rem;
}
* .mb40 {
  margin-bottom: 2.5rem;
}
* .mb50 {
  margin-bottom: 3.125rem;
}
* .mb60 {
  margin-bottom: 3.75rem;
}
* .mb70 {
  margin-bottom: 4.375rem;
}
* .mb80 {
  margin-bottom: 5rem;
}
* .mb90 {
  margin-bottom: 5.625rem;
}
* .mb100 {
  margin-bottom: 6.25rem;
}
* .mb110 {
  margin-bottom: 6.875rem;
}
* .mb120 {
  margin-bottom: 7.5rem;
}
* .mb130 {
  margin-bottom: 8.125rem;
}
* .mb140 {
  margin-bottom: 8.75rem;
}
* .mb150 {
  margin-bottom: 9.375rem;
}
* .mb160 {
  margin-bottom: 10rem;
}
* .mb170 {
  margin-bottom: 10.625rem;
}
* .mb180 {
  margin-bottom: 11.25rem;
}
* .mb190 {
  margin-bottom: 11.875rem;
}
* .mb200 {
  margin-bottom: 12.5rem;
}
* .pt0 {
  padding-top: 0;
}
* .pt10 {
  padding-top: 0.625rem;
}
* .pt20 {
  padding-top: 1.25rem;
}
* .pt30 {
  padding-top: 1.875rem;
}
* .pt40 {
  padding-top: 2.5rem;
}
* .pt50 {
  padding-top: 3.125rem;
}
* .pt60 {
  padding-top: 3.75rem;
}
* .pt70 {
  padding-top: 4.375rem;
}
* .pt80 {
  padding-top: 5rem;
}
* .pt90 {
  padding-top: 5.625rem;
}
* .pt100 {
  padding-top: 6.25rem;
}
* .pt110 {
  padding-top: 6.875rem;
}
* .pt120 {
  padding-top: 7.5rem;
}
* .pt130 {
  padding-top: 8.125rem;
}
* .pt140 {
  padding-top: 8.75rem;
}
* .pt150 {
  padding-top: 9.375rem;
}
* .pt160 {
  padding-top: 10rem;
}
* .pt170 {
  padding-top: 10.625rem;
}
* .pt180 {
  padding-top: 11.25rem;
}
* .pt190 {
  padding-top: 11.875rem;
}
* .pt200 {
  padding-top: 12.5rem;
}
* .pb0 {
  padding-bottom: 0;
}
* .pb10 {
  padding-bottom: 0.625rem;
}
* .pb20 {
  padding-bottom: 1.25rem;
}
* .pb30 {
  padding-bottom: 1.875rem;
}
* .pb40 {
  padding-bottom: 2.5rem;
}
* .pb50 {
  padding-bottom: 3.125rem;
}
* .pb60 {
  padding-bottom: 3.75rem;
}
* .pb70 {
  padding-bottom: 4.375rem;
}
* .pb80 {
  padding-bottom: 5rem;
}
* .pb90 {
  padding-bottom: 5.625rem;
}
* .pb100 {
  padding-bottom: 6.25rem;
}
* .pb110 {
  padding-bottom: 6.875rem;
}
* .pb120 {
  padding-bottom: 7.5rem;
}
* .pb130 {
  padding-bottom: 8.125rem;
}
* .pb140 {
  padding-bottom: 8.75rem;
}
* .pb150 {
  padding-bottom: 9.375rem;
}
* .pb160 {
  padding-bottom: 10rem;
}
* .pb170 {
  padding-bottom: 10.625rem;
}
* .pb180 {
  padding-bottom: 11.25rem;
}
* .pb190 {
  padding-bottom: 11.875rem;
}
* .pb200 {
  padding-bottom: 12.5rem;
}
@media screen and (max-width: 768px) {
  * .sp_mt0 {
    margin-top: 0;
  }
  * .sp_mt10 {
    margin-top: 0.625rem;
  }
  * .sp_mt20 {
    margin-top: 1.25rem;
  }
  * .sp_mt30 {
    margin-top: 1.875rem;
  }
  * .sp_mt40 {
    margin-top: 2.5rem;
  }
  * .sp_mt50 {
    margin-top: 3.125rem;
  }
  * .sp_mt60 {
    margin-top: 3.75rem;
  }
  * .sp_mt70 {
    margin-top: 4.375rem;
  }
  * .sp_mt80 {
    margin-top: 5rem;
  }
  * .sp_mt90 {
    margin-top: 5.625rem;
  }
  * .sp_mt100 {
    margin-top: 6.25rem;
  }
  * .sp_mt110 {
    margin-top: 6.875rem;
  }
  * .sp_mt120 {
    margin-top: 7.5rem;
  }
  * .sp_mt130 {
    margin-top: 8.125rem;
  }
  * .sp_mt140 {
    margin-top: 8.75rem;
  }
  * .sp_mt150 {
    margin-top: 9.375rem;
  }
  * .sp_mt160 {
    margin-top: 10rem;
  }
  * .sp_mt170 {
    margin-top: 10.625rem;
  }
  * .sp_mt180 {
    margin-top: 11.25rem;
  }
  * .sp_mt190 {
    margin-top: 11.875rem;
  }
  * .sp_mt200 {
    margin-top: 12.5rem;
  }
  * .sp_mb0 {
    margin-bottom: 0;
  }
  * .sp_mb10 {
    margin-bottom: 0.625rem;
  }
  * .sp_mb20 {
    margin-bottom: 1.25rem;
  }
  * .sp_mb30 {
    margin-bottom: 1.875rem;
  }
  * .sp_mb40 {
    margin-bottom: 2.5rem;
  }
  * .sp_mb50 {
    margin-bottom: 3.125rem;
  }
  * .sp_mb60 {
    margin-bottom: 3.75rem;
  }
  * .sp_mb70 {
    margin-bottom: 4.375rem;
  }
  * .sp_mb80 {
    margin-bottom: 5rem;
  }
  * .sp_mb90 {
    margin-bottom: 5.625rem;
  }
  * .sp_mb100 {
    margin-bottom: 6.25rem;
  }
  * .sp_mb110 {
    margin-bottom: 6.875rem;
  }
  * .sp_mb120 {
    margin-bottom: 7.5rem;
  }
  * .sp_mb130 {
    margin-bottom: 8.125rem;
  }
  * .sp_mb140 {
    margin-bottom: 8.75rem;
  }
  * .sp_mb150 {
    margin-bottom: 9.375rem;
  }
  * .sp_mb160 {
    margin-bottom: 10rem;
  }
  * .sp_mb170 {
    margin-bottom: 10.625rem;
  }
  * .sp_mb180 {
    margin-bottom: 11.25rem;
  }
  * .sp_mb190 {
    margin-bottom: 11.875rem;
  }
  * .sp_mb200 {
    margin-bottom: 12.5rem;
  }
  * .sp_pt0 {
    padding-top: 0;
  }
  * .sp_pt10 {
    padding-top: 0.625rem;
  }
  * .sp_pt20 {
    padding-top: 1.25rem;
  }
  * .sp_pt30 {
    padding-top: 1.875rem;
  }
  * .sp_pt40 {
    padding-top: 2.5rem;
  }
  * .sp_pt50 {
    padding-top: 3.125rem;
  }
  * .sp_pt60 {
    padding-top: 3.75rem;
  }
  * .sp_pt70 {
    padding-top: 4.375rem;
  }
  * .sp_pt80 {
    padding-top: 5rem;
  }
  * .sp_pt90 {
    padding-top: 5.625rem;
  }
  * .sp_pt100 {
    padding-top: 6.25rem;
  }
  * .sp_pt110 {
    padding-top: 6.875rem;
  }
  * .sp_pt120 {
    padding-top: 7.5rem;
  }
  * .sp_pt130 {
    padding-top: 8.125rem;
  }
  * .sp_pt140 {
    padding-top: 8.75rem;
  }
  * .sp_pt150 {
    padding-top: 9.375rem;
  }
  * .sp_pt160 {
    padding-top: 10rem;
  }
  * .sp_pt170 {
    padding-top: 10.625rem;
  }
  * .sp_pt180 {
    padding-top: 11.25rem;
  }
  * .sp_pt190 {
    padding-top: 11.875rem;
  }
  * .sp_pt200 {
    padding-top: 12.5rem;
  }
  * .sp_pb0 {
    padding-bottom: 0;
  }
  * .sp_pb10 {
    padding-bottom: 0.625rem;
  }
  * .sp_pb20 {
    padding-bottom: 1.25rem;
  }
  * .sp_pb30 {
    padding-bottom: 1.875rem;
  }
  * .sp_pb40 {
    padding-bottom: 2.5rem;
  }
  * .sp_pb50 {
    padding-bottom: 3.125rem;
  }
  * .sp_pb60 {
    padding-bottom: 3.75rem;
  }
  * .sp_pb70 {
    padding-bottom: 4.375rem;
  }
  * .sp_pb80 {
    padding-bottom: 5rem;
  }
  * .sp_pb90 {
    padding-bottom: 5.625rem;
  }
  * .sp_pb100 {
    padding-bottom: 6.25rem;
  }
  * .sp_pb110 {
    padding-bottom: 6.875rem;
  }
  * .sp_pb120 {
    padding-bottom: 7.5rem;
  }
  * .sp_pb130 {
    padding-bottom: 8.125rem;
  }
  * .sp_pb140 {
    padding-bottom: 8.75rem;
  }
  * .sp_pb150 {
    padding-bottom: 9.375rem;
  }
  * .sp_pb160 {
    padding-bottom: 10rem;
  }
  * .sp_pb170 {
    padding-bottom: 10.625rem;
  }
  * .sp_pb180 {
    padding-bottom: 11.25rem;
  }
  * .sp_pb190 {
    padding-bottom: 11.875rem;
  }
  * .sp_pb200 {
    padding-bottom: 12.5rem;
  }
}
* .note {
  background-color: #fff;
  border-radius: 1.25rem;
  padding: 2.25rem 3.125rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  * .note {
    padding: 1.875rem 1.25rem 2.5rem;
    border-radius: 0.9375rem;
  }
}
* .note_head {
  position: absolute;
  top: 0;
  left: 0;
  width: 4.625rem;
  height: 4.625rem;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #009398;
  border: 1px solid #009398;
  border-radius: 50%;
  background-color: #fff;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  transform: translate(-40%, -40%);
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  * .note_head {
    transform: translate(-50%, -80%);
    left: 50%;
  }
}
* .note_illust .note {
  position: relative;
}
* .note_illust .note::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 10rem;
  width: 1.75rem;
  height: 2.4375rem;
  background: url(../img/common/fukidashi_white.svg) no-repeat center/contain;
  transform: translateY(70%);
}
* .note_illust .illust {
  margin-top: 0.625rem;
  margin-left: auto;
}
* .list_disc {
  padding-left: 1em;
}
* .list_disc li:nth-child(n+2) {
  margin-top: 0.625rem;
}
* .list_disc li {
  position: relative;
}
* .list_disc li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: -0.75em;
  color: #009398;
}
* .list_num {
  padding-left: 1.5em;
  list-style: decimal;
}
* .list_num li:nth-child(n+2) {
  margin-top: 0.625rem;
}
* .list_dot.last_no_line li:last-child {
  padding-bottom: 0;
}
* .list_dot.last_no_line li:last-child::before {
  display: none;
}
* .list_dot.list_dot_white li::before {
  background-image: linear-gradient(to right, #fff, #fff 4px, rgba(255, 255, 255, 0) 4px, rgba(255, 255, 255, 0) 8px);
}
* .list_dot li {
  position: relative;
  padding-top: 1.875rem;
  padding-bottom: 1.875rem;
}
@media screen and (max-width: 768px) {
  * .list_dot li {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }
}
* .list_dot li::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.125rem;
  background-image: linear-gradient(to right, #000, #000 4px, rgba(255, 255, 255, 0) 4px, rgba(255, 255, 255, 0) 8px);
  background-size: 8px 1px;
  background-repeat: repeat-x;
}
* .list_dot li:first-child {
  padding-top: 0;
}
* .list_color {
  color: #009398;
}
* .slider_type01_wrap {
  border-radius: 0.625rem;
  background-color: #fff;
  padding: 1.25rem 1.875rem 1.875rem;
}
@media screen and (max-width: 768px) {
  * .slider_type01_wrap {
    margin-right: calc(50% - 50vw);
    border-radius: 0.625rem 0 0 0.625rem;
    padding-right: 0;
  }
}
* .slider_type01 {
  position: relative;
}
* .slider_type01.is_last::before {
  visibility: hidden;
  opacity: 0;
  transform: translateX(50%);
}
* .slider_type01::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 4.25rem;
  height: 100%;
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0), #fff 100%);
  z-index: 2;
  opacity: 1;
  transition: visibility 0.15s ease, opacity 0.15s ease, transform 0.3s ease;
}
* .slider_type01 .swiper-slide {
  width: 12.375rem;
}
@media screen and (max-width: 768px) {
  * .slider_type01 {
    padding-right: 1.875rem;
  }
}
* .eye_slider {
  overflow: visible;
}
* .eye_slider .swiper-wrapper {
  overflow: visible;
}
* .slider_type02_wrap {
  position: relative;
  padding-bottom: 5.625rem;
}
@media screen and (max-width: 768px) {
  * .slider_type02_wrap {
    padding-bottom: 3.25rem;
  }
}
* .slider_type02 {
  overflow: visible;
}
@media screen and (max-width: 768px) {
  * .slider_type02_slide {
    width: 17.75rem;
  }
}
* .slider_type02_slide_link:hover .slider_type02_more, * .slider_type02_slide_link:focus .slider_type02_more {
  transform: translateY(26%) scale(1.1);
}
* .slider_type02_lead {
  font-weight: 500;
  letter-spacing: 0.46em;
  line-height: 2;
  position: relative;
}
@media screen and (max-width: 768px) {
  * .slider_type02_lead {
    font-size: 0.875rem;
    letter-spacing: 0.42em;
  }
}
* .slider_type02_lead::after {
  background-color: #dbefec;
}
* .slider_type02_lead::before, * .slider_type02_lead::after {
  width: 0.75rem;
  height: 0.625rem;
}
* .slider_type02_ttl {
  font-size: 3.125rem;
  font-weight: 500;
  font-family: "Shippori Mincho", serif;
  letter-spacing: 0.1em;
  line-height: 1.75;
}
@media screen and (max-width: 768px) {
  * .slider_type02_ttl {
    font-size: 1.8125rem;
    line-height: 1.4482758621;
    margin-top: 1.625rem;
    letter-spacing: 0.05em;
  }
}
* .slider_type02_ttl .marker {
  display: inline;
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) calc(100% - 1rem), #fff calc(100% - 1rem), #fff calc(100% - 0.375rem), rgba(255, 255, 255, 0) calc(100% - 0.375rem), rgba(255, 255, 255, 0) 100%);
}
* .slider_type02_img_wrap {
  position: relative;
}
* .slider_type02_img {
  aspect-ratio: 1080/608;
  overflow: hidden;
  margin-top: 1.125rem;
}
* .slider_type02_img img {
  height: 100%;
  object-fit: cover;
}
* .slider_type02_more {
  position: absolute;
  font-size: 1.125rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  letter-spacing: 0.18em;
  line-height: 1.3888888889;
  width: 7.625rem;
  height: 7.625rem;
  background-color: #fff;
  border: 1px solid #000;
  bottom: 0;
  right: 0.75rem;
  z-index: 2;
  border-radius: 50%;
  transform: translateY(26%);
  transition: transform 0.3s ease;
}
@media screen and (max-width: 768px) {
  * .slider_type02_more {
    font-size: 0.875rem;
    width: 5.875rem;
    height: 5.875rem;
    right: 0;
    transform: translateY(70%);
  }
}
* .slider_type02_more::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 1rem;
  width: 0.4375rem;
  aspect-ratio: 7/13;
  background: url(../img/common/icon_arrow_simple.svg) no-repeat center/contain;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  * .slider_type02_more::before {
    width: 0.3125rem;
    right: 0.75rem;
  }
}
* .slider_type02_contents {
  margin-top: 2.5rem;
  display: grid;
  grid-template-columns: 31.25rem auto;
  column-gap: 0.625rem;
}
@media screen and (max-width: 768px) {
  * .slider_type02_contents {
    display: flex;
    flex-direction: column;
    margin-top: 1.25rem;
  }
  * .slider_type02_contents .s_genre_cats {
    width: calc(100% - 6.25rem);
  }
}
* .slider_type02_contents_meta .s_tags {
  margin-top: 1rem;
  font-size: 0.8125rem;
}
@media screen and (max-width: 768px) {
  * .slider_type02_contents_meta .s_tags {
    margin-top: 1.25rem;
  }
}
* .slider_type02_tour {
  font-size: 1.25rem;
  line-height: 1.6;
  font-weight: 500;
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  * .slider_type02_tour {
    font-size: 1.125rem;
    line-height: 1.7777777778;
    margin-top: 0.125rem;
  }
}
* .slider_type02_tour span {
  display: inline;
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) calc(100% - 1px), #000 calc(100% - 1px), #000 100%);
  padding-bottom: 1px;
}
@media screen and (max-width: 768px) {
  * .slider_type02_texts {
    margin-top: 1.375rem;
  }
}
* .slider_type02_text {
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: normal;
  line-height: 2.2;
  text-align: justify;
}
@media screen and (max-width: 768px) {
  * .slider_type02_text {
    font-size: 0.875rem;
    line-height: 1.7857142857;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
  }
}
@media screen and (max-width: 768px) {
  * .slider_type02_pagination {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    row-gap: 0.375rem;
    column-gap: 1.25rem;
  }
}
* .slider_type02_pagination .swiper-pagination-bullet {
  width: 5.25rem;
  height: 0.3125rem;
  border: none;
  background-color: #fff;
  opacity: 1;
  margin: 0 0.875rem !important;
  border-radius: 0;
}
@media screen and (max-width: 768px) {
  * .slider_type02_pagination .swiper-pagination-bullet {
    max-width: 3.875rem;
    margin: 0 !important;
    flex: 1;
  }
}
* .slider_type02_pagination .swiper-pagination-bullet-active {
  background-color: #000;
}
* .slider_buttons {
  display: flex;
  column-gap: 1.25rem;
}
* .slider_button {
  width: 2.5rem;
  height: 2.5rem;
  background-color: #fff;
  border: 1px solid #000;
  position: relative;
  cursor: pointer;
}
* .slider_button::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0.4375rem;
  height: 0.875rem;
  background: url(../img/common/icon_arrow_simple.svg) no-repeat center/contain;
}
* .slider_button_prev::before {
  transform: translate(-50%, -50%) rotate(180deg);
}
* .slider_type03 {
  padding-bottom: 0.625rem;
}
* .slider_type03 .swiper-wrapper {
  overflow: visible;
}
* .slider_type03_slide {
  width: 19.5rem;
}
@media screen and (max-width: 768px) {
  * .slider_type03_slide {
    width: 11.875rem;
  }
}
* .slider_type03_slide_link {
  display: block;
}
* .slider_type03_slide_link:hover .slider_type03_slide_ttl::before, * .slider_type03_slide_link:focus .slider_type03_slide_ttl::before {
  transform: translateY(-60%) scale(1.1);
}
* .slider_type03_slide_img {
  overflow: hidden;
  aspect-ratio: 1/1;
  border-radius: 1.25rem;
}
@media screen and (max-width: 768px) {
  * .slider_type03_slide_img {
    border-radius: 0.75rem;
  }
}
* .slider_type03_slide_img img {
  height: 100%;
  object-fit: cover;
}
* .slider_type03_slide_ttl {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.115em;
  padding-right: 5.625rem;
  position: relative;
  font-feature-settings: normal;
  min-height: 3.8em;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  * .slider_type03_slide_ttl {
    font-size: 0.9375rem;
    padding-right: 3.125rem;
    letter-spacing: 0.05em;
    min-height: 2.67em;
  }
}
* .slider_type03_slide_ttl::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-60%);
  width: 5rem;
  aspect-ratio: 1/1;
  background: url(../img/common/icon_arrow_circle2.svg) no-repeat center/contain;
  transition: transform 0.3s ease;
}
@media screen and (max-width: 768px) {
  * .slider_type03_slide_ttl::before {
    width: 3rem;
  }
}
* .slider_type04 {
  padding-right: 5rem;
}
* .slider_type04_slide {
  width: 16.25rem;
}
@media screen and (max-width: 768px) {
  * .slider_type04_slide {
    width: 11.625rem;
  }
}
* .slider_type04_slide_link {
  display: block;
}
* .slider_type04_slide_link:hover .slider_type04_slide_img img, * .slider_type04_slide_link:focus .slider_type04_slide_img img {
  transform: scale(1.05);
}
* .slider_type04_slide_head {
  display: grid;
}
* .slider_type04_slide_lead {
  grid-column: 1/2;
  grid-row: 1/2;
  writing-mode: vertical-rl;
  font-size: 0.875rem;
  line-height: 1.5714285714;
  letter-spacing: 0.13em;
  font-weight: 500;
  position: relative;
  z-index: 2;
  transform: translate(1.5625rem, 1rem);
}
@media screen and (max-width: 768px) {
  * .slider_type04_slide_lead {
    font-size: 0.6875rem;
    line-height: 1.6363636364;
    transform: translate(1.0625rem, 1rem);
  }
}
* .slider_type04_slide_lead span {
  display: inline;
  background-color: #fff;
  background-image: linear-gradient(#fff 0%, #fff 100%);
  padding: 0.375rem;
}
* .slider_type04_slide_img {
  grid-column: 1/2;
  grid-row: 1/2;
  overflow: hidden;
  clip-path: ellipse(50% 50% at 50% 50%);
  aspect-ratio: 260/188;
}
* .slider_type04_slide_img img {
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
* .slider_type04_slide_ttl {
  text-align: center;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.185em;
  line-height: 1.7777777778;
  margin-top: 0.25rem;
}
@media screen and (max-width: 768px) {
  * .slider_type04_slide_ttl {
    font-size: 0.9375rem;
    line-height: 1.5333333333;
  }
}
* .slider_button_hide {
  display: none;
}
* .slider_type05 {
  padding-right: 5rem;
}
* .slider_type05_slide {
  width: 20rem;
}
* .card_cats {
  display: flex;
  flex-wrap: wrap;
  column-gap: 0.25rem;
  row-gap: 0.25rem;
}
* .card_cats.card_cats_column1 {
  flex-direction: column;
  width: fit-content;
}
* .card_cat {
  letter-spacing: 0.05em;
  font-feature-settings: "palt";
  font-weight: 500;
  line-height: 1.6153846154;
  background-color: #000;
  color: #fff;
  border-radius: 6.25rem;
  padding: 0 0.75em;
  display: inline-block;
}
* .card_cat.card_cat_white {
  background-color: #fff;
  color: #000;
}
* .card_tag {
  letter-spacing: 0.05em;
  font-feature-settings: "palt";
  font-weight: 500;
  line-height: 1.6153846154;
  white-space: nowrap;
}
* .card_img {
  aspect-ratio: 3/2;
  overflow: hidden;
}
* .card_img img {
  height: 100%;
  object-fit: cover;
}
* .card_bg {
  background-color: #fff;
  border-radius: 0.625rem;
  padding: 1.75rem;
}
* .card_type01 {
  transition: opacity 0.3s ease;
  display: flex;
  flex-direction: column;
  height: 100%;
}
* .card_type01 img {
  transition: transform 0.3s ease;
}
* .card_type01:hover, * .card_type01:focus {
  opacity: 0.7;
}
* .card_type01:hover img, * .card_type01:focus img {
  transform: scale(1.05);
}
* .card_type01 .card_head {
  display: flex;
  justify-content: space-between;
  align-items: start;
  column-gap: 0.625rem;
}
* .card_type01 .card_excerpt {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
* .card_type01 div {
  aspect-ratio: 3/2;
  overflow: hidden;
}
* .card_type01 p {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1.75;
  padding-right: 1.5rem;
  margin-top: 0.75rem;
  position: relative;
  font-weight: 500;
}
* .card_type01 p::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 1.1875rem;
  height: 1.1875rem;
  background: url(../img/common/icon_arrow_circle.svg) no-repeat center/contain;
  translate: 0 -20%;
}
* .card_type02 {
  transition: opacity 0.3s ease;
}
* .card_type02 img {
  transition: transform 0.3s ease;
}
* .card_type02:hover, * .card_type02:focus {
  opacity: 0.7;
}
* .card_type02:hover img, * .card_type02:focus img {
  transform: scale(1.05);
}
* .card_type02 .card_head {
  display: flex;
  justify-content: space-between;
  align-items: start;
  column-gap: 0.625rem;
}
* .card_type02 .card_excerpt {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
* .card_type02 p {
  line-height: 1.6;
  margin-top: 0.75rem;
}
* .card_type02 .button_type01 {
  font-size: 0.6875rem;
}
* .card_type03 {
  transition: opacity 0.3s ease;
}
* .card_type03 img {
  transition: transform 0.3s ease;
}
* .card_type03:hover, * .card_type03:focus {
  opacity: 0.7;
}
* .card_type03:hover img, * .card_type03:focus img {
  transform: scale(1.05);
}
* .card_type03 .card_head {
  display: flex;
  justify-content: space-between;
  align-items: start;
  column-gap: 0.625rem;
}
* .card_type03 .card_excerpt {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
* .card_type03 .card_img {
  aspect-ratio: 16/9;
  border-radius: 0.75rem;
}
* .card_type03 .card_head {
  margin-top: 1.625rem;
  margin-bottom: 1.625rem;
}
@media screen and (max-width: 768px) {
  * .card_type03 .card_head {
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
  }
}
* .card_type03 .card_excerpt {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  letter-spacing: 0.03em;
  font-feature-settings: "palt";
  margin-top: 0.625rem;
}
@media screen and (max-width: 768px) {
  * .card_type03 .card_excerpt {
    font-size: 0.75rem;
  }
}
* .card_type03 p:not(.card_excerpt) {
  line-height: 2;
}
@media screen and (min-width: 769px) {
  * .card_type03 p:not(.card_excerpt) {
    font-size: 1rem;
  }
}
* .card_type03 .card_cats {
  font-size: 0.8125rem;
}
@media screen and (max-width: 768px) {
  * .card_type03 .card_cats {
    font-size: 0.75rem;
  }
}
* .card_type04 {
  transition: opacity 0.3s ease;
  display: flex;
  column-gap: 2.5rem;
  border: 1px solid #009398;
  border-radius: 1.25rem;
  padding: 1.875rem 1.875rem 1.875rem 2.875rem;
}
* .card_type04 img {
  transition: transform 0.3s ease;
}
* .card_type04:hover, * .card_type04:focus {
  opacity: 0.7;
}
* .card_type04:hover img, * .card_type04:focus img {
  transform: scale(1.05);
}
* .card_type04 .card_head {
  display: flex;
  justify-content: space-between;
  align-items: start;
  column-gap: 0.625rem;
}
* .card_type04 .card_excerpt {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media screen and (max-width: 768px) {
  * .card_type04 {
    flex-direction: column-reverse;
    padding: 1.75rem 1.375rem;
  }
}
@media screen and (min-width: 769px) {
  * .card_type04 .card_img {
    max-width: 14.0625rem;
  }
}
@media screen and (max-width: 768px) {
  * .card_type04 .card_img {
    margin-bottom: 1.25rem;
  }
}
* .card_type04 div {
  flex: 1;
}
@media screen and (max-width: 768px) {
  * .card_type04 .button_type01 {
    text-align: right;
    display: block;
  }
}
* .card_type04 dl {
  margin-top: 0;
}
* .card_type04 dl dt {
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.75;
  font-family: "Shippori Mincho", serif;
  color: #009398;
  display: inline;
  background: linear-gradient(rgba(255, 255, 255, 0) calc(100% - 1px), #009398 1px);
  padding: 0 0 0.5rem;
  font-family: "Shippori Mincho", serif;
}
@media screen and (max-width: 768px) {
  * .card_type04 dl dt {
    font-size: 1rem;
    padding-bottom: 0.25rem;
  }
}
* .card_type04 dl dd {
  margin-top: 0.625rem;
}
@media screen and (max-width: 768px) {
  * .tab_wrap {
    border: 1px solid rgba(0, 0, 0, 0.78);
    border-radius: 1.125rem;
    padding: 1.875rem 1.25rem;
  }
}
* .tab_buttons {
  display: grid;
  column-gap: 2.875rem;
}
@media screen and (max-width: 768px) {
  * .tab_buttons {
    display: none;
  }
}
* .tab_button {
  text-align: center;
  padding-bottom: 1.25rem;
  position: relative;
  background-color: #edf7f9;
}
* .tab_button::before, * .tab_button::after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 1.4375rem;
  height: 1.4375rem;
  border-radius: 0% 100% 5% 95%/5% 100% 0% 95%;
  filter: drop-shadow(-1px 1px 0px #000);
  background-color: #edf7f9;
  opacity: 0;
  z-index: 2;
}
* .tab_button::before {
  transform: translate(-105%, -1%) scale(-1, 1);
  left: 0;
}
* .tab_button::after {
  transform: translate(105%, -1%);
  right: 0;
}
* .tab_button:first-child::before {
  display: none !important;
}
* .tab_button:first-child span::after {
  left: 0;
  width: calc(100% + 1.4375rem);
  transform: translateY(100%);
}
* .tab_button:last-child::after {
  display: none !important;
}
* .tab_button:last-child span::after {
  left: unset;
  right: 0;
  width: calc(100% + 1.4375rem);
  transform: translateY(100%);
}
* .tab_button:hover {
  cursor: pointer;
}
* .tab_button span {
  min-height: 4.125rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  line-height: 1.5;
  letter-spacing: 0.185em;
  transform: all 0.3s ease;
  position: relative;
  border-top: 1px solid #b8b8b8;
  border-left: 1px solid #b8b8b8;
  border-right: 1px solid #b8b8b8;
  background-color: #eaeaea;
  color: #7e7e7e;
  border-radius: 1.4375rem 1.4375rem 0 0;
  z-index: 1;
}
* .tab_button span::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 80%);
  width: 2.0625rem;
  height: 0.375rem;
  background: url(../img/common/icon_arrow_tab.svg) no-repeat center/contain;
  opacity: 0;
  transition: opacity 0.3s ease, transform 0.3s ease;
  z-index: 2;
}
* .tab_button span::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: calc(100% + 2.875rem);
  height: 1.5rem;
  background-color: #edf7f9;
  transform: translate(-50%, 100%);
  opacity: 0;
}
* .tab_button.active {
  border-top: 1px solid #000;
  border-left: 1px solid #000;
  border-right: 1px solid #000;
  border-radius: 1.4375rem 1.4375rem 0 0;
}
* .tab_button.active::before, * .tab_button.active::after {
  opacity: 1;
}
* .tab_button.active span {
  font-size: 1rem;
  background-color: unset;
  border: none;
  color: #000;
}
* .tab_button.active span::before {
  transform: translate(-50%, 100%);
  opacity: 1;
}
* .tab_button.active span::after {
  opacity: 1;
}
* .tab_select {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  border: none;
  box-shadow: none;
  font-family: inherit;
  color: inherit;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.185em;
  font-feature-settings: "palt";
  line-height: 1.7857142857;
  background-color: #edf7f9;
  width: 100%;
  border-radius: 0;
  background: #edf7f9 url(../img/common/icon_select.svg) no-repeat center right/0.75rem 0.625rem;
}
@media screen and (min-width: 769px) {
  * .tab_select {
    display: none;
  }
}
* .tab_button_column2 {
  grid-template-columns: repeat(2, 1fr);
}
* .tab_button_column3 {
  grid-template-columns: repeat(3, 1fr);
}
* .tab_button_column4 {
  grid-template-columns: repeat(4, 1fr);
}
* .tab_areas {
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  * .tab_areas {
    border-top: 1px solid rgba(0, 0, 0, 0.72);
    margin-top: 1.875rem;
    padding-top: 2.1875rem;
  }
}
* .tab_area {
  display: none;
}
* .tab_area .slider_column1 {
  margin-top: 0;
}
@media screen and (min-width: 769px) {
  * .tab_area {
    border: 1px solid #000;
    border-radius: 1.4375rem;
    padding: 4.375rem 4.375rem 3.75rem;
  }
  * .tab_area:first-child {
    border-radius: 0 1.4375rem 1.4375rem 1.4375rem;
  }
  * .tab_area:last-child {
    border-radius: 1.4375rem 0 1.4375rem 1.4375rem;
  }
}
* .tab_area.active {
  display: block;
}

/*======================================
    article
======================================*/
.article {
  text-align: justify;
}
.article * {
  font-weight: 500;
}
.article h1 {
  font-size: 1.75rem;
  line-height: 1.6785714286;
  letter-spacing: 0.195em;
  font-weight: 500;
  font-family: "Shippori Mincho", serif;
}
.article h1 span.lg {
  font-size: 1.43em;
  display: block;
}
@media screen and (max-width: 768px) {
  .article h1 span.lg {
    font-size: 1.23em;
  }
}
@media screen and (max-width: 768px) {
  .article h1 {
    font-size: 1.625rem;
    line-height: 1.3846153846;
    letter-spacing: 0.05em;
  }
}
.article h2 {
  font-size: 1.75rem;
  line-height: 1.6785714286;
  letter-spacing: 0.195em;
  font-weight: 500;
  font-family: "Shippori Mincho", serif;
}
@media screen and (max-width: 768px) {
  .article h2 {
    font-size: 1.375rem;
  }
}
.article h2.h2_s {
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.75;
  font-family: "Shippori Mincho", serif;
}
.article h3 {
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.75;
  font-family: "Shippori Mincho", serif;
}
.article h4 {
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.75;
  font-family: "Shippori Mincho", serif;
}
.article p,
.article ul, .article ol {
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.8666666667;
}
@media screen and (max-width: 768px) {
  .article p,
  .article ul, .article ol {
    font-size: 0.875rem;
  }
}
.article p.sm {
  font-size: 0.6875rem;
}
.article .caption {
  font-size: 0.75rem;
  letter-spacing: 0.05em;
}
.article table {
  border-collapse: collapse;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .article table:not(.table_simple) tr {
    border: 1px solid #000;
    padding: 1.25rem 0.9375rem;
    display: block;
    background-color: #fff;
  }
}
.article table th, .article table td {
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.75;
  border: 1px solid #000;
  background-color: #fff;
  padding: 1.25rem 1.25rem;
}
@media screen and (max-width: 768px) {
  .article table th, .article table td {
    display: block;
    padding: 0;
    border: none;
  }
}
.article table th span, .article table td span {
  font-weight: inherit;
}
.article table th {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .article table th {
    text-align: left;
    padding-bottom: 0.25rem;
  }
}
.article table.table_simple {
  color: #009398;
}
.article table.table_simple th, .article table.table_simple td {
  background-color: unset;
  border: none;
  padding: 0;
}
.article table.table_simple th {
  text-align: left;
}
@media screen and (max-width: 768px) {
  .article table.table_simple th {
    margin-top: 0.625rem;
  }
}
.article table.th_color th {
  background-color: #def4ff;
}

/*======================================
    section
======================================*/
.s_bg {
  background-color: #fff;
  border-radius: 0.625rem;
  padding: 1.875rem 1.5rem;
}
@media screen and (max-width: 768px) {
  .s_bg {
    padding: 1.875rem 1.25rem;
  }
}

.line_arc {
  width: 100%;
  height: 1.0625rem;
  background-image: url(../img/common/line_curb.svg);
  background-repeat: no-repeat;
  background-size: 51.25rem 1.0625rem;
  background-position: center;
}
@media screen and (max-width: 768px) {
  .line_arc {
    background-size: 19.1875rem 0.9375rem;
    height: 0.875rem;
    background-image: url(../img/common/line_curb_sp.svg);
    background-repeat: repeat-x;
  }
}

.line_flat {
  height: 1px;
  width: 100%;
  background-color: #000;
}
.line_flat.line_flat_white {
  background-color: #fff;
}

.line_dot {
  width: 100%;
  height: 0.125rem;
  background-image: linear-gradient(to right, #000, #000 4px, rgba(255, 255, 255, 0) 4px, rgba(255, 255, 255, 0) 8px);
  background-size: 8px 1px;
  background-repeat: repeat-x;
}
.line_dot.line_dot_white {
  background-image: linear-gradient(to right, #fff, #fff 4px, rgba(255, 255, 255, 0) 4px, rgba(255, 255, 255, 0) 8px);
}

/*======================================
    list
======================================*/
.news_lists {
  max-width: 35rem;
  margin-left: auto;
  margin-right: auto;
}

.news_list {
  border-bottom: 1px solid #000;
}
.news_list:first-child {
  border-top: 1px solid #000;
}

.news_list_link {
  display: grid;
  grid-template-columns: 5.625rem auto;
  min-height: 3.75rem;
  padding: 0.625rem 0;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .news_list_link {
    grid-template-columns: 1fr;
    padding: 1rem 1rem 1rem 0;
    position: relative;
  }
  .news_list_link::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 0.625rem;
    aspect-ratio: 1/1;
    background: url(../img/common/icon_arrow.svg) no-repeat center/contain;
  }
}

.news_list_text {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.185em;
}

/*======================================
    cards
======================================*/
.cards_column1 {
  display: grid;
  column-gap: 0.9375rem;
  row-gap: 2.5rem;
  grid-template-columns: repeat(1, 1fr);
}
.cards_column1.g10 {
  column-gap: 0.625rem;
}
.cards_column1.g20 {
  column-gap: 1.25rem;
}
.cards_column1.g30 {
  column-gap: 1.875rem;
}
.cards_column1.g40 {
  column-gap: 2.5rem;
}
.cards_column1.g50 {
  column-gap: 3.125rem;
}
.cards_column1.g60 {
  column-gap: 3.75rem;
}
.cards_column1.g70 {
  column-gap: 4.375rem;
}
.cards_column1.g80 {
  column-gap: 5rem;
}
.cards_column1.g90 {
  column-gap: 5.625rem;
}
.cards_column1.g100 {
  column-gap: 6.25rem;
}

.cards_column2 {
  display: grid;
  column-gap: 0.9375rem;
  row-gap: 2.5rem;
  grid-template-columns: repeat(2, 1fr);
}
.cards_column2.g10 {
  column-gap: 0.625rem;
}
.cards_column2.g20 {
  column-gap: 1.25rem;
}
.cards_column2.g30 {
  column-gap: 1.875rem;
}
.cards_column2.g40 {
  column-gap: 2.5rem;
}
.cards_column2.g50 {
  column-gap: 3.125rem;
}
.cards_column2.g60 {
  column-gap: 3.75rem;
}
.cards_column2.g70 {
  column-gap: 4.375rem;
}
.cards_column2.g80 {
  column-gap: 5rem;
}
.cards_column2.g90 {
  column-gap: 5.625rem;
}
.cards_column2.g100 {
  column-gap: 6.25rem;
}
@media screen and (max-width: 768px) {
  .cards_column2 {
    grid-template-columns: repeat(1, 1fr);
  }
}

.cards_column3 {
  display: grid;
  column-gap: 0.9375rem;
  row-gap: 2.5rem;
  grid-template-columns: repeat(3, 1fr);
}
.cards_column3.g10 {
  column-gap: 0.625rem;
}
.cards_column3.g20 {
  column-gap: 1.25rem;
}
.cards_column3.g30 {
  column-gap: 1.875rem;
}
.cards_column3.g40 {
  column-gap: 2.5rem;
}
.cards_column3.g50 {
  column-gap: 3.125rem;
}
.cards_column3.g60 {
  column-gap: 3.75rem;
}
.cards_column3.g70 {
  column-gap: 4.375rem;
}
.cards_column3.g80 {
  column-gap: 5rem;
}
.cards_column3.g90 {
  column-gap: 5.625rem;
}
.cards_column3.g100 {
  column-gap: 6.25rem;
}
@media screen and (max-width: 768px) {
  .cards_column3 {
    grid-template-columns: repeat(1, 1fr);
  }
}

.cards_column4 {
  display: grid;
  column-gap: 0.9375rem;
  row-gap: 2.5rem;
  grid-template-columns: repeat(4, 1fr);
}
.cards_column4.g10 {
  column-gap: 0.625rem;
}
.cards_column4.g20 {
  column-gap: 1.25rem;
}
.cards_column4.g30 {
  column-gap: 1.875rem;
}
.cards_column4.g40 {
  column-gap: 2.5rem;
}
.cards_column4.g50 {
  column-gap: 3.125rem;
}
.cards_column4.g60 {
  column-gap: 3.75rem;
}
.cards_column4.g70 {
  column-gap: 4.375rem;
}
.cards_column4.g80 {
  column-gap: 5rem;
}
.cards_column4.g90 {
  column-gap: 5.625rem;
}
.cards_column4.g100 {
  column-gap: 6.25rem;
}
@media screen and (max-width: 768px) {
  .cards_column4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

/*======================================
    slider
======================================*/
@media screen and (max-width: 768px) {
  .js_slider {
    margin-right: calc(50% - 50vw);
    padding-right: 1.25rem;
  }
}

.swiper-pagination {
  bottom: 0 !important;
}
.swiper-pagination .swiper-pagination-bullet {
  width: 0.375rem;
  height: 0.375rem;
  border: 1px solid #646464;
  background-color: rgba(255, 255, 255, 0);
  opacity: 1;
  margin: 0 0.3125rem !important;
}
.swiper-pagination .swiper-pagination-bullet-active {
  background-color: #646464;
}

.slider_column1 {
  padding-bottom: 1.875rem;
}

@media screen and (min-width: 769px) {
  .slider_column2 .swiper-wrapper {
    display: grid;
    column-gap: 2.1875rem;
    row-gap: 2.1875rem;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .slider_column2 .swiper-slide {
    width: 17.5rem;
  }
}

@media screen and (min-width: 769px) {
  .slider_column3 .swiper-wrapper {
    display: grid;
    column-gap: 2.1875rem;
    row-gap: 2.1875rem;
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .slider_column3 .swiper-slide {
    width: 15.625rem;
  }
}

@media screen and (min-width: 769px) {
  .slider_column4 .swiper-wrapper {
    display: grid;
    column-gap: 2.1875rem;
    row-gap: 2.1875rem;
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .slider_column4 .swiper-slide {
    width: 12.375rem;
  }
}

/*======================================
    illust
======================================*/
.illust {
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 148/96;
  width: 9.25rem;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .illust {
    width: 6.375rem;
  }
}
.illust.illust_bar_icon_target {
  background-image: unset !important;
}
.illust.illust_pattern1 {
  background-image: url(../img/illust/illust1_1.svg);
}
.illust.illust_pattern1.illust1 {
  background-image: url(../img/illust/illust1_1.svg);
}
.illust.illust_pattern1.illust2 {
  background-image: url(../img/illust/illust1_2.svg);
}
.illust.illust_pattern1.illust3 {
  background-image: url(../img/illust/illust1_3.svg);
}
.illust.illust_pattern1.illust4 {
  background-image: url(../img/illust/illust1_4.svg);
  aspect-ratio: 362/262;
}
.illust.illust_pattern1.illust5 {
  background-image: url(../img/illust/illust1_5.svg);
  aspect-ratio: 368/250;
}
.illust.illust_pattern2 {
  background-image: url(../img/illust/illust2_1.svg);
  aspect-ratio: 290/296;
}
.illust.illust_pattern2.illust1 {
  background-image: url(../img/illust/illust2_1.svg);
}
.illust.illust_pattern2.illust2 {
  background-image: url(../img/illust/illust2_2.svg);
  aspect-ratio: 188/270;
}
.illust.illust_pattern2.illust3 {
  background-image: url(../img/illust/illust2_3.svg);
  aspect-ratio: 256/258;
}
.illust.illust_pattern2.illust4 {
  background-image: url(../img/illust/illust2_4.svg);
  aspect-ratio: 230/262;
}
.illust.illust_pattern2.illust5 {
  background-image: url(../img/illust/illust2_5.svg);
  aspect-ratio: 256/186;
}
.illust.illust_pattern3 {
  background-image: url(../img/illust/illust3_1.svg);
  aspect-ratio: 360/280;
}
.illust.illust_pattern3.illust1 {
  background-image: url(../img/illust/illust3_1.svg);
}
.illust.illust_pattern3.illust2 {
  background-image: url(../img/illust/illust3_2.svg);
  aspect-ratio: 232/280;
}
.illust.illust_pattern3.illust3 {
  background-image: url(../img/illust/illust3_3.svg);
  aspect-ratio: 302/288;
}
.illust.illust_pattern3.illust4 {
  background-image: url(../img/illust/illust3_4.svg);
  aspect-ratio: 298/280;
}
.illust.illust_pattern3.illust5 {
  background-image: url(../img/illust/illust3_5.svg);
  aspect-ratio: 266/200;
}
.illust.illust_pattern4 {
  background-image: url(../img/illust/illust4_1.svg);
  aspect-ratio: 352/196;
}
.illust.illust_pattern4.illust1 {
  background-image: url(../img/illust/illust4_1.svg);
}
.illust.illust_pattern4.illust2 {
  background-image: url(../img/illust/illust4_2.svg);
}
.illust.illust_pattern4.illust3 {
  background-image: url(../img/illust/illust4_3.svg);
  aspect-ratio: 334/248;
}
.illust.illust_pattern4.illust4 {
  background-image: url(../img/illust/illust4_4.svg);
  aspect-ratio: 364/238;
}
.illust.illust_pattern4.illust5 {
  background-image: url(../img/illust/illust4_5.svg);
  aspect-ratio: 316/226;
}

/*======================================
    button
======================================*/
.button_type01 {
  display: inline-block;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.27em;
  line-height: 2.1538461538;
  padding-right: 2em;
  position: relative;
  transition: opacity 0.3s ease;
}
.button_type01:hover, .button_type01:focus {
  opacity: 0.7;
}
.button_type01:hover::before, .button_type01:focus::before {
  transform: translate(0.25em, -50%);
}
.button_type01::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 1.15em;
  height: 1.15em;
  background: url(../img/common/icon_arrow.svg) no-repeat center/contain;
  transform: translateY(-50%);
  transition: transform 0.3s ease;
}

.button_type02 {
  max-width: 27.5rem;
  height: 6.25rem;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  background-color: #e8fa7c;
  border: 1px solid rgba(0, 0, 0, 0.87);
  border-radius: 62.5rem;
  font-size: 1.125rem;
  line-height: 1.7777777778;
  letter-spacing: 0.185em;
  padding: 0.625rem 3.75rem;
  position: relative;
  font-feature-settings: "palt";
}
@media screen and (max-width: 768px) {
  .button_type02 {
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: normal;
    padding: 0.625rem 2.5rem;
    height: 4.375rem;
  }
}
.button_type02:hover::before {
  transform: translate(0.375rem, -50%);
}
.button_type02::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 2.5rem;
  transform: translateY(-50%);
  width: 0.8125rem;
  height: 0.8125rem;
  background: url(../img/common/icon_arrow.svg) no-repeat center/contain;
  transition: transform 0.3s ease;
}
@media screen and (max-width: 768px) {
  .button_type02::before {
    right: 1.25rem;
  }
}

.button_type02_toggle {
  border: none;
  max-width: 100%;
  border-radius: 0;
  position: relative;
  padding-right: 2.5rem;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .button_type02_toggle {
    padding-right: 0;
  }
}
.button_type02_toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.25rem;
  transform: translateY(-50%) rotate(45deg);
  width: 0.5625rem;
  height: 0.5625rem;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  transition: all 0.3s ease;
}
.button_type02_toggle::before {
  display: none;
}
.button_type02_toggle::after {
  border-color: rgba(0, 0, 0, 0.87);
  right: 1.875rem;
}
@media screen and (max-width: 768px) {
  .button_type02_toggle::after {
    right: 1rem;
  }
}
.button_type02_toggle.active::after {
  transform: translateY(-50%) rotate(225deg);
}

.s_contact_toggle {
  border: 1px solid rgba(0, 0, 0, 0.87);
  background-color: #e8fa7c;
}
.s_contact_toggle .toggle_body {
  display: none;
}
.s_contact_toggle .button_type02_toggle {
  padding-right: 2.5rem;
}

.button_type03 {
  max-width: 16.625rem;
  height: 3.875rem;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.87);
  border-radius: 62.5rem;
  font-size: 0.875rem;
  line-height: 1.6428571429;
  letter-spacing: 0.185em;
  padding: 0.625rem 2.5rem;
  position: relative;
  font-feature-settings: "palt";
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .button_type03 {
    font-size: 0.9375rem;
    line-height: 1.5;
    letter-spacing: normal;
    padding: 0.625rem 2.5rem;
    height: 4.0625rem;
    max-width: unset;
    min-width: 16.625rem;
    width: fit-content;
  }
}
.button_type03:hover::before {
  transform: translate(0.25rem, -50%);
}
.button_type03::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.5rem;
  transform: translateY(-50%);
  width: 0.5625rem;
  height: 0.5625rem;
  background: url(../img/common/icon_arrow.svg) no-repeat center/contain;
  transition: transform 0.3s ease;
}
@media screen and (max-width: 768px) {
  .button_type03::before {
    right: 1.25rem;
    width: 0.75rem;
    height: 0.75rem;
  }
}

.button_top {
  display: block;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  color: #646464;
  font-size: 0.75rem;
  letter-spacing: 0.185em;
  border-bottom: 1px solid #646464;
  line-height: 2;
}

.fixed_button {
  position: fixed;
  bottom: 1.875rem;
  right: 1.875rem;
  z-index: 300;
  width: 11.25rem;
  height: 11.25rem;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transform-origin: bottom right;
}
@media screen and (max-width: 768px) {
  .fixed_button {
    bottom: 1.25rem;
  }
  .fixed_button.fixed_button_top {
    width: 7rem;
    right: -0.625rem;
  }
}
.fixed_button.active {
  transform: scale(0.6);
}
.fixed_button.stop {
  position: absolute;
  bottom: auto;
}

.button_apply {
  border-radius: 50%;
  border: 1px solid rgba(0, 0, 0, 0.87);
  background-color: #e8fa7c;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.7777777778;
  letter-spacing: 0.185em;
  font-feature-settings: "palt";
}
@media screen and (min-width: 769px) {
  .button_apply .is_sp {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .button_apply {
    font-size: 0.9375rem;
    letter-spacing: 0.085em;
    width: 100%;
    border-radius: 62.5rem;
    right: 50%;
    transform: translateX(50%);
    height: 3.625rem;
    max-width: 21.875rem;
    transform-origin: bottom center;
  }
}
@media screen and (max-width: 768px) {
  .button_apply.active {
    transform: translateX(50%) scale(0.6);
  }
}
.button_apply::before {
  content: "";
  position: absolute;
  bottom: 1.75rem;
  left: 50%;
  transform: translateX(-50%);
  width: 0.8125rem;
  height: 0.8125rem;
  background: url(../img/common/icon_arrow.svg) no-repeat center/contain;
}
@media screen and (max-width: 768px) {
  .button_apply::before {
    left: unset;
    right: 1.875rem;
    transform: translateY(50%);
    bottom: 50%;
  }
}

/*======================================
    table of contents
======================================*/
.toc {
  background-color: #009398;
  color: #fff;
  border-radius: 1.25rem;
  padding: 2.5rem 3.125rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .toc {
    padding: 1.75rem 1rem;
    border-radius: 0.9375rem;
  }
}
.toc h2 {
  font-size: 1.25rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .toc h2 {
    font-size: 0.9375rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.75;
    font-family: "Shippori Mincho", serif;
  }
}
.toc .list_dot li {
  position: relative;
  padding-right: 2.5rem;
}
@media screen and (max-width: 768px) {
  .toc .list_dot li {
    padding-right: 0;
  }
}
.toc .list_dot li::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.25rem;
  transform: translateY(-50%) rotate(45deg);
  width: 0.5625rem;
  height: 0.5625rem;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .toc .list_dot li {
    font-size: 0.875rem;
    letter-spacing: 0.12em;
  }
  .toc .list_dot li::after {
    display: none;
  }
}
.toc .list_dot li:first-child {
  padding-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .toc .list_dot li:first-child {
    padding-top: 1.25rem;
  }
}
.toc .list_dot li:first-child::before {
  display: block;
}

.toc_illust_wrap::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 12.75rem;
  width: 2.3125rem;
  height: 2rem;
  background: url(../img/common/fukidashi_color.svg) no-repeat center/contain;
  transform: translateY(53.125%);
}
@media screen and (max-width: 768px) {
  .toc_illust_wrap::before {
    display: none;
  }
}

.toc_illust {
  position: absolute;
  bottom: 0;
  right: 3.5rem;
  transform: translateY(83.3%);
  width: 9.25rem;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .toc_illust {
    display: none;
  }
}

.toc_wind {
  aspect-ratio: 434/128;
  max-width: 27.125rem;
  width: 60%;
  background: url(../img/common/wind1.png) no-repeat center/contain;
  position: absolute;
  bottom: 0;
  left: 0;
  translate: -14.75% 62%;
}
@media screen and (max-width: 768px) {
  .toc_wind {
    width: 16.125rem;
    width: 100%;
  }
}

.toc_floating {
  position: fixed;
  top: 50%;
  right: 0;
  transform: translate(calc(100% + 1.25rem), -50%);
  z-index: 200;
  height: calc(100vh - 21.75rem);
  border-radius: 1.25rem 0 0 1.25rem;
  padding: 2.5rem 1.75rem;
  display: flex;
  flex-direction: column;
  transition: padding 0.3s ease, opacity 0.3s ease, transform 0.3s ease;
}
@media screen and (max-width: 768px) {
  .toc_floating {
    top: 4.5rem;
    left: 0;
    width: 100%;
    transform: translate(0, -100%);
    border-radius: 0;
    padding: 0.875rem 0;
    height: auto;
    opacity: 0;
    min-height: unset;
  }
}
.toc_floating.show {
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .toc_floating.show {
    transform: translate(0, 0);
    opacity: 1;
  }
}
.toc_floating.open {
  padding: 2.5rem;
}
@media screen and (max-width: 768px) {
  .toc_floating.open {
    padding: 0.875rem 0 2.5rem;
  }
}
.toc_floating.open::before {
  transform: translateY(-50%) scale(1, 1);
}
@media screen and (max-width: 768px) {
  .toc_floating.open::before {
    transform: translateX(-50%) scale(-1, 1) rotate(-90deg);
  }
}
.toc_floating.open .toc_floating_contents {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
  height: auto;
}
@media screen and (min-width: 769px) {
  .toc_floating.open .toc_floating_contents {
    width: 23.625rem;
  }
}
@media screen and (max-width: 768px) {
  .toc_floating.open .toc_floating_contents {
    max-height: 80vh;
    max-height: calc(var(--vh, 1vh) * 80);
  }
}
.toc_floating::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 1rem;
  transform: translateY(-50%) scale(-1, 1);
  width: 0.4375rem;
  aspect-ratio: 7/14;
  background: url(../img/common/icon_arrow_simple_white.svg) no-repeat center/contain;
}
@media screen and (max-width: 768px) {
  .toc_floating::before {
    transform: translateX(-50%) scale(-1, 1) rotate(90deg);
    left: unset;
    right: 9.065%;
    top: 1.3125rem;
  }
}
@media screen and (max-width: 768px) {
  .toc_floating {
    border-radius: 0;
  }
}
.toc_floating h2 {
  font-family: "Zen Kaku Gothic New", sans-serif;
}
@media screen and (max-width: 768px) {
  .toc_floating h2 {
    text-align: center;
  }
}
.toc_floating .toc_floating_contents {
  transition: all 0.3s ease;
  width: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  overflow: auto;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .toc_floating .toc_floating_contents {
    width: 81.87%;
    margin-left: auto;
    margin-right: auto;
    max-height: 0;
  }
}

/*======================================
    layout
======================================*/
.window_full {
  overflow: hidden;
}

.border_right {
  border-right: 1px solid #000;
}

.border_left {
  border-left: 1px solid #000;
}

.border_top {
  border-top: 1px solid #000;
}

.border_bottom {
  border-bottom: 1px solid #000;
}

.l_column_side {
  display: flex;
  column-gap: 2.25rem;
  row-gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .l_column_side {
    flex-direction: column;
  }
}
.l_column_side .l_column:first-child {
  flex: 1;
}
@media screen and (min-width: 769px) {
  .l_column_side .l_column:first-child {
    padding-right: 2.25rem;
  }
}
@media screen and (max-width: 768px) {
  .l_column_side .l_column:first-child {
    padding-bottom: 1.25rem;
  }
}
@media screen and (min-width: 769px) {
  .l_column_side .l_column:first-child.border {
    border-right: 1px solid #000;
  }
}
@media screen and (max-width: 768px) {
  .l_column_side .l_column:first-child.border {
    border-bottom: 1px solid #000;
  }
}
.l_column_side .l_column:last-child {
  width: 10rem;
}

.l_column2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (min-width: 769px) {
  .l_column2 .l_column.border {
    border-right: 1px solid #000;
  }
}
@media screen and (max-width: 768px) {
  .l_column2 .l_column.border {
    border-bottom: 1px solid #000;
  }
}
@media screen and (min-width: 769px) {
  .l_column2 .l_column:not(:last-child) {
    padding-right: 2.5rem;
  }
}
@media screen and (max-width: 768px) {
  .l_column2 .l_column:not(:last-child) {
    padding-bottom: 2.5rem;
  }
}
@media screen and (min-width: 769px) {
  .l_column2 .l_column:nth-child(n+2) {
    padding-left: 2.5rem;
  }
}
@media screen and (max-width: 768px) {
  .l_column2 .l_column:nth-child(n+2) {
    padding-top: 2.5rem;
  }
}
@media screen and (max-width: 768px) {
  .l_column2 {
    grid-template-columns: 1fr;
  }
}

.l_column3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (min-width: 769px) {
  .l_column3 .l_column.border {
    border-right: 1px solid #000;
  }
}
@media screen and (max-width: 768px) {
  .l_column3 .l_column.border {
    border-bottom: 1px solid #000;
  }
}
@media screen and (min-width: 769px) {
  .l_column3 .l_column:not(:last-child) {
    padding-right: 2.5rem;
  }
}
@media screen and (max-width: 768px) {
  .l_column3 .l_column:not(:last-child) {
    padding-bottom: 2.5rem;
  }
}
@media screen and (min-width: 769px) {
  .l_column3 .l_column:nth-child(n+2) {
    padding-left: 2.5rem;
  }
}
@media screen and (max-width: 768px) {
  .l_column3 .l_column:nth-child(n+2) {
    padding-top: 2.5rem;
  }
}
@media screen and (max-width: 768px) {
  .l_column3 {
    grid-template-columns: 1fr;
  }
}

.map {
  aspect-ratio: 820/304;
}
@media screen and (max-width: 768px) {
  .map {
    aspect-ratio: 308/218;
  }
}
.map iframe {
  width: 100%;
  height: 100%;
}

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

/*======================================
    modal
======================================*/
.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
  background-color: rgba(255, 255, 255, 0.5);
  padding: 3.75rem 0;
  text-align: center;
  opacity: 0;
  visibility: hidden;
  overflow: auto;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.modal.search_form_modal .modal_body {
  max-width: unset;
  width: 94.6875%;
}
.modal.search_form_modal .modal_contents {
  max-width: 67.5rem;
  margin-left: auto;
  margin-right: auto;
}
.modal::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  height: 100%;
}
.modal.active {
  opacity: 1;
  visibility: visible;
}
@media screen and (max-width: 768px) {
  .modal {
    padding: 2.5rem 0;
  }
}

.modal_body {
  width: 90%;
  max-width: 67.5rem;
  display: inline-block;
  vertical-align: middle;
  background-color: #fff;
  border-radius: 0.625rem;
  padding: 1.875rem 1.875rem 3.125rem 3.75rem;
}
@media screen and (max-width: 768px) {
  .modal_body {
    padding: 1.25rem 1.25rem 2.5rem;
  }
}

.modal_close {
  width: 1.25rem;
  height: 1.25rem;
  transform: rotate(45deg);
  background: url(../img/common/icon_open.svg) no-repeat center/contain;
  margin-left: auto;
}

.modal_contents {
  text-align: left;
  padding-right: 1.875rem;
  display: flex;
  column-gap: 3.125rem;
  row-gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .modal_contents {
    flex-direction: column;
    margin-top: 0.625rem;
  }
}
.modal_contents .modal_img img {
  height: auto;
}
@media screen and (min-width: 769px) {
  .modal_contents .modal_img {
    width: 43%;
  }
}
.modal_contents .modal_content {
  flex: 1;
}
.modal_contents .modal_content .modal_title {
  font-size: 1.25rem;
  letter-spacing: 0.05em;
  line-height: 1.6;
  font-weight: 500;
}

.modal_open {
  cursor: pointer;
}

/*======================================
    share
======================================*/
.share_buttons {
  display: flex;
  flex-wrap: wrap;
  column-gap: 0.625rem;
  row-gap: 0.375rem;
  justify-content: center;
  align-items: center;
}
.share_buttons li {
  line-height: 1;
}

.share_button {
  width: 1.625rem;
}
.share_button a {
  display: block;
}

/*======================================
    single
======================================*/
.s_head {
  margin-top: 11.25rem;
  margin-bottom: 1.875rem;
}
@media screen and (max-width: 768px) {
  .s_head {
    margin-top: 6.25rem;
  }
}
.s_head .s_genre_cats {
  font-size: 0.875rem;
  column-gap: 0.625rem;
}
.s_head .s_genre_cats .card_cat {
  line-height: 2.1428571429;
  padding: 0 1em;
}
.s_head .s_tags {
  font-size: 0.75rem;
}
.s_head .s_eye {
  display: block;
}
.s_head .s_eye img {
  height: auto;
}

.s_share_row {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  column-gap: 0.875rem;
  row-gap: 0.625rem;
  align-items: center;
}

.s_genre_wrap {
  display: flex;
  flex-wrap: wrap;
  column-gap: 0.875rem;
  row-gap: 0.5rem;
}
.s_genre_wrap dt {
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  padding-right: 1.25rem;
  position: relative;
  line-height: 2.3076923077;
  align-items: flex-start;
}
.s_genre_wrap dt::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%) rotate(-45deg);
  width: 0.5625rem;
  height: 0.5625rem;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
}

.s_contents {
  margin-top: 10rem;
  margin-bottom: 6.25rem;
}
.s_contents h2, .s_contents h3, .s_contents h4, .s_contents h5, .s_contents h6 {
  margin-top: 2.5em;
  margin-bottom: 1.5em;
}
.s_contents ul, .s_contents ol, .s_contents p, .s_contents dl {
  margin-top: 1.5em;
}
.s_contents table {
  margin-top: 2.5em;
}
.s_contents caption {
  margin-top: 1em;
}
.s_contents .slider_type01_wrap,
.s_contents .slider_column1,
.s_contents .slider_column2,
.s_contents .slider_column3,
.s_contents .slider_column4,
.s_contents .cards_column2,
.s_contents .cards_column3,
.s_contents .cards_column4,
.s_contents .youtube,
.s_contents .map {
  margin-top: 2.5rem;
}
.s_contents .slider_type01_wrap h2, .s_contents .slider_type01_wrap h3, .s_contents .slider_type01_wrap h4, .s_contents .slider_type01_wrap h5, .s_contents .slider_type01_wrap h6,
.s_contents .slider_column1 h2,
.s_contents .slider_column1 h3,
.s_contents .slider_column1 h4,
.s_contents .slider_column1 h5,
.s_contents .slider_column1 h6,
.s_contents .slider_column2 h2,
.s_contents .slider_column2 h3,
.s_contents .slider_column2 h4,
.s_contents .slider_column2 h5,
.s_contents .slider_column2 h6,
.s_contents .slider_column3 h2,
.s_contents .slider_column3 h3,
.s_contents .slider_column3 h4,
.s_contents .slider_column3 h5,
.s_contents .slider_column3 h6,
.s_contents .slider_column4 h2,
.s_contents .slider_column4 h3,
.s_contents .slider_column4 h4,
.s_contents .slider_column4 h5,
.s_contents .slider_column4 h6,
.s_contents .cards_column2 h2,
.s_contents .cards_column2 h3,
.s_contents .cards_column2 h4,
.s_contents .cards_column2 h5,
.s_contents .cards_column2 h6,
.s_contents .cards_column3 h2,
.s_contents .cards_column3 h3,
.s_contents .cards_column3 h4,
.s_contents .cards_column3 h5,
.s_contents .cards_column3 h6,
.s_contents .cards_column4 h2,
.s_contents .cards_column4 h3,
.s_contents .cards_column4 h4,
.s_contents .cards_column4 h5,
.s_contents .cards_column4 h6,
.s_contents .youtube h2,
.s_contents .youtube h3,
.s_contents .youtube h4,
.s_contents .youtube h5,
.s_contents .youtube h6,
.s_contents .map h2,
.s_contents .map h3,
.s_contents .map h4,
.s_contents .map h5,
.s_contents .map h6 {
  margin-top: unset;
  margin-bottom: unset;
}
.s_contents .mt0 {
  margin-top: 0;
}
.s_contents .mt10 {
  margin-top: 0.625rem;
}
.s_contents .mt20 {
  margin-top: 1.25rem;
}
.s_contents .mt30 {
  margin-top: 1.875rem;
}
.s_contents .mt40 {
  margin-top: 2.5rem;
}
.s_contents .mt50 {
  margin-top: 3.125rem;
}
.s_contents .mt60 {
  margin-top: 3.75rem;
}
.s_contents .mt70 {
  margin-top: 4.375rem;
}
.s_contents .mt80 {
  margin-top: 5rem;
}
.s_contents .mt90 {
  margin-top: 5.625rem;
}
.s_contents .mt100 {
  margin-top: 6.25rem;
}
.s_contents .mt110 {
  margin-top: 6.875rem;
}
.s_contents .mt120 {
  margin-top: 7.5rem;
}
.s_contents .mt130 {
  margin-top: 8.125rem;
}
.s_contents .mt140 {
  margin-top: 8.75rem;
}
.s_contents .mt150 {
  margin-top: 9.375rem;
}
.s_contents .mt160 {
  margin-top: 10rem;
}
.s_contents .mt170 {
  margin-top: 10.625rem;
}
.s_contents .mt180 {
  margin-top: 11.25rem;
}
.s_contents .mt190 {
  margin-top: 11.875rem;
}
.s_contents .mt200 {
  margin-top: 12.5rem;
}
.s_contents .mb0 {
  margin-bottom: 0;
}
.s_contents .mb10 {
  margin-bottom: 0.625rem;
}
.s_contents .mb20 {
  margin-bottom: 1.25rem;
}
.s_contents .mb30 {
  margin-bottom: 1.875rem;
}
.s_contents .mb40 {
  margin-bottom: 2.5rem;
}
.s_contents .mb50 {
  margin-bottom: 3.125rem;
}
.s_contents .mb60 {
  margin-bottom: 3.75rem;
}
.s_contents .mb70 {
  margin-bottom: 4.375rem;
}
.s_contents .mb80 {
  margin-bottom: 5rem;
}
.s_contents .mb90 {
  margin-bottom: 5.625rem;
}
.s_contents .mb100 {
  margin-bottom: 6.25rem;
}
.s_contents .mb110 {
  margin-bottom: 6.875rem;
}
.s_contents .mb120 {
  margin-bottom: 7.5rem;
}
.s_contents .mb130 {
  margin-bottom: 8.125rem;
}
.s_contents .mb140 {
  margin-bottom: 8.75rem;
}
.s_contents .mb150 {
  margin-bottom: 9.375rem;
}
.s_contents .mb160 {
  margin-bottom: 10rem;
}
.s_contents .mb170 {
  margin-bottom: 10.625rem;
}
.s_contents .mb180 {
  margin-bottom: 11.25rem;
}
.s_contents .mb190 {
  margin-bottom: 11.875rem;
}
.s_contents .mb200 {
  margin-bottom: 12.5rem;
}
.s_contents .pt0 {
  padding-top: 0;
}
.s_contents .pt10 {
  padding-top: 0.625rem;
}
.s_contents .pt20 {
  padding-top: 1.25rem;
}
.s_contents .pt30 {
  padding-top: 1.875rem;
}
.s_contents .pt40 {
  padding-top: 2.5rem;
}
.s_contents .pt50 {
  padding-top: 3.125rem;
}
.s_contents .pt60 {
  padding-top: 3.75rem;
}
.s_contents .pt70 {
  padding-top: 4.375rem;
}
.s_contents .pt80 {
  padding-top: 5rem;
}
.s_contents .pt90 {
  padding-top: 5.625rem;
}
.s_contents .pt100 {
  padding-top: 6.25rem;
}
.s_contents .pt110 {
  padding-top: 6.875rem;
}
.s_contents .pt120 {
  padding-top: 7.5rem;
}
.s_contents .pt130 {
  padding-top: 8.125rem;
}
.s_contents .pt140 {
  padding-top: 8.75rem;
}
.s_contents .pt150 {
  padding-top: 9.375rem;
}
.s_contents .pt160 {
  padding-top: 10rem;
}
.s_contents .pt170 {
  padding-top: 10.625rem;
}
.s_contents .pt180 {
  padding-top: 11.25rem;
}
.s_contents .pt190 {
  padding-top: 11.875rem;
}
.s_contents .pt200 {
  padding-top: 12.5rem;
}
.s_contents .pb0 {
  padding-bottom: 0;
}
.s_contents .pb10 {
  padding-bottom: 0.625rem;
}
.s_contents .pb20 {
  padding-bottom: 1.25rem;
}
.s_contents .pb30 {
  padding-bottom: 1.875rem;
}
.s_contents .pb40 {
  padding-bottom: 2.5rem;
}
.s_contents .pb50 {
  padding-bottom: 3.125rem;
}
.s_contents .pb60 {
  padding-bottom: 3.75rem;
}
.s_contents .pb70 {
  padding-bottom: 4.375rem;
}
.s_contents .pb80 {
  padding-bottom: 5rem;
}
.s_contents .pb90 {
  padding-bottom: 5.625rem;
}
.s_contents .pb100 {
  padding-bottom: 6.25rem;
}
.s_contents .pb110 {
  padding-bottom: 6.875rem;
}
.s_contents .pb120 {
  padding-bottom: 7.5rem;
}
.s_contents .pb130 {
  padding-bottom: 8.125rem;
}
.s_contents .pb140 {
  padding-bottom: 8.75rem;
}
.s_contents .pb150 {
  padding-bottom: 9.375rem;
}
.s_contents .pb160 {
  padding-bottom: 10rem;
}
.s_contents .pb170 {
  padding-bottom: 10.625rem;
}
.s_contents .pb180 {
  padding-bottom: 11.25rem;
}
.s_contents .pb190 {
  padding-bottom: 11.875rem;
}
.s_contents .pb200 {
  padding-bottom: 12.5rem;
}
@media screen and (max-width: 768px) {
  .s_contents .sp_mt0 {
    margin-top: 0;
  }
  .s_contents .sp_mt10 {
    margin-top: 0.625rem;
  }
  .s_contents .sp_mt20 {
    margin-top: 1.25rem;
  }
  .s_contents .sp_mt30 {
    margin-top: 1.875rem;
  }
  .s_contents .sp_mt40 {
    margin-top: 2.5rem;
  }
  .s_contents .sp_mt50 {
    margin-top: 3.125rem;
  }
  .s_contents .sp_mt60 {
    margin-top: 3.75rem;
  }
  .s_contents .sp_mt70 {
    margin-top: 4.375rem;
  }
  .s_contents .sp_mt80 {
    margin-top: 5rem;
  }
  .s_contents .sp_mt90 {
    margin-top: 5.625rem;
  }
  .s_contents .sp_mt100 {
    margin-top: 6.25rem;
  }
  .s_contents .sp_mt110 {
    margin-top: 6.875rem;
  }
  .s_contents .sp_mt120 {
    margin-top: 7.5rem;
  }
  .s_contents .sp_mt130 {
    margin-top: 8.125rem;
  }
  .s_contents .sp_mt140 {
    margin-top: 8.75rem;
  }
  .s_contents .sp_mt150 {
    margin-top: 9.375rem;
  }
  .s_contents .sp_mt160 {
    margin-top: 10rem;
  }
  .s_contents .sp_mt170 {
    margin-top: 10.625rem;
  }
  .s_contents .sp_mt180 {
    margin-top: 11.25rem;
  }
  .s_contents .sp_mt190 {
    margin-top: 11.875rem;
  }
  .s_contents .sp_mt200 {
    margin-top: 12.5rem;
  }
  .s_contents .sp_mb0 {
    margin-bottom: 0;
  }
  .s_contents .sp_mb10 {
    margin-bottom: 0.625rem;
  }
  .s_contents .sp_mb20 {
    margin-bottom: 1.25rem;
  }
  .s_contents .sp_mb30 {
    margin-bottom: 1.875rem;
  }
  .s_contents .sp_mb40 {
    margin-bottom: 2.5rem;
  }
  .s_contents .sp_mb50 {
    margin-bottom: 3.125rem;
  }
  .s_contents .sp_mb60 {
    margin-bottom: 3.75rem;
  }
  .s_contents .sp_mb70 {
    margin-bottom: 4.375rem;
  }
  .s_contents .sp_mb80 {
    margin-bottom: 5rem;
  }
  .s_contents .sp_mb90 {
    margin-bottom: 5.625rem;
  }
  .s_contents .sp_mb100 {
    margin-bottom: 6.25rem;
  }
  .s_contents .sp_mb110 {
    margin-bottom: 6.875rem;
  }
  .s_contents .sp_mb120 {
    margin-bottom: 7.5rem;
  }
  .s_contents .sp_mb130 {
    margin-bottom: 8.125rem;
  }
  .s_contents .sp_mb140 {
    margin-bottom: 8.75rem;
  }
  .s_contents .sp_mb150 {
    margin-bottom: 9.375rem;
  }
  .s_contents .sp_mb160 {
    margin-bottom: 10rem;
  }
  .s_contents .sp_mb170 {
    margin-bottom: 10.625rem;
  }
  .s_contents .sp_mb180 {
    margin-bottom: 11.25rem;
  }
  .s_contents .sp_mb190 {
    margin-bottom: 11.875rem;
  }
  .s_contents .sp_mb200 {
    margin-bottom: 12.5rem;
  }
  .s_contents .sp_pt0 {
    padding-top: 0;
  }
  .s_contents .sp_pt10 {
    padding-top: 0.625rem;
  }
  .s_contents .sp_pt20 {
    padding-top: 1.25rem;
  }
  .s_contents .sp_pt30 {
    padding-top: 1.875rem;
  }
  .s_contents .sp_pt40 {
    padding-top: 2.5rem;
  }
  .s_contents .sp_pt50 {
    padding-top: 3.125rem;
  }
  .s_contents .sp_pt60 {
    padding-top: 3.75rem;
  }
  .s_contents .sp_pt70 {
    padding-top: 4.375rem;
  }
  .s_contents .sp_pt80 {
    padding-top: 5rem;
  }
  .s_contents .sp_pt90 {
    padding-top: 5.625rem;
  }
  .s_contents .sp_pt100 {
    padding-top: 6.25rem;
  }
  .s_contents .sp_pt110 {
    padding-top: 6.875rem;
  }
  .s_contents .sp_pt120 {
    padding-top: 7.5rem;
  }
  .s_contents .sp_pt130 {
    padding-top: 8.125rem;
  }
  .s_contents .sp_pt140 {
    padding-top: 8.75rem;
  }
  .s_contents .sp_pt150 {
    padding-top: 9.375rem;
  }
  .s_contents .sp_pt160 {
    padding-top: 10rem;
  }
  .s_contents .sp_pt170 {
    padding-top: 10.625rem;
  }
  .s_contents .sp_pt180 {
    padding-top: 11.25rem;
  }
  .s_contents .sp_pt190 {
    padding-top: 11.875rem;
  }
  .s_contents .sp_pt200 {
    padding-top: 12.5rem;
  }
  .s_contents .sp_pb0 {
    padding-bottom: 0;
  }
  .s_contents .sp_pb10 {
    padding-bottom: 0.625rem;
  }
  .s_contents .sp_pb20 {
    padding-bottom: 1.25rem;
  }
  .s_contents .sp_pb30 {
    padding-bottom: 1.875rem;
  }
  .s_contents .sp_pb40 {
    padding-bottom: 2.5rem;
  }
  .s_contents .sp_pb50 {
    padding-bottom: 3.125rem;
  }
  .s_contents .sp_pb60 {
    padding-bottom: 3.75rem;
  }
  .s_contents .sp_pb70 {
    padding-bottom: 4.375rem;
  }
  .s_contents .sp_pb80 {
    padding-bottom: 5rem;
  }
  .s_contents .sp_pb90 {
    padding-bottom: 5.625rem;
  }
  .s_contents .sp_pb100 {
    padding-bottom: 6.25rem;
  }
  .s_contents .sp_pb110 {
    padding-bottom: 6.875rem;
  }
  .s_contents .sp_pb120 {
    padding-bottom: 7.5rem;
  }
  .s_contents .sp_pb130 {
    padding-bottom: 8.125rem;
  }
  .s_contents .sp_pb140 {
    padding-bottom: 8.75rem;
  }
  .s_contents .sp_pb150 {
    padding-bottom: 9.375rem;
  }
  .s_contents .sp_pb160 {
    padding-bottom: 10rem;
  }
  .s_contents .sp_pb170 {
    padding-bottom: 10.625rem;
  }
  .s_contents .sp_pb180 {
    padding-bottom: 11.25rem;
  }
  .s_contents .sp_pb190 {
    padding-bottom: 11.875rem;
  }
  .s_contents .sp_pb200 {
    padding-bottom: 12.5rem;
  }
}
.s_contents .note {
  background-color: #fff;
  border-radius: 1.25rem;
  padding: 2.25rem 3.125rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .s_contents .note {
    padding: 1.875rem 1.25rem 2.5rem;
    border-radius: 0.9375rem;
  }
}
.s_contents .note_head {
  position: absolute;
  top: 0;
  left: 0;
  width: 4.625rem;
  height: 4.625rem;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #009398;
  border: 1px solid #009398;
  border-radius: 50%;
  background-color: #fff;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  transform: translate(-40%, -40%);
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .s_contents .note_head {
    transform: translate(-50%, -80%);
    left: 50%;
  }
}
.s_contents .note_illust .note {
  position: relative;
}
.s_contents .note_illust .note::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 10rem;
  width: 1.75rem;
  height: 2.4375rem;
  background: url(../img/common/fukidashi_white.svg) no-repeat center/contain;
  transform: translateY(70%);
}
.s_contents .note_illust .illust {
  margin-top: 0.625rem;
  margin-left: auto;
}
.s_contents .list_disc {
  padding-left: 1em;
}
.s_contents .list_disc li:nth-child(n+2) {
  margin-top: 0.625rem;
}
.s_contents .list_disc li {
  position: relative;
}
.s_contents .list_disc li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: -0.75em;
  color: #009398;
}
.s_contents .list_num {
  padding-left: 1.5em;
  list-style: decimal;
}
.s_contents .list_num li:nth-child(n+2) {
  margin-top: 0.625rem;
}
.s_contents .list_dot.last_no_line li:last-child {
  padding-bottom: 0;
}
.s_contents .list_dot.last_no_line li:last-child::before {
  display: none;
}
.s_contents .list_dot.list_dot_white li::before {
  background-image: linear-gradient(to right, #fff, #fff 4px, rgba(255, 255, 255, 0) 4px, rgba(255, 255, 255, 0) 8px);
}
.s_contents .list_dot li {
  position: relative;
  padding-top: 1.875rem;
  padding-bottom: 1.875rem;
}
@media screen and (max-width: 768px) {
  .s_contents .list_dot li {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }
}
.s_contents .list_dot li::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.125rem;
  background-image: linear-gradient(to right, #000, #000 4px, rgba(255, 255, 255, 0) 4px, rgba(255, 255, 255, 0) 8px);
  background-size: 8px 1px;
  background-repeat: repeat-x;
}
.s_contents .list_dot li:first-child {
  padding-top: 0;
}
.s_contents .list_color {
  color: #009398;
}
.s_contents .slider_type01_wrap {
  border-radius: 0.625rem;
  background-color: #fff;
  padding: 1.25rem 1.875rem 1.875rem;
}
@media screen and (max-width: 768px) {
  .s_contents .slider_type01_wrap {
    margin-right: calc(50% - 50vw);
    border-radius: 0.625rem 0 0 0.625rem;
    padding-right: 0;
  }
}
.s_contents .slider_type01 {
  position: relative;
}
.s_contents .slider_type01.is_last::before {
  visibility: hidden;
  opacity: 0;
  transform: translateX(50%);
}
.s_contents .slider_type01::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 4.25rem;
  height: 100%;
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0), #fff 100%);
  z-index: 2;
  opacity: 1;
  transition: visibility 0.15s ease, opacity 0.15s ease, transform 0.3s ease;
}
.s_contents .slider_type01 .swiper-slide {
  width: 12.375rem;
}
@media screen and (max-width: 768px) {
  .s_contents .slider_type01 {
    padding-right: 1.875rem;
  }
}
.s_contents .eye_slider {
  overflow: visible;
}
.s_contents .eye_slider .swiper-wrapper {
  overflow: visible;
}
.s_contents .slider_type02_wrap {
  position: relative;
  padding-bottom: 5.625rem;
}
@media screen and (max-width: 768px) {
  .s_contents .slider_type02_wrap {
    padding-bottom: 3.25rem;
  }
}
.s_contents .slider_type02 {
  overflow: visible;
}
@media screen and (max-width: 768px) {
  .s_contents .slider_type02_slide {
    width: 17.75rem;
  }
}
.s_contents .slider_type02_slide_link:hover .slider_type02_more, .s_contents .slider_type02_slide_link:focus .slider_type02_more {
  transform: translateY(26%) scale(1.1);
}
.s_contents .slider_type02_lead {
  font-weight: 500;
  letter-spacing: 0.46em;
  line-height: 2;
  position: relative;
}
@media screen and (max-width: 768px) {
  .s_contents .slider_type02_lead {
    font-size: 0.875rem;
    letter-spacing: 0.42em;
  }
}
.s_contents .slider_type02_lead::after {
  background-color: #dbefec;
}
.s_contents .slider_type02_lead::before, .s_contents .slider_type02_lead::after {
  width: 0.75rem;
  height: 0.625rem;
}
.s_contents .slider_type02_ttl {
  font-size: 3.125rem;
  font-weight: 500;
  font-family: "Shippori Mincho", serif;
  letter-spacing: 0.1em;
  line-height: 1.75;
}
@media screen and (max-width: 768px) {
  .s_contents .slider_type02_ttl {
    font-size: 1.8125rem;
    line-height: 1.4482758621;
    margin-top: 1.625rem;
    letter-spacing: 0.05em;
  }
}
.s_contents .slider_type02_ttl .marker {
  display: inline;
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) calc(100% - 1rem), #fff calc(100% - 1rem), #fff calc(100% - 0.375rem), rgba(255, 255, 255, 0) calc(100% - 0.375rem), rgba(255, 255, 255, 0) 100%);
}
.s_contents .slider_type02_img_wrap {
  position: relative;
}
.s_contents .slider_type02_img {
  aspect-ratio: 1080/608;
  overflow: hidden;
  margin-top: 1.125rem;
}
.s_contents .slider_type02_img img {
  height: 100%;
  object-fit: cover;
}
.s_contents .slider_type02_more {
  position: absolute;
  font-size: 1.125rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  letter-spacing: 0.18em;
  line-height: 1.3888888889;
  width: 7.625rem;
  height: 7.625rem;
  background-color: #fff;
  border: 1px solid #000;
  bottom: 0;
  right: 0.75rem;
  z-index: 2;
  border-radius: 50%;
  transform: translateY(26%);
  transition: transform 0.3s ease;
}
@media screen and (max-width: 768px) {
  .s_contents .slider_type02_more {
    font-size: 0.875rem;
    width: 5.875rem;
    height: 5.875rem;
    right: 0;
    transform: translateY(70%);
  }
}
.s_contents .slider_type02_more::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 1rem;
  width: 0.4375rem;
  aspect-ratio: 7/13;
  background: url(../img/common/icon_arrow_simple.svg) no-repeat center/contain;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .s_contents .slider_type02_more::before {
    width: 0.3125rem;
    right: 0.75rem;
  }
}
.s_contents .slider_type02_contents {
  margin-top: 2.5rem;
  display: grid;
  grid-template-columns: 31.25rem auto;
  column-gap: 0.625rem;
}
@media screen and (max-width: 768px) {
  .s_contents .slider_type02_contents {
    display: flex;
    flex-direction: column;
    margin-top: 1.25rem;
  }
  .s_contents .slider_type02_contents .s_genre_cats {
    width: calc(100% - 6.25rem);
  }
}
.s_contents .slider_type02_contents_meta .s_tags {
  margin-top: 1rem;
  font-size: 0.8125rem;
}
@media screen and (max-width: 768px) {
  .s_contents .slider_type02_contents_meta .s_tags {
    margin-top: 1.25rem;
  }
}
.s_contents .slider_type02_tour {
  font-size: 1.25rem;
  line-height: 1.6;
  font-weight: 500;
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .s_contents .slider_type02_tour {
    font-size: 1.125rem;
    line-height: 1.7777777778;
    margin-top: 0.125rem;
  }
}
.s_contents .slider_type02_tour span {
  display: inline;
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) calc(100% - 1px), #000 calc(100% - 1px), #000 100%);
  padding-bottom: 1px;
}
@media screen and (max-width: 768px) {
  .s_contents .slider_type02_texts {
    margin-top: 1.375rem;
  }
}
.s_contents .slider_type02_text {
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: normal;
  line-height: 2.2;
  text-align: justify;
}
@media screen and (max-width: 768px) {
  .s_contents .slider_type02_text {
    font-size: 0.875rem;
    line-height: 1.7857142857;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
  }
}
@media screen and (max-width: 768px) {
  .s_contents .slider_type02_pagination {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    row-gap: 0.375rem;
    column-gap: 1.25rem;
  }
}
.s_contents .slider_type02_pagination .swiper-pagination-bullet {
  width: 5.25rem;
  height: 0.3125rem;
  border: none;
  background-color: #fff;
  opacity: 1;
  margin: 0 0.875rem !important;
  border-radius: 0;
}
@media screen and (max-width: 768px) {
  .s_contents .slider_type02_pagination .swiper-pagination-bullet {
    max-width: 3.875rem;
    margin: 0 !important;
    flex: 1;
  }
}
.s_contents .slider_type02_pagination .swiper-pagination-bullet-active {
  background-color: #000;
}
.s_contents .slider_buttons {
  display: flex;
  column-gap: 1.25rem;
}
.s_contents .slider_button {
  width: 2.5rem;
  height: 2.5rem;
  background-color: #fff;
  border: 1px solid #000;
  position: relative;
  cursor: pointer;
}
.s_contents .slider_button::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0.4375rem;
  height: 0.875rem;
  background: url(../img/common/icon_arrow_simple.svg) no-repeat center/contain;
}
.s_contents .slider_button_prev::before {
  transform: translate(-50%, -50%) rotate(180deg);
}
.s_contents .slider_type03 {
  padding-bottom: 0.625rem;
}
.s_contents .slider_type03 .swiper-wrapper {
  overflow: visible;
}
.s_contents .slider_type03_slide {
  width: 19.5rem;
}
@media screen and (max-width: 768px) {
  .s_contents .slider_type03_slide {
    width: 11.875rem;
  }
}
.s_contents .slider_type03_slide_link {
  display: block;
}
.s_contents .slider_type03_slide_link:hover .slider_type03_slide_ttl::before, .s_contents .slider_type03_slide_link:focus .slider_type03_slide_ttl::before {
  transform: translateY(-60%) scale(1.1);
}
.s_contents .slider_type03_slide_img {
  overflow: hidden;
  aspect-ratio: 1/1;
  border-radius: 1.25rem;
}
@media screen and (max-width: 768px) {
  .s_contents .slider_type03_slide_img {
    border-radius: 0.75rem;
  }
}
.s_contents .slider_type03_slide_img img {
  height: 100%;
  object-fit: cover;
}
.s_contents .slider_type03_slide_ttl {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.115em;
  padding-right: 5.625rem;
  position: relative;
  font-feature-settings: normal;
  min-height: 3.8em;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .s_contents .slider_type03_slide_ttl {
    font-size: 0.9375rem;
    padding-right: 3.125rem;
    letter-spacing: 0.05em;
    min-height: 2.67em;
  }
}
.s_contents .slider_type03_slide_ttl::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-60%);
  width: 5rem;
  aspect-ratio: 1/1;
  background: url(../img/common/icon_arrow_circle2.svg) no-repeat center/contain;
  transition: transform 0.3s ease;
}
@media screen and (max-width: 768px) {
  .s_contents .slider_type03_slide_ttl::before {
    width: 3rem;
  }
}
.s_contents .slider_type04 {
  padding-right: 5rem;
}
.s_contents .slider_type04_slide {
  width: 16.25rem;
}
@media screen and (max-width: 768px) {
  .s_contents .slider_type04_slide {
    width: 11.625rem;
  }
}
.s_contents .slider_type04_slide_link {
  display: block;
}
.s_contents .slider_type04_slide_link:hover .slider_type04_slide_img img, .s_contents .slider_type04_slide_link:focus .slider_type04_slide_img img {
  transform: scale(1.05);
}
.s_contents .slider_type04_slide_head {
  display: grid;
}
.s_contents .slider_type04_slide_lead {
  grid-column: 1/2;
  grid-row: 1/2;
  writing-mode: vertical-rl;
  font-size: 0.875rem;
  line-height: 1.5714285714;
  letter-spacing: 0.13em;
  font-weight: 500;
  position: relative;
  z-index: 2;
  transform: translate(1.5625rem, 1rem);
}
@media screen and (max-width: 768px) {
  .s_contents .slider_type04_slide_lead {
    font-size: 0.6875rem;
    line-height: 1.6363636364;
    transform: translate(1.0625rem, 1rem);
  }
}
.s_contents .slider_type04_slide_lead span {
  display: inline;
  background-color: #fff;
  background-image: linear-gradient(#fff 0%, #fff 100%);
  padding: 0.375rem;
}
.s_contents .slider_type04_slide_img {
  grid-column: 1/2;
  grid-row: 1/2;
  overflow: hidden;
  clip-path: ellipse(50% 50% at 50% 50%);
  aspect-ratio: 260/188;
}
.s_contents .slider_type04_slide_img img {
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.s_contents .slider_type04_slide_ttl {
  text-align: center;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.185em;
  line-height: 1.7777777778;
  margin-top: 0.25rem;
}
@media screen and (max-width: 768px) {
  .s_contents .slider_type04_slide_ttl {
    font-size: 0.9375rem;
    line-height: 1.5333333333;
  }
}
.s_contents .slider_button_hide {
  display: none;
}
.s_contents .slider_type05 {
  padding-right: 5rem;
}
.s_contents .slider_type05_slide {
  width: 20rem;
}
.s_contents .card_cats {
  display: flex;
  flex-wrap: wrap;
  column-gap: 0.25rem;
  row-gap: 0.25rem;
}
.s_contents .card_cats.card_cats_column1 {
  flex-direction: column;
  width: fit-content;
}
.s_contents .card_cat {
  letter-spacing: 0.05em;
  font-feature-settings: "palt";
  font-weight: 500;
  line-height: 1.6153846154;
  background-color: #000;
  color: #fff;
  border-radius: 6.25rem;
  padding: 0 0.75em;
  display: inline-block;
}
.s_contents .card_cat.card_cat_white {
  background-color: #fff;
  color: #000;
}
.s_contents .card_tag {
  letter-spacing: 0.05em;
  font-feature-settings: "palt";
  font-weight: 500;
  line-height: 1.6153846154;
  white-space: nowrap;
}
.s_contents .card_img {
  aspect-ratio: 3/2;
  overflow: hidden;
}
.s_contents .card_img img {
  height: 100%;
  object-fit: cover;
}
.s_contents .card_bg {
  background-color: #fff;
  border-radius: 0.625rem;
  padding: 1.75rem;
}
.s_contents .card_type01 {
  transition: opacity 0.3s ease;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.s_contents .card_type01 img {
  transition: transform 0.3s ease;
}
.s_contents .card_type01:hover, .s_contents .card_type01:focus {
  opacity: 0.7;
}
.s_contents .card_type01:hover img, .s_contents .card_type01:focus img {
  transform: scale(1.05);
}
.s_contents .card_type01 .card_head {
  display: flex;
  justify-content: space-between;
  align-items: start;
  column-gap: 0.625rem;
}
.s_contents .card_type01 .card_excerpt {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.s_contents .card_type01 div {
  aspect-ratio: 3/2;
  overflow: hidden;
}
.s_contents .card_type01 p {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1.75;
  padding-right: 1.5rem;
  margin-top: 0.75rem;
  position: relative;
  font-weight: 500;
}
.s_contents .card_type01 p::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 1.1875rem;
  height: 1.1875rem;
  background: url(../img/common/icon_arrow_circle.svg) no-repeat center/contain;
  translate: 0 -20%;
}
.s_contents .card_type02 {
  transition: opacity 0.3s ease;
}
.s_contents .card_type02 img {
  transition: transform 0.3s ease;
}
.s_contents .card_type02:hover, .s_contents .card_type02:focus {
  opacity: 0.7;
}
.s_contents .card_type02:hover img, .s_contents .card_type02:focus img {
  transform: scale(1.05);
}
.s_contents .card_type02 .card_head {
  display: flex;
  justify-content: space-between;
  align-items: start;
  column-gap: 0.625rem;
}
.s_contents .card_type02 .card_excerpt {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.s_contents .card_type02 p {
  line-height: 1.6;
  margin-top: 0.75rem;
}
.s_contents .card_type02 .button_type01 {
  font-size: 0.6875rem;
}
.s_contents .card_type03 {
  transition: opacity 0.3s ease;
}
.s_contents .card_type03 img {
  transition: transform 0.3s ease;
}
.s_contents .card_type03:hover, .s_contents .card_type03:focus {
  opacity: 0.7;
}
.s_contents .card_type03:hover img, .s_contents .card_type03:focus img {
  transform: scale(1.05);
}
.s_contents .card_type03 .card_head {
  display: flex;
  justify-content: space-between;
  align-items: start;
  column-gap: 0.625rem;
}
.s_contents .card_type03 .card_excerpt {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.s_contents .card_type03 .card_img {
  aspect-ratio: 16/9;
  border-radius: 0.75rem;
}
.s_contents .card_type03 .card_head {
  margin-top: 1.625rem;
  margin-bottom: 1.625rem;
}
@media screen and (max-width: 768px) {
  .s_contents .card_type03 .card_head {
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
  }
}
.s_contents .card_type03 .card_excerpt {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  letter-spacing: 0.03em;
  font-feature-settings: "palt";
  margin-top: 0.625rem;
}
@media screen and (max-width: 768px) {
  .s_contents .card_type03 .card_excerpt {
    font-size: 0.75rem;
  }
}
.s_contents .card_type03 p:not(.card_excerpt) {
  line-height: 2;
}
@media screen and (min-width: 769px) {
  .s_contents .card_type03 p:not(.card_excerpt) {
    font-size: 1rem;
  }
}
.s_contents .card_type03 .card_cats {
  font-size: 0.8125rem;
}
@media screen and (max-width: 768px) {
  .s_contents .card_type03 .card_cats {
    font-size: 0.75rem;
  }
}
.s_contents .card_type04 {
  transition: opacity 0.3s ease;
  display: flex;
  column-gap: 2.5rem;
  border: 1px solid #009398;
  border-radius: 1.25rem;
  padding: 1.875rem 1.875rem 1.875rem 2.875rem;
}
.s_contents .card_type04 img {
  transition: transform 0.3s ease;
}
.s_contents .card_type04:hover, .s_contents .card_type04:focus {
  opacity: 0.7;
}
.s_contents .card_type04:hover img, .s_contents .card_type04:focus img {
  transform: scale(1.05);
}
.s_contents .card_type04 .card_head {
  display: flex;
  justify-content: space-between;
  align-items: start;
  column-gap: 0.625rem;
}
.s_contents .card_type04 .card_excerpt {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media screen and (max-width: 768px) {
  .s_contents .card_type04 {
    flex-direction: column-reverse;
    padding: 1.75rem 1.375rem;
  }
}
@media screen and (min-width: 769px) {
  .s_contents .card_type04 .card_img {
    max-width: 14.0625rem;
  }
}
@media screen and (max-width: 768px) {
  .s_contents .card_type04 .card_img {
    margin-bottom: 1.25rem;
  }
}
.s_contents .card_type04 div {
  flex: 1;
}
@media screen and (max-width: 768px) {
  .s_contents .card_type04 .button_type01 {
    text-align: right;
    display: block;
  }
}
.s_contents .card_type04 dl {
  margin-top: 0;
}
.s_contents .card_type04 dl dt {
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.75;
  font-family: "Shippori Mincho", serif;
  color: #009398;
  display: inline;
  background: linear-gradient(rgba(255, 255, 255, 0) calc(100% - 1px), #009398 1px);
  padding: 0 0 0.5rem;
  font-family: "Shippori Mincho", serif;
}
@media screen and (max-width: 768px) {
  .s_contents .card_type04 dl dt {
    font-size: 1rem;
    padding-bottom: 0.25rem;
  }
}
.s_contents .card_type04 dl dd {
  margin-top: 0.625rem;
}
@media screen and (max-width: 768px) {
  .s_contents .tab_wrap {
    border: 1px solid rgba(0, 0, 0, 0.78);
    border-radius: 1.125rem;
    padding: 1.875rem 1.25rem;
  }
}
.s_contents .tab_buttons {
  display: grid;
  column-gap: 2.875rem;
}
@media screen and (max-width: 768px) {
  .s_contents .tab_buttons {
    display: none;
  }
}
.s_contents .tab_button {
  text-align: center;
  padding-bottom: 1.25rem;
  position: relative;
  background-color: #edf7f9;
}
.s_contents .tab_button::before, .s_contents .tab_button::after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 1.4375rem;
  height: 1.4375rem;
  border-radius: 0% 100% 5% 95%/5% 100% 0% 95%;
  filter: drop-shadow(-1px 1px 0px #000);
  background-color: #edf7f9;
  opacity: 0;
  z-index: 2;
}
.s_contents .tab_button::before {
  transform: translate(-105%, -1%) scale(-1, 1);
  left: 0;
}
.s_contents .tab_button::after {
  transform: translate(105%, -1%);
  right: 0;
}
.s_contents .tab_button:first-child::before {
  display: none !important;
}
.s_contents .tab_button:first-child span::after {
  left: 0;
  width: calc(100% + 1.4375rem);
  transform: translateY(100%);
}
.s_contents .tab_button:last-child::after {
  display: none !important;
}
.s_contents .tab_button:last-child span::after {
  left: unset;
  right: 0;
  width: calc(100% + 1.4375rem);
  transform: translateY(100%);
}
.s_contents .tab_button:hover {
  cursor: pointer;
}
.s_contents .tab_button span {
  min-height: 4.125rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  line-height: 1.5;
  letter-spacing: 0.185em;
  transform: all 0.3s ease;
  position: relative;
  border-top: 1px solid #b8b8b8;
  border-left: 1px solid #b8b8b8;
  border-right: 1px solid #b8b8b8;
  background-color: #eaeaea;
  color: #7e7e7e;
  border-radius: 1.4375rem 1.4375rem 0 0;
  z-index: 1;
}
.s_contents .tab_button span::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 80%);
  width: 2.0625rem;
  height: 0.375rem;
  background: url(../img/common/icon_arrow_tab.svg) no-repeat center/contain;
  opacity: 0;
  transition: opacity 0.3s ease, transform 0.3s ease;
  z-index: 2;
}
.s_contents .tab_button span::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: calc(100% + 2.875rem);
  height: 1.5rem;
  background-color: #edf7f9;
  transform: translate(-50%, 100%);
  opacity: 0;
}
.s_contents .tab_button.active {
  border-top: 1px solid #000;
  border-left: 1px solid #000;
  border-right: 1px solid #000;
  border-radius: 1.4375rem 1.4375rem 0 0;
}
.s_contents .tab_button.active::before, .s_contents .tab_button.active::after {
  opacity: 1;
}
.s_contents .tab_button.active span {
  font-size: 1rem;
  background-color: unset;
  border: none;
  color: #000;
}
.s_contents .tab_button.active span::before {
  transform: translate(-50%, 100%);
  opacity: 1;
}
.s_contents .tab_button.active span::after {
  opacity: 1;
}
.s_contents .tab_select {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  border: none;
  box-shadow: none;
  font-family: inherit;
  color: inherit;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.185em;
  font-feature-settings: "palt";
  line-height: 1.7857142857;
  background-color: #edf7f9;
  width: 100%;
  border-radius: 0;
  background: #edf7f9 url(../img/common/icon_select.svg) no-repeat center right/0.75rem 0.625rem;
}
@media screen and (min-width: 769px) {
  .s_contents .tab_select {
    display: none;
  }
}
.s_contents .tab_button_column2 {
  grid-template-columns: repeat(2, 1fr);
}
.s_contents .tab_button_column3 {
  grid-template-columns: repeat(3, 1fr);
}
.s_contents .tab_button_column4 {
  grid-template-columns: repeat(4, 1fr);
}
.s_contents .tab_areas {
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .s_contents .tab_areas {
    border-top: 1px solid rgba(0, 0, 0, 0.72);
    margin-top: 1.875rem;
    padding-top: 2.1875rem;
  }
}
.s_contents .tab_area {
  display: none;
}
.s_contents .tab_area .slider_column1 {
  margin-top: 0;
}
@media screen and (min-width: 769px) {
  .s_contents .tab_area {
    border: 1px solid #000;
    border-radius: 1.4375rem;
    padding: 4.375rem 4.375rem 3.75rem;
  }
  .s_contents .tab_area:first-child {
    border-radius: 0 1.4375rem 1.4375rem 1.4375rem;
  }
  .s_contents .tab_area:last-child {
    border-radius: 1.4375rem 0 1.4375rem 1.4375rem;
  }
}
.s_contents .tab_area.active {
  display: block;
}

.s_form {
  padding: 2.5rem;
  background-color: #fff;
  margin: 1.25rem 2.5rem 2.5rem;
}
@media screen and (max-width: 768px) {
  .s_form {
    padding: 0.625rem;
    margin: 0.625rem 0.625rem 1.25rem;
  }
}
@media screen and (max-width: 768px) {
  .s_form .s_form_pc {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  .s_form .s_form_sp {
    display: none;
  }
}
.s_form iframe {
  width: 100%;
  height: auto;
}

.s_island_create dt {
  font-size: 1.25rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .s_island_create dt {
    font-size: 0.9375rem;
  }
}
.s_island_create .s_island_create_line {
  max-width: 16.25rem;
  margin-left: auto;
  margin-right: auto;
}
.s_island_create .s_island_create_head {
  font-size: 1.25rem;
  letter-spacing: 0.335em;
  line-height: 1.6;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .s_island_create .s_island_create_head {
    font-size: 0.875rem;
  }
}
.s_island_create .s_island_create_head span {
  display: inline-block;
  position: relative;
  padding-bottom: 0.625rem;
  font-feature-settings: "palt";
}
.s_island_create .s_island_create_head span::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.625rem;
  background: url(../img/common/island_line.svg) no-repeat center/contain;
}
@media screen and (max-width: 768px) {
  .s_island_create .s_island_create_head span::before {
    height: 0.375rem;
  }
}
.s_island_create .s_island_create_steps {
  column-gap: 4.625rem;
  row-gap: 0.625rem;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .s_island_create .s_island_create_steps {
    flex-direction: column;
    align-items: center;
    row-gap: 1.25rem;
  }
}
.s_island_create .s_island_create_step {
  width: calc(33% - 3.0833333333rem);
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  position: relative;
  background: url(../img/common/island_bg_shape.svg) no-repeat center/contain;
  color: #009398;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.185em;
  line-height: 1.75;
  font-feature-settings: "palt";
}
@media screen and (max-width: 768px) {
  .s_island_create .s_island_create_step {
    width: 100%;
    max-width: 8.5rem;
    font-size: 0.8125rem;
  }
}
.s_island_create .s_island_create_step:nth-child(n+2)::before {
  content: "";
  position: absolute;
  transform: translate(-50%, -50%);
  width: 0.8125rem;
  height: 0.8125rem;
  background: url(../img/common/icon_arrow_white.svg) no-repeat center/contain;
}
@media screen and (min-width: 769px) {
  .s_island_create .s_island_create_step:nth-child(n+2)::before {
    left: -2.3125rem;
    top: 50%;
  }
}
@media screen and (max-width: 768px) {
  .s_island_create .s_island_create_step:nth-child(n+2)::before {
    top: -0.625rem;
    transform: translate(-50%, -50%) rotate(90deg);
    left: 50%;
    width: 0.6875rem;
    height: 0.6875rem;
  }
}
.s_island_create .s_island_create_text {
  letter-spacing: 0.185em;
  line-height: 2.1333333333;
  text-align: center;
}

.s_pagination {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 8.125rem;
  margin-bottom: 1.875rem;
  align-items: center;
  column-gap: 0.625rem;
}
@media screen and (max-width: 768px) {
  .s_pagination {
    margin-top: 3.125rem;
    padding-bottom: 100px;
  }
}

.s_pagination_page {
  grid-row: 1/2;
  font-size: 0.9375rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.1333333333;
  width: fit-content;
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
@media screen and (max-width: 768px) {
  .s_pagination_page {
    font-size: 0.8125rem;
    -webkit-line-clamp: 4;
  }
}
.s_pagination_page::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1.0625rem;
  aspect-ratio: 17/56;
  background: url(../img/common/page_arrow.svg) no-repeat center/contain;
  transition: transform 0.3s ease;
}
.s_pagination_page.-prev {
  grid-column: 1/2;
  padding-left: 1.875rem;
}
@media screen and (max-width: 768px) {
  .s_pagination_page.-prev {
    padding-left: 1.5rem;
  }
}
.s_pagination_page.-prev:hover::before, .s_pagination_page.-prev:focus::before {
  transform: translate(-0.2em, -50%);
}
.s_pagination_page.-prev::before {
  left: 0;
}
.s_pagination_page.-next {
  grid-column: 3/4;
  justify-self: flex-end;
  padding-right: 1.875rem;
}
@media screen and (max-width: 768px) {
  .s_pagination_page.-next {
    padding-right: 1.5rem;
  }
}
.s_pagination_page.-next:hover::before, .s_pagination_page.-next:focus::before {
  transform: translate(0.2em, -50%) scale(-1, 1);
}
.s_pagination_page.-next::before {
  right: 0;
  transform: translateY(-50%) scale(-1, 1);
}

.s_pagination_all {
  grid-row: 1/2;
  grid-column: 2/3;
  display: block;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  font-size: 0.9375rem;
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.05em;
  line-height: 2.3333333333;
  border-radius: 62.5rem;
  background-color: #6f6f6f;
  padding: 0 0.625rem;
}
@media screen and (max-width: 768px) {
  .s_pagination_all {
    font-size: 0.8125rem;
  }
}

.s_related {
  background-color: #fff;
  padding: 6.25rem 0;
  position: relative;
}
.s_related .s-nav_ttl {
  text-align: center;
  font-size: 0.75rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  position: relative;
  z-index: 3;
}
.s_related .s-nav_ttl .logo {
  width: 8.625rem;
}
.s_related .s_related_ttl {
  text-align: center;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.125rem;
  letter-spacing: 0.635em;
  margin-top: 1.875rem;
}
.s_related .s_related_cards {
  column-gap: 3.75rem;
}

.s_related_wind {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -60%);
  z-index: 2;
  max-width: 40.3125rem;
}
@media screen and (max-width: 768px) {
  .s_related_wind {
    width: 23.8125rem;
    transform: translate(-70%, -60%);
  }
}

.s_section_bg {
  position: relative;
  padding: 6.25rem 0 11.25rem;
  background-color: #f0f1e8;
}
@media screen and (max-width: 768px) {
  .s_section_bg {
    padding: 5rem 0 6.25rem;
  }
}
.s_section_bg .s_section_bg_wind {
  width: 28.25rem;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-200%, -50%);
}
@media screen and (max-width: 768px) {
  .s_section_bg .s_section_bg_wind {
    display: none;
  }
}
.s_section_bg .s_section_bg_wind_contents {
  position: relative;
  z-index: 2;
}

/*======================================
    toggle
======================================*/
.toggle_type01 {
  border-radius: 1.25rem;
  padding: 2.5rem 3.75rem;
  cursor: pointer;
  background-color: #009398;
  color: #fff;
}
.toggle_type01 .toggle_head {
  padding-right: 2.5rem;
}
@media screen and (max-width: 768px) {
  .toggle_type01 .toggle_head {
    padding-right: 1.25rem;
  }
  .toggle_type01 .toggle_head::after {
    right: 0;
  }
}
@media screen and (max-width: 768px) {
  .toggle_type01 {
    padding: 1.875rem 1.25rem;
    border-radius: 0.9375rem;
  }
}
.toggle_type01 .toggle_body {
  display: none;
}
.toggle_type01 .toggle_head {
  display: flex;
  position: relative;
  padding-right: 2.5rem;
}
@media screen and (max-width: 768px) {
  .toggle_type01 .toggle_head {
    padding-right: 0;
  }
}
.toggle_type01 .toggle_head::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.25rem;
  transform: translateY(-50%) rotate(45deg);
  width: 0.5625rem;
  height: 0.5625rem;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  transition: all 0.3s ease;
}
.toggle_type01 .toggle_head.active::after {
  transform: translateY(-50%) rotate(225deg);
}
.toggle_type01 .toggle_head .icon {
  width: 0.75em;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 0.6em;
}

.toggle_type02 {
  border-radius: 1.25rem;
  padding: 2.5rem 3.75rem;
  cursor: pointer;
  background-color: #fff;
  border: 1px solid #000;
}
.toggle_type02 .toggle_head {
  padding-right: 2.5rem;
}
@media screen and (max-width: 768px) {
  .toggle_type02 .toggle_head {
    padding-right: 1.25rem;
  }
  .toggle_type02 .toggle_head::after {
    right: 0;
  }
}
@media screen and (max-width: 768px) {
  .toggle_type02 {
    padding: 1.875rem 1.25rem;
    border-radius: 0.9375rem;
  }
}
.toggle_type02 .toggle_body {
  display: none;
}
@media screen and (max-width: 768px) {
  .toggle_type02 {
    border-radius: 0.3125rem;
  }
}
.toggle_type02 .faq {
  width: 1.5rem;
  height: 2.5rem;
  font-size: 1.1875rem;
  display: flex;
  align-items: center;
  border-right: 1px solid #000;
  font-weight: 500;
  line-height: 1;
}
.toggle_type02 .toggle_head,
.toggle_type02 .toggle_body {
  position: relative;
  letter-spacing: 0.185em;
}
@media screen and (max-width: 768px) {
  .toggle_type02 .toggle_head,
  .toggle_type02 .toggle_body {
    font-size: 0.75rem;
    line-height: 1.75;
    letter-spacing: 0.05em;
    padding-right: 2.25rem;
  }
}
.toggle_type02 .faq_wrap {
  display: grid;
  grid-template-columns: 3.25rem auto;
}
@media screen and (max-width: 768px) {
  .toggle_type02 .faq_wrap {
    grid-template-columns: 2.8125rem auto;
  }
}
.toggle_type02 .toggle_head {
  min-height: 2.5rem;
  line-height: 2.1333333333;
}
.toggle_type02 .toggle_head::before, .toggle_type02 .toggle_head::after {
  content: "";
  position: absolute;
  top: 1.25rem;
  right: 0;
  width: 1rem;
  height: 1px;
  background-color: #000;
  transform: translateY(-50%);
  transition: transform 0.3s ease;
}
@media screen and (max-width: 768px) {
  .toggle_type02 .toggle_head::before, .toggle_type02 .toggle_head::after {
    width: 0.625rem;
  }
}
.toggle_type02 .toggle_head::after {
  transform: translateY(-50%) rotate(90deg);
}
.toggle_type02 .toggle_head.active::after {
  transform: translateY(-50%);
}
.toggle_type02 .toggle_body {
  margin-top: 1.25rem;
}
@media screen and (min-width: 769px) {
  .toggle_type02 .toggle_body {
    font-size: 0.875rem;
    line-height: 2.2857142857;
  }
}
@media screen and (min-width: 1025px) {
  .toggle_type02 .toggle_body {
    padding-right: 1.875rem;
  }
}

/*======================================
    shimanavi
======================================*/
.s-nav_head {
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  transform: translateX(-0.625rem);
}
@media screen and (max-width: 768px) {
  .s-nav_head {
    transform: translateX(0);
    margin-bottom: 1.75rem;
  }
}

.s-nav_ttl {
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.8461538462;
}
@media screen and (max-width: 768px) {
  .s-nav_ttl {
    font-size: 0.625rem;
  }
}
.s-nav_ttl .logo {
  display: block;
  width: 9.875rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 1.125rem;
}
@media screen and (max-width: 768px) {
  .s-nav_ttl .logo {
    width: 7.5625rem;
    margin-top: 0.5rem;
  }
}

.s-nav_illust {
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translate(calc(-100% - 1.875rem), -14%);
}
@media screen and (max-width: 768px) {
  .s-nav_illust {
    left: unset;
    right: 0;
    transform: translate(calc(100% + 1.125rem), -4%);
  }
}
.s-nav_illust .illust {
  width: 8rem;
}

.s_update {
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.75;
  color: #919191;
}

.article .s_date {
  font-size: 0.875rem;
  letter-spacing: 0.185em;
}
.article .s_title_m {
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.75;
  font-family: "Shippori Mincho", serif;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.article .s_news_contents {
  margin-top: 3.75rem;
}

.s_section_share {
  text-align: center;
}
.s_section_share .s_section_share_wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 768px) {
  .s_section_share .s_section_share_wrap {
    display: flex;
  }
}
.s_section_share .s_section_share_wrap p {
  font-size: 0.9375rem;
}
.s_section_share .s_section_share_wrap .s_section_share_contents {
  grid-column: 2/3;
  grid-row: 1/2;
}
@media screen and (max-width: 768px) {
  .s_section_share .s_section_share_wrap .s_section_share_contents {
    flex: 1;
  }
}
.s_section_share .s_section_share_wrap .s_section_share_illust {
  grid-row: 1/2;
  grid-column: 3/4;
  justify-self: flex-end;
  align-self: flex-end;
}
.s_section_share .s_section_share_wrap .s_section_share_illust .illust {
  width: 7.875rem;
}

.s_button_shimanoma.button_type03 {
  max-width: 100%;
  min-width: 27.5rem;
  width: fit-content;
  height: 6.25rem;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .s_button_shimanoma.button_type03 {
    height: 4.375rem;
    min-width: unset;
    font-size: 0.8125rem;
    letter-spacing: 0.27em;
  }
}
.s_button_shimanoma.button_type03 .logo_shimanoma {
  display: inline-block;
  width: 7.73em;
  margin-right: 1.2em;
  align-self: center;
  transform: translateY(8%);
}
@media screen and (max-width: 768px) {
  .s_button_shimanoma.button_type03 .logo_shimanoma {
    width: 6.3em;
    margin-right: 1em;
  }
}

.s_island_contact .text_m {
  font-size: 0.875rem;
}
.s_island_contact .text_s {
  font-size: 0.8125rem;
  line-height: 1.6923076923;
}
@media screen and (max-width: 768px) {
  .s_island_contact .text_s {
    font-size: 0.75rem;
    line-height: 1.75;
  }
}

.s_bg_wind {
  max-width: 41.25rem;
  margin: 3.125rem auto 4.375rem;
}
@media screen and (max-width: 768px) {
  .s_bg_wind {
    width: 25.9375rem;
    transform: translateX(-10%);
  }
}

.s_gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.875rem;
}
@media screen and (max-width: 768px) {
  .s_gallery {
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
  }
}

.s_gallery_img {
  aspect-ratio: 1/1;
  cursor: pointer;
  overflow: hidden;
  transition: opacity 0.3s ease;
}
.s_gallery_img:hover, .s_gallery_img:focus {
  opacity: 0.7;
}
.s_gallery_img:hover img, .s_gallery_img:focus img {
  transform: scale(1.05);
}
.s_gallery_img img {
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.gallery_slider_wrap {
  width: 100%;
}

.s_gallery_slider_slide img {
  width: 100%;
  height: auto;
}

.gallery_modal .modal_contents {
  padding-right: 0;
}

/*======================================
    archive
======================================*/
.page {
  padding-top: 10.625rem;
  padding-bottom: 3.125rem;
}
@media screen and (max-width: 768px) {
  .page {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}

.p_title {
  text-align: center;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.75;
  font-family: "Shippori Mincho", serif;
}

@media screen and (min-width: 769px) {
  .a-nav_head {
    column-gap: 1.5rem;
  }
  .a-nav_head .illust {
    width: 8rem;
  }
  .a-nav_head .t-nav_ttl {
    font-size: 0.8125rem;
  }
  .a-nav_head .t-nav_ttl .logo {
    max-width: 9.875rem;
  }
}
@media screen and (max-width: 768px) {
  .a-nav_head {
    row-gap: 1.25rem;
  }
}

.a_section {
  margin-top: 5.625rem;
}
@media screen and (max-width: 768px) {
  .a_section {
    margin-top: 3.125rem;
  }
}

.a_cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(15.625rem, 1fr));
  column-gap: 3.75rem;
  row-gap: 3.125rem;
}
@media screen and (max-width: 1024px) {
  .a_cards {
    grid-template-columns: repeat(auto-fill, minmax(13.75rem, 1fr));
    column-gap: 2.5rem;
  }
}

.a_pagination {
  margin-top: 7.5rem;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  column-gap: 1.25rem;
  row-gap: 0.25rem;
}
.a_pagination .page-numbers {
  font-size: 0.75rem;
  font-weight: 500;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  letter-spacing: 0.05em;
  width: 2.375rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 1px solid rgba(0, 0, 0, 0.76);
}
.a_pagination .page-numbers.current {
  background-color: #fff;
}
.a_pagination .page-numbers.dots {
  border: none;
  position: relative;
  color: rgba(255, 255, 255, 0);
}
.a_pagination .page-numbers.dots::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 3.125rem;
  height: 1.25rem;
  background-image: radial-gradient(circle, #000000 1px, transparent 1px);
  background-position: 0 0;
  background-size: 0.375rem 1.375rem;
}
.a_pagination a {
  transition: background-color 0.3s ease;
}
.a_pagination a:hover {
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .a_pagination {
    margin-top: 5rem;
  }
}

.a_card_shimanavi .a_card_shimanavi_update {
  font-size: 0.75rem;
  margin-top: 0.75rem;
}
.a_card_shimanavi .a_card_shimanavi_title {
  font-size: 1.0625rem !important;
  margin-bottom: 0.375rem;
  font-family: "Shippori Mincho", serif;
}
.a_card_shimanavi .card_cats {
  font-size: 0.75rem;
}
.a_card_shimanavi .card_excerpt {
  font-size: 0.8125rem;
}

.card_img_wrap {
  position: relative;
}

.card_img_more {
  position: absolute;
  font-size: 0.5625rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  letter-spacing: 0.18em;
  line-height: 1.3888888889;
  width: 4rem;
  height: 4rem;
  background-color: #fff;
  border: 1px solid #000;
  bottom: 0;
  right: 1.25rem;
  z-index: 2;
  border-radius: 50%;
  transform: translateY(35%);
  transition: transform 0.3s ease;
}
@media screen and (max-width: 768px) {
  .card_img_more {
    font-size: 0.875rem;
    width: 5.875rem;
    height: 5.875rem;
    right: 0;
    transform: translateY(70%);
  }
}
.card_img_more::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.5rem;
  width: 0.3125rem;
  aspect-ratio: 7/13;
  background: url(../img/common/icon_arrow_simple.svg) no-repeat center/contain;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .card_img_more::before {
    width: 0.3125rem;
    right: 0.75rem;
  }
}

.search_button {
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.185em;
  font-feature-settings: "palt";
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  background-image: url(../img/common/icon_open.svg);
  background-repeat: no-repeat;
  background-position: center right 1.875rem;
  background-size: 0.75rem 0.75rem;
  border: 1px solid #000;
  width: 100%;
  max-width: 19.875rem;
  height: 3.75rem;
  margin: 4.375rem auto;
  border-radius: 5em;
  position: relative;
  cursor: pointer;
}

.search_form_title {
  text-align: center;
  font-weight: 500;
  letter-spacing: 0.11em;
  line-height: 2;
}

.search_form_list {
  padding: 1.875rem 0;
}
.search_form_list:nth-child(n+2) {
  border-top: 1px solid #000;
}

.search_form_list_title {
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.11em;
  text-align: center;
  line-height: 1.75;
}

.search_form_cats {
  margin-top: 1.875rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.25rem;
}

.search_form_cat input {
  display: none;
}
.search_form_cat input:checked + span.form_cat {
  background-color: #646464;
  color: #fff;
}
.search_form_cat input:checked + span.form_cat::before, .search_form_cat input:checked + span.form_cat::after {
  background-color: #fff;
}
.search_form_cat input:checked + span.form_cat::after {
  transform: translateY(-50%);
}

.form_cat {
  display: inline-block;
  font-size: 0.8125rem;
  font-weight: 500;
  padding: 1em 3.5em 1em 1.5em;
  border-radius: 0.77em;
  background-color: #f0f0f0;
  color: #7d7d7d;
  position: relative;
  transition: background-color 0.3s ease, color 0.3s ease;
  cursor: pointer;
}
.form_cat::before, .form_cat::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.5em;
  width: 0.7em;
  height: 1px;
  background-color: #7d7d7d;
  transform: translateY(-50%);
  transition: transform 0.3s ease, background-color 0.3s ease;
}
.form_cat::after {
  transform: translateY(-50%) rotate(-90deg);
}

.search_form_keyword {
  max-width: 18.75rem;
  margin: 1.875rem auto 0;
  background-color: #f0f0f0;
  border-radius: 0.625rem;
  padding: 0.375rem 1.25rem;
  display: flex;
  column-gap: 1rem;
}
.search_form_keyword input[type=text] {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  border: none;
  box-shadow: none;
  background-color: unset;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #000;
  line-height: 2.0769230769;
  font-family: inherit;
  border-radius: none;
  flex: 1;
  max-width: 100%;
  border-right: 1px solid #7d7d7d;
}
.search_form_keyword input[type=text]::placeholder {
  color: #7d7d7d;
}
.search_form_keyword input[type=text]:focus {
  outline: none;
}
.search_form_keyword .icon {
  width: 0.75rem;
  aspect-ratio: 1/1;
  background: url(../img/common/icon_form_search.svg) no-repeat center/contain;
}

.search_form_submit {
  position: sticky;
  bottom: 0;
  left: 0;
}
.search_form_submit .search_button {
  background-image: url(../img/common/icon_arrow.svg);
  margin: 3.125rem auto 0;
}
@media screen and (max-width: 768px) {
  .search_form_submit .search_button {
    margin-top: 1.25rem;
  }
}

/*======================================
    company
======================================*/
.p-company_news {
  border: 1px solid rgba(0, 0, 0, 0.5);
  padding: 3.75rem 2.5rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .p-company_news {
    padding: 2.5rem 1.25rem;
  }
}
.p-company_news .news_list_text {
  font-size: 0.875rem;
  letter-spacing: 0.185em;
}

.p_article dl dt, .p_article dl dd {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 2;
  font-weight: 500;
}

.p-company_info li {
  border-bottom: 1px solid #000;
}
.p-company_info li:first-child {
  border-top: 1px solid #000;
}
.p-company_info li dl {
  display: grid;
  grid-template-columns: 6.25rem auto;
}
.p-company_info li dl dt, .p-company_info li dl dd {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  padding-right: 1.25rem;
}
.p-company_info li dl dd {
  border-left: 1px solid #000;
  padding-left: 1.25rem;
}

.p-company_business li:nth-child(n+2) {
  margin-top: 3.75rem;
}
.p-company_business li dl dt {
  position: relative;
}
.p-company_business li dl dt::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 100%;
  height: 1px;
  background-color: #000;
  z-index: -1;
}
.p-company_business li dl dt .text {
  display: inline-block;
  background-color: #edf7f9;
  padding-right: 1em;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
}
.p-company_business li dl dd {
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .p-company_business li dl dd {
    margin-top: 1rem;
  }
}
.p-company_business li dl dd ul li {
  position: relative;
  padding-left: 1em;
}
.p-company_business li dl dd ul li:nth-child(n+2) {
  margin-top: 0;
}
.p-company_business li dl dd ul li::before {
  content: "●";
  position: absolute;
  top: 0;
  left: 0;
}

.p-company_history {
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  padding: 1.25rem 0;
}
@media screen and (max-width: 768px) {
  .p-company_history li:nth-child(n+2) {
    margin-top: 2em;
  }
}
.p-company_history li dl {
  display: grid;
  grid-template-columns: 9.375rem auto;
}
@media screen and (max-width: 768px) {
  .p-company_history li dl {
    grid-template-columns: 1fr;
  }
  .p-company_history li dl dt {
    font-size: 1rem;
  }
  .p-company_history li dl dd {
    padding-left: 2em;
  }
}

/*======================================
    about
======================================*/
.p-about_head {
  text-align: center;
}

.p-about_lead {
  font-size: 2.8125rem;
  font-weight: 500;
  letter-spacing: 0.305em;
  font-feature-settings: "palt";
  line-height: 1.6666666667;
}
@media screen and (max-width: 768px) {
  .p-about_lead {
    font-size: 1.5rem;
  }
}

.p-about_lead_text {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 2.2222222222;
  letter-spacing: 0.215em;
  font-feature-settings: "palt";
}
@media screen and (max-width: 768px) {
  .p-about_lead_text {
    font-size: 0.875rem;
    letter-spacing: 0.185em;
  }
}

.p-about_gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
@media screen and (max-width: 768px) {
  .p-about_gallery {
    grid-template-columns: repeat(2, 1fr);
  }
}

.p-about_gallery_img {
  aspect-ratio: 266/182;
  overflow: hidden;
}
.p-about_gallery_img img {
  height: 110%;
  object-fit: cover;
  vertical-align: top;
}

.p-about_section_text {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 2.1428571429;
  max-width: 42.375rem;
  margin-left: auto;
  margin-right: auto;
  text-align: justify;
  font-feature-settings: "palt";
}

.p-about_section_title {
  text-align: center;
  position: relative;
}
.p-about_section_title::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #000;
  transform: translateY(-50%);
  z-index: -1;
}
.p-about_section_title span.text {
  display: inline-block;
  background-color: #edf7f9;
  padding: 0 1em;
  font-size: 1.125rem;
  letter-spacing: 0.215em;
  font-feature-settings: "palt";
  font-weight: 500;
  line-height: 1.5;
}

.p-about_steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 4.75rem;
  row-gap: 3.75rem;
}
@media screen and (max-width: 768px) {
  .p-about_steps {
    grid-template-columns: 1fr;
  }
}

.p-about_step {
  background-color: #fff;
  border-radius: 1.75rem;
  padding: 3.125rem 1.25rem 1.5rem;
}
.p-about_step:nth-child(n+2) {
  position: relative;
}
.p-about_step:nth-child(n+2)::before {
  content: "";
  position: absolute;
  aspect-ratio: 32/24;
  background: url(../img/common/icon_arrow.svg) no-repeat center/contain;
  width: 2rem;
}
@media screen and (min-width: 769px) {
  .p-about_step:nth-child(n+2)::before {
    top: 50%;
    left: -2.375rem;
    transform: translate(-50%, -50%);
  }
}
@media screen and (max-width: 768px) {
  .p-about_step:nth-child(n+2)::before {
    top: -1.875rem;
    left: 50%;
    transform: translate(-50%, -50%) rotate(90deg);
  }
}
@media screen and (max-width: 768px) {
  .p-about_step {
    border-radius: 0.875rem;
  }
}

.p-about_step_number {
  text-align: center;
}
.p-about_step_number span {
  display: inline-block;
  font-size: 2.625rem;
  font-weight: 500;
  position: relative;
  padding-bottom: 0.2em;
}
.p-about_step_number span::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 1.2em;
  height: 1px;
  background-color: #000;
}

.p-about_step_title {
  text-align: center;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
  margin-top: 0.5em;
}

.p-about_step_text {
  font-size: 0.8125rem;
  line-height: 1.8461538462;
  font-weight: 500;
  max-width: 14.75rem;
  margin-left: auto;
  margin-right: auto;
  letter-spacing: 0.05em;
  font-feature-settings: "palt";
  text-align: justify;
  margin-top: 1.875rem;
}

@media screen and (min-width: 769px) {
  .p-about_button.button_type03 {
    max-width: 25.75rem;
    width: 100%;
    font-size: 1.125rem;
    border-width: 0.125rem;
  }
}

.p-about_chars {
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .p-about_chars {
    margin-top: 3.75rem;
  }
}

.p-about_char {
  display: flex;
  column-gap: 1.25rem;
  align-items: center;
}
@media screen and (min-width: 769px) {
  .p-about_char:nth-child(even) {
    flex-direction: row-reverse;
  }
}
@media screen and (max-width: 768px) {
  .p-about_char {
    flex-direction: column;
    row-gap: 1.25rem;
  }
}
.p-about_char:nth-child(n+2) {
  margin-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-about_char:nth-child(n+2) {
    margin-top: 5rem;
  }
}

.p-about_char_img {
  flex: 1;
}

.p-about_char_texts {
  width: 49.26%;
}
@media screen and (max-width: 768px) {
  .p-about_char_texts {
    width: 100%;
  }
}

.p-about_char_title {
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.75;
  font-family: "Shippori Mincho", serif;
  font-family: "Zen Kaku Gothic New", sans-serif;
}

.p-about_char_text {
  line-height: 1.8571428571;
  margin-top: 1em;
}

.p-about_char_img1 {
  width: 94.7%;
  transform: translateX(-3%);
}
@media screen and (max-width: 768px) {
  .p-about_char_img1 {
    transform: translate(0);
  }
}

.p-about_char_img2 {
  width: 69%;
  margin-left: auto;
  margin-right: auto;
}

.p-about_char_img3 {
  transform: translateX(-10%) scale(1.05);
}
@media screen and (max-width: 768px) {
  .p-about_char_img3 {
    transform: scale(1.05);
  }
}

.p-about_char_img4 {
  width: 86.75%;
  margin-left: auto;
  margin-right: auto;
}

.p-about_tips {
  max-width: 42.375rem;
  margin-left: auto;
  margin-right: auto;
  letter-spacing: 0.025em;
  line-height: 2.1428571429;
}

.p-about_button_shimanavi {
  display: block;
  width: fit-content;
  margin: 4.375rem auto 0;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  font-feature-settings: "palt";
  text-align: center;
  line-height: 1.7777777778;
  position: relative;
}
@media screen and (min-width: 1025px) {
  .p-about_button_shimanavi {
    margin-bottom: 3.75rem;
  }
}
@media screen and (max-width: 768px) {
  .p-about_button_shimanavi {
    font-size: 1rem;
  }
}
.p-about_button_shimanavi:hover::before {
  transform: translate(160%, -50%);
}
.p-about_button_shimanavi::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(150%, -50%);
  width: 2.5rem;
  aspect-ratio: 1/1;
  background: url(../img/page/about_button_arrow.svg) no-repeat center/contain;
  transition: transform 0.3s ease;
}
@media screen and (max-width: 768px) {
  .p-about_button_shimanavi::before {
    width: 1.875rem;
  }
}
.p-about_button_shimanavi .logo {
  display: block;
  width: 11.78em;
  margin-left: auto;
  margin-right: auto;
  margin-top: 1em;
}

/*======================================
    FAQ
======================================*/
.p-faq_items {
  max-width: 51.25rem;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  row-gap: 1.875rem;
  padding-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-faq_items {
    row-gap: 1.25rem;
  }
}

.p-faq_item {
  border: 1px solid #000;
  padding: 0 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-faq_item {
    padding: 0 1.25rem;
  }
}
.p-faq_item .toggle_body {
  display: none;
}

.p-faq_parent .p-faq_section_title {
  background-color: #edf7f9;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.125rem;
}
@media screen and (max-width: 768px) {
  .p-faq_parent .p-faq_section_title {
    padding: 0 1.25rem;
    font-size: 1rem;
  }
}
.p-faq_parent .p-faq_item_title {
  text-align: center;
  font-family: "Zen Kaku Gothic New", sans-serif;
  position: relative;
  border-radius: 1.25rem;
  padding: 2.5rem 3.75rem;
  cursor: pointer;
  cursor: pointer;
}
.p-faq_parent .p-faq_item_title .toggle_head {
  padding-right: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-faq_parent .p-faq_item_title .toggle_head {
    padding-right: 1.25rem;
  }
  .p-faq_parent .p-faq_item_title .toggle_head::after {
    right: 0;
  }
}
@media screen and (max-width: 768px) {
  .p-faq_parent .p-faq_item_title {
    padding: 1.875rem 1.25rem;
    border-radius: 0.9375rem;
  }
}
.p-faq_parent .p-faq_item_title .toggle_body {
  display: none;
}
@media screen and (max-width: 768px) {
  .p-faq_parent .p-faq_item_title {
    font-size: 0.9375rem;
    padding: 1.25rem 0;
  }
}
.p-faq_parent .p-faq_item_title::before, .p-faq_parent .p-faq_item_title::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 1rem;
  height: 1px;
  background-color: #000;
  transform: translateY(-50%);
  transition: transform 0.3s ease;
}
@media screen and (max-width: 768px) {
  .p-faq_parent .p-faq_item_title::before, .p-faq_parent .p-faq_item_title::after {
    width: 0.625rem;
  }
}
.p-faq_parent .p-faq_item_title::after {
  transform: translateY(-50%) rotate(90deg);
}
.p-faq_parent .p-faq_item_title.active::after {
  transform: translateY(-50%);
}

/*======================================
    info
======================================*/
.p-info_section {
  margin-top: 5rem;
}
.p-info_section .p-info_section_title {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.215em;
  font-feature-settings: "palt";
  text-align: center;
  font-family: "Zen Kaku Gothic New", sans-serif;
  position: relative;
  margin-bottom: 3.75rem;
}
@media screen and (max-width: 768px) {
  .p-info_section .p-info_section_title {
    margin-bottom: 2.5rem;
    font-size: 1rem;
  }
}
.p-info_section .p-info_section_title span {
  display: inline-block;
  padding: 0 1em;
  background-color: #edf7f9;
  position: relative;
  z-index: 2;
}
.p-info_section .p-info_section_title::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #000;
}
.p-info_section .list_circle li {
  padding-left: 1em;
  position: relative;
}
.p-info_section .list_circle li::before {
  content: "●";
  position: absolute;
  top: 0;
  left: 0;
}
.p-info_section .list_circle li:nth-child(n+2) {
  margin-top: 1em;
}
.p-info_section .p-info_button_logo {
  max-width: 23.25rem;
}
.p-info_section .p-info_button_logo span.logo {
  max-width: 9.875rem;
  display: inline-block;
}
.p-info_section .p-info_buttons {
  column-gap: 4.375rem;
  row-gap: 2.5rem;
}
.p-info_section .p-info_step {
  display: grid;
  grid-template-columns: 2.1875rem auto;
  column-gap: 1rem;
  align-items: center;
  padding: 1.5rem 1.875rem 1.5rem 1.5rem;
  border: 1px solid #000;
  border-radius: 0.1875rem;
}
.p-info_section .p-info_step:nth-child(n+2) {
  margin-top: 1.25rem;
}
.p-info_section .p-info_step .num {
  border: 1px solid #000;
  background-color: #fff;
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  width: 2.1875rem;
}
.p-info_section .p-info_section_bg {
  background-color: #fff;
  border: 1px solid #000;
  padding: 1.25rem;
}
.p-info_section .p-info_table tr th {
  padding-left: 0.5em;
  padding-right: 0.5em;
}
.p-info_section .p-info_table tr th, .p-info_section .p-info_table tr td {
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .p-info_section .p-info_table tr td {
    padding-top: 0.625rem;
  }
}

/*======================================
    matching
======================================*/
.p-matching {
  background-color: #ffff67;
}
@media screen and (min-width: 769px) {
  .p-matching {
    padding-bottom: 6.25rem;
  }
}

.p-matching_head {
  position: relative;
  z-index: 1;
}

.p-matching_title {
  text-align: center;
  font-size: 1.125rem;
}
.p-matching_title h1 {
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-width: 5.11em;
}
.p-matching_title p {
  font-weight: 500;
  margin-bottom: 1em;
  letter-spacing: 0.405em;
  font-feature-settings: "palt";
}

.p-matching_wind {
  position: absolute;
  top: 50%;
  left: 50%;
  max-width: 26.5rem;
  transform: translate(-150%, -60%);
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .p-matching_wind {
    transform: translate(-130%, 25%);
  }
}

.p-matching_contents {
  margin-top: 4.375rem;
  position: relative;
  display: grid;
  z-index: 2;
}

.p-matching_content {
  background-color: #fff;
  border-radius: 6.25rem;
  padding: 1.25rem;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex: 1;
  height: 32.5rem;
  z-index: 1;
}
.p-matching_content::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 6.25rem;
  background: #fff url(../img/top/matching_map.svg) no-repeat center/cover;
  mix-blend-mode: multiply;
  opacity: 0.5;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .p-matching_content::before {
    border-radius: 3.125rem;
  }
}
@media screen and (max-width: 768px) {
  .p-matching_content {
    border-radius: 3.125rem;
    height: 28.125rem;
  }
}

.p-matching_js {
  opacity: 0;
  visibility: hidden;
  grid-column: 1/2;
  grid-row: 1/2;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.p-matching_js.show {
  opacity: 1;
  visibility: visible;
}
.p-matching_js.show .p-matching_question,
.p-matching_js.show .p-matching_buttons {
  transform: translateX(0);
  transform-origin: right;
}
.p-matching_js .p-matching_question,
.p-matching_js .p-matching_buttons {
  transform: translateX(3.75rem);
  transform-origin: left;
  transition: transform 0.5s ease;
}
@media screen and (max-width: 768px) {
  .p-matching_js .p-matching_question,
  .p-matching_js .p-matching_buttons {
    transform: translateX(1.875rem);
  }
}

.p-matching_num {
  aspect-ratio: 1/1;
  width: 2.375em;
  background: url(../img/page/icon_matching_num.svg) no-repeat center/contain;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  letter-spacing: 0.23em;
  font-feature-settings: "palt";
  text-align: center;
  position: absolute;
  font-weight: 500;
  top: 0;
  left: 0;
  transform: translate(13%, -26%);
}
@media screen and (max-width: 768px) {
  .p-matching_num {
    font-size: 1.75rem;
  }
}

.p-matching_illust {
  position: absolute;
  top: 0;
  right: 50%;
  transform: translate(200%, -21.5%);
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .p-matching_illust {
    transform: translate(170%, -21.5%);
  }
}
.p-matching_illust .illust {
  width: 11.625rem;
}
@media screen and (max-width: 768px) {
  .p-matching_illust .illust {
    width: 7.5rem;
  }
}

.p-matching_question {
  font-size: 1.4375rem;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.1em;
  line-height: 2.0869565217;
  font-feature-settings: "palt";
}
@media screen and (max-width: 768px) {
  .p-matching_question {
    font-size: 1rem;
  }
}

.p-matching_buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 2.875rem;
  row-gap: 1.25rem;
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .p-matching_buttons {
    margin-top: 2.5rem;
  }
}

.p-matching_button {
  font-size: 1.4375rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
  line-height: 1.5;
  text-align: center;
  padding: 0 1em;
  border: 0.1875rem solid #000;
  background-color: #fff;
  border-radius: 62.5rem;
  min-height: 4.75rem;
  min-width: 17.8125rem;
  transition: opacity 0.3s ease;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .p-matching_button {
    font-size: 1rem;
  }
}
.p-matching_button:hover {
  opacity: 0.7;
}
.p-matching_button:nth-child(odd) {
  background-color: #c3e2d0;
}

.p-matching_result {
  height: 0;
}
.p-matching_result.show {
  height: auto;
}

.p-marching_answer {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .p-marching_answer {
    flex-direction: column-reverse;
  }
}

.p-marching_answer_illust {
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .p-marching_answer_illust {
    transform: translateY(-25%);
  }
}
.p-marching_answer_illust .illust {
  width: 8rem;
}
@media screen and (max-width: 768px) {
  .p-marching_answer_illust .illust {
    width: 6.25rem;
  }
}

.p-marching_answer_texts {
  min-height: 13.75rem;
  border-radius: 625rem;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  padding: 1.25rem 3.75rem;
  margin-left: -1.875rem;
}
@media screen and (max-width: 768px) {
  .p-marching_answer_texts {
    border-radius: 1.25rem;
    margin-left: 0;
    padding: 2.5rem 2.5rem 3.75rem;
  }
}

.p-marching_text {
  font-size: 1.4375rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
  line-height: 2.0869565217;
}
@media screen and (max-width: 768px) {
  .p-marching_text {
    font-size: 0.9375rem;
  }
}

.p-marching_recommend {
  text-align: center;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.405em;
  line-height: 2;
  font-feature-settings: "palt";
  margin-top: 3.75rem;
  padding-bottom: 5.625rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-marching_recommend {
    margin-top: 1.875rem;
  }
}
.p-marching_recommend::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  aspect-ratio: 188/70;
  max-width: 11.75rem;
  width: 100%;
  background-color: #fff;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}

.p-marching_islands {
  display: flex;
  flex-wrap: wrap;
  column-gap: 12.5rem;
  row-gap: 5rem;
  margin-top: 5rem;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .p-marching_islands {
    margin-top: 2.5rem;
  }
}

.p-marching_island {
  flex: 1;
  max-width: 21.875rem;
}
@media screen and (max-width: 768px) {
  .p-marching_island {
    max-width: 16.875rem;
    width: 90%;
  }
}
.p-marching_island .slider_type04_slide_lead {
  font-size: 1.125rem;
}
@media screen and (max-width: 768px) {
  .p-marching_island .slider_type04_slide_lead {
    font-size: 1rem;
  }
}
.p-marching_island .slider_type04_slide_ttl {
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-marching_island .slider_type04_slide_ttl {
    font-size: 1.25rem;
  }
}

.p-matching_result_wind {
  max-width: 45rem;
  margin-left: auto;
  margin-top: 3.75rem;
  transform: translateX(13%);
}

.p-matching_retry {
  margin: 3.75rem auto 0;
  width: fit-content;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  font-feature-settings: "palt";
  padding-bottom: 0.5em;
  border-bottom: 1px solid #000;
  display: block;
}
@media screen and (max-width: 768px) {
  .p-matching_retry {
    font-size: 1rem;
  }
}

/*# sourceMappingURL=style.css.map */
