/*
Theme Name: kuiseds
Theme URI:
Author: zeal
Author URI:
Description:
Version: 1.0
License:
License URI:
Tags:
*/
/*----------------------------------------
	全体
----------------------------------------*/
:root {
  --text_noto: "Noto Sans JP", sans-serif;
  --text_mon: "Montserrat", sans-serif;
  --text_size_s: clamp(14px, 1.875vw, 16px);
  --text_size_m: clamp(20px, 2.875vw, 26px);
  --text_size_30: clamp(22px, 3.25vw, 30px);
  --text12: clamp(1rem, 1.143vw, 1.2rem);
  --text14: clamp(1.2rem, 1.333vw, 1.4rem);
  --text16: clamp(1.4rem, 1.524vw, 1.6rem);
  --text18: clamp(1.6rem, 1.714vw, 1.8rem);
  --text19: clamp(1.6rem, 1.714vw, 1.9rem);
  --text20: clamp(1.8rem, 1.814vw, 2rem);
  --text22: clamp(1.9rem, 2.095vw, 2.2rem);
  --text24: clamp(2rem, 2.285vw, 2.4rem);
  --text26: clamp(2.1rem, 2.476vw, 2.6rem);
  --text30: clamp(2.3rem, 2.857vw, 3rem);
  --text33: clamp(2.3rem, 3.143vw, 3.3rem);
  --text36: clamp(2.4rem, 3.429vw, 3.6rem);
  --text38: clamp(2.4rem, 3.619vw, 3.8rem);
  --text40: clamp(2.6rem, 3.809vw, 4rem);
  --text45: clamp(2.8rem, 4.285vw, 4.5rem);
  --text48: clamp(3rem, 4.571vw, 4.8rem);
  --text50: clamp(3.2rem, 4.762vw, 5rem);
  --text60: clamp(3.8rem, 5.714vw, 6rem);
  --text72: clamp(4.4rem, 6.857vw, 7.2rem);
  --text75: clamp(4.4rem, 6.857vw, 7.5rem);
  --text78: clamp(4.4rem, 7.429vw, 7.8rem);
  --text80: clamp(4.4rem, 7.619vw, 8rem);
  --text88: clamp(5rem, 8.381vw, 8.8rem);
  --text90: clamp(5rem, 8.571vw, 9rem);
  --text100: clamp(5.8rem, 9.523vw, 10rem);
}
html {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 62.5%;
  font-weight: 400;
  letter-spacing: 1px;
  color: #000;
  -webkit-text-size-adjust: 100%;
  line-height: 1.5;
}
.yugo {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo,
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック",
    sans-serif;
}
.yumin {
  font-family: "游明朝体", "Yu Mincho", "ヒラギノ明朝 Pro W3",
    "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Sawarabi Mincho", serif;
}
.meiryo {
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3",
    "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
}
.noto {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}
svg {
  overflow: visible;
  height: auto;
}
.din {
  font-family: "Josefin Sans", sans-serif;
  font-family: "Montserrat", sans-serif;
  font-family: "Oswald", sans-serif;
}
address {
  font-style: normal;
}
.yugo {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo,
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック",
    sans-serif;
}
.yumin {
  font-family: "游明朝体", "Yu Mincho", "ヒラギノ明朝 Pro W3",
    "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Sawarabi Mincho", serif;
}
.meiryo {
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3",
    "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
}

.myriad {
  font-family: MyriadPro-Regular, "Myriad Pro Regular", MyriadPro, "Myriad Pro",
    Helvetica, Arial, sans-serif;
}
.italic {
  font-style: italic;
}

img {
  vertical-align: bottom;
}

.noto {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 1px;
}
.montserrat {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
}
.montserrat.semi {
  font-weight: 600;
}
/*
a:hover{
	color:#252b7e;
	transition: all 0.3s;
}
*/
.op {
  transition: all 0.3s;
}
.op:hover {
  opacity: 0.8;
}
.op img {
  transition: all 0.3s;
}
.op:hover img {
  opacity: 0.6;
  transition: all 0.3s;
}
.max_respon {
  max-width: 100%;
}
li {
  list-style: none;
}
.m_center{
  margin-inline: auto;
}
.center {
  text-align: center;
}
.text_center {
  text-align: center;
}
.text_right {
  text-align: right;
}
.text_left {
  text-align: left;
}

@media screen and (max-width: 768px) {
  .tb_text_center{
    text-align: center;
  }
}
@media screen and (max-width: 599px) {
  .copy {
    font-size: 1.8rem;
  }

  .sp_text_left {
    text-align: left;
  }
  .sp_center {
    text-align: center !important;
  }
  .sp_text_center {
    text-align: center;
  }
  .sp_right {
    text-align: right;
  }
  .text_center {
    text-align: left;
  }
} /*END*/

.z_1 {
  z-index: 1;
}
.z_2 {
  z-index: 2;
}
.z_3 {
  z-index: 3;
}
.z_4 {
  z-index: 4;
}
.z_5 {
  z-index: 5;
}
.m_b25{
  margin-bottom: 25px;
}
/*----------------------------------------
	text
----------------------------------------*/

p {
  line-height: 2;
}
.text_medium {
  font-weight: 400;
}
.text_bold {
  font-weight: bold;
}
.text_bold800 {
  font-weight: 800;
}
.text_bold600 {
  font-weight: 600;
}
.text_normal {
  font-weight: normal;
}
.text_white {
  color: #fff !important;
}
.text_black {
  color: #000 !important;
}
.text_pink{
  color: #ed8495;
}
.text_water{
  color: #5daac3;
}
.text_10 {
  font-size: 1rem !important;
}
.text_11 {
  font-size: 1.1rem !important;
}
.text_12 {
  font-size: 1.2rem !important;
}
.text_13 {
  font-size: clamp(12px, 1.5625vw, 13px);
}
.text_15 {
  font-size: 1.5rem !important;
}
.text_18 {
  font-size: var(--text18);
}
.text_21 {
  font-size: 2.1rem !important;
}
.text_22 {
  font-size: clamp(16px, 2.5vw, 22px);
}
.text_23 {
  font-size: clamp(16px, 2.5vw, 23px);
}
.text_25 {
  font-size: clamp(16px, 2.75vw, 25px);
}
.text_26 {
  font-size: 2.6rem !important;
}
.resource {
  font-size: 2.5rem !important;
  margin: 16px 0 8px;
  line-height: 1.2em;
}
.text_28 {
  font-size: clamp(22px, 3.25vw, 28px);
}
.text_30 {
  font-size: clamp(24px, 3.25vw, 30px);
}
.text_34 {
  font-size: 3.4rem !important;
}
.text_35 {
  font-size: clamp(20px, 4vw, 35px);
}
.text_36 {
  font-size: clamp(22px, 4vw, 36px);
}
.text_40 {
  font-size: clamp(24px, 4.125vw, 40px);
}
.text_44 {
  font-size: clamp(30.4px, 5vw, 44px);
}
.text_45 {
  font-size: clamp(30px, 5vw, 45px);
}
.text_48 {
  font-size: 4.8rem !important;
}
.text_52 {
  font-size: clamp(36px, 5.5vw, 52px);
}
.text_56 {
  font-size: clamp(40px, 6.25vw, 56px);
}
.text_60 {
  font-size: clamp(40px, 7vw, 60px);
}
.text_65 {
  font-size: clamp(45px, 7vw, 66px);
}
.text_70 {
  font-size: clamp(48px, 8vw, 70px);
}
.lh_34 {
  line-height: 3.4 !important;
}
.lh_32 {
  line-height: 3.2 !important;
}
.lh_30 {
  line-height: 3 !important;
}
.lh_28 {
  line-height: 2.8 !important;
}
.lh_26 {
  line-height: 2.6 !important;
}
.lh_24 {
  line-height: 2.4 !important;
}
.lh_22 {
  line-height: 2.2 !important;
}
.lh_20 {
  line-height: 2 !important;
}
.lh_18 {
  line-height: 1.8 !important;
}
.lh_16 {
  line-height: 1.6 !important;
}
.lh_15 {
  line-height: 1.5 !important;
}
.lh_14 {
  line-height: 1.4 !important;
}
.lh_13 {
  line-height: 1.3 !important;
}
.lh_12 {
  line-height: 1.2 !important;
}
.lh_11 {
  line-height: 1.1 !important;
}
.lh_10 {
  line-height: 1 !important;
}
.ls_1 {
  letter-spacing: 1px !important;
}
.ls_2 {
  letter-spacing: 2px !important;
}
.ls_3 {
  letter-spacing: 3px !important;
}
.ls_4 {
  letter-spacing: 4px !important;
}
.ls_-0005 {
  letter-spacing: -0.005em !important;
}
.ls_-1 {
  letter-spacing: -1px !important;
}
.ls_-2 {
  letter-spacing: -2px !important;
}
.ls_-3 {
  letter-spacing: -3px !important;
}
.ls_-4 {
  letter-spacing: -4px !important;
}

@media print, screen and (min-width: 769px) {
  .text_16 {
    font-size: 1.6rem !important;
  }
  .text_20 {
    font-size: 2rem !important;
  }
  .text_21 {
    font-size: 2.1rem !important;
  }
  .text_24 {
    font-size: 2.4rem !important;
  }

  .text_32 {
    font-size: 3.2rem !important;
  }
  .text_34 {
    font-size: 3.4rem !important;
  }
  .text_42 {
    font-size: 4.2rem !important;
  }
  .text_50 {
    font-size: 5rem !important;
  }
  .text_55 {
    font-size: 5.5rem !important;
  }
  .ls_4 {
    letter-spacing: 4px;
  }
} /*END*/

@media print, screen and (min-width: 769px) and (max-width: 1119px) {
  .text_16 {
    font-size: 1.6rem !important;
  }
  .text_32 {
    font-size: 2.6rem !important;
  }
  .text_34 {
    font-size: 2.7rem !important;
  }
  .text_42 {
    font-size: 3.6rem !important;
  }
} /*END*/

@media screen and (max-width: 768px) {
  p {
    line-height: 2;
  }
  .text_18 {
    font-size: 1.5rem;
  }
  .text_21 {
    font-size: 1.8rem !important;
  }
  .text_24 {
    font-size: 2.2rem !important;
  }
  .text_26 {
    font-size: 2.4rem !important;
  }
  .resource {
    font-size: 1.8rem !important;
    margin: 16px 0 8px;
    line-height: 1.2em;
  }
  .text_32 {
    font-size: 2rem !important;
  }
  .text_34 {
    font-size: 2.2rem !important;
  }
  .text_42 {
    font-size: 3rem !important;
  }

  .text_32 {
    font-size: 2.6rem !important;
  }
  .text_42 {
    font-size: 3.6rem !important;
  }
  .text_50 {
    font-size: 4rem !important;
  }
  .text_55 {
    font-size: 4.3rem !important;
  }

  .ls_2 {
    letter-spacing: 1px;
  }
  .ls_4 {
    letter-spacing: 2px;
  }
} /*END*/
.lh_25 {
  line-height: 2.5;
}
@media screen and (max-width: 599px) {
  .sp_lh_15 {
    line-height: 1.5 !important;
  }
  .lh_25 {
    line-height: 2;
  }
  .lh_28 {
    line-height: 2.4 !important;
  }
  p {
    line-height: 2;
  }
  .sp_lh_24 {
    line-height: 2.4;
  }
  .text_18 {
    font-size: 1.4rem;
  }
  .text_24 {
    font-size: 1.8rem !important;
  }
  .text_26 {
    font-size: 2rem !important;
  }
  .resource {
    font-size: 1.4rem !important;
    margin: 8px 0 4px;
    line-height: 1.2em;
  }
  .text_32 {
    font-size: 1.8rem !important;
  }
  .text_34 {
    font-size: 2rem !important;
  }
  .text_42 {
    font-size: 3rem !important;
  }

  .text_48 {
    font-size: 3.2rem !important;
  }

  .ls_4 {
    letter-spacing: 1px;
  }
  .sp_text_13 {
    font-size: 1.3rem;
  }
  .sp_text_10 {
    font-size: 1rem;
  }
  .sp_lh_18 {
    line-height: 1.8;
  }
} /*END*/

@media screen and (max-width: 479px) {
  .text_42 {
    font-size: 2.8rem !important;
  }
  .ls_2 {
    letter-spacing: 0;
  }
}

.bold500 {
  font-weight: 500;
}
.bold800 {
  font-weight: 800;
}

body {
  font-size: 1.4rem;
  font-size: 1.4em;
}
#container {
  overflow: hidden;
  color: #000;
}
img {
  vertical-align: bottom;
}
a {
  color: #1c1c1c;
  transition: all 0.4s;
  text-decoration: none;
}
a:hover,
.op:hover {
  opacity: 0.7;
  transition: all 0.4s;
}

@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;0,500;0,600;0,700;0,800;1,500&display=swap");
.poppins {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-style: normal;
}

/*----------------------------------------
	画像中央配置
----------------------------------------*/

.photo_frame {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
  aspect-ratio: 3/2;
  /* background: #eee; */
}
.photo_frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate3d(-50%, -50%, 0);
}
.photo_frame img:not(:target) {
  left: 0\9;
  top: 0\9;
}
.photo_frame img {
  left: 0\9;
  top: 0\9;
}
@media all and (-ms-high-contrast: none) {
  .photo_frame img {
    left: 50%\9 !important;
    top: 50%\9 !important;
  }
}
.photo_frame {
  z-index: 1;
}

/*----------------------------------------
	iframe比率維持
----------------------------------------*/

.map {
  position: relative;
  overflow: hidden;
  text-align: center;
  aspect-ratio: 4 / 3;
}
.map iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0);
  -ms-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
}
.map.ichi {
  aspect-ratio: 1 / 1;
}
.map.nanago {
  aspect-ratio: 2 / 1;
}

.map iframe:not(:target) {
  left: 0\9;
  top: 0\9;
}
.map iframe {
  left: 0\9;
  top: 0\9;
}
@media all and (-ms-high-contrast: none) {
  .map iframe {
    left: 50%\9 !important;
    top: 50%\9 !important;
  }
}
.map {
  z-index: 2;
} /*chrome対策*/

@media screen and (max-width: 599px) {
  .map.nanago {
    aspect-ratio: 1.2 / 1;
  }
} /*END*/

.vr_f{
  overflow: hidden;
}
.vr_f iframe {
  width: 100%;
  height: 250px;
  display: block;
}

/*----------------------------------------
	text
----------------------------------------*/

p {
  line-height: 2;
}
.text_kon {
  color: #003567;
}
.text_gray {
  color: #bfbfbf;
}
.text_gray_2 {
  color: #7d7d7d;
}
.text_remon {
  color: #fff100;
}
.text_deepred {
  color: #d90303;
}
.text_red {
  color: #f93d4b;
}
.text_black {
  color: #000;
}
.text_white {
  color: #fff;
}
.text_gold {
  color: #e6b422;
}
.text_blue {
  color: #336699;
}
.text_brown {
  color: #83552f;
}
.text_bold {
  font-weight: bold !important;
}
.text_normal {
  font-weight: normal;
}
.yu_min {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3",
    "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.meiryo {
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3",
    "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
}

.text_8 {
  font-size: 0.8rem !important;
}
.text_9 {
  font-size: 0.9rem !important;
}
.text_10 {
  font-size: 1rem !important;
}
.text_11 {
  font-size: 1.1rem !important;
}

.text_12 {
  font-size: clamp(1.2rem, 1.1vw, 1.2rem);
}
.text_13 {
  font-size: clamp(1.3rem, 1.25vw, 1.3rem);
}
.text_14 {
  font-size: clamp(1.4rem, 1.34vw, 1.4rem);
}
.text_15 {
  font-size: clamp(1.4rem, 1.4vw, 1.5rem);
}
.text_16 {
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
}
.text_18 {
  font-size: clamp(1.5rem, 1.7vw, 1.8rem);
}
.text_20 {
  font-size: clamp(1.6rem, 1.9vw, 2rem);
}
.text_21 {
  font-size: clamp(1.7rem, 2vw, 2.1rem);
}
.text_22 {
  font-size: clamp(1.7rem, 2.1vw, 2.2rem);
}
.text_24 {
  font-size: clamp(1.8rem, 2.3vw, 2.4rem);
}
.text_26 {
  font-size: clamp(1.8rem, 2.5vw, 2.6rem);
}
.text_28 {
  font-size: clamp(1.9rem, 2.6vw, 2.8rem);
}
.text_30 {
  font-size: clamp(2rem, 2.8vw, 3rem);
}
.text_32 {
  font-size: clamp(2.1rem, 3vw, 3.2rem);
}
.text_34 {
  font-size: clamp(2.2rem, 3.2vw, 3.4rem);
}
.text_36 {
  font-size: clamp(2.3rem, 3.3vw, 3.6rem);
}
.text_38 {
  font-size: clamp(2.4rem, 3.4vw, 3.8rem);
}
.text_40 {
  font-size: clamp(2.5rem, 3.8vw, 4rem);
}
.text_60 {
  font-size: clamp(40px, 6.4vw, 60px);
  line-height: 1;
}
.text_72 {
  font-size: clamp(48px, 7vw, 72px);
  line-height: 1;
}
.text_78 {
  font-size: clamp(52px, 7.5vw, 78px);
  line-height: 1;
}

/*line-height*/
.lh_06 {
  line-height: 0.6;
}
.lh_11 {
  line-height: 1.1 !important;
}
.lh_12 {
  line-height: 1.2 !important;
}
.lh_13 {
  line-height: 1.3 !important;
}
.lh_14 {
  line-height: 1.4 !important;
}
.lh_15 {
  line-height: 1.5 !important;
}
.lh_16 {
  line-height: 1.6 !important;
}
.lh_17 {
  line-height: 1.7 !important;
}
.lh_18 {
  line-height: 1.8 !important;
}

/*letter-spacing*/
.ls_-2 {
  letter-spacing: -2px;
}
.ls_-1 {
  letter-spacing: -1px;
}
.ls_1 {
  letter-spacing: 1px;
}
.ls_2 {
  letter-spacing: 2px;
}
.ls_3 {
  letter-spacing: 3px;
}

.text_r {
  text-align: right;
}

a.link_tex {
  color: #0199cc;
}
a.link_tex:hover {
  opacity: 0.7;
}

@media print, screen and (min-width: 821px) {
  /*line-height*/
  .lh_19 {
    line-height: 1.9 !important;
  }
  .lh_20 {
    line-height: 2 !important;
  }
  .lh_21 {
    line-height: 2.1 !important;
  }
  .lh_22 {
    line-height: 2.2 !important;
  }
  .lh_23 {
    line-height: 2.3 !important;
  }
  .lh_24 {
    line-height: 2.4 !important;
  }
  .lh_25 {
    line-height: 2.5 !important;
  }
  .lh_26 {
    line-height: 2.6 !important;
  }
  .lh_28 {
    line-height: 2.8 !important;
  }
  .lh_30 {
    line-height: 3 !important;
  }
  .lh_32 {
    line-height: 3.2 !important;
  }
  .lh_34 {
    line-height: 3.4 !important;
  }
  .lh_36 {
    line-height: 3.6 !important;
  }

  /*letter-spacing*/
  .ls_4 {
    letter-spacing: 4px;
  }
  .ls_5 {
    letter-spacing: 5px;
  }
  .ls_6 {
    letter-spacing: 6px;
  }
  .ls_7 {
    letter-spacing: 7px;
  }
  .ls_8 {
    letter-spacing: 8px;
  }
} /*END*/

@media screen and (max-width: 820px) {
  /*letter-spacing*/
  .ls_4 {
    letter-spacing: 3px;
  }
  .ls_5 {
    letter-spacing: 4px;
  }
  .ls_6 {
    letter-spacing: 4px;
  }
  .ls_7 {
    letter-spacing: 4px;
  }
  .ls_8 {
    letter-spacing: 4px;
  }

  /*line-height*/
  .lh_19,
  .lh_20,
  .lh_21,
  .lh_22,
  .lh_23,
  .lh_24,
  .lh_25 {
    line-height: 1.8 !important;
  }
} /*END*/

@media screen and (max-width: 599px) {
  /*letter-spacing*/
  .ls_4 {
    letter-spacing: 2px;
  }
  .ls_5 {
    letter-spacing: 2px;
  }
  .ls_6 {
    letter-spacing: 2px;
  }
  .ls_7 {
    letter-spacing: 2px;
  }
  .ls_8 {
    letter-spacing: 2px;
  }
  .sp_text_22{
    font-size: 2.2rem;
  }
} /*END*/

li {
  list-style: none;
}
.center {
  text-align: center;
}
.text_left {
  text-align: left;
}
.text_right {
  text-align: right;
}
.clear {
  clear: both;
}

.op:hover {
  filter: alpha(opacity=60);
  -moz-opacity: 060;
  opacity: 0.6;
}

.status {
  display: inline-block;
  background: #f7e4ac;
  padding: 1px 4px;
  margin-right: 4px;
}

@media screen and (max-width: 599px) {
  .sp_text_left {
    text-align: left;
  }
  .sp_center {
    text-align: center;
  }
} /*END*/

/*----------------------------------------
	共通
----------------------------------------*/

.bg_white {
  background: #fff;
}

/*下層MV*/
.under_mv {
  position: relative;
  box-sizing: border-box;
  overflow: hidden;
}
.under_mv .ttlcopy {
  position: absolute;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: auto;
  text-align: center;
  color: #fff;
}
.under_mv div img {
  margin-bottom: 8px;
}

/*ぱんくず*/
.pan_nav {
  padding: 15px 0;
}
.pan_nav li {
  float: left;
  font-size: 1.2rem;
  color: #000;
  letter-spacing: 1px;
  /*white-space: nowrap;*/
  line-height: 1.2;
}
.pan_nav a {
  color: #000;
  text-decoration: none;
}
.pan_nav a:hover {
  color: #3e3e3e;
}
.pan_nav a:after {
  content: ">";
  color: #3e3e3e;
  padding-left: 10px;
  margin-right: 10px;
  display: inline-block;
}
.pan_nav.gray_ver {
  background: #eee;
  color: #000;
}

/*資料請求バナー*/
.bnr_catalog {
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-width: 900px;
  width: 100%;
}

/*ボーダーのボタン*/
.btn_frame_red,
.btn_frame_white,
.btn_frame_black {
  position: relative;
  transition: all 0.3s;
  display: inline-block;
}
.btn_frame_red {
  color: #fff;
}
.btn_frame_white {
  color: #fff;
}
.btn_frame_red:before,
.btn_frame_white:before,
.btn_frame_black:before {
  content: "";
  position: absolute;
  width: 0;
  height: 100%;
  top: 0;
  left: 0;
  transition: all 0.3s;
}
.btn_frame_red:before {
  background-color: #fff;
}
.btn_frame_white:before {
  background-color: #fff;
}
.btn_frame_black:before {
  background-color: #000;
}
.btn_frame_red:hover:before,
.btn_frame_white:hover:before,
.btn_frame_black:hover:before {
  left: 0;
  width: 100%;
}
.btn_border {
  position: relative;
  display: inline-block;
  line-height: 1;
  text-align: center;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  box-sizing: border-box;
  transition: all 0.3s;
  padding-right: 15px;
}
.btn_frame_red .btn_border {
  background: #b51717;
}
.btn_frame_white .btn_border {
  border: 2px solid #fff;
}
.btn_frame_black .btn_border {
  border: 2px solid #000;
}
.btn_frame_red .btn_border:hover,
.btn_frame_black .btn_border:hover {
  color: #fff;
  transition: all 0.5s;
}
.btn_frame_white .btn_border:hover {
  color: #000;
}
.btn_border:before {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  width: 24px;
  height: 2px;
}
.btn_frame_red .btn_border:before {
  background: #fff;
}
.btn_frame_white .btn_border:before {
  background: #fff;
}
.btn_frame_black .btn_border:before {
  background: #000;
}
.btn_frame_white .btn_border:hover:before {
  background: #000;
}
.btn_frame_black .btn_border:hover:before {
  background: #fff;
}

.btn_border:after {
  content: "";
  position: absolute;
  right: 23px;
  top: 50%;
  margin-top: -5px;
  width: 11px;
  height: 11px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.btn_frame_red .btn_border:after {
  border-top: 2px solid #fff;
}
.btn_frame_white .btn_border:after {
  border-top: 2px solid #fff;
}
.btn_frame_black .btn_border:after {
  border-top: 2px solid #000;
}
.btn_frame_white .btn_border:hover:after {
  border-top: 2px solid #000;
}
.btn_frame_black .btn_border:hover:after {
  border-top: 2px solid #fff;
}

.btn_frame_red .btn_border:before,
.btn_frame_white .btn_border:before,
.btn_frame_black .btn_border:before,
.btn_frame_red .btn_border:after,
.btn_frame_white .btn_border:after,
.btn_frame_black .btn_border:after,
.btn_frame_white .btn_border:hover:before,
.btn_frame_black .btn_border:hover:before,
.btn_frame_white .btn_border:hover:after,
.btn_frame_black .btn_border:hover:after {
  transition: all 0.5s;
}
.btn_frame_red img {
  width: 18px;
  vertical-align: middle;
  margin-right: 10px;
}
.btn_frame_red .btn_border:hover {
  background: #e42626;
}
.btn_frame_top {
  background: #000;
  color: #fff;
}
.btn_frame_top .btn_border::before {
  background: #fff;
}
.btn_frame_top .btn_border::after {
  border-top: 2px solid #fff;
}

.btn_180 {
  width: 180px;
}
.btn_250 {
  width: 250px;
}
.btn_260 {
  width: 260px;
}
.btn_300 {
  width: 300px;
}
.btn_400 {
  width: 400px;
}
.btn_wide {
  width: 100%;
}

@media screen and (max-width: 1200px) {
  .pan_nav {
    right: 15%;
  }
} /*END*/

@media screen and (max-width: 768px) {
  /*下層MV*/
  .under_mv img {
    width: 140%;
  }
  .under_mv div img {
    width: auto;
    margin-left: 0;
  }

  .tb_center {
    text-align: center;
  }

  .btn_frame_top {
    width: 100%;
    max-width: 180px;
  }
  .box_rf .btn_180 {
    width: 100%;
  }
} /*END*/

@media screen and (max-width: 599px) {
  /*下層MV*/
  .under_mv img {
    width: 200%;
    max-width: 200%;
    margin-left: -50%;
  }

  /*ぱんくず*/
  .pan_nav {
    display: none;
  }
} /*END*/

/*----------------------------------------
	animation
----------------------------------------*/

/*　流れ続ける文字　画像 */
.foot_link_loop{
	display: flex;
	/*max-width: 658px;*/
	margin-left: auto;
	margin-right: auto;
	overflow: hidden;
}
.foot_link_loop img{
    max-width: none; 
    display: block;
    width: 1860px;
    object-fit: contain;
}
.foot_link_loop img:first-of-type{
	animation: loop 60s -30s linear infinite;
}
.foot_link_loop img:last-of-type{
	animation: loop02 60s linear infinite;
}
.top_ttl_deco{
    font-size: clamp(14px,2vw,20px);
    font-weight: normal;
    position: absolute;
    left: 0;
    bottom: 0;
}
@keyframes loop{
	0% {
        transform: translateX(100%);
    }
    100% {
        transform: translateX(-100%);
      }
}
@keyframes loop02 {
	0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-200%);
      }
}

/*　タイトル フェードイン */
.top_ttl_anime01{
	opacity: 0;
}
.top_ttl_anime01.show{
	animation: fadeIn01 1.5s ease 1s normal forwards;
	animation-delay:0.4s;
}
@keyframes fadeIn01 {
  from {
    opacity: 0;
    transform: translateY(40%);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


.top_ttl_anime02{
		opacity: 0;
}
.top_ttl_anime02.show{
	animation: fadeIn02 1.5s ease 1s normal forwards;
	animation-delay:1s;
}
@keyframes fadeIn02 {
  from {
    opacity: 0;
    transform: translateY(40%);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/*　画像　背景　スライド式表示 */
.logo_anime{
	opacity: 0;
}
.logo_anime.show{
	filter: blur(20px);
	animation-delay: 1s;
	animation-name: logo_anime;
	animation-duration: 3s;
	animation-fill-mode: forwards;
}
@keyframes logo_anime {
  0% {
  	opacity: 0;
  	filter: blur(10px);
  }
  100% {
  	opacity: 1;
    filter: blur(0);
  }
}


.single .logo_anime.show,
.archive .logo_anime.show,
.page .logo_anime.show{
	animation-delay: 0.4s;
}



.top_mv_anime01{
	opacity: 0;
	position: relative;
}
.top_mv_anime01.show{
	animation-name: top_mv_anime01; /* キーフレームの名前 */
	animation-duration: 5s; /* かかる時間 */
	animation-timing-function: ease-out; /* 速度 */
	animation-fill-mode: forwards; /* アニメーション前後のプロパティの状態 */
}
.top_mv_anime01.show:before{
	width: 100%;
	height: 100%;
	position: absolute;
	content: '';
	top: 0;
	left: 0;
	box-shadow: inset 0 0 40px 80px #fff;
	animation-name: top_mv_anime01_s; /* キーフレームの名前 */
	animation-duration: 10s; /* かかる時間 */
	animation-timing-function: ease-out; /* 速度 */
	animation-fill-mode: forwards; /* アニメーション前後のプロパティの状態 */
}

@keyframes top_mv_anime01 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes top_mv_anime01_s {
  0% {
    box-shadow: inset 0 0 40px 80px #fff;
  }
  100% {
    box-shadow:none;
    opacity: 0;
  }
}


.top_mv_anime01_b img{
	opacity: 0;
}
.top_mv_anime01_b.show img{
	filter: blur(20px);
	animation-name: top_mv_anime01_blur; /* キーフレームの名前 */
	animation-duration: 2s; /* かかる時間 */
	animation-timing-function: ease-out; /* 速度 */
	animation-fill-mode: forwards; /* アニメーション前後のプロパティの状態 */
}
@keyframes top_mv_anime01_blur {
  0% {
    opacity: 0;
    filter: blur(20px);
  }
  100% {
    opacity: 1;
    filter: blur(0);
  }
}

.m_delay01.show img{ animation-delay: 0.4s; }
.m_delay02.show img{ animation-delay: 0.8s; }
.m_delay03.show img{ animation-delay: 1.2s; }
.m_delay04.show img{ animation-delay: 1.6s; }
.m_delay05.show img{ animation-delay: 1.8s; }


.mvhuwa{
      animation: mvhuwa 3s linear infinite;
      transform-origin: 50% 50%;
      margin: 1rem 0 !important;
}

@keyframes mvhuwa {
      0% { transform: translateY(0) }
      50% { transform: translateY(-10px) }
      100% { transform: translateY(0) }
}


@media screen and (min-width: 1211px){
.pc_header_menu_ani.show{
	filter: blur(20px);
	animation-delay: 2.2s;
	animation-name: pc_header_menu_ani;
	animation-duration: 1.4s;
	animation-fill-mode: forwards;
    clip-path: inset(0 0 100% 0);
}
@keyframes pc_header_menu_ani {
	  0% {
	  	filter: blur(2px);
	    clip-path: inset(0 0 100% 0);
	  }
	  100% {
	    filter: blur(0);
	    clip-path: inset(0);
	  }
}


.single .pc_header_menu_ani.show,
.archive .pc_header_menu_ani.show,
.page .pc_header_menu_ani.show{
	animation-delay: 0.4s;
}
}/*END*/


.top_mv_anime_copy{
	opacity: 0;
}
.top_mv_anime_copy.show{
	filter: blur(20px);
	animation-delay: 1s;
	animation-name: top_mv_anime_copy;
	animation-duration: 3s;
	animation-fill-mode: forwards;
}
@keyframes top_mv_anime_copy {
  0% {
  	opacity: 0;
  	filter: blur(10px);
  }
  100% {
  	opacity: 1;
    filter: blur(0);
  }
}

.anime_fade_blur{
	opacity: 0;
}
.anime_fade_blur.show{
	filter: blur(20px);
	animation-name: anime_fade_blur; /* キーフレームの名前 */
	animation-duration: 1.6s; /* かかる時間 */
	animation-timing-function: ease-out; /* 速度 */
	animation-fill-mode: forwards; /* アニメーション前後のプロパティの状態 */
}
@keyframes anime_fade_blur {
  0% {
    opacity: 0;
    filter: blur(20px);
  }
  100% {
    opacity: 1;
    filter: blur(0);
  }
}

.anime_fade_blur.show.delay01{
	animation-delay: 0.4s
}
.anime_fade_blur.show.delay02{
	animation-delay: 0.8s
}
.anime_fade_blur.show.delay03{
	animation-delay: 1.2s
}
.anime_fade_blur.show.delay04{
	animation-delay: 1.4s
}

.anime_fade_up{
	opacity: 0;
}
.anime_fade_up.show{
	filter: blur(8px);
	animation: anime_fade_up 1.1s ease 1s normal forwards;
	animation-delay:0.1s;
}
@keyframes anime_fade_up {
  from {
    opacity: 0;
    transform: translateY(20%);
    filter: blur(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

.anime_fade_up.delay01{
	animation-delay:0.6s;
}

.anime_tex_down.show{
	animation-name: anime_tex_down;
	animation-duration: 1.4s;
	animation-fill-mode: forwards;
    clip-path: inset(0 0 100% 0);
}
@keyframes anime_tex_down {
	  0% {
	    clip-path: inset(0 0 100% 0);
	  }
	  100% {
	    clip-path: inset(0);
	  }
}

.anime_fade_left.show{
	animation-name: anime_fade_left;
	animation-duration: 1.4s;
	animation-fill-mode: forwards;
    clip-path: inset(0 100% 0 0);
}
@keyframes anime_fade_left {
	  0% {
	    clip-path: inset(0 100% 0 0);
	  }
	  100% {
	    clip-path: inset(0);
	  }
}

.anime_fade_left.show.delay01{
	animation-delay: 0.4s
}

.anime_fade_right{
	opacity: 0;
}
.anime_fade_right.show{
	animation-name: anime_fade_right;
	animation-duration: 1.4s;
	animation-fill-mode: forwards;
    clip-path: inset(0 0 0 100%);
}
@keyframes anime_fade_right {
	  0% {
	    clip-path: inset(0 0 0 100%);
	    opacity: 0;
	  }
	  100% {
	    clip-path: inset(0);
	    opacity: 1;
	  }
}

.anime_fade_right.show.delay01{
	animation-delay: 0.4s
}

.anime_img_up.show{
	animation-name: anime_img_up;
	animation-duration: 1.4s;
	animation-fill-mode: forwards;
    clip-path: inset(100% 0 0 0); /*上 右 下 左*/
}
@keyframes anime_img_up {
	  0% {
	    clip-path: inset(100% 0 0 0);
	  }
	  100% {
	    clip-path: inset(0);
	  }
}

/*　画像 下からフェードイン */
.img_anime01{
	opacity: 0;
}
.img_anime01.show{
	animation: ia_fadeIn01 1.1s ease 1s normal forwards;
	animation-delay:0.1s;
}
@keyframes ia_fadeIn01 {
  from {
    opacity: 0;
    transform: translateY(20%);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.img_anime01.show.delay01{
	animation-delay: 0.5s
}
.img_anime01.show.delay02{
	animation-delay: 0.9s
}

/*　ホバー線 */
.anime_border{
	position: relative;
	display: inline-block;
}

.anime_border::after {
position: absolute;
left: 0;
content: '';
width: 100%;
height: 1px;
background: #5e5e5e;
bottom: -35%;
transform: scale(0, 1);
transform-origin: right top; /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の右端*/
transition: transform 0.3s;  /*変形の時間*/
}

.anime_border:hover::after {
transform: scale(1, 1);     /*ホバー後、x軸方向に1（相対値）伸長*/
transform-origin: left top; /*左から右に向かう*/
}

.anime_border_w{
	position: relative;
	display: inline-block;
}

.anime_border_w::after {
position: absolute;
right: 0;
content: '';
width: 1px;
height: 100%;
background: #000;
top: 0;
transform: scale(1, 0);
transform-origin: left bottom; /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の右端*/
transition: transform 0.3s;  /*変形の時間*/
}

.anime_border_w:hover::after {
transform: scale(1, 1);     /*ホバー後、x軸方向に1（相対値）伸長*/
transform-origin: left top; /*上から下に向かう*/
}


/*----------------------------------------
	layout
----------------------------------------*/

.max_respon {
  max-width: 100%;
}
.pc_block {
  display: block;
}
.sp_block {
  display: none;
}
.tb_block {
  display: none;
}
.nm_t5 {
  margin-top: -5px;
}
.inner_frame {
  max-width: 1080px;
  width: 100%;
  position: relative;
  box-sizing: border-box;
  margin-inline: auto;
  padding-right: 20px;
  padding-left: 20px;
}
.inner_frame1200 {
  max-width: 1200px;
  width: 100%;
  position: relative;
  box-sizing: border-box;
  margin-inline: auto;
  padding-right: 20px;
  padding-left: 20px;
}
.inner_frame750 {
  max-width: 750px;
  width: 100%;
  position: relative;
  box-sizing: border-box;
  margin-inline: auto;
}
.inner_frame650 {
  max-width: 650px;
  width: 100%;
  position: relative;
  box-sizing: border-box;
  margin-inline: auto;
}
.rela {
  position: relative;
}
.rela_z1 {
  position: relative;
  z-index: 1;
}
.text_line {
  display: inline-block;
  border-bottom: 1px solid #000;
}
.palt {
  font-feature-settings: "palt";
}

.mv_flex {
  display: flex;
  justify-content: center;
  gap: 50px;
  z-index: 10;
}
@media screen and (max-width: 600px) {
  .mv_flex{
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }
  .mv_flex div{
    width: 80%;
    margin-inline: auto;
  }
}

.content_fl_box {
  display: flex;
  gap: 3.5%;
}
.content_fl_box.between {
  justify-content: space-between;
}
.content_fl_box.reverse {
  flex-direction: row-reverse;
}
.content_fl_box.end {
  justify-content: flex-end;
}
.i_center {
  align-items: center;
}
.c_end {
  align-content: flex-end;
}
.c_center {
  align-content: center;
}
.nogap {
  gap: 0;
}
.content_fl_box50 {
  display: flex;
}
.box25 {
  width: 25%;
}
.box30 {
  width: 30%;
}
.box35 {
  width: 35%;
}
.box40 {
  width: 40%;
}
.box45 {
  width: 45%;
}
.box47 {
  width: 48.1%;
}
.box50 {
  width: 50%;
}
.box55 {
  width: 55%;
}
.box60 {
  width: 60%;
}
.box65 {
  width: 65%;
}
.box70 {
  width: 70%;
}
.box75 {
  width: 75%;
}

@media screen and (max-width: 768px) {
  .inner_frame,
  .inner_frame1200 {
    padding-right: 3.5%;
    padding-left: 3.5%;
  }
} /*END*/

@media screen and (max-width: 599px) {
  .inner_frame,
  .inner_frame1200 {
    padding-right: 4.3%;
    padding-left: 4.3%;
  }
} /*END*/

@media screen and (max-width: 599px) {
  .sp_order00 {
    order: 0;
  }
  .sp_order01 {
    order: 1;
  }
  .sp_order02 {
    order: 2;
  }
  .sp_order03 {
    order: 3;
  }
  .sp_order04 {
    order: 4;
  }
  .sp_order05 {
    order: 5;
  }

  .content_fl_box {
    flex-wrap: wrap;
  }
  .box70,
  .box65,
  .box60,
  .box40,
  .box50,
  .box55,
  .box25,
  .box75,
  .box47,
  .box45,
  .box35,
  .box30 {
    width: 100%;
    padding-bottom: 30px;
  }
  .content_fl_box50 {
    flex-wrap: wrap;
  }
  .pc_p_t250 {
    padding-top: 0;
  }
} /*END*/

.max300 {
  max-width: 300px;
}

/*----------------------------------------
	header 2
----------------------------------------*/

header li {
  list-style: none;
}
header a {
  display: block;
  text-decoration: none;
}
header {
  width: 100%;
  z-index: 10;
  box-sizing: border-box;
}
.logo_f {
  display: flex;
  align-items: center;
}
.logo_f .box {
  padding-right: 20px;
}
h1.read,
span.read {
  display: block;
  color: #cccccc;
  font-size: clamp(1.1rem, 1.1vw, 1.2rem);
}
.header_inner {
  position: relative;
  /* background: transparent; */
}
.head_content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-sizing: border-box;
  width: 100%;
  padding: 10px 16px;
  background-color: transparent;
}
/* TOPページ（home） → 背景透明 */
body.home .head_content {
  background-color: transparent;
}

/* 下層ページ（TOP以外） → 白背景 */
body:not(.home) .head_content {
  background-color: #fff;
}

.open .head_content{
  background-color: transparent !important;
}

.nav_under li a {
  /* font-size: clamp(1.4rem, 1.7vw, 1.8rem); */
  font-size: 1.4rem;
  color: #000;
}
.header_l {
  width: 30%;
}
.header_r {
  /* float: right; */
  display: flex;
  justify-content: right;
  width: 70%;
  align-items: center;
}

.nav_under li img {
  width: 220px;
  height: auto;
  flex-shrink: 0;
  display: inline-block;
}

.nav_under li .con{
  width: 165px;
}

@media screen and (max-width: 1210px) {
  .header_l {
    width: 80%;
  }
  .header_r {
    float: none;
    display: block;
    width: 15%;
  }
} /*END*/

@media print, screen and (min-width: 1211px) {
  .header_menu {
    width: auto;
    /* padding-right: 85px; */
  }
  .nav_under {
    display: flex;
    gap: 22px;
    align-items: center;
  }
  #sd {
    clear: both;
    width: 100%;
  }
  #sd li {
    box-sizing: border-box;
    position: relative;
    font-size: 1.6rem;
  }
  #sd li a {
    box-sizing: border-box;
    white-space: nowrap;
  }
  #sd li a:hover {
    opacity: 0.7;
  }
  #sd li:last-child {
    border-right: none;
    /*padding-right:0;*/
  }
} /*END*/

/* max-width: 768px 早めのドロワー */
@media screen and (max-width: 1210px) {
  .sd-trigger {
    float: none;
    position: absolute;
    width: 54px;
    height: 48px;
    background: #f0f0f0;
    cursor: pointer;
    right: 2%;
    top: 32%;
  }
  .sd-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    width: 28px;
    background-color: #000;
  }
  .sd-trigger span:nth-of-type(1) {
    top: 15px;
    left: 13px;
  }
  .sd-trigger span:nth-of-type(2) {
    top: 23px;
    left: 13px;
  }
  .sd-trigger span:nth-of-type(3) {
    top: 31px;
    left: 13px;
  }

  #sd {
    box-sizing: border-box;
  }
  #sd ul {
    margin-bottom: 0;
    border-top: 1px dotted #afa9a4;
  }
  #sd ul ul {
    border-top: none;
  }
  #sd li {
    position: relative;
  }
  #sd li a {
    display: block;
    text-decoration: none;
    padding: 16px 2% 16px 4%;
    color: #000;
    border-bottom: 1px dotted #afa9a4;
    line-height: 1.4;
  }
  .sd-trigger.sd2022 {
    top: 20%;
  }
  header h1 {
    padding: 2px 5px;
    line-height: 1.2;
  }
  .h_icon {
    display: none;
  }
  .sp_ul_btm {
    display: block;
    border-top: none !important;
  }

  /*スマホメニュー*/
  .sp_menu {
    clear: both;
  }
  .sp_menu li {
    list-style: none;
    float: left;
    box-sizing: border-box;
    width: 25%;
    text-align: center;
    background: #faf2eb;
    border-left: 1px dotted #afa9a4;
    border-top: 1px dotted #afa9a4;
    border-bottom: 1px dotted #afa9a4;
  }
  .sp_menu li a {
    display: block;
  }
  .sp_menu li:first-child {
    border-left: 1px solid #faf2eb;
  }
  .sp_sd_nav {
    display: block;
  }

  .head_contact_btn {
    background: #bf161a;
    color: #fff !important;
    font-weight: bold;
    padding: 13px 40px;
    border-radius: 25px;
    white-space: nowrap;
    text-align: center;
  }
  .head_contact_btn img {
    width: 22px;
    margin-right: 8px;
    vertical-align: middle;
  }
} /*END*/

@media screen and (max-width: 599px) {
  .head_logo {
    width: 50%;
    padding: 10px 10px 15px 2%;
  }
  .head_content {
    align-items: normal;
    padding: 10px 10px;
  }
  .header_l {
    width: 90%;
  }
  .header_r {
    width: 0;
  }
  .logo_f {
    display: flex;
    align-items: center;
    flex-wrap: inherit;
    width: 100%;
  }
  .logo_img {
    width: 50%;
    margin-right: 6px;
  }
  .logo_f .box {
    padding-right: 0;
  }
  .sd-trigger {
    top: 30px;
  }
  .head_contact {
    margin-bottom: 5px;
  }
} /*END*/

/*----------------------------------------
	MV
----------------------------------------*/

.mv {
  width: 100%;
  position: relative;
  background-size: cover;
  background-position: center;
}
.mvimg {
  height: 80vh;
  object-fit: cover;
}
.mv_column {
  display: flex;
  flex-direction: column;
}
.mv_copy {
  max-width: 660px;
  width: 48%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s;
  z-index: 1;
}
.mv_click {
  max-width: 170px;
  width: 48%;
  position: absolute;
  top: 85%;
  left: 100%;
  transform: translate(-50%, -50%);
  transition: all 0.3s;
  z-index: 1;
}
.page_mv_ttl {
  max-width: 500px;
  width: 85%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.page_mv_ttl_2 {
  max-width: 680px;
  width: 90%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 960px) {
  .page_mv > img {
    width: 140%;
    margin-left: -15%;
  }
} /*END*/

.mv-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 260px;
  position: relative;
  margin-top: 30px;
  padding-bottom: 10px;
}

.swiper-button-next,
.swiper-button-prev {
  width: 24px;
  height: 24px;
  background: transparent;
  border-radius: 50%;
  border: #000 1px solid;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #000;
  font-size: 11px;
  z-index: 10;
}

.swiper-button-next::after,
.swiper-button-prev::after {
  content: '';
}
.swiper-button-next { right: 40%; }
.swiper-button-prev { left: 40%; }

@media screen and (max-width: 700px) {
.swiper-button-next { right: 35%; }
.swiper-button-prev { left: 35%; }
}

@media screen and (max-width: 599px) {
.swiper-button-next { right: 27%; }
.swiper-button-prev { left: 27%; }
}
@media screen and (max-width: 768px) {
.mv-pagination {
  padding-bottom: 20px;
  margin-top: 110px;
}
.mv_photo_area{
  right: 15%;
}
}
@media screen and (max-width: 660px) {
  .mv_photo_area{
  right: 10%;
}
}
@media screen and (max-width: 599px) {
  .mv-pagination {
  margin-top: -150px;
}
  .mv_photo_area{
  right: 0%;
}
.mv-pagination {
  left: -20%;
}
}
@media screen and (max-width: 400px) {
  .mv-pagination {
  margin-top: -150px;
}
}
@media screen and (max-width: 380px) {
  .mv-pagination {
  margin-top: -160px;
}
}


/*----------------------------------------
	MV スライダー
----------------------------------------*/

.mv_message {
  position: absolute;
  top: 16%;
  left: -8%;
  z-index: 5;
  text-align: left;
  color: #000;
  max-width: 420px;
  width: 90%;
}

.mv_title_img {
  width: 295px;
  height: auto;
}

.mv_catch_en {
  font-size: 1.2rem;
  font-weight: bold;
}

.mv_catch_ja {
  font-size: 2.8rem;
  line-height: 1.4;
}

.mv_text {
  font-size: 1.4rem;
  line-height: 1.8;
}

/* レスポンシブ */
@media screen and (max-width: 768px) {
  .mv_message {
    position: static;
    margin: 2rem auto 1rem;
    padding: 0 1rem;
    text-align: center;
    max-width: 100%;
  }

  .mv_title_img {
    width: 150px;
    margin: 0 auto 1rem;
  }

  .mv_catch_en,
  .mv_catch_ja,
  .mv_text {
    text-align: center;
  }
}

.slider-text {
  opacity: 0;
  transform: translateX(-30px);
  transition: all 0.6s ease;
}

.slider-text.active {
  opacity: 1;
  transform: translateX(0);
}

.slider-main {
  opacity: 0;
  transition: opacity 0.6s ease;
  text-align: center;
}

.slider-main.active {
  opacity: 1;
}

.slider-next {
  opacity: 0;
  transform: translateX(30px);
  transition: all 0.6s ease;
  cursor: pointer;
  text-align: center;
}

.slider-next.active {
  opacity: 1;
  transform: translateX(0);
}

.slider-main img,
.slider-next {
  max-width: 100%;
  height: auto;
}

.slider-wrapper {
  display: flex;
  align-items: center;
  gap: 20px;
  max-width: 1100px;
  margin: auto;
  flex-wrap: nowrap;
}

.slider-text,
.slider-main,
.slider-next {
  flex: 1;
  min-width: 280px;
}

/* アニメーション */
.slider-text {
  opacity: 0;
  transform: translateX(-30px);
  transition: all 0.6s ease;
}

.slider-text.active {
  opacity: 1;
  transform: translateX(0);
}

.slider-main {
  opacity: 0;
  transition: opacity 0.6s ease;
  text-align: center;
}

.slider-main.active {
  opacity: 1;
}

.slider-main img {
  max-width: 100%;
  height: auto;
}

.slider-next {
  opacity: 0;
  transform: translateX(30px);
  transition: all 0.6s ease;
  cursor: pointer;
  text-align: center;
}

.slider-next.active {
  opacity: 1;
  transform: translateX(0);
}

.slider-next img {
  max-width: 100%;
  height: auto;
  cursor: pointer;
}

/* SP時は縦並び */
@media screen and (max-width: 768px) {
  .slider-wrapper {
    flex-direction: column;
    align-items: center;
  }

  .slider-text,
  .slider-main,
  .slider-next {
    min-width: auto;
    width: 100%;
  }

  .slider-next {
    order: 3; /* NEXTは一番下に */
  }
}

.fade-in {
	opacity: 1;
	transition: opacity 0.3s;
}
.fade-out {
	opacity: 0;
	transition: opacity 0.3s;
}

.mv_beginner_btn{
  position: absolute;
  bottom: 0%;
  right: -8%;
  max-width: 150px;
  z-index: 99;
}

.mv_next_slide{
  width: 100%;
  max-width: 200px;
  position: absolute;
  right: -3%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 99;
}

.mv_frame_swiper {
    max-width: 1150px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -40%);
}
.mv_frame_flex {
    display: flex;
    column-gap: 30px;
}
.mv_frame_flex_box1 {
    width: 23%;
    height: 500px;
    padding-top: 20px;
}
.mv_frame_flex_box2 {
    width: 50%;
}
.slider_title_sp{
    display: none;
}
@media screen and (max-width: 1100px) {
.mv_next_slide{
  right: -3%;
  top: 40%;
}
.mv_beginner_btn{
  bottom: 0%;
  max-width: 130px;
}
.mv_height_sp{
  height: 56vh;
  padding-bottom: 180px;
}
}
@media screen and (max-width: 940px) {
.mv_next_slide{
  right: 0%;
  top: 42.5%;
  max-width: 150px;
}
.mv_beginner_btn{
  bottom: 8%;
  max-width: 120px;
}
}



@media screen and (max-width: 768px) {
  .mv_frame_flex {
    flex-direction: column-reverse;
}
  .mv_frame_flex_box1,
  .mv_frame_flex_box2{
    width: 100%;
}
  .mv_next_slide{
  max-width: 170px;
  right: 0%;
  top: 20%;
}
.mv_frame_flex_box1 {
    height: 200px;
    padding-top: 20px;
    width: 90%;
    margin-inline: auto;
}
.mv_frame_flex_box2 {
    padding-top: 320px;
    padding-bottom: 60px;
}
.mv_beginner_btn{
  bottom: 0%;
  right: 20%;
}
.slider_title_pc{
  display: none;
}
.slider_title_sp{
  display: block;
  width: 80%;
  margin-inline: auto;
  margin-bottom: 20px;
}
.mv_height_sp{
  padding-bottom: 430px;
}
}

@media screen and (max-width: 699px) {
  .mv_next_slide{
  max-width: 160px;
}
.mv_beginner_btn{
  right: 15%;
}
}
@media screen and (max-width: 660px) {
  .mv_next_slide{
  max-width: 160px;
  right: -5%;
}
}
@media screen and (max-width: 600px) {
  .mv_next_slide{
  max-width: 110px;
  top: 18%;
  right: -14%;
}
.mv_beginner_btn{
  right: 10%;
  bottom: -12%;
}
.slider_title_sp{
  width: 60%;
}
}
@media screen and (max-width: 500px) {
  .mv_next_slide{
  top: 18%;
  right: -14%;
}
.mv_beginner_btn{
  right: 0%;
  bottom: -12%;
}
.mv_height_sp{
  padding-bottom: 300px;
}
.slider_title_sp{
  margin-bottom: 0px;
}
.mv_frame_flex_box2 {
    padding-top: 300px;
    padding-bottom: 40px;
}
.mv_frame_swiper {
    top: 48%;
}
}
@media screen and (max-width: 450px) {
  .mv_next_slide{
  top: 18%;
  right: -14%;
}
}
@media screen and (max-width: 400px) {
.mv_beginner_btn{
  right: 0%;
  bottom: -12%;
}
.mv_next_slide{
  top: 18%;
  right: -14%;
}
}

@media screen and (min-width: 1100px) {
    .mv_swiper_box li {
        height: auto;
        aspect-ratio: 257 / 132;
        max-height: 700px;
    }
}

img {
  font-size: 0; /* alt文字の表示を抑制 */
}

img:before {
  content: none;
}

img:after {
  content: none;
}

img[src=""], 
img:not([src]), 
img[src="#"] {
  display: none;
}

.mv_next_title{
  display: inline-block;
  transform: rotate(10deg);
  transform-origin: left center;
  white-space: nowrap;
  font-weight: bold;
  font-size: 12px;
  padding-left: 16px;
}
@media screen and (max-width: 768px) {
  .mv_next_title{
  white-space: wrap;
}
}
@media screen and (max-width: 600px) {
.mv_next_title{
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  text-orientation: upright;
  -webkit-text-orientation: upright;
  transform: rotate(0deg);
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  margin-left: auto;
  margin-right: 0; 
}
.rotate_fix {
  writing-mode: horizontal-tb;
  -webkit-writing-mode: horizontal-tb;
  text-orientation: initial;
  -webkit-text-orientation: initial;
  display: inline-block;
  transform: rotate(90deg);
  transform-origin: center;
  -webkit-transform: rotate(90deg);
  
}
}

@media screen and (max-width: 500px) {
  .mv_height_sp{
  height: 500px;
}
}

@media screen and (max-width: 400px) {
  .mv_next_title{
  right: -17%;
  }
}

/* @media screen and (max-width: 399px) {
.mv_height_sp{
  height: 480px;
}
} */

/* @media screen and (max-width: 379px) {
.mv_height_sp{
  height: 70vh;
}
} */

/*--------------------------------------------------------------------------------------------------------------------------------
	index.php top
----------------------------------------------------------------------------------------------------------------------------------*/

.bg_beige {
  background: #f2f1e8;
}
.bg_dark {
  background: #333;
}
.pc_p_t35 {
  padding-top: 35px;
}
.pc_p_t80 {
  padding-top: 80px;
}
.img_con_respon {
  width: 56.4vw;
  max-width: 760px;
}
.concept_img01_2 {
  margin-top: -30px;
}
.concept_deco01 {
  width: 8.2%;
  max-width: 86px;
  position: absolute;
  top: 4%;
  left: 32%;
}
.concept_deco02 {
  width: 12.5%;
  max-width: 130px;
  position: absolute;
  bottom: 18%;
  left: 25%;
}
.concept_deco03 {
  width: 18%;
  max-width: 184px;
  position: absolute;
  top: -20%;
  right: -8%;
}
.concept_deco04 {
  width: 12.5%;
  max-width: 130px;
  position: absolute;
  bottom: 10%;
  right: 10%;
}
.pc_p_t100 {
  padding-top: 100px;
}
.e_indent {
  padding-left: 5%;
}
.ttl00 img {
  width: 100%;
  max-width: 500px;
}
.ttl img {
  width: 100%;
  max-width: 500px;
}
.event_deco01 {
  max-width: 337px;
  width: 32.4%;
  position: absolute;
  top: 20px;
  left: 8%;
}
.event_deco02 {
  max-width: 309px;
  width: 29.71%;
  position: absolute;
  top: 100px;
  right: -7%;
}
.plan_deco01 {
  max-width: 114px;
  width: 11%;
  position: absolute;
  top: -15%;
  left: 0;
}
.plan_deco02 {
  max-width: 190px;
  width: 19%;
  position: absolute;
  top: 40%;
  right: 0;
}
.plan_deco03 {
  max-width: 181px;
  width: 18%;
  position: absolute;
  top: 10%;
  left: 0;
}
.cost_deco01 {
  max-width: 125px;
  width: 26%;
  position: absolute;
  top: -2%;
  right: -12%;
}
.cost_photo_area {
  margin-top: -25%;
}
.cost_img1 {
  width: 60%;
  max-width: 300px;
}
.cost_img2 {
  width: 100%;
  max-width: 500px;
}
.cost_img3 {
  width: 88%;
  max-width: 440px;
}
.tag_list {
  display: flex;
  gap: 4px;
}
.tag_list .item {
  width: calc((100% - (6 * 3px)) / 6);
  max-width: 170px;
  max-height: 60px;
  background: #333333;
  color: #fff;
  text-align: center;
  box-sizing: border-box;
  padding: 18px 2px;
  font-weight: 600;
}
.style_content_box {
  position: relative;
  max-width: 500px;
}
.style_content_box .textbox {
  width: 80%;
  position: absolute;
  top: 70%;
  left: 50%;
  transform: translateX(-50%);
}
.style_deco01 {
  max-width: 146px;
  width: 15%;
  position: absolute;
  top: 2.5%;
  left: 7%;
}
.style_deco02 {
  max-width: 95px;
  width: 10%;
  position: absolute;
  top: 10%;
  right: 4%;
}
.style_deco03 {
  max-width: 195px;
  width: 19%;
  position: absolute;
  bottom: 4%;
  left: -6%;
}
.style_deco04 {
  max-width: 177px;
  width: 17.5%;
  position: absolute;
  bottom: 1%;
  right: -11%;
}
.inner_frame1350 {
  width: 100%;
  max-width: 1350px;
  margin-inline: auto;
}
/* .bg_campaign {
  background: #333333;
} */
.inner_frame600 {
  width: 100%;
  max-width: 600px;
  margin-inline: auto;
}
.present_logo {
  width: 39%;
  max-width: 228px;
  position: absolute;
  top: 0;
  right: 0;
}
.cv_catalog_block {
  width: 100%;
  background: #a5b68d;
  padding-bottom: 35px;
  position: relative;
  padding: 0 5% 5% 5%;
  box-sizing: border-box;
}
.present_catalog_img {
  width: 45%;
  max-width: 277px;
  position: absolute;
  top: -30px;
  right: 3%;
}

.bnner_area {
  padding: 100px 0 100px 0;
}
.side_float {
  position: fixed;
  top: 40vh;
  right: 0;
  z-index: 99;
  width: 60px;
}

.style_vm {
  padding-top: 20px;
}

@media screen and (max-width: 980px) {
  .concept_deco02 {
    bottom: 10%;
    left: 30%;
  }
  .concept_deco03 {
    top: -15%;
    right: 2%;
  }
  .plan_deco01 {
    top: -15%;
    left: 5%;
  }
  .plan_deco02 {
    right: 1.5%;
  }
  .plan_deco03 {
    width: 22%;
    top: 10%;
    left: 3%;
  }
  .style_deco03 {
    left: 0;
  }
  .style_deco04 {
    bottom: 0;
    right: -3%;
  }
} /*END*/

@media screen and (max-width: 768px) {
.side_float {
  width: 50px;
}
}

@media screen and (max-width: 599px) {
  .pc_p_t35 {
    padding-top: 0;
  }
  .pc_p_t100 {
    padding-top: 0;
  }
  .pc_p_t80 {
    padding-top: 0;
  }
  .ttl img {
    width: 118%;
    margin-left: -8%;
  }
  .event_deco01 {
    width: 40%;
    top: 0;
    left: 3%;
  }
  .event_deco02 {
    width: 35%;
    top: 100px;
    right: -4%;
  }
  .concept_deco01 {
    width: 17%;
    top: 4%;
    left: 75%;
  }
  .concept_deco02 {
    width: 25%;
    top: 40%;
    left: 62%;
  }
  .concept_deco03 {
    width: 28%;
    top: -41%;
    right: 2%;
  }
  .concept_deco04 {
    display: none;
  }
  .cost_deco01 {
    width: 20%;
    top: 5%;
    right: -6%;
  }
  /* .bg_campaign {
    margin-top: 30px;
    padding-bottom: 10px;
  }
  .cv_campaign_ttl {
    width: 68%;
    top: -20px;
  } */
  .plan_deco01 {
    width: 16%;
    top: -16%;
    left: 5%;
  }
  .plan_deco02 {
    width: 24%;
    top: -12%;
    right: 5%;
  }
  .plan_deco03 {
    width: 32%;
    top: 54%;
    left: 5%;
  }
  .e_indent {
    padding-left: 0;
  }
  .cost_photo_area {
    margin-top: 0;
  }
  .tag_list {
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .tag_list .item {
    width: 49%;
  }
  .style_deco01 {
    width: 18%;
    top: 1%;
    left: 6%;
  }
  .style_deco02 {
    width: 12%;
    top: 9%;
    right: 1%;
  }
  .style_content_box .textbox {
    top: 69%;
  }
  .style_wrap .box47 {
    padding-bottom: 0;
  }
  .style_content_box .textbox .text_16 {
    font-size: 1.3rem;
    line-height: 1.3 !important;
  }
  .style_deco03 {
    width: 21%;
    bottom: 0;
    left: 0;
  }
  .style_deco04 {
    width: 20%;
    bottom: -9px;
    right: -3.5%;
  }
  .present_logo {
    width: 30%;
  }
  .bnner_area {
    padding: 40px 0 0 0;
  }
  .side_float {
    display: none;
  }

  .style_vm {
    padding-top: 5px;
  } 
}

/* スライダ―*/
.p_slider {
  width: 100%;
  max-width: 1350px;
  margin: 0 auto;
}
.p_slider-img {
  margin: 0 16px;
}
.p_slider-img img {
  height: auto;
  width: 100%;
  max-width: 100%;
}

.p_slider {
  opacity: 0;
  transition: opacity 0.2s ease;
}
.p_slider.slick-initialized {
  opacity: 1;
}

/* ボタン　*/
a.btn_style01 {
  background: #e6e6e6;
  text-decoration: none;
  padding: 20px 10px 20px 16px;
  line-height: 1;
  text-align: left;
  display: inline-block;
  box-sizing: border-box;
  font-size: clamp(1.4rem, 1.7vw, 1.8rem);
  width: 85%;
  max-width: 300px;
}
a.btn_style01:hover {
  text-decoration: none;
  opacity: 0.7;
  transition: all 0.4s;
}
.btn_arrow {
  position: relative;
  display: inline-block;
}
.btn_arrow:after {
  position: absolute;
  right: 22px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  content: "";
  vertical-align: middle;
  top: 40%;
  transition: all 0.4s;
}
.btn_arrow:hover:after {
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  transition: all 0.4s;
  right: 18px;
}
a.btn_style01.white {
  background: #fff;
  color: #000;
  border: 1px solid #fff;
}
a.btn_style01.white:hover {
  text-decoration: none;
  opacity: 0.7;
}
.btn_style01.white.btn_arrow:after {
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  color: #000;
}
.btn_style01.white.btn_arrow:hover:after {
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  color: #000;
}
a.btn_style01.trans {
  background: transparent;
  color: #fff;
  border: 1px solid #fff;
}
a.btn_style01.trans:hover {
  text-decoration: none;
  background: #333;
  border: 1px solid #fff;
  color: #fff;
  transition: all 0.4s;
}
.btn_style01.trans.btn_arrow:after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  color: #fff;
}
.btn_style01.trans.btn_arrow:hover:after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  color: #fff;
}
.btn_style01.coming,
a.coming {
  opacity: 0.2;
  pointer-events: none;
}
.icon_ver img {
  vertical-align: 1.5%;
}

@media screen and (max-width: 1200px) {
  .btn_style01 {
    padding: 20px 30px;
  }
} /*END*/

@media screen and (max-width: 599px) {
  .btn_style01 {
    padding: 15px 10px;
    max-width: 340px;
    font-size: 1.2rem;
  }
} /*END*/

.image_loop_container {
  overflow: hidden;
  width: 100%;
}
.image_wrapper {
  display: flex;
  width: max-content;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  will-change: transform;
}
.image_wrapper img {
  height: 100%;
  width: auto;
  flex-shrink: 0;
  object-fit: cover;
}
@media screen and (max-width: 599px) {
  .image_wrapper {
  height: 100px;
}
  .mixone .image_wrapper{
    height: 200px;
  }
}
.m_r70{
  margin-right: 70px;
}

.mv_image_abs{
  position: absolute;
  bottom: 22%;
}

.price_tag_area li{
  display: inline;
  letter-spacing: -0.05em;
  line-height: 1.7;
}

@media screen and (max-width: 500px) {
.mv_image_abs{
  bottom: 42%;
}
}
/*----------------------------------------
	下層ページ
----------------------------------------*/

/* お知らせ----------------- */

.bg_news{
  background-image: url(images/news/mv_news.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  height: 540px;
  position: relative;
}
/* @media screen and (max-width: 400px){
  .bg_news{
    height: 60vh;
  }
}  */

.mv_news_ttl{
  display: flex;
  align-items: center;
}

:root {
  --header-height: 80px;
}

.h45vh {
  display: flex;
  align-items: center;
  padding-top: var(--header-height);
  height: 410px;
}
@media screen and (min-width: 400px){
  .h45vh {
  height: 450px;
}
}

.news-pagination {
  text-align: center;
  margin-top: 70px;
}

.news-pagination a,
.news-pagination span {
  display: block;
  margin: 0 2px;
  padding: 11px 11px;
  border: 1px solid #c9c9c9;
  text-decoration: none;
  color: #000;
  white-space: nowrap;
}

.news_div_border{
  border: 1px solid #c9c9c9;
  width: 70%;
}
.news_div_border a{
  border: none;
}

.news-pagination .current {
  background-color: #c9c9c9;
  color: #000;
  border-color: #c9c9c9;
}

.archive_news_pager{
  display: flex;
  justify-content: center;
  align-items: center;
}

.single_news_pager{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.news_meta{
  display: flex;
  align-items: center;
}

/* ここまで----------------- */

/* 料金案内----------------- */

.bg_price{
  background-image: url(images/price/mv_price.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: left top;
  height: 540px;
  position: relative;
}
/* @media screen and (max-width: 450px){
  .bg_price{
    height: 60vh;
  }
}  */
.price_links {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.6rem;
  margin: auto;
}
@media (max-width: 768px) {
  .price_links {
    grid-template-columns: repeat(2, 1fr);
  }
}
.bg_water{
  background-color: #e6edef;
}
.price01_flex{
  display: flex;
  justify-content: space-between;
}
.price01_flex>div{
  width: 48%;
}
.price_deco01{
  position: relative;
  top: -45px;
}
.price_dotted::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  border-bottom: 1px dotted #e38497;
  transform: translateY(-50%);
  z-index: 1;
}
.price_dotted_img{
  width: 80%;
  z-index: 2;
  max-width: 200px;
  position: relative;
}
.price_dotted_img2{
  width: 80%;
  z-index: 2;
  max-width: 390px;
  position: relative;
}
.price_dotted_img3{
  width: 80%;
  z-index: 2;
  max-width: 310px;
  position: relative;
}
.price_dotted_img4{
  width: 80%;
  z-index: 2;
  max-width: 290px;
  position: relative;
}
@media (max-width: 768px) {
  .price01_flex{
  flex-direction: column;
  row-gap: 30px;
}
  .price01_flex>div{
  width: 100%;
}
}
.text_indent {
  text-indent: -2rem;
}
.text_indent::before {
  content: "■";
  margin-right: 0.1em;
}
.price_link{
  color: #0068b7;
  border-bottom: 1px solid #0068b7;
}

.check_list {
  list-style: none;
  padding: 2.5% 1.5% 2%;
  width: 100%;
  max-width: 780px;
}

.check_list li {
  position: relative;
  padding-left: 1.4em;
  margin-bottom: 0.6em;
  white-space: nowrap;
  line-height: 1.4;
}

.check_list li::before {
  content: "✔";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1.1em;
  height: 1.1em;
  border-radius: 50%;
  background: #e38497;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9em;
}
@media (max-width: 800px) {
  .check_list li {
  white-space: wrap;
}
}

.price2_grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.price2_grid img {
  height: auto;
  display: block;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .price2_grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.inner_frame500 {
  width: 100%;
  max-width: 540px;
  position: relative;
  box-sizing: border-box;
  margin-inline: auto;
  padding-right: 0px;
  padding-left: 0px;
}
@media screen and (max-width: 599px) {
  .inner_frame500 {
    padding-right: 5%;
    padding-left: 5%;
  }
} /*END*/

.border_under_dotted{
  border-bottom: #000 1px dotted;
}

.price_deco_r{
  position: absolute;
  width: 80%;
  max-width: 200px;
  bottom: 0;
  right: 10%;
}
@media screen and (max-width: 599px) {
.price_deco_r{
  max-width: 80px;
  right: 0;
}
.btn_sp{
  width: 90%;
  margin-inline: auto;
  display: block;
}
}

/* ここまで----------------- */

/* プラポリ----------------- */
.bg_privacy{
  background-image: url(images/privacy/mv_privacy.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  height: 540px;
  position: relative;
}
/* @media screen and (max-width: 400px){
  .bg_privacy{
    height: 60vh;
  }
}  */
.privacy_padding{
  padding: 2% 3%;
}

/* ここまで----------------- */

/* はじめての方へ----------------- */
.bg_greeting{
  background-image: url(images/greeting/greeting_mv.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  height: 540px;
  position: relative;
}
/* @media screen and (max-width: 400px){
  .bg_greeting{
    height: 60vh;
  }
}  */
.greeting_grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.greeting_grid img {
  height: auto;
  display: block;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .greeting_grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
.bg_darkblue{
  background-color: #5daac3;
}
.text_darkblue{
  color: #5daac3;
}
.greeting_table {
  display: grid;
  grid-template-columns: 200px 1fr;
}
.greeting_table2 {
  display: grid;
  grid-template-columns: 340px 1fr;
}
.greeting_row {
  display: contents;
}
.greeting_item,
.greeting_desc {
  padding: 12px;
  border-bottom: 1px solid #d2d2d2;
  line-height: 2;
}
.greeting_item {
  color: #679cad;
}
.greeting_table_p{
  padding: 40px 4.5%;
}
@media (max-width: 1100px) {
  .greeting_table_p{
  width: 94%;
  margin-inline: auto;
}
  .flow_p{
  width: 94%;
  margin-inline: auto;
}
}
@media (max-width: 768px) {
  .greeting_table,
  .greeting_table2 {
    grid-template-columns: 1fr;
  }
  .greeting_item {
    border-bottom: none;
  }
  .greeting_item,
  .greeting_desc {
  padding: 4px 12px;
}
  .greeting_desc{
    padding-bottom: 20px;
    font-size: 1.6rem;
  }
  .greeting_item{
    padding-top: 20px;
    font-size: 1.9rem;
  }
}
.text_pink{
  color: #e0798a;
}
.text_nightblue{
  color: #004ea2;
}
@media (max-width: 860px) {
  .table_br{
    display: none;
  }
}
@media (max-width: 768px) {
  .tb_none{
    display: none;
  }
}
.lesson_table {
  display: flex;
}

.lesson_col {
  flex: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  text-align: center;
}

.lesson_head,
.lesson_item,
.lesson_desc {
  padding: 20px 10px;
  border-bottom: 1px solid #d2d2d2;
}
.lesson_head{
  background-color: #5daac3;
  color: #fff;
}

.border_b_none {
  border-bottom: none;
}
.border_b_none2 {
  border-bottom: none;
}
.border_t_asign{
  border-top: 1px solid #d2d2d2;
}

@media (max-width: 768px) {
  .lesson_table {
    flex-direction: column;
  }
  .lesson_sp_none{
    display: none;
  }
  .border_b_none2 {
  border-bottom: 1px solid #d2d2d2;
  }
  .border_t_asign{
  border-top: none;
}
.lesson_head{
  font-size: 1.8rem;
}
.lesson_item,
.lesson_desc {
  font-size: 1.6rem;
}
}

.request_ttl {
  font-weight: bold;
  position: relative;
  padding-left: 1.8em;
  border-bottom: #959595 1px dotted;
  font-size: 2.4rem;
}

.request_ttl::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1.2em;
  height: 1.2em;
  background: url(images/greeting/greeting_flow_ttl_deco.png) no-repeat center/contain;
}

.greeting_dualbtn{
  display: flex;
  justify-content: center;
  column-gap: 40px;
}
@media (max-width: 599px){
.sp_text_center{
  text-align: center;
}
.greeting_dualbtn{
  flex-direction: column;
  row-gap: 30px;
  align-items: center;
}
.request_ttl {
  font-size: 2rem;
}
}
/* ここまで----------------- */

/* 選ばれる6つの魅力----------------- */

.bg_charm{
  background-image: url(images/charm/mv_charm.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  height: 540px;
  position: relative;
}
/* @media screen and (max-width: 400px){
  .bg_charm{
    height: 60vh;
  }
} */
.charm_ttl {
  position: relative;
  display: block;
  background-color: #e6edef;
  width: 100%;
}
.charm_ttl::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  background-color: #b3b3b3;
}
.charm_en {
  background-color: #e6edef;
  padding-right: 0.5em;
  font-weight: bold;
  z-index: 2;
  position: relative;
}
.charm_ttl2 {
  position: relative;
  display: block;
  background-color: #fff;
  width: 100%;
}
.charm_ttl2::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  background-color: #b3b3b3;
}
.charm_en2 {
  background-color: #fff;
  padding-right: 0.5em;
  font-weight: bold;
  z-index: 2;
  position: relative;
  white-space: nowrap;
}
.text_yellow{
  color: #f5a802;
}
.text_blown{
  color: #875254;
}
.text_skyblue{
  color: #0072bc;
}
.charm_flex1{
  display: flex;
  justify-content: space-between;
}
.charm_flex2{
  display: flex;
  justify-content: space-between;
  border-bottom: 1px dotted #959595;
  border-top: 1px dotted #959595;
  padding-top: 10px;
  padding-bottom: 10px;
}
.charm_flex3{
  display: flex;
  justify-content: space-around;
}
.charm_flex3_box{
  width: 45%;
}
.charm_flex_box1{
  width: 33%;
}
.charm_flex_box2{
  width: 66%;
}
.charm_flex_box3{
  width: 48%;
}
.charm_border_r{
  border-right: #959595 dotted 1px;
}
.charm_border_b{
  border-bottom: #959595 dotted 1px;
}
@media (min-width: 499px) {
  .pc_pt100{
    padding-top: 100px;
  }
}
@media (max-width: 500px) {
  .sp_pb0{
    padding-bottom: 0px;
  }
  .sp_mb10{
    margin-bottom: 10px;
  }
  .sp_mb20{
    margin-bottom: 20px;
  }
  .sp_pt20{
    padding-top: 20px;
  }
  .sp_pt30{
    padding-top: 30px;
  }
  .sp_pt40{
    padding-top: 40px;
  }
  .sp_pt50{
    padding-top: 50px;
  }
  .sp_mb80{
    margin-bottom: 80px;
  }
  .sp_mb70{
    margin-bottom: 70px;
  }
  .sp_pt80{
    padding-top: 80px;
  }
  .sp_mb50{
    margin-bottom: 50px;
  }
  .sp_mt50{
    margin-top: 50px;
  }
  .sp_pb50{
    padding-bottom: 50px;
  }
  .sp_pb30{
    padding-bottom: 30px;
  }
  .sp_pb80{
    padding-bottom: 80px;
  }
  .sp_pb70{
    padding-bottom: 70px;
  }
  .sp_mt100{
  margin-top: 100px;
}
  .sp_plr{
    padding-left: 5%;
  }
}
@media (max-width: 768px) {
  .charm_flex1,
  .charm_flex3{
  flex-direction: column;
}
  .charm_flex2{
  flex-direction: column;
  row-gap: 40px;
  }
  .charm_flex_box1{
  width: 100%;
}
  .charm_flex_box2{
  width: 100%;
}
  .charm_border_r{
  border-right: none;
}
.charm_flex_box3,
.charm_flex3_box{
  width: 100%;
}
}
@media (max-width: 499px) {
  .charm_ttl_sp{
    width: 80%;
  }
}
.virtual_frame{
  background-color: #fdf5eb;
  padding-right: 3.5%;
  padding-left: 3.5%;
}
/* ここまで----------------- */

/* よくある質問----------------- */

.bg_faq{
  background-image: url(images/faq/mv_faq.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  height: 540px;
  position: relative;
}
/* @media screen and (max-width: 400px){
  .bg_faq{
    height: 60vh;
  }
} */
.faq_item {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
}
.faq_q {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2em;
  background-color: #5daac3;
  padding-top: 1.4em;
  padding-bottom: 1.5em;
  align-items: center;
  line-height: 1.4;
}
.faq_a {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2em;
  line-height: 2;
}
.faq_label {
  color: #fff;
  min-width: 1.5em;
  display: inline-block;
  text-align: center;
  padding-left: 0.5em;
}
@media screen and (max-width: 599px){
  .faq_q {
  gap: 1em;
}
.faq_a {
  gap: 0;
}
.faq_a>.faq_text {
  padding-right: 2%;
  padding-left: 2%;
}
.fap_sp{
  display: none;
}
}

/* ここまで----------------- */

/* 交通アクセス----------------- */

.bg_access{
  background-image: url(images/access/mv_access.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  height: 540px;
  position: relative;
}
/* @media screen and (max-width: 400px){
  .bg_access{
    height: 60vh;
  }
} */
@media (max-width: 500px) {
  .sp_pan_pb60{
    padding-bottom: 60px;
  }
  .sp_pan_pb90{
    padding-bottom: 90px;
  }
  .sp_pt90{
    padding-top: 90px;
  }
}
.access_links {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.6rem;
  margin: auto;
}
@media (max-width: 768px) {
  .access_links {
    grid-template-columns: repeat(2, 1fr);
    place-items: center;
  }
}
.max700{
  max-width: 700px;
}
.access_map iframe {
  width: 100%;
  height: 540px;
  border: 0;
  display: block;
}
@media (max-width: 768px) {
.access_map iframe {
  height: 300px;
}
}
.access_card_grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}
.access_card {
  display: flex;
  flex-direction: column;
  background: #fff;
  max-width: 560px;
}
.card_w{
  padding-left: 10%;
  padding-right: 10%;
}
.access_card_desc {
  flex: 1;
}
@media (max-width: 768px) {
  .access_card_grid {
    grid-template-columns: 1fr;
    place-items: center;
  }
}

/* ここまで----------------- */

/* 無料スクールバス　トップ----------------- */

.bg_schoolbus{
  background-image: url(images/schoolbus/mv_schoolbus.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  height: 540px;
  position: relative;
}
/* @media screen and (max-width: 400px){
  .bg_schoolbus{
    height: 60vh;
  }
} */
.bg_pink{
  background-color: #ed8495;
}
.bg_lightpink{
  background-color: #f3e7e9;
}
.buscatch_ttl{
  position: relative;
  right: -2.5%;
}
.school_border_b{
  border-bottom: #ed8495 dotted 1px;
}
.schoolbus_links {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.6rem;
  margin: auto;
  place-items: center;
}
@media (max-width: 768px) {
  .schoolbus_links {
    grid-template-columns: repeat(2, 1fr);
    place-items: center;
  }
}

.school_card_grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
}

.school_card {
  display: flex;
  flex-direction: row;
  background: #fff;
  align-items: center;
}
.school_card > div {
  width: 50%;
}
.school_card_img img {
  width: 100%;
  height: auto;
  display: block;
}
.school_card_desc {
  flex: 1;
}
@media (max-width: 768px) {
  .school_card_grid {
    grid-template-columns: 1fr;
    place-items: center;
  }
  .school_card {
    flex-direction: column-reverse;
    row-gap: 40px;
  }
  .school_card > div {
  width: 100%;
}
}
.card_w2{
  padding-left: 10%;
  padding-right: 10%;
}
.busstop_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  row-gap: 1em;
  column-gap: 2.5em;
  counter-reset: busstop-counter;
}
.busstop_item {
  display: flex;
  align-items: center;
  gap: 1em;
  counter-increment: busstop-counter;
  padding: 2.5% 0 3% 3%;
  margin-inline: auto;
  cursor: pointer;
  width: 100%;
}
.busstop_item::before {
  content: counter(busstop-counter);
  width: 2em;
  height: 2em;
  line-height: 2em;
  border-radius: 50%;
  background: #fff;
  text-align: center;
  flex-shrink: 0;
  font-family: "Oswald", sans-serif;
}
.kashima{
  background-color: #95442a;
  color: #95442a;
}
.tachibana{
  background-color: #f39800;
  color: #f39800;
}
.nishiyodo{
  background-color: #2aa638;
  color: #2aa638;
}
.inadera{
  background-color: #ef87b5;
  color: #ef87b5;
}
.tsukaguchi{
  background-color: #083388;
  color: #083388;
}
@media (max-width: 768px) {
  .busstop_list {
    grid-template-columns: 1fr;
  }
  .busstop_item{
    width: 95%;
  }
}
.busstop_name{
  color: #fff;
}
.max960{
  max-width: 960px;
}
.bus_frame{
  padding: 5% 5%;
}
@media (max-width: 768px) {
.bus_frame{
  padding: 10% 5%;
}
}

/* ここまで----------------- */

/* 在校生メニュー----------------- */

.bg_student{
  background-image: url(images/student/mv_student.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  height: 540px;
  position: relative;
}
/* @media screen and (max-width: 400px){
  .bg_student{
    height: 60vh;
  }
} */
.bg_orange{
  background-color: #eea657;
}
.text_orange{
  color: #eea657;
}
.student_line{
  border-bottom: #eea657 1px dotted;
}
.student_box{
  border-radius: 20px;
  padding-right: 4.5%;
  padding-left: 4.5%;
}
.student_flex1{
  display: flex;
  justify-content: space-between;
  column-gap: 30px;
}
.student_flex2{
  display: flex;
  align-items: end;
  column-gap: 80px;
}
.student_flex3{
  display: flex;
  column-gap: 100px;
}
@media (max-width: 768px) {
.student_flex1{
  flex-direction: column;
  row-gap: 30px;
}
.student_flex2{
  flex-direction: column;
  align-items: start;
  row-gap: 20px;
}
.student_flex3{
  flex-direction: column;
  row-gap: 20px;
}
}

.student_table {
  display: block;
}
.student_border_h{
  border-top: 1px solid #eea657;
}
.student_row {
  display: grid;
  grid-template-columns: 200px 1fr;
  border-bottom: 1px solid #eea657;
  border-left: 1px solid #eea657;
  border-right: 1px solid #eea657;
  align-items: stretch;
}
.student_desc {
  padding: 20px 40px;
  line-height: 2;
}
.student_item {
  color: #eea657;
  background-color: #f6f1ec;
  padding: 24px 30px;
  display: flex;
  align-items: center;
}
.student_table_p{
  padding: 3% 4.5% 4%;
}
@media (max-width: 768px) {
  .student_row {
    grid-template-columns: 1fr;
  }
  .student_desc {
  padding: 20px 30px;
}
}
.text_red{
  color: #c6101e;
}

/* ここまで----------------- */

/* 各種講習案内----------------- */
.bg_course{
  background-image: url(images/course/mv_course.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  height: 540px;
  position: relative;
}
/* @media screen and (max-width: 400px){
  .bg_course{
    height: 60vh;
  }
} */
.course_bg_deco{
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 30px;
  height: auto;
}
.course_flex{
  display: flex;
  column-gap: 60px;
}
.course_flex2{
  display: flex;
  column-gap: 50px;
}
.course_flex3{
  display: flex;
  column-gap: 40px;
}
.course_flex_box1{
  width: 51%;
}
.course_flex_box2{
  width: 100%;
}
.course_flex_box3{
  width: 33%;
}
.course_flex_box4{
  width: 66%;
}
.course_flex_box5{
  width: 50%;
}
.course_flex_box6{
  width: 55%;
}
.course_flex_box7{
  width: 45%;
}
@media (max-width: 768px) {
.course_flex{
  flex-direction: column;
  row-gap: 20px;
}
.course_flex2{
  flex-direction: column;
  row-gap: 20px;
}
.course_flex3{
  flex-direction: column;
  row-gap: 20px;
}
.course_flex_box3,
.course_flex_box4,
.course_flex_box5,
.course_flex_box6,
.course_flex_box7{
  width: 100%;
}
}
.course_table {
  display: block;
}
.course_border_h{
  border-top: 1px solid #5daac3;
}
.course_row {
  display: grid;
  grid-template-columns: 130px 1fr;
  border-bottom: 1px solid #5daac3;
  border-left: 1px solid #5daac3;
  border-right: 1px solid #5daac3;
  align-items: stretch;
}
.course_desc {
  padding: 30px 20px;
  line-height: 1.7;
}
.tel_course {
  padding: 10px 20px;
}
.course_item {
  color: #5daac3;
  background-color: #ebf3f6;
  padding: 10px 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.course_table_p{
  padding: 3% 4.5% 4%;
}
.course_phone{
  position: relative;
  left: -8px;
}
@media (max-width: 768px) {
  .course_row {
    grid-template-columns: 1fr;
  }
  .course_item{
    justify-content: start;
  }
  .course_flex_box1{
    width: 100%;
}
}
.check_list_s {
  list-style: none;
  padding: 0;
  margin: 0;
}
.check_list_s li {
  display: flex;
  align-items: flex-start;

}
.check_list_s li::before {
  content: "";
  flex: 0 0 1.1em;
  height: 1em;
  display: inline-block;
  background: url("images/course/menu_btn_blue.png") no-repeat center center / contain;
  margin-top: 7px;
  margin-right: 0;
}
.check_list_s li span {
  flex: 1;
  line-height: 1.6;
  text-indent: 0.5em;
}

.check_list_sw li {
  display: flex;
  align-items: center;
}
.check_list_sw li::before {
  content: "";
  flex: 0 0 1.1em;
  height: 1em;
  display: inline-block;
  background: url("images/course/menu_btn_blue.png") no-repeat center center / contain;
  margin-top: 2px;
  margin-right: 3px;
}
.check_wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: start;
  padding-right: 2.5%;
  padding-left: 2.5%;
}
.course_table2 {
  display: block;
}
.course_row2 {
  display: grid;
  grid-template-columns: 200px 1fr;
  align-items: stretch;
  background-color: #ebf3f6;
}
.course_desc2 {
  padding: 30px 20px;
  line-height: 1.7;
  background-color: #ebf3f6;
}
.tel_course2 {
  padding: 20px 20px;
}
.tel_course3 {
  padding: 30px 20px;
}
.course_item2 {
  background-color: #ebf3f6;
  padding: 10px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.course_table_p2{
  padding: 3% 4.5% 4%;
}
.course_phone2{
  position: relative;
  left: -8px;
}
@media (max-width: 768px) {
  .course_row2 {
    grid-template-columns: 1fr;
  }
  .course_item2{
    justify-content: start;
  }
  .tel_course2 {
    padding: 16px 20px;
}
  .tel_course3 {
    padding: 16px 20px;
}
  .check_wrap {
    grid-template-columns: 1fr;
  }
  .check_list_sw li {
  flex-wrap: wrap;
}
}
.course_item_list,
.course_item_list2 {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-start;
}

.course_item_list li {
  border: 1px solid #5daac3;
  color: #5daac3;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.4em 0.5em 0.5em;
  white-space: nowrap;
  line-height: 1.4;
}
.course_item_list2 li {
  color: #fff;
  background-color: #5daac3;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.4em 0.5em 0.5em;
  white-space: nowrap;
  line-height: 1.4;
}
  .sp_br{
    display: none;
  }
  .another{
    display: flex;
    align-items: center;
  }
@media (max-width: 768px) {
  .course_item_list,
  .course_item_list2 {
    align-items: flex-start;
    gap: 10px;
  }
  .course_item_list li,
  .course_item_list2 li {
    display: inline-flex; 
  }
  .sp_br{
    display: block;
  }
  .another{
    padding-top: 1em;
  }
}
.ls_-002em{
  letter-spacing: -0.02em;
}
.ls_-004em{
  letter-spacing: -0.04em;
}
.ls_-01em{
  letter-spacing: -0.1em;
}
.scrollable-img-wrapper {
  position: relative;
}

.scrollable-img {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.scrollable-img img {
  width: auto;
  min-width: 100%;
  height: auto;
}

/* 疑似スクロールバー */
.scrollbar-track {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 8px;
  background: #eee;
  border-radius: 2px;
}

.scrollbar-thumb {
  height: 100%;
  background: #5daac3;
  width: 50px; /* 初期幅。JSで横スクロールに応じて動かす */
  border-radius: 4px;
  transform: translateX(0);
  transition: transform 0.1s linear;
}
/* ここまで----------------- */

/* お得な情報----------------- */

.bg_campaign{
  background-image: url(images/campaign/mv_campaign.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  height: 540px;
  position: relative;
}
/* @media screen and (max-width: 400px){
  .bg_campaign{
    height: 60vh;
  }
} */
.campaign_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 40px;
  row-gap: 70px;
}
.campaign_fv{
  display: flex;
  justify-content: center;
}
.campaign_thumb{
  max-width: 720px;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
.campaign_thumb img {
  display: block;
  width: 100%;
  object-fit: cover;
  max-height: 100%;
}
@media (max-width: 768px) {
  .campaign_list {
    grid-template-columns: 1fr;
    row-gap: 50px;
    column-gap: 0px;
  }
  .campaign_thumb{
  max-width: 360px;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
}
@media (max-width: 499px) {
  .campaign_thumb img {
    margin-inline: auto;
    max-height: 360px;
}
}
.campaign_title{
  border-bottom: #000 1px solid;
  line-height: 1.7;
}

/* ここまで----------------- */

/* サイトマップ----------------- */

.bg_sitemap{
  background-image: url(images/sitemap/mv_sitemap.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  height: 540px;
  position: relative;
}
/* @media screen and (max-width: 400px){
  .bg_sitemap{
    height: 60vh;
  }
} */
.sitemap {
  display: flex;
  gap: 40px;
}
.sitemap_col {
  flex: 1;
}
.sitemap_list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.sitemap_item a {
  display: block;
  padding: 20px;
  border-bottom: 1px solid #c9c9c9;
  color: #000;
}
@media (max-width: 768px) {
  .sitemap {
    flex-direction: column;
    gap: 0px;
  }
}
/* ここまで----------------- */

/* コンタクト　お問い合わせ・資料請求----------------- */
.bg_contact{
  background-image: url(images/contact/mv_contact.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  height: 540px;
  position: relative;
}
/* ここまで----------------- */

/* online----------------- */

.bg_online{
  background-image: url(images/online/online_bg02.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
}
.online_flex01{
  display: flex;
  align-items: center;
  column-gap: 100px;
  z-index: 1;
}
.online_flex01_box1{
  width: 40%;
}
.online_flex01_box2{
  width: 60%;
}
.online_deco1{
  position: absolute;
  top: -5%;
  right: 0;
  width: clamp(90px, 14vw, 191px);
  height: auto;
  z-index: 1;
}
.online_deco2{
  position: absolute;
  bottom: -16%;
  right: 5%;
  width: clamp(120px, 21vw, 280px);
  height: auto;
  z-index: 1;
}
.circle_section {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 80vh;
  overflow: hidden;
  top: -220px;
}
.circle_section_deco {
  position: absolute;
  bottom: -10%;
  left: 50%;
  transform: translateX(-50%);
  width: clamp(300px, 85vw, 860px);
}
.circle_section::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: clamp(300px, 90vw, 800px);
  aspect-ratio: 1 / 1;
  background: #ffe7eb;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
}
.circle_content {
  position: relative;
  text-align: center;
  z-index: 1;
}
.online_grid01 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 40px;
  row-gap: 20px;
  margin-inline: auto;
}
.online_flex02{
  display: flex;
  align-items: center;
  column-gap: 40px;
  z-index: 1;
}
.online_flex02_box1{
  width: 50%;
}
.online_flex02_box2{
  width: 50%;
}
.nnline_sec{
  position: relative;
  top: -100px;
}
@media screen and (max-width: 1100px){
.circle_section_deco {
  bottom: -10%;
}
}
@media screen and (max-width: 768px){
.online_deco1{
  display: none;
}
.online_deco2{
  display: none;
}
.online_flex01,
.online_flex02{
  flex-direction: column;
  row-gap: 50px;
}
.online_flex01_box1,
.online_flex02_box1{
  width: 100%;
}
.online_flex01_box2,
.online_flex02_box2{
  width: 100%;
}
.circle_section {
  top: -50px;
  min-height: 70vh;
}
.circle_section_deco {
  bottom: 0;
}
.online_grid01 {
  column-gap: 20px;
  row-gap: 10px;
}
.nnline_sec{
  top: 0px;
}
}
@media screen and (max-width: 600px){
  .circle_section_deco {
  bottom: 2%;
}
}
@media screen and (max-width: 499px){
.tb_ttl_w{width: 90%;}
}
@media screen and (max-width: 400px){
  .circle_section_deco {
  bottom: 2%;
}
}

.online_video {
    max-width: 580px;
    width: 100%;
    cursor: pointer;
}

.bg_login{
  background-image: url(images/online/online_login_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
}

.online_flex03{
  display: flex;
  align-items: center;
  column-gap: 40px;
  z-index: 1;
}
.online_flex03_box1{
  width: 50%;
  background-color: #fff;
  border-radius: 20px;
}
.online_flex03_box2{
  width: 50%;
  background-color: #fff;
  border-radius: 20px;
}
.login_ttl{
  background-color: #000;
  color: #fff;
  border-radius: 20px 20px 0 0;
  padding-top: 20px;
  padding-bottom: 20px;
}
.bg_black{
  background-color: #000;
}
.bg_gray{
  background-color: #eeeeee;
}
.login_ttl_top{
  border-radius: 30px;
  padding: 0px 20px 2px;
  color: #fff;
  background-color: #5daac3;
  display: inline-block;
  text-align: center;
}
.text_linkblue{
  color: #1482ac;
}
.login_container{
  padding-right: 7%;
  padding-left: 7%;
}
.gray_container{
  padding-left: 5%;
  padding-right: 5%;
}
.login_flex{
  display: flex;
  column-gap: 20px;
  row-gap: 20px;
}

@media screen and (max-width: 768px){
  .login_flex{
  flex-direction: column;
  text-align: center;
}
.online_flex03{
  flex-direction: column;
  row-gap: 50px;
}
.online_flex03_box1{
  width: 100%;
}
.online_flex03_box2{
  width: 100%;
}
}

.dot_big {
  font-size: 2.5em;
  line-height: 1;
  vertical-align: -0.23em;
  margin-right: -0.3em;
}

/* ここまで----------------- */

/* 免許取得後のカーライフ----------------- */

.carlife_bread_pt{
  padding-top: 100px;
}
@media screen and (max-width: 449px){
  .carlife_bread_pt{
  padding-top: 80px;
}
}

.carlife_vertical_box{
  display: flex;
  justify-content: center;
}

.carlife_vertical_text {
	writing-mode: vertical-rl;
	text-orientation: upright;
  letter-spacing: 0.1em;
}
.carlife_intro_deco01,
.carlife_intro_deco02,
.carlife_intro_deco03,
.carlife_intro_deco04,
.carlife_intro_deco05,
.carlife_intro_deco06{
  position: absolute;
  height: auto;
}
.carlife_intro_deco01{
  max-width: 118px;
  left: 0;
  top: 30%;
}
.carlife_intro_deco02{
  max-width: 270px;
  right: 0;
  bottom: 5%;
}
.carlife_intro_deco03{
  max-width: clamp(200px, 26%, 360px);
  left: 0;
  top: 0%;
}
.carlife_intro_deco04{
  max-width: clamp(130px, 20%, 260px);
  right: 10%;
  bottom: -50%;
}
.carlife_intro_deco05{
  max-width: clamp(100px, 30%, 152px);
  right: 10%;
  top: -35%;
  z-index: -99;
}
.carlife_intro_deco06{
  max-width: clamp(172px, 30%, 256px);
  right: 1%;
  top: -29%;
  z-index: -99;
}
.carlife_intro_ttl{
  max-width: 430px;
  margin-inline: auto;
}
.carlife_intro_sp{
  display: none;
}
.carlife_obi {
  position: relative;
  overflow: hidden;
}

.carlife_obi .respon {
  width: 100%;
  height: auto;
  transition: transform 0.5s ease;
}

.carlife_item_sp{
  display: none;
}

@media screen and (max-width: 1024px){
  .carlife_intro_deco03{
  max-width: clamp(200px, 20%, 360px);
}
.carlife_intro_deco04{
  max-width: clamp(130px, 15%, 260px);
  bottom: -25%;
  right: 8%;
  bottom: -40%;
}
.carlife_intro_deco05{
  top: -25%;
}
.carlife_intro_deco06{
  display: none;
}
}
@media screen and (max-width: 860px){
.carlife_intro_deco03{
  display: none;
}
.carlife_intro_deco04{
  display: none;
}
.carlife_intro_sp{
  display: block;
}
}
@media screen and (max-width: 768px){
  .carlife_intro_ttl{
  padding-right: 5%;
  padding-left: 5%;
}
.carlife_intro_deco05{
  right: 20%;
  top: -30%;
}
}
@media screen and (max-width: 620px){
  .carlife_bread_pt{
  padding-top: 80px;
}
.carlife_intro_deco01{
  max-width: 75px;
  left: 5%;
  top: 30%;
}
.carlife_intro_deco02{
  max-width: 125px;
  right: 0;
  bottom: 12.5%;
}
.carlife_obi .respon {
  width: 175%;
  max-width: none;
  transform: translateX(-12.5%);
}
}

.carlife_flex01{
  display: flex;
  column-gap: 100px;
}
@media screen and (max-width: 768px){
  .carlife_flex01{
    flex-direction: column;
    row-gap: 40px;
  }
  .carlife_flex01_box1{
    text-align: center;
  }
  .carlife_flex01_box2{
    width: 70%;
    margin-inline: auto;
  }
}
@media screen and (max-width: 660px){.carlife_flex01_box2{width: 75%;}}
@media screen and (max-width: 600px){.carlife_flex01_box2{width: 85%;}}
@media screen and (max-width: 500px){.carlife_flex01_box2{width: 100%;}}
.bg_cream{
  background-color: #fcfae9;
  z-index: -99;
}

.ribbon_l{
	position: absolute;
	top: 10%;
	left: 0;
	background: url("images/carlife/carlife_style_obi.png") center top no-repeat;
	background-size: 100%;
	width: 4.5%;
  height: 1020px;
	max-width: 79px;
	z-index: 1;
}
.ribbon_r{
	position: absolute;
	top: 25%;
	right: 0;
	background: url("images/carlife/carlife_style_obi.png") center top no-repeat;
	background-size: 100%;
	width: 4.5%;
  height: 1020px;
	max-width: 79px;
	z-index: 1;
}
@media screen and (max-width: 749px){
	.ribbon_l{
    top: 22%;
		background: url("images/carlife/sp_ribbon.png") center top repeat-y;
    width: 8.5%;
    height: auto;
    bottom: 0;
    background-size: contain;
	}
	.ribbon_r{
    top: 5%;
		background: url("images/carlife/sp_ribbon.png") center top repeat-y;
    width: 8.5%;
    height: auto;
    bottom: 0;
    background-size: contain;
	}
}

.carlife_grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: 200px;
  gap: 30px;
}
.item:nth-child(1) { grid-column: 1; grid-row: 1; }
.item:nth-child(2) { grid-column: 2; grid-row: 3; }
.item:nth-child(3) { grid-column: 1; grid-row: 5; }
.item:nth-child(4) { grid-column: 2; grid-row: 7; }
.item:nth-child(5) { grid-column: 2; grid-row: 1; }
.item:nth-child(6) { grid-column: 1; grid-row: 9; }

.item{
  z-index: 10;
}

.item_pl30{
  padding-left: 30px;
}
.carlife_deco1{
  display: flex;
  justify-content: center;
  position: relative;
  top: -70px;
}
.carlife_deco2{
  position: absolute;
  top: 115%;
  right: -65%;
  z-index: -1;
}
.carlife_deco3{
  position: absolute;
  top: 150%;
  left: -75%;
  z-index: -1;
}
.carlife_deco4{
  position: absolute;
  top: 125%;
  right: -75%;
  z-index: -1;
}
.carlife_deco5{
  display: flex;
  justify-content: center;
  position: relative;
  top: -50px;
}
.carlife_deco6{
  position: absolute;
  top: 250%;
  right: 0%;
  z-index: -1;
}
.carlife_deco7{
  position: absolute;
  top: -50%;
  right: 25%;
  z-index: -1;
}
.carlife_deco8{
  position: absolute;
  top: -100%;
  left: -15%;
  z-index: -1;
}
.carlife_deco9{
  position: absolute;
  top: -50%;
  right: 25%;
  z-index: -1;
}
.carlife_deco10{
  position: absolute;
  top: -100%;
  right: -15%;
  z-index: -1;
}
.carlife_deco11,
.carlife_deco12,
.carlife_deco13{
  display: none;
}

@media screen and (max-width: 1024px){
  .carlife_deco9{
  top: -70%;
}
}
@media screen and (max-width: 1100px){
  .carlife_deco8{
  left: 0%;
}
.carlife_deco10{
  right: 0%;
}
}
@media screen and (max-width: 920px){
  .carlife_deco2{
  right: -90%;
}
  .carlife_deco3{
  left: -95%;
}
.carlife_deco4{
  right: -95%;
}
}
@media screen and (max-width: 768px){
  .carlife_deco2{
  right: -90%;
}
  .carlife_deco3{
  left: -95%;
  top: 135%;
}
  .carlife_deco4{
  right: -105%;
}
  .carlife_deco9{
  top: -90%;
}
}
@media screen and (max-width: 660px){
  .carlife_grid {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
    row-gap: 200px;
  }
  .item:nth-child(1),
  .item:nth-child(2),
  .item:nth-child(3),
  .item:nth-child(4),
  .item:nth-child(5),
  .item:nth-child(6) {
    grid-column: auto !important;
    grid-row: auto !important;
  }
  .carlife_deco1,
  .carlife_deco2,
  .carlife_deco3,
  .carlife_deco4,
  .carlife_deco5,
  .carlife_deco6,
  .carlife_deco8,
  .carlife_deco9{
    display: none;
}
.carlife_deco5{
  top: 0px;
}
.carlife_item_sp{
  display: block;
  padding-bottom: 50px;
}
.carlife_item_sp_none{
  display: none;
}
.carlife_deco10{
  left: -5%;
  max-width: 100px;
  top: -33%;
}
.carlife_deco11{
  display: block;
  position: absolute;
  top: -40%;
  right: 15%;
  z-index: -1;
  max-width: 250px;
}
.carlife_deco12{
  display: block;
  position: absolute;
  top: -40%;
  right: 10%;
  z-index: -1;
  max-width: 270px;
}
.carlife_deco13{
  display: block;
  position: absolute;
  top: -43%;
  right: 16%;
  z-index: -1;
  max-width: 225px;
}
.r-15{
  right: -15%;
}
.item{
  width: 90%;
}
.w_90{
  width: 90%;
}
}


/* ここまで----------------- */
.df_center {
  display: flex;
  align-items: center;
  justify-content: center;
}
.real_fl_list {
  display: flex;
  flex-wrap: wrap;
  gap: 50px 3.8%;
}
.real_fl_list li {
  width: 30.77%;
  max-width: 320px;
  position: relative;
}
.upper_icon_area {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  height: 8%;
  max-height: 30px;
  font-size: 1.5rem;
  z-index: 3;
}
.upper_icon_area .item_n {
  width: 30px;
  background: #da8259;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(1.2rem, 1.35vw, 1.5rem);
}
.item_s {
  min-width: 80px;
  padding-inline: 8px;
  color: #fff;
  font-size: clamp(1.2rem, 1.35vw, 1.5rem);
  display: flex;
  align-items: center;
  justify-content: center;
}
.item_s.item_s_uketuke {
  background: #a5b68d;
}
.item_s.item_s_syuryo {
  background: #333;
}
.event .icon_style,
.icon_style {
  width: 8%;
  max-width: 15px;
  margin-right: 5px;
}
.archive_event .photo_frame {
  aspect-ratio: 1/1;
}
.photo_dark_frame {
  aspect-ratio: 1/1;
  background: #000;
  color: #fff;
  opacity: 0.4;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.upper_icon_area.sta {
  position: static;
  height: 30px;
}
.cat_hash {
  margin-right: 14px;
}
a.cat_hash {
  color: #000;
}
.inner_frame_post {
  width: 100%;
  max-width: 850px;
  margin-inline: auto;
}
.shop_info_area {
  width: 100%;
  background: #f2f1e8;
  padding: 4.5% 4%;
  box-sizing: border-box;
}
.ttl720 img {
  max-width: 720px;
}
.bg_earth_storage {
  background: #908d8a url("./images/concept/e_storage_bg.jpg") no-repeat;
  background-size: 100%;
  background-position: top center;
}
.thebase img {
  width: 60vw;
  max-width: 552px;
}
.bg_outdoor {
  background: url("./images/concept/hirogari_bg.jpg") no-repeat;
  background-size: 100%;
  background-position: top center;
  padding-top: 340px;
}
.outdoor_hirogari_deco {
  width: 80vw;
  max-width: 754px;
  position: absolute;
  top: -40px;
  right: -19%;
}

@media screen and (max-width: 960px) {
  .bg_outdoor {
    padding-top: 240px;
  }
  .thebase {
    position: relative;
    right: 18%;
  }
} /*END*/

@media screen and (max-width: 599px) {
  .real_fl_list li {
    width: calc((100% - (1 * 3.8%)) / 2); /*2カラム*/
  }
  .item_s {
    min-width: 60px;
    padding-inline: 5px;
  }
  .ttl720 img {
    width: 106%;
    margin-left: -3%;
  }
  .bg_outdoor {
    padding-top: 180px;
    background-size: 140%;
    background-position: -90px 0;
  }
  .bg_outdoor .content_fl_box.p_b100 {
    padding-bottom: 10px !important;
  }
  .thebase {
    position: static;
  }
} /*END*/

.v_tex_area {
  display: flex;
  justify-content: center;
  gap: 20px 4%;
}
.text_vertical {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
.t_combine {
  -webkit-text-combine: horizontal;
  -ms-text-combine-horizontal: all;
  text-combine-upright: all;
}
.ver_item {
  width: auto;
}
.v_tex_area .ver_item .inner {
  margin-right: auto;
  margin-left: auto;
  display: flex;
  justify-content: center;
}
.ver_item.top_ver_intro {
  min-width: 165px;
}

/* 無限画像スライド */
.loop_img_slide,
.loop_img_slide_2 {
  position: relative;
  display: flex;
  width: 100vw;
  left: 50%;
  margin-left: -50vw;
  overflow: hidden;
}
.loop_img_slide img,
.loop_img_slide_2 img {
  width: auto;
  height: 100%;
}

/*右から*/
.loop_img_slide img:first-child {
  animation: loop_is 100s -50s linear infinite;
  backface-visibility: hidden;
  will-change: transform;
}
.loop_img_slide img + img {
  animation: loop_is2 100s linear infinite;
}
@keyframes loop_is {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes loop_is2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}

/*左から*/
.loop_img_slide_2 img:first-child {
  animation: loop_is_rev 100s -50s linear infinite;
  backface-visibility: hidden;
  will-change: transform;
}
.loop_img_slide_2 img + img {
  animation: loop_is_rev2 100s linear infinite;
}
@keyframes loop_is_rev {
  0% {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(100%);
  }
}
@keyframes loop_is_rev2 {
  0% {
    transform: translateX(-200%);
  }
  to {
    transform: translateX(0);
  }
}

@media screen and (max-width: 960px) {
  .loop_img_slide {
    height: 130px;
  }
  .loop_img_slide_2 {
    height: 230px;
  }
} /*END*/

/*----------------------------------------
	site map list
----------------------------------------*/

.sm_navi_list > li {
  margin-bottom: 0;
  font-size: clamp(14px, 1.6vw, 2rem);
  line-height: 2.4rem;
}
.sm_navi_list > li a {
  color: #1b1b1b;
  padding: 22px 0;
  border-bottom: 1px solid #bfbfbf;
  display: block;
}
.sm_navi_list > li:first-child a {
  border-top: 1px solid #bfbfbf;
}
.sm_navi_list > li a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 599px) {
  .site_map .box47 {
    width: 48%;
  }
  .sm_navi_list > li a {
    padding: 15px 0;
  }
  .sm_navi_list.snl_r > li:first-child a {
    border-top: none;
  }
} /*END*/

/*----------------------------------------
	page_top
----------------------------------------*/

.page_top {
  width: auto;
  max-width: 84px;
  position: fixed;
  right: 1.2%;
  bottom: 4%;
  z-index: 999999;
}
.page_top a {
  display: block;
}
.pt_rotate:hover img {
  transition: transform 1s;
  transform: rotateY(360deg);
}

@media screen and (max-width: 768px) {
  .page_top {
    width: 40px;
    right: 10px;
    bottom: 20px;
  }
} /*END*/

@media screen and (max-width: 599px) {
  .page_top {
    width: 45px;
    right: 6px;
    bottom: 15px;
  }
} /*END*/



/*----------------------------------------
	style
----------------------------------------*/

.style_list {
  display: grid;
  height: auto;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
}

#style01 {
  background: #a2b185;
  color: #fff;
}
#style02 {
  background: #e5e5e5;
}
#style03 {
  background: #605046;
  color: #fff;
}
#style04 {
  background: #4b555b;
  color: #fff;
}
.style_color {
  display: grid;
  height: auto;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
.style_ttl_mini {
  display: block;
}

@media screen and (max-width: 599px) {
  .style_list {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
  .style_color {
    gap: 20px;
  }
}

.max360{
  max-width: 360px;
}

/*----------------------------------------
	よく使うレイアウト
----------------------------------------*/
.border_t {
  border-top: 1px solid #000;
}
.border_b {
  border-bottom: 1px solid #000;
}
.box_text h4 {
  line-height: 1.5;
}
.box_text span {
  display: block;
}
.ttl_500 {
  max-width: 500px;
  margin-right: auto;
  margin-left: auto;
  width: 60%;
}

@media print, screen and (min-width: 600px) {
  .box_text {
    width: calc((510 / 1040) * 100%);
    padding-top: 20px;
  }
  .box_img {
    width: calc((500 / 1040) * 100%);
  }
  .left {
    float: left;
  }
  .right {
    float: right;
  }
  .box_l {
    float: left;
    width: calc((500 / 1040) * 100%);
  }
  .box_r {
    float: right;
    width: calc((500 / 1040) * 100%);
  }
}

@media screen and (max-width: 599px) {
  .ttl_500 {
    width: 100%;
  }
}


/* -----------------お知らせ---------------- */

.news {
  padding: 2em;
}
.news_ttl {
  font-size: 3rem;
}
.news_en {
  font-size: 1.4rem;
  text-transform: uppercase;
}
.news-list {
  list-style: none;
}
.news-item {
  padding-bottom: 1em;
  padding-top: 1em;
  border-bottom: 1px #959595 dotted;
}
.news-item:first-child {
  border-top: 1px #959595 dotted;
}
.tag {
  display: inline-block;
  margin-right: 0.5em;
  background: #e0e0e0;
  padding: 0.15em 0.5em 0.25em;
  font-size: 1.4rem;
  border-radius: 10px;
  color: #fff;
}

/* タグ別の色設定（スラッグ名に合わせて） */
.tag-schedule {
  background-color: #f4a460;
}
.tag-news {
  background-color: #78aec0;
}
.tag-important{
  background-color: #da8193;
}

.news-tags_02 {
  display: flex;
  gap: 4px;
}

.news-tags_02 .tag_02 {
  display: inline-block;
  padding: 0.3em 0.75em 0.35em;
  color: #fff;
  border-radius: 25px;
  text-align: center;
  white-space: nowrap;
}

.news-date {
  display: block;
  font-size: 1.4rem;
  color: #000;
}

.news-date {
  font-size: 1.4rem;
  color: #000;
  white-space: nowrap;
}

.news-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
}

.news-title {
  font-size: 1.4rem;
  color: #000;
}

.news_flex {
  display: flex;
  column-gap: 60px;
  align-items: center;
}
.news_flex_box1 {
  width: 60%;
}
.news_flex_box2 {
  width: 35%;
}
.news_btn_sp{
  display: none;
}
.top_btn_sp{
    display: none;
}
@media screen and (max-width: 768px) {
  .news_flex {
  flex-direction: column;
  row-gap: 30px;
  align-items: start;
  }
  .news_flex_box1 {
  width: 100%;
  }
  .news_flex_box2 {
  width: 60%;
  }
  .news_btn_pc{
    display: none;
  }
  .news_btn_sp{
    display: block;
  }
}
@media screen and (max-width: 600px) {
  .news_flex_box2 {
  width: 80%;
}
  .top_btn_pc{
    display: none;
  }
  .top_btn_sp{
    display: block;
  }
}
@media screen and (max-width: 450px) {
  .news_flex_box2 {
  width: 100%;
}
}

.news-item a {
  display: flex;
  align-items: center;
  gap: 1em;
  text-decoration: none;
  color: inherit;
  flex-wrap: nowrap;
}

.news-date {
  font-size: 1.4rem;
  color: #000;
  white-space: nowrap;
  margin-right: 1em;
}

.news-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4em;
  max-width: 8em;
  flex-shrink: 0;
  width: 100px;
}

.news-title {
  font-size: 1.4rem;
  color: #000;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.news-meta {
  display: flex;
  align-items: center;
  gap: 0.6em;
  flex-shrink: 0;
}

@media screen and (max-width: 599px) {
  .news-item a {
    flex-direction: column;
    align-items: flex-start;
  }
  .news-title {
    white-space: normal;
  }
  .news-tags {
    /* margin-bottom: 0.5em; */
  }
  .news-meta {
    display: flex;
    align-items: center;
    gap: 0.6em;
    margin-bottom: 0.4em;
  }
  .news-title {
    white-space: normal;
  }
  .news-tags_02 {
    margin-bottom: 0;
  }
}

.closed_banner {
  background-color: #a1cbca;
  outline: 2px solid #fff;
  outline-offset: -6px;
  padding: 40px;
  color: #fff;
}

.closed_days {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* 丸い日付 */
.closed_day {
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid #fff;
  border-radius: 50%;
  background-color: #fff;
  color: #a1cbca;
  display: grid;
  place-items: center; /* 中央配置 */
  font-weight: 700;
  position: relative; /* 内部要素を絶対配置する基準 */
}

/* 数字部分 */
.closed_day_inner {
  line-height: 1;
  position: relative;
  display: inline-block;
  transform: translate(-20%, -5%);
}

/* 数字の右下に「日」 */
.closed_day_inner::after {
  content: "日";
  font-size: 1.4rem;
  position: absolute;
  bottom: 0em;  /* em単位にすることで文字サイズに合わせて微調整 */
  right: -1em;
}

/* 外部でサイズを指定する場合の調整 */
.closed_day.large {
  width: 5.5rem;    /* 任意で外付けサイズを指定 */
  height: 5.5rem;
}

/* レスポンシブ微調整 */
@media (max-width: 480px) {
  .closed_day { width: 2.25rem; height: 2.25rem; }
  .closed_day_inner::after { font-size: 1.2rem; bottom: 0.1em; right: -1.1em; }
  .closed_day.large { width: 4.5rem; height: 4.5rem; }
}

/* -----------------くいせってどんなところ？---------------- */

.about{
  background-color: #fafafa;
  position: relative;
}
.about_text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.about_ja {
  font-size: 3rem;
  background-color: #f9f9f9;
  position: relative;
  z-index: 2;
}
.about_en {
  font-size: 1.4rem;
  text-transform: uppercase;
}

.about_ttl {
  position: relative;
  display: block;
  background-color: #f9f9f9;
  width: 100%;
}

.about_ttl::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  background-color: #b3b3b3;
}

.about_ttl2 {
  position: relative;
  display: block;
  background-color: #f9f9f9;
  width: 100%;
}

.about_ttl2::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  background-color: #b3b3b3;
}

@media screen and (max-width: 420px) {
  .about_ttl2::after {
  display: none;
}
}

.about_en {
  background-color: #f9f9f9;
  padding-right: 0.5em;
  font-weight: bold;
  text-transform: uppercase;
}

.about_sec {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.about_deco {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 0;
}

.deco_left {
  left: 0;
}

.deco_right {
  right: 0;
}

@media screen and (max-width: 767px) {
  .about_sec {
    flex-direction: column;
    text-align: left;
  }
  .about_deco {
    display: none;
  }
  .about_ttl_img {
  width: 80%;
}
}

/* -----------------選ばれる６つのポイント---------------- */

.point_ja {
  font-size: 3rem;
  background-color: #fff;
  position: relative;
  z-index: 2;
  padding-right: 2px;
}
.point_ttl {
  position: relative;
  display: block;
  background-color: #fff;
  width: 100%;
}
.point_ttl::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 55%;
  height: 1px;
  background-color: #b3b3b3;
}
.point_en {
  background-color: #fff;
  padding-right: 0.5em;
  font-weight: bold;
  text-transform: uppercase;
}
.point_wrapper {
  display: flex;
  justify-content: center;
  gap: 2em;
}
.point_side {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 50px;
}
.point_content {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  max-width: 750px;
}
.point_row {
  display: contents;
}
.point_item {
  padding: 1em 0.75em 2em;
  border-right: 1px solid #b3b3b3;
}
.point_item:nth-child(3n) {
  border-right: none;
}
.point_tag {
  font-size: 1.8rem;
  margin-top: 0.5em;
}
.point_line {
  display: inline-block;
}
.point_text {
  font-size: 1.4rem;
  text-align: left;
}

/* ---- SP ---- */
@media screen and (max-width: 768px) {
  .point_wrapper {
    flex-direction: column;
    align-items: center;
  }
  .point_side {
    display: none;
  }
  .point_content {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 10px;
  }
  .point_item {
  padding: 1em 0 2em;
  border-right: none;
}
.point_text {
  line-height: 1.7;
  font-size: 1.3rem;
}
}

/* -----------------選ばれる６つのポイント---------------- */

.bg_magazine{
  background-image: url(images/top/magazine_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
}

.magazine_ja {
  font-size: 3rem;
  position: relative;
  z-index: 2;
  padding-right: 2px;
  color: #fff;
  background-color: #5daac4;
}

.magazine_ttl {
  position: relative;
  display: block;
  width: 100%;
  color: #fff;
}

.magazine_ttl::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 55%;
  height: 1px;
  background-color: #fff;
  text-transform: uppercase;
}

.magazine_en {
  color: #fff;
  padding-right: 0.5em;
  font-weight: bold;
  text-transform: uppercase;
}

.magazine_wrapper {
  display: flex;
  justify-content: center;
}
.magazine_wrapper2 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 95%;
}
.magazine_l{
  width: 47%;
  padding-left: 5%;
}
.magazine_r{
  width: 53%;
  padding-right: 2%;
  transform: translateX(-40px);
}

@media screen and (max-width: 768px) {
  .magazine_wrapper {
  flex-direction: column;
  align-items: center;
  row-gap: 30px;
  }
  .magazine_l{
  width: 100%;
  padding-left: 0;
}
.magazine_r{
  width: 100%;
  padding-right: 0;
  transform: translateX(0);
}
.bg_magazine{
    background-size: cover;
    background-position: left;
}
.magazine_wrapper2 {
  width: 100%;
  column-gap: 10px;
  justify-content: flex-end;
}
}

/* -----------------コンタクト---------------- */

.contact_tel {
  display: inline-block;
  color: #1b1b1b;
  line-height: 1;
}

.contact_tel_number {
  display: block;
  text-align: left;
}

.contact_tel_hours {
  display: block;
  text-align: left;
}

.catalog {
  display: flex;
  flex-wrap: wrap;
  background-color: #ffefdd;
  padding: 5% 9%;
}
.catalog_bg2{
  background-color: #e6edef;
}

.catalog_left,
.catalog_right {
  width: 46%;
  margin-inline: auto;
}

@media screen and (max-width: 768px) {
  .two_col_left,
  .two_col_right {
    width: 100%;
  }
  .catalog{
    flex-direction: column;
    padding: 5% 9% 10%;
    row-gap: 10px;
  }
  .catalog_left,
  .catalog_right {
  width: 100%;
  margin-top: 3%;
  margin-bottom: 0%;
  text-align: center;
}
}

/* -----------------料金案内---------------- */

.price_box{
  border-top: #5daac3 5px solid;
  border-bottom: #5daac3 5px solid;
  background-color: #fff;
  position: relative;
  width: 28%;
  padding-left: 16px;
  padding-right: 16px;
}
.price_icon{
  position: absolute;
  top: -11%;
  left: 50%;
  transform: translateX(-50%);
}

.price_flex{
  display: flex;
  justify-content: space-between;
}

.price_btn{
  text-align: center;
  margin-inline: auto;
  width: 80%;
}

.price_more{
    background-color: #e6edef;
    z-index: 9;
    padding-left: 6px;
}

.price_bg{
  background-color: #e6edef;
}

.price_ja {
  font-size: 3rem;
  background-color: #e6edef;
  position: relative;
  z-index: 2;
  padding-right: 5px;
}

.price_ttl,
.price_ttl2 {
  position: relative;
  display: block;
  background-color: #e6edef;
  width: 100%;
}

.price_ttl::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 55%;
  height: 1px;
  background-color: #b3b3b3;
}
.price_ttl2::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 55%;
  height: 1px;
  background-color: #b3b3b3;
  width: 210%;
}

.price_en {
  background-color: #e6edef;
  padding-right: 0.5em;
  font-weight: bold;
}

.price_grid_container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: 1fr;
  column-gap: 45px;
  row-gap: 20px;
  align-items: stretch;
}

.price_grid_item {
  display: flex;
  flex-direction: column;
  padding: 16px;
}

.price_grid_title_area {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  gap: 10px;
}

.price_grid_desc {
  line-height: 2;
}

.price_ja{
  font-size: 2rem;
  white-space: nowrap;
}

.price_pt60{
  padding-top: 60px;
}
.price_ttl2.access_border::after{
  width: 320%;
}
.price_mb30{
  margin-bottom: 30px;
}

@media (max-width: 768px) {
  .price_grid_container {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
    gap: 0;
  }
}

@media (max-width: 600px) {
  .price_flex{
  display: flex;
  flex-direction: column;
  row-gap: 80px;
  }
  .price_box{
    margin-inline: auto;
    width: 80%;
  }
  .price_ttl2::after{
    max-width: 150%;
  }
  .price_grid_title_area {
  align-items: normal;
  flex-direction: column;
}
.price_ttl2::after{
  width: 100%;
}
.price_grid_title_area a{
  text-align: center;
  padding-left: 0;
}
.price_mb30{
  margin-bottom: 0px;
}
.price_ttl2.access_border::after{
  width: 100%;
}
.price_more{
    padding-left: 0px;
    margin-bottom: 20px;
}
.price_grid_item{
  flex-direction: column;
}
}

/* -----------------フッター---------------- */

.max1200{
  max-width: 1200px;
}

.footer {
  background-color: #fff;
  font-size: 1.6rem;
  line-height: 1.6;
  position: relative;
}

.footer_border_top {
  border-top: 1px solid #b3b3b3;
}

.footer_inner {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  padding: 2rem;
  max-width: 1200px;
  margin: 0 auto;
}

.footer_col1 {
  flex: 0 0 40%;
  min-width: 250px;
}
@media screen and (max-width: 1020px) {
  .footer_col1 {
    flex: 0 0 80%;
  }
}

.footer_col2,
.footer_col3,
.footer_col4 {
  flex: 1 1 calc(19% - 1rem);
  min-width: 150px;
}

.footer_logo {
  max-width: 350px;
  height: auto;
  width: 80%;
}

.footer_tel {
  display: inline-block;
  color: #333;
  margin-bottom: 0.5rem;
  line-height: 0.7;
}

.footer_tel_number {
  font-size: 3.6rem;
  display: block;
  text-align: center;
}

.footer_tel_hours {
  font-size: 1.4rem;
  display: block;
  text-align: center;
}
.footer_list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer_link {
  display: block;
  color: #000;
  text-decoration: none;
  margin-bottom: 3rem;
  transition: color 0.3s;
}

.footer_link:hover {
  color: #df5f06;
}

.footer_copyright {
  position: relative;
  padding: 1rem 2rem 3rem;
  background-color: #fff;
}

.footer_copyright_text {
  margin: 0;
  text-align: right;
  font-size: 1.2rem;
  color: #000;
}

@media screen and (max-width: 767px) {
  .footer_inner {
    flex-direction: column;
  }
  .footer_col1,
  .footer_col2,
  .footer_col3,
  .footer_col4 {
    flex: 1 1 100%;
  }
  .footer_copyright_text {
    text-align: center;
  }
  .footer_copyright_text {
    text-align: center;
  }
  .news_flex {
    flex-direction: column;
  }
  .news_flex_box1 {
    width: 100%;
  }
  .news_flex{
    gap: 40px;
  }
  .footer_link{
    margin-bottom: 1rem;
  }
}

.section-title img {
  max-width: 100%;
  height: auto;
}

.other_flex {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

@media screen and (max-width: 768px) {
  .other_flex {
    flex-direction: column;
    gap: 20px;
    text-align: center;
  }
}

/*----------------------------------------
	layout
----------------------------------------*/
.outline_frame {
  width: 100%;
  max-width: 1350px;
  margin-left: auto;
  margin-right: auto;
}
/* .inner_frame {
  width: 100%;
  max-width: 1040px;
  box-sizing: border-box;
  margin-right: auto;
  margin-left: auto;
} */
.top_frame {
  width: 100%;
  position: relative;
  box-sizing: border-box;
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
}
.large_inner_frame {
  width: 100%;
  position: relative;
  box-sizing: border-box;
}

.s_inner_frame {
  max-width: 780px;
  margin: 0 auto;
}

.pc_inline_block {
  display: inline-block;
}
.sp_inline_block {
  display: none;
}
.sp_inner_frame {
  max-width: 1350px;
  margin-left: auto;
  margin-right: auto;
}
.inner_frame_post {
  width: 100%;
  max-width: 840px;
  position: relative;
  box-sizing: border-box;
  margin: 0 auto;
  padding-right: 20px;
  padding-left: 20px;
}

@media print, screen and (min-width: 1351px) {
  .large_inner_frame {
    width: 1350px;
    position: relative;
    box-sizing: border-box;
    padding-right: 0;
    padding-left: 0;
    margin-right: auto;
    margin-left: auto;
  }
} /*END*/

@media print, screen and (max-width: 1040px) {
  /* .inner_frame {
    padding-right: 20px;
    padding-left: 20px;
    margin-right: auto;
    margin-left: auto;
  } */
} /*END*/
@media print, screen and (max-width: 880px) {
  .top_frame {
    padding-right: 20px;
    padding-left: 20px;
    margin-right: auto;
    margin-left: auto;
  }
}

@media screen and (max-width: 768px) {
  /* .inner_frame, */
  .top_frame {
    padding-right: 3%;
    padding-left: 3%;
  }
  .large_inner_frame {
    padding-right: 3%;
    padding-left: 3%;
  }
} /*END*/

@media screen and (max-width: 599px) {
  /* .inner_frame, */
  .sp_inner_frame,
  .top_frame {
    padding-right: 5%;
    padding-left: 5%;
  }
  .large_inner_frame {
    padding-right: 3.5%;
    padding-left: 3.5%;
  }
  .pc_inline_block {
    display: none;
  }
  .sp_inline_block {
    display: inline-block;
  }
  .inner_frame_post {
    padding-right: 5%;
    padding-left: 5%;
  }
}

img {
  backface-visibility: hidden;
  height: auto;
}

/*----------------------------------------
	画像を中央配置
----------------------------------------*/
.radius_box,
.radius_img,
.radius_img_frame .photo_frame,
.works_single_other_list .photo_frame,
.news_single_photo .photo_frame,
.archive_list .photo_frame,
.single_other_list .photo_frame {
  border-radius: 20px;
}
.radius_box_30 {
  border-radius: 30px;
}
.works_single_mv_img .photo_frame {
  border-radius: 0 30px 30px 0;
}

.photo_frame {
  position: relative;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 320 / 200;
}
.voice_single_photo .photo_frame,
.vioce_archive_link .photo_frame {
  aspect-ratio: 1;
  border-radius: 50%;
}
.staff_archive_list .photo_frame {
  aspect-ratio: 1;
  border-radius: 0;
}
.single_staff_mv_img_box .photo_frame {
  aspect-ratio: 1;
}
.voice_single_photo {
  max-width: 200px;
  margin-inline: auto;
}
@media screen and (min-width: 600px) {
  .open_house_archive_list .photo_area {
    height: 100%;
  }
  .open_house_archive_list .photo_frame {
    aspect-ratio: inherit;
    height: 100%;
  }
}
@media screen and (max-width: 599px) {
  .voice_single_photo {
    max-width: 150px;
  }
}
.photo_frame img {
  width: 100%;
  height: 100% !important;
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  object-fit: cover;
}
.photo_frame img:not(:target) {
  left: 0\9;
  top: 0\9;
}
.photo_frame img {
  left: 0\9;
  top: 0\9;
}
@media all and (-ms-high-contrast: none) {
  .photo_frame img {
    left: 50%\9 !important;
    top: 50%\9 !important;
  }
}
.photo_frame {
  z-index: 1;
} 
.news_detail .photo_area .photo_frame img {
  height: 100% !important;
  width: auto;
}

/*------------------------------ページャー---------------------------------*/
.page-numbers.dots {
  display: inline-block;
  margin-top: 20px;
}
.pager {
  position: relative;
  margin-top: 50px;
  /*
	overflow: hidden;
	*/
}
.pager ul {
  position: relative;
  float: left;
  left: 50%;
}
.pager.pager_right ul {
  position: relative;
  float: right;
}
.pager li {
  position: relative;
  float: left;
  left: -50%;
  color: #434343;
  list-style: none;
  font-size: 1.4rem;
}
.pager li a,
.pager li .current {
  display: inline-block;
  margin-right: 10px;
  text-align: center;
}
.pager li a {
  border: 1px solid #000;
  color: #000;
  text-decoration: none;
  width: 40px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  padding-top: 5px;
  padding-bottom: 5px;
  box-sizing: border-box;
  display: grid;
  place-items: center;

  /*
	border: 1px solid #e1e1e1;
	*/
}
.pager li a.prev,
.pager li a.next {
  /* width: 120px; */
  position: relative;
}
.pager li a.prev::before,
.pager li a.next::before {
  transition: all 0.7s;
  content: "";
  width: 12px;
  height: 12px;
  position: absolute;
  top: 50%;
  left: 50%;
  aspect-ratio: 1;
  background-color: #000;
}
.pager li a.next::before {
  clip-path: polygon(0 7%, 7% 0, 57% 50%, 7% 100%, 0 93%, 43% 50%, 0 7%);
  translate: -30% -50%;
}
.pager li a.prev::before {
  clip-path: polygon(100% 7%, 93% 0, 43% 50%, 93% 100%, 100% 93%, 57% 50%);
  translate: -70% -50%;
}
.pager li a.prev:hover::before,
.pager li a.next:hover::before {
  background-color: #fff;
}
.pager li a.prev {
  margin-right: 20px;
}
.pager li a.next {
  margin-left: 20px;
}
.pager li .current {
  background-color: #000;
  width: 40px;
  padding-top: 5px;
  padding-bottom: 5px;
  border: #fff 1px solid;
  color: #fff;
  border-radius: 50%;
  display: grid;
  place-items: center;
  aspect-ratio: 1/1;
  box-sizing: border-box;
}
.pager li a:hover {
  background: #000;
  color: #fff;
  outline: 1px solid #fff;
}

@media screen and (max-width: 960px) {
  .pager ul {
    position: relative;
    float: left;
    left: 50%;
  }
  .pager.pager_right ul {
    position: relative;
    float: left;
    left: 50%;
  }
  .pager li {
    position: relative;
    float: left;
    left: -50%;
    /*color:#434343;*/
    list-style: none;
    font-size: 1.2rem;
  }
  .pager.pager_right li {
    position: relative;
    float: right;
    left: -50%;
    /*color:#434343;*/
    list-style: none;
    font-size: 1.2rem;
  }
} /*END*/

@media screen and (max-width: 599px) {
  .pager li .current,
  .pager li a {
    width: 35px;
  }
} /*END*/
/*----------------------------------------
	詳細ページャー
----------------------------------------*/
.single_pager {
  max-width: 600px;
  margin-inline: auto;
}
.single_pager li {
  position: relative;
  float: left;
  list-style: none;
  display: block;
  min-height: 30px;
  text-align: center;
  font-size: 1.4rem;
}
.single_pager li a {
  position: relative;
  display: block;
  padding-top: 18px;
  padding-bottom: 18px;
  color: #000000;
  background: transparent;
  border: #000000 solid 1px;
  text-decoration: none;
  border-radius: 25px;
  /*
	border: 1px solid #e6e5da;
	*/
}
.news_detail .single_pager li a {
  color: #272727;
  background: transparent;
  outline: 1px solid #272727;
}
.single_pager li a:hover {
  background: #000000;
  color: #fff;
  border: 1px solid #fff;
}
.news_detail .single_pager li a:hover {
  background: #272727;
  color: #fff;
  outline: 1px solid #272727;
}
.single_pager li.single_prev a:hover::before,
.single_pager li.single_next a:hover::before {
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
}
.news_detail .single_pager li.single_prev a:hover::before,
.news_detail .single_pager li.single_next a:hover::before {
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
}
.single_prev {
  width: 23.5%;
  margin-right: 1.5%;
}
.single_list {
  width: 50%;
}
.single_next {
  width: 23.5%;
  margin-left: 1.5%;
}
.single_pager li.single_next a {
  padding-right: 15px;
}
.single_pager li.single_prev a {
  padding-left: 15px;
}
.single_pager li.single_prev a:before {
  content: "";
  width: 7px;
  height: 7px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  top: 50%;
  transform: rotate(-135deg) translateY(50%);
  left: 10px;
}
.single_pager li.single_next a:before {
  content: "";
  width: 7px;
  height: 7px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  top: 50%;
  transform: rotate(45deg) translateY(-50%);
  right: 15px;
}
.single_pager li.single_prev a:before,
.single_pager li.single_next a:before {
  border-top: solid 2px #272727;
  border-right: solid 2px #272727;
}

@media screen and (max-width: 768px) {
  .single_prev {
    width: 28.5%;
  }
  .single_list {
    width: 40%;
  }
  .single_next {
    width: 28.5%;
  }
} /*END*/

@media screen and (max-width: 599px) {
  .single_prev {
    width: 30%;
  }
  .single_list {
    width: 35%;
  }
  .single_next {
    width: 30%;
  }
  .single_list span {
    display: none;
  }
  .single_pager li.single_prev a:before {
    left: 15px;
    width: 10px;
    height: 10px;
  }
  .single_pager li.single_next a:before {
    right: 15px;
    width: 10px;
    height: 10px;
  }
  .single_pager li.single_prev a:after {
    left: 11px;
  }
  .single_pager li.single_next a:after {
    right: 11px;
  }
  .single_pager li.single_prev a:after,
  .single_pager li.single_next a:after {
    margin-top: -4px;
    width: 8px;
    height: 8px;
  }
} /*END*/

@media screen and (max-width: 479px) {
  .single_pager li {
    font-size: 1.1rem;
  }
} /*END*/


/*----------------------------------------
	header
----------------------------------------*/

body.open {
  overflow: hidden;
}
body.open header {
  height: 100%;
  /* background-color: rgb(0 0 0 / 0.4); */
  background-color: #add9e6;
}
header {
  position: fixed;
  width: 100%;
  z-index: 12;
  /* -webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px); */
  transition: 0.4s;
}
@media screen and (max-width: 599px) {
  header {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    /* position: absolute; */
  }
  body.open header {
    height: 100%;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}
.head_open_frame {
  height: fit-content;
  display: flex;
  justify-content: space-between;
}
.menu_btn {
  cursor: pointer;
  z-index: 9999;
  width: 80px;
  display: grid;
  place-items: center;
}

@media screen and (max-width: 599px) {
  .menu_btn {
    position: fixed;
    top: 0;
    right: 0;
    width: 65px;
    aspect-ratio: 1 / 1;
  }
}

:root {
  --menu_width: 65px;
}

.menu_btn_inner {
  width: var(--menu_width);
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  transition: all 0.4s;
  position: relative;
}

/* 2本線 */
.menu_btn_inner span {
  position: absolute;
  left: 30%;
  width: 65%;
  height: 2px;
  background-color: #000;
  transition: all 0.3s ease;
  border-radius: 1px;
}
/* 上の線 */
.menu_btn_inner span:nth-child(1) {
  top: 40%;
}
/* 下の線 */
.menu_btn_inner span:nth-child(2) {
  top: 55%;
}
@media screen and (max-width: 499px) {
.menu_btn_inner span:nth-child(1) {
  top: 30%;
}
.menu_btn_inner span:nth-child(2) {
  top: 45%;
}
}

/* ドロワー開いたときにXになる */
.open .menu_btn_inner span:nth-child(1) {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}

.open .menu_btn_inner span:nth-child(2) {
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
}

.drawer {
  position: fixed;
  background-color: #fff;
  background-image: linear-gradient(0deg, transparent calc(100% - 1px), #eee calc(100% - 1px)),
                    linear-gradient(90deg, transparent calc(100% - 1px), #eee calc(100% - 1px));
  background-size: 100px 100px;
  background-repeat: repeat;
  background-position: center center;
  right: 5%;
  width: 90%;
  overflow-y: scroll;
  height: 85dvh;
  color: #fff;
  transform: translateY(-120%);
  transition: transform 0.8s cubic-bezier(0.68, -0.55, 0.27, 1.55);
  z-index: 99;
  border-radius: 50px 50px 50px 50px;
  box-sizing: border-box;
  padding-top: 5vh;
  -ms-overflow-style: none;
  /* Firefox 対応 */
  scrollbar-width: none;
}
/* Chrome, Safari 対応 */
.drawer::-webkit-scrollbar {
  display: none;
}
@media screen and (max-width: 821px) {
  .drawer {
    border-radius: 10px;
  }
  .menu_btn_inner span{
    width: 50%;
  }
}
.drawer nav {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  justify-content: space-between;
}

.nav_list_l {
  width: 66%;
  /* background-color: #fff; */
  display: flex;
}
.nav_list_r {
  width: 30%;
}
@media screen and (max-width: 821px) {
  .nav_list_l,
  .nav_list_r {
    width: 100%;
  }
  .nav_list_l{
    display: block;
  }
  .nav_list_r {
    text-align: center;
  }
}
.nav_link_text_box {
  display: flex;
  flex-direction: column;
  row-gap: 5px;
  transition: all 0.2s;
}
.nav_link_text_box:hover {
  /* color: #df5f06; */
  opacity: 0.7;
}
.nav_link_ja {
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 1px;
  font-weight: 400;
  font-size: 1.3rem;
}
.nav_link_en {
  font-family: "Noto Sans JP", sans-serif;
  /* font-size: clamp(18px, 3.125vw, 30px); */
  font-size: 1.6rem;
  text-transform: uppercase;
  font-weight: 600;
  width: fit-content;
  position: relative;
  padding-left: 5px;
}
.nav_link_en::after {
  content: "";
  display: inline-block;
  width: 14px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #000;
  position: absolute;
  top: 50%;
  left: calc(100% + 10px);
  transform: translateY(-50%);
  z-index: 1;
}
.nav_link_en::before {
  content: "";
  width: 5px;
  aspect-ratio: 44/75;
  display: inline-block;
  background-size: cover;
  background-repeat: no-repeat;
  background-color: #fff;
  -webkit-mask: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 57.2 97.29"><g id="line_arrow"><path class="cls-1" d="m10.61,97.29c-1.66,0-3.33-.63-4.6-1.9-2.54-2.54-2.54-6.65,0-9.19l35.49-35.49L1.9,11.1C-.63,8.56-.63,4.44,1.9,1.9s6.65-2.54,9.19,0l44.2,44.2c2.54,2.54,2.54,6.65,0,9.19L15.21,95.38c-1.27,1.27-2.93,1.9-4.6,1.9Z"/></g></svg>')
    no-repeat center;
  mask: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 57.2 97.29"><g id="line_arrow"><path class="cls-1" d="m10.61,97.29c-1.66,0-3.33-.63-4.6-1.9-2.54-2.54-2.54-6.65,0-9.19l35.49-35.49L1.9,11.1C-.63,8.56-.63,4.44,1.9,1.9s6.65-2.54,9.19,0l44.2,44.2c2.54,2.54,2.54,6.65,0,9.19L15.21,95.38c-1.27,1.27-2.93,1.9-4.6,1.9Z"/></g></svg>')
    no-repeat center;
  position: absolute;
  top: 50%;
  left: calc(100% + 10px);
  transform: translate(100%, -50%);
  z-index: 2;
}
@media screen and (max-width: 599px) {
  .nav_link_en::after,
  .nav_link_en::before {
    left: calc(100% + 5px);
  }
}
.nav_link_en.nav_external_link::after {
  display: none;
}
.nav_link_en.nav_external_link::before,
.nav_list_under_external_link::before {
  content: "";
  width: 16px;
  aspect-ratio: 200/150;
  display: inline-block;
  background-size: cover;
  background-repeat: no-repeat;
  background-color: #000;
  -webkit-mask: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2000 1500"><g id="nav_external_link"><path class="cls-1" d="m1400,600v700H200v-700h1200Zm200-200H0v1100h1600V400h0ZM1800,0H400v200h1400v900h200V0h-200Z"/></g></svg>');
  mask: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2000 1500"><g id="nav_external_link"><path class="cls-1" d="m1400,600v700H200v-700h1200Zm200-200H0v1100h1600V400h0ZM1800,0H400v200h1400v900h200V0h-200Z"/></g></svg>');
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translate(100%, -50%);
  transition: all 0.2s;
  z-index: 2;
}

.nav_link_en::after {
  transition: all 0.2s;
}
.nav_link_text_box:hover .nav_link_en::after {
  scale: 1.5;
  transform: translateY(-30%);
  opacity: 0.7;
}
.nav_link_text_box:hover .nav_link_en.nav_external_link::before,
.nav_list_under .nav_list_under_external_link:hover::before {
  opacity: 0.7;
}
.nav_link_en.nav_link_wh::before {
  background-color: #000;
}

.nav_link_en.nav_link_wh::after {
  background-color: #fff;
    border: #000 solid 1px;
}

.nav_link_text_box:hover .nav_link_en.nav_link_wh::after {
  opacity: 0.7;
}
.nav_link_text_box:hover .nav_link_en.nav_link_wh::before {
  opacity: 0.7;
}
.nav_contact_link_box {
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  row-gap: 10px;
  padding: 7.14%;
  box-sizing: border-box;
  transition: 0.4s;
  justify-content: center;
  height: 130px;
}
@media screen and (max-width: 599px) {
  .nav_contact_link_box {
    height: 100px;
  }
}
.nav_contact_link_box .nav_contact_link_ttl::after {
  transition: all 0.4s;
}
.nav_contact_link_box:hover .nav_contact_link_ttl::after {
  scale: 2;
}
.nav_contact_link_box01 {
  background-color: #ead9d6;
}
.nav_contact_link_box02 {
  background-color: #cfdfe5;
}
.nav_contact_link_box03 {
  background-color: #ebe9e0;
}
.nav_contact_link_box01,
.nav_contact_link_box02 {
  position: relative;
}
.nav_contact_link_box01::after,
.nav_contact_link_box02::after {
  content: "";
  display: inline-block;
  width: 22px;
  aspect-ratio: 1/1;
  background-color: #fff;
  border-radius: 50%;
  position: absolute;
  z-index: 1;
  right: 5%;
  top: 50%;
  translate: 0% -50%;
  transition: all 0.4s;
}
.nav_contact_link_box01:hover:after,
.nav_contact_link_box02:hover::after {
  scale: 1.4;
}
.nav_contact_link_box01::before,
.nav_contact_link_box02::before {
  content: "";
  width: 6px;
  aspect-ratio: 44/75;
  display: inline-block;
  background-size: cover;
  background-repeat: no-repeat;
  background-color: #000;
  -webkit-mask: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 57.2 97.29"><g id="line_arrow"><path class="cls-1" d="m10.61,97.29c-1.66,0-3.33-.63-4.6-1.9-2.54-2.54-2.54-6.65,0-9.19l35.49-35.49L1.9,11.1C-.63,8.56-.63,4.44,1.9,1.9s6.65-2.54,9.19,0l44.2,44.2c2.54,2.54,2.54,6.65,0,9.19L15.21,95.38c-1.27,1.27-2.93,1.9-4.6,1.9Z"/></g></svg>');
  mask: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 57.2 97.29"><g id="line_arrow"><path class="cls-1" d="m10.61,97.29c-1.66,0-3.33-.63-4.6-1.9-2.54-2.54-2.54-6.65,0-9.19l35.49-35.49L1.9,11.1C-.63,8.56-.63,4.44,1.9,1.9s6.65-2.54,9.19,0l44.2,44.2c2.54,2.54,2.54,6.65,0,9.19L15.21,95.38c-1.27,1.27-2.93,1.9-4.6,1.9Z"/></g></svg>');
  position: absolute;
  top: 50%;
  right: 5%;
  translate: -120% -50%;
  z-index: 2;
  transition: all 0.4s;
}
.nav_contact_link_box01:hover {
  background-color: #e5c8c3;
}
.nav_contact_link_box02:hover {
  background-color: #bad4de;
}
.nav_contact_link_box03:hover {
  background-color: #e3dec7;
}
.nav_link_contact_ttl {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 5%;
  align-items: center;
}
.nav_line_icon01 {
  max-width: 23px;
}
.nav_line_icon02 {
  max-width: 23px;
}
.nav_line_icon03 {
  max-width: 10px;
  transform: rotate(-15deg);
}
.nav_list_under {
  display: grid;
  grid-template-rows: repeat(4, 1fr);
  grid-auto-flow: column;
}
.nav_list_under li:nth-of-type(3) {
  grid-row: 3/5;
}
.nav_list_under a {
  transition: all 0.2s;
}

.nav_list_under a:hover {
  color: #df5f06;
}
@media screen and (max-width: 599px) {
  .nav_list_under .text_15 {
    font-size: 1.3rem !important;
  }
}
.nav_deco01,
.nav_deco02 {
  position: absolute;
}
.nav_deco01 {
  max-width: 161px;
  width: 11.925%;
  top: 5%;
  left: 0;
  transform: translateX(-15%);
}
.nav_deco02 {
  max-width: 480px;
  width: 80%;
  right: 10%;
  bottom: 0%;
  opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
  z-index: 999;
}

body.open header .nav_deco02 {
	opacity: 1;
	pointer-events: auto;
}

@media screen and (max-width: 1100px) {
  .nav_deco01,
  .nav_deco02 {
    display: none;
  }
}

.nav_archive_list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 3.5%;
  row-gap: 30px;
}
@media screen and (max-width: 599px) {
  .nav_archive_list {
    display: none;
  }
}

.open .drawer {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
  top: 8vh;
  /* transition: transform 0.8s cubic-bezier(0.68,-0.55,0.27,1.55); */
  transition: transform 0s;
  animation: bounce 0.7s ease-in-out;
}
.open .drawer ul li {
  transform: translateX(0);
}
@keyframes bounce {
  0% {
    transform: translateY(-101%);
  }
  32.3% {
    transform: translateY(5.5%);
  }
  56.78% {
    transform: translateY(-2%);
  }
  75.31% {
    transform: translateY(1.5%);
  }
  89.36% {
    transform: translateY(-0.5%);
  }
  100% {
    transform: translateY(0%);
  }
}
@keyframes bounce02 {
  0% {
    transform: translateY(0%);
  }
  32.3% {
    transform: translateY(-0.5%);
  }
  56.78% {
    transform: translateY(5.5%);
  }
  75.31% {
    transform: translateY(1.5%);
  }
  89.36% {
    transform: translateY(-2%);
  }
  100% {
    transform: translateY(-101%);
  }
}
/*}END*/
.jitume {
  font-feature-settings: "palt";
}

body.open .header_menu {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
}

.head_logo {
  display: block;
  text-align: center;
}
.head_logo .logo_img {
  max-width: 150px;
}
.head_logo_under_text {
  border-radius: 13px;
  max-width: 222px;
}
.head_logo_box {
  width: 100%;
  max-width: 222px;
  transition: all 0.4s;
  transform-origin: 0;
}
.page-plus_one_living .head_logo .cls-1,
.page-reas .head_logo .cls-1 {
  fill: #fff;
  transition: all 0.4s;
}
.page-plus_one_living.header_color .head_logo .cls-1,
.page-reas.header_color .head_logo .cls-1 {
  fill: #000;
}
svg.head_logo {
  max-width: 185px;
}
@media screen and (max-width: 599px) {
  .head_logo_under_text {
    font-size: 1.2rem;
  }
  .head_logo_box {
    max-width: 222px;
  }
  svg.head_logo {
    max-width: 155px;
  }
}

/* .open .head_logo_box{
	z-index: 100;
	position: fixed;
	left: 2.22%;
	top: 1.375%;
} */
.head_frame {
  /* position: fixed;
	top: 0;
	left: 0; */
  box-sizing: border-box;
  padding: min(25px, 1.85%) 0 min(25px, 1.85%) min(30px, 2.2222%);
  display: grid;
  grid-template-columns: 222px auto;
  justify-content: space-between;
  width: calc(100% - 100px);
  transition: all 0.4s;
}
@media screen and (max-width: 599px) {
  .head_frame {
    padding: 15px 0 15px 10px;
  }
}
.head_link_list {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  /* background-color: rgba(255, 255, 255, 0.3);
    width: fit-content;
    backdrop-filter: blur(10px);
    border-radius: 30px; */
}
.head_link_list a {
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 1px;
  font-weight: 400;
  font-size: 1.5rem;
  display: inline-block;
  font-feature-settings: "palt";
  height: 100%;
  padding: 0 2rem;
  /* line-height: 3; */
  box-sizing: border-box;
}

.page-plus_one_living .head_link_list a,
.page-reas .head_link_list a {
  color: #fff;
  transition: all 0.4s;
}
.page-plus_one_living.header_color .head_link_list a,
.page-reas.header_color .head_link_list a {
  color: #000;
}

@media screen and (max-width: 999px) {
  .head_link_list {
    display: none;
  }
}
.head_link_move_frame {
  overflow: hidden;
  display: inline-block;
  line-height: 2;
}
.head_link_move_text {
  position: relative;
  display: block;
  transition: transform 500ms ease;
}
.head_link_move_text::after {
  content: attr(data-text);
  position: absolute;
  top: 100%;
  left: 0;
  opacity: 0;
  transition: opacity 1.2s ease;
}
.head_link_list a:hover .head_link_move_text {
  transform: translateY(-100%);
}
.head_link_list a:hover .head_link_move_text::after {
  opacity: 1;
}
.drawer_logo {
  width: 100%;
  max-width: 222px;
  padding-top: min(30px, 2.222%);
  padding-left: min(25px, 1.85%);
}
@media screen and (max-width: 599px) {
  .drawer_logo {
    width: 100%;
    max-width: 165px;
    padding-top: 15px;
    padding-left: 10px;
  }
}

@media screen and (max-width: 821px) {
  .drawer {
    display: block;
  }
  .drawer nav {
    flex-direction: column;
    width: 100%;
    /* padding-top: 30px; */
    row-gap: 30px;
  }
  .drawer .nav_img {
    width: 100%;
    height: auto;
  }
  .drawer .nav_img img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }
}

/* scroll header */
header.is-animation .head_frame {
  padding: 10px 0 10px min(30px, 2.2222%);
}
header.is-animation .head_logo_box {
  scale: 0.8;
  backface-visibility: hidden;
}
@media screen and (min-width: 600px) {
  header.is-animation {
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
  }
}

/*----------------------------------------
	iframe中央配置
----------------------------------------*/

/*iframe比率維持*/
.map {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
  padding: 50% 0 0;
  text-align: center;
}
.map.single_event,
.map.single_radius {
  border-radius: 30px;
}
.map iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0);
  -ms-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
}
.map iframe:not(:target) {
  left: 0\9;
  top: 0\9;
}
.map iframe {
  left: 0\9;
  top: 0\9;
}
@media all and (-ms-high-contrast: none) {
  .map iframe {
    left: 50%\9 !important;
    top: 50%\9 !important;
  }
}
.map {
  z-index: 2;
} /*chrome対策*/

@media screen and (max-width: 768px) {
  .map {
    padding: 50% 0 0;
  }
} /*END*/

@media screen and (max-width: 479px) {
  .map {
    padding: 70% 0 0;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
} /*END*/
.rela {
  position: relative;
}
.abs {
  position: absolute;
}

/*----------------------------------------
	contents concept
----------------------------------------*/

/* ぱんくず */
.pan_nav {
  font-size: 1.2rem;
  text-align: right;
  font-family: var(--text_noto);
}
.pan_nav li {
  display: inline-block;
  color: #585858;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 1px;
}
.page-plus_one_living .pan_nav li,
.page-reas .pan_nav li {
  color: #fff;
}
.pan_nav li a {
  color: inherit;
  font-size: 1.2rem;
  color: #585858;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 1px;
  font-weight: 400;
}
.pan_nav li a:after {
  content: ">";
  position: relative;
  font-size: 1.3rem;
  margin-right: 5px;
  margin-left: 6px;
}
/* top page */
.top_ttl_en,
.top_ttl_ja {
  display: inline-block;
}
.top_ttl_en {
  font-size: clamp(60px, 9.375vw, 90px);
}
.top_ttl_en.text_size50 {
  font-size: clamp(34px, 5.25vw, 50px);
}
.top_ttl_en.text_size70 {
  font-size: clamp(44px, 8vw, 70px);
}
.top_ttl_en.text_size80 {
  font-size: clamp(48px, 8vw, 80px);
}
.top_ttl_ja {
  font-size: clamp(14px, 1.875vw, 16px);
  position: relative;
  padding-left: 2rem;
}
.top_ttl_ja::after {
  content: "";
  width: 6px;
  aspect-ratio: 1/1;
  background-color: #df6400;
  position: absolute;
  left: 3px;
  top: calc(50% - 3px);
  border-radius: 50%;
}
/* inc_contact */
.foot_contact_tel {
  display: inline-block;
  font-size: clamp(40px, 5.75vw, 52px);
  letter-spacing: 2px;
  padding-left: 0.67em;
  position: relative;
}
.foot_contact_tel::after {
  content: "";
  width: clamp(20px, 2.875vw, 26px);
  aspect-ratio: 26/48;
  display: inline-block;
  background-size: cover;
  background-repeat: no-repeat;
  background-color: #000;
  -webkit-mask: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 273.4 503.26"><defs><style>.cls-1{stroke-width:0px;}</style></defs><g><g><path class="cls-1" d="m217.98,362.13c-10.35-9.61-31.4-6.35-43.59,5.69-12.2,12.03-18.89,6.39-18.89,6.39,0,0-22.68-27.01-45.2-109.51-22.52-82.5-16.71-117.3-16.71-117.3,0,0,2.9-8.25,19.53-4.09,16.61,4.17,36.4-3.71,40.43-17.25,4.06-13.53,7.73-75.69,4.16-98.31C154.1,5.11,125.41-.74,117.89.07c-7.53.8-83.98,4.28-104.74,79.54C-7.59,154.9-1.5,228.1,15.54,290.56c17.04,62.45,48.99,128.62,105.11,182.91,56.1,54.27,123.74,18.43,130.61,15.3,6.88-3.13,28.63-22.74,20.25-44.05-8.42-21.32-43.17-72.96-53.54-82.58h0Z"/></g></g></svg>')
    no-repeat center;
  mask: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 273.4 503.26"><defs><style>.cls-1{stroke-width:0px;}</style></defs><g><g><path class="cls-1" d="m217.98,362.13c-10.35-9.61-31.4-6.35-43.59,5.69-12.2,12.03-18.89,6.39-18.89,6.39,0,0-22.68-27.01-45.2-109.51-22.52-82.5-16.71-117.3-16.71-117.3,0,0,2.9-8.25,19.53-4.09,16.61,4.17,36.4-3.71,40.43-17.25,4.06-13.53,7.73-75.69,4.16-98.31C154.1,5.11,125.41-.74,117.89.07c-7.53.8-83.98,4.28-104.74,79.54C-7.59,154.9-1.5,228.1,15.54,290.56c17.04,62.45,48.99,128.62,105.11,182.91,56.1,54.27,123.74,18.43,130.61,15.3,6.88-3.13,28.63-22.74,20.25-44.05-8.42-21.32-43.17-72.96-53.54-82.58h0Z"/></g></g></svg>')
    no-repeat center;
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
}
/* .foot_contact_link_bg{
	background: linear-gradient(0deg, rgba(51,51,51,1) 60%, rgba(235,233,224,1) 60%);
}
@media screen and (max-width: 599px) {
	.foot_contact_link_bg{
		background: linear-gradient(0deg, rgba(51,51,51,1) 30%, rgba(235,233,224,1) 30%);
	}
} */
.foot_contact_link_bg {
  background: linear-gradient(
    0deg,
    rgba(51, 51, 51, 1) 60%,
    rgba(255, 255, 255, 1) 60%
  );
}
@media screen and (max-width: 599px) {
  .foot_contact_link_bg {
    background: linear-gradient(
      0deg,
      rgba(51, 51, 51, 1) 30%,
      rgba(255, 255, 255, 1) 30%
    );
  }
}
.foot_contact_link_frame {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 3.846154%;
}
@media screen and (max-width: 599px) {
  .foot_contact_link_frame {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 20px;
  }
}
.foot_contact_link_box {
  border-radius: 20px;
  padding: 6% 8%;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.foot_contact_link_box:hover {
  background-color: #e3dec7;
  /* background-color: #eee6c4; */
}
.foot_contact_link_box_img {
  width: 52.38%;
  overflow: hidden;
  border-radius: 10px;
}
.foot_contact_link_box_img img {
  transition: all 0.6s;
}
.foot_contact_link_box_text {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 44.047%;
  height: 100%;
}
@media screen and (max-width: 599px) {
  /* .foot_contact_link_box{
		flex-direction: column;
		row-gap: 10px;
	} */
  .foot_contact_link_box_img {
    width: 100%;
  }
  .foot_contact_link_box_text {
    width: 100%;
  }
  .foot_contact_link_box_text .lh_16 {
    line-height: 1.2 !important;
  }
}

.foot_contact_link_icon01 {
  width: 35px;
  height: 22px;
}
.foot_contact_link_icon02 {
  width: 30px;
  height: 28px;
}
.foot_contact_link_ttl::after {
  transition: all 0.6s;
}
.foot_contact_link_box:hover .foot_contact_link_ttl::after {
  scale: 2;
}
.foot_contact_link_box:hover .foot_contact_link_box_img img {
  scale: 1.05;
}
.foot_frame {
  display: flex;
  justify-content: space-between;
}
.foot_left {
  width: 38.461538%;
}
.foot_right {
  width: 56.730769%;
  display: flex;
  justify-content: space-between;
}
.foot_link_list a {
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 1px;
  font-weight: 400;
  font-size: 1.5rem;
  padding: 1em 0;
  display: block;
  position: relative;
}
.foot_link_hover {
  position: relative;
}
.foot_link_hover::after {
  content: "";
  display: inline-block;
  height: 1px;
  width: 0%;
  background-color: #fff;
  position: absolute;
  left: 0;
  top: calc(100% + 0.5em);
  /* transform-origin: 50% 50%;
	transform: scale(0); */
  transition: all 0.4s;
}
.foot_link_list a:hover .foot_link_hover::after {
  /* transform: scale(1); */
  width: 100%;
}
@media screen and (max-width: 599px) {
  .foot_frame {
    flex-direction: column;
    row-gap: 30px;
  }
  .foot_left {
    width: 100%;
  }
  .foot_right {
    display: block;
    column-count: 2;
    width: 100%;
  }
  .foot_link_list,
  .foot_link_list li {
    display: contents;
  }
}
.foot_logo {
  display: block;
  text-align: center;
}
.foot_logo img {
  max-width: 240px;
}
.foot_logo_box {
  max-width: 240px;
}
@media screen and (max-width: 599px) {
  .foot_logo_box {
    margin-inline: auto;
  }
}
.logo_under_text {
  border-radius: 13px;
  max-width: 240px;
}
.copy_right {
  color: #b7b7b7;
  font-size: 1.3rem;
}
.foot_external_link {
  position: relative;
  display: grid;
  text-align: center;
  max-width: 280px;
  width: 100%;
  box-sizing: border-box;
  padding: 1em;
  font-size: clamp(13px, 1.75vw, 15px);
  transition: all 0.3s;
  z-index: 1;
}
.foot_external_link::before {
  content: "";
  background-color: #fff;
  border: 1px solid #fff;
  z-index: -1;
  display: inline-block;
  width: 100%;
  height: 100%;
  border-radius: 25px;
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  transition: scale 0.4s;
}
:root {
  --external_link_icon: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1140 1140"><defs><style>.cls-1{stroke-width:0px;}</style></defs><g><path class="cls-1" d="m920,570h80v570H0V140h570v80H80v840h840v-490ZM710,0v80h293.43L491.16,592.27l56.57,56.57L1060,136.57v293.43h80V0h-430Z"/></g></svg>')
    no-repeat;
}
.foot_external_link::after {
  content: "";
  width: 12px;
  aspect-ratio: 1/1;
  display: inline-block;
  background-size: cover;
  background-repeat: no-repeat;
  background-color: #000;
  -webkit-mask: var(--external_link_icon);
  mask: var(--external_link_icon);
  position: absolute;
  top: 50%;
  right: 1.5em;
  transform: translateY(-50%);
  transition: all 0.3s;
}
.foot_external_link:hover::before {
  scale: 1.05;
}
.foot_tel a {
  color: #fff;
}

/* common */
.mv_frame {
  padding-top: clamp(84px, 11.25vw, 122px);
}

/* top */
.top_mv_swiper_box {
  overflow: hidden;
  height: auto;
}
.top_mv_frame {
  margin: 9% auto;
  display: flex;
  justify-content: space-between;
  padding: 0 2.5%;
}
@media screen and (max-width: 821px) {
  .top_mv_frame {
    flex-direction: column;
    row-gap: 80px;
    margin: 60px 0;
  }
}
@media screen and (max-width: 599px) {
  .top_mv_frame {
    row-gap: 50px;
    margin: 40px 0;
  }
}
.top_mv_swiper_frame {
  width: 64%;
  position: relative;
  height: max-content;
  /* opacity: 0;
	transition: opacity 0.4s ease-in-out; */
}
/* .top_mv_swiper_frame.mv_start{
	opacity: 1;
} */
@media screen and (max-width: 821px) {
  .top_mv_swiper_frame {
    width: 95%;
    max-width: 610px;
    margin-inline: auto;
  }
}
.top_mv_swiper_frame::before {
  content: "pick up";
  color: #fff;
  font-family: var(--text_mon);
  font-weight: 600;
  font-size: 18px;
  text-transform: uppercase;
  position: absolute;
  left: 50%;
  bottom: 105%;
  translate: -50% 0;
  z-index: 2;
}
@media screen and (max-width: 599px) {
  .top_mv_swiper_frame::before {
    font-size: 10px;
    bottom: 103%;
  }
}
.top_mv_swiper_frame::after {
  content: "";
  display: block;
  width: 97%;
  aspect-ratio: 25/23;
  border-radius: 50%;
  position: absolute;
  right: 0%;
  top: 50%;
  translate: 0% -50%;
  transition: 1s;
}
.top_mv_swiper_frame.mv01::after {
  background-color: #fff5c3;
}
.top_mv_swiper_frame.mv02::after {
  background-color: #c2d9e1;
}
.top_mv_swiper_frame.mv03::after {
  background-color: #e8d2ce;
}
.top_mv_swiper_frame.mv04::after {
  background-color: #d8d698;
}
.top_mv_swiper_frame.mv05::after {
  background-color: #f3dfea;
}
.top_mv_swiper_frame.mv06::after {
  background-color: #e9ca91;
}
.top_mv_text_right_box {
  width: 34.5%;
  max-width: 372px;
  padding-top: 7%;
}
@media screen and (max-width: 821px) {
  .top_mv_text_right_box {
    width: 90%;
    max-width: 450px;
    margin-inline: auto;
    display: flex;
    flex-direction: column-reverse;
    row-gap: 20px;
  }
}

.swiper-pagination-fraction {
  position: absolute;
  z-index: 2;
  left: auto;
  right: 0%;
  top: 105.3%;
  width: 16%;
  text-align: center;
  height: fit-content;
}
@media screen and (max-width: 821px) {
  .swiper-pagination-fraction {
    top: 106.2%;
    width: 20%;
  }
}
@media screen and (max-width: 599px) {
  .swiper-pagination-fraction {
    width: 35%;
    top: 108%;
  }
}
.top_data_info_box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 821px) {
  .top_data_info_box {
    justify-content: flex-start;
    column-gap: 15px;
    width: 45%;
  }
  .top_data_info_box > p:first-of-type {
    width: 100%;
  }
  .top_data_info_box > p:last-of-type {
    display: none;
  }
}
.top_data_info_01,
.top_data_info_02,
.weather-report {
  display: flex;
  font-feature-settings: "palt";
}
@media screen and (max-width: 599px) {
  .top_data_info_01 .text_40 {
    font-size: 26px;
  }
}
.top_data_info_02 {
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
  width: max-content;
}
.weather-report {
  align-items: center;
  justify-content: flex-end;
  column-gap: 5%;
}
#top_weather_icon {
  width: 65px;
  aspect-ratio: 1;
}
@media screen and (max-width: 821px) {
  #top_weather_icon {
    width: 50px;
  }
}
@media screen and (max-width: 599px) {
  #top_weather_icon {
    width: 40px;
  }
}

.top_mv_swiper_frame .swiper-pagination {
  width: 93%;
  text-align: left;
  left: 2.5%;
  top: 105%;
}
.top_mv_ttl {
  font-size: clamp(45px, 9.375vw, 85px);
  position: absolute;
  left: 0;
  top: 0;
  line-height: 1;
}
@media screen and (max-width: 599px) {
  .top_mv_ttl {
    left: 3%;
    top: -1%;
  }
}
/* swiperの丸 */
.swiper-pagination-bullet {
  background: #fff;
  opacity: 1;
}
.top_mv_swiper_frame .swiper-pagination-bullet-active {
  background: #000;
}
.top_mv_swiper_frame
  .swiper-pagination-horizontal.swiper-pagination-bullets
  .swiper-pagination-bullet {
  margin: 0 10px;
}
@media screen and (max-width: 599px) {
  .top_mv_swiper_frame
    .swiper-pagination-horizontal.swiper-pagination-bullets
    .swiper-pagination-bullet {
    margin: 0 5px;
    width: 6px;
    height: 6px;
  }
}
/* swiperの矢印 */

.top_mv_swiper_frame .swiper-button-prev,
.top_mv_swiper_frame .swiper-button-next {
  position: static;
  color: #000;
  margin-top: 0;
}
.top_mv_swiper_frame .swiper-button-prev:after,
.top_mv_swiper_frame .swiper-button-next:after {
  font-size: 1.6rem;
}
.top_mv_swiper_frame .swiper_arrow {
  width: 16%;
  display: flex;
  justify-content: space-between;
  position: absolute;
  top: 103%;
  right: 0;
}
@media screen and (max-width: 821px) {
  .top_mv_swiper_frame .swiper_arrow {
    width: 20%;
  }
}
@media screen and (max-width: 599px) {
  .top_mv_swiper_frame .swiper_arrow {
    width: 35%;
  }
}
.top_mv_text_box {
  position: absolute;
  bottom: 5%;
  left: 5%;
}
@media screen and (max-width: 599px) {
  .top_mv_text_box {
    bottom: 0%;
    left: 0%;
  }
}
.top_mv_text01,
.top_mv_text02,
.top_mv_text03 {
  width: max-content;
  box-sizing: border-box;
  background-color: #fff;
  padding: 0.5rem 1.5rem;
  line-height: 1.5;
  -webkit-clip-path: inset(0 100% 0 0);
  clip-path: inset(0 100% 0 0);
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}
@media screen and (max-width: 599px) {
  .top_mv_text01,
  .top_mv_text02,
  .top_mv_text03 {
    padding: 0.2rem 1rem;
  }
}
.top_mv_swiper_frame .swiper-slide-active .top_mv_text01,
.top_mv_swiper_frame .swiper-slide-active .top_mv_text02,
.top_mv_swiper_frame .swiper-slide-active .top_mv_text03 {
  -webkit-clip-path: inset(0);
  clip-path: inset(0);
  transition: clip-path 0.8s ease-in-out, background-color 0.3s ease-in-out,
    color 0.3s ease-in-out;
}
.top_mv_swiper_frame .swiper-slide > a:hover .top_mv_text01,
.top_mv_swiper_frame .swiper-slide > a:hover .top_mv_text02,
.top_mv_swiper_frame .swiper-slide > a:hover .top_mv_text03 {
  background-color: #000;
  color: #fff;
}
.top_mv_img_frame img {
  transition: 0.4s ease-in-out;
}
.top_mv_swiper_frame .swiper-slide > a:hover .top_mv_img_frame img {
  scale: 1.05;
}
.top_mv_img_frame {
  box-sizing: border-box;
  border-radius: 30px;
  margin-left: 2em;
  margin-top: 2em;
  overflow: hidden;
}
.top_mv_text01 {
  border-radius: 5px 5px 0 0;
  border-top: #000 solid 1px;
  border-left: #000 solid 1px;
  border-right: #000 solid 1px;
  font-size: 1.2rem;
  text-transform: uppercase;
  font-family: var(--text_mon);
}
.top_mv_text02 {
  border-radius: 0 5px 5px 0;
  border: #000 solid 1px;
  font-weight: bold;
  font-size: 2.2rem;
}
@media screen and (max-width: 599px) {
  .top_mv_text02 {
    font-size: 1.6rem;
  }
}

.top_mv_text03 {
  border-radius: 0 0 5px 5px;
  border-bottom: #000 solid 1px;
  border-left: #000 solid 1px;
  border-right: #000 solid 1px;
  font-size: 1.4rem;
}
.top_mv_main_text {
  font-size: clamp(28px, 4vw, 43px);
  line-height: 1.8;
  margin-bottom: 20px;
  letter-spacing: 3px;
}
.top_mv_main_text span {
  opacity: 0;
  translate: 0 5px;
  display: inline-block;
}
.top_mv_main_text span:first-of-type {
  transition: opacity 0.2s ease-in-out 0.3s, translate 0.3s ease-in-out 0.3s;
}
.top_mv_main_text span:last-of-type {
  transition: opacity 0.2s ease-in-out 0.4s, translate 0.3s ease-in-out 0.4s;
}
.top_mv_main_text.mv_start span {
  opacity: 1;
  translate: 0 0px;
}

@media screen and (max-width: 821px) {
  .top_mv_main_text {
    line-height: 1.4;
    margin-bottom: 10px;
  }
}
.top_mv_sub_text01,
.top_mv_sub_text02 {
  opacity: 0;
  filter: blur(15px);
}
.top_mv_sub_text01 {
  transition: opacity 0.2s ease-in-out 0.5s, filter 0.3s ease-in-out 0.5s;
}
.top_mv_sub_text02 {
  transition: opacity 0.2s ease-in-out 0.8s, filter 0.3s ease-in-out 0.8s;
}
.top_mv_sub_text01.mv_start,
.top_mv_sub_text02.mv_start {
  opacity: 1;
  filter: blur(0px);
}

.top_mv_sub_text_deco {
  line-height: 2;
  font-size: 1.2rem;
}
@media screen and (max-width: 599px) {
  .top_mv_sub_text_deco {
    line-height: 1.5;
    font-size: 1rem;
  }
}
@media screen and (max-width: 821px) {
  .top_mv_info_box {
    display: flex;
    align-items: flex-end;
  }
  .top_mv_info_box .m_b40 {
    margin-bottom: inherit;
  }
}
/* .mv_photo_area {
  position: relative;
  width: 100%;
  height: 400px;
  overflow: hidden;
} */

#main-img-current,
#main-img-next {
  position: absolute;
  top: 0;
  left: 0;
  height: 102%;
  width: 100%;
  object-fit: contain;
}

#main-img-next {
  width: 0;
  opacity: 1;
  z-index: 2;
}

@media screen and (max-width: 500px) {
  #main-img-current,
  #main-img-next {
  width: 87%;
}
}

/*----------------------------------------
	フォーム　テーブル
----------------------------------------*/

.tb_style{
	width: 100%;
}
table.tb_style{
	word-break: break-all;
}
.tb_style th,
.tb_style td{
	line-height: 1.6;
	text-align: left;
	font-weight: normal;
	padding:20px 10px 20px 15px;
	overflow-wrap : break-word;
}
.tb_style th{
	box-sizing: border-box;
	width:30%;
	font-weight: bold;
}
.tb_style td{
	padding-left:15px;
}
.tb_style .tr_add th{
	vertical-align: top;
	padding-top: 4.5%;
}

@media print, screen and (min-width: 900px){

	.tb_style th{
		width: 230px;
	}

}/*END*/

@media screen and (max-width: 899px){

	.tb_style th{
		width: 28%;
	}

}/*END*/

@media screen and (max-width: 599px){

	table.tb_style{
		border-spacing: 0 0;
	}
	.tb_style th{
		width: 100%;
		padding-left: 0;
	}
	.tb_style th, .tb_style td{
		border: none;
		display: block;
		font-size:1.4rem;
	}
	.tb_style th{
		font-weight: bold;
		padding:8px 5px 0 0;
	}
	.tb_style td{
		padding: 8px 0 15px 0;
	}

}/*END*/

/*必須・任意*/
.hissu,
.nini{
	display: inline-block;
	padding: 3px 5px;
	margin-left: 6px;
	vertical-align: middle;
	border-radius: 2px;
	font-size: 1.4rem !important;
	box-sizing: border-box;
}
.hissu{
	background: #eea657;
	color: #fff;
}
.hissu.red{
  background-color: #ca3f48;
}
.nini{
	color: #7d7d7d;
	background: #fff;
	border: #7d7d7d 1px solid;
}
.add span{
	display: inline-block;
	padding-right: 10px;
}
.privacy .wpcf7-acceptance{ display: inline-block !important; }
.privacy_error{
	text-align: center;
	padding: 2px 10px;
}
.privacy.check label{
	padding-top:0;
	padding-bottom: 0;
}
.privacy_check .vertical-item{
	display: inline-block !important;
}
.privacy_check{
	background: #ece8dc;
	padding: 25px 10px;
}

.privacy_area{
  background-color: #fff;
  padding-left: 2%;
  padding-right: 2%;
  padding-top: 2%;
}


/*----------------------------------------
	フォーム
----------------------------------------*/

select,
textarea,
input[type="text"],
input[type="tel"],
input[type="email"]{
	background:#fff;
	border: #b3b3b3 1px solid;
	padding: 15px 13px;
	box-sizing: border-box;
	-webkit-appearance: none;
	transition: all 0.4s;
	font-size: 1.6rem;
	color: #333;
	font-family:'游ゴシック体', 'Yu Gothic', YuGothic,'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ ゴシック',sans-serif;
  margin-bottom: 0.5em;
}
input:focus{
	outline: #5daac3 0.1px solid;
}
textarea:focus{
	outline: #5daac3 0.1px solid;
}
select:focus{
	outline: #5daac3 0.1px solid;
}
#address-error{color: #dc3232 !important;}
input[type="button"]{
	-webkit-appearance: none;
}
button,
input[type="submit"]{
	-webkit-appearance: none;
	transition: all 0.4s;
}
select{
	background-size: auto 100%;
	padding-right: 60px;
}
.tb_style textarea{
	width:100%;
}

.form1{ width: 100px; }
.form2{ width: 120px; }
.form3{ width: 200px; }
.form4{ width: 400px; }

input.job_sonota{
	padding: 8px 8px !important;
}

@media screen and (max-width: 768px){

	select,
	textarea,
	input[type="text"]{
		font-size: 1.6rem;
	}
	.form3,
	.form4{
		width: 100%;
	}

}

.form_list {
  margin-bottom: 20px;
  font-feature-settings: "palt";
  line-height: 1.5;
}

/* 質問内容（dd） */
.form_list dd {
  flex: 1;
  padding: 0.5em 0 0.75em 1.5em;
  box-sizing: border-box;
}

/* ラジオボタンの選択肢は縦並び */
.form_list dd label input[type="radio"] {
  margin-right: 0.5em;
}
.form_list dd label {
  display: block;
  margin-bottom: 0.5em;
  cursor: pointer;
}

/* 入力欄の基本横幅 */
.form450,
.form300,
.form280,
.form200,
.form_all,
.form02 {
  max-width: 100%;
}
.form450{
	width: 450px;
}
.form300{
  width: 300px;
}
.form280{
	width: 280px;
}
.form200{
	width: 200px;
}
.form_all{
	width: 96%;
}
.form_mt{
	margin-top: 16px;
}

/* スマホ対応（下に並ぶ） */
@media (max-width: 768px) {
  .form_list {
    flex-direction: column;
  }
  .form_list dt {
    width: 100%;
    padding-bottom: 0;
  }
  .form_list dd {
    padding-left: 0;
  }
  .form_all{
	width: 100%;
}
}

/* ラジオボタン選択肢を縦並びに */
.form_list dd label input[type="radio"] {
  margin-right: 0.5em;
}

.form_list dd .wpcf7-list-item {
  display: inline-block;
  margin-bottom: 0.5em;
}

.wpcf7-form-control input[type="radio"] {
  opacity: 0;
  appearance: none;
  position: absolute;
}

.wpcf7-form-control input[type="radio"] + .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  top: 1px;
  left: 0;
  width: 18px;
  height: 18px;
  border: 1px solid #b3b3b3;
  border-radius: 50%;
  background: #fff;
}

.wpcf7-form-control input[type="radio"]:checked + .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  top: 6px;
  left: 5px;
  width: 10px;
  height: 10px;
  background: #5daac3;
  border-radius: 50%;
}

.form_list dt {
  padding: 0.7em 0 0.7em 1em;
  position: relative;
  display: flex;
}

/* 必須・任意 */
/* .form_list dt .hissu,
.form_list dt .nini {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  white-space: nowrap;
} */

.form_list dt .hissu, .form_list dt .nini {
    position: static;
    white-space: nowrap;
    margin-left: 0.5em;
}

@media (max-width: 768px) {
  .form_list dt {
    width: 95%;
    position: static;
    align-items: center;
  }

  .form_list dt .hissu,
  .form_list dt .nini {
    position: static;
    transform: none;
    margin-left: 1em;
  }
}

/* 横並びベースの設定 */
.add_box {
  display: flex;
  align-items: center;
  gap: 0.5em;
}

/* ラベルテキストの固定幅・縦中央寄せ */
.add_box p {
  width: 6em;
  margin: 0;
  line-height: 1.4;
}

/* 入力欄に合わせた伸縮可能な幅 */
.add_box label {
  flex: 1;
}

/* メディアクエリ：スマホでは縦並び */
@media (max-width: 768px) {
  .add_box {
    flex-direction: column;
    align-items: flex-start;
  }

  .add_box p {
    width: auto;
    margin-bottom: 0.3em;
  }

  .add_box label {
    width: 100%;
  }
}

.form_list dd:has(.wpcf7-not-valid-tip) {
    background-color: #fed7d7;
	padding: 16px 0 16px 16px;
}
@media (max-width: 768px) {
	.form_list dd:has(.wpcf7-not-valid-tip) {
	padding: 16px 16px 16px 16px;
}
}

.wpcf7-not-valid-tip {
    color: #dc3232;
    font-size: 1em;
    font-weight: normal;
    display: block;
}

/* 各ラベル内のエラー表示を非表示に（ラベル下に出てしまう問題） */
.wpcf7-list-item .wpcf7-not-valid-tip {
  display: none !important;
}

/* ラジオグループ全体の下にだけ表示されるエラーをスタイリング */
.inquiry_subject_wrap > .wpcf7-not-valid-tip {
  display: block;
  color: red;
  font-size: 14px;
  margin-top: 4px;
}

.btn_send {
  background: url('images/contact/contact_btn_send.png') no-repeat center center;
  background-size: contain;
  border: none;
  width: 261px;
  height: 51px;
  text-indent: -9999px;
  cursor: pointer;
  display: inline-block;
}
.wpcf7-spinner {
  display: none !important;
}

.wpcf7-list-item-label {
	position: relative;
	padding-left: 28px; /* チェックボックスの余白分 */
}
.wpcf7-form-control input[type="checkbox"]{
	opacity: 0;
	appearance: none;
	position: absolute;
}
.wpcf7-form-control input[type="checkbox"] + .wpcf7-list-item-label::before{
	content: "";
	position: absolute;
	top: 3px;
	left: 0;
	background: #fff;
	border: 1px solid #bebbb0;
}
@media (max-width: 768px) {
	.wpcf7-form-control input[type="checkbox"] + .wpcf7-list-item-label::before{
	top:1px;
}
}
.wpcf7-form-control input[type="checkbox"] + .wpcf7-list-item-label::before{
	width: 18px;
	height: 18px;
	border-radius: 4px;
}
.wpcf7-form-control input[type="checkbox"]:checked + .wpcf7-list-item-label::after{
	content: "";
	display: block;
	position: absolute;
}
.wpcf7-form-control input[type="checkbox"]:checked + .wpcf7-list-item-label::before{
	background-color: #fff;
}
.wpcf7-form-control input[type="checkbox"]:checked + .wpcf7-list-item-label::after{
	left: 6px;
	top: 6px;
	width: 4px;
	height: 9px;
	transform: rotate(40deg);
	border-bottom: 3px solid #5daac3;
	border-right: 3px solid #5daac3;
}
.wpcf7-acceptance .wpcf7-not-valid-tip {
	display: block;
	margin-top: 5px;
}
/*----------------------------------------
	radio checkbox
----------------------------------------*/

.radio input[type="radio"],
.check input[type="checkbox"]{
	display: none;
}
.radio label,
.check label{
	display: inline-block;
	position: relative;
	cursor: pointer;
	margin-left: 10px;
	padding: 5px 0 5px 30px;
	line-height: 1.2;
}
.radio label:before,
.check label:before{
	position: absolute;
	content: "";
	top: 40%;
	left: -10px;
	width: 24px;
	height: 24px;
	margin-top: -10px;
	background: none;
	border:1px solid #898989;
	border-radius: 50%;
	box-sizing: border-box;
}
.check label:before{
	border-radius: 0;
}
.privacy_check .check label::before{
	border: 1px solid #898989;
}
.radio label:before,
.check label:before{
	display: none\9;
}
.radio label:not(:target):before,
.check label:not(:target):before{
	display: inline-block\9;
}
.radio input[type="radio"]:checked + label:after{
	position: absolute;
	content: "";
	top: 40%;
	left: -10px;
	width: 28px;
	height: 28px;
	margin-top: -10px;
	border-radius: 50%;
	background: #e7e7e7;
	border-color: #e7e7e7;
}
.check input[type="checkbox"]:checked + label::after{
	content: "";
	position: absolute;
	top: 50%;
	box-sizing: border-box;
	display: block;
}
.check input[type="checkbox"]:checked + label::after{
	left: -7px;
	width: 18px;
	height: 12px;
	margin-top: -9px;
	border-left: 3px solid #333333;
	border-bottom: 3px solid #333333;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

@media screen and (max-width:599px){

	.radio label, .check label{
		padding: 5px 0 5px 25px;
	}

}

/*reCAPTCHAのロゴを非表示*/
.grecaptcha-badge {
	visibility: hidden; 
}