@charset "UTF-8";
/*! destyle.css v3.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -webkit-tap-highlight-color: transparent;
  /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
  color: #222;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
  color: #222;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  /* 1 */
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
  /* 2 */
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
       appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
       appearance: radio;
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px;
  /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit;
  /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

a,
span {
  display: inline-block;
}

/*===================================================
共通
===================================================*/
/* 基本
***************************************************************/
html {
  font-size: 4vw;
  font-family: fot-tsukuardgothic-std, sans-serif;
  color: #000000;
  font-weight: 400;
  line-height: 2;
  scroll-behavior: smooth;
}

body {
  transform: none;
  zoom: 1;
}

@media screen and (min-width: 768px) {
  html {
    font-size: 17px;
  }
}
/* フォント
***************************************************************/
.omnes {
  font-family: "omnes-variable", sans-serif;
}

/* コンテンツ・セクション幅
***************************************************************/
section {
  padding: 6.4vw 4.2666666667vw;
}

@media screen and (min-width: 768px) {
  .inner {
    max-width: 1058px;
    margin: 0 auto;
    padding: 0 24px;
  }
  .inner_2 {
    max-width: 848px;
    margin: 0 auto;
    padding: 0 24px;
  }
  section {
    padding: 56px 0;
  }
}
/* PC・SP 非表示
***************************************************************/
.sp_only {
  display: block;
}

@media screen and (min-width: 768px) {
  .sp_only {
    display: none;
  }
  .pc_only {
    display: block;
  }
}
/* 共通パーツ (全ページ)
***************************************************************/
.section_title {
  font-size: 5.8666666667vw;
  font-weight: 700;
  text-align: center;
  position: relative;
}

.section_title span {
  font-size: 4.8vw;
}

.section_title::after {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: -2.1333333333vw;
  left: 50%;
  width: 76.2666666667vw;
  height: 3.2vw;
  background-image: url(../images/underline_black_ico.png);
  background-size: contain;
  background-repeat: no-repeat;
  transform: translateX(-50%);
}

.underline_y {
  position: relative;
}

.underline_y::after {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: -1.3333333333vw;
  left: 50%;
  width: 56.2666666667vw;
  height: 4.2666666667vw;
  background-color: #ffeb94;
  transform: translateX(-50%);
  z-index: -1;
}

@media screen and (min-width: 768px) {
  .section_title {
    font-size: 34px;
  }
  .section_title span {
    font-size: 30px;
  }
  .section_title::after {
    content: "";
    bottom: -8px;
    width: 384px;
    height: 16px;
  }
  .underline_y::after {
    content: "";
    bottom: 0;
    left: 50%;
    width: 299px;
    height: 22px;
  }
}
/*===================================================
ヘッダー
===================================================*/
header {
  position: relative;
}

header .logo {
  color: #fff;
  position: absolute;
  top: 18.6666666667vw;
  left: 50%;
  font-size: 8.5333333333vw;
  z-index: 100;
  transform: translateX(-50%);
}

header .head_txt {
  font-size: 6.6666666667vw;
  font-weight: 700;
  color: #fff;
  position: absolute;
  top: 38.6666666667vw;
  left: 50%;
  transform: translateX(-50%);
  z-index: 100;
  writing-mode: vertical-rl;
  letter-spacing: 2.6666666667vw;
  white-space: nowrap;
}

/*==================================================
スライダーのためのcss
===================================*/
.slider {
  position: relative;
  z-index: 1;
  height: 100svh; /*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
}

/*　背景画像設定　*/
.slider-item01 {
  background: url(../images/mv_01.jpeg);
}

.slider-item02 {
  background: url(../images/mv_02.jpeg);
}

.slider-item03 {
  background: url(../images/mv_03.jpeg);
}

.slider-item {
  width: 100%; /*各スライダー全体の横幅を画面の高さいっぱい（100%）にする*/
  height: 100svh; /*各スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
  background-repeat: no-repeat; /*背景画像をリピートしない*/
  background-position: center; /*背景画像の位置を中央に*/
  background-size: cover; /*背景画像が.slider-item全体を覆い表示*/
}

/*ドットナビゲーションの設定*/
.slick-dots {
  position: relative;
  z-index: 3;
  text-align: center;
  margin: 2.1333333333vw 0 0 0; /*ドットの位置*/
}

.slick-dots li {
  display: inline-block;
  margin: 0 1.3333333333vw;
}

.slick-dots button {
  color: transparent;
  outline: none;
  width: 2.6666666667vw; /*ドットボタンのサイズ*/
  height: 2.6666666667vw; /*ドットボタンのサイズ*/
  display: block;
  border-radius: 50%;
  background: #ccc; /*ドットボタンの色*/
}

.slick-dots .slick-active button {
  background: #f57946; /*ドットボタンの現在地表示の色*/
}

/*
 固定フッター
========================================================================== */
.fixed_footer {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 17.0666666667vw;
  z-index: 100;
}

.fixed_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  opacity: 0.8;
  z-index: -1;
}

.fixed_box {
  display: flex;
  justify-content: center;
  gap: 2.1333333333vw;
  padding: 2.1333333333vw 0;
  align-items: center;
}

.fixed_box li a.fixed_item {
  display: flex;
  gap: 1.0666666667vw;
  justify-content: center;
  align-items: center;
  background-color: #a0cae3;
  border-radius: 100px;
  box-shadow: 0px 0.5333333333vw 0px #7aabc8;
  width: 30.4vw;
  height: 12.8vw;
}

.fixed_box li:nth-of-type(2) a.fixed_item {
  background-color: #dfd7ba;
  box-shadow: 0px 0.5333333333vw 0px #b2ac96;
}

.fixed_box li:nth-of-type(3) a.fixed_item {
  background-color: #f57946;
  box-shadow: 0px 0.5333333333vw 0px #aa512c;
}

.fixed_box li:nth-of-type(1) a.fixed_item img {
  width: 4.2666666667vw;
  -o-object-fit: contain;
     object-fit: contain;
}

.fixed_box li:nth-of-type(2) a.fixed_item img,
.fixed_box li:nth-of-type(3) a.fixed_item img {
  width: 8vw;
  -o-object-fit: contain;
     object-fit: contain;
}

.fixed_box li a.fixed_item p.txt {
  font-size: 3.2vw;
  font-weight: 700;
  line-height: 4vw;
}

@media screen and (min-width: 768px) {
  header .logo {
    font-size: 56px;
    top: 27%;
  }
  header .head_txt {
    font-size: 48px;
    top: 40%;
    letter-spacing: 5px;
  }
  /*==================================================
  スライダーのためのcss
  ===================================*/
  .slider {
    height: 100svh; /*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
  }
  /*　背景画像設定　*/
  .slider-item01 {
    background: url(../images/mv_01_pc.jpeg);
  }
  .slider-item02 {
    background: url(../images/mv_02_pc.jpeg);
  }
  .slider-item03 {
    background: url(../images/mv_03_pc.jpeg);
  }
  .slider-item {
    height: 100svh; /*各スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
    background-repeat: no-repeat;
    background-size: cover;
  }
  /*ドットナビゲーションの設定*/
  .slick-dots {
    margin: 16px 0 0 0; /*ドットの位置*/
  }
  .slick-dots li {
    margin: 0 13px;
  }
  .slick-dots button {
    width: 10px; /*ドットボタンのサイズ*/
    height: 10px; /*ドットボタンのサイズ*/
  }
  /*
   固定フッター
  ========================================================================== */
  .fixed_footer {
    height: 80px;
  }
  .fixed_box {
    gap: 16px;
    padding: 16px 0;
  }
  .fixed_box li a.fixed_item {
    gap: 8px;
    box-shadow: 0px 2px 0px #7aabc8;
    width: 234px;
    height: 48px;
  }
  .fixed_box li:nth-of-type(2) a.fixed_item {
    box-shadow: 0px 2px 0px #b2ac96;
  }
  .fixed_box li:nth-of-type(3) a.fixed_item {
    box-shadow: 0px 2px 0px #aa512c;
  }
  .fixed_box li:nth-of-type(1) a.fixed_item img {
    width: 22px;
  }
  .fixed_box li:nth-of-type(2) a.fixed_item img,
  .fixed_box li:nth-of-type(3) a.fixed_item img {
    width: 30px;
  }
  .fixed_box li a.fixed_item p.txt {
    font-size: 15px;
    line-height: 1;
  }
}
/*===================================================
フッター
===================================================*/
footer {
  padding: 6.4vw 6.4vw 19.2vw 6.4vw;
  font-weight: 700;
}

footer .text_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: 1.0666666667vw;
  font-size: 3.2vw;
  margin: 0 5.8666666667vw;
}

footer .text_list li .text {
  text-decoration: underline;
}

footer .title {
  margin-top: 8.5333333333vw;
  text-align: center;
}

footer .card_list {
  margin-top: 2.1333333333vw;
  display: flex;
  gap: 4.2666666667vw;
  align-items: center;
  justify-content: center;
}

footer .card_list li.card {
  display: flex;
  align-items: center;
}

footer p.copy_right {
  margin-top: 6.4vw;
  font-size: 3.2vw;
  font-weight: 400;
  text-align: center;
}

@media screen and (min-width: 768px) {
  footer {
    padding: 56px 0 104px;
  }
  footer .text_list {
    display: flex;
    gap: 32px;
    justify-content: center;
    font-size: 15px;
    margin: unset;
  }
  footer .title {
    margin-top: 32px;
  }
  footer .card_list {
    margin-top: 8px;
    gap: 21px;
  }
  footer p.copy_right {
    margin-top: 24px;
    font-size: 12px;
  }
}
/*===================================================
トップページ
===================================================*/
/* トップページ section1
***************************************************************/
.sec1 {
  padding: 9.8666666667vw 4.2666666667vw 6.4vw;
  text-align: center;
}

.sec1 .section_title {
  font-size: 6.4vw;
}

.sec1 .desc {
  font-weight: 700;
  margin-top: 6.4vw;
}

.sec1 img {
  width: 77.6vw;
  height: 16.5333333333vw;
  margin: 2.4vw auto 0;
  -o-object-fit: contain;
     object-fit: contain;
}

.sec1 .text {
  font-weight: 700;
  margin-top: 7.4666666667vw;
}

.sec1 .price {
  font-weight: 700;
  margin-top: 2.1333333333vw;
  line-height: 1;
}

.sec1 .price span {
  font-size: 11.2vw;
}

@media screen and (min-width: 768px) {
  .sec1 {
    padding: 58px 0 72px;
  }
  .sec1 .section_title {
    font-size: 30px;
  }
  .sec1 .desc {
    margin-top: 32px;
  }
  .sec1 img {
    width: 594px;
    height: 116px;
    margin: 16px auto 0;
  }
  .sec1 .text {
    font-size: 18px;
    margin-top: 24px;
  }
  .sec1 .price {
    margin-top: 10px;
    line-height: 1;
  }
  .sec1 .price span {
    font-size: 61px;
  }
}
/* トップページ section2
***************************************************************/
.sec2 {
  background-color: #a0cae3;
  position: relative;
  z-index: -10;
}

.sec2 .section_title::after {
  width: 55.2vw;
  height: 3.4666666667vw;
}

.sec2 .text_list {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 4.2666666667vw;
  margin-top: 6.4vw;
}

.sec2 .text_box {
  padding: 4.2666666667vw 4.2666666667vw 4.2666666667vw 21.8666666667vw;
  background-color: #fff;
  border-radius: 4px;
  position: relative;
  z-index: -5;
}

.sec2 .text_box::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 4.2666666667vw;
  left: 4.2666666667vw;
  width: 15.4666666667vw;
  height: 28vw;
  background-image: url(../images/sec2_01.png);
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 10;
}

.sec2 .text_box:nth-of-type(2)::before {
  background-image: url(../images/sec2_02.png);
}

.sec2 .text_box:nth-of-type(3)::before {
  background-image: url(../images/sec2_03.png);
}

.sec2 .text_box .title {
  line-height: 6.4vw;
  font-weight: 700;
}

.sec2 .text_box:nth-of-type(2) .title,
.sec2 .text_box:nth-of-type(3) .title {
  font-size: 4.8vw;
}

.sec2 .text_box:nth-of-type(2) .title::after {
  bottom: 0;
  left: 0;
  width: 26.4vw;
  height: 2.6666666667vw;
  transform: unset;
}

.sec2 .text_box:nth-of-type(3) .title::after {
  bottom: 0;
  left: 0;
  width: 35.2vw;
  height: 2.6666666667vw;
  transform: unset;
}

.sec2 .text_box .title span {
  font-size: 4.8vw;
}

.sec2 .text_box .title span::after {
  bottom: 0;
  left: 0;
  width: 56.8vw;
  height: 2.6666666667vw;
  transform: unset;
}

.sec2 .text_list .text_box .text {
  font-size: 3.2vw;
  line-height: 4.8vw;
  margin-top: 2.1333333333vw;
  padding-top: 2.1333333333vw;
  border-top: 1px dashed #000000;
}

@media screen and (min-width: 768px) {
  .sec2 .section_title::after {
    width: 230px;
    height: 12px;
  }
  .sec2 .text_list {
    grid-template-columns: repeat(1, 1fr);
    gap: 16px;
    margin-top: 32px;
  }
  .sec2 .text_box {
    padding: 16px;
    height: 245px;
    width: 600px;
    margin: 0 auto;
  }
  .sec2 .text_box::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: 16px;
    left: 16px;
    width: 58px;
    height: 105px;
  }
  .sec2 .text_box:nth-of-type(2)::before {
    top: 28px;
  }
  .sec2 .text_box .title_box {
    height: 105px;
    display: flex;
    margin-left: 66px;
    align-items: center;
  }
  .sec2 .text_box .title {
    line-height: 1;
  }
  .sec2 .text_box:nth-of-type(2) .title,
  .sec2 .text_box:nth-of-type(3) .title {
    font-size: 24px;
  }
  .sec2 .text_box:nth-of-type(2) .title::after {
    bottom: -5px;
    width: 129px;
    height: 14px;
  }
  .sec2 .text_box:nth-of-type(3) .title::after {
    bottom: -5px;
    width: 173px;
    height: 14px;
  }
  .sec2 .text_box .title span {
    font-size: 19px;
  }
  .sec2 .text_box .title span::after {
    bottom: -5px;
    width: 223px;
    height: 14px;
  }
  .sec2 .text_list .text_box .text {
    font-size: 15px;
    line-height: 2;
    margin-top: 8px;
    padding-top: 8px;
    padding-left: 66px;
  }
}
@media screen and (min-width: 1080px) {
  .sec2 .text_list {
    grid-template-columns: repeat(3, 1fr);
  }
  .sec2 .text_box {
    width: auto;
    margin: unset;
  }
  .sec2 .text_list .text_box .text {
    padding-left: unset;
  }
}
/* トップページ section3
***************************************************************/
.sec3 {
  background-color: #f57946;
  position: relative;
  z-index: -10;
}

.sec3 .section_title::after {
  width: 55.2vw;
  height: 3.4666666667vw;
}

.sec3 .inner_2 img {
  margin-top: 6.4vw;
  -o-object-fit: cover;
     object-fit: cover;
}

.sec3 .text {
  font-weight: 700;
  text-align: center;
  padding: 4.2666666667vw 0 6.4vw;
  background-color: #fff;
  position: relative;
  z-index: -5;
}

.sec3 .text span::after {
  bottom: 1.3333333333vw;
  width: 36.2666666667vw;
  height: 2.6666666667vw;
}

@media screen and (min-width: 768px) {
  .sec3 .section_title::after {
    width: 310px;
    height: 13px;
  }
  .sec3 .inner_2 img {
    margin-top: 33px;
  }
  .sec3 .text {
    text-align: center;
    padding: 24px 0 32px;
  }
  .sec3 .text span::after {
    bottom: 3px;
    width: 153px;
    height: 14px;
  }
}
/* トップページ section4
***************************************************************/
.sec4 {
  background-color: #dfd7ba;
}

.sec4 .section_title::after {
  width: 72vw;
  height: 3.2vw;
}

.sec4 .item_list {
  margin-top: 6.4vw;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 4.2666666667vw;
}

.sec4 .item .item_img {
  position: relative;
}

.twentytwenty-container img {
  aspect-ratio: 1/1;
}

.sec4 .item .item_img::before {
  content: "Before";
  display: inline-block;
  position: absolute;
  top: 2.1333333333vw;
  left: 2.1333333333vw;
  font-size: 3.2vw;
  font-weight: 700;
  z-index: 1;
}

.sec4 .item .item_img::after {
  content: "After";
  display: inline-block;
  position: absolute;
  top: 2.1333333333vw;
  right: 2.1333333333vw;
  font-size: 3.2vw;
  font-weight: 700;
}

.sec4 .text_wrap {
  padding: 4.2666666667vw;
  background-color: #fff;
}

.sec4 .text_wrap .title {
  font-size: 4.2666666667vw;
  font-weight: 700;
}

.sec4 .text_wrap .text_box {
  padding-left: 5.6vw;
}

.sec4 .text_wrap .text_box .text {
  font-size: 3.2vw;
  position: relative;
}

.sec4 .text_wrap .text_box .text::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: -5.3333333333vw;
  width: 4.5333333333vw;
  height: 4.2666666667vw;
  transform: translateY(-50%);
  background-image: url(../images/sec4_ico_01.png);
  background-size: contain;
  background-repeat: no-repeat;
}

.sec4 .text_wrap .text_box .text:nth-of-type(2)::before {
  background-image: url(../images/sec4_ico_02.png);
}

.sec4 .text_wrap .text_box .text:nth-of-type(3)::before {
  background-image: url(../images/sec4_ico_03.png);
}

.sec4 .text_wrap .text_box .text span {
  font-size: 4vw;
  font-weight: 700;
}

.sec4 .text_wrap .text_box .text .tablet_only {
  display: none;
}

@media screen and (min-width: 768px) {
  .sec4 .section_title::after {
    width: 422px;
    height: 18px;
  }
  .sec4 .item_list {
    margin-top: 32px;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  .sec4 .item .item_img img {
    width: 497px;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .sec4 .item .item_img::before {
    top: 8px;
    left: 12px;
    font-size: 12px;
  }
  .sec4 .item .item_img::after {
    top: 8px;
    right: 12px;
    font-size: 12px;
  }
  .sec4 .text_wrap {
    padding: 16px;
  }
  .sec4 .text_wrap .title {
    font-size: 20px;
  }
  .sec4 .text_wrap .text_box {
    padding-left: 21px;
  }
  .sec4 .text_wrap .text_box .text {
    font-size: 15px;
  }
  .sec4 .text_wrap .text_box .text::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: 50%;
    left: -20px;
    width: 17px;
    height: 16px;
  }
  .sec4 .text_wrap .text_box .text span {
    font-size: 17px;
    display: block;
  }
  .sec4 .text_wrap .text_box .text .tablet_only {
    display: block;
  }
}
@media screen and (min-width: 870px) {
  .sec4 .text_wrap .text_box .text span {
    display: inline-block;
  }
  .sec4 .text_wrap .text_box .text .tablet_only {
    display: none;
  }
}
/* トップページ section5
***************************************************************/
.sec5 {
  background-color: #a0cae3;
}

.sec5 .section_title::after {
  width: 55.2vw;
  height: 3.4666666667vw;
}

.sec5 .desc {
  font-size: 3.2vw;
  font-weight: 700;
  text-align: center;
  margin-top: 6.4vw;
}

.sec5 .item_list {
  margin-top: 4.2666666667vw;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 2.6666666667vw;
}

.sec5 .item_list .item {
  padding: 2.1333333333vw 4.2666666667vw 2.1333333333vw 21.8666666667vw;
  border-radius: 4px;
  background-color: #fff;
  height: 23.4666666667vw;
  position: relative;
}

.sec5 .item_list .item::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 2.1333333333vw;
  left: 4.2666666667vw;
  width: 15.4666666667vw;
  height: 19.2vw;
  background-image: url(../images/sec5_01.png);
  background-size: contain;
  background-repeat: no-repeat;
}

.sec5 .item_list .item:nth-of-type(2)::before {
  background-image: url(../images/sec5_02.png);
}

.sec5 .item_list .item:nth-of-type(3)::before {
  background-image: url(../images/sec5_03.png);
}

.sec5 .item_list .item:nth-of-type(4)::before {
  background-image: url(../images/sec5_04.png);
}

.sec5 .item_list .item:nth-of-type(5)::before {
  background-image: url(../images/sec5_05.png);
}

.sec5 .item_list .item:nth-of-type(6)::before {
  background-image: url(../images/sec5_06.png);
}

.sec5 .item_list .item::after {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: -2.6666666667vw;
  left: 50%;
  width: 0;
  height: 0;
  transform: translateX(-50%);
  border-left: 2.8vw solid transparent; /* 幅の半分 */
  border-right: 2.8vw solid transparent; /* 幅の半分 */
  border-top: 2.6666666667vw solid #4583a8; /* 下向きの三角形の色 */
}

.sec5 .item_list .item:nth-of-type(6)::after {
  display: none;
}

.sec5 .item_list .item .title {
  font-weight: 700;
}

.sec5 .item_list .item .text {
  font-size: 3.2vw;
  line-height: 4.8vw;
  padding-top: 1.0666666667vw;
  border-top: 1px dashed #000000;
}

@media screen and (min-width: 768px) {
  .sec5 .section_title::after {
    width: 274px;
    height: 12px;
  }
  .sec5 .desc {
    font-size: 17px;
    margin-top: 32px;
  }
  .sec5 .item_list {
    margin-top: 24px;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    row-gap: 24px;
  }
  .sec5 .item_list .item {
    padding: 16px 16px 16px 82px;
    height: 162px;
  }
  .sec5 .item_list .item::before {
    top: 16px;
    left: 16px;
    width: 58px;
    height: 125px;
    background-image: url(../images/sec5_01_pc.png);
  }
  .sec5 .item_list .item:nth-of-type(2)::before {
    background-image: url(../images/sec5_02_pc.png);
  }
  .sec5 .item_list .item:nth-of-type(3)::before {
    background-image: url(../images/sec5_03_pc.png);
  }
  .sec5 .item_list .item:nth-of-type(4)::before {
    background-image: url(../images/sec5_04_pc.png);
  }
  .sec5 .item_list .item:nth-of-type(5)::before {
    background-image: url(../images/sec5_05_pc.png);
  }
  .sec5 .item_list .item:nth-of-type(6)::before {
    background-image: url(../images/sec5_06_pc.png);
  }
  .sec5 .item_list .item::after {
    top: 50%; /* 縦方向の中央 */
    right: -10px; /* 右側に配置 */
    bottom: auto; /* モバイル時のbottomを無効化 */
    left: auto; /* モバイル時のleftを無効化 */
    transform: translateY(-50%); /* 縦方向の中央に調整 */
    border-top: 10.5px solid transparent; /* 高さの半分 */
    border-bottom: 10.5px solid transparent; /* 高さの半分 */
    border-left: 10px solid #4583a8; /* 右向きの三角形の色 */
    border-right: none; /* 右向き三角形にするため右のborderはなし */
  }
  .sec5 .item_list .item .text {
    font-size: 15px;
    line-height: 2;
    padding-top: 4px;
  }
}
@media screen and (min-width: 1080px) {
  .sec5 .item_list {
    grid-template-columns: repeat(3, 1fr);
  }
}
/* トップページ section6
***************************************************************/
.sec6 {
  background-color: #f57946;
  font-weight: 700;
}

.sec6 .section_title::after {
  width: 55.2vw;
  height: 3.4666666667vw;
}

.sec6 .flex {
  margin-top: 8.5333333333vw;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 6.4vw;
}

.sec6 .flex_box {
  padding: 6.4vw 4.2666666667vw;
  background-color: #fff;
}

.sec6 .flex_box img {
  width: 81.3333333333vw;
  height: 38.4vw;
}

.sec6 .flex_box .title {
  font-size: 5.3333333333vw;
  text-align: center;
  margin-top: 4.2666666667vw;
  position: relative;
  padding-bottom: 1.0666666667vw;
  border-bottom: 1px dashed #000000;
}

.sec6 .box1 .sub_title {
  margin-top: 3.2vw;
}

.sec6 .box1 .sub_title:nth-of-type(2) {
  padding-top: 2.1333333333vw;
  margin-top: 2.1333333333vw;
  border-top: 1px solid #b6b6b6;
}

.sec6 .flex_box .text_list .text_item {
  display: flex;
  align-items: center;
}

.sec6 .flex_box.box2 .text_list .text_item {
  margin-top: 3.2vw;
}

.sec6 .flex_box .text_item2 {
  font-size: 3.2vw;
  line-height: 6.4vw;
}

.sec6 .flex_box .text_list .text_item .text {
  font-size: 3.2vw;
  font-weight: 700;
  width: 30.9333333333vw;
  text-align: center;
}

.sec6 .flex_box .text_list .text_item .price {
  font-size: 4.8vw;
  font-weight: 700;
}

.sec6 .box2 .text_box .text2 {
  width: 30.9333333333vw;
  font-size: 3.2vw;
}

.sec6 .box2 p.desc {
  font-size: 3.2vw;
  margin-top: 2.6666666667vw;
}

.sec6 .box3 {
  padding: 6.4vw 4.2666666667vw;
  background-color: #fff;
  margin-top: 6.4vw;
}

.sec6 .box3 .text_item {
  display: flex;
  gap: 1.0666666667vw;
  padding-bottom: 4.2666666667vw;
  margin-bottom: 4.2666666667vw;
  border-bottom: 1px solid #b6b6b6;
}

.sec6 .box3 .text_item:nth-of-type(3) {
  margin-bottom: unset;
  padding-bottom: unset;
  border-bottom: unset;
}

.sec6 .box3 .text_item img {
  width: 15.4666666667vw;
  height: 19.2vw;
}

.sec6 .box3 .text_box .text {
  font-size: 3.2vw;
}

@media screen and (min-width: 768px) {
  .sec6 .section_title::after {
    width: 208px;
    height: 13px;
  }
  .sec6 .flex {
    margin-top: 33px;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  .sec6 .flex_box {
    padding: 24px 16px;
  }
  .sec6 .flex_box img {
    width: 100%;
    height: 200px;
  }
  .sec6 .flex_box .title {
    font-size: 20px;
    margin-top: 16px;
    padding-bottom: 4px;
  }
  .sec6 .box1 .sub_title {
    margin-top: 12px;
  }
  .sec6 .box1 .sub_title:nth-of-type(2) {
    padding-top: 8px;
    margin-top: 8px;
  }
  .sec6 .flex_box .text_list .text_item {
    justify-content: space-between;
  }
  .sec6 .flex_box.box2 .text_list .text_item {
    margin-top: 12px;
  }
  .sec6 .flex_box .text_item2 {
    font-size: 13px;
    line-height: 2;
  }
  .sec6 .flex_box .text_list .text_item .text {
    font-size: 15px;
    width: 144px;
  }
  .sec6 .flex_box .text_list .text_item .price {
    font-size: 17px;
    width: 168px;
  }
  .sec6 .box2 .text_box {
    width: 144px;
  }
  .sec6 .box2 .text_box .text2 {
    width: auto;
    font-size: 15px;
  }
  .sec6 .flex_box.box2 .title:nth-of-type(2) {
    margin-top: 8px;
    padding-top: 16px;
    border-top: 1px solid #b6b6b6;
  }
  .sec6 .box2 p.desc {
    font-size: 17px;
    margin-top: 12px;
  }
  .sec6 .box3 {
    padding: 24px 16px;
    margin-top: 24px;
  }
  .sec6 .box3 .text_item {
    display: block;
  }
  .sec6 .box3 .text_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
  .sec6 .box3 .text_item {
    gap: 4px;
    padding: 0 16px 16px;
    margin-bottom: 16px;
    border-bottom: unset;
    border-right: 1px solid #b6b6b6;
  }
  .sec6 .box3 .text_item:nth-of-type(1) {
    padding-left: unset;
  }
  .sec6 .box3 .text_item:nth-of-type(3) {
    margin-bottom: unset;
    padding-bottom: unset;
    border-right: unset;
  }
  .sec6 .box3 .text_item img {
    width: 58px;
    height: 72px;
  }
  .sec6 .box3 .text_box .text {
    font-size: 15px;
  }
}
@media screen and (min-width: 1080px) {
  .sec6 .flex_box .text_list .text_item {
    justify-content: unset;
  }
  .sec6 .flex_box .text_list .text_item .text {
    width: 239px;
  }
  .sec6 .flex_box .text_list .text_item .price {
    font-size: 22px;
    width: auto;
  }
  .sec6 .box2 .text_box {
    display: flex;
    width: 239px;
  }
  .sec6 .box3 .text_item {
    display: flex;
  }
}
/* トップページ section7
***************************************************************/
.sec7 {
  background-color: #dfd7ba;
  position: relative;
  z-index: -5;
}

.sec7 .section_title::after {
  width: 76.8vw;
  height: 3.2vw;
}

.sec7 .desc {
  margin-top: 8.5333333333vw;
  font-size: 3.2vw;
  font-weight: 700;
  text-align: center;
}

.sec7 .sub_title {
  font-size: 7.7333333333vw;
  font-weight: 700;
  text-align: center;
  line-height: 2;
  position: relative;
}

.sec7 .sub_title::after {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: 8px;
  left: 50%;
  width: 64.2666666667vw;
  height: 4.2666666667vw;
  transform: translateX(-50%);
  background-color: #ffeb94;
  z-index: -1;
}

.sec7 .item_list {
  margin-top: 6.4vw;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 2.6666666667vw;
}

.sec7 .item_list .item {
  padding: 2.1333333333vw 4.2666666667vw;
  background-color: #fff;
  display: flex;
  gap: 2.1333333333vw;
  position: relative;
}

.sec7 .item_list .item::after {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: -2.6666666667vw;
  left: 50%;
  width: 0;
  height: 0;
  transform: translateX(-50%);
  border-left: 2.8vw solid transparent; /* 幅の半分 */
  border-right: 2.8vw solid transparent; /* 幅の半分 */
  border-top: 2.6666666667vw solid #aea06e; /* 下向きの三角形の色 */
}

.sec7 .item_list .item:nth-of-type(4)::after {
  display: none;
}

.sec7 .item_list .item img {
  width: 15.4666666667vw;
  height: 16.5333333333vw;
}

.sec7 .item_list .item .text_box {
  flex: 1;
}

.sec7 .item_list .item .text_box .text_title {
  font-weight: 700;
  border-bottom: 1px dashed #000000;
}

.sec7 .item_list .item .text_box .text {
  font-size: 3.2vw;
  line-height: 4.8vw;
  margin-top: 1.0666666667vw;
}

@media screen and (min-width: 768px) {
  .sec7 .section_title::after {
    width: 452px;
    height: 19px;
    bottom: -15px;
  }
  .sec7 .desc {
    margin-top: 32px;
    font-size: 17px;
  }
  .sec7 .sub_title {
    font-size: 34px;
  }
  .sec7 .sub_title::after {
    bottom: 5px;
    width: 299px;
    height: 22px;
  }
  .sec7 .item_list {
    margin-top: 24px;
    gap: 10px;
  }
  .sec7 .item_list .item {
    padding: 16px;
    gap: 8px;
    width: 440px;
    margin: 0 auto;
  }
  .sec7 .item_list .item::after {
    bottom: -10px;
    border-left: 10.5px solid transparent; /* 幅の半分 */
    border-right: 10.5px solid transparent; /* 幅の半分 */
    border-top: 10px solid #aea06e; /* 下向きの三角形の色 */
  }
  .sec7 .item_list .item:nth-of-type(4)::after {
    display: none;
  }
  .sec7 .item_list .item img {
    width: 58px;
    height: 62px;
  }
  .sec7 .item_list .item .text_box .text {
    font-size: 15px;
    line-height: 2;
    margin-top: 4px;
  }
}
/* トップページ section8
***************************************************************/
.sec8 {
  background-color: #a0cae3;
  line-height: 2;
  font-weight: 700;
}

.sec8 .section_title::after {
  width: 50.1333333333vw;
  height: 3.2vw;
}

.sec8 .text_list {
  margin-top: 8.5333333333vw;
  padding: 4.2666666667vw;
  background-color: #fff;
}

.sec8 .text_list .item {
  padding: 4.2666666667vw 0 4.2666666667vw 6.4vw;
  font-size: 3.4666666667vw;
  border-top: 1px solid #b6b6b6;
}

.sec8 .text_list .item:nth-of-type(1) {
  border-top: none;
}

.sec8 .text_list .item:nth-of-type(1) {
  padding: 0 0 4.2666666667vw 6.4vw;
}

.sec8 .text_list .item:nth-of-type(5) {
  padding: 4.2666666667vw 0 0 6.4vw;
}

.sec8 .text_list .item .text_q {
  position: relative;
}

.sec8 .text_list .item .text_q::before {
  content: "Q";
  display: inline-block;
  position: absolute;
  top: -1.3333333333vw;
  left: -6.4vw;
  font-size: 4.8vw;
  font-weight: 700;
}

.sec8 .text_list .item .text_a {
  margin-top: 4.2666666667vw;
  position: relative;
}

.sec8 .text_list .item .text_a::before {
  content: "A";
  display: inline-block;
  position: absolute;
  top: -1.3333333333vw;
  left: -5.8666666667vw;
  font-size: 4.8vw;
  font-weight: 700;
  color: #ff4d00;
}

@media screen and (min-width: 768px) {
  .sec8 .section_title::after {
    width: 274px;
    height: 12px;
  }
  .sec8 .text_list {
    margin-top: 32px;
    padding: 24px;
  }
  .sec8 .text_list .item {
    padding: 24px 0 24px 38px;
    font-size: 17px;
  }
  .sec8 .text_list .item:nth-of-type(1) {
    padding: 0 0 24px 38px;
  }
  .sec8 .text_list .item:nth-of-type(5) {
    padding: 24px 0 0 38px;
  }
  .sec8 .text_list .item .text_q::before {
    top: -5px;
    left: -38px;
    font-size: 24px;
  }
  .sec8 .text_list .item .text_a {
    margin-top: 16px;
  }
  .sec8 .text_list .item .text_a::before {
    top: -5px;
    left: -38px;
    font-size: 24px;
  }
}
/* トップページ section9
***************************************************************/
.sec9 {
  background-color: #f57946;
}

.sec9 .section_title::after {
  width: 69.6vw;
  height: 3.2vw;
}

.sec9 .text_box {
  margin-top: 8.5333333333vw;
  padding: 6.4vw 2.1333333333vw;
  background-color: #fff;
}

.sec9 .text_box p.desc {
  font-weight: 700;
  text-align: center;
}

.sec9 .img_box {
  display: flex;
  gap: 4.2666666667vw;
  justify-content: center;
  margin-top: 6.4vw;
}

.sec9 .img_box .img01 {
  width: 14.9333333333vw;
}

.sec9 .img_box .img02 {
  width: 12.2666666667vw;
}

.img_box .img03 {
  width: 14.4vw;
}

.sec9 .img_box .img04 {
  width: 17.6vw;
}

.sec9 .brand_box {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 4.2666666667vw;
  align-items: center;
  margin-top: 16vw;
}

.sec9 .brand_box .brand01 {
  width: 21.3333333333vw;
}

.sec9 .brand_box .brand02 {
  width: 21.3333333333vw;
}

.sec9 .brand_box .brand03 {
  width: 25.6vw;
}

.sec9 .brand_box .brand04 {
  width: 21.3333333333vw;
}

.sec9 .brand_box .brand05 {
  width: 19.2vw;
}

.sec9 .brand_box .brand06 {
  width: 21.3333333333vw;
}

.sec9 .brand_box .brand07 {
  width: 24.2666666667vw;
}

.sec9 .brand_box .brand08 {
  width: 24.5333333333vw;
}

.sec9 .brand_box .brand09 {
  width: 20.2666666667vw;
}

.sec9 .brand_box .brand10 {
  width: 44.5333333333vw;
  margin-left: -18.6666666667vw;
}

.sec9 .brand_box .text {
  position: relative;
  top: 1.6vw;
  left: 9.8666666667vw;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  .sec9 .section_title::after {
    width: 404px;
    height: 18px;
  }
  .sec9 .text_box {
    margin-top: 32px;
    padding: 24px 0;
  }
  .sec9 .img_box {
    gap: 24px;
    margin-top: 24px;
  }
  .sec9 .img_box .img01 {
    width: 78px;
  }
  .sec9 .img_box .img02 {
    width: 64px;
  }
  .img_box .img03 {
    width: 75px;
  }
  .sec9 .img_box .img04 {
    width: 92px;
  }
  .sec9 .brand_box {
    gap: 24px;
    width: 625px;
    margin: 72px auto;
  }
  .sec9 .brand_box .brand01 {
    width: 80px;
  }
  .sec9 .brand_box .brand02 {
    width: 80px;
  }
  .sec9 .brand_box .brand03 {
    width: 96px;
  }
  .sec9 .brand_box .brand04 {
    width: 80px;
  }
  .sec9 .brand_box .brand05 {
    width: 72px;
  }
  .sec9 .brand_box .brand06 {
    width: 80px;
  }
  .sec9 .brand_box .brand07 {
    width: 103px;
  }
  .sec9 .brand_box .brand08 {
    width: 128px;
  }
  .sec9 .brand_box .brand09 {
    width: 72px;
    order: 10;
  }
  .sec9 .brand_box .brand10 {
    width: 167px;
    margin-left: unset;
    order: 9;
  }
  .sec9 .brand_box .text {
    top: 8px;
    left: unset;
    order: 11;
  }
}
/* トップページ section10
***************************************************************/
.sec10 {
  background-color: #dfd7ba;
  font-weight: 700;
  padding: 10.6666666667vw 4.2666666667vw;
}

.sec10 .section_title::after {
  width: 69.6vw;
  height: 3.2vw;
}

.sec10 .contact_form {
  margin-top: 6.4vw;
}

.sec10 .contact_form .name_box {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4.2666666667vw;
}

.sec10 .contact_form li + li {
  margin-top: 4.2666666667vw;
}

.sec10 .contact_form li input {
  width: 100%;
  height: 10.6666666667vw;
  border: 1px solid #000000;
  border-radius: 4px;
  background-color: #fff;
  padding: 0 2.1333333333vw;
}

.sec10 .contact_form li textarea {
  width: 100%;
  height: 22.1333333333vw;
  border: 1px solid #000000;
  border-radius: 4px;
  background-color: #fff;
  padding: 0 2.1333333333vw;
  resize: none;
}

.sec10 .submit1 {
  margin-top: 6.4vw;
}

/* デフォルトのテキストを非表示にする */
.mwform-upload input[type=file] {
  display: none; /* ファイル選択フィールドを非表示にする */
}

.sec10 .confirm_img {
  display: none;
}

.sec10 .desc {
  margin-top: 6.4vw;
  font-size: 3.2vw;
  text-align: center;
}

.sec10 .desc .link {
  text-decoration: underline;
}

.sec10 .submit2 {
  display: block;
  width: 64vw;
  height: 12.8vw;
  padding: 2.1333333333vw 4.2666666667vw;
  border-radius: 100px;
  background-color: #f57946;
  box-shadow: 0px 2px 0 #b75730;
  text-align: center;
  margin: 2.1333333333vw auto 0;
}

.sec10 .submit3 {
  display: none;
}

.sec10 br {
  display: none;
}

@media screen and (min-width: 768px) {
  .sec10 {
    padding: 56px 0;
  }
  .sec10 .inner {
    max-width: 618px;
    margin: 0 auto;
  }
  .sec10 .section_title::after {
    width: 300px;
    height: 13px;
  }
  .sec10 .contact_form {
    margin-top: 24px;
  }
  .sec10 .contact_form .name_box {
    gap: 16px;
  }
  .sec10 .contact_form li + li {
    margin-top: 16px;
  }
  .sec10 .contact_form li input {
    width: 100%;
    height: 48px;
    padding: 0 8px;
  }
  .sec10 .contact_form li textarea {
    height: 112px;
    padding: 0 8px;
  }
  .sec10 .submit1 {
    margin-top: 24px;
  }
  .sec10 .desc {
    margin-top: 24px;
    font-size: 14px;
  }
  .sec10 .desc .link {
    text-decoration: underline;
  }
  .sec10 .submit2 {
    display: block;
    width: 320px;
    height: 56px;
    padding: 11px 143px;
    margin: 8px auto 0;
  }
}
/* お問合せ（確認）
***************************************************************/
.confirm {
  background-color: #dfd7ba;
  font-weight: 700;
  padding: 10.6666666667vw 6.4vw;
}

.confirm .section_title::after {
  width: 69.6vw;
  height: 3.2vw;
}

.confirm .contact_form {
  margin-top: 6.4vw;
}

.confirm .contact_form .name_box {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4.2666666667vw;
}

.confirm .contact_form li + li {
  margin-top: 4.2666666667vw;
}

.confirm .contact_form li input {
  width: 100%;
  height: 10.6666666667vw;
  padding: 0 2.1333333333vw;
}

.confirm .contact_form li textarea {
  width: 100%;
  height: 22.1333333333vw;
  padding: 0 2.1333333333vw;
}

.confirm_img {
  width: 28.2666666667vw;
  height: vesp(106);
  margin-top: 4.2666666667vw;
}

.confirm .desc {
  margin-top: 6.4vw;
  font-size: 3.2vw;
  text-align: center;
}

.confirm .desc .link {
  text-decoration: underline;
}

.confirm .submit_box {
  margin-top: 2.1333333333vw;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: center;
  gap: 4.2666666667vw;
}

.confirm .submit {
  display: block;
  width: 100%;
  height: 12.8vw;
  border-radius: 100px;
  background-color: #b6b6b6;
  box-shadow: 0px 2px 0vw #3c241a;
  text-align: center;
  margin: 2.1333333333vw auto 0;
}

.confirm .submit2 {
  background-color: #f57946;
  box-shadow: 0px 2px 0vw #b75730;
}

.confirm .submit3 {
  display: block;
}

.confirm br {
  display: none;
}

@media screen and (min-width: 768px) {
  .confirm {
    padding: 56px 0;
  }
  .confirm .inner {
    max-width: 618px;
    margin: 0 auto;
  }
  .confirm .section_title::after {
    width: 300px;
    height: 13px;
  }
  .confirm .contact_form {
    margin-top: 24px;
  }
  .confirm .contact_form .name_box {
    gap: 16px;
  }
  .confirm .contact_form li + li {
    margin-top: 16px;
  }
  .confirm .contact_form li input {
    width: 100%;
    height: 48px;
    padding: 0 8px;
  }
  .confirm .contact_form li textarea {
    height: 112px;
    padding: 0 8px;
  }
  .confirm_img {
    width: 250px;
    height: 250px;
    margin-top: 24px;
  }
  .confirm .desc {
    margin-top: 24px;
    font-size: 14px;
  }
  .confirm .desc .link {
    text-decoration: underline;
  }
  .confirm .submit_box {
    margin-top: 16px;
    gap: 16px;
  }
  .confirm .submit {
    display: block;
    height: 48px;
    margin: 8px auto 0;
  }
}
/* お問合せ（完了）
***************************************************************/
.thanks {
  background-color: #dfd7ba;
  padding: 10.6666666667vw 4.2666666667vw;
}

.thanks .section_title::after {
  display: none;
}

.thanks .img_box {
  display: flex;
  gap: 4.2666666667vw;
  justify-content: center;
  align-items: center;
  margin-top: 4.2666666667vw;
}

.thanks .img_box .img01 {
  width: 12.2666666667vw;
}

.thanks .img_box .img02 {
  width: 11.2vw;
}

.thanks .img_box .img03 {
  width: 11.4666666667vw;
}

.thanks .img_box .img04 {
  width: 10.9333333333vw;
}

.thanks .text_box {
  margin-top: 4.2666666667vw;
  padding: 4.2666666667vw;
  background-color: #fff;
  text-align: center;
  font-size: 3.4666666667vw;
  font-weight: 700;
}

.thanks .text_box .text + .text {
  margin-top: 6.9333333333vw;
}

@media screen and (min-width: 768px) {
  .thanks {
    padding: 56px 0 98px;
  }
  .thanks .img_box {
    gap: 16px;
    margin-top: unset;
  }
  .thanks .img_box .img01 {
    width: 51px;
  }
  .thanks .img_box .img02 {
    width: 47px;
  }
  .thanks .img_box .img03 {
    width: 48px;
  }
  .thanks .img_box .img04 {
    width: 45px;
  }
  .thanks .text_box {
    margin-top: 24px;
    padding: 24px;
    font-size: 13px;
  }
  .thanks .text_box .text + .text {
    margin-top: 26px;
  }
}
/*
 下層ページ（共通）
========================================================================== */
.subpage {
  padding: 10.6666666667vw 4.2666666667vw;
  background-color: #dfd7ba;
}

.subpage_title::after {
  display: none;
}

.subpage_title span {
  display: block;
}

@media screen and (min-width: 768px) {
  .subpage {
    padding: 56px 0 98px;
    background-color: #dfd7ba;
  }
}
/*
 .tokusyoho
========================================================================== */
.tokusyoho .text_box {
  padding: 4.2666666667vw;
  background-color: #fff;
  font-size: 3.4666666667vw;
  margin-top: 4.2666666667vw;
}

.tokusyoho .text_box .text_list .text_item {
  padding-bottom: 4.2666666667vw;
  margin-bottom: 4.2666666667vw;
  border-bottom: 1px solid #b6b6b6;
}

.tokusyoho .text_box .text_list .text_item:nth-last-of-type(1) {
  padding-bottom: unset;
  margin-bottom: unset;
  border-bottom: unset;
}

.tokusyoho .text_box .text_list .text_item .title {
  font-weight: 700;
}

.tokusyoho .text_box .text_list .text_item .text {
  flex: 1;
}

.tokusyoho .text_box .text_box2 {
  margin-top: 6.9333333333vw;
  display: flex;
  gap: 10.6666666667vw;
}

@media screen and (min-width: 768px) {
  .tokusyoho .text_box {
    padding: 24px;
    font-size: 17px;
    margin-top: 24px;
  }
  .tokusyoho .text_box .text_list .text_item {
    padding-bottom: 16px;
    margin-bottom: 24px;
    display: flex;
  }
  .tokusyoho .text_box .text_list .text_item .title {
    width: 228px;
  }
  .tokusyoho .text_box .text_box2 {
    margin-top: 26px;
    display: flex;
    gap: 40px;
  }
}
/*
 .service
========================================================================== */
.service .text_box {
  padding: 4.2666666667vw;
  background-color: #fff;
  margin-top: 4.2666666667vw;
  font-size: 3.4666666667vw;
}

.service .text_box .text {
  margin-bottom: 6.9333333333vw;
}

.service .text_box .text:nth-last-of-type(1) {
  margin-bottom: unset;
}

.service .text_box h2.title {
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  .service .text_box {
    padding: 24px;
    background-color: #fff;
    margin-top: 24px;
    font-size: 17px;
  }
  .service .text_box .text {
    margin-bottom: 34px;
  }
}
/*
 .important
========================================================================== */
.important .subpage_title span {
  display: inline;
}

.important .text_box {
  padding: 4.2666666667vw;
  background-color: #fff;
  margin-top: 4.2666666667vw;
  font-size: 3.4666666667vw;
}

.important .text_box .title {
  font-weight: 700;
  margin-top: 6.9333333333vw;
}

.important .text_box .text_list {
  list-style: decimal;
  list-style-position: inside;
}

.important .text_box .text2 {
  margin: 6.9333333333vw 0;
}

@media screen and (min-width: 768px) {
  .important .text_box {
    padding: 24px;
    margin-top: 24px;
    font-size: 17px;
  }
  .important .text_box .title {
    margin-top: 34px;
  }
  .important .text_box .text2 {
    margin: 34px 0;
  }
}
/*
 .privacy
========================================================================== */
.privacy .text_box {
  padding: 4.2666666667vw;
  background-color: #fff;
  margin-top: 4.2666666667vw;
  font-size: 3.4666666667vw;
}

.privacy .text_box .title {
  font-weight: 700;
  margin-top: 6.9333333333vw;
}

.privacy .text_box .text_list {
  list-style: none; /* デフォルトの番号を消す */
  counter-reset: list-counter; /* カウンターをリセット */
}

.privacy .text_box .text_list li {
  counter-increment: list-counter; /* カウンターをインクリメント */
}

.privacy .text_box .text_list li::before {
  content: counter(list-counter) ") "; /* "1) " のように表示 */
  margin-right: 1.3333333333vw;
}

.privacy .text_box .text_list2 {
  margin: 6.9333333333vw 0;
}

@media screen and (min-width: 768px) {
  .privacy .text_box {
    padding: 24px;
    margin-top: 24px;
    font-size: 17px;
  }
  .privacy .text_box .title {
    margin-top: 34px;
  }
  .privacy .text_box .text_list li::before {
    margin-right: 5px;
  }
  .privacy .text_box .text_list2 {
    margin: 34px 0;
  }
}