:root {
  --fs-base: min(16px, calc(100vw * 16 / 1366));
}

html{
  scroll-behavior: smooth;
}
body {
  font-family: "Noto Sans JP", sans-serif;
  color: #1e3246;
  letter-spacing: 0.04em;
}
button,
input,
select,
textarea {
  font-family: "Noto Sans JP", sans-serif;
}
button{cursor: pointer;}
address{
  font-style: normal;
}
button,
input,
select,
textarea {
  -webkit-appearance: none;
  appearance: none;
  font: inherit;
  color: #1e3246;
}
input[type="date"],
input[type="month"] {
  -webkit-appearance: none;
  appearance: none;
}
/* 最初の option が選ばれているときだけ */
select option:first-child {
  color: #C6C0BD;
}
/* 通常色（選ばれたらこちらが効く） */
input[type="date"] {
  color: #1e3246;
}

/* 未入力状態（初期値）はグレー表示 */
input[type="date"]:invalid {
  color: #c6c0bd;
}
/* Safari / iOS 対策（選択中に色が反映されるように） */
select:has(option:first-child:checked) {
  color: #C6C0BD;
}
.f_num {
  font-family: "Scheherazade New", serif;
  letter-spacing: 0;
}
.f_num.time {
  letter-spacing: -0.03rem;
}
.f_en {
  font-family: "Gupter", serif;
  letter-spacing: 0.06em;
}

.cf {
  zoom: 1; /*for IE 5.5-7*/
}
.cf:after {
  /*for modern browser*/
  content: ".";
  display: block;
  height: 0px;
  clear: both;
  visibility: hidden;
}
.tac{
  text-align: center;
}
a {
  transition: opacity 0.3s, text-decoration-color 0.3s;
}
a:hover {
  text-decoration-color: rgba(255, 255, 255, 0.0)!important;
}
h1,
h2,
h3,
h4 {
  font-weight: 500;
}
input::placeholder,
textarea::placeholder{
  color: #c6c0bd;
}
select:invalid  {
  color: #c6c0bd;
}
/*iosスタイルリセット*/
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

button,
input[type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background: transparent;
}
input[type="radio"] {
  -webkit-appearance: none;
}
select:focus{outline: none;}
@media screen and (min-width: 768px) {
  .pc {
    display: block;
  }
  .sp {
    display: none !important;
  }
}
img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
.flex {
  display: flex;
}
.jsb {
  justify-content: space-between;
}
.cwh {
  color: #fff;
}
.wrap {
  padding: 0 5.6%;
  max-width: 1500px;
  margin: 0 auto;
}

.wrap.v02 {
  padding: 0 12.5%;
  max-width: 1500px;
  margin: 0 auto;
}

.wrap.v03 {
  padding: 0 5% 0 0;
  max-width: 1366px;
  margin: 0 auto;
}
.wrap.v04{
  padding: 0 0 0 5.6%;
  max-width: 100%;
}
@media (max-width: 1500px) {
  .items .wrap {
    padding: 0 5.6% 0 0;
    max-width: 1500px;
    margin: 0 auto;
    transition: padding 0.3s;
  }
}
/* ▼ 1500px以上で各バリエーションのpaddingを固定値に置換 ▼ */
@media (min-width: 1500px) {
  .wrap {
    padding-left: 84px;
    padding-right: 84px;
  }
  .items .wrap {
    padding-left: 84px;
    padding-right: 84px;
    transition: padding 0.3s;
  }
  .wrap.v02 {
    width: 1500px;
    padding-left: 220px;  /* 中身の想定幅1060px → (1500 - 1060)/2 */
    padding-right: 220px;
  }

  .wrap.v03 {
    padding-right: 75px;  /* 1500px × 5% */
    padding-left: 0;
  }
  .wrap.v04 {
    padding-left: calc((100vw - 1500px)/2 + 84px);
  }
  .rec .smf-item__label__text::before {
    right: -50px;
  }
}
header .btn01 {
  height: 56px;
}

.btn01 {
  width: min(280px, calc(100vw * 280 / 1366));
  margin:  min(40px, calc(100vw * 40 / 1366)) auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 500;
  height: min(70px, calc(100vw * 70 / 1366));
  background: #1c3683;
  color: #fff;
  border-radius: 40px;
  font-size:  min(14px, calc(100vw * 14 / 1366));
  transition: background-color 0.3s;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  letter-spacing: 0.1em;
}
.btn01::after {
  width: 12px;
  height: 12px;
  content: "";
  background: url(../img/arrow_wh.png) no-repeat bottom;
  position: absolute;
  background-size: contain;
  right: 9%;
}
.btn01.v01 {
  background: linear-gradient(245.2deg, #645299 9.99%, #0e2b4e 31.54%);
  color: #fff;
  overflow: hidden;
}

.btn01.v01::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #645299;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  z-index: 0;
}

.btn01.v01:hover::before {
  opacity: 1;
}

.btn01.v01 span {
  position: relative;
  z-index: 1;
}

.btn01.v01 > * {
  position: relative;
  z-index: 1;
}
.btn01.v02 {
  background: linear-gradient(79.48deg, #b6422a 45.3%, #f24a29 94.88%);
  overflow: hidden;
  color: #fff;
}
.btn01.v02::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #f24a29;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  z-index: 0;
}

.btn01.v02:hover::before {
  opacity: 1;
}

.btn01.v02 span {
  position: relative;
  z-index: 1;
}

.btn01.v02 > * {
  position: relative;
  z-index: 1;
}
.btn01.v03 {
  background: #fff7f2;
  border: 1px solid #b4503c;
  color: #b4503c;
  margin: 0 0 0 2%;
  transition: background 0.3s;
}
.btn01.v03:hover {
  background: #fadcd6;
}
.btn01.v03::after{content: none;}
.btn01.v04.small {
  margin: 22% 0 0 0;
  width:  min(163px, calc(100vw * 163 / 1366));
  height:  min(49px, calc(100vw * 49 / 1366));
  font-size:  min(12px, calc(100vw * 12 / 1366));
}
.btn01.v04 {
  color: #1e3246;
  background: #fff;
  border: 1px solid #d1c6c1;
}
.btn01.v04::after {
  width:  min(12px, calc(100vw * 12 / 1366));
  height:  min(12px, calc(100vw * 12 / 1366));
  content: "";
  background: url(../img/arrow_bl.png) no-repeat bottom;
  position: absolute;
  background-size: contain;
  right: 9%;
}
.btn01.v04:hover {
  background: #f8f5f4;
}
.news.single .wp-block-button{
  margin: 0 auto;
}
.news.single a.wp-block-button__link{
  min-width: min(280px, calc(100vw * 280 / 1366));
  margin:  min(40px, calc(100vw * 40 / 1366)) auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 500;
  height: min(70px, calc(100vw * 70 / 1366));
  background: #1c3683;
  color: #fff;
  border-radius: 40px;
  font-size:  min(16px, calc(100vw * 16 / 1366));
  transition: background-color 0.3s;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  letter-spacing: 0.1em;
  padding: 0 min(56px, calc(100vw * 56 / 1366)) 0 min(53px, calc(100vw * 53 / 1366));
}
.news.single a.wp-block-button__link span {
  position: relative;
  z-index: 1;
}
.news.single a.wp-block-button__link::after {
  width: 12px;
  height: 12px;
  content: "";
  background: url(../img/arrow_wh.png) no-repeat bottom;
  position: absolute;
  background-size: contain;
  right: min(24px, calc(100vw * 24 / 1366));
}
.news.single a.wp-block-button__link {
  background: linear-gradient(245.2deg, #645299 9.99%, #0e2b4e 31.54%);
  color: #fff;
  overflow: hidden;
}

.news.single a.wp-block-button__link::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #645299;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  z-index: 0;
}

.news.single a.wp-block-button__link:hover::before {
  opacity: 1;
}

h2.hl {
  font-size: min(36px, calc(100vw * 36 / 1366));
  color: #b54b35;
  text-align: center;
  margin: 0 0 1.6vw;
  line-height: 1.5;
  font-weight: 500;
  position: relative;
  letter-spacing: 0.04em;
}
h2.hl span {
  font-size: min(13px, calc(100vw * 13 / 1366));
  color: #2d4664;
  display: block;
  /*margin: 1% 0 0 0;*/
  line-height: 2;
  font-family: "Gupter", serif;
  text-transform: uppercase;
  font-weight: 100;
  letter-spacing: 0.06em;
}
h2.hl.wh {
  color: #fff;
}
header .btn01 {
  max-width: 130px;
  width: 9.5vw;
  height: min(56px, 4vw);
  font-size: min(0.87vw, 12px);
  margin: 0;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
header .btn01::after {
  content: none;
}
header {
  position: relative;
  height: min(160px, calc(100vw * 160 / 1366));
  padding: min(24px, calc(100vw * 24 / 1366)) 0 0 0;
  top: 0;
  width: 100%;
  transition: top 0.3s;
  z-index: 1000;
  background: #fff;
  transform: translateY(0); 
}

header.hide {
  transform: translateY(-100%);
}
header .h_logo {
  position: absolute;
  width: min(280px, calc(100vw * 280 / 1366));
  left: 50%;
  transform: translateX(-50%);
  top: min(5vw, 12.5px);
}
/*
main {
  margin: min(10.9vw, 150px) 0 0 0;
}
  */
.menu-button {
  display: inline-block;
  cursor: pointer;
  position: relative;
  width: min(22px, calc(100vw * 22 / 1366));
  height: min(16px, calc(100vw * 16 / 1366));
  margin: 0 0 min(6px, calc(100vw * 6 / 1366)) 0;
}
.active .menu-button {
  margin: min(10px, calc(100vw * 10 / 1366)) 0 min(6px, calc(100vw * 6 / 1366)) 0;
}

.wave-line {
  width: min(22px, calc(100vw * 22 / 1366));
  height: min(10px, calc(100vw * 10 / 1366));
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.wave-line:nth-child(2) {
  top: min(6px, calc(100vw * 6 / 1366));
}
.wave-line:last-child {
  top: min(12px, calc(100vw * 12 / 1366));
}
header .tabs {
  display: flex;
  border-bottom: 2px solid #ece3df;
  height: min(80px, calc(100vw * 80 / 1366));
}

header .tab {
  padding: min(6px, calc(100vw * 6 / 1366)) min(21px, calc(100vw * 21 / 1366)) 0 min(22px, calc(100vw * 22 / 1366)) ;
  width: min(90px, calc(100vw * 90 / 1366));
  height: min(80px, calc(100vw * 80 / 1366));
  cursor: pointer;
  border: none;
  background: #fff;
  font-weight: normal;
  color: #1E3246;
  transition: border-color 0.3s, color 0.3s;
  border: 2px solid #ece3df;
  border-left: none;
  position: relative;
  border-radius: 0 16px 0 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: min(0.65vw, 9px);
  font-size: min(1vw, 14px);
}
header .tab.v02 {
  padding: min(16px, calc(100vw * 16 / 1366)) min(21px, calc(100vw * 21 / 1366)) 0 min(22px, calc(100vw * 22 / 1366)) ;
  width: min(178px, calc(100vw * 178 / 1366));
  margin: 0 0 0 min(-9px, calc(100vw * -9 / 1366));
  border-radius: 16px 16px 0 0;
  transition: background 0.3s;
}
header .tab.v02:hover {
  background: #f8f5f4;
}
header .tab::before {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: #fff;
  bottom: 0;
  position: absolute;
  left: 0;
}
header .tab.v02:hover::before {
  background: #f8f5f4;
}
header .tab img {
  width: min(1.31vw, 18px);
}
header .tab span::before {
  width: 18px;
  height: 26px;
  content: "";
  background: url(../img/t01.png) no-repeat bottom;
  position: absolute;
  background-size: contain;
  right: -18px;
  bottom: 0;
}
header .tab.v02:hover span::before {
  background: url(../img/t02.png) no-repeat bottom;
  background-size: contain;
}
header .tab.v02.active::before {
  background: #f8f5f4;
}
header .tab.active span::before {
  z-index: 2;
  bottom: 0;
}

header .tab.active.v02 span::before {
  width: 18px;
  height: 26px;
  content: "";
  background: url(../img/t02.png) no-repeat bottom;
  position: absolute;
  background-size: contain;
  right: -18px;
  bottom: 0;
}
header .tab.active.v02 span::after {
  width: 18px;
  height: 26px;
  content: "";
  background: url(../img/t02.png) no-repeat bottom;
  position: absolute;
  background-size: contain;
  left: -18px;
  bottom: 0;
  transform: scaleX(-1);
}
header .tab.active {
  padding: 0 min(21px, calc(100vw * 21 / 1366)) 0 min(22px, calc(100vw * 22 / 1366)) ;
  border-bottom: none;
  margin: min(-12px, calc(100vw * -12 / 1366)) 0 0 0;
  z-index: 2;
  position: relative;
  height: min(92px, calc(100vw * 92 / 1366));
}
header .tab.active.v02 {
  padding: min(21px, calc(100vw * 21 / 1366)) min(21px, calc(100vw * 21 / 1366)) min(12px, calc(100vw * 12 / 1366)) min(22px, calc(100vw * 22 / 1366)) ;
  border-bottom: none;
  margin: min(-10px, calc(100vw * -10 / 1366)) 0 0 min(-9px, calc(100vw * -9 / 1366));
  background: #f8f5f4;
  border: 2px solid #ece3df;
  border-bottom: none;
  border-radius: 16px 16px 0 0;
}
header .tab-content {
  display: none;
  padding: min(1.39vw, 19px) 0 min(1.24vw, 17px) 0;
}
header .tab-content#tab2 {
  position: relative;
  z-index: 5;
  background: #f8f5f4;
}
header .tab-content.active {
  display: block;
}
@media (min-width: 1366px) {
  header .tab.v02 {
    margin: 0 0 0 -9px;
  }
  header .tab.active {
    margin: -12px 0 0 0;
  }
  header .tab.active.v02 {
    margin: -12px 0 0 -9px;
  }  
}
.gnav {
  margin: 0 auto;
  font-size: min(1.02vw, 14px);
  width: min(820px, calc(100vw * 820 / 1366));
}
.gnav a:hover {
  opacity: 0.7;
}
.gnav .line {
  content: "";
  width: 1px;
  height: min(18px, calc(100vw * 18 / 1366));
  background: #d1c6c1;
}
/*検索窓*/
header .box_s {
  position: absolute;
  left: min(274px, calc(100vw * 274 / 1366));
  top: min(27px, calc(100vw * 27 / 1366));
}
#search-wrap {
  position: relative;
}

/* 検索ボタン */
#search-wrap button {
  position: absolute;
  width: min(50px, 3.66vw);
  height: min(50px, 3.66vw);
  right: min(0px, 0vw); 
  top: min(0px, 0vw); 
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}

#search-wrap button img {
  width: min(18px, 1.32vw);
  height: min(18px, 1.32vw);
}

/* input 初期状態 */
#search-text {
  -webkit-appearance: none;
  width: min(50px, 3.66vw); /* 50px ÷ 1366px ≒ 3.66vw */
  height: min(50px, 3.66vw);
  padding: min(20px, 1.46vw); /* 20px ÷ 1366px ≒ 1.46vw */
  border-radius: min(25px, 1.83vw); /* 25px ÷ 1366px ≒ 1.83vw */
  background-size: min(18px, 1.32vw) min(18px, 1.32vw);
  transition: width 0.4s ease;
  outline: none;
  cursor: pointer;
  border: 2px solid #ece3df;
}

/* 「search-container.active」になった時に開く */
.search-container.active #search-text {
  width: min(220px, calc(100vw * 220 / 1366));
  padding: min(20px, 1.46vw) min(40px, calc(100vw * 40 / 1366)) min(20px, 1.46vw)  min(25px, 1.83vw);
  background-color: #f8f5f4;
}
.search-container input {
  transition: color 0.3s;
  color: #333; /* 通常の文字色 */
  border: 2px solid #ece3df; /* お使いのborderに合わせて */
}

.search-container:not(.active) input {
  color: transparent; /* 文字だけ非表示 */
}
header .box_t {
  text-align: center;
}
header .box_t div {
  font-size: min(2.19vw, 30px);
  font-weight: normal;
  color: #000;
}
header .box_t p {
  font-size: min(0.73vw, 10px);
  color: #8d8d8f;
  line-height: 1.1;
  white-space: nowrap;
}
header .box_t span {
  font-size: min(0.95vw, 13px);
}
header .box_r {
  position: absolute;
  right: min(17px, 1.25vw);
  top: min(25px, 1.84vw);
  display: flex;
  justify-content: space-between;
  max-width: 451px;
  width: min(451px, calc(100vw * 451 / 1366));
}
header .nav_cate ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
}
header .nav_cate ul li {
  background: #fff;
  width: 16%;
  padding: min(10px, calc(100vw * 10 / 1366));
  margin: 0 0 0.9% 0;
  border-radius: 8px;
}
header .nav_cate ul li a {
  display: flex;
  align-items: center;
  gap: 6%;
  font-size: min(0.87vw, 12px);
  line-height: 1.5;
  letter-spacing: 0.04rem;
  height: 100%;
  word-break: keep-all;
  overflow-wrap: break-word;
  line-break: strict;
}
header .nav_cate ul li span {
  width: min(50px, calc(100vw * 50 / 1366));
  aspect-ratio: 1 / 1;
  padding: 4%;
  display: block;
  background: #f8f5f4;
  border-radius: 60px;
  flex: 0 0 auto;
}
#sec01 {
  position: relative;
  z-index: 1;
  height: 45vw;
  overflow: clip;
}
#sec01 h2 {
  position: absolute;
  font-size: min(48px, calc(100vw * 48 / 1366));
  z-index: 1;
  text-align: center;
  width: 100%;
  top: 12vw;
  line-height: 1.5;
  font-weight: 500;
}
#sec01 h2 span.col {
  color: #b54b35;
}
#sec01 h2 span.thin{
  font-weight: 100;
}
#sec01 h2 p {
  margin: 2vw 0 0 0;
  font-size: min(16px, calc(100vw * 16 / 1366));
}
#sec01 .wrap.v02 {
}
#sec01 .wrap.v02 .icon {
  width: 100%;
  position: relative;
}
#sec01 .wrap.v02 .icon::before {
  width: 20px;
  height: 20px;
  content: "";
  background: url(../img/s_parts.png) no-repeat bottom;
  position: absolute;
  background-size: contain;
  left: -19px;
  bottom: 0;
}
#sec01 .wrap.v02 .icon::after {
  width: 20px;
  height: 20px;
  content: "";
  background: url(../img/s_parts.png) no-repeat bottom;
  position: absolute;
  background-size: contain;
  right: -19px;
  bottom: 0;
  transform: scale(-1, 1);
}
.intro {
  position: relative;
  height: 100%;
  width: 100vw;
  overflow: hidden;
}

.bg-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: filter 1s ease;
}

.bg-image.blurred {
  filter: blur(8px);
}

.indicator {
  position: absolute;
  top: 0;
  left: 0;
  height: 4px;
  width: 0%;
  background: #b4503c;
  z-index: 3;
}


/* intro フェードイン */
#sec01 .intro {
  opacity: 0;
  transition: opacity 1s ease;
}
#sec01 .intro.show {
  opacity: 1;
}

/* h2 最初は透明＋ぼけてる */
#sec01 h2 {
  opacity: 0;
  filter: blur(8px);
  transition: opacity 0.5s ease, filter 0.5s ease;
}
#sec01 h2.show {
  opacity: 1;
  filter: blur(0);
}

/* blur */
#sec01 h2.blur,
#sec01 .bg-image.blur {
  filter: blur(8px);
  transition: filter 3s ease;
}
/* サムネイル */
.thumbs-container {
  position: absolute;
  top: 34vw;
  left: 50%;
  transform: translateX(-50%);
  width: 33%;

  z-index: 4;
}
.thumbs-container .inner {
  position: relative;
}
.thumbs {
  display: flex;
  justify-content: center;
  gap: 10px;
}

.thumb {
  width: 18%;
  cursor: pointer;
  transition: opacity 0.3s;
  border: 4px solid rgba(255, 255, 255, 0.3);
  border-radius: 6.44px;
}

.thumb.active {
  opacity: 1;
  border: 4px solid #fff;
}
.thumb:hover {
  opacity: 0.7;
}
.thumb img {
  width: 100%;
}

/* メインスライダー */
.main-slider {
  opacity: 0;
  visibility: hidden;
  transition: opacity 1s ease, visibility 1s ease;
  box-sizing: border-box;
  margin: -42vw 0 0 0;
}

.main-slider.active {
  opacity: 1;
  visibility: visible;
  z-index: 5;
  position: relative;
}

.slider img {
  width: 100%;
  border-radius: 8px;
}

/* slick中央表示補正 */
.main-slider .slick-slide {
  margin: 0 20px;
}

.main-slider .slick-slide a {
  position: relative;
}

.main-slider .slick-slide a::after {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background-color: rgba(0,0,0,0); /* 初期は透明 */
  transition: background-color 0.3s;
  pointer-events: none; /* クリックなど干渉しない */
}

.main-slider .slick-slide a:hover::after {
  background-color: rgba(255,255,255,0.1); /* ホバー時に薄暗く */
}

.thumbs-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: min(32px, calc(100vw * 32 / 1366));
  height: min(32px, calc(100vw * 32 / 1366));
  background: #fff;
  border: 1px solid #b4503c;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-radius: min(32px, calc(100vw * 32 / 1366));
  cursor: pointer;
  user-select: none;
  transition: background 0.3s;
}
.thumbs-button.prev {
  left: -3vw;
}
.thumbs-button.next {
  right: -3vw;
}
.thumbs-button img {
  width: 30%;
}
.thumbs-button:hover {
  background: rgba(255, 255, 255, 1);
}
.search-form {
  display: flex;
  gap: 1%;
  align-items: center;
  font-family: sans-serif;
  background: #fff;
  padding: 3% 5%;
  border-radius: 20px;
  margin: -5.5% auto 0;
  position: relative;
  z-index: 2;
}
.search-form.border{
  border: 1px solid #d1c6c1;
  margin: min(80px, calc(100vw * 80 / 1366)) auto min(120px, calc(100vw * 120 / 1366));
}
.search-form.border::before, .search-form.border::after{
  content: none;
}
.search-form::before {
  width: 20px;
  height: 20px;
  content: "";
  background: url(../img/s_parts.png) no-repeat bottom;
  position: absolute;
  background-size: contain;
  left: -19px;
  top: calc(50% - 19%);
}
.search-form::after {
  width: 20px;
  height: 20px;
  content: "";
  background: url(../img/s_parts.png) no-repeat bottom;
  position: absolute;
  background-size: contain;
  right: -19px;
  top: calc(50% - 19%);
  transform: scale(-1, 1);
}
.search-form img {
  width: min(20px, calc(100vw * 20 / 1366));
}
/* 共通ボックス風装飾 */
.search-category,
.search-keyword {
  background-color: #F5F2F1;
  border-radius: 8px;
  border: 1px solid transparent;
  padding: 2% 1% 2% 2%;
  display: flex;
  align-items: center;
  height: min(60px, calc(100vw * 60 / 1366));
  box-shadow: inset 0px 2px 0px rgba(212, 197, 192, 0.2);
}

/* カテゴリ（セレクト）内 */
.search-category {
  position: relative;
  width: 26%;
  gap: 6px;
}

.search-category .icon {
  color: #b54b35;
  font-size: 18px;
}

.search-category select {
  appearance: none;
  border: none;
  background: transparent;
  font-size: 14px;
  cursor: pointer;
  flex: 1;
  padding: 0 0 0 5%;
}

.search-category .dropdown-arrow {
  position: absolute;
  right: 7%;
  font-size: 10px;
  color: #2d4664;
  pointer-events: none;
}

/* キーワード入力 */
.search-keyword {
  flex: 1;
  font-size: 14px;
  border: none;
  outline: none;
  color: #333;
}

/* 検索ボタン */
.search-button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background-color: transparent;
  border: 2px solid #e7dfdc;
  border-radius: 9999px;
  padding: 8px 20px;
  font-size: min(14px, calc(100vw * 14 / 1366));
  cursor: pointer;
  height: min(60px, calc(100vw * 60 / 1366));
  width: 20%;
  transition: background-color 0.3s;
}
.search-button:hover {
  background-color: #f8f5f4;
}
.search-button .search-icon {
  position: absolute;
  left: 13%;
}

.search-button .search-text {
  padding: 0 0 0 10%;
}
/*新着商品スライダー*/
.newitem-slider-section {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 130px 0 0 0;
  margin: -70px 0 0 0;
}

/* dots + arrows container */
.newitem-slider-nav {
  position: absolute;
  top: 0;
  right: 5.8%;
  z-index: 10;
  display: flex;
  align-items: center;
}
.newitem-slider .slick-list {
  overflow: visible;
}

/* slick dots */
.newitem-slider .slick-slide img {
  border: 2px solid #ece3df;
  border-radius: 32px;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit:contain;
  background-color: #fff;
}

.newitem-slider .newitem-card.slick-slide {
  position: relative;
  width: min(260px, calc(100vw * 260 / 1366));
  margin: 0 40px;
  background: none;
}
/* スライド共通 */
.newitem-slider .slick-slide {
  transition: transform 0.3s ease;
  opacity: 1;
}

/* 中央スライドだけ拡大＆強調 */
.newitem-slider img{
  transition: all 0.3s;
}
.newitem-slider:not(.kanren .newitem-slider) .slick-center img{
  transform: scale(1.23);
}
#sec02 .newitem-slider:not(.kanren .newitem-slider) .slick-center .date{
  margin: 16% 0 0 0;
}
.newitem-slider:not(.kanren .newitem-slider) 
  .slick-center.newitem-card.slick-slide::before{
  top: min(-34px, calc(100vw * -34 / 1366));
  right: min(-34px, calc(100vw * -34 / 1366));
}
.newitem-slider .slick-slide {
  transition: aii 0.3s
}
.newitem-card.slick-slide.new-icon::before {
  position: absolute;
  font-family: "Gupter", serif;
  content: "NEW";
  color: #fff;
  background: #b4503c;
  line-height: min(60px, calc(100vw * 60 / 1366));
  width: min(60px, calc(100vw * 60 / 1366));
  height: min(60px, calc(100vw * 60 / 1366));
  border-radius: 60px;
  top: min(-10px, calc(100vw * -10 / 1366));
  right: min(-10px, calc(100vw * -10 / 1366));
  font-size: min(14px, calc(100vw * 14 / 1366));
  z-index: 5;
  letter-spacing: 0.04rem;
}
.newitem-slider .slick-dots li.slick-active button {
  background: #b54b35;
}

.newitem-slider .slick-prev::before,
.newitem-slider .slick-next::before {
  content: "";
}

.newitem-slider .slick-prev {
  order: 0;
}

.newitem-slider .slick-next {
  order: 2;
}

/* wrap arrows + dots together */
.newitem-slider-nav .slick-arrow.slick-prev {
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 100%;
  width: 50%;
}
.newitem-slider-nav .slick-arrow.slick-next {
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 100%;
  width: 50%;
}
.newitem-slider-nav .slick-arrow.slick-prev::before,
.newitem-slider-nav .slick-arrow.slick-next::before {
  content: none;
}
.newitem-slider-nav .slick-arrow.slick-prev img,
.newitem-slider-nav .slick-arrow.slick-next img {
  width: 11px;
}

.newitem-slider-nav {
  display: flex;
}
.newitem-slider-nav .slick-dots {
  position: relative;
  width: auto;
  bottom: -3px;
}
.newitem-slider-nav .slick-dots li {
  margin: 0;
}
/* dotの各ボタン */
.slick-dots li button {
  border-radius: 50%;
}

/* active dot */
.slick-dots li.slick-active button {
  color: #b54b35;
}
.newitem-slider-nav .slick-dots li.slick-active button:before {
  opacity: 1;
  color: #b54b35;
}
.newitem-slider-nav .slick-dots li button {
}
.newitem-slider-nav .slick-dots li button:before {
  color: #ece3df;
  opacity: 1;
  font-size: 8px;
}
.newitem-slider-nav .slick-dots li.slick-active button:before {
  font-size: 14px;
}
.newitem-dots > ul {
  margin: 0 0 0 -120px;
}
.newitem-arrows {
  position: relative;
  width: 80px;
  height: 32px;
  border: 1px solid #b54b35;
  border-radius: 30px;
  right: 0;
  top: 4px;
  background: #fff;
}
/* arrow 共通スタイル */
.custom-arrow.slick-next,
.custom-arrow.slick-prev {
  top: 0;
}

/* hover時（任意） */

/* 真ん中の縦線 */
.newitem-arrows::before {
  content: "|";
  position: absolute;
  top: 47%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  color: #b54b35;
  font-size: var(--fs-base);
}

.newitem-card {
  background: #fff;
  box-sizing: border-box;
  text-align: center;
  border-radius: 12px;
  transition: all 0.3s ease;
}
#sec02 {
  padding: 3.5vw 0  min(100px, calc(100vw * 100 / 1366)) 0;
}
#sec02 .date {
  color: #b4503c;
  margin: 5% 0 0 0;
  font-size: min(12px, calc(100vw * 12 / 1366));
}
#sec02 .title {
  display: inline-block;
 text-decoration: underline;
 text-decoration-color: #1e3246;
 text-underline-offset: 2px;
  margin: 6% 0 3% 0;
  font-size: min(18px, calc(100vw * 18 / 1366));
  transition: all 0.3s;
}
#sec02 .newitem-card:hover .title {
  text-decoration-color: #fff;
}
#sec02 .newitem-card:hover img{
  opacity: 0.8;
}
#sec02 .maker {
  color: #8d8d8f;
  font-size: min(14px, calc(100vw * 14 / 1366));
}
#sec03 {
  background-color: #f8f5f4;
  padding: min(100px, calc(100vw * 100 / 1366)) 0;
  position: relative;
}
.bg_wave {
  height: 100%;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 16'><g transform='scale(1,-1) translate(0,-16)'><path d='M 0 16 Q 10 16 20 8 Q 40 -8 60 8 Q 70 16 80 16 L 80 16 L 0 16 Z' fill='%23ffffff'/></g></svg>"),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 16'><path d='M 0 16 Q 10 16 20 8 Q 40 -8 60 8 Q 70 16 80 16 L 80 16 L 0 16 Z' fill='%23ffffff'/></svg>");

  background-repeat: repeat-x, repeat-x;
  background-position: top, bottom;
  background-size: auto 16px, auto 16px;
}
.bg_wave02 {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 60'><path d='M 0 59 Q 37.5 59 75 30 Q 150 -28 225 30 Q 262.5 59 300 59' fill='none' stroke='%23ece3df' stroke-width='8'/></svg>");
  background-repeat: repeat-x;
  background-position: top;
  background-size: auto 16px;
  padding: min(64px, calc(100vw * 64 / 1366)) 0 0 0;
}
.bg_wave02.v01{
  margin: min(100px, calc(100vw * 100 / 1366)) 0 0 0;
}
.bg_wave02.v02{
  padding: min(80.5px, calc(100vw * 80.5 / 1366)) 0 0 0;
  margin: min(116px, calc(100vw * 116 / 1366)) 0 0 0;
}
.bg_wave_bottom {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 16'><path d='M 0 16 Q 10 16 20 8 Q 40 -8 60 8 Q 70 16 80 16 L 80 16 L 0 16 Z' fill='%23ffffff'/></svg>");
  background-repeat: repeat-x;
  background-position: bottom;
  background-size: auto 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#u_sec01{
  margin: 0 0  min(80px, calc(100vw * 80 / 1366));
}
.items #u_sec01{
  margin: 0 0  min(68px, calc(100vw * 68 / 1366));
}
.cate_child #u_sec01 {
  background: url(../img/u_bg02.jpg) top right no-repeat;
  background-size: cover;
}
.bg_wave_top {
  height: 100%;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 16'><g transform='scale(1,-1) translate(0,-16)'><path d='M 0 16 Q 10 16 20 8 Q 40 -8 60 8 Q 70 16 80 16 L 80 16 L 0 16 Z' fill='%23ffffff'/></g></svg>");

  background-repeat: repeat-x;
  background-position: top;
  background-size: auto 16px;
}
#sec03 ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#sec03 ul li {
  width: 16%;
  padding: 0 2% min(30px, calc(100vw * 30 / 1366));
  text-align: center;
  word-break: keep-all;
  overflow-wrap: break-word;
  line-break: strict;
  line-height: 1.5;
  font-size: min(14px, 1vw);
}
#sec03 ul li img {
  width: 55%;
  transition: all 0.3s;
}
#sec03 ul li a:hover img {/* 追加 */
  transform: scale(1.1);
}
#sec03 ul li span {
  background: #fff;
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 33vw;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 10%;
  box-shadow: 0 0 0 0 transparent;
  transition: box-shadow 0.3s;
}
#sec03 ul li a:hover span {
  box-shadow: 0 0 0 15px #fff;
}
#sec03 .btn01 {
  margin: min(38px, calc(100vw * 38 / 1366)) auto 0;}
.t01 {
  font-size: var(--fs-base);
  line-height: 1.8;
  letter-spacing: 0.04em;
}
.f_base{line-height: 1.9;}

.hl + .t01{text-align: center;}
.t01.sub {
  margin: 0 0 4vw 0;
}
#sec04 {
  padding: 5vw 0 0 0;
}
#sec04 ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#sec04 ul li {
  width: 23%;
  margin: 0 0 1% 0;
  border-radius: 28px;
  border: 2px solid #ece3df;
  position: relative;
  transition: background 0.3s;
}
#sec04 ul li:hover{
  background: #f8f5f4;
}
#sec04 ul li a {
  padding: 0 0 4vw 0;
  display: block;
}
#sec04 ul li .box01 img {
  border-radius: 28px 28px 0 0;
}
#sec04 ul li .text01 {
  padding: 13% 0 7%;
  text-align: center;
  color: #b4503c;
  font-weight: 600;
  font-size: min(20px, 1.46vw);
}
#sec04 ul li .text02 {
  padding: 0 10%;
  font-size: min(14px, 1.02vw);
  line-height: 1.6;
}
#sec04 ul li span {
  position: absolute;
  right: 4%;
  bottom: 3%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5vw;
  height: 2.5vw;
  border-radius: 2.5vw;
  background: linear-gradient(245.2deg, #645299 9.99%, #0e2b4e 31.54%);
  overflow: hidden;
  z-index: 0; /* 必須 */
}

#sec04 ul li span::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: #645299; /* 単色 */
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  z-index: 0;
}

#sec04 ul li a:hover span::before {
  opacity: 1;
}

#sec04 ul li span > * {
  position: relative;
  z-index: 1;
}

#sec04 ul li span img {
  width: 33%;
}
#sec05 {
  padding: min(100px, calc(100vw * 100 / 1366)) 0;
}
#sec05 h2 {
  font-size: min(32px, calc(100vw * 32 / 1366));
  font-weight: 600;
  margin: 0 0 min(40px, calc(100vw * 40 / 1366)) 0;
}
#sec05 .box00 {
  background: #f8f5f4;
  border-radius: 52px;
  padding: min(88px, calc(100vw * 88 / 1366)) min(80px, calc(100vw * 80 / 1366));
  display: flex;
  justify-content: space-between;
}
#sec05 .box01 {
  width: 20%;
  max-width: 161px;
}
#sec05 .box01 .cate li {
  margin: 0 0 min(24px, calc(100vw * 24 / 1366)) 0;
}
#sec05 .box01 .cate li:first-child a {
  color: #1e3246;
}
#sec05 .box01 .cate li a {
  color: #8d8d8f;
  position: relative;
  padding: 0 0 0 9%;
  font-size: min(14px, calc(100vw * 14 / 1366));
}
#sec05 .box01 .cate li:first-child a:before {
  background: #1e3246;
}
#sec05 .box01 .cate li a::before {
  position: absolute;
  background: #d1c6c1;
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 6px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
#sec05 .box01 .btn01.v04 {
  width: 100%;
  margin: min(44px, calc(100vw * 44 / 1366)) 0 0 0;
  font-size: min(12px, calc(100vw * 12 / 1366));
}
#sec05 .box02 {
  width: 80.7%;
}
#sec05 .box02 ul {
  border-top: 1px solid #d1c6c1;
}
#sec05 .box02 li {
  border-bottom: 1px solid #d1c6c1;
  padding: min(36px, calc(100vw * 36 / 1366)) min(12px, calc(100vw * 12 / 1366));
  display: flex;
  align-items: center;
  position: relative;
}
#sec05 .box02 li::before {
  width: min(14px, calc(100vw * 14 / 1366));
  height: min(14px, calc(100vw * 14 / 1366));
  content: "";
  background: url(../img/arrow_bl.png) no-repeat bottom;
  position: absolute;
  background-size: contain;
  right: 2%;
}
#sec05 .btn01.v04::after{
  width: min(10px, calc(100vw * 10 / 1366));
  height: min(10px, calc(100vw * 10 / 1366));
}
#sec05 .box02 li .date {
  margin: 0 0 13% 0;
  font-size: min(15px, calc(100vw * 15 / 1366));
}
#sec05 .box02 li .cate {
  border: 1px solid #d1c6c1;
  padding: min(8px, calc(100vw * 8 / 1366)) 0;
  border-radius: 4px;
  font-size: min(10px, calc(100vw * 10 / 1366));
  display: block;
  text-align: center;
  white-space: nowrap;
}
#sec05 .box03 {
  width: 8%;
}
#sec05 .box04 {
  width: 71.86%;
  margin: 0 0 0 min(32px, calc(100vw * 32 / 1366));
}
#sec05 .box04 a {
  display: block;
  line-height: 1.7;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: #1e3246;
  transition: all 0.3s;
  font-size: var(--fs-base);
  color: #1e3246;;
}
#sec05 .box04 a:hover {
  text-decoration-color: #f8f5f4;
}
#sec06 {
  padding: 0 0 min(140px, calc(100vw * 140 / 1366)) 0;
}
.logo_slide {
  overflow: hidden;
  width: 100%;
  background: #fff;
}

.logo_track {
  display: flex;
  width: max-content; /* 中身の幅に合わせる */
  animation: scroll 30s linear infinite;
}

.logo_item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 30px; /* ロゴ間の余白 */
}

.logo_item img {
  height: 60px;
  width: auto;
}

/* 左に流れるアニメーション */
@keyframes scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

#sec07 {
  background: url(../img/f_bg.jpg) center center no-repeat;
  background-size: cover;
  padding: min(80px, calc(100vw * 80 / 1366)) 0 min(104px, calc(100vw * 104 / 1366));
}

#sec07 .search-form {
  margin: 4vw auto 0;
  padding: 4% 5%;
}
#sec07 .search-form::before,
#sec07 .search-form::after {
  content: none;
}
#sec07 ul {
  display: flex;
  justify-content: space-between;
  margin: 4% 0 0 0;
}
#sec07 ul li {
  background: #fff;
  border-radius: 20px;
  width: 31%;
  text-align: center;
}
#sec07 ul li.tel {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  gap: 7%;
}
#sec07 ul li div {
  font-size: min(38px, calc(100vw * 38 / 1366));
  font-weight: normal;
  color: #000;
}
#sec07 ul li p {
  font-size: min(12px, calc(100vw * 12 / 1366));
  color: #8d8d8f;
  line-height: 1.5;
}
#sec07 ul li p span {
  font-size: min(18px, calc(100vw * 18 / 1366));
}
#sec07 ul li a.btn_f {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 13%;
  border-radius: 20px;
  color: #b4503c;
  background: #fff7f2;
  position: relative;
  transition: background 0.3s;
  font-size: min(18px, calc(100vw * 18 / 1366));
  font-weight: 500;
  letter-spacing: 0.04em;
  border: 1px solid #b4503c;
}
#sec07 ul li a.btn_f:hover {
  background: #fadcd6;
  opacity: 1;
}
#sec07 ul li a.btn_f.v02 {
  background: linear-gradient(79.48deg, #b6422a 45.3%, #f24a29 94.88%);
  color: #fff;
  overflow: hidden;
}

.btn_f.v02::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #f24a29;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  z-index: 0;
}

.btn_f.v02:hover::before {
  opacity: 1;
}

.btn_f.v02 span {
  position: relative;
  z-index: 1;
}

.btn_f.v02 > * {
  position: relative;
  z-index: 1;
}
#sec07 ul li a.btn_f img {
  width: min(30px, calc(100vw * 30 / 1366));
  margin: 0 auto min(18px, calc(100vw * 18 / 1366));
  display: block;
}
#sec08 {
  background: url(../img/f_bg02.jpg) repeat;
  color: #fff;
  padding: 3vw 0 2vw 0;
}
#sec08 .f_logo {
  width: min(240px, calc(100vw * 240 / 1366));
  margin: 0 auto 1.5%;
}
#sec08 h2 {
  text-align: center;
  font-size: min(16px, calc(100vw * 16 / 1366));
  margin: 0 0 2.5vw 0;
  font-weight: 500;
}
#sec08 .box01 {
  padding: 2.7vw 0;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}
#sec08 ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#sec08 ul li {
  width: 16%;
  margin: 0 0 1% 0;
}
#sec08 ul li a {
  color: #fff;
  padding: 8% 0;
  text-align: center;
  display: block;
  background: rgba(255, 255, 255, 0.07);
  border-radius: 8px;
  font-size: min(12px, calc(100vw * 12 / 1366));
}
#sec08 ol {
  display: flex;
  justify-content: space-between;
  width: 67%;
  margin: 0 auto;
}
#sec08 ol a {
  color: #fff;
  font-size: min(15px, calc(100vw * 15 / 1366));
}
#sec08 .text01 {
  font-size: min(12px, calc(100vw * 12 / 1366));
  line-height: 1.8;
  margin: 0 0 3vw 0;
  text-align: center;
}
#sec08 .text02 {
  font-size: min(12px, calc(100vw * 12 / 1366));
  line-height: 2;
}
#sec08 .text02 a{
  text-decoration: underline;
  color: #fff;
  text-underline-offset: 2px;
}
#sec09 {
  background: url(../img/f_bg03.jpg) repeat;
  padding: 1vw 0;
  text-align: center;
  color: #fff;
  font-size: min(10px, calc(100vw * 10 / 1366));
}
footer ul li a{
  opacity: 1;
  transition: opacity 0.3s;
}
footer li a:hover{
  opacity: 0.8;
}
/*下層見出し*/
#u_sec01 {
  background: url(../img/u_bg.jpg) top right no-repeat;
  color: #fff;
  background-size: cover;
  text-align: center;
  position: relative;
  height: 21.9vw;
  max-height: 360px;
}

#u_sec01 .inner {
  height: 100%;
}
#u_sec01 .box01{display: flex;flex-direction: column;gap: min(28px, calc(100vw * 28 / 1366));transform: translateY(-6.8%);}
#u_sec01 .box01 .text01{font-size: min(14px, calc(100vw * 14 / 1366));;line-height: 1.8;}
#u_sec01 .breadcrumbs {
  position: absolute;
  top: 20px;
  left: 15px;
  font-size: min(12px, calc(100vw * 12 / 1366));
  font-weight: normal;
}
#u_sec01 .breadcrumbs ul {
  display: flex;
  gap: 2.6vw;
  margin: 0 0 10px 0;
}
#u_sec01 .breadcrumbs ul a{
  color: #E0C0B9;
  text-decoration: underline;
  text-underline-offset: 2px;
}
#u_sec01 .breadcrumbs ul li{
  position: relative;
  color: #fff;
}
#u_sec01 .breadcrumbs ul li + li::before{
  position: absolute;
  content: "/";
  left: -1.3vw;
  color: #E0C0B9;
  font-size: min(12px, calc(100vw * 12 / 1366));
}
#u_sec01.c02 .breadcrumbs ul a{
  color: #8d8d8f;
}
#u_sec01.c02 .breadcrumbs ul li{
  color: #1e3246;
}
#u_sec01.c02 .breadcrumbs ul li + li::before{
  color: #d1c6c1;
}
#u_sec01 h1 {
  font-size: clamp(36px, calc(100vw * 36 / 1366), 40px);
  font-weight: 500;
}
.cate_child #u_sec01 h1 {
  color: #b53f27;
  flex-direction: column;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12%;
}
.cate_child #u_sec01 h1 span.icon {
  width: min(48px, calc(100vw * 48 / 1366));
  display: block;
  margin: 0 0 min(12px, calc(100vw * 12 / 1366)); 0;
}
h2.hl02 {
}
/*サービス*/

.faq {
}
.u_page .sec03 .faq .btn01{
  margin: min(28px, calc(100vw * 28 / 1366)) auto 0;
}
.faq .tel_block_wrap {
  text-align: center;
  margin: min(30px, calc(100vw * 30 / 1366)) 0;
}
.faq .tel_block {
  display: inline-flex;
  align-items: center;
  text-align: center;
  flex-direction: column;
  justify-content: center;
  gap: 7%;
  border: 2px solid #ece3df;
  padding: 2% 6%;
  border-radius: 20px;
  background: #fff;
}
.faq .tel_block div {
  font-size: min(38px, calc(100vw * 38 / 1366));
  font-weight: normal;
  color: #000;
}
.faq .tel_block p {
  font-size: min(12px, calc(100vw * 12 / 1366));
  color: #8d8d8f;
  line-height: 1.5;
}
.faq .tel_block p span {
  font-size: min(18px, calc(100vw * 18 / 1366));
}
.faq-item {
  margin: 0 0 1% 0;
}

.faq-question {
  width: 100%;
  background: none;
  border: none;
  padding: min(34px, calc(100vw * 34 / 1366)) min(94px, calc(100vw * 94 / 1366)) min(37px, calc(100vw * 37 / 1366)) min(82px, calc(100vw * 82 / 1366));
  font-size: min(20px, calc(100vw * 20 / 1366));
  text-align: left;
  position: relative;
  cursor: pointer;
  background: #fff;
  border-radius: 18px;
  line-height: 1.7;
}
.faq-question::before {
  content: "Q";
  position: absolute;
  font-family: "Gupter", serif;
  color: #b54b35;
  font-size: min(32px, calc(100vw * 32 / 1366));
  left: 3%;
  top: 50%;
  transform: translateY(-50%);
}
.faq-question p {
  position: absolute;
  right: 2%;
  top: 50%;
  transform: translateY(-50%);
}
/* 疑似要素でアイコン表示 */
.faq-question span {
  position: relative;
  width: min(50px, calc(100vw * 50 / 1366));
  height: min(50px, calc(100vw * 50 / 1366));
  background: #F8F5F4;
  display: block;
  border-radius: 50px;
}
.faq-question span::after,
.faq-question span::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 12px;
  height: 2px;
  background-color: #1c3683;
  border-radius: 1px;
  transition: transform 0.3s;
}
.faq-question span::before {
  transform: translateX(-50%) translateY(-50%) rotate(90deg);
}

/* 開いているときはマイナスに */
.faq-item.open span::before {
  transform: translateX(-50%) translateY(-50%) rotate(180deg);
}

.faq-answer {
  height: 0;
  overflow: hidden;
  transition: height 0.4s ease;
}

.faq-answer .inner {
  padding: min(24px, calc(100vw * 24 / 1366)) min(12px, calc(100vw * 12 / 1366)) min(36px, calc(100vw * 36 / 1366));
  line-height: 1.7;
}
.u_page.p01 .sec02 h2 {
  font-size: min(32px, calc(100vw * 32 / 1366));
  text-align: center;
  line-height: 1.8;
}
.u_page.p01 .sec02 h2 p {
  font-size: min(40px, calc(100vw * 40 / 1366));
}
.u_page.p01 .sec02 h2 span {
  color: #b54b35;
}
.u_page.p01 .sec02 .img01{margin: 80px 0 40px 0;}
.u_page.p01 .sec02 .text01{
  text-align: left;
  margin: min(40px, calc(100vw * 40 / 1366)) 0 0 0;
  line-height: 1.7;
}
.u_page .sec03 {
  background-color: #f8f5f4;
  padding:  min(100px, calc(100vw * 100 / 1366)) 0 min(120px, calc(100vw * 120 / 1366)) 0;
  margin:  min(100px, calc(100vw * 100 / 1366)) 0 0 0;
}
.u_page .sec03 .btn01{
  margin:  min(60px, calc(60vw * 100 / 1366)) auto min(95px, calc(100vw * 95 / 1366));
}
.u_page .sec03 h2.hl{
  margin: 0 0 min(46px, calc(100vw * 46 / 1366)) 0;
  padding: 0;
}
.u_page .sec03 .box01 {
  background: #fff;
  border-radius: 20px;
  padding:  min(60px, calc(100vw * 60 / 1366));
  text-align: left;
}
.u_page .sec03 .box01 .text01{text-align: left;line-height: 1.7;}
.u_page .sec03 .box01 .text01 a{border-bottom: 1px solid #1e3246;transition: border-bottom-color 0.3s;}
.u_page .sec03 .box01 .text01 a:hover{border-bottom-color: transparent;}
.u_page .sec03 .box01 + .box01{
  margin: 4% 0 0 0;
}
.u_page .sec03 .box01 h3{
  font-size: min(20px, calc(100vw * 20 / 1366));
  color: #B53F27;font-weight: 500;
  margin: 0 0 1% 0;
}
.u_page .sec03 .box01 .text01 + h3{
  margin: 4% 0 1% 0;
}
.u_page .sec03 .box01 ul {
  margin: 5% 0 0 0;
}
.u_page .sec03 .box01 ul li {
  display: flex;
  align-items: flex-start; /* 行頭揃え */
  gap: 0.8em; /* マーカーと文章の間隔 */
  margin: 0 0 2% 0;
  line-height: 1.6;
  text-align: left;
}
.u_page .sec03 .box01 ul li:last-child{
  margin: 0;
}
.u_page .sec03 .box01 ul li::before {
  flex-shrink: 0;
  width: 7px;
  height: 7px;
  border-radius: 10px;
  background: #d1c6c1;
  content: "";
  margin-top: 0.5em;
}

/*ご利用案内　p02*/
.p02 .sec02 ul{display: flex;justify-content: space-between;margin: 5vw 0 0 0;position: relative;}
.p02 .sec02 ul::before{position: absolute;height: 2px;width: 100%;background: #ece3df;content: "";top: 44%;transform: translateY(-50%);}
.p02 .sec02 ul li a{height: 100%;padding: 0 0 25% 0;display: block;}
.p02 .sec02 ul li{width: 18%;border: 2px solid #ece3df;border-radius: 28px;margin: 0 0 3% 0;position: relative;text-align: center;}
.p02 .sec02 ul li::before{position: absolute;height: min(12px, calc(100vw * 12 / 1366));width: min(12px, calc(100vw * 12 / 1366));background:url(../img/arrow_br.png);content: "";bottom: 9%; transform: translateX(-50%);background-size: contain;left: 50%;transition: bottom 0.3s;}
.p02 .sec02 ul li:hover::before{bottom: 7%;}
.p02 .sec02 ul li .box01{background: #F8F5F4;border-radius: 28px 28px 0 0;}
.p02 .sec02 ul li .text01{
  font-size: min(18px, calc(100vw * 18 / 1366));
  font-weight: 500;
  margin: min(20px, calc(100vw * 20 / 1366)) 0 0 0;
}
.p02 .sec02 ul li span{display: flex;position: absolute;left: 50%;transform: translateX(-50%); top: -9%;background: #fff;border: 2px solid #ece3df;border-radius: 28px;width:  min(48px, calc(100vw * 48 / 1366));height:  min(48px, calc(100vw * 48 / 1366));align-items: center;justify-content: center;}
.p02 .sec02 .box03 a{background: #f8f5f4;border-radius: 20px;padding: 2% 3%;display: flex;width: 76%;margin: 0 auto;align-items: center;gap: 3.5%;}
.p02 .sec02 .box03 span{width: 9%;display: block;}
.p02 .sec02 .box04{padding: 0;display: flex;width: 60%;margin: 5% auto 0;justify-content: space-around;text-align: center;position: relative;}
.p02 .sec03 li .box04 .text02 span {
  color: #b53f27;
}
.p02 .sec02 .box04::before{position: absolute;width: 1px;height: 100%;background: #d1c6c1;left: 50%;transform: translateX(-50%);content: "";}
.p02 .sec02 .box04 h3{font-weight: 500;margin: 0 0 5% 0;}
.p02 .sec02 .box05 div {
  font-size: min(38px, calc(100vw * 38 / 1366));
  font-weight: normal;
}
.p02 .sec02 .box05 p {
  font-size: min(12px, calc(100vw * 12 / 1366));
  color: #8d8d8f;
  line-height: 1.5;
}
.p02 .sec02 .box05 p span {
  font-size: min(18px, calc(100vw * 18 / 1366));
}
.p02 .sec02 .box05, .p02 .sec02 .box06{width: 50%;}
.p02 .sec02 .box06 .btn01{margin: 0 auto;}

.p02 .sec03 li{display: flex;padding: 0 0 4% 0;position: relative;justify-content: space-between;}
.p02 .sec03 li .t01{line-height: 1.7;}
.p02 .sec03 li:last-child{padding: 0;}
.p02 .sec03 li::before{position: absolute;height: 100%;width: 2px;background: #ece3df;content: "";top: 0;left: 7%;}
.p02 .sec03 li:last-child:before{content: none;}
.p02 .sec03 li .box01{background: none;width: 14.8%;padding: 0;position: relative;z-index: 1;}
.p02 .sec03 li .box02{margin: 1.5% 0 0 0;width: 81.3%;}
.p02 .sec03 li .box02 .text01{font-weight: 500;font-size: min(28px, calc(100vw * 28 / 1366));margin: 0 0 2% 0;}
.p02 .sec03 li .box02 small{font-size: min(12px, calc(100vw * 12 / 1366));color: #8d8d8f;display: block;margin: min(8px, calc(100vw * 8 / 1366)) 0 0 0;line-height: 1.6;}
.p02 .sec03 li .box03{display: flex;gap: 1%;margin: 0 0 1% 0;}
.p02 .sec03 li .box03 img{width: min(326px, calc(100vw * 326 / 1366));}
.p02 .sec03 li .box04{background: #fff;border-radius: 16px;padding: 2.7% 3.3%;margin: 0 0 1% 0;}
.p02 .sec03 li .text03{font-size: min(20px, calc(100vw * 20 / 1366));color: #B53F27;font-weight: 500;margin: min(28px, calc(100vw * 28 / 1366)) 0 min(4px, calc(100vw * 4 / 1366)) 0;line-height: 1.8;}
.p02 .sec03 li .text04{font-size: min(18px, calc(100vw * 18 / 1366));font-weight: 500;margin: 0 0 1.5% 0;}
.p02 .sec03 li .img01{width: min(266px, calc(100vw * 266 / 1366));margin: 1.5% 0 0 0;}
.p02 .sec03 li .text05{text-align: center;font-weight: 500;font-size: min(20px, calc(100vw * 20 / 1366));}
.p02 .sec03 li .text05 p{color: #b53f27;display: inline-block;}
.p02 .sec03 li .text05 span.f_num{font-size: min(44px, calc(100vw * 44 / 1366));font-weight: 100;}
.p02 .sec03 li .text05 span{font-size: min(34px, calc(100vw * 34 / 1366));font-weight: 100;}
.p02 .sec03 li:last-child .box04{padding: 4% 3.3%;margin: 0 0 2% 0;}
/*初めての方へ　p03*/
.p03 #u_sec01 {
  margin: 0 0 min(115px, calc(100vw * 115 / 1366));
}
.s_caution{display: block;color: #B53F27;margin: 1% 0 0 0;font-size: min(12px, calc(100vw * 12 / 1366));line-height: 1.6;}
.hl_top{position: absolute;top: min(-50px, calc(100vw * -50 / 1366));left: 50%;transform: translateX(-50%);padding: 0 2%;background: #b4503c;border-radius: 10vw;}
  h2.hl .hl_top p{color: #fff;position: relative;color: #fff;margin: 0 auto;
    font-size: min(14px, calc(100vw * 14 / 1366));padding: 5% 0;}
    h2.hl .hl_top p::before {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      width: 20px;   /* SVGの表示サイズ */
      height: 10px;
      content: "";
      bottom: -8px;
  
      background: url("../img/triangle.svg") no-repeat center/contain;
  }
.p03 .sec02 ul{display: flex;flex-wrap: wrap;justify-content: space-between;margin: 5vw 0 0 0;}
.p03 .sec02 ul li{width: 31.5%;display: flex;padding: min(24px, calc(100vw * 24 / 1366));border: 2px solid #ece3df;border-radius: 28px;margin: 0 0 min(36px, calc(100vw * 36 / 1366)) 0;position: relative;justify-content: space-between;}
.animate-list li,
.animate-item {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

/* 可視時 */
.animate-list li.show,
.animate-item.show {
  opacity: 1;
  transform: translateY(0);
}
.p03 .sec02 ul li .box01{width: 32.7%;}
.p03 .sec02 ul li .box02{width: 61.2%;}
.p03 .sec02 ul li .text01{
  font-size: min(18px, calc(100vw * 18 / 1366));
  font-weight: 500;
  margin: 0 0 min(15px, calc(100vw * 15 / 1366)) 0;
}
.p03 .sec02 ul li .text02{
  font-size: min(14px, calc(100vw * 14 / 1366));
  line-height: 1.6;
}
.p03 .sec02 ul li .text02 p{display: inline-block;color: #B53F27;}
.p03 .sec02 ul li span.f_num{display: block;position: absolute;right: -3.5%;top: -10%;background: #fff;border: 2px solid #ece3df;border-radius: 28px;width: min(48px, calc(100vw * 48 / 1366));height: min(48px, calc(100vw * 48 / 1366));display: flex;align-items: center;justify-content: center;}
.p03 .sec02 ul li .btn01.v04.small{position: absolute;left: 50%;transform: translateX(-50%);bottom: -16%;width: min(220px, calc(100vw * 220 / 1366));height: min(60px, calc(100vw * 60 / 1366));}
.p03 .sec02 .btn01.v02{margin: min(24px, calc(100vw * 24 / 1366)) auto 0;}
.p03.u_page .sec03 .box01 {
  padding: min(60px, calc(100vw * 60 / 1366)) min(80px, calc(100vw * 80 / 1366)) min(80px, calc(100vw * 80 / 1366));}
/*よくある質問　p04*/
.p04.u_page .sec02 ul{
display: flex;flex-wrap: wrap;justify-content: space-between;
}
.p04.u_page .sec02 ul li{
 width: 31%;
  }
.p04.u_page .sec02 ul li a{
  display: block;width: 100%;border-bottom: 2px solid #ece3df;padding: min(28px, calc(100vw * 28 / 1366)) min(16px, calc(100vw * 16 / 1366)) min(28px, calc(100vw * 28 / 1366)) min(12px, calc(100vw * 12 / 1366));position: relative;transition: border-bottom 0.3s;font-weight: 500;font-size: min(16px, calc(100vw * 16 / 1366));}
.p04.u_page .sec02 ul li a:hover{border-bottom: 2px solid #2D4664;}
.p04.u_page .sec02 ul li a::before{position: absolute;
  height: min(12px, calc(100vw * 12 / 1366));
  width: min(12px, calc(100vw * 12 / 1366));
  background: url(../img/arrow_br.png);
  content: "";
  transform: translateY(-50%);
  background-size: contain;
  top: 50%;
  right: min(16px, calc(100vw * 16 / 1366));
  transition: top 0.3s;
}
.p04.u_page .sec02 ul li a:hover::before{
  top: 58%;
}
.p04.u_page .sec03{
  background-color: #fff;
  padding: 0;
}
.p04 .faq-question{
  background: #f8f5f4;
}
.p04 .faq-question span{
  background: #fff;
}
.p04 .faq{margin: 0 0 min(100px, calc(100vw * 100 / 1366)) 0;}
.p04 #f05 + .faq{margin: 0 0 min(120px, calc(100vw * 120 / 1366)) 0;}

/*会社概要*/
.p05 .text01{text-align: center;margin: 0 0 min(60px, calc(100vw * 60 / 1366)) 0;}
.p05 table{width: 100%;border-top: 1px solid #d1c6c1;margin: 0 auto min(120px, calc(100vw * 120 / 1366));}
.p05 th{color: #8d8d8f;font-weight: 500;text-align: left;font-size: min(14px, calc(100vw * 14 / 1366));width: 12.7%;}
.p05 td{font-size: var(--fs-base);}
.p05 td a{color: #B53F27;text-decoration: underline;font-weight: 500;text-underline-offset: 2px;}
.p05 th, .p05 td{border-bottom: 1px solid #d1c6c1;padding: min(28px, calc(100vw * 28 / 1366)) 0;line-height: 1.7;}

/*アクセス*/
.p06 .sec02{margin: 0 0 min(120px, calc(100vw * 120 / 1366));}
.p06 .sec02 .text01{text-align: center;}
.p06 .sec02 .box_map{border-radius: 20px;border: 2px solid #ece3df;margin: min(52px, calc(100vw * 52 / 1366)) 0 min(80px, calc(100vw * 80 / 1366));}
.p06 .sec02 .map iframe{width: 100%;height: 400px;border-radius: 20px 20px 0 0;}
.p06 .sec02 .box01{display: flex;}
.p06 .sec02 .box02{width: 50%;padding: 0 min(40px, calc(100vw * 40 / 1366));display: flex;align-items: center;gap: 8%;margin: min(29px, calc(100vw * 29 / 1366)) 0 min(31px, calc(100vw * 31 / 1366));}
.p06 .sec02 .box02 + .box02{border-left: 2px solid #ece3df;}
.p06 .sec02 .box01 .text02{color: #8d8d8f;font-weight: 500;}
.p06 .sec02 .box02 .text03{line-height: 1.6;}
.p06 .sec02 .box_c{text-align: center;border: 2px solid #ece3df;border-radius: 20px;padding: min(34px, calc(100vw * 34 / 1366)) 0 min(36px, calc(100vw * 36 / 1366));background: #f8f5f4;line-height: 1.9;}
.p06 .tabs{display: flex;justify-content: center;}
.p06 .tabs button{width: 25%;border-bottom: 2px solid #ece3df;padding:1.2% 0;color: #A5ADB5;font-weight: 500;transition: all 0.3s;line-height: 1.6;}
.p06 .tabs button:hover{color: #1e3246;}
.p06 .tabs button.active{border-bottom: 2px solid #2D4664;color: #1e3246;}
.p06 .tabs button h2{font-weight: bold;line-height: 1.6;}
.p06 .tab-content {
  display: none;
  padding: min(28px, calc(100vw * 28 / 1366)) 0 min(40px, calc(100vw * 40 / 1366));
}
.p06 .tab-content.active {
  display: block;
}
.p06 .tab-content .box00{display: flex;justify-content: space-between;}
.p06 .tab-content .box00 .box_a {width: calc(100% - min(330px, 100vw * 330 / 1366));}
.p06 .tab-content .box00 .box_b {width: min(300px, calc(100vw * 300 / 1366));}
.p06 .tab-content .box00 .box_b img{border-radius: 20px;}
.p06 .tab-content .text04{color: #8d8d8f;font-size: min(14px, calc(100vw * 14 / 1366));margin: 0 0 min(4px, calc(100vw * 4 / 1366)) 0;}
.p06 .tab-content .text05{line-height: 1.7;}
.p06 .tab-content .text05 + .text04{margin: min(26px, calc(100vw * 26 / 1366)) 0 0 0;}

/*プライバシーポリシー*/
.p07 .sec02 {
  margin: 0 0 min(120px, calc(100vw * 120 / 1366));
}
.p07 .sec02 h2{font-size: min(24px, calc(100vw * 24 / 1366));margin: 0 0 2% 0;}
.p07 .sec02 .text01{margin: 0 0 6% 0;}
.p07 .sec02 ul{margin: 2% 0 0 0;}
.p07 .sec02 li{position: relative;padding: 0 0 0 2%;}
.p07 .sec02 li::before{
  position: absolute;
  content: "・";
  left: 0;
  color: #D1C6C1;
}

/*商品一覧*/
.items .sec02 .box01 {
  display: flex;
  justify-content: space-between;
}
.items .box02.i_cate {
  width: 21%;
  margin: 0 0 0 -1%;
  border-right: 1px solid #ece3df;
  border-radius: 20px 20px 0 0;
}
.items .box02.i_cate > ul{position: sticky;top: 0;}
.items .box02.i_cate li {
  border: 1px solid #ece3df;
  border-bottom: none;
  border-right: none;
}
.items .box02.i_cate li.child {
  padding:min(16px, calc(100vw * 16 / 1366)) 0;
}
.items .box02.i_cate li.child a {
  position: relative;
  padding: min(10px, calc(100vw * 10 / 1366)) min(4px, calc(100vw * 4 / 1366)) min(10px, calc(100vw * 10 / 1366)) min(33px, calc(100vw * 33 / 1366));
  transition: color 0.3s;
  line-height: 1.4;
}
.items .box02.i_cate li.child a:hover {
  color: #b53f27;
}
.items .box02.i_cate li.child a:before {
  flex-shrink: 0;
  width: 7px;
  height: 7px;
  border-radius: 10px;
  background: #d1c6c1;
  content: "";
  margin-top: 0.1em;
}
.items .box02.i_cate li.child a.checked:before {
  background: #b4503c;
}
.items .box02.i_cate li:last-child {
  border-bottom: 1px solid #ece3df;
}
.items .box02.i_cate li:first-child {
  border-radius: 20px 20px 0 0;
}
.items .box02.i_cate li:first-child a{
  border-radius: 20px 20px 0 0;
}
.cate_child.items .box02.i_cate li.active {
  background: #f8f5f4;
}
.items .box02.i_cate li a {
  display: flex;
  align-items: center;
  gap: 4%;
  padding: 5% 3% 5% 10%;
  font-size: min(14px, calc(100vw * 14 / 1366));
  transition: background-color 0.3s;
}
.items .box02.i_cate li a:hover{background-color: #f8f5f4;}
.items .box02.i_cate li.child a:hover{background-color: #fff;}
.items .box02.i_cate li a span {
  width: 15%;
}
.items .box03 {
  width: 75%;
}
.items .box03 {
  padding: 0 0 min(140px, calc(100vw * 140 / 1366)) 0;
}
.items .text404{
  font-size: min(32px, calc(100vw * 32 / 1366));
  font-weight: 500;
}
.items p.t01{
  margin: 2% 0 4% 0;
}
.items .box03 .search-form{
  margin: 0 auto;
  padding: 3% 3% 3% 0;
}
.item-card {
  float: left;
  width: 22.5%;
  margin-right: calc(10% / 3);
  margin-bottom: 4%;
  box-sizing: border-box;
  position: relative;
}
.item-card.new_item.new-icon::before {
  position: absolute;
  font-family: "Gupter", serif;
  content: "NEW";
  color: #fff;
  text-align: center;
  background: #b4503c;
  line-height: min(48px, calc(100vw * 48 / 1366));
  width: min(48px, calc(100vw * 48 / 1366));
  height: min(48px, calc(100vw * 48 / 1366));
  border-radius: 60px;
  top: min(-8px, calc(100vw * -8 / 1366));
  right: min(-8px, calc(100vw * -8 / 1366));
  font-size: min(12px, calc(100vw * 12 / 1366));
  z-index: 5;
  letter-spacing: 0.04rem;
}

.item-card:nth-child(4n) {
  margin-right: 0;
}

/* 内部を均等に */
.item-card a {
}

/* カードの中身 */
.item-inner {
  text-align: center;
}

/* 画像 */
.item-inner img {
  border: 2px solid #ece3df;
  border-radius: 22px;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
}

/* タイトル */
.item-inner .title {
  display: inline-block;
  font-weight: 500;
  text-decoration: underline;
  line-height: 1.5;
  padding: 0 0 2px 0;
  margin: 5% 0 2.5% 0;
  font-size: min(14px, calc(100vw * 14 / 1366));
  transition: text-decoration-color 0.3s;
}
.item-inner:hover .title{
  text-decoration-color:#fff;
}

/* メーカー名 */
.item-inner .maker {
  color: #8d8d8f;
  font-size: min(12px, calc(100vw * 12 / 1366));
}

/*ページャー*/
.p_box {
  width: 100%;
  text-align: center;
  margin-top: min(46px, calc(100vw * 46 / 1366));
}
.news.single .p_box {
margin: min(80px, calc(100vw * 80 / 1366)) 0 min(140px, calc(100vw * 140 / 1366));
padding: min(40px, calc(100vw * 40 / 1366)) 0 0 0;
border-top: 1px solid #d1c6c1;
}

.pagination-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  list-style: none;
  padding: 0;
  margin: 0 auto;
  position: relative;
}
.pagination-list li.btn{
  width: 100%;
}

/* 各ページアイテム共通 */
.pagination-item {
  margin: 0 6px;
}

/* ページ番号ボタンの基本スタイル */
.page-numbers {
  display: inline-block;
  width: min(56px, calc(100vw * 56 / 1366));
  height: min(56px, calc(100vw * 56 / 1366));
  line-height: min(56px, calc(100vw * 56 / 1366));
  border-radius: 50%;
  background-color: #f8f5f4;
  text-align: center;
  font-size:  min(18px, calc(100vw * 18 / 1366));
  font-weight: 100;
  text-decoration: none;
  transition: background-color 0.2s, color 0.2s, opacity 0.2s;
  font-family: "Scheherazade New", serif;
}

/* ホバー時 */
.page-numbers:hover {
opacity: 0.7;
}

/* 現在のページ */
.page-numbers.current {
  background-color: #b4503c;
  color: #fff;
  cursor: default;
}

/* ドット（…）は正円なし */
.page-numbers.dots {
  background: none;
  width: auto;
  height: auto;
  line-height: normal;
  border-radius: 0;
  padding: 0 4px;
}

/* 前後ナビ (< >) を左右に配置 */
.pagination-item a{
  display: flex;
  align-items: center;
  justify-content: center;
}
.pagination-item.disabled span{
  display: flex;
  align-items: center;
  justify-content: center;
}
.pagination-item:first-child {
  position: absolute;
  left: 0;
}
.pagination-item:last-child {
  position: absolute;
  right: 0;
}
.pagination-item img{
  width: min(12px, calc(100vw * 12 / 1366));
  display: block;}
.hanten{transform: scaleX(-1);}

/*商品詳細*/
#u_sec01.small{
  background: none;
  height: 65px;
  border-top: 2px solid #ece3df;
}
.item-detail #u_sec01.small{
  height: auto;
}
.item-detail .box01{
  display: flex;
  justify-content: space-between;
}
.item-detail .box02{width: 50%;}
.item-detail .box03{width: 45%;}


.item-d-main, .item-d-thumb{
  opacity: 0;
  transition: opacity .25s ease;
}
.item-d-main.slick-initialized, .item-d-thumb.slick-initialized{
  opacity: 1;
}
.item-d-slider {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  position: sticky;
  top: 0;
  transition: opacity 0.3s ease;
}
.item-d-slider .slick-vertical .slick-slide{
border: none;
}
.item-d-thumb {
  width: 15%;
}
.item-d-thumb .slick-slide {
  margin-bottom: 10px;
  cursor: pointer;
}
.item-d-thumb img {
  width: 100%;
}
.item-d-thumb img {
  border-radius: 12px;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit:contain;
}
.item-d-thumb .slick-current img {
  border: 2px solid #ece3df;
}

.item-d-main {
  width: 85%;
}
.item-d-main img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit:contain;
}
.item-d-thumb .slick-vertical .slick-slide{border: none;}
.item-detail .list-term{font-size: min(12px, calc(100vw * 12 / 1366));margin: 0 20px 0 0;position: relative;}
.item-detail .list-term + .list-term::before {
  position: absolute;
  content: "/";
  left: -10px;
  top: 50%;
  transform: translateY(-50%);
}
.item-detail h1{
  font-size: min(32px, calc(100vw * 32 / 1366));
  margin: min(10px, calc(100vw * 10 / 1366)) 0 min(8px, calc(100vw * 8 / 1366)) 0;
line-height: 1.4;}
.item-detail p.maker{
  font-size: min(14px, calc(100vw * 14 / 1366));
  color: #8d8d8f;
  margin: min(8px, calc(100vw * 8 / 1366)) 0 min(25px, calc(100vw * 25 / 1366)) 0;
}
.item-detail h2 {
  margin: 0 0 min(52px, calc(100vw * 52 / 1366)) 0;
  color: #B53F27;
}
.item-detail .box04 h2{
  text-align: center;
  font-size: min(32px, calc(100vw * 32 / 1366));
  margin: 0 0 5% 0;
}
.item-detail .box03 .text01{
  margin: min(25px, calc(100vw * 25 / 1366)) 0 min(12px, calc(100vw * 12 / 1366)) 0;
  font-size: min(14px, calc(100vw * 14 / 1366));
  line-height: 1.8;
}
.item-detail .box03 h2{
  border-bottom: 1px solid #d1c6c1;
  padding: 2% 0;
}
.item-detail .box03 .feature-box{
  margin: min(40px, calc(100vw * 40 / 1366)) 0 0 0;
}
.item-detail .box03 h2.feature-toggle{
  font-size: var(--fs-base);
  margin: 0;
}
.tag-list {
  margin:  min(12px, calc(100vw * 12 / 1366)) 0 min(30px, calc(100vw * 30 / 1366)) 0;
}

a.item-tag {
  display: inline-block;
  border: 1px solid #D1C6C1;
  padding: min(8px, calc(100vw * 8 / 1366));
  border-radius: 4px;
  margin: 0 min(4px, calc(100vw * 4 / 1366)) min(4px, calc(100vw * 4 / 1366)) 0;
  font-size: min(10px, calc(100vw * 10 / 1366));
}
.set-block-wrap{
  border: 1px solid #d1c6c1;
  border-radius: 12px;
}
.set-block {
  display: flex;
  justify-content: space-between;
  width: 100%;
  padding: 3% 3% 0 3%;
  align-items: center;
  font-size: min(14px, calc(100vw * 14 / 1366));
}
.set-block + .set-block{
  padding: 0 3% 3% 3%;
}
.set-block.is-first{
  color: #b53f27;
  padding: 3%;
  background: #f8f5f4;
  border-radius: 12px;
}
.set-block.is-first.has-multiple {
  color: #b53f27;
  border-bottom: 1px solid #D1C6C1;
  border-radius: 12px 12px 0 0;
  margin: 0 0 4% 0;
  
}
.set-block.is-first + .set-block{
  
}

.set-content {
  width: 70%;
}

.set-price {
  text-align: right;
}
.is-first .set-price {
  font-size: min(18px, calc(100vw * 18 / 1366));
  font-weight: 500;
}
.set-price span{
  font-size: min(8px, calc(100vw * 8 / 1366));
  display: none;
}

p.i_feature,
.set-detail p {
  padding: 0 0 0 min(20px, calc(100vw * 20 / 1366));
  position: relative;
  font-size:  min(14px, calc(100vw * 14 / 1366));
  margin: 0 0 min(8px, calc(100vw * 8 / 1366)) 0; 0;
  line-height: 1.6;
}

p.i_feature::before,
.set-detail p::before {
  position: absolute;
  content: "・";
  left: 0;
  color: #D1C6C1;
}
.feature-content {
  height: 0;
  overflow: hidden;
  transition: height 0.4s ease;
  margin:  min(20px, calc(100vw * 20 / 1366)) 0 0 0;
}
.feature-box.open .feature-content {
  /* height は JS で制御するためここには不要 */
}
.feature-toggle {
  cursor: pointer;
  position: relative;
}
.feature-toggle::before,
  .feature-toggle::after {
    content: "";
    position: absolute;
    right: min(8px, calc(100vw * 8 / 1366));
    top: 50%;
    transform: translateY(-50%);
    width: min(12px, calc(100vw * 12 / 1366));
    height: min(2px, calc(100vw * 2 / 1366));
    background-color: #b4503c;
    border-radius: 1px;
    transition: all 0.3s ease;
  }

  /* 横棒（−） */
  .feature-toggle::before {
    transform: translateY(-50%);
  }

  /* 縦棒（|） */
  .feature-toggle::after {
    transform: translateY(-50%) rotate(90deg);
  }
/* 開いたときに縦棒を消す（＋→−） */
.open .feature-toggle::after {
  opacity: 0;
  transform: translateY(-50%) rotate(90deg) scaleX(0);
}

.pdf_list {
  display: flex;
  margin: min(20px, calc(100vw * 20 / 1366)) 0 0 0;
  gap: 1vw;
  flex-wrap: wrap;
}

.pdf_list li {
  min-width: min(220px, calc(100vw * 220 / 1366));
  height: min(60px, calc(100vw * 60 / 1366));
  padding: 0 min(45px, calc(100vw * 45 / 1366)) 0 min(70px, calc(100vw * 70 / 1366));
  border: 1px solid #d1c6c1;
  background: #fff;
  color: #fff;
  border-radius: 40px;
  font-size: min(14px, calc(100vw * 14 / 1366));
  transition: background-color 0.3s;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.pdf_list li::after {
  width: min(24px, calc(100vw * 24 / 1366));
  height: min(24px, calc(100vw * 24 / 1366));
  content: "";
  background: url(../img/icon_pdf.svg) no-repeat bottom;
  position: absolute;
  background-size: contain;
  left: min(25px, calc(100vw * 25 / 1366));
}
.pdf_list li a{display: block;width: 100%;height: 100%;display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;}
  .pdf_list li:hover{background:#F8F5F4;}
  .set-detail{
    margin: min(20px, calc(100vw * 20 / 1366)) 0 min(40px, calc(100vw * 40 / 1366)) ;
  }
p.set-label {
  font-weight: 500;
  color: #B53F27;
  padding: 0 0 1.5% 0;
  border-bottom: 1px solid #D1C6C1;
  line-height: 1.4;
}
.item-detail .sec03 {
  background-color: #f8f5f4;
  padding: min(100px, calc(100vw * 100 / 1366)) 0 min(140px, calc(100vw * 140 / 1366)) 0;
  margin: min(80px, calc(100vw * 80 / 1366)) 0 0 0;
}
.item-detail .sec03 .box04{background: #fff;
  padding:  min(60px, calc(100vw * 60 / 1366)) min(80px, calc(100vw * 80 / 1366));
  border-radius: 40px;margin: 0 0 4% 0;}
.spec.box01 {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #D1C6C1;
  padding:  min(20px, calc(100vw * 20 / 1366)) 0;
  line-height: 1.6;
}

.spec .box02 {
  width: 28%;
  font-size: min(12px, calc(100vw * 12 / 1366));
  color: #8d8d8f;
  font-weight: 500;
}

.spec .box03 {
  width: 68%;
  font-size: min(14px, calc(100vw * 14 / 1366));
}
.item-detail .box05{
  margin: min(100px, calc(100vw * 100 / 1366)) 0 0 0;
}
.item-detail .box05 .p_block{
  padding: 5% 7%;
  background: #ECE5E4;
  margin: 0 0 3% 0;
  border-radius: 40px;
  position: relative;
}
.item-detail .box05 .p_block:last-child{
  margin: 0;
}
.item-detail .box05 .p_block::before{
  position: absolute;
  content: "";
  width: min(80px, calc(100vw * 80 / 1366));
  height: min(80px, calc(100vw * 80 / 1366));
  background: url(../img/s_point.png) no-repeat center center;
  background-size: cover;
  right: 1.6%;
  top: -2%;
}
.item-detail .box05 .p_title{
  color: #b53f27;text-align: center;
  font-size: min(28px, calc(100vw * 28 / 1366));
  margin: 0 0 2.5% 0;
  line-height: 1.6;
}
.item-detail .kanren{
  margin: -70px 0 0 0;
}
.kanren .newitem-slider .newitem-card.slick-slide {
  position: relative;
  width: min(307px, calc(100vw * 307 / 1500));
  margin: 0 min(19px, calc(100vw * 19 / 1500));
}
.kanren .newitem-slider-nav{
right: 5.8%;
}
.item-detail #sec02{
  padding: 0;
  margin: min(100px, calc(100vw * 100 / 1366)) 0 0 0;
}
.item-detail #sec02 h2 {
margin: 0;
}
.item-detail .slick-dotted.slick-slider{
  margin: 0;
}
#item_contact a{
  position: fixed;
  right: 30px;
  bottom: 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8%;
  width:  min(148px, calc(100vw * 148 / 1366));
  height:  min(148px, calc(100vw * 148 / 1366));
  border-radius: min(148px, calc(100vw * 148 / 1366));
  color: #b4503c;
  background: #fff7f2;
  transition: background 0.3s;
  font-size: min(14px, calc(100vw * 14 / 1366));
  text-align: center;
  line-height: 1.5;
  border:1px solid #b4503c;
  transition: background 0.3s;
  z-index: 100;
}
#item_contact a:hover{
  background: #FADCD6;
}
#item_contact a img{width: 16%;}


/*コンタクト*/
.contact .sec02{
  margin: 0 0 min(80.5px, calc(100vw * 80.5 / 1366)) 0;
}

/*法人フォームの表示制御*/
/* 確認画面 */
.sec02.smf-screen-confirm .c_none {
  display: none;
}
/* 完了画面 */
.sec02.smf-screen-complete .c_none {
  display: none;
}
.sec02.smf-screen-confirm .bg_wave02.v01,
.sec02.smf-screen-complete .bg_wave02.v01{
  background-image: none;
  margin: 0;
  padding: 0;
}
    .contact .smf-progress-tracker{
      position: relative;
      display: flex;
      margin: 0 auto;
      justify-content: space-between;
      width: 38%;
    }
    .contact.c05 .smf-progress-tracker{
      margin: 0 auto min(80px, calc(100vw * 80 / 1366));
    }
    .contact .smf-progress-tracker li{text-align: center;display: flex;justify-content: center;align-items: center;flex-direction: column;}
    .contact .smf-progress-tracker li .smf-progress-tracker__item__number{
      position: relative;
      display: flex;
      background: #fff;
      border: 2px solid #ece3df;
      border-radius: 28px;
      width: min(48px, calc(100vw * 48 / 1366));
      height: min(48px, calc(100vw * 48 / 1366));
      align-items: center;
      justify-content: center;
      z-index: 1;
      color: #1e3246;
      font-family: "Scheherazade New", serif;
      overflow: visible;
      font-size: min(18px, calc(100vw * 18 / 1366));
      font-weight: normal;
        }
        .contact .smf-progress-tracker li[aria-current="true"] .smf-progress-tracker__item__number{
          background: #b4503c;
          color: #fff;
          border: none;
        }
        .contact .smf-progress-tracker li[aria-current="true"] .smf-progress-tracker__item__number::after{
    position: absolute;
    content: "";
    width: min(60px, calc(100vw * 60 / 1366));
      height: min(60px, calc(100vw * 60 / 1366));
          background: #b4503c;
          border-radius: 100px;
          z-index: -1;
        }
        .contact .smf-progress-tracker li .smf-progress-tracker__item__text{
          color: #A5ADB5;
          line-height: 1.6;
        }
        .contact .smf-progress-tracker li[aria-current="true"] .smf-progress-tracker__item__text{
          color: #b4503c;
        }
        .contact .smf-progress-tracker__item:after,
        .contact .smf-progress-tracker__item::before{
          top: min(24px, calc(100vw * 24 / 1366));
        }


    .tel_block ul{
      padding: 5%;
      border: 1px solid #b4503c;
      background: #fff7f2;
      border-radius: 20px;
      display: flex;
      align-items: center;
      gap: 5%;
      margin:  0 auto  min(80px, calc(100vw * 80 / 1366));
    }
    .tel_block ul li{
      width: 25%;
      font-size: min(18px, calc(100vw * 18 / 1366));
      font-weight: 500;
    }
    .tel_block ul li + li{
      width: 75%;
    }
    .tel_block ul li .text02{
      color: #b4503c;
    font-size:  min(18px, calc(100vw * 18 / 1366));}
    .tel_block ul li.tel{
      display: flex;
      align-items: center;
      border-left: 1px solid #d1c6c1;
      padding: 0 0 0 5%;
    }
    .tel_block ul li.tel div {
      font-size: min(46px, calc(100vw * 46 / 1366));
      font-weight: normal;
      margin: 0 3% 0 0;
      line-height: 1;
  }
  .tel_block ul li.tel p {
    font-size: min(12px, calc(100vw * 12 / 1366));
    color: #8d8d8f;
    line-height: 1.2;
    font-weight: normal;
  }
  .tel_block ul li.tel p span {
    font-size: min(18px, calc(100vw * 18 / 1366));
  }
  .contact .text00{
    font-size: min(36px, calc(100vw * 36 / 1366));
    font-weight: 500;
    color: #b4503c;
    text-align: center;
    margin: 8% 0 3.5% 0;
  }
  .contact .thanks .text00{
    margin: min(80px, calc(100vw * 80 / 1366)) 0 min(32px, calc(100vw * 32 / 1366));
  }
  .contact .thanks{margin: 0 0 min(122px, calc(100vw * 122 / 1366)) 0;}
  .contact .thanks .btn01{margin: min(48px, calc(100vw * 48 / 1366)) auto 0;}
.box_contact {
  font-size: var(--fs-base);
}
.smf-select-control {
  position: relative;
  width: 100%;
}
.smf-select-control.year {
  width: 17%;
}
.smf-select-control + .smf-select-control{
  margin: 0 1% 0 3%;
}

.smf-select-control select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 28px;
  width: 100%;
}

.smf-select-control::after {
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-right: 2px solid #1e3246;
  border-bottom: 2px solid #1e3246;
  transform: translateY(-50%) rotate(45deg);
  pointer-events: none;
  z-index: 1;
}
.smf-item__label__text {
  font-size: min(16px, calc(100vw * 16 / 1366));
  font-weight: 500;
}
.box_contact input,
.box_contact input[type="date"],
.box_contact input[type="month"],
.box_contact select,
.box_contact textarea {
  width: 100%!important;
  padding: min(24px, calc(100vw * 24 / 1366))!important;
  font-size: min(14px, calc(100vw * 14 / 1366))!important;
  border: none!important;
  background: #F5F2F1!important;
box-shadow: inset 0px 2px 0px rgba(212, 197, 192, 0.2)!important;
border-radius: 12px!important;
  box-sizing: border-box!important;
}
/* input, textarea, select がエラーのとき赤枠にする */
.box_contact input[data-invalid="1"],
.box_contact textarea[data-invalid="1"],
.box_contact select[data-invalid="1"] {
  border: 2px solid #b53f27 !important;
}
.box_contact .smf-error-messages {
  font-weight: 500;
  color: #b53f27;
  font-size: min(14px, calc(100vw * 14 / 1366));
  margin: min(10px, calc(100vw * 10 / 1366)) 0 0 0;
}
.box_contact .sub input,
.box_contact .sub input[type="date"],
.box_contact .sub input[type="month"],
.box_contact .sub select,
.box_contact .sub textarea {
  padding: min(20px, calc(100vw * 20 / 1366));
  font-size: min(14px, calc(100vw * 14 / 1366));
}
.box_contact input[type="date"],
.box_contact input[type="month"]{
  width: 33%!important;
}
.box_contact [data-name="使用開始"] input[type="date"],
.box_contact [data-name="使用終了"] input[type="date"]{
  width: auto!important;
}
/*
div[data-name="使用開始"]{position: relative;margin: 0 40px 0 0!important;}
div[data-name="使用開始"]::before{position: absolute;content:"〜";right: -20px;}
*/
.box_contact .w75 .smf-item__controls{
  width: 75%;
}
.box_contact .w25 .smf-item__controls{
  width: 25%;
}
.box_contact .w33 .smf-item__controls{
  width: 33%;
}
.box_contact .w50 .smf-item__controls{
  width: 50%;
}
.smf-select-control__control option[disabled] {
  color: #F8F5F4; /* グレー */
}
.smf-item__col--controls{}
.box_contact h3{font-size: min(16px, calc(100vw * 16 / 1366));padding: min(24px, calc(100vw * 24 / 1366)) 0 min(20px, calc(100vw * 20 / 1366)) 0;border-top: 1px solid #d1c6c1;}
small.hn{font-size: min(12px, calc(100vw * 12 / 1366));margin: min(8px, calc(100vw * 8 / 1366)) 0 0 0;display: block;}
.smf-action .smf-button-control__control[data-action="confirm"],
.smf-action .smf-button-control__control[data-action="complete"] {
  width: min(280px, calc(100vw * 280 / 1366));
  margin: min(40px, calc(100vw * 40 / 1366)) auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  height: min(70px, calc(100vw * 70 / 1366));
  background: #1c3683;
  color: #fff;
  border-radius: 40px;
  font-size: min(14px, calc(100vw * 14 / 1366));
  font-weight: 500;
  transition: background-color 0.3s;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  letter-spacing: 0.1em;
  background: linear-gradient(79.48deg, #b6422a 45.3%, #f24a29 94.88%);
    overflow: hidden;
    color: #fff;
    border: none;
}
.smf-action .smf-button-control__control[data-action="confirm"]::after,
.smf-action .smf-button-control__control[data-action="complete"]::after {
width: 12px;
height: 12px;
content: "";
background: url(../img/arrow_wh.png) no-repeat bottom;
position: absolute;
background-size: contain;
right: 9%;
}
.smf-action .smf-button-control__control[data-action="confirm"]:hover::before,
.smf-action .smf-button-control__control[data-action="complete"]:hover::before
 {
  opacity: 1;
}
.smf-action .smf-button-control__control[data-action="confirm"]::before,
.smf-action .smf-button-control__control[data-action="complete"]::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #f24a29;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  z-index: 0;
}
.smf-action .smf-button-control__control[data-action="confirm"] span,
.smf-action .smf-button-control__control[data-action="complete"] span {
  position: relative;
  z-index: 1;
}
.smf-item__label{
  margin: min(20px, calc(100vw * 20 / 1366)) 0 0 0;
  line-height: 1.4;
}
.td .smf-item__label{
  margin: min(8px, calc(100vw * 8 / 1366)) 0 0 0;
}
[data-screen="confirm"] .c_none{
  display: none;
}
[data-screen="confirm"] .smf-item__label{
  /*margin: min(8px, calc(100vw * 8 / 1366)) 0 0 0;*/
  margin: 0;
}
[data-screen="confirm"] .smf-item{align-items: center;}
[data-screen="confirm"] .smf-form{margin: min(44px, calc(100vw * 44 / 1366)) 0;}
[data-screen="confirm"] .smf-action{
  display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column-reverse;
    gap: 1vw;
}
[data-action="back"].smf-button-control__control{
  border: none!important;
  background: #fff!important;
  text-decoration: underline!important;
  text-underline-offset: 2px;
}
.sub .smf-item__label{
  margin: min(18px, calc(100vw * 18 / 1366)) 0 0 0;
  padding: 0 0 0 min(20px, calc(100vw * 20 / 1366));
}
.smf-item__label__text{
  position: relative;
  font-size: min(16px, calc(100vw * 16 / 1366));
}
.rec .smf-item__label__text::before{
  position: absolute;
  content: "必須";
  right: -4.2vw;
  background: #b4503c;
  color: #fff;
  font-size: min(10px, calc(100vw * 10 / 1366));
  padding: min(4px, calc(100vw * 4 / 1366)) min(11px, calc(100vw * 11 / 1366)) min(5px, calc(100vw * 5 / 1366));
  border-radius: 4px;
  top: 52%;
  transform: translateY(-50%);
}
.smf-form{
}
.smf-item{
  display: flex;
  padding: min(24px, calc(100vw * 24 / 1366)) min(8px, calc(100vw * 8 / 1366));
  border-top: 1px solid #d1c6c1;
}
.smf-item.sub{
  display: flex;
  padding: min(6px, calc(100vw * 6 / 1366)) min(8px, calc(100vw * 8 / 1366));
  border-top: none;
}
.smf-item.bb
{border-bottom: 1px solid #d1c6c1;}
.smf-item.sub.last{
  display: flex;
  padding: min(6px, calc(100vw * 6 / 1366)) min(8px, calc(100vw * 8 / 1366)) min(24px, calc(100vw * 24 / 1366)) min(8px, calc(100vw * 8 / 1366));
  border-top: none;
}

.smf-item__col--label{width: 25.5%;}
.smf-item__col--controls{width: 74.5%;}
.flex .smf-item__col--controls{display: flex;align-items: center;gap: 12px;}
.smf-item__controls + span{font-weight: 500;font-size: min(16px, calc(100vw * 16 / 1366));}
.box_contact textarea {
  height: min(220px, calc(100vw * 220 / 1366));
  resize: vertical;
  line-height: 1.6;
}
.smf-placeholder + .smf-placeholder{
  margin: min(12px, calc(100vw * 12 / 1366)) 0 0 0;
}

.box_contact .date-range {
  display: flex;
  flex-wrap: wrap;
  gap: 1%;
}
.c05 .t_block01{
  margin: min(40px, calc(100vw * 40 / 1366)) auto min(88px, calc(100vw * 88 / 1366));
}
.t_block01{
  margin: min(40px, calc(100vw * 40 / 1366)) auto min(46px, calc(100vw * 46 / 1366));
}
[data-screen="confirm"] .t_block01{
  margin: min(40px, calc(100vw * 40 / 1366)) auto;
}
.t_block01 a{text-decoration: underline;font-weight: 500;color: #b53f27;text-underline-offset: 2px;}
.t_block02{
  margin: min(40px, calc(100vw * 40 / 1366)) auto 0;
}
.t_block02 span{font-weight: 500;color: #b4503c;}
.t_block02 a{text-decoration: underline;font-weight: 500;text-underline-offset: 2px;}
.r_block{text-align: center;margin: min(40px, calc(100vw * 40 / 1366)) auto;}
.r_block .g-recaptcha{display: inline-block;}
.box_contact + .smf-action{margin: 0 auto min(120px, calc(100vw * 120 / 1366));}
.t_block03 span.red{color: #fff;background: #b4503c;font-size: min(10px, calc(100vw * 10 / 1366));padding: min(2px, calc(100vw * 2 / 1366)) min(11px, calc(100vw * 11 / 1366)) min(3px, calc(100vw * 3 / 1366));border-radius: 4px;margin: -2px 5px 0 0;vertical-align: middle;display: inline-block;}
.box_photo{background: #F8F5F4;padding: 5% 6%;border-radius: 40px;margin: min(80px, calc(100vw * 80 / 1366)) 0 0 0;}
.box_photo .text_hl{text-align: center;font-size: min(32px, calc(100vw * 32 / 1366));color: #b4503c;font-weight: 500;margin: 0 0  min(16px, calc(100vw * 16 / 1366)) 0;}
.box_photo .text01{text-align: center;}
.box_photo .text01 span{font-weight: 500;}
.box_photo ul{display: flex;justify-content: space-between;margin: 5% 0 0 0;}
.box_photo ul li{display: flex;width: 48.5%;background: #fff;padding: 3%;align-items: center;gap: 5%;border-radius: 32px;}
.box_photo ul li img{width: 24%;}
.box_photo ul li p{width: 71%;font-size: min(18px, calc(100vw * 18 / 1366));line-height: 1.55;}
.box_photo ul li p small{font-size: min(14px, calc(100vw * 14 / 1366));}
.box_photo ul li p span{font-weight: 500;}

@media (min-width: 1500px) {
  .rec .smf-item__label__text::before {
    right: -50px;
  }
}
/*contact05*/
ul.c_flow{display: flex;flex-wrap: wrap;justify-content: space-between;margin: min(40px, calc(100vw * 40 / 1366)) 0 0 0;position: relative;}
ul.c_flow::before{position: absolute;
  height: 2px;
  width: 100%;
  background: #ece3df;
  content: "";
  top: 44%;
  transform: translateY(-50%);}
ul.c_flow li {
  width: 31.5%;
  padding: 2% 2% 2.5%;
  border: 2px solid #ece3df;
  border-radius: 28px;
  margin: 0 0 min(40px, calc(100vw * 40 / 1366)) 0;
  position: relative;
  background: #fff;
}
ul.c_flow li .box00{display: flex;justify-content: space-between;margin: 0 0 3% 0;}
ul.c_flow li .box01{width: 33%;}
ul.c_flow li .box02{width: 58%;display: flex;align-items: center;}
ul.c_flow li .text01{
  font-size: min(18px, calc(100vw * 18 / 1366));
  font-weight: 500;
  line-height: 1.5;
}
ul.c_flow li .text02{
  font-size: min(14px, calc(100vw * 14 / 1366));
  line-height: 1.6;
}
ul.c_flow li .text02 p{display: inline-block;color: #B53F27;}
ul.c_flow li span.f_num{display: block;position: absolute;right: -4.5%;top: -6%;background: #fff;border: 2px solid #ece3df;border-radius: 28px;width: min(48px, calc(100vw * 48 / 1366));height: min(48px, calc(100vw * 48 / 1366));display: flex;align-items: center;justify-content: center;font-size: min(16px, calc(100vw * 16 / 1366));}
.contact .s_caution{display: block;text-align: center;}

/*news*/
.news .box02{
  width: 15%;
  padding: 0 0 0 3%;
}
.news .box02 ul{
position: sticky;
    top: 15px;
  }
.news .box02 li {
  margin: 0 0 20% 0;
}
.news .box02 li a.active {
  color: #1e3246;
}
.news .box02 li a {
  color: #8d8d8f;
  position: relative;
  padding: 0 0 0 10%;
  font-size: var(--fs-base);
}
.news .box02 li a.active:before {
  background: #1e3246;
}
.news .box02 li a::before {
  position: absolute;
  background: #8d8d8f;
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 6px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.news .box03 > ul{margin: 0 0 min(80px, calc(100vw * 80 / 1366)) 0;}
.news .box03 >ul li{border-top: 1px solid #d1c6c1;padding: min(44px, calc(100vw * 44 / 1366)) 1%;}
.news .box03 >ul li:last-child{border-bottom: 1px solid #d1c6c1;}
.news .box03 >ul li .box04{display: flex;margin: 0 0 2% 0;align-items: center;gap: 2%;}
.news .box03 >ul li .box04 a.cate {
  border: 1px solid #d1c6c1;
  padding: 5px 20px;
  border-radius: 4px;
  font-size: min(12px, calc(100vw * 12 / 1366));
  display: block;
  text-align: center;
}
.news .box03 >ul li .box05 a {
  display: block;
  line-height: 1.7;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: #1e3246;
  transition: all 0.3s;
  font-size: var(--fs-base);
}
.news .box03 >ul li .box05 a:hover {
  text-decoration-color: #f8f5f4;
}

/*news詳細*/
.news.single .box04{display: flex;gap: 12px;align-items: center;}
.news.single h1{
  font-size: min(36px, calc(100vw * 36 / 1366));
  font-weight: 500;
  line-height: 1.5;
  margin: 4% 0 5% 0;
  padding: 0 0 5% 0;
  border-bottom: 1px solid #d1c6c1;
}
.news.single a.cate{
  border: 1px solid #d1c6c1;
  padding: 5px 10px;
  border-radius: 4px;
  font-size: min(10px, calc(100vw * 10 / 1366));
  display: block;
  text-align: center;
}
.layout-section .thum-main img{border-radius: 32px;width: 100%;}
.layout-section img{border-radius: 20px;width: 74.5%;margin: 0 auto;display: block;}
.layout-section .wp-block-columns{
  gap: 2em;
  margin: min(48px, calc(100vw * 48 / 1366)) 0;
}
.wp-block-table{
  margin: min(48px, calc(100vw * 48 / 1366)) 0;
}
.layout-section .wp-block-columns img{width: 100%;}
.layout-section h2 {
  font-size: min(32px, calc(100vw * 32 / 1366));
  font-weight: 500;
  line-height: 1.5;
}

/* 段落 */
.layout-section p {
  line-height: 1.95;
  font-size: var(--fs-base);
  margin: min(28px, calc(100vw * 28 / 1366)) 0 min(64px, calc(100vw * 64 / 1366));
}
.layout-section .wp-block-columns p{
  margin: 0;
  line-height: 1.8;
}

/* 大きい画像 */
.layout-photo-large {
  width: 100%;
  max-width: 760px;
  aspect-ratio: 760 / 470;
  background-color: #F8F5F4;
  display: block;
  margin: 2rem auto;
  object-fit: cover;
}

/* 2カラム横並び（小さい画像＋テキスト） */
.layout-section .row {
  display: flex;
  gap: 5%;
  margin: 5% 0;
}
.layout-section .img-middle{
  width: 74.5%;
  margin: 0 auto;
}
.layout-section .row img {
  aspect-ratio: 400 / 247;
  display: block;
  object-fit: cover;
  width: 39.2%;
}

.layout-section .row p {
  flex: 1;
}

/* 表 */
.layout-section table {
  width: 100%;
  border-collapse: collapse;
}

.layout-section th,
.layout-section td {
  border: 1px solid #d1c6c1!important;
  text-align: center;
}

.layout-section tr:first-child td {
  padding: min(9px, calc(100vw * 9 / 1366)) 0 min(10px, calc(100vw * 10 / 1366));
  color: #8d8d8f;
  background: #f5f1ef;
  font-weight: 500;
  font-size: min(14px, calc(100vw * 14 / 1366));
}
.layout-section .wp-block-table td {
  font-size: var(--fs-base);
  padding: min(19px, calc(100vw * 19 / 1366)) 0 min(17px, calc(100vw * 17 / 1366));
  font-size: min(16px, calc(100vw * 16 / 1366));
}

.layout-section td:first-child {
  font-weight: 500;
}

.news.single .btn01.v04{
  margin: 0 auto;
}

/*404*/
.p404 #u_sec01.small{
  height: 0;
  margin: ;
  margin: 0 0 min(100px, calc(100vw * 100 / 1366));
}
