@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Zen+Old+Mincho&display=swap");
html,
body,
h1,
h2,
h3,
h4,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: normal;
  font-size: 100%;
  vertical-align: baseline;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

article,
header,
footer,
aside,
figure,
figcaption,
nav,
section {
  display: block;
}

body {
  line-height: 1;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

ol,
ul {
  list-style: none;
  list-style-type: none;
}

* {
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

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

img {
  vertical-align: bottom;
  max-width: 100%;
}

.swiper-wrapper {
  transition-timing-function: linear;
}

.page-wrap {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0 auto;
}

@media screen and (max-width: 1600px) {
  .page-wrap {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 100%;
  }
}
@media screen and (max-width: 750px) {
  .page-wrap {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 100%;
  }
}
.pc {
  display: block;
}

.sp {
  display: none;
}

@media screen and (max-width: 750px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}
/*==================================
フォント
==================================*/
html {
  font-size: 62.5%;
  /* 16px x 0.625 = 10px(=1rem) */
  scroll-behavior: smooth;
}

body {
  font-family: "Zen Old Mincho", serif;
}
body .fixed {
  overflow: hidden;
  height: 100%;
}
body .overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  /* 半透明の黒背景 */
  display: none;
  /* 初期状態では表示しない */
  z-index: 998;
  /* ナビゲーションメニューの下、他のコンテンツの上に表示 */
}
body .overlay.active {
  display: block;
  /* メニューが開いたらオーバーレイを表示 */
}
body .fixed {
  overflow: hidden;
  /* スクロールを無効にする */
  height: 100%;
  /* 全体の高さを固定 */
}

/*==================================
header
==================================*/
.header .header_list {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background-color: transparent;
}
.header .header_list .header_left {
  position: relative;
  top: 1vw;
  left: 2vw;
}
.header .header_list .header_left .header_logo span {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}
.header .header_list .header_left .header_logo svg {
  width: 95%;
  transition: filter 0.3s ease;
  /* スムーズな変化のためのトランジション */
}
.header .header_list .header_left .header_logo svg path {
  fill: #1c2322;
}
.header .header_list .header_right {
  display: flex;
  align-items: center;
}
.header .header_list .header_right .header_tel {
  position: relative;
  width: auto;
  top: 0.5vw;
  color: #000;
  margin: 0 1vw;
  text-align: center;
}
.header .header_list .header_right .header_tel svg {
  width: 100%;
}
.header .header_list .header_right .header_tel svg path {
  fill: #1c2322;
}
.header .header_list .header_right .header_tel p {
  transition: color 0.3s ease;
  /* スムーズな変化のためのトランジション */
  font-size: clamp(12px, 1.23vw, 16px);
  margin: 0.4vw;
  color: #FFF;
}
.header .header_list .header_right .header_btn_area {
  top: 0;
  right: 0;
  position: relative;
  display: flex;
}
.header .header_list .header_right .header_btn_area .hamburger_menu {
  position: relative;
  cursor: pointer;
  width: 5vw;
  height: 5vw;
  background-color: #396961;
  transform: rotate(90deg);
}
.header .header_list .header_right .header_btn_area .hamburger_menu .openbtn1 {
  position: absolute;
  margin: 0 auto;
  right: 0;
  left: 0;
  bottom: 0;
  top: 0;
  cursor: pointer;
  width: 5vw;
  height: 5vw;
  transform: rotate(360deg);
}
.header .header_list .header_right .header_btn_area .hamburger_menu .openbtn1 span {
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  left: 1vw;
  height: 1px;
  /* border-radius: 2px; */
  background-color: #FFF;
  width: 55%;
}
.header .header_list .header_right .header_btn_area .hamburger_menu .openbtn1 span:nth-of-type(1) {
  top: 22px;
}
.header .header_list .header_right .header_btn_area .hamburger_menu .openbtn1 span:nth-of-type(2) {
  top: 47px;
}
.header .header_list .header_right .header_btn_area .hamburger_menu .openbtn1 span:nth-of-type(3) {
  top: 72px;
}
.header .header_list .header_right .header_btn_area .hamburger_menu .openbtn1.active span:nth-of-type(1) {
  top: 38px;
  left: 8px;
  transform: translateY(6px) rotate(-45deg);
  width: 80%;
}
.header .header_list .header_right .header_btn_area .hamburger_menu .openbtn1.active span:nth-of-type(2) {
  opacity: 0;
}
.header .header_list .header_right .header_btn_area .hamburger_menu .openbtn1.active span:nth-of-type(3) {
  top: 50px;
  left: 8px;
  transform: translateY(-6px) rotate(45deg);
  width: 80%;
}
.header .header_list .header_right .header_btn_area .svh_cv_btn a {
  color: #396961;
  background: #f5f5f5;
  width: 16.5vw;
  height: 5vw;
  text-decoration: none;
  text-align: center;
  position: relative;
  z-index: 1;
  display: block;
  overflow: hidden;
  transition: 0.3s;
  line-height: 0.9;
  padding: 1vw;
  font-size: clamp(22px, 1.73vw, 26px);
}
.header .header_list .header_right .header_btn_area .svh_cv_btn a svg#icon_link01 {
  fill: #396961;
  width: 8%;
  margin: 0 0 -0.1vw 0;
}
.header .header_list .header_right .header_btn_area .svh_cv_btn a::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: #ba2440;
  transform: translateX(-100%);
  transition: transform 0.3s ease;
}
.header .header_list .header_right .header_btn_area .svh_cv_btn a:hover {
  color: #fff;
}
.header .header_list .header_right .header_btn_area .svh_cv_btn a:hover svg#icon_link01 {
  fill: #fff;
}
.header .header_list .header_right .header_btn_area .svh_cv_btn a:hover::before {
  transform: translateX(0);
}
.header .header_list .header_right .header_btn_area .svh_cv_btn a span.btn_small {
  font-size: clamp(10px, 0.89vw, 14px);
}
.header #g-nav {
  position: fixed;
  z-index: -1;
  opacity: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  background: url(../images/menu_bg.jpg);
  transition: all 0.3s;
  pointer-events: none;
  /* 初期状態ではクリックイベントを無効に設定 */
}
.header #g-nav.panelactive {
  opacity: 1;
  z-index: 99;
  /* メニューがアクティブな場合、クリックイベントを有効にするために z-index を変更 */
  pointer-events: auto;
  /* クリックイベントを有効に設定 */
}
.header #g-nav .g-nav-inner {
  position: relative;
  margin: 0 auto;
  text-align: center;
  transform: translate(0%, 80%);
}
.header #g-nav .g-nav-inner .g-nav-list {
  display: flex;
  justify-content: center;
}
.header #g-nav .g-nav-inner .g-nav-list ul {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  z-index: 99;
  padding: 0;
  margin: 0;
}
.header #g-nav .g-nav-inner .g-nav-list ul li {
  position: relative;
  /* 追加 */
  writing-mode: vertical-rl;
  list-style: none;
  text-align: center;
  font-size: clamp(28px, 2.2vw, 32px);
  line-height: 2;
  padding: 0.5vw 1.5vw;
}
.header #g-nav .g-nav-inner .g-nav-list ul li::before {
  content: "";
  position: absolute;
  left: 30%;
  bottom: -1%;
  height: 30%;
  width: 1px;
  background-color: #FFF;
  transform: scaleY(0);
  transition: transform 0.3s ease-in-out;
}
.header #g-nav .g-nav-inner .g-nav-list ul li:hover::before, .header #g-nav .g-nav-inner .g-nav-list ul li.current::before {
  transform: scaleY(1);
  height: 100%;
}
.header #g-nav .g-nav-inner .g-nav-list ul li a {
  color: #FFF;
  text-decoration: none;
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.header #g-nav .g-nav-inner .g-nav-header {
  position: relative;
  top: 10vw;
}
.header #g-nav .g-nav-inner .g-nav-header .g-nav-address {
  margin-bottom: 1.5vw;
}
.header #g-nav .g-nav-inner .g-nav-header .g-nav-bottom ul {
  display: flex;
  flex-direction: row;
  justify-content: center;
}
.header #g-nav .g-nav-inner .g-nav-header .g-nav-bottom ul li {
  text-decoration: none;
}
.header #g-nav .g-nav-inner .g-nav-header .g-nav-bottom ul li a {
  color: #FFF;
}

body.fixed {
  overflow: hidden;
  /* 画面固定 */
}

@media screen and (max-width: 1600px) {
  .header .header_list .header_left .header_logo {
    width: 90%;
  }
  .header .header_list .header_right .header_btn_area .hamburger_menu .openbtn1 span:nth-of-type(1) {
    top: 20%;
  }
  .header .header_list .header_right .header_btn_area .hamburger_menu .openbtn1 span:nth-of-type(2) {
    top: 45%;
  }
  .header .header_list .header_right .header_btn_area .hamburger_menu .openbtn1 span:nth-of-type(3) {
    top: 71%;
  }
  .header .header_list .header_right .header_btn_area .hamburger_menu .openbtn1.active span:nth-of-type(1) {
    top: 40%;
  }
  .header .header_list .header_right .header_btn_area .hamburger_menu .openbtn1.active span:nth-of-type(3) {
    top: 58%;
  }
  .header .header_list .header_right .header_btn_area .svh_cv_btn a {
    width: 19.5vw;
  }
}
@media screen and (min-width: 1280px) and (max-width: 1550px) {
  .header .header_list .header_right .header_tel {
    font-size: clamp(10px, 0.89vw, 14px);
    margin: 0 1vw 0 0;
  }
  .header .header_list .header_right .header_tel svg {
    width: 75%;
  }
  .header .header_list .header_right .header_btn_area .hamburger_menu .openbtn1 span:nth-of-type(1) {
    top: 23%;
  }
  .header .header_list .header_right .header_btn_area .hamburger_menu .openbtn1 span:nth-of-type(2) {
    top: 47%;
  }
  .header .header_list .header_right .header_btn_area .hamburger_menu .openbtn1 span:nth-of-type(3) {
    top: 71%;
  }
}
@media screen and (min-width: 751px) and (max-width: 1279px) {
  .header .header_list .header_left {
    top: 1vw;
    left: 2vw;
  }
  .header .header_list .header_left .header_logo {
    float: left;
    width: 63%;
  }
  .header .header_list .header_right .header_tel {
    margin: 0 -0.5vw;
  }
  .header .header_list .header_right .header_tel p {
    font-size: clamp(12px, 1.23vw, 16px);
  }
  .header .header_list .header_right .header_tel svg {
    width: 80%;
  }
  .header .header_list .header_right .header_btn_area .hamburger_menu {
    width: 7.5vw;
    height: 7.5vw;
  }
  .header .header_list .header_right .header_btn_area .hamburger_menu .openbtn1 span:nth-of-type(1) {
    top: 86%;
  }
  .header .header_list .header_right .header_btn_area .hamburger_menu .openbtn1 span:nth-of-type(2) {
    top: 57%;
  }
  .header .header_list .header_right .header_btn_area .hamburger_menu .openbtn1 span:nth-of-type(3) {
    top: 29%;
  }
  .header .header_list .header_right .header_btn_area .hamburger_menu .openbtn1.active span:nth-of-type(1) {
    top: 50%;
    left: 12%;
  }
  .header .header_list .header_right .header_btn_area .hamburger_menu .openbtn1.active span:nth-of-type(3) {
    top: 76%;
    left: 10%;
  }
  .header .header_list .header_right .header_btn_area .svh_cv_btn a {
    width: 26.2vw;
    height: 7.5vw;
    line-height: 0.9;
  }
  .header .header_list .header_right .header_btn_area .svh_cv_btn a p {
    font-size: clamp(22px, 1.73vw, 26px);
  }
  .header .header_list .header_right .header_btn_area .svh_cv_btn a span.btn_small {
    font-size: clamp(10px, 0.89vw, 14px);
  }
}
@media screen and (max-width: 750px) {
  .header .header_list {
    position: fixed;
    display: block;
    width: 100%;
    background-color: transparent;
  }
  .header .header_list .header_left {
    position: fixed;
    top: 2vw;
    left: 2vw;
  }
  .header .header_list .header_left .header_logo {
    width: 90%;
    margin: 0 auto;
    text-align: center;
  }
  .header .header_list .header_left .header_logo svg {
    width: 80%;
    transition: filter 0.3s ease;
    /* スムーズな変化のためのトランジション */
  }
  .header .header_list .header_left .header_logo svg path {
    fill: #1c2322;
  }
  .header .header_list .header_right {
    display: flex;
    align-items: center;
  }
  .header .header_list .header_right .header_tel {
    position: relative;
    width: 100%;
    top: 0.9vw;
    left: 59.6vw;
    color: #000;
    margin: 0 1vw;
    text-align: center;
  }
  .header .header_list .header_right .header_tel svg {
    width: 100%;
  }
  .header .header_list .header_right .header_tel svg path {
    fill: #1c2322;
  }
  .header .header_list .header_right .header_tel p {
    transition: color 0.3s ease;
    /* スムーズな変化のためのトランジション */
    font-size: clamp(10px, 0.89vw, 14px);
    margin: 0.4vw;
    color: #FFF;
  }
  .header .header_list .header_right .header_btn_area {
    top: 0;
    right: 0;
    position: fixed;
    display: flex;
  }
  .header .header_list .header_right .header_btn_area .hamburger_menu {
    width: 18vw;
    height: 18vw;
    position: fixed;
    bottom: 0;
    right: 0;
  }
  .header .header_list .header_right .header_btn_area .hamburger_menu .openbtn1 {
    right: -30%;
    width: 18vw;
    height: 7vw;
  }
  .header .header_list .header_right .header_btn_area .hamburger_menu .openbtn1 span:nth-of-type(1) {
    top: 68%;
  }
  .header .header_list .header_right .header_btn_area .hamburger_menu .openbtn1 span:nth-of-type(2) {
    top: 129%;
  }
  .header .header_list .header_right .header_btn_area .hamburger_menu .openbtn1 span:nth-of-type(3) {
    top: 190%;
  }
  .header .header_list .header_right .header_btn_area .hamburger_menu .openbtn1.active {
    right: 0vw;
    top: -3vw;
  }
  .header .header_list .header_right .header_btn_area .hamburger_menu .openbtn1.active span:nth-of-type(1) {
    top: 147%;
  }
  .header .header_list .header_right .header_btn_area .hamburger_menu .openbtn1.active span:nth-of-type(2) {
    opacity: 0;
  }
  .header .header_list .header_right .header_btn_area .hamburger_menu .openbtn1.active span:nth-of-type(3) {
    top: 194%;
  }
  .header .header_list .header_right .header_btn_area .svh_tel_btn {
    position: fixed;
    bottom: 0;
    right: 17.4vw;
  }
  .header .header_list .header_right .header_btn_area .svh_tel_btn a.cv-anchor {
    color: #FFF;
    font-size: clamp(17px, 1.54vw, 22px);
    background: #ba2440;
    width: 45vw;
    height: 18vw;
    text-decoration: none;
    text-align: center;
    position: relative;
    z-index: 1;
    display: block;
    overflow: hidden;
    transition: 0.3s;
    line-height: 1;
    padding: 2.5vw 0 0 2vw;
    background-image: url(../images/icon_fixed_tel.png);
    background-position: 9% 21%;
    background-repeat: no-repeat;
    background-size: 9%;
  }
  .header .header_list .header_right .header_btn_area .svh_tel_btn a.cv-anchor span.btn_small {
    font-size: clamp(12px, 1.23vw, 16px);
    line-height: 0.2;
  }
  .header .header_list .header_right .header_btn_area .svh_net_btn {
    position: fixed;
    bottom: 0;
    left: 0;
  }
  .header .header_list .header_right .header_btn_area .svh_net_btn a {
    color: #FFF;
    font-size: clamp(17px, 1.54vw, 22px);
    background: #396961;
    width: 39vw;
    height: 18vw;
    text-decoration: none;
    text-align: center;
    position: relative;
    z-index: 1;
    display: block;
    overflow: hidden;
    transition: 0.3s;
    line-height: 1;
    padding: 2.5vw 0;
    background-image: url(../images/icon_link01.png);
    background-position: 7% 22%;
    background-repeat: no-repeat;
    background-size: 10%;
  }
  .header .header_list .header_right .header_btn_area .svh_net_btn a span.btn_small {
    font-size: clamp(12px, 1.23vw, 16px);
    line-height: 0.2;
  }
  .header #g-nav {
    position: fixed;
    z-index: -1;
    opacity: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    background: url(../images/menu_bg.jpg);
    transition: all 0.3s;
    pointer-events: none;
    /* 初期状態ではクリックイベントを無効に設定 */
  }
  .header #g-nav.panelactive {
    opacity: 1;
    z-index: 99;
    /* メニューがアクティブな場合、クリックイベントを有効にするために z-index を変更 */
    pointer-events: auto;
    /* クリックイベントを有効に設定 */
    height: auto;
    overflow-y: scroll;
    min-height: 130%;
  }
  .header #g-nav .g-nav-inner {
    transform: translate(0%, 8%);
  }
  .header #g-nav .g-nav-inner .g-nav-list {
    display: flex;
    justify-content: center;
  }
  .header #g-nav .g-nav-inner .g-nav-list ul {
    flex-direction: column;
    align-items: center;
  }
  .header #g-nav .g-nav-inner .g-nav-list ul li {
    writing-mode: horizontal-tb;
    text-orientation: mixed;
  }
  .header #g-nav .g-nav-inner .g-nav-list ul li::before {
    display: none;
  }
  .header #g-nav .g-nav-inner .g-nav-header {
    position: relative;
    top: 4vw;
    padding-bottom: 100vw;
  }
  .header #g-nav .g-nav-inner .g-nav-header .g-nav-address {
    margin-bottom: 1.5vw;
  }
  .header #g-nav .g-nav-inner .g-nav-header .g-nav-address .c-text {
    font-size: clamp(12px, 1.23vw, 16px);
  }
  .header #g-nav .g-nav-inner .g-nav-header .g-nav-bottom ul {
    display: flex;
    flex-direction: row;
    justify-content: center;
  }
  .header #g-nav .g-nav-inner .g-nav-header .g-nav-bottom ul li {
    text-decoration: none;
  }
  .header #g-nav .g-nav-inner .g-nav-header .g-nav-bottom ul li a {
    color: #FFF;
  }
}
@media screen and (max-width: 375px) {
  .header .header_list .header_left {
    position: fixed;
    top: 2vw;
    left: 0;
    right: 0;
  }
  .header #g-nav.panelactive {
    opacity: 1;
    z-index: 99;
    pointer-events: auto;
    height: 130vh;
    overflow-y: scroll;
    min-height: 100%;
  }
}
/*==================================
footer
==================================*/
.footer {
  padding: 3.5vw 0 0 0;
  background: url(../images/footer_bg.jpg) center/cover;
}
.footer_inner {
  width: 40%;
  margin: 0 auto;
  text-align: center;
}
.footer .svh-logo p {
  font-size: clamp(16px, 1.26vw, 18px);
  margin: 0 0 0.5vw 0;
}
.footer .svh-logo svg {
  width: 60%;
}
.footer .svh-logo svg path {
  fill: #FFF;
}
.footer .svh-tel {
  margin-bottom: 1vw;
}
.footer .svh-tel p {
  font-family: Yu Gothic, 游ゴシック, yugothic, 游ゴシック体, meiryo;
  font-size: clamp(12px, 1.23vw, 16px);
}
.footer .svh-tel svg {
  width: 40%;
  margin: 0.8vw;
}
.footer .svh-tel svg path {
  fill: #FFF;
}
.footer .footer_bottom {
  margin-top: 2vw;
  padding: 0.5vw;
  background-color: #1c2322;
}
.footer .footer_bottom .g-nav_bottom {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.footer .footer_bottom .g-nav_bottom ul {
  display: flex;
}
.footer .footer_bottom .g-nav_bottom ul li a {
  color: #FFF;
}

@media screen and (min-width: 751px) and (max-width: 1279px) {
  .footer {
    padding: 3.5vw 0 0 0;
    background: url(../images/footer_bg.jpg) center/cover;
  }
  .footer_inner {
    width: 65%;
    margin: 0 auto;
    text-align: center;
  }
  .footer .svh-tel {
    margin-bottom: 1.5vw;
  }
  .footer .svh-tel p {
    font-family: Yu Gothic, 游ゴシック, yugothic, 游ゴシック体, meiryo;
    font-size: clamp(12px, 1.23vw, 16px);
  }
  .footer .svh-tel svg {
    width: 40%;
    margin: 0 0 1vw;
  }
  .footer .svh-tel svg path {
    fill: #FFF;
  }
}
@media screen and (min-width: 1280px) and (max-width: 1550px) {
  .footer {
    padding: 3.5vw 0 0 0;
    background: url(../images/footer_bg.jpg) center/cover;
  }
  .footer_inner {
    width: 45%;
    margin: 0 auto;
    text-align: center;
  }
  .footer .svh-logo p {
    font-size: clamp(16px, 1.26vw, 18px);
    margin: 0 0 0.5vw 0;
  }
  .footer .svh-logo svg {
    width: 60%;
  }
  .footer .svh-logo svg path {
    fill: #FFF;
  }
  .footer .svh-tel {
    margin-bottom: 1vw;
  }
  .footer .svh-tel p {
    font-family: Yu Gothic, 游ゴシック, yugothic, 游ゴシック体, meiryo;
    font-size: clamp(12px, 1.23vw, 16px);
  }
  .footer .svh-tel svg {
    width: 40%;
    margin: 0.8vw;
  }
  .footer .svh-tel svg path {
    fill: #FFF;
  }
  .footer .footer_bottom {
    margin-top: 2vw;
    padding: 0.5vw;
    background-color: #1c2322;
  }
  .footer .footer_bottom .g-nav_bottom {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .footer .footer_bottom .g-nav_bottom ul {
    display: flex;
  }
  .footer .footer_bottom .g-nav_bottom ul li a {
    color: #FFF;
  }
}
@media screen and (max-width: 750px) {
  .footer {
    padding: 13.5vw 0 0 0;
  }
  .footer_inner {
    width: 80%;
  }
  .footer .svh_tel_btn {
    margin: 0 0 4vw 0;
  }
  .footer .svh_tel_btn a {
    margin: 0 auto;
    color: #FFF;
    font-size: 26px;
    background: #ba2440;
    width: 66.5vw;
    height: 18vw;
    text-decoration: none;
    text-align: center;
    position: relative;
    z-index: 1;
    display: block;
    overflow: hidden;
    transition: 0.3s;
    line-height: 0.9;
    padding: 3vw;
    text-indent: 5%;
    background-image: url(../images/icon_fixed_tel.png);
    background-position: 15% 28%;
    background-repeat: no-repeat;
    background-size: 7%;
  }
  .footer .svh_tel_btn a span.btn_small {
    font-size: clamp(12px, 1.23vw, 16px);
  }
  .footer .svh-logo p {
    font-size: clamp(12px, 1.23vw, 16px);
    margin: 0 0 0.5vw 0;
  }
  .footer .svh-logo svg {
    width: 100%;
  }
  .footer .svh-logo svg path {
    fill: #FFF;
  }
  .footer .svh-tel {
    margin-bottom: 1vw;
  }
  .footer .svh-tel p {
    font-family: Yu Gothic, 游ゴシック, yugothic, 游ゴシック体, meiryo;
    font-size: clamp(12px, 1.23vw, 16px);
  }
  .footer .svh-tel svg {
    width: 40%;
    margin: 0.8vw;
  }
  .footer .svh-tel svg path {
    fill: #FFF;
  }
  .footer .footer_bottom {
    margin-top: 10vw;
    padding: 2%;
  }
  .footer .footer_bottom .g-nav_bottom {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .footer .footer_bottom .g-nav_bottom ul {
    display: flex;
  }
  .footer .footer_bottom .g-nav_bottom ul li a {
    color: #FFF;
  }
  .footer .footer_bottom .g-nav_bottom .c-text-copy {
    font-size: clamp(12px, 1.23vw, 16px);
  }
}
@media screen and (max-width: 375px) {
  .footer {
    padding: 13.5vw 0 0 0;
  }
  .footer_inner {
    width: 80%;
  }
  .footer .svh_tel_btn {
    margin: 0 0 4vw 0;
  }
  .footer .svh_tel_btn a {
    width: 72.5vw;
    height: 18vw;
  }
  .footer .svh_tel_btn a span.btn_small {
    font-size: clamp(12px, 1.23vw, 16px);
  }
  .footer .svh-logo p {
    font-size: clamp(12px, 1.23vw, 16px);
    margin: 0 0 0.5vw 0;
  }
  .footer .svh-logo svg {
    width: 100%;
  }
  .footer .svh-logo svg path {
    fill: #FFF;
  }
  .footer .svh-tel {
    margin-bottom: 1vw;
  }
  .footer .svh-tel p {
    font-family: Yu Gothic, 游ゴシック, yugothic, 游ゴシック体, meiryo;
    font-size: clamp(12px, 1.23vw, 16px);
  }
  .footer .svh-tel svg {
    width: 40%;
    margin: 0.8vw;
  }
  .footer .svh-tel svg path {
    fill: #FFF;
  }
  .footer .footer_bottom {
    margin-top: 10vw;
    padding: 2%;
  }
  .footer .footer_bottom .g-nav_bottom {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .footer .footer_bottom .g-nav_bottom ul {
    display: flex;
  }
  .footer .footer_bottom .g-nav_bottom ul li a {
    color: #FFF;
  }
  .footer .footer_bottom .g-nav_bottom .c-text-copy {
    font-size: clamp(12px, 1.23vw, 16px);
  }
}
/*==================================
ページ共通layout
==================================*/
.l-content__head .p-heading-content {
  display: grid;
}
.l-content__head .p-heading-content__nav {
  position: relative;
  display: flex;
  grid-area: 1/1;
  align-items: flex-end;
  margin: 10vw auto;
  justify-content: center;
}
.l-content__head .p-heading-content__nav-list {
  align-items: center;
  display: flex;
  gap: 3vw;
  font-size: clamp(16px, 1.26vw, 18px);
}
.l-content__head .p-heading-content__nav .p-heading-content__nav-item a.c-link-icon {
  color: #FFF;
  text-decoration: none;
  display: block;
  text-align: center;
}
.l-content__head .p-heading-content__nav .p-heading-content__nav-item a.c-link-icon i.arrow {
  display: inline-block;
  width: 1vw;
  height: 1vw;
  background: url(../images/icon_pagelink.svg) no-repeat 100% 77%;
}
.l-content__head .p-heading-content_deco {
  height: 10vw;
}
.l-content__head .p-heading-content_deco .deco01 {
  position: relative;
  top: -10vw;
}
.l-content__head .p-heading-content_deco .deco02 {
  position: relative;
  top: -27vw;
}
.l-content__head .p-heading-content h1.c-heading-sandwich {
  position: relative;
  z-index: 1;
  display: flex;
  grid-area: 1/1;
  align-items: center;
  margin: 12vw auto;
  font-size: clamp(36px, 2.39vw, 45px);
  color: #FFF;
  writing-mode: vertical-rl;
}
.l-content__head .p-heading-content__bg {
  grid-area: 1/1;
}
.l-content__head .p-heading-content__bg img {
  width: 100%;
}
.l-content__body {
  position: relative;
  z-index: 10;
}

@media screen and (min-width: 751px) and (max-width: 1279px) {
  .l-content__head .p-heading-content__nav {
    margin: 13vw auto;
  }
  .l-content__head .p-heading-content__nav-list {
    font-size: clamp(12px, 1.23vw, 16px);
  }
  .l-content__head .p-heading-content__nav .p-heading-content__nav-item a.c-link-icon i.arrow {
    display: inline-block;
    width: 1.5vw;
    height: 0.9vw;
  }
  .l-content__head .p-heading-content h1.c-heading-sandwich {
    font-size: clamp(28px, 2.2vw, 32px);
  }
}
@media screen and (max-width: 750px) {
  .l-content__head .p-heading-content {
    position: relative;
    display: inline-block;
  }
  .l-content__head .p-heading-content__nav {
    display: none;
  }
  .l-content__head .p-heading-content_deco {
    height: 10vw;
    margin: -20vh 0 0 0px;
  }
  .l-content__head .p-heading-content_deco .deco01 {
    top: 33px;
  }
  .l-content__head .p-heading-content_deco .deco02 {
    top: -79px;
  }
  .l-content__head .p-heading-content h1.c-heading-sandwich {
    position: absolute;
    top: 30%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .l-content__head .p-heading-content__bg {
    grid-area: 1/1;
  }
  .l-content__head .p-heading-content__bg img {
    width: 100%;
  }
  .l-content__body {
    position: relative;
    z-index: 10;
    margin-top: -40vw;
  }
}
@media screen and (max-width: 375px) {
  .l-content__head .p-heading-content {
    display: grid;
  }
  .l-content__head .p-heading-content__nav {
    display: none;
  }
  .l-content__head .p-heading-content_deco {
    height: 10vw;
  }
  .l-content__head .p-heading-content_deco .deco01 {
    position: relative;
    top: -69%;
  }
  .l-content__head .p-heading-content_deco .deco02 {
    top: -320%;
  }
  .l-content__head .p-heading-content h1.c-heading-sandwich {
    margin: 10vh 0 0;
  }
  .l-content__head .p-heading-content__bg {
    grid-area: 1/1;
  }
  .l-content__head .p-heading-content__bg img {
    width: 100%;
  }
  .l-content__body {
    position: relative;
    z-index: 10;
    margin-top: -27vw;
  }
}
/*==================================
button
==================================*/
/* ネット予約用 */
.svh_cv_btn a {
  margin: 0 auto;
  color: #396961;
  font-size: 26px;
  background: #f5f5f5;
  width: 16.5vw;
  height: 5vw;
  text-decoration: none;
  text-align: center;
  position: relative;
  z-index: 1;
  display: block;
  overflow: hidden;
  transition: 0.3s;
  line-height: 1;
  padding: 1vw;
}
.svh_cv_btn a svg#icon_link01 {
  fill: #254d43;
  width: 8%;
  margin: 0 0 -0.5% 0;
}
.svh_cv_btn a::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: #ba2440;
  transform: translateX(-100%);
  transition: transform 0.3s ease;
}
.svh_cv_btn a:hover {
  color: #fff;
}
.svh_cv_btn a:hover svg#icon_link01 {
  fill: #FFF;
}
.svh_cv_btn a:hover::before {
  transform: translateX(0);
}
.svh_cv_btn a span.btn_small {
  font-size: clamp(10px, 0.89vw, 14px);
}

/* 詳しく見るボタン */
.s-concept-inner__btn {
  margin-top: 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}
.s-concept-inner__btn a.c-btn01 {
  font-size: 1.8rem;
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #1c2322;
}
.s-concept-inner__btn a.c-btn01 span {
  width: 3vw;
  height: 3vw;
  border: 0.1rem solid #1c2322;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-left: 1.2rem;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
.s-concept-inner__btn a.c-btn01 span svg {
  width: 1.5vw;
}
.s-concept-inner__btn a.c-btn01 span path {
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
.s-concept-inner__btn a.c-btn01:hover span {
  background-color: #1c2322;
}
.s-concept-inner__btn a.c-btn01:hover svg path {
  fill: #FFF;
}
.s-concept-inner__btn a.c-btn01 a:hover svg path {
  fill: #829A9D;
}

.btn_wrapper {
  position: relative;
  width: 1200px;
  margin: 0 auto;
}

@media screen and (max-width: 1600px) {
  .svh_cv_btn a {
    width: 20.5vw;
  }
}
@media screen and (min-width: 1280px) and (max-width: 1550px) {
  .svh_cv_btn a {
    width: 21.5vw;
    height: 6vw;
    line-height: 1;
  }
}
@media screen and (max-width: 1600px) {
  .btn_wrapper {
    position: relative;
    width: 1080px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 751px) and (max-width: 1279px) {
  .btn_wrapper {
    position: relative;
    width: 750px;
    margin: 0 auto;
  }
  .svh_cv_btn a {
    height: 6.7vw;
    width: 28.5vw;
    line-height: 0.8;
  }
  .svh-tel svg {
    width: 49%;
    margin: 0px 0 1.8vw;
  }
}
@media screen and (max-width: 750px) {
  .btn_wrapper {
    position: relative;
    width: 88vw;
    margin: 0 auto;
  }
  .svh_cv_btn a {
    margin: 0 auto;
    color: #FFF;
    font-size: 26px;
    background: #396961;
    width: 66.5vw;
    height: 18vw;
    text-decoration: none;
    text-align: center;
    position: relative;
    z-index: 1;
    display: block;
    overflow: hidden;
    transition: 0.3s;
    line-height: 0.9;
    padding: 3vw;
    text-indent: -8%;
    background-image: url(../images/icon_link01.png);
    background-position: 86% 30%;
    background-repeat: no-repeat;
    background-size: 8%;
  }
  .svh_cv_btn a span.btn_small {
    font-size: clamp(12px, 1.23vw, 16px);
  }
  .svh_cv_btn ::before {
    display: none;
  }
  .s-concept-inner__btn {
    margin-top: 1rem;
  }
  .s-concept-inner__btn a.c-btn01 span {
    width: 10vw;
    height: 10vw;
  }
  .s-concept-inner__btn a.c-btn01 span svg {
    width: 5.4vw;
  }
}
@media screen and (max-width: 375px) {
  .svh_cv_btn a {
    width: 93%;
    height: 11vh;
  }
  .s-concept-inner__btn {
    margin-top: 1rem;
  }
  .s-concept-inner__btn a.c-btn01 span {
    width: 10vw;
    height: 10vw;
  }
  .s-concept-inner__btn a.c-btn01 span svg {
    width: 5.4vw;
  }
}
/*==================================
共通layout部分
==================================*/
.right_layout {
  position: relative;
}
.right_layout_inner {
  width: 84vw;
  margin-left: auto;
}
.right_layout_inner::before {
  width: 13%;
  height: 13%;
  left: 25vw;
  bottom: 42vw;
  position: absolute;
  display: block;
  content: "";
  background: url(../images/mate_clown02.png) center center/contain no-repeat;
}
.right_layout_inner::after {
  width: 12%;
  height: 10%;
  left: 71vw;
  bottom: 2vw;
  position: absolute;
  display: block;
  z-index: 0;
  content: "";
  background: url(../images/mate_clown01.png) center center/contain no-repeat;
}
.right_layout_head {
  position: relative;
  display: flex;
  flex-direction: row;
  justify-content: space-evenly;
  align-items: flex-start;
  z-index: 1;
}

.left_layout {
  position: relative;
}
.left_layout_inner {
  width: 84vw;
  margin-right: auto;
}
.left_layout_inner::before {
  width: 19.083333%;
  height: 12%;
  left: 56vw;
  bottom: 40vw;
  position: absolute;
  display: block;
  content: "";
  background: url(../images/mate_clown02.png) center center/contain no-repeat;
}
.left_layout_inner::after {
  width: 13%;
  height: 9%;
  left: -2vw;
  bottom: 11vw;
  position: absolute;
  display: block;
  content: "";
  background: url(../images/mate_clown01.png) center center/contain no-repeat;
}
.left_layout_head {
  position: relative;
  display: flex;
  align-items: flex-start;
  z-index: 1;
  flex-direction: row-reverse;
  justify-content: space-evenly;
}
.left_layout_body {
  position: relative;
  display: flex;
  flex-direction: column;
  margin: 3vw 7vw 0px 6.4vw;
  z-index: 1;
}

.p-media-content__thumbnail {
  width: 72%;
  height: 100%;
  overflow: hidden;
}

.p-media-content__slider {
  width: 60vw;
  height: 960px;
  overflow: hidden;
}

@media screen and (max-width: 1600px) {
  .p-media-content__slider {
    height: 100vh;
  }
}
@media screen and (min-width: 1280px) and (max-width: 1550px) {
  .p-media-content__slider {
    height: 100%;
  }
}
@media screen and (min-width: 751px) and (max-width: 1279px) {
  .right_layout {
    position: relative;
  }
  .right_layout_inner {
    width: 84vw;
    margin-left: auto;
  }
  .right_layout_inner::before {
    width: 13%;
    height: 13%;
    left: 24vw;
    bottom: 53vw;
  }
  .right_layout_inner::after {
    left: 81vw;
    bottom: 12vw;
  }
  .right_layout_head {
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: flex-start;
    z-index: 1;
  }
  .left_layout {
    position: relative;
  }
  .left_layout_inner {
    width: 84vw;
    margin-right: auto;
  }
  .left_layout_inner::before {
    width: 19.083333%;
    height: 12%;
    left: 56vw;
    bottom: 47vw;
    position: absolute;
    display: block;
    content: "";
    background: url(../images/mate_clown02.png) center center/contain no-repeat;
  }
  .left_layout_inner::after {
    width: 13%;
    height: 9%;
    left: -2vw;
    bottom: 11vw;
    position: absolute;
    display: block;
    content: "";
    background: url(../images/mate_clown01.png) center center/contain no-repeat;
  }
  .left_layout_head {
    position: relative;
    display: flex;
    align-items: flex-start;
    z-index: 1;
    flex-direction: row-reverse;
    justify-content: space-evenly;
  }
  .left_layout_body {
    position: relative;
    display: flex;
    flex-direction: column;
    margin: 3vw 7vw 0px 6.4vw;
    z-index: 1;
  }
  .p-media-content__slider {
    height: 52%;
  }
}
@media screen and (max-width: 750px) {
  .right_layout {
    position: relative;
  }
  .right_layout_inner {
    width: 100%;
  }
  .right_layout_inner::before {
    width: 30%;
    height: 10%;
    left: -5%;
    bottom: 71%;
  }
  .right_layout_inner::after {
    width: 30%;
    height: 10%;
    left: 70vw;
    bottom: 60vw;
  }
  .right_layout_body {
    margin: -15vw 8vw 0px 8vw;
    top: 9vh;
  }
  .right_layout_head {
    flex-direction: column;
    z-index: 1;
    align-items: center;
  }
  .left_layout {
    position: relative;
  }
  .left_layout_inner {
    width: 100%;
  }
  .left_layout_inner::before {
    width: 32.1333333333%;
    height: 32.1333333333%;
    left: -3vw;
    bottom: 140vw;
  }
  .left_layout_inner::after {
    width: 34%;
    height: 6%;
    left: 65vw;
    bottom: 71vw;
  }
  .left_layout_head {
    position: relative;
    display: flex;
    align-items: center;
    z-index: 1;
    flex-direction: column;
  }
  .left_layout_body {
    margin: -15vw 7vw 0px 6.4vw;
    top: 9vh;
  }
  .p-media-content__thumbnail {
    width: 100vw;
    height: 32vh;
  }
  .p-media-content__slider {
    width: 100vw;
    height: 45vh;
    overflow: hidden;
  }
}
@media screen and (max-width: 375px) {
  .right_layout {
    position: relative;
  }
  .right_layout_inner {
    width: 100%;
  }
  .right_layout_inner::before {
    width: 30%;
    height: 10%;
    left: -3vw;
    bottom: 131vw;
  }
  .right_layout_inner::after {
    width: 30%;
    height: 10%;
    left: 70vw;
    bottom: 60vw;
  }
  .right_layout_body {
    margin: -5vh 6.9vw 0px 5.4vw;
    top: 10vh;
  }
  .right_layout_head {
    flex-direction: column;
    z-index: 1;
    align-items: center;
  }
  .left_layout {
    position: relative;
  }
  .left_layout_inner {
    width: 100%;
  }
  .left_layout_inner::before {
    width: 32.1333333333%;
    height: 32.1333333333%;
    left: -3vw;
    bottom: 140vw;
  }
  .left_layout_inner::after {
    width: 34%;
    height: 6%;
    left: 65vw;
    bottom: 71vw;
  }
  .left_layout_head {
    position: relative;
    display: flex;
    align-items: center;
    z-index: 1;
    flex-direction: column;
  }
  .left_layout_body {
    margin: -5vh 7vw 0px 5.5vw;
    top: 6vh;
  }
  .p-media-content__thumbnail {
    width: 100vw;
    height: 46vh;
  }
  .p-media-content__slider {
    width: 100vw;
    height: 58vh;
    overflow: hidden;
  }
}
/*==================================
背景
==================================*/
.bg_red {
  position: absolute;
  right: 0;
  background-color: #d7c6bc;
  top: 3vw;
  width: 85vw;
  height: 29vw;
  opacity: 0.5;
}
.bg_green {
  position: absolute;
  left: 0;
  background-color: #b0cbc5;
  top: 3vw;
  width: 85vw;
  height: 29vw;
  opacity: 0.5;
}
.bg_yellow {
  position: absolute;
  right: 0;
  background-color: #cbcc9f;
  top: 3vw;
  width: 85vw;
  height: 29vw;
  opacity: 0.5;
}

@media screen and (max-width: 750px) {
  .bg_red {
    left: 0;
    margin: 0 auto;
    height: 90vw;
    width: 80vw;
  }
  .bg_green {
    right: 0;
    margin: 0 auto;
    width: 88vw;
    height: 80vw;
  }
  .bg_yellow {
    left: 0;
    margin: 0 auto;
    width: 88vw;
    height: 47vh;
  }
}
/*==================================
layout_h2
==================================*/
.c-heading-vertical {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  white-space: nowrap;
  padding: 0.7vh 0;
}
.c-heading-vertical .c-heading-vertical__jp {
  display: block;
  font-family: Zen Old Mincho, serif;
  font-weight: 500;
  line-height: 1.55;
  color: #1c2322;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  transform: scaleY(1.05);
  font-size: clamp(28px, 2.2vw, 32px);
}
.c-heading-vertical .c-heading-vertical__jp::before {
  content: url("../images/h2_tit_img.png");
  /*画像のURL*/
  margin-right: 20px;
  /*画像右の余白*/
}
.c-heading-vertical .c-heading-vertical__jp__small {
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  font-size: clamp(16px, 1.26vw, 18px);
  text-indent: 20%;
}
.c-heading-vertical .c-heading-vertical__en {
  display: block;
  font-family: Cardo, serif;
  font-weight: 400;
  letter-spacing: 0;
  font-size: clamp(10px, 0.89vw, 14px);
  writing-mode: vertical-rl;
}
.c-heading-vertical__pd {
  padding: 0.7vh 0 5vh;
}
.c-heading-vertical--border:after {
  display: block;
  width: 1px;
  height: min(13.8888888889vw, 12.5rem);
  margin-right: min(1.1111111111vw, 1rem);
  content: "";
  background-color: #848580;
}

.c-heading-centering {
  display: flex;
  flex-direction: column;
  text-align: center;
}

.c-text-lead {
  font-family: Zen Old Mincho, serif;
  font-weight: 400;
  color: #1c2322;
  letter-spacing: 0.06em;
  transform: scaleY(1.05);
  font-size: clamp(22px, 1.73vw, 26px);
  line-height: 1.5;
}
.c-text-lead__en {
  font-family: Zen Old Mincho, serif;
  font-weight: 400;
  color: #1c2322;
  letter-spacing: 0.06em;
  transform: scaleY(1.05);
  font-size: clamp(10px, 0.89vw, 14px);
  line-height: 1.5;
}

.c-text-lead-fz_m {
  font-family: Zen Old Mincho, serif;
  font-weight: 400;
  color: #1c2322;
  letter-spacing: 0.06em;
  transform: scaleY(1.05);
  font-size: clamp(22px, 1.73vw, 26px);
  line-height: 1.2;
}

.js-fadein-text {
  opacity: 0;
  clip-path: inset(0% 0% 100% 0%);
  overflow: hidden;
  /* clip-pathの外に出る部分を隠す */
}

@media screen and (min-width: 751px) and (max-width: 1279px) {
  .c-heading-vertical {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    white-space: nowrap;
  }
  .c-heading-vertical .c-heading-vertical__jp {
    display: block;
    font-family: Zen Old Mincho, serif;
    font-weight: 500;
    line-height: 1.55;
    color: #1c2322;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    transform: scaleY(1.05);
    font-size: clamp(22px, 1.73vw, 26px);
  }
  .c-heading-vertical .c-heading-vertical__jp::before {
    content: url("../images/h2_tit_img.png");
    /*画像のURL*/
    margin-right: 20px;
    /*画像右の余白*/
  }
  .c-heading-vertical .c-heading-vertical__en {
    display: block;
    font-family: Cardo, serif;
    font-weight: 400;
    letter-spacing: 0;
    font-size: clamp(10px, 0.89vw, 14px);
    writing-mode: vertical-rl;
  }
  .c-heading-vertical--border:after {
    display: block;
    width: 1px;
    height: min(13.8888888889vw, 12.5rem);
    margin-right: min(1.1111111111vw, 1rem);
    content: "";
    background-color: #848580;
  }
  .c-text-lead {
    font-size: clamp(17px, 1.54vw, 22px);
  }
  .c-text-lead__en {
    font-family: Zen Old Mincho, serif;
    font-weight: 400;
    color: #1c2322;
    letter-spacing: 0.06em;
    transform: scaleY(1.05);
    font-size: clamp(10px, 0.89vw, 14px);
    line-height: 1.5;
  }
}
@media screen and (max-width: 750px) {
  .c-heading-vertical {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    white-space: nowrap;
    margin: 0 0 12vw;
    padding: 2.7vh 0 0 0;
  }
  .c-heading-vertical::before {
    content: "";
    background-image: url(../images/h2_tit_img.png);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    display: block;
    width: 4%;
    height: 4%;
    right: 2.1%;
    left: 0;
    margin: -5.5% auto;
  }
  .c-heading-vertical__pd {
    padding: 3vh 0 4.8vh 0;
  }
  .c-heading-vertical .c-heading-vertical__jp {
    line-height: 1.35;
    text-indent: -0.1vh;
  }
  .c-heading-vertical .c-heading-vertical__jp::before {
    display: none;
  }
  .c-heading-vertical .c-heading-vertical__en {
    font-size: clamp(12px, 1.23vw, 16px);
    text-indent: -0.1vh;
  }
  .c-heading-vertical--border:after {
    display: none;
  }
}
@media screen and (max-width: 375px) {
  .c-text-lead {
    font-size: clamp(22px, 1.73vw, 26px);
  }
}
.c-text-lead__en {
  font-size: clamp(12px, 1.23vw, 16px);
}

/*==================================
layout_横書き
==================================*/
.p-media-content__flex {
  display: flex;
  gap: 6.2vw;
}

.p-course-content {
  display: block;
}
.p-course-content-margin {
  margin-bottom: 1.5vw;
  text-align: center;
}
.p-course-content-left {
  margin-bottom: 1.5vw;
  text-align: left;
}

@media screen and (min-width: 1280px) and (max-width: 1550px) {
  .p-media-content__flex {
    gap: 5.6vw;
  }
}
@media screen and (max-width: 750px) {
  .p-media-content__flex {
    gap: 2.5vw;
    flex-direction: column;
  }
}
/*==================================
テキスト
==================================*/
.c-text {
  font-family: Yu Gothic, 游ゴシック, yugothic, 游ゴシック体, meiryo, sans-serif;
  font-weight: 500;
  line-height: 2;
  color: #1c2322;
  font-size: clamp(12px, 1.23vw, 16px);
}
.c-text-layout {
  width: 43vw;
}

.c-text-small {
  font-family: Yu Gothic, 游ゴシック, yugothic, 游ゴシック体, meiryo, sans-serif;
  font-weight: 500;
  line-height: 2;
  color: #1c2322;
  font-size: clamp(10px, 0.89vw, 14px);
}

.c-text-copy {
  margin-top: 0.3vw;
  font-family: Yu Gothic, 游ゴシック, yugothic, 游ゴシック体, meiryo, sans-serif;
  font-weight: 500;
  font-size: clamp(10px, 0.89vw, 14px);
}

@media screen and (max-width: 750px) {
  .c-text {
    font-family: Yu Gothic, 游ゴシック, yugothic, 游ゴシック体, meiryo, sans-serif;
    font-weight: 500;
    line-height: 2;
    color: #1c2322;
    font-size: clamp(16px, 1.26vw, 18px);
  }
  .c-text-layout {
    width: 100%;
  }
  .c-text-small {
    font-family: Yu Gothic, 游ゴシック, yugothic, 游ゴシック体, meiryo, sans-serif;
    font-weight: 500;
    line-height: 1.8;
    color: #1c2322;
    font-size: clamp(12px, 1.23vw, 16px);
  }
}
/*==================================
テキスト位置
==================================*/
.center {
  text-align: center;
}

@media screen and (max-width: 750px) {
  .center {
    text-align: center;
    padding: 0vw 8vw;
  }
}
/*==================================
テキストcolor
==================================*/
.white {
  color: #FFF;
}

.txt_color {
  color: #1c2322;
}

/*==================================
過ごし方
==================================*/
/* タイムテーブル */
.wrp_flow {
  max-width: 1200px;
  margin: 1vw auto;
}
.wrp_flow_tit_case1, .wrp_flow_tit_case2, .wrp_flow_tit_case3 {
  position: relative;
  font-size: clamp(17px, 1.54vw, 22px);
  color: #FFF;
  width: 13vw;
  height: 2.5vw;
  background-color: #396961;
  display: flex;
  justify-content: center;
  align-items: center;
}
.wrp_flow_tit_case2 {
  width: 16vw;
}
.wrp_flow .inner {
  display: flex;
  justify-content: center;
}
.wrp_flow .inner .flow:first-child {
  width: 51.61538%;
}
.wrp_flow .inner .flow:nth-child(2) {
  width: 53.38462%;
}
.wrp_flow .inner .flow:nth-child(2) ul li + li {
  margin-left: 10.62778%;
}
.wrp_flow .inner .flow p.st {
  font-size: clamp(16px, 1.26vw, 18px);
  margin-bottom: 2em;
  line-height: 1;
}
.wrp_flow .inner .flow ul {
  display: flex;
  justify-content: center;
  border-top: 1px solid #254d43;
}
.wrp_flow .inner .flow ul li {
  font-size: clamp(12px, 1.23vw, 16px);
  list-style-type: none;
  letter-spacing: 0.02em;
  font-weight: 500;
}
.wrp_flow .inner .flow ul li + li {
  margin-left: 11.2069%;
}
.wrp_flow .inner .flow ul li:hover, .wrp_flow .inner .flow ul li.active {
  cursor: pointer;
  font-weight: bold;
}
.wrp_flow .inner .flow ul li:hover:before, .wrp_flow .inner .flow ul li.active:before {
  transform: scale(1.4);
  background: #c0a33b;
}
.wrp_flow .inner .flow ul li:before {
  content: "";
  display: block;
  width: 0.56em;
  height: 0.56em;
  margin: -0.28em auto 0.62em;
  background: #d5d5d5;
  border-radius: 50%;
  transition: background 0.5s ease, transform 0.5s ease;
}

/* 説明文 */
.stay_exp_text p.c-text-lead-fz_m {
  margin: 0.4vw 0;
}
.stay_exp_text .icon {
  display: inline-block;
  width: 1.5vw;
  height: 1.1vw;
  background: url(../images/icon_link01.svg) no-repeat 50% 17%;
  fill: #1c2322;
}

@media screen and (max-width: 1600px) {
  .wrp_flow {
    max-width: 95%;
    margin: 1vw auto;
  }
  .wrp_flow_tit_case1, .wrp_flow_tit_case2, .wrp_flow_tit_case3 {
    margin: 0 0 0 2.5vw;
    position: relative;
    font-size: clamp(17px, 1.54vw, 22px);
    color: #FFF;
    width: 13vw;
    height: 2.5vw;
    background-color: #396961;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .wrp_flow_tit_case2 {
    width: 20vw;
  }
  .wrp_flow .inner .flow:nth-child(2) {
    width: 48%;
  }
  .stay_exp_text p.c-text-lead-fz_m {
    margin: 0.4vw 0;
  }
  .stay_exp_text .icon {
    margin: 0 0 -0.2vw;
    width: 2.5vw;
    height: 1.3vw;
    background: url(../images/icon_link01.svg) no-repeat 30% 0;
  }
}
@media screen and (min-width: 1280px) and (max-width: 1550px) {
  .wrp_flow {
    max-width: 900px;
    margin: 1vw auto;
  }
  .wrp_flow_tit_case1, .wrp_flow_tit_case2, .wrp_flow_tit_case3 {
    width: 13.2vw;
    height: 2.8vw;
    left: 2.5vw;
  }
}
@media screen and (min-width: 751px) and (max-width: 1279px) {
  .wrp_flow_tit_case1, .wrp_flow_tit_case2, .wrp_flow_tit_case3 {
    width: 24.2vw;
    height: 3.8vw;
    left: 1.5vw;
  }
  .wrp_flow_tit_case2 {
    width: 30vw;
  }
  .stay_exp_text p.c-text-lead-fz_m {
    font-family: Zen Old Mincho, serif;
    font-weight: 400;
    color: #1c2322;
    letter-spacing: 0.06em;
    transform: scaleY(1.05);
    font-size: clamp(16px, 1.26vw, 18px);
    line-height: 1.2;
  }
  .stay_exp_text .c-text {
    font-size: clamp(12px, 1.23vw, 16px);
  }
}
@media screen and (max-width: 750px) {
  .wrp_flow {
    max-width: 1200px;
    margin: 1vw auto;
  }
  .wrp_flow_tit_case1, .wrp_flow_tit_case2, .wrp_flow_tit_case3 {
    margin: 0 0 0 4vw;
    width: 48vw;
    height: 8.5vw;
  }
  .wrp_flow_tit_case2 {
    width: 65vw;
  }
  .wrp_flow .inner {
    margin: 5vw 0 10vw 0;
    flex-direction: column;
    align-items: center;
  }
  .wrp_flow .inner .flow:first-child {
    width: 90%;
  }
  .wrp_flow .inner .flow:nth-child(2) {
    width: 90%;
    margin: 3.5vw 0 0 0;
  }
  .wrp_flow .inner .flow:nth-child(2) ul li + li {
    margin-left: 12.02778%;
  }
  .wrp_flow .inner .flow p.st {
    font-size: clamp(17px, 1.54vw, 22px);
    margin-bottom: 1.5em;
    line-height: 1;
  }
  .wrp_flow .inner .flow ul {
    display: flex;
    justify-content: center;
    border-top: 1px solid #254d43;
  }
  .wrp_flow .inner .flow ul li {
    font-size: clamp(12px, 1.23vw, 16px);
    list-style-type: none;
    letter-spacing: 0.02em;
    font-weight: 500;
  }
  .wrp_flow .inner .flow ul li + li {
    margin-left: 11.02778%;
  }
  .wrp_flow .inner .flow ul li:hover, .wrp_flow .inner .flow ul li.active {
    cursor: pointer;
    font-weight: bold;
  }
  .wrp_flow .inner .flow ul li:hover:before, .wrp_flow .inner .flow ul li.active:before {
    transform: scale(1);
    background: #c0a33b;
  }
  .wrp_flow .inner .flow ul li:before {
    width: 0.8em;
    height: 0.8em;
    margin: -0.48em auto 0.62em;
  }
  .stay_exp_text .icon {
    width: 9vw;
    height: 5.2vw;
    margin: 0 0 -1.2vw 0;
    background: url(../images/icon_link01.svg) no-repeat 41% 31%;
  }
  .stay_exp_text p.c-text-lead-fz_m {
    margin: 1.2vw 0;
  }
}
@media screen and (max-width: 375px) {
  .wrp_flow_tit_case1, .wrp_flow_tit_case2, .wrp_flow_tit_case3 {
    width: 52vw;
    height: 8.5vw;
  }
  .wrp_flow_tit_case2 {
    width: 74vw;
  }
}
/*==================================
マップ
==================================*/
.access_map_wrap {
  width: 50%;
  position: relative;
  padding-top: 32.2916666667%;
}
.access_map_wrap .map {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 750px) {
  .access_map_wrap {
    width: 100%;
    position: relative;
    padding-top: 66.6666666667%;
  }
  .access_map_wrap .map {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}