@media screen and (max-width: 767px) {
  :root {
    --fs-base: min(14px, calc(100vw * 14 / 375));
  }
  /*クリックで青くなるケア*/
  button,
  button *,
  button::before,
  button::after,
  button *::before,
  button *::after,
  a,
  a *,
  a::before,
  a::after,
  a *::before,
  a *::after {
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    outline: none;
    background-color: transparent;
    box-shadow: none;
    border: none;
  }
  .sp {
    display: block;
  }
  .pc {
    display: none !important;
  }
  .wrap,
  .wrap.v02 {
    padding: 0 5%;
  }
  h2.hl {
    font-size: min(28px, calc(100vw * 28 / 375));
    line-height: 1.35;
    margin: 0 0 4vw 0;
  }
  footer h2.hl {
    font-size: min(26px, calc(100vw * 26 / 375));
    line-height: 1.5;
    margin: 0 0 9vw 0;
  }
  h2.hl span {
    font-size: min(11px, calc(100vw * 11 / 375));
  }
  .t01 {
    font-size: min(14px, calc(100vw * 14 / 375));
  }
  .t01.sub {
    margin: 0 0 7vw 0;
  }
  header {
    height: 70px;
    padding: 0;
    /*position: fixed;*/
    top: 0;
    background: #fff;
    z-index: 100;
    width: 100%;
    border-bottom: 2px solid #ece3df;
  }
  main {
    /* margin: 70px 0 0 0;*/
  }
  header .h_logo {
    position: relative;
    width: 100%;
    top: 8px;
    text-align: center;
  }
  header .h_logo img {
    width: auto;
    height: 50px;
  }
  header .box_s {
    position: absolute;
    left: 5px;
    top: 8px;
  }
  .sp-search {
    position: relative;
  }

  #sp-search-toggle {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    border: 2px solid #ece3df;
    cursor: pointer;
  }
  #sp-search-toggle img {
    width: 18px;
  }

  /* 検索フォーム：初期は非表示 */
  .sp-search-field {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: all 0.3s ease;
    margin-top: 0;
    width: 100vw;
    padding: 6px 10px;
    background: #fff;
    position: absolute;
    left: -5px;
    z-index: 1;
    top: 62px;
    height: 70px;
  }

  /* 表示状態 */
  .sp-search-field.active {
    max-height: 100px; /* 適宜調整 */
    opacity: 1;
  }

  .sp-search-field input {
    width: 100%;
    padding: 0 45px 0 20px;
    border: none;
    border-radius: 8px;
    font-size: 1rem;
    background: #f5f2f1;
    box-shadow: inset 0px 2px 0px rgba(212, 197, 192, 0.2);
    height: 56px;
  }
  .sp-search-field input:focus {
    outline: none;
  }
  .sp-search-field .submit-btn {
    width: 16px;
    position: absolute;
    right: 26px;
    top: 50%;
    transform: translateY(-50%);
  }

  /*ハンバーガー*/
  /* オーバーレイ */
  #menu-overlay {
    position: fixed;
    inset: 0; /* top: 0; right: 0; bottom: 0; left: 0; と同じ */
    background: #b4503c;
    mix-blend-mode: multiply;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease;
    z-index: 900; /* メニューより下に */
    pointer-events: none; /* クリックを通さないように初期はoff */
  }

  #menu-overlay.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  /* メニュー全体 */
  .wave-line {
    width: 14px;
    height: 7px;
    left: 50%;
    transform: translateX(-50%);
  }
  .menu-button {
    padding: 7px;
    width: min(22px, calc(100vw * 22 / 375));
    height: min(16px, calc(100vw * 16 / 375));
  }
  .wave-line:nth-child(2) {
    top: 5px;
  }
  .wave-line:last-child {
    top: 10px;
  }
  #menu-open-btn {
    position: absolute;
    right: 5px;
    top: 8px;
    border: 2px solid #ece3df;
    width: 54px;
    height: 54px;
    border-radius: 50px;
    color: #1e3246;
  }
  #menu-open-btn button {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 3px;
    margin: 10px auto 0;
    font-size: 9px;
  }
  #menu-open-btn {
    cursor: pointer;
  }

  #menu-open-btn button {
    cursor: pointer;
  }
  #slide-menu {
    position: fixed;
    top: 0;
    right: -90%;
    width: 85.8%;
    height: 100%;
    background: #fff;
    z-index: 1000;
    transition: right 0.3s ease;
    overflow-y: auto;
    border-left: 2px solid #ece3df;
  }

  /* 開いたとき */
  #slide-menu.open {
    right: 0;
  }
  #slide-menu .btn01 {
    font-size: min(12px, calc(100vw * 12 / 375));
    line-height: 1.4;
    height: min(56px, calc(100vw * 56 / 375));
    letter-spacing: 0.04rem;
  }
  #slide-menu .btn01::after {
    content: none;
  }

  /* 閉じるバツボタン（左10%の領域） */
  #menu-close-btn {
    position: fixed;
    top: 1rem;
    right: 88%;
    width: 32px;
    height: 32px;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 1001;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    display: none;
  }
  #slide-menu.open + #menu-close-btn {
    display: block; /* メニューが開いたら表示 */
  }
  /* バツのライン2本 */
  .close-line {
    position: absolute;
    width: 24px;
    height: 3px;
    background-color: #fff;
    border-radius: 2px;
    transition: 0.3s;
    left: 0;
  }

  /* 斜めに交差させる */
  .line1 {
    transform: rotate(45deg);
  }

  .line2 {
    transform: rotate(-45deg);
  }

  .btn01 {
    width: min(280px, calc(100vw * 280 / 375));
    margin: min(40px, calc(100vw * 40 / 375)) auto 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    height: min(70px, calc(100vw * 70 / 375));
    background: #1c3683;
    color: #fff;
    border-radius: 40px;
    font-size: min(14px, calc(100vw * 14 / 375));
    transition: background-color 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
  }
  .news.single a.wp-block-button__link {
    min-width: min(280px, calc(100vw * 280 / 375));
    margin: min(40px, calc(100vw * 40 / 375)) auto 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    height: min(70px, calc(100vw * 70 / 375));
    background: #1c3683;
    color: #fff;
    border-radius: 40px;
    font-size: min(16px, calc(100vw * 16 / 375));
    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 / 375)) 0
      min(53px, calc(100vw * 53 / 375));
  }
  .news.single a.wp-block-button__link::after {
    right: min(24px, calc(100vw * 24 / 375));
  }
  .smf-action .smf-button-control__control[data-action="confirm"],
  .smf-action .smf-button-control__control[data-action="complete"] {
    width: min(280px, calc(100vw * 280 / 375));
    margin: min(40px, calc(100vw * 40 / 375)) auto 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    height: min(70px, calc(100vw * 70 / 375));
    color: #fff;
    border-radius: 40px;
    font-size: min(16px, calc(100vw * 16 / 375));
    transition: background-color 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
  }
  .search-button {
    width: min(200px, calc(100vw * 200 / 375));
    height: min(60px, calc(100vw * 60 / 375));
    font-size: min(14px, calc(100vw * 14 / 375));
    margin: 0 auto;
  }
  .search-form img {
    width: 20px;
  }
  /* メニューリスト */
  .menu-list {
    list-style: none;
    margin: 0;
    font-size: 15px;
  }
  .menu-list .btn01.v02 {
    margin: 0;
  }
  .menu-list .btn01.v03 {
    margin: 0;
  }

  .menu-list a {
    width: 100%;
  }
  .menu-list .single {
    position: relative;
  }
  .menu-list .single::before {
    position: absolute;
    content: "";
    width: 12px;
    height: 12px;
    background: url(../img/r01.png) center center no-repeat;
    background-size: contain;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
  }
  /* アコーディオン */
  .accordion-btn {
    position: relative;
    width: 100%;
    text-align: left;
    cursor: pointer;
    font-size: min(15px, calc(100vw * 15 / 375));
    padding: min(32px, calc(100vw * 32 / 375)) min(16px, calc(100vw * 16 / 375));
    border-bottom: 2px solid #ece3df;
    font-weight: 500;
    color: #1e3246;
  }

  /* 擬似要素で＋マークを右側に */
  .accordion-btn::before,
  .accordion-btn::after {
    content: "";
    position: absolute;
    right: 1em;
    top: 50%;
    width: 16px;
    height: 2px;
    background-color: #b4503c;
    border-radius: 1px;
    transition: all 0.3s ease;
  }

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

  /* 縦棒（|） */
  .accordion-btn::after {
    transform: translateY(-50%) rotate(90deg);
  }

  .accordion.open .accordion-btn::after {
    opacity: 1;
    transform: translateY(-50%) rotate(180deg);
  }
  .submenu {
    overflow: hidden;
    height: 0;
    transition: height 0.3s ease;
    background: #f8f5f4;
    padding: 0 10px;
  }
  .submenu li {
    padding: 5px;
    border-radius: 8px;
    background: #fff;
    margin: 0 0 5px 0;
  }
  .submenu li:first-child {
    margin: 5px 0;
  }
  .submenu li a {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: min(14px, calc(100vw * 14 / 375));
  }
  .submenu li a span {
    width: 46px;
    height: 46px;
    border-radius: 30px;
    background: #f8f5f4;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 0 8px;
  }
  .submenu li a span img {
    width: 30px;
  }
  .menu-list li.accordion {
    background: #f8f5f4;
  }
  .menu-list li.single {
    border-top: 2px solid #ece3df;
  }
  .menu-list li.single a {
    padding: min(24px, calc(100vw * 24 / 375)) min(16px, calc(100vw * 16 / 375));
    display: block;
    font-weight: 500;
    color: #1e3246;
  }
  .menu-list li.single:last-child {
    border-bottom: 2px solid #ece3df;
  }
  .menu-list li.box01 {
    background: #f8f5f4;
    padding: 7vw 0;
  }
  .menu-list li .box02 {
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    gap: 7%;
  }
  .menu-list li .box02 div {
    font-size: min(36px, calc(100vw * 36 / 375));
    font-weight: normal;
    color: #000;
  }
  .menu-list li .box02 p {
    text-align: center;
    font-size: min(12px, calc(100vw * 12 / 375));
    color: #8d8d8f;
    line-height: 1.5;
  }
  .menu-list li .box02 p span {
    text-align: center;
    font-size: min(15px, calc(100vw * 15 / 375));
  }
  .menu-list li .box03 {
    display: flex;
    gap: 10px;
    padding: 5% 15px 0;
  }
  #sec01 h2 {
    font-size: min(30px, calc(100vw * 30 / 375));
  }
  #sec01 h2 p {
    font-size: min(15px, calc(100vw * 15 / 375));
    line-height: 1.6;
    margin: 4vw 0 0 0;
  }
  .bg-image {
    object-fit: cover;
    object-position: left top;
  }
  #sec01 {
    height: 133.3vw;
  }
  #sec02 {
    padding: 12vw 0;
  }
  #sec03 {
    padding: 18vw 0;
  }
  #sec04 {
    padding: 12vw 0;
  }
  #sec06 {
    padding: 12vw 0 20vw 0;
  }
  #sec07 {
    padding: 12vw 0;
  }
  #sec08 {
    padding: 10vw 0 2vw 0;
  }
  .main-slider {
    margin: -128vw 0 0 0;
  }
  .custom-dots-wrapper .slick-dots {
    width: auto;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
    bottom: -10vw;
    border: 1px solid #b4503c;
    padding: 0 10px 1px;
  }
  .custom-dots-wrapper .slick-dots li {
    margin: 0;
  }
  .custom-dots-wrapper .slick-dots li button:before {
    font-size: 8px;
  }
  .custom-dots-wrapper .slick-dots li.slick-active button:before {
    font-size: 12px;
    color: #b4503c;
  }
  .custom-dots-wrapper {
    position: relative;
  }
  .thumbs-container {
    top: 103vw;
    background: #fff;
    width: auto;
    height: 9vw;
  }
  .thumbs-container .inner {
    padding: 0 4vw;
    height: 9vw;
    border: 1px solid #b4503c;
    box-sizing: border-box;
  }
  .thumbs {
    height: 100%;
    align-items: center;
  }
  .thumbs-button {
    width: 9vw;
    height: 9vw;
    top: -1px;
    transform: none;
    box-sizing: border-box;
  }
  .thumbs-button img {
    width: 2.5vw;
  }
  .thumbs-button.prev {
    left: -9vw;
    border-radius: 30px 0 0 30px;
  }
  .thumbs-button.next {
    right: -9vw;
    border-radius: 0 30px 30px 0;
  }
  .thumbs .thumb {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #ccc;
    overflow: hidden;
    position: relative;
  }
  .thumbs .thumb.active {
    background-color: #b4503c;
    opacity: 1;
    border: none;
    transform: scale(1.8);
  }
  .thumbs .thumb img {
    display: none !important;
  }
  .search-form {
    display: block;
    padding: 5%;
    margin: -14.5% auto 0;
    padding: 5%;
  }
  .search-form::before,
  .search-form::after {
    top: calc(26% - 20px);
  }
  .search-category,
  .search-keyword {
    width: 100%;
    padding: 5%;
    height: auto;
    height: min(56px, calc(100vw * 56 / 375));
  }
  .search-keyword {
    margin: 2vw auto 4vw;
  }
  .newitem-slider-section {
    padding: 10vw 0;
    margin: 0;
  }
  .newitem-slider .newitem-card.slick-slide {
    width: 45vw;
    margin: 0 6vw;
  }
  .newitem-slider-nav {
    position: relative;
    display: block;
    right: 0;
    display: inline-block;
  }
  .newitem-slider-section {
    text-align: center;
  }
  .newitem-dots,
  .newitem-dots > ul {
    margin: 0;
    display: inline-block;
  }
  .newitem-arrows {
    position: absolute;
    border: none;
    width: 100%;
    background: none;
  }
  .item-detail .slick-dotted.slick-slider {
    margin: 0 0 min(28px, calc(100vw * 28 / 375)) 0;
  }
  .newitem-arrows::before {
    content: none;
  }
  .newitem-slider-nav .slick-arrow.slick-next,
  .newitem-slider-nav .slick-arrow.slick-prev {
    border: #b4503c 1px solid;
    border-radius: 8vw;
    width: 8vw;
    height: 8vw;
  }
  .newitem-slider-nav .slick-arrow.slick-next {
    right: -13vw;
    top: 40%;
  }
  .newitem-slider-nav .slick-arrow.slick-prev {
    left: -13vw;
    top: 40%;
  }
  .newitem-slider:not(.kanren .newitem-slider)
    .slick-center.newitem-card.slick-slide::before {
    top: min(-24px, calc(100vw * -24 / 375));
    right: min(-24px, calc(100vw * -24 / 375));
  }
  .newitem-card.slick-slide.new-icon::before {
    line-height: min(48px, calc(100vw * 48 / 375));
    width: min(48px, calc(100vw * 48 / 375));
    height: min(48px, calc(100vw * 48 / 375));
    border-radius: 60px;
    top: min(-10px, calc(100vw * -10 / 375));
    right: min(-10px, calc(100vw * -10 / 375));
    font-size: min(12px, calc(100vw * 12 / 375));
    z-index: 5;
  }
  #sec02 .newitem-slider:not(.kanren .newitem-slider) .slick-center .date {
    margin: 20% 0 0 0;
  }
  #sec02 .date {
    font-size: min(12px, calc(100vw * 10 / 375));
  }
  #sec02 .title {
    font-size: min(16px, calc(100vw * 16 / 375));
    margin: min(8px, calc(100vw * 8 / 375)) 0 min(4px, calc(100vw * 4 / 375)) 0;
    line-height: 1.4;
  }
  #sec02 .maker {
    font-size: min(14px, calc(100vw * 12 / 375));
  }
  #sec02 .btn01.v01 {
    margin: 0 auto;
  }
  #sec03 ul li {
    font-size: min(12px, calc(100vw * 12 / 375));
    width: 31%;
    padding: 0 2% 5%;
  }
  #sec04 ul {
    flex-direction: column;
    gap: 5vw;
  }
  #sec04 ul li {
    width: 100%;
    padding: 5%;
  }
  #sec04 ul li .box01 {
    display: flex;
    align-items: center;
    gap: 4vw;
  }
  #sec04 ul li .box01 img {
    width: 30%;
    border-radius: 10px;
    aspect-ratio: 1 / 1;
    object-fit: cover;
  }
  #sec04 ul li .text01 {
    padding: 0;
    font-size: min(18px, calc(100vw * 18 / 375));
  }
  #sec04 ul li .text02 {
    padding: 5% 0 0 0;
    font-size: min(14px, calc(100vw * 14 / 375));
    line-height: 1.6;
  }
  #sec04 ul li span {
    position: relative;
    float: right;
    right: 0;
    width: 8vw;
    height: 8vw;
    border-radius: 10vw;
  }
  #sec05 h2 {
    font-size: min(26px, calc(100vw * 26 / 375));
    text-align: center;
    margin: 0 0 12% 0;
  }
  #sec05 .box00 {
    padding: 13% 7%;
    display: flex;
    gap: 4%;
    flex-direction: column;
    border-radius: 20px;
  }
  #sec05 .box01 {
    width: 100%;
    max-width: 100%;
  }
  #sec05 .box02 {
    width: 100%;
  }
  #sec05 .box02 li::before {
    content: none;
  }
  #sec05 .box02 li {
    flex-direction: column;
    width: 100%;
    padding: 10% 0;
  }
  #sec05 .box03 {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 2vw;
  }
  #sec05 .box02 li .date {
    margin: 0;
    font-size: min(16px, calc(100vw * 16 / 375));
  }
  #sec05 .box02 li .cate {
    border: 1px solid #d1c6c1;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: min(12px, calc(100vw * 12 / 375));
    display: block;
    text-align: center;
  }
  #sec05 .box04 {
    width: 100%;
    padding: 4% 0 0 0;
  }
  #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: min(14px, calc(100vw * 14 / 375));
  }
  #sec05 .btn01.v04 {
    margin: 10% auto 0;
  }
  #sec06 .logo_track img {
    height: min(40px, calc(100vw * 40 / 375));
    width: auto;
  }
  #sec06 .logo_item {
    padding: 0 15px;
  }
  #sec07 .search-form {
    padding: 6%;
  }
  #sec07 ul {
    flex-wrap: wrap;
    margin: 4% 0 0 0;
    gap: 3vw;
  }
  #sec07 ul li {
    width: calc(50% - 1.5vw);
  }
  #sec07 ul li.tel {
    width: 100%;
    padding: 6% 0;
  }
  #sec07 ul li div {
    font-size: min(38px, calc(100vw * 38 / 375));
  }
  #sec07 ul li p {
    font-size: min(12px, calc(100vw * 12 / 375));
  }
  #sec07 ul li p span {
    font-size: min(18px, calc(100vw * 18 / 375));
  }
  #sec07 ul li a.btn_f {
    font-size: min(14px, calc(100vw * 14 / 375));
    line-height: 1.5;
    justify-content: flex-start;
    padding: 15% 0;
  }
  #sec07 ul li a.btn_f img {
    width: min(24px, calc(100vw * 24 / 375));
    height: min(24px, calc(100vw * 24 / 375));
    object-fit: contain;
    margin: 0 auto 3vw;
  }
  #sec08 .wrap {
    padding: 0;
  }
  #sec08 .box01 {
    padding: 7% 5%;
  }
  #sec08 .f_logo {
    width: 70%;
    margin: 0 auto 1.5%;
  }
  #sec08 h2 {
    font-size: min(16px, calc(100vw * 16 / 375));
    margin: 0 0 7vw 0;
  }
  #sec08 ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  #sec08 ul li {
    width: 49%;
    margin: 0 0 2% 0;
  }
  #sec08 ul li a {
    color: #fff;
    padding: 8% 0;
    font-size: min(12px, calc(100vw * 12 / 375));
  }
  #sec08 ol {
    width: 100%;
    justify-content: space-around;
  }
  #sec08 ol + ol {
    width: 100%;
    margin: 5% auto 0;
  }
  #sec08 ol li {
    text-align: center;
    float: left;
  }
  #sec08 ol a {
    color: #fff;
    font-size: min(13px, calc(100vw * 13 / 375));
    display: block;
  }
  #sec08 .text01 {
    font-size: min(12px, calc(100vw * 12 / 375));
    line-height: 1.8;
    margin: 0 0 10vw 0;
  }
  #sec08 .text02 {
    font-size: min(12px, calc(100vw * 12 / 375));
    line-height: 2;
  }
  #sec09 {
    background: url(../img/f_bg03.jpg) repeat;
    padding: 2vw 0 19vw 0;
    text-align: center;
    color: #fff;
    font-size: min(10px, calc(100vw * 10 / 375));
  }
  #float_btn {
    position: fixed;
    bottom: 0;
    left: 0;
    display: flex;
    width: 100%;
    z-index: 100;
  }
  #float_btn a {
    background: #2d4664;
    color: #fff;
    border: #2d4664 1px solid;
    text-align: center;
    width: 50%;
    padding: 2vw 0;
    font-size: min(12px, calc(100vw * 12 / 375));
  }
  #float_btn a:first-child div {
    font-size: min(26px, calc(100vw * 26 / 375));
  }
  #float_btn a:first-child p {
    font-size: min(8px, calc(100vw * 8 / 375));
    line-height: 1.2;
  }
  #float_btn a:first-child p span {
    font-size: min(11px, calc(100vw * 11 / 375));
  }
  #float_btn a:nth-child(2) {
    background: #fff7f2;
    color: #b4503c;
    border: none;
    border-top: #b4503c 1px solid;
    border-bottom: #b4503c 1px solid;
    width: 25%;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.4;
  }
  #float_btn a:nth-child(3) {
    background: linear-gradient(79.48deg, #b6422a 45.3%, #f24a29 94.88%);
    color: #fff;
    border: #b4503c 1px solid;
    width: 25%;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.4;
  }

  /*パンクずスクロール*/
  #u_sec01 .breadcrumbs {
    position: absolute;
    width: 100%;
    padding: min(12px, calc(100vw * 12 / 375)) 0 0
      min(12px, calc(100vw * 12 / 375));
    left: 0;
    top: 0;
  }
  #u_sec01 .breadcrumbs ul li + li::before {
    left: -2.3vw;
    color: #e0c0b9;
    font-size: min(10px, calc(100vw * 10 / 375));
  }
  #u_sec01.small .breadcrumbs {
    position: relative;
  }
  .breadcrumbs {
    overflow-x: auto; /* 横スクロール許可 */
    white-space: nowrap; /* 改行させない */
    -webkit-overflow-scrolling: touch;
  }

  .breadcrumbs ul {
    display: inline-block; /* 横並びを維持 */
  }

  .breadcrumbs li {
    display: inline; /* liを横並び */
    margin-right: 0.5em; /* 適度な余白 */
  }

  .breadcrumbs a,
  .breadcrumbs li {
    white-space: nowrap; /* 各要素も改行させない */
  }
  #u_sec01.small {
    height: min(30px, calc(100vw * 30 / 375));
    border: none;
  }
  /*サービス　p01*/
  #u_sec01 {
    background: url(../img/u_bg.jpg) top right no-repeat;
    color: #fff;
    background-size: cover;
    text-align: center;
    position: relative;
    height: 69.3vw;
    margin: 0 0 min(40px, calc(100vw * 40 / 375));
  }
  .item-detail #u_sec01.small {
    margin: 0;
  }
  #u_sec01.v02 {
    height: 56vw;
  }
  #u_sec01 h1 {
    font-size: min(28px, calc(100vw * 28 / 375));
  }
  #u_sec01 .box01 {
    gap: 5.3vw;
  }
  #u_sec01 .box01 .text01 {
    font-size: min(14px, calc(100vw * 14 / 375));
  }
  #u_sec01 .breadcrumbs {
    font-size: min(10px, calc(100vw * 10 / 375));
  }
  .u_page.p01 .sec02 h2 {
    font-size: min(16px, calc(100vw * 16 / 375));
    line-height: 1.5;
  }
  .u_page.p01 .sec02 h2 p {
    font-size: min(26px, calc(100vw * 26 / 375));
  }
  .u_page.p01 .sec02 .img01 {
    margin: min(35px, calc(100vw * 35 / 375)) 0;
  }
  .u_page.p01 .sec02 .img02 {
    padding: 0 5%;
  }
  .u_page.p01 .sec02 .text01 {
    margin: min(28px, calc(100vw * 28 / 375)) 0 0 0;
  }
  .u_page .sec03 {
    padding: min(60px, calc(100vw * 60 / 375)) 0;
    margin: min(60px, calc(100vw * 60 / 375)) 0 0 0;
  }
  .u_page .sec03 h2.hl {
    margin: 0 0 min(35px, calc(100vw * 35 / 375)) 0;
  }
  .u_page .sec03 .btn01 {
    margin: min(35px, calc(35vw * 100 / 375)) auto
      min(60px, calc(60vw * 100 / 375));
  }
  .p02 .sec02 ul {
    flex-direction: column;
  }
  .p02 .sec02 ul::before {
    position: absolute;
    height: 96%;
    width: 2px;
    background: #ece3df;
    content: "";
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  .p02 .sec02 ul li {
    width: 100%;
    border-radius: 20px;
    margin: 0 0 4% 0;
    background: #fff;
  }
  .p02 .sec02 ul li span {
    display: flex;
    position: absolute;
    left: -3%;
    transform: none;
    top: -10%;
    background: #fff;
    border: 2px solid #ece3df;
    border-radius: 28px;
    width: min(44px, calc(100vw * 44 / 375));
    height: min(44px, calc(100vw * 44 / 375));
    align-items: center;
    justify-content: center;
    font-size: min(14px, calc(100vw * 14 / 375));
  }
  .p02 .sec02 ul li a {
    display: flex;
    padding: 0;
  }
  .p02 .sec02 ul li::before {
    position: absolute;
    height: min(13px, calc(100vw * 13 / 375));
    width: min(13px, calc(100vw * 13 / 375));
    background: url(../img/arrow_br.png);
    content: "";
    bottom: 9%;
    transform: none;
    background-size: contain;
    left: auto;
    right: 3%;
    transition: bottom 0.3s;
  }
  .p02 .sec02 ul li .box02 {
    display: flex;
    align-items: center;
  }
  .p02 .sec02 ul li .text01 {
    font-size: min(18px, calc(100vw * 18 / 375));
    font-weight: 500;
    margin: 0;
    margin: 0 0 0 min(25px, calc(100vw * 25 / 375));
  }
  .p02 .sec02 .box03 {
    width: 100%;
    flex-direction: column;
    padding: 0;
  }
  .p02 .sec02 .box03 span {
    width: min(80px, calc(100vw * 80 / 375));
    margin: 0 0 4% 0;
  }
  .p02 .sec02 .box03 a {
    width: 100%;
    flex-direction: column;
    margin: 5% auto 9%;
    padding: 7%;
  }
  .p02 .sec02 .box04 {
    width: 100%;
    margin: 5% auto 0;
    flex-direction: column;
    border: 1px solid #d1c6c1;
    border-radius: 20px;
  }
  .p02 .sec02 .box04::before {
    content: none;
  }
  .p02 .sec02 .box04 h3 {
    font-weight: 500;
    margin: 0 0 5% 0;
    font-size: min(16px, calc(100vw * 16 / 375));
  }
  .p02 .sec02 .box05 {
    border-bottom: 1px solid #d1c6c1;
  }
  .p02 .sec02 .box05 div {
    font-size: min(42px, calc(100vw * 42 / 375));
    font-weight: normal;
    color: #000;
  }
  .p02 .sec02 .box05 p {
    font-size: min(12px, calc(100vw * 12 / 375));
    color: #8d8d8f;
    line-height: 1.5;
  }
  .p02 .sec02 .box05 p span {
    font-size: min(16px, calc(100vw * 16 / 375));
  }
  .p02 .sec02 .box05,
  .p02 .sec02 .box06 {
    width: 100%;
    padding: 8% 0;
  }
  .p02 .sec02 .box06 .btn01 {
    margin: 0 auto;
  }
  .p02 .sec03 li {
    display: block;
  }
  .p02 .sec03 li::before {
    left: 4%;
    top: 5%;
  }
  .p02 .sec03 li .box01 {
    display: none;
  }
  .p02 .sec03 li .box02 {
    width: 100%;
  }
  .p02 .sec03 li .box02 .text01 {
    display: flex;
    align-items: center;
    background: #fff;
    border: 2px solid #ece3df;
    border-radius: 20px;
    font-size: min(20px, calc(100vw * 20 / 375));
    padding: 6%;
    position: relative;
    margin: 0 0 5% 0;
  }
  .p02 .sec03 li .box02 .text01 img {
    width: min(78px, calc(100vw * 78 / 375));
    margin: 0 4% 0 0;
  }
  .p02 .sec03 li .box02 .text02,
  .p02 .sec03 li .box02 .text03,
  .p02 .sec03 li .box03 {
    padding: 0 0 0 8%;
  }
  .p02 .sec03 li .box02 small {
    font-size: min(12px, calc(100vw * 12 / 375));
    padding: 0 0 0 8%;
  }
  .p02 .sec03 li .box02 .box04 small {
    padding: 0;
  }
  .p02 .sec03 li .box04 {
    width: 92%;
    float: right;
    border-radius: 12px;
    padding: 8%;
    margin: 0 0 3% 0;
  }
  .p02 .sec03 li .box04 + .box04 {
    margin: 0 0 5% 0;
  }
  .p02 .sec03 li .text03 {
    font-size: min(16px, calc(100vw * 16 / 375));
    margin: 3.7% 0;
  }
  .p02 .sec03 li .box03 {
    flex-direction: column;
    gap: 2vw;
    margin: 0 0 5% 0;
  }
  .p02 .sec03 li .box03 img {
    width: 100%;
  }
  .p02 .sec03 li .text04 {
    font-size: min(14px, calc(100vw * 14 / 375));
    margin: 0 0 5% 0;
  }
  .p02 .sec03 li .box04 .text02 {
    font-size: min(12px, calc(100vw * 12 / 375));
    padding: 0;
  }
  .p02 .sec03 li .img01 {
    width: min(214px, calc(100vw * 214 / 375));
    margin: 1.5% 0 0 0;
  }
  .p02 .sec03 li .img02 {
    overflow-x: scroll;
    margin: 0 -5% 5% 8%;
  }
  .p02 .sec03 li .ofx {
    width: min(1972px, calc(100vw * 1972 / 375));
  }
  .p02 .sec03 li:last-child .box04 {
    width: 100%;
  }
  .p02 .sec03 li:last-child .box02 .text02 {
    padding: 0;
  }
  .p02 .sec03 li .text05 {
    line-height: 1.5;
    font-size: min(16px, calc(100vw * 16 / 375));
  }
  .p02 .sec03 li .text05 span.f_num {
    font-size: min(34px, calc(100vw * 34 / 375));
  }
  .p03 #u_sec01 {
    margin: 0 0 min(80px, calc(100vw * 80 / 375));
  }
  .p03 .sec02 ul {
    flex-direction: column;
  }
  .p03 .sec02 ul li {
    width: 100%;
    padding: 6%;
    margin: 0 0 8% 0;
  }
  .p03 .sec02 ul li:last-child {
    padding: 6% 6% 12% 6%;
  }
  .p03 .sec02 ul li span.f_num {
    width: min(44px, calc(100vw * 44 / 375));
    height: min(44px, calc(100vw * 44 / 375));
  }
  .p03 .sec02 ul li .text01 {
    font-size: min(16px, calc(100vw * 16 / 375));
    font-weight: 500;
    margin: 0 0 min(15px, calc(100vw * 15 / 375)) 0;
  }
  .p03 .sec02 ul li .text02 {
    font-size: min(14px, calc(100vw * 14 / 375));
    line-height: 1.6;
  }
  .p03 .sec02 ul li .btn01.v04.small {
    width: min(220px, calc(100vw * 220 / 375));
    height: min(60px, calc(100vw * 60 / 375));
    font-size: min(12px, calc(100vw * 12 / 375));
    margin: 22% 0px 0px;
  }
  .btn01.v04.small {
    width: min(163px, calc(100vw * 163 / 375));
    height: min(49px, calc(100vw * 49 / 375));
    font-size: min(12px, calc(100vw * 12 / 375));
    margin: 22% 0px 0px;
  }
  .btn01.v04::after {
    width: min(10px, calc(100vw * 10 / 375));
    height: min(10px, calc(100vw * 10 / 375));
  }
  .p03 .sec02 .btn01.v02 {
    margin: min(24px, calc(100vw * 24 / 375)) auto 0;
  }
  .p03.u_page .sec03 .box01 {
    padding: 8% 6%;
  }
  #sec05 .btn01.v04::after {
    width: min(10px, calc(100vw * 10 / 375));
    height: min(10px, calc(100vw * 10 / 375));
  }
  .s_caution {
    font-size: min(10px, calc(100vw * 10 / 375));
  }
  .hl_top {
    top: -40%;
    padding: 0 5%;
  }
  h2.hl .hl_top p {
    font-size: min(12px, calc(100vw * 12 / 375));
    padding: 4% 0;
    white-space: nowrap;
  }
  h2.hl .hl_top p::before {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 8px solid #b4503c;
    content: "";
    bottom: -8px;
  }
  .u_page .sec03 .box01 h3 {
    font-size: min(16px, calc(100vw * 16 / 375));
    margin: 10% 0 5% 0;
  }
  .u_page .sec03 .box01 .text01 + h3 {
    margin: 10% 0 5% 0;
  }
  .u_page .sec03 .box01 {
    padding: 7%;
    border-radius: 16px;
  }
  .p04.u_page .sec02 ul li {
    width: 48%;
  }
  .p04.u_page .sec02 ul li a {
    font-size: min(14px, calc(100vw * 14 / 375));
    padding: min(20px, calc(100vw * 20 / 375)) min(16px, calc(100vw * 16 / 375))
      min(20px, calc(100vw * 20 / 375)) min(6px, calc(100vw * 6 / 375));
  }
  .p04.u_page .sec02 ul li a::before {
    position: absolute;
    height: min(12px, calc(100vw * 12 / 375));
    width: min(12px, calc(100vw * 12 / 375));
  }
  .p04.u_page .sec03 {
    margin: 0;
  }
  .p04 .sec02,
  .p04 .faq,
  .p04 #f05 + .faq {
    margin: 0 0 10vw 0;
  }
  .faq-question {
    font-size: min(14px, calc(100vw * 14 / 375));
    padding: 5% 13% 5% 11%;
    border-radius: 12px;
  }
  .faq-question::before {
    font-size: min(24px, calc(100vw * 24 / 375));
    left: 4%;
  }
  .faq-question span {
    position: relative;
    width: min(36px, calc(100vw * 36 / 375));
    height: min(36px, calc(100vw * 36 / 375));
  }
  .faq-item {
    margin: 0 0 2% 0;
  }
  .faq .tel_block_wrap {
    text-align: center;
    margin: min(30px, calc(100vw * 30 / 375)) 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 / 375));
    font-weight: normal;
    color: #000;
  }
  .faq .tel_block p {
    font-size: min(12px, calc(100vw * 12 / 375));
    color: #8d8d8f;
    line-height: 1.5;
  }
  .faq .tel_block p span {
    font-size: min(18px, calc(100vw * 18 / 375));
  }

  /*会社概要*/
  .p05 .text01 {
    margin: 0 0 min(40px, calc(100vw * 40 / 375));
  }
  .p05 .sec02 {
    padding: 0 0 min(60px, calc(100vw * 60 / 375));
  }
  .p05 th {
    font-size: min(12px, calc(100vw * 12 / 375));
    width: 22%;
  }
  .p05 th,
  .p05 td {
    padding: min(20px, calc(100vw * 20 / 375)) 0;
  }
  .p05 table {
    margin: 0;
  }
  .p06 .sec02 {
    margin: 0 0 min(60px, calc(100vw * 60 / 375));
  }
  .p06 .sec02 .box01 {
    flex-direction: column;
  }
  .p06 .sec02 .box02 {
    flex-direction: column;
    width: 85%;
    gap: 10%;
    padding: 5% 0;
    margin: 0 auto;
  }
  .p06 .sec02 .box02 + .box02 {
    border-top: 2px solid #ece3df;
    border-left: none;
  }
  .p06 .tabs {
    flex-wrap: wrap;
  }
  .p06 .tabs button {
    width: 50%;
    padding: 5% 0;
    line-height: 1.6;
  }
  .p06 .tab-content .box00 {
    flex-direction: column;
  }
  .p06 .tab-content .box00 .box_b {
    width: 80%;
    margin: 5% auto;
  }
  .p06 .sec02 .box_c {
    border-radius: 16px;
    padding: 5%;
  }
  .p06 .tab-content .text04,
  .p06 .tab-content .text05 + .text04 {
    margin: 5% 0 3%;
    font-size: min(14px, calc(100vw * 14 / 375));
  }
  .p06 .sec02 .map iframe {
    height: min(280px, calc(100vw * 280 / 375));
  }
  .p07 .sec02 {
    margin: 0 0 min(60px, calc(100vw * 60 / 375));
  }
  .p07 .sec02 h2 {
    font-size: min(16px, calc(100vw * 16 / 375));
  }

  /*商品詳細*/
  #item_contact a img {
    width: 22%;
  }
  #item_contact a {
    position: fixed;
    right: 3%;
    bottom: 20vw;
    gap: 8%;
    width: min(80px, calc(100vw * 80 / 375));
    height: min(80px, calc(100vw * 80 / 375));
    border-radius: min(80px, calc(100vw * 80 / 375));
    font-size: min(11px, calc(100vw * 8 / 375));
  }
  .item-detail .box01 {
    flex-direction: column;
  }
  .item-detail .box02 {
    width: 100%;
  }
  .item-detail .box03 {
    width: 100%;
  }
  .item-d-slider {
    flex-direction: column-reverse;
  }
  .item-d-thumb,
  .item-d-main {
    width: 100%;
  }
  .item-d-thumb {
    margin: 0 0 5vw 0;
  }
  .item-d-thumb .slick-track {
    display: flex !important;
    justify-content: flex-start;
    margin: 0;
  }
  .item-d-thumb .slick-slide {
    float: none !important; /* slickのfloat解除 */
    width: calc((100% / 5) - 10px); /* 最大5枚時の幅、間隔調整用 */
    margin-right: 10px; /* スライド間の隙間 */
  }
  .item-d-thumb .slick-slide:nth-child(5n) {
    margin-right: 0; /* 5枚ごとに余白リセット */
  }
  .item-detail h1 {
    font-size: min(26px, calc(100vw * 26 / 375));
    margin: 3% 0 2% 0;
  }
  .item-detail .list-term {
    font-size: min(12px, calc(100vw * 12 / 375));
  }
  .item-detail p.maker {
    font-size: min(14px, calc(100vw * 14 / 375));
  }
  .item-detail .box03 .text01 {
    margin: min(25px, calc(100vw * 25 / 375)) 0
      min(12px, calc(100vw * 12 / 375)) 0;
    font-size: min(14px, calc(100vw * 14 / 375));
  }
  .tag-list {
    margin: min(12px, calc(100vw * 12 / 375)) 0
      min(30px, calc(100vw * 30 / 375)) 0;
  }
  a.item-tag {
    font-size: min(10px, calc(100vw * 10 / 375));
    padding: min(8px, calc(100vw * 8 / 375));
    margin: 0 min(4px, calc(100vw * 4 / 375)) min(4px, calc(100vw * 4 / 375)) 0;
  }
  .set-content.t01 {
    font-size: min(16px, calc(100vw * 16 / 375));
  }
  .set-content {
    font-size: min(14px, calc(100vw * 14 / 375));
    line-height: 1.65;
  }
  .set-price {
    font-size: min(16px, calc(100vw * 16 / 375));
  }
  .is-first .set-price {
    font-size: min(18px, calc(100vw * 18 / 375));
  }
  .set-price span {
    font-size: min(8px, calc(100vw * 8 / 375));
  }

  p.i_feature,
  .set-detail p {
    font-size: min(14px, calc(100vw * 14 / 375));
    padding: 0 0 0 min(20px, calc(100vw * 20 / 375));
  }
  .item-detail .box03 .feature-box {
    margin: min(28px, calc(100vw * 28 / 375)) 0 0 0;
  }
  .pdf_list {
    margin: min(28px, calc(100vw * 28 / 375)) 0 0 0;
  }
  .item-detail .box03 h2.feature-toggle {
    font-size: min(16px, calc(100vw * 16 / 375));
  }
  .feature-toggle::before,
  .feature-toggle::after {
    right: min(8px, calc(100vw * 8 / 375));
    width: min(12px, calc(100vw * 12 / 375));
    height: min(2px, calc(100vw * 2 / 375));
  }
  .feature-content {
    padding: 1.5vw 0 0 0;
  }
  .pdf_list {
    flex-direction: column;
    gap: 2vw;
  }
  .pdf_list li {
    min-width: min(280px, calc(100vw * 280 / 375));
    padding: 0 min(40px, calc(100vw * 40 / 375)) 0
      min(70px, calc(100vw * 70 / 375));
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    height: min(60px, calc(100vw * 70 / 375));
    border-radius: 40px;
    font-size: min(14px, calc(100vw * 14 / 375));
    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 / 375));
    height: min(24px, calc(100vw * 24 / 375));
    left: min(25px, calc(100vw * 25 / 375));
  }

  .item-detail .sec03 {
    padding: min(60px, calc(100vw * 60 / 375)) 0;
    margin: min(60px, calc(100vw * 60 / 375)) 0 0 0;
  }
  .item-detail .box04 h2 {
    text-align: center;
    font-size: min(26px, calc(100vw * 26 / 375));
  }
  .spec .box02 {
    width: 100%;
    font-size: min(12px, calc(100vw * 12 / 375));
  }

  .spec .box03 {
    width: 100%;
    font-size: min(14px, calc(100vw * 14 / 375));
  }
  .item-detail .sec03 .box04 {
    border-radius: 24px;
    padding: 10% 5%;
  }
  .item-detail .box05 .p_block {
    border-radius: 24px;
  }
  .item-detail .box05 .p_block::before {
    position: absolute;
    content: "";
    width: min(42px, calc(100vw * 42 / 375));
    height: min(42px, calc(100vw * 42 / 375));
    background: url(../img/s_point.png) no-repeat center center;
    background-size: cover;
    right: 1.6%;
    top: -2%;
  }
  .item-detail .box05 .p_title {
    font-size: min(18px, calc(100vw * 18 / 375));
  }
  .kanren .newitem-slider .newitem-card.slick-slide {
    width: min(260px, calc(100vw * 260 / 375));
    margin: 0 15px;
  }
  .kanren .newitem-slider-nav {
    right: 2.9%;
  }
  .item-detail .kanren {
    margin: 0;
  }
  .item-detail .newitem-slider-section {
    padding: 5vw 0;
  }
  .kanren .newitem-slider .slick-center img {
    transform: scale(1);
  }

  /*商品一覧*/
  .items #u_sec01 {
    margin: 0 0 min(45px, calc(100vw * 45 / 375));
  }
  .items .wrap {
    padding: 0 5%;
  }
  .items .box01 {
    display: block;
  }
  .items .box02 {
    display: none;
  }
  .items .box03 {
    width: 100%;
    padding: 0 0 min(70px, calc(100vw * 70 / 375)) 0;
  }
  .item-card {
    width: 47.2%;
    margin-right: 5.6%;
    margin-bottom: 8%;
  }
  .item-card:nth-child(2n) {
    margin-right: 0;
  }
  .item-inner .title {
    font-size: min(14px, calc(100vw * 14 / 375));
  }
  .item-inner .maker {
    font-size: min(12px, calc(100vw * 12 / 375));
  }
  .item-card.new_item.new-icon::before {
    line-height: min(48px, calc(100vw * 48 / 375));
    width: min(48px, calc(100vw * 48 / 375));
    height: min(48px, calc(100vw * 48 / 375));
    border-radius: 60px;
    top: min(-10px, calc(100vw * -10 / 375));
    right: min(-10px, calc(100vw * -10 / 375));
    font-size: min(12px, calc(100vw * 12 / 375));
    z-index: 5;
  }
  .page-numbers {
    width: min(48px, calc(100vw * 48 / 375));
    height: min(48px, calc(100vw * 48 / 375));
    line-height: min(48px, calc(100vw * 48 / 375));
    font-size: min(16px, calc(100vw * 16 / 375));
  }
  .pagination-item img {
    width: min(10px, calc(100vw * 10 / 375));
  }
  .cate_child #u_sec01 h1 span.icon {
    width: min(40px, calc(100vw * 40 / 375));
    margin: 0 0 min(8px, calc(100vw * 8 / 375));
  }
  .items .sec02 .box01 {
    min-height: auto;
  }
  .items .text404 {
    font-size: min(20px, calc(100vw * 20 / 375));
    font-weight: 500;
  }

  /*news*/
  .news .box03 > ul li {
    padding: min(20px, calc(100vw * 20 / 375)) 1%;
  }
  .news .box03 > ul li .box04 a.cate {
    font-size: min(10px, calc(100vw * 10 / 375));
  }
  .news.single .btn01.v04 {
    margin: 0 auto;
    width: min(220px, calc(100vw * 220 / 375));
    height: min(56px, calc(100vw * 56 / 375));
    font-size: min(14px, calc(100vw * 14 / 375));
  }
  .news.single h1 {
    font-size: min(24px, calc(100vw * 24 / 375));
  }
  .news.single a.cate {
    font-size: min(10px, calc(100vw * 10 / 375));
  }
  .layout-section h2 {
    font-size: min(32px, calc(100vw * 18 / 375));
  }
  .layout-section .row {
    flex-direction: column;
  }
  .layout-section .img-middle {
    width: 100%;
  }
  .layout-section .row img {
    width: 100%;
    margin: 0 0 5% 0;
  }
  .layout-section th {
    font-size: min(10px, calc(100vw * 10 / 375));
  }
  .layout-section td {
    font-size: min(12px, calc(100vw * 12 / 375));
  }
  .layout-section tr:first-child td {
    padding: min(9px, calc(100vw * 9 / 375)) 0 min(10px, calc(100vw * 10 / 375));
    color: #8d8d8f;
    background: #f5f1ef;
    font-weight: 500;
    font-size: min(14px, calc(100vw * 14 / 375));
  }
  .layout-section .wp-block-table td {
    font-size: var(--fs-base);
    padding: min(19px, calc(100vw * 19 / 375)) 0
      min(17px, calc(100vw * 17 / 375));
    font-size: min(13px, calc(100vw * 13 / 375));
  }
  .layout-section img {
    width: 100%;
  }
  /*お問い合わせ*/
  .contact {
    margin: 0 auto 12vw;
  }
  .contact .smf-progress-tracker {
    width: 72%;
  }
  .contact .smf-progress-tracker li .smf-progress-tracker__item__text {
    font-size: min(13px, calc(100vw * 13 / 375));
  }
  .contact .smf-progress-tracker li .smf-progress-tracker__item__number {
    width: min(46px, calc(100vw * 46 / 375));
    height: min(46px, calc(100vw * 46 / 375));
    font-size: min(16px, calc(100vw * 16 / 375));
  }
  .contact
    .smf-progress-tracker
    li[aria-current="true"]
    .smf-progress-tracker__item__number::after {
    width: min(56px, calc(100vw * 56 / 375));
    height: min(56px, calc(100vw * 56 / 375));
  }
  .contact .smf-progress-tracker__item:after,
  .contact .smf-progress-tracker__item::before {
    top: min(23px, calc(100vw * 23 / 375));
  }
  small.hn {
    font-size: min(12px, calc(100vw * 12 / 375));
    margin: min(8px, calc(100vw * 8 / 375)) 0 0 0;
    display: block;
  }
  .tel_block ul {
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 5% 0;
    border-radius: 20px;
    gap: 5%;
    margin: 0 auto min(46px, calc(100vw * 46 / 375));
  }
  .tel_block ul li {
    width: 100%;
    text-align: center;
  }
  .tel_block ul li .text02 {
    font-size: min(16px, calc(100vw * 16 / 375));
  }
  .tel_block ul li + li {
    width: 100%;
  }
  .tel_block ul li.tel {
    justify-content: center;
    align-items: center;
    flex-direction: column;
    border: none;
    padding: 0;
  }
  .tel_block ul li.tel div {
    margin: min(16px, calc(100vw * 16 / 375)) 0
      min(12px, calc(100vw * 12 / 375));
    font-size: min(42px, calc(100vw * 42 / 375));
  }
  .tel_block ul li.tel p {
    font-size: min(12px, calc(100vw * 12 / 375));
  }

  .tel_block ul li.tel p span {
    font-size: min(16px, calc(100vw * 16 / 375));
  }
  .box_photo ul li {
    border-radius: 20px;
  }
  .smf-item {
    flex-direction: column;
  }
  .box_contact input,
  .box_contact input[type="date"],
  .box_contact input[type="month"],
  .box_contact select,
  .box_contact textarea {
    padding: min(20px, calc(100vw * 20 / 375)) !important;
    font-size: min(16px, calc(100vw * 16 / 375)) !important;
    border: none;
    background: #f5f2f1;
    box-shadow: inset 0px 2px 0px rgba(212, 197, 192, 0.2);
    border-radius: 12px;
    box-sizing: border-box;
    margin: min(12px, calc(100vw * 12 / 375)) 0 0 0 !important;
  }
  .box_contact input[type="date"],
  .box_contact input[type="month"] {
    width: 100%;
    margin: min(12px, calc(100vw * 12 / 375)) 0 0 0 !important;
  }
  .box_contact .w75 .smf-item__controls,
  .box_contact .w25 .smf-item__controls,
  .box_contact .w50 .smf-item__controls {
    width: 100%;
    margin: 0;
  }
  .box_contact .w25 .smf-item__controls,
  .box_contact .w33 .smf-item__controls,
  .box_contact input[type="date"],
  .box_contact input[type="month"] {
    width: 66% !important;
  }
  .box_contact textarea {
    height: min(200px, calc(100vw * 200 / 375));
  }
  .box_contact [data-name="使用開始"] .smf-text-control,
  .box_contact [data-name="使用終了"] .smf-text-control {
    width: 40vw;
  }
  .box_contact [data-name="使用開始"] input[type="date"],
  .box_contact [data-name="使用終了"] input[type="date"],
  input[type="month"] {
    width: 100% !important;
    height: min(63px, calc(100vw * 63 / 375));
    display: flex; /* iOS対応 */
    align-items: center; /* テキスト縦中央 */
    box-sizing: border-box;
  }

  /* 内部のテキスト部分も高さを合わせる */
  .box_contact [data-name="使用開始"] input[type="date"]::-webkit-datetime-edit,
  .box_contact [data-name="使用終了"] input[type="date"]::-webkit-datetime-edit,
  input[type="month"]::-webkit-datetime-edit {
    height: 100%;
    padding: 0;
  }
  .sp50 .smf-placeholder {
    width: 50%;
  }
  .smf-placeholder + span {
    margin: 4% 0 0 0;
  }
  .smf-item__col--label,
  .smf-item__col--controls {
    width: 100%;
  }
  .smf-item__label {
    margin: 0;
  }
  [data-screen="confirm"] .smf-item__label {
    margin: 0 0 min(8px, calc(100vw * 8 / 375)) 0;
  }
  .smf-item {
    padding: min(20px, calc(100vw * 20 / 375)) 0;
  }
  .smf-item.sub {
    padding: min(6px, calc(100vw * 6 / 375)) min(8px, calc(100vw * 8 / 375));
  }
  .smf-item.sub.last {
    padding: min(6px, calc(100vw * 6 / 375)) min(8px, calc(100vw * 8 / 375))
      min(20px, calc(100vw * 20 / 375)) min(8px, calc(100vw * 8 / 375));
  }
  .smf-item__label__text {
    font-size: min(14px, calc(100vw * 14 / 375));
  }
  .smf-item__label__text br {
    display: none;
  }
  .smf-select-control::after {
    top: 58%;
  }
  .rec .smf-item__label__text::before {
    right: min(-27px, calc(100vw * -27 / 375));
    font-size: min(9px, calc(100vw * 9 / 375));
  }
  .box_contact .smf-error-messages {
    font-size: min(12px, calc(100vw * 12 / 375));
    margin: min(10px, calc(100vw * 10 / 375)) 0 0 0;
  }
  .t_block01 {
    margin: min(40px, calc(100vw * 40 / 375)) auto;
    text-align: left;
  }
  .r_block {
    margin: min(24px, calc(100vw * 24 / 375)) auto;
  }
  ul.c_flow {
    flex-direction: column;
  }
  ul.c_flow li {
    width: 100%;
    padding: 5%;
    margin: 0 0 5% 0;
  }
  ul.c_flow li .box01 {
    width: 25%;
  }
  ul.c_flow li .box02 {
    width: 65%;
  }
  ul.c_flow li .text01 {
    font-size: min(18px, calc(100vw * 18 / 375));
  }
  ul.c_flow li .text02 {
    font-size: min(14px, calc(100vw * 14 / 375));
  }
  .t_block03 span.red {
    font-size: min(10px, calc(100vw * 10 / 375));
    padding: min(2px, calc(100vw * 2 / 375)) min(11px, calc(100vw * 11 / 375))
      min(3px, calc(100vw * 3 / 375));
  }
  .t_block03 .tac {
    text-align: left;
  }
  .bg_wave02.v01 {
    margin: min(80.5px, calc(100vw * 80.5 / 375)) 0 0 0;
    padding: min(80.5px, calc(100vw * 80.5 / 375)) 0 0 0;
  }
  .bg_wave02.v02 {
    padding: min(80.5px, calc(100vw * 80.5 / 375)) 0 0 0;
    margin: min(80.5px, calc(100vw * 80.5 / 375)) 0 0 0;
  }
  .box_photo {
    border-radius: 24px;
    padding: 10% 6% 5%;
  }
  .box_photo .text_hl {
    font-size: min(20px, calc(100vw * 20 / 375));
    margin: 0 0 min(16px, calc(100vw * 16 / 375)) 0;
  }
  .box_photo ul {
    flex-direction: column;
    gap: 3vw;
  }
  .box_photo ul li {
    width: 100%;
  }
  .box_photo ul li p {
    font-size: min(14px, calc(100vw * 14 / 375));
  }
  .box_photo ul li p small {
    font-size: min(10px, calc(100vw * 10 / 375));
  }
  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 / 375));
    height: min(48px, calc(100vw * 48 / 375));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: min(14px, calc(100vw * 14 / 375));
  }
  .contact .text00 {
    font-size: min(18px, calc(100vw * 18 / 375));
  }
  .smf-item__controls + span {
    font-weight: 500;
    font-size: min(14px, calc(100vw * 14 / 375));
  }
  .box_contact h3 {
    font-size: min(16px, calc(100vw * 16 / 375));
    padding: min(24px, calc(100vw * 24 / 375)) 0
      min(12px, calc(100vw * 12 / 375)) 0;
    border-top: 1px solid #d1c6c1;
  }
  .box_contact .sub .smf-item__controls {
    margin: 0 !important;
  }
}
