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

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: 500;
  font-size: 100%;
  vertical-align: baseline;
}

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

figure {
  margin: 0;
}

ol,
ul {
  list-style: none;
}

img {
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
  font: inherit;
  cursor: pointer;
}

input,
select,
textarea {
  color: inherit;
  font: inherit;
  vertical-align: top;
}

em {
  font-style: normal;
}

/* ----------------------------------------
*clamp関数（px）
---------------------------------------- */

/* ----------------------------------------
*clamp関数（rem）
---------------------------------------- */

/* ----------------------------------------
*pxをvwに変換
---------------------------------------- */

/* ----------------------------------------
*pxをremに変換
---------------------------------------- */

/* ----------------------------------------
*フォントカラー
---------------------------------------- */

/* ----------------------------------------
*フォント太さ
---------------------------------------- */

/* ----------------------------------------
*Adobeフォント
---------------------------------------- */

/* ----------------------------------------
*google-font
---------------------------------------- */

.hidden-pc {
  display: none;
}

.display-block {
  display: none;
}

.display-block-md {
  display: none;
}

body {
  overflow-x: hidden;
  color: #fff;
  font-weight: 500;
  font-family: "Noto Sans JP", system-ui;
}

.inner {
  max-width: 1010px;
  margin-inline: auto;
  padding-inline: 60px;
}

.inner-lg {
  max-width: 1000px;
  margin-inline: auto;
  padding-inline: 40px;
}

/* ----------------------------------------
*セクションタイトル⬇︎
---------------------------------------- */

hgroup span {
  display: block;
  font-weight: 600;
  font-stretch: condensed;
  font-size: clamp(24px, 13.7704918033px + 2.6229508197vw, 40px);
  font-family: "Roboto Condensed", system-ui;
  letter-spacing: 0.05em;
  text-align: center;
}

hgroup h2 {
  margin-top: 15px;
  font-weight: 500;
  font-size: clamp(38px, 11.1475409836px + 6.8852459016vw, 80px);
  line-height: 1.5365853659;
  font-family: "shippori-mincho", sans-serif;
  letter-spacing: 0.11em;
  text-align: center;
}

.hgroup-green span {
  color: #3e7700;
}

.hgroup-green h2 {
  color: #3e7700;
}

/* ----------------------------------------
*CTA⬇︎
---------------------------------------- */

.cta {
  padding-top: clamp(30px, 4.4262295082px + 6.5573770492vw, 70px);
  padding-bottom: clamp(30px, 4.4262295082px + 6.5573770492vw, 70px);
  background: url(../img/common/cta_bg@2x.webp) no-repeat center center/cover;
}

.cta .box {
  padding: clamp(15px, 5.4098360656px + 2.4590163934vw, 30px)
    clamp(10px, -9.1803278689px + 4.9180327869vw, 40px)
    clamp(25px, 12.2131147541px + 3.2786885246vw, 45px);
  background: #fff;
}

.cta.type1 .area1 {
  padding-inline: clamp(0px, -24.2950819672px + 6.2295081967vw, 38px);
}

.cta.type1 .area1 .price-befo {
  margin-bottom: 10px;
  margin-left: 20px;
  color: #000;
  font-size: clamp(16px, 4.5454545455px + 2.0454545455vw, 25px);
  line-height: 1.5;
  letter-spacing: 0.03em;
}

.cta.type1 .area1 .wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: -20px;
  gap: clamp(30px, -3.1034482759px + 4.3103448276vw, 40px);
}

.cta.type1 .area1 .price--off {
  display: inline;
  height: -moz-fit-content;
  height: fit-content;
  padding-inline: 10px;
  border: 4px solid currentColor;
  background: #f4f4f4;
  color: #ae2e3b;
  font-weight: 600;
  font-size: clamp(25px, 5.8196721311px + 4.9180327869vw, 55px);
  line-height: clamp(2.5rem, 0.625rem + 8vw, 5.625rem);
  font-family: "Oswald", sans-serif;
}

.cta.type1 .area1 .price--off em {
  font-weight: inherit;
  font-size: clamp(25px, -8.2459016393px + 8.5245901639vw, 77px);
}

.cta.type1 .area1 .price {
  font-weight: 600;
  font-family: "Oswald", sans-serif;
}

.cta.type1 .area1 .price span {
  color: #000;
  font-weight: 600;
  font-size: clamp(25px, -92px + 13vw, 38px);
  font-family: "Oswald", sans-serif;
}

.cta.type1 .area1 .price em {
  color: #000;
  font-size: clamp(80px, 8px + 9vw, 98px);
}

.cta.type2 .area1 .wrap {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.cta.type2 .area1 .wrap span {
  color: #000;
  font-weight: 600;
  font-size: clamp(36px, -56.6896551724px + 12.0689655172vw, 64px);
  font-family: "Roboto Condensed", system-ui;
  letter-spacing: 0.05em;
}

.cta.type2 .area1 .wrap em {
  display: inline;
  align-items: center;
  height: -moz-fit-content;
  height: fit-content;
  padding: clamp(5px, 1.8032786885px + 0.8196721311vw, 10px)
    clamp(10px, 6.8032786885px + 0.8196721311vw, 15px);
  background: #ae2e3b;
  font-weight: 600;
  font-size: clamp(20px, 9.8181818182px + 1.8181818182vw, 28px);
  letter-spacing: 0.05em;
}

.cta.type2 .area1 p {
  margin-top: clamp(10px, 3.606557377px + 1.6393442623vw, 20px);
  margin-bottom: clamp(15px, 5.4098360656px + 2.4590163934vw, 30px);
  color: #000;
  font-weight: 600;
  font-size: clamp(16px, 10.9090909091px + 0.9090909091vw, 20px);
  line-height: 1.95;
  letter-spacing: 0.03em;
}

.area2-cta {
  margin-top: clamp(10px, 0.4098360656px + 2.4590163934vw, 25px);
  padding: clamp(20px, 13.606557377px + 1.6393442623vw, 30px)
    clamp(15px, 8.606557377px + 1.6393442623vw, 25px);
  border-top: 4px solid #000;
  border-bottom: 4px solid #000;
  background: #f4f4f4;
}

.area2-cta .souryo .wrap1 {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: center;
  gap: clamp(20px, -160px + 20vw, 40px);
}

.area2-cta .souryo .wrap1 .order-button {
  width: clamp(280px, 15.1724137931px + 34.4827586207vw, 360px);
  height: clamp(70px, -9.4482758621px + 10.3448275862vw, 94px);
  margin-top: -10px;
}

.area2-cta .souryo .wrap1 .order-button a {
  display: inline-flex;
  position: relative;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding-right: clamp(25px, -8.1034482759px + 4.3103448276vw, 35px);
  padding-left: clamp(15px, -18.1034482759px + 4.3103448276vw, 25px);
  border: 3px solid #ae2e3b;
  border-radius: 47px;
  background-color: #ae2e3b;
  box-shadow: 0 5px 0 0 rgba(0, 0, 0, 0.19);
  color: #fff;
  font-size: clamp(18px, 9.0909090909px + 1.5909090909vw, 25px);
  line-height: 3.2;
  font-family: "Noto Sans JP", system-ui;
  transition: all 0.3s ease;
}

.area2-cta .souryo .wrap1 .order-button a::after {
  position: absolute;
  top: 50%;
  right: 8%;
  width: clamp(20px, 16.8032786885px + 0.8196721311vw, 25px);
  height: clamp(20px, 16.8032786885px + 0.8196721311vw, 25px);
  transform: translateY(-50%);
  background: url(../img/common/arrow-white.webp) no-repeat center
    center/contain;
  content: "";
}

.area2-cta .souryo .wrap1 .order-button a:hover {
  border-color: #ae2e3b;
  background-color: #fff;
  color: #ae2e3b;
}

.area2-cta .souryo .wrap1 .order-button a:hover::after {
  background-image: url(../img/common/arrow-red.webp);
}

.area2-cta .souryo .wrap1 .wrap2 .wrap3 {
  display: flex;
  align-items: center;
  margin-top: -20px;
}

.area2-cta .souryo .wrap1 .wrap2 .wrap3 span {
  display: block;
  padding: clamp(5px, -1.3636363636px + 1.1363636364vw, 10px);
  color: #9b8719;
  font-size: clamp(20px, -13.1034482759px + 4.3103448276vw, 30px);
}

.area2-cta .souryo .wrap1 .wrap2 .wrap3 span.mt {
  display: block;
  margin-top: 30px;
}

.area2-cta .souryo .wrap1 .wrap2 .wrap3 em {
  display: block;
  color: #9b8719;
  font-size: clamp(55px, -4.5862068966px + 7.7586206897vw, 73px);
  font-family: "Oswald", sans-serif;
}

.area2-cta .souryo .wrap1 .wrap2 p {
  margin-top: -8px;
  color: #000;
  font-size: clamp(14px, 1px + 2vw, 21px);
  line-height: 1.8571428571;
}

/* ----------------------------------------
*セット内容の下部
---------------------------------------- */

.set-box {
  display: flex;
  align-items: stretch;
  justify-content: center;
  margin-top: clamp(30px, 17.2131147541px + 3.2786885246vw, 50px);
}

.set-box .title {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26.6304347826%;
  padding: clamp(15px, 8.606557377px + 1.6393442623vw, 25px) 0;
  background: #ae2e3b;
  font-weight: 500;
  font-size: clamp(20px, 13.606557377px + 1.6393442623vw, 30px);
  line-height: 1.28125;
  letter-spacing: 0.05em;
  text-align: center;
}

.set-box .lists {
  width: 72.8260869565%;
  padding: clamp(15px, 8.606557377px + 1.6393442623vw, 25px)
    clamp(10px, 0.4098360656px + 2.4590163934vw, 25px);
  background: #fff;
}

.set-box .lists ul li {
  color: #000;
  font-weight: 500;
  font-size: clamp(14px, 6.9672131148px + 1.8032786885vw, 25px);
  line-height: 1.9230769231;
  letter-spacing: 0.03em;
  text-align: left;
}

.m-auto {
  max-width: 880px;
  margin-inline: auto;
  padding-inline: 50px;
}

#sec01 .fv {
  position: relative;
  width: 100vw;
  height: clamp(600px, 414.5901639344px + 47.5409836066vw, 890px);
  background: url(../img/sec01/sec01_mv.webp) no-repeat center center/cover;
}

#sec01 .img svg {
  width: 100%;
}

#sec01 .wrap strong {
  position: absolute;
  top: 25px;
  left: 30px;
  padding: 0 20px;
  background: #32211c;
  font-weight: 500;
  font-stretch: condensed;
  font-size: clamp(23px, -7.2727272727px + 6.7272727273vw, 60px);
  line-height: 1.4193548387;
  font-family: "shippori-mincho", sans-serif;
  letter-spacing: 0.11em;
  opacity: 0.86;
}

#sec01 .wrap strong:nth-child(2) {
  top: clamp(85px, 62.6229508197px + 5.737704918vw, 120px);
}

#sec01 .img {
  position: absolute;
  bottom: 30px;
  left: 20px;
  width: clamp(300px, 146.5573770492px + 39.3442622951vw, 540px);
}

#sec01 .order-button.type1 {
  z-index: 50;
  width: clamp(180px, 100.0819672131px + 20.4918032787vw, 305px);
}

#sec01 .order-button.type1.fixed {
  position: fixed;
  right: 0;
  bottom: 0;
  height: -moz-fit-content;
  height: fit-content;
}

#sec01 .order-button.type1 a {
  display: inline-flex;
  position: relative;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: clamp(10px, 3.606557377px + 1.6393442623vw, 20px)
    clamp(35px, 25.4098360656px + 2.4590163934vw, 50px)
    clamp(10px, 3.606557377px + 1.6393442623vw, 20px)
    clamp(15px, 5.4098360656px + 2.4590163934vw, 30px);
  border: 3px solid #ae2e3b;
  background-color: #ae2e3b;
  color: #fff;
  font-weight: bold;
  font-size: clamp(17px, 11.8852459016px + 1.3114754098vw, 25px);
  transition: all 0.3s ease;
}

#sec01 .order-button.type1 a::after {
  position: absolute;
  top: 50%;
  right: 11%;
  width: clamp(18px, 11.606557377px + 1.6393442623vw, 28px);
  height: clamp(18px, 11.606557377px + 1.6393442623vw, 28px);
  transform: translateY(-50%);
  background: url(../img/common/allow-white2@2x.webp) no-repeat center
    center/contain;
  content: "";
}

#sec01 .order-button.type1:hover a {
  border-color: #ae2e3b;
  background-color: #fff;
  color: #ae2e3b;
}

#sec01 .order-button.type1:hover a::after {
  width: clamp(20px, 13.606557377px + 1.6393442623vw, 30px);
  height: clamp(20px, 13.606557377px + 1.6393442623vw, 30px);
  background-image: url(../img/common/allow-red2.webp);
}

#sec02 {
  z-index: 1;
  position: relative;
  padding-bottom: clamp(60px, -72.4137931034px + 17.2413793103vw, 100px);
  background: url(../img/sec07/sec07_bg@2x.webp) no-repeat bottom center/cover;
}

#sec02 .sec02-bg {
  padding-top: clamp(30px, 4.4262295082px + 6.5573770492vw, 70px);
  padding-bottom: 180px;
  background: url(../img/sec02/sec02_bg@2x.webp) no-repeat top left/cover;
}

#sec02 .bottom-img {
  z-index: -5;
  position: absolute;
  bottom: 60px;
  left: 50%;
  width: 100%;
  max-width: 1000px;
  transform: translateX(-50%);
}

#sec02 .title {
  color: #3e7700;
  font-weight: 700;
  font-size: clamp(24px, 13.7704918033px + 2.6229508197vw, 40px);
  line-height: 1.7105263158;
  font-family: "Roboto Condensed", system-ui;
  letter-spacing: 0.05em;
  text-align: center;
}

#sec02 h2 {
  color: #000;
  font-weight: 500;
  font-size: clamp(30px, 14.0163934426px + 4.0983606557vw, 55px);
  line-height: 1.4821428571;
  font-family: "shippori-mincho", sans-serif;
  text-align: center;
}

#sec02 .area1 {
  display: flex;
  flex-direction: column;
  margin-top: clamp(15px, 5.4098360656px + 2.4590163934vw, 30px);
  gap: clamp(10px, 0.4098360656px + 2.4590163934vw, 25px);
}

#sec02 .area1 .box1 {
  position: relative;
}

#sec02 .area1 .box1 p {
  position: absolute;
  top: 50%;
  right: 80px;
  transform: translateY(-50%);
  font-size: clamp(18px, 10.3278688525px + 1.9672131148vw, 30px);
  line-height: 1.625;
  font-family: "noto-sans-cjk-jp", sans-serif;
  letter-spacing: 0.05em;
  text-align: center;
}

#sec02 .area1 .box2 {
  position: relative;
}

#sec02 .area1 .box2 p {
  position: absolute;
  top: 50%;
  left: 80px;
  transform: translateY(-50%);
  font-size: clamp(18px, 10.3278688525px + 1.9672131148vw, 30px);
  line-height: 1.625;
  letter-spacing: 0.05em;
  text-align: center;
}

#sec02 .box3 {
  position: relative;
}

#sec02 .box3 p {
  position: absolute;
  top: 50%;
  right: 80px;
  transform: translateY(-50%);
  font-size: clamp(16px, 7.0491803279px + 2.2950819672vw, 30px);
  line-height: 1.625;
  letter-spacing: 0.05em;
  text-align: center;
}

#sec02 .area2 {
  margin-top: clamp(20px, 0.8196721311px + 4.9180327869vw, 50px);
}

#sec02 .area2 p {
  color: #000;
  font-size: clamp(22px, 13.6885245902px + 2.131147541vw, 35px);
  line-height: 1.5428571429;
  font-family: "noto-sans-cjk-jp", sans-serif;
  text-align: center;
}

#sec02 .area2 p strong {
  color: #ae2e3b;
  font-weight: 700;
  font-size: clamp(24px, 13.7704918033px + 2.6229508197vw, 40px);
  line-height: 1.3170731707;
  font-family: "noto-sans-cjk-jp", sans-serif;
}

#sec02 .area2 .box {
  z-index: 31;
  position: relative;
  width: clamp(320px, -11.0344827586px + 43.1034482759vw, 420px);
  margin-top: clamp(90px, -9.3103448276px + 12.9310344828vw, 120px);
  margin-right: 0;
  margin-bottom: 150px;
  margin-left: auto;
  padding: clamp(20px, -79.3103448276px + 12.9310344828vw, 50px)
    clamp(15px, -51.2068965517px + 8.6206896552vw, 35px)
    clamp(30px, 46.5517241379px + -2.1551724138vw, 25px)
    clamp(10px, -23.1034482759px + 4.3103448276vw, 20px);
  background: rgba(255, 255, 255, 0.5);
  text-align: center;
}

#sec02 .area2 .box span {
  display: block;
  color: #3e7700;
  font-weight: 700;
  font-stretch: condensed;
  font-size: clamp(26px, 7.4590163934px + 4.7540983607vw, 55px);
  line-height: 1.1698113208;
  font-family: "Roboto Condensed", system-ui;
  letter-spacing: 0.05em;
}

#sec02 .area2 .box span:first-of-type {
  text-align: center;
}

#sec02 .area2 .box::before {
  z-index: -1;
  position: absolute;
  top: 25px;
  right: 25px;
  width: clamp(320px, -11.0344827586px + 43.1034482759vw, 420px);
  height: clamp(210px, 11.3793103448px + 25.8620689655vw, 270px);
  background: rgba(255, 255, 255, 0.5);
  content: "";
}

#sec02 .area2 .wrap {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

#sec02 .area2 .wrap p.bottom {
  font-weight: 500;
  font-size: clamp(28px, 13.9344262295px + 3.606557377vw, 50px);
  line-height: 1.7291666667;
  font-family: "shippori-mincho", sans-serif;
  white-space: nowrap;
}

#sec02 .area2 .wrap p.bottom em {
  text-decoration: underline;
  text-decoration-color: #fff;
  text-decoration-thickness: 11px;
  text-underline-offset: -7px;
}

#sec03 {
  text-align: center;
}

#sec03 .area1 {
  align-items: center;
  width: 100vw;
  height: clamp(650px, 477.3770491803px + 44.262295082vw, 920px);
  padding-top: clamp(30px, -1.9672131148px + 8.1967213115vw, 80px);
  padding-bottom: clamp(30px, -21.1475409836px + 13.1147540984vw, 110px);
  gap: 30px;
  background: url(../img/sec03/sec03_bg@2x.webp) no-repeat center center/cover;
}

#sec03 .area1 .img-text {
  width: 100%;
  max-width: clamp(200px, 173.7868852459px + 6.7213114754vw, 241px);
  margin-inline: auto;
}

#sec03 .area1 strong {
  display: block;
  margin-top: 30px;
  font-weight: 500;
  font-size: clamp(30px, 3.1475409836px + 6.8852459016vw, 72px);
  line-height: 1.1527777778;
  font-family: "shippori-mincho", sans-serif;
}

#sec03 .area1 span {
  display: inline-block;
  height: -moz-fit-content;
  height: fit-content;
  margin-top: 40px;
  padding-inline: 20px;
  background: #fff;
  color: #3e7700;
  font-weight: 700;
  font-stretch: condensed;
  font-size: clamp(38px, 4.7540983607px + 8.5245901639vw, 90px);
  font-family: "Roboto Condensed", system-ui;
}

#sec03 .area1 p {
  margin-top: 60px;
  font-size: clamp(18px, 13.5245901639px + 1.1475409836vw, 25px);
  line-height: 2.08;
  font-family: "noto-sans-cjk-jp", sans-serif;
  letter-spacing: 0.05em;
  text-align: center;
}

#sec03 .area2 {
  padding-top: clamp(30px, 23.606557377px + 1.6393442623vw, 40px);
  padding-bottom: clamp(30px, 10.8196721311px + 4.9180327869vw, 60px);
}

#sec03 .area2 h3 {
  display: inline-block;
  position: relative;
  padding-inline: clamp(60px, -35.9016393443px + 24.5901639344vw, 210px);
  color: #28262c;
  font-size: clamp(20px, 13.606557377px + 1.6393442623vw, 30px);
  line-height: 1.724137931;
  letter-spacing: 0.05em;
}

#sec03 .area2 h3::before,
#sec03 .area2 h3::after {
  position: absolute;
  top: 50%;
  width: 100%;
  max-width: clamp(50px, -39.5081967213px + 22.9508196721vw, 190px);
  height: clamp(2px, 0.7213114754px + 0.3278688525vw, 4px);
  transform: translateY(-50%);
  background: #000;
  content: "";
}

#sec03 .area2 h3::before {
  left: 0;
}

#sec03 .area2 h3::after {
  right: 0;
}

#sec03 .area2 .img {
  margin-top: clamp(10px, -2.7868852459px + 3.2786885246vw, 30px);
}

#sec03 .area2 .img svg {
  width: 100%;
}

#sec03 .area2 .img.display-block-md {
  max-width: 600px;
  height: auto;
  margin-inline: auto;
}

#sec04 {
  padding-top: clamp(30px, 4.4262295082px + 6.5573770492vw, 70px);
  padding-bottom: clamp(30px, 4.4262295082px + 6.5573770492vw, 70px);
  background: url(../img/sec04/sec04_bg@2x.webp) no-repeat center center/cover;
}

#sec04 p {
  font-size: clamp(18px, 13.5245901639px + 1.1475409836vw, 25px);
  font-family: "noto-sans-cjk-jp", sans-serif;
  text-align: center;
}

#sec04 p em {
  font-size: clamp(20px, 13.606557377px + 1.6393442623vw, 30px);
  font-family: "noto-sans-cjk-jp", sans-serif;
}

#sec04 h2 {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: clamp(30px, 10.8196721311px + 4.9180327869vw, 60px);
  margin-inline: auto;
  padding: 10px 20px;
  border: 1px solid #fff;
  background-color: rgba(38, 70, 1, 0.78);
  color: #fff;
  font-size: clamp(24px, 13.7704918033px + 2.6229508197vw, 40px);
  font-family: "noto-sans-cjk-jp", sans-serif;
  letter-spacing: 0.05em;
}

#sec04 h3 {
  margin-top: 30px;
  font-weight: 500;
  font-size: clamp(30px, 14.0163934426px + 4.0983606557vw, 55px);
  line-height: 1.4210526316;
  font-family: "shippori-mincho", sans-serif;
  letter-spacing: 0.03em;
  text-align: center;
}

#sec04 .img {
  margin-top: 35px;
}

#sec04 p.set-bottom {
  margin-top: 30px;
  font-weight: 500;
  font-size: clamp(16px, 13.4426229508px + 0.6557377049vw, 20px);
  line-height: 1.7727272727;
  letter-spacing: 0.03em;
  text-align: left;
}

#sec05 {
  padding-top: clamp(30px, -14.7540983607px + 11.4754098361vw, 100px);
  padding-bottom: clamp(30px, 4.4262295082px + 6.5573770492vw, 70px);
  background: url(../img/sec10/sec10_bg2@2x.webp) no-repeat center center/cover;
}

#sec05 h2 {
  color: #526b35;
  font-weight: 700;
  font-size: clamp(28px, 13.9344262295px + 3.606557377vw, 50px);
  font-family: "noto-sans-cjk-jp", sans-serif;
  letter-spacing: 0.05em;
  text-align: center;
}

#sec05 .boxes {
  margin-top: clamp(30px, -3.8852459016px + 8.6885245902vw, 83px);
}

#sec05 .boxes .img {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
}

#sec05 .boxes p {
  margin-top: clamp(15px, -7.3770491803px + 5.737704918vw, 50px);
  color: #28262c;
  font-weight: 600;
  font-size: clamp(14px, 2.8571428571px + 1.7142857143vw, 20px);
  line-height: 1.8947368421;
}

#sec05 .boxes .wrap {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

#sec05 .boxes .wrap span {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  padding-inline: 10px;
  background: #fff;
  color: #28262c;
  font-weight: 500;
  font-size: clamp(18px, -9.8571428571px + 4.2857142857vw, 33px);
  line-height: 1.5151515152;
  font-family: "noto-sans-cjk-jp", sans-serif;
  letter-spacing: 0.05em;
}

#sec05 .boxes .area1 {
  position: relative;
}

#sec05 .boxes .area1 .deco {
  z-index: 20;
  position: absolute;
  top: -18%;
  right: 6%;
  width: clamp(80px, -148.4285714286px + 35.1428571429vw, 203px);
}

#sec05 .boxes .area1 .wrap {
  position: absolute;
  top: 125px;
  right: 20px;
}

#sec05 .boxes .area2 {
  position: relative;
  margin-top: clamp(25px, 15.4098360656px + 2.4590163934vw, 40px);
}

#sec05 .boxes .area2 .img {
  position: relative;
}

#sec05 .boxes .area2 .wrap {
  position: absolute;
  top: 70px;
  left: 20px;
}

#sec05 .boxes .area3 {
  position: relative;
  margin-top: clamp(25px, 15.4098360656px + 2.4590163934vw, 40px);
}

#sec05 .boxes .area3 .img {
  position: relative;
}

#sec05 .boxes .area3 .wrap {
  position: absolute;
  top: 80px;
  right: 20px;
}

#sec06 {
  padding-top: clamp(30px, 17.2131147541px + 3.2786885246vw, 50px);
  padding-bottom: clamp(30px, 10.8196721311px + 4.9180327869vw, 60px);
  background: url(../img/sec06/sec06_bg@2x.webp) no-repeat center center/cover;
}

#sec06 hgroup {
  max-width: 850px;
  margin-inline: auto;
  border-bottom: 2px solid #fff;
}

#sec06 hgroup span {
  display: block;
  position: relative;
  font-size: clamp(24px, 13.7704918033px + 2.6229508197vw, 40px);
  font-family: "Roboto Condensed", system-ui;
  letter-spacing: 0.05em;
  text-align: center;
}

#sec06 hgroup span::before,
#sec06 hgroup span::after {
  position: absolute;
  top: 50%;
  width: 100%;
  max-width: clamp(120px, -7.868852459px + 32.7868852459vw, 320px);
  height: 2px;
  transform: translateY(-50%);
  background: #fff;
  content: "";
}

#sec06 hgroup span::before {
  left: 0;
}

#sec06 hgroup span::after {
  right: 0;
}

#sec06 hgroup h2 {
  margin-top: 0;
  padding-bottom: 10px;
  font-size: clamp(35px, 6.2295081967px + 7.3770491803vw, 80px);
  line-height: 1.4268292683;
  font-family: "shippori-mincho", sans-serif;
  letter-spacing: 0.11em;
  text-align: center;
}

#sec06 p {
  max-width: 850px;
  margin-top: 20px;
  margin-inline: auto;
  font-size: clamp(18px, 14.1639344262px + 0.9836065574vw, 24px);
  line-height: 1.7083333333;
}

#sec06 .img_wrap {
  margin-top: 50px;
}

#sec06 .img_wrap ul {
  display: grid;
  grid-template-rows: repeat(3, auto);
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(15px, 5.4098360656px + 2.4590163934vw, 30px)
    clamp(18px, 3.9344262295px + 3.606557377vw, 40px);
}

#sec06 .img_wrap ul li:nth-child(7) {
  display: none;
}

#sec06 .img_wrap ul li .img-logo {
  width: 100%;
}

#sec06 .img {
  margin-top: -50px;
}

#sec07 {
  padding-top: clamp(30px, -33.9344262295px + 16.393442623vw, 130px);
  padding-bottom: clamp(30px, -14.7540983607px + 11.4754098361vw, 100px);
  background: url(../img/sec07/sec07_bg@2x.webp) no-repeat center center/cover;
}

#sec07 .img-wrap {
  margin-top: 50px;
}

#sec07 .img-wrap ul {
  display: grid;
  grid-template-rows: repeat(2, auto);
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(20px, -11.9672131148px + 8.1967213115vw, 70px);
}

#sec07 .img-wrap li:nth-child(4) {
  text-align: center;
}

#sec07 .img-wrap li:last-child {
  grid-column: 1/-1;
  justify-self: center;
}

#sec07 .img-wrap li:last-child .img-logo {
  width: 50%;
  margin-inline: auto;
}

#sec07 .img-wrap .img-logo {
  width: 100%;
}

#sec07 .img-wrap .img-logo p {
  margin-top: 25px;
  color: #28262c;
  font-weight: 500;
  font-size: clamp(16px, 13.4426229508px + 0.6557377049vw, 20px);
  line-height: 1.7368421053;
}

#sec07 .img-wrap .img-logo p strong {
  font-weight: 500;
}

#sec08 {
  padding-top: clamp(30px, -8.3606557377px + 9.8360655738vw, 90px);
  padding-bottom: clamp(30px, -1.9672131148px + 8.1967213115vw, 80px);
  background: url(../img/sec08/sec08_bg.webp) no-repeat center center/cover;
}

#sec08 .area1 h2 {
  font-size: clamp(30px, 14.0163934426px + 4.0983606557vw, 55px);
  line-height: 1.5357142857;
  font-family: "shippori-mincho", sans-serif;
  text-align: center;
}

#sec08 .area1 .img {
  margin-top: 50px;
}

#sec08 .area1 p {
  margin-top: 40px;
  font-size: clamp(16px, 13.4426229508px + 0.6557377049vw, 20px);
  line-height: 1.8947368421;
}

#sec08 .area1 .img-deco {
  margin-top: clamp(20px, -8.7704918033px + 7.3770491803vw, 65px);
}

#sec08 .area2 .img {
  margin-top: 50px;
}

#sec08 .area2 .video-container {
  position: relative;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  margin-top: 40px;
}

#sec08 .area2 .video-container video {
  width: 100%;
  height: auto;
}

#sec09 {
  padding-top: clamp(30px, 17.2131147541px + 3.2786885246vw, 50px);
  padding-bottom: clamp(30px, -14.7540983607px + 11.4754098361vw, 100px);
  background: url(../img/sec09/sec09_bg@2x.webp) no-repeat center center/cover;
}

#sec09 h2 {
  font-weight: 500;
  font-size: clamp(32px, 14.0983606557px + 4.5901639344vw, 60px);
  line-height: 1.4333333333;
  font-family: "shippori-mincho", sans-serif;
  letter-spacing: 0.11em;
  text-align: center;
}

#sec09 .box {
  margin-top: clamp(30px, 10.8196721311px + 4.9180327869vw, 60px);
}

#sec09 .box .wrap {
  display: flex;
  align-items: center;
  gap: 20px;
}

#sec09 .box .wrap span {
  display: inline-block;
  height: -moz-fit-content;
  height: fit-content;
  padding: clamp(10px, 6.8032786885px + 0.8196721311vw, 15px)
    clamp(10px, 3.606557377px + 1.6393442623vw, 20px);
  background: #3e7700;
  font-weight: 700;
  font-size: clamp(20px, 15.5245901639px + 1.1475409836vw, 27px);
  line-height: 1.4444444444;
  font-family: "shippori-mincho", sans-serif;
}

#sec09 .box .wrap h3 {
  font-weight: 500;
  font-size: clamp(35px, 11.3442622951px + 6.0655737705vw, 72px);
  line-height: 1.4861111111;
  font-family: "shippori-mincho", sans-serif;
  letter-spacing: 0.11em;
}

#sec09 .box .wrap h3.type2 {
  font-size: clamp(28px, 9.4590163934px + 4.7540983607vw, 57px);
  letter-spacing: 0;
}

#sec09 .box .img {
  margin-top: 30px;
}

#sec09 .box p {
  margin-top: 30px;
  font-size: clamp(16px, 13.4426229508px + 0.6557377049vw, 20px);
  line-height: 1.8;
}

#sec10 .area1 {
  padding-top: clamp(30px, -53.1147540984px + 21.3114754098vw, 160px);
  padding-bottom: clamp(30px, -53.1147540984px + 21.3114754098vw, 160px);
  background: url(../img/sec10/sec10_bg1@2x.webp) no-repeat center center/cover;
}

#sec10 .area2 {
  padding-top: clamp(30px, 4.4262295082px + 6.5573770492vw, 70px);
  padding-bottom: clamp(30px, 4.4262295082px + 6.5573770492vw, 70px);
  background: url(../img/sec10/sec10_bg2@2x.webp) no-repeat center center/cover;
}

#sec10 .area2 ul {
  display: grid;
  grid-template-rows: repeat(2, auto);
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(20px, 7.2131147541px + 3.2786885246vw, 40px)
    clamp(25px, -0.5737704918px + 6.5573770492vw, 65px);
}

#sec10 .area2 ul li .img {
  width: 100%;
}

#sec10 .area2 ul li .img p {
  margin-top: 25px;
  color: #28262c;
  font-size: clamp(16px, 13.4426229508px + 0.6557377049vw, 20px);
  line-height: 1.7368421053;
}

#sec11 {
  padding-top: clamp(30px, -14.7540983607px + 11.4754098361vw, 100px);
  padding-bottom: clamp(30px, 23.606557377px + 1.6393442623vw, 40px);
  background: #77afbc;
}

#sec11 hgroup h2 {
  font-size: clamp(35px, 11.3442622951px + 6.0655737705vw, 72px);
}

#sec11 .boxes {
  margin-top: clamp(30px, 4.4262295082px + 6.5573770492vw, 70px);
}

#sec11 .boxes .box {
  margin-bottom: 30px;
  padding: clamp(20px, 7.2131147541px + 3.2786885246vw, 40px);
  background: #fff;
}

#sec11 .boxes .box .wrap {
  display: flex;
  align-items: flex-end;
  margin-bottom: 40px;
  gap: clamp(15px, 5.4098360656px + 2.4590163934vw, 30px);
}

#sec11 .boxes .box .wrap .img {
  flex-shrink: 0;
  width: clamp(100px, 48.8524590164px + 13.1147540984vw, 180px);
}

#sec11 .boxes .box .wrap .text-wrap {
  width: 100%;
  padding-bottom: clamp(10px, -2.7868852459px + 3.2786885246vw, 30px);
  border-bottom: 1px dashed #000;
}

#sec11 .boxes .box .wrap .text-wrap p.main {
  color: #000;
  font-weight: 600;
  font-size: clamp(18px, 7.131147541px + 2.7868852459vw, 35px);
  line-height: 1.4864864865;
}

#sec11 .boxes .box .wrap .text-wrap p.sub {
  color: #6d6d6d;
  font-weight: 400;
  font-size: clamp(16px, 13.4426229508px + 0.6557377049vw, 20px);
  line-height: 2.2777777778;
  font-family: "source-han-sans-japanese", sans-serif;
}

#sec11 .boxes .box p {
  color: #362819;
  font-weight: 400;
  font-size: clamp(16px, 13.4426229508px + 0.6557377049vw, 20px);
  line-height: 1.5;
  font-family: "source-han-sans-japanese", sans-serif;
}

#sec12 {
  padding-top: clamp(30px, -27.5409836066px + 14.7540983607vw, 120px);
  padding-bottom: clamp(30px, -27.5409836066px + 14.7540983607vw, 120px);
  background: url(../img/sec12/sec12_bg@2x.webp) no-repeat top right/cover;
}

#sec12 .area1 h2 {
  font-size: clamp(35px, 11.3442622951px + 6.0655737705vw, 72px);
}

#sec12 .area1 .hgroup-left span {
  text-align: left;
}

#sec12 .area1 .hgroup-left h2 {
  text-align: left;
}

#sec12 .area1 p {
  margin-top: 20px;
  color: #000;
  font-size: clamp(18px, 13.5245901639px + 1.1475409836vw, 25px);
  line-height: 1.7083333333;
}

#sec12 .area2 {
  margin-top: 10px;
}

#sec12 .area2 .box .img {
  position: relative;
  margin-top: 65px;
}

#sec12 .area2 .box .img .title {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: clamp(30px, -1.9672131148px + 8.1967213115vw, 80px);
  background: #546f37;
  font-size: clamp(20px, 13.606557377px + 1.6393442623vw, 30px);
  line-height: 1.7741935484;
}

#sec12 .area2 p {
  margin-top: 30px;
  color: #362819;
  font-size: clamp(16px, 13.4426229508px + 0.6557377049vw, 20px);
  line-height: 1.75;
}

#sec13 {
  padding-top: clamp(30px, 7.6229508197px + 5.737704918vw, 65px);
  padding-bottom: clamp(30px, 4.4262295082px + 6.5573770492vw, 70px);
  background: #333332;
}

#sec13 h2 {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  padding-bottom: 10px;
  background-image: linear-gradient(
    to right,
    transparent 20%,
    #6d6d6d 20% 80%,
    transparent 80%
  );
  background-position: 0 100%;
  background-size: 100% 3px;
  background-repeat: no-repeat;
  font-size: 43px;
  letter-spacing: 0.05em;
  text-align: center;
}

#sec13 p {
  margin-top: 20px;
  font-size: clamp(16px, 13.4426229508px + 0.6557377049vw, 20px);
  line-height: 1.75;
  text-align: center;
}

#sec13 .boxes {
  margin-top: 25px;
}

#sec13 .boxes .box {
  display: flex;
  position: relative;
  margin-bottom: 10px;
  padding: 20px;
  gap: clamp(20px, 4.0163934426px + 4.0983606557vw, 45px);
}

#sec13 .boxes .box .img {
  flex-shrink: 0;
  width: clamp(110px, 74.8360655738px + 9.0163934426vw, 165px);
}

#sec13 .boxes .box p {
  z-index: 5;
  text-align: left;
}

#sec13 .boxes .box span {
  color: #787878;
  font-size: clamp(42px, 11.3114754098px + 7.868852459vw, 90px);
  font-family: "Roboto Condensed", system-ui;
  letter-spacing: 0.05em;
}

#sec13 .boxes .box span {
  position: absolute;
  right: 0;
  bottom: 0;
}

#sec13 .boxes .box1 {
  background: #4c4c4c;
}

#sec13 .boxes .box2 {
  background: #4c4c4c;
}

#sec13 .boxes .box3 {
  align-self: flex-end;
  border: 2px solid #4c4e4f;
}

#sec14 {
  padding-top: clamp(30px, -8.3606557377px + 9.8360655738vw, 90px);
  padding-bottom: clamp(30px, 4.4262295082px + 6.5573770492vw, 70px);
  overflow: hidden;
}

#sec14 .sec14-inner {
  position: relative;
}

#sec14 .sec14-inner .logo-img {
  z-index: -1;
  position: absolute;
  top: 128px;
  right: 0;
  max-width: clamp(170px, -34.2857142857px + 31.4285714286vw, 280px);
}

#sec14 .sec14-inner .area1 h2 {
  margin-left: -15px;
  color: #546f37;
  font-size: clamp(35px, 13.9016393443px + 5.4098360656vw, 68px);
  line-height: 1.8088235294;
  font-family: "shippori-mincho", sans-serif;
  letter-spacing: 0.07em;
}

#sec14 .sec14-inner .area1 p {
  color: #000;
  font-size: clamp(16px, 10.2459016393px + 1.4754098361vw, 25px);
  line-height: 1.7083333333;
}

#sec14 .sec14-inner .area2 .boxes {
  margin-top: 50px;
}

#sec14 .sec14-inner .area2 .boxes .box {
  position: relative;
  margin-bottom: 30px;
}

#sec14 .sec14-inner .area2 .boxes .box .img {
  max-width: 950px;
  margin-right: calc(50% - 50vw);
}

#sec14 .sec14-inner .area2 .boxes .box span {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  height: clamp(35px, 12.6229508197px + 5.737704918vw, 70px);
  padding: clamp(5px, 1.8032786885px + 0.8196721311vw, 10px)
    clamp(10px, -2.7868852459px + 3.2786885246vw, 30px);
  background: #546f37;
  font-size: clamp(20px, 7.2131147541px + 3.2786885246vw, 40px);
  line-height: 1.2;
  letter-spacing: 0.05em;
}

#sec14 .sec14-inner .area2 .boxes .box span::after {
  position: absolute;
  top: 0;
  right: -55px;
  width: 58px;
  height: clamp(35px, 12.6229508197px + 5.737704918vw, 70px);
  background: #546f37;
  content: "";
  clip-path: polygon(0% 0, 5% 0, 100% 100%, 0% 100%);
}

#sec15 {
  padding-top: clamp(30px, 4.4262295082px + 6.5573770492vw, 70px);
  padding-bottom: clamp(30px, 4.4262295082px + 6.5573770492vw, 70px);
  background: url(../img/sec15/sec15_bg@2x.webp) no-repeat center center/cover;
}

#sec15 p {
  font-size: clamp(18px, 13.5245901639px + 1.1475409836vw, 25px);
  text-align: center;
}

#sec15 p em {
  font-size: clamp(20px, 13.606557377px + 1.6393442623vw, 30px);
}

#sec15 h2 {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: clamp(30px, 10.8196721311px + 4.9180327869vw, 60px);
  margin-inline: auto;
  padding: 10px 20px;
  border: 1px solid #fff;
  background-color: rgba(38, 70, 1, 0.78);
  color: #fff;
  font-size: clamp(24px, 13.7704918033px + 2.6229508197vw, 40px);
  font-family: "noto-sans-cjk-jp", sans-serif;
  letter-spacing: 0.05em;
}

#sec15 h2 span {
  font-weight: 600;
  font-family: "Oswald", sans-serif;
}

#sec15 h3 {
  margin-top: 30px;
  font-size: clamp(30px, 14.0163934426px + 4.0983606557vw, 55px);
  line-height: 1.4210526316;
  font-family: "shippori-mincho", sans-serif;
  letter-spacing: 0.03em;
  text-align: center;
}

#sec15 .img {
  margin-top: 35px;
}

#sec15 p.set-bottom {
  margin-top: 30px;
  font-size: clamp(16px, 13.4426229508px + 0.6557377049vw, 20px);
  line-height: 1.7727272727;
  letter-spacing: 0.03em;
  text-align: left;
}

#sec16 {
  padding-top: clamp(20px, 0.8196721311px + 4.9180327869vw, 50px);
  text-align: center;
}

#sec16 strong {
  color: #ae2e3b;
  font-weight: 500;
  font-size: clamp(32px, 14.0983606557px + 4.5901639344vw, 60px);
  line-height: 2.05;
  font-family: "shippori-mincho", sans-serif;
}

#sec16 .bg {
  position: relative;
  height: 1200px;
  margin-top: clamp(10px, -2.7868852459px + 3.2786885246vw, 30px);
  background: url(../img/sec16/sec16_bg@2x.webp) no-repeat bottom center/cover;
}

#sec16 .img-text {
  max-width: clamp(700px, 514.2857142857px + 28.5714285714vw, 800px);
  margin-inline: auto;
  padding-top: clamp(60px, 26.8965517241px + 4.3103448276vw, 70px);
  padding-right: clamp(0px, -66.2068965517px + 8.6206896552vw, 20px);
  padding-left: clamp(30px, -135.5172413793px + 21.5517241379vw, 80px);
}

#sec16 p {
  position: absolute;
  bottom: 8%;
  left: 50%;
  width: 100%;
  max-width: 950px;
  margin-inline: auto;
  padding-inline: 30px;
  transform: translateX(-50%);
  color: #000;
  font-size: clamp(22px, 12.0689655172px + 1.2931034483vw, 25px);
  line-height: 1.7083333333;
  text-align: left;
}

#sec17 {
  padding-top: clamp(30px, 4.4262295082px + 6.5573770492vw, 70px);
  padding-bottom: clamp(30px, 4.4262295082px + 6.5573770492vw, 70px);
  background: url(../img/sec17/sec17_bg@2x.webp) no-repeat center center/cover;
}

#sec17 .lead {
  font-weight: 500;
  font-size: clamp(24px, 13.7704918033px + 2.6229508197vw, 40px);
  line-height: 1.4186046512;
  font-family: "shippori-mincho", sans-serif;
  letter-spacing: 0.02em;
  text-align: center;
}

#sec17 h3 {
  margin-top: 30px;
  font-weight: 500;
  font-size: clamp(32px, 14.0983606557px + 4.5901639344vw, 60px);
  line-height: 1.3968253968;
  font-family: "shippori-mincho", sans-serif;
  letter-spacing: 0.11em;
  text-align: center;
}

#sec17 .img {
  margin-top: 35px;
}

#sec17 p.set-bottom {
  margin-top: 30px;
  font-weight: 500;
  font-size: clamp(16px, 13.4426229508px + 0.6557377049vw, 20px);
  line-height: 1.7727272727;
  letter-spacing: 0.03em;
  text-align: left;
}

#sec18 {
  padding-top: clamp(30px, -1.9672131148px + 8.1967213115vw, 80px);
  padding-bottom: clamp(30px, -1.9672131148px + 8.1967213115vw, 80px);
}

#sec18 .wrap {
  display: flex;
  align-items: center;
  gap: 15px;
}

#sec18 .wrap span.en {
  color: #000;
  font-weight: 600;
  font-size: clamp(42px, 7.4754098361px + 8.8524590164vw, 96px);
  font-family: "Oswald", sans-serif;
  letter-spacing: 0.05em;
}

#sec18 .wrap span.ja {
  display: block;
  width: 100vw;
  height: -moz-fit-content;
  height: fit-content;
  margin-right: calc(50% - 50vw);
  padding-left: 10px;
  background: #353535;
  font-size: clamp(18px, 13.5245901639px + 1.1475409836vw, 25px);
  line-height: 1.9230769231;
  letter-spacing: 0.03em;
}

#sec18 .question-wrap .question {
  margin-top: clamp(20px, 0.8196721311px + 4.9180327869vw, 50px);
  padding: clamp(15px, 5.4098360656px + 2.4590163934vw, 30px);
  background: #f4f4f4;
  color: #000;
  font-size: clamp(20px, 13.606557377px + 1.6393442623vw, 30px);
  line-height: 1.6666666667;
}

#sec18 .question-wrap p {
  margin-top: 30px;
  color: #000;
  font-size: clamp(16px, 12.1639344262px + 0.9836065574vw, 22px);
  line-height: 1.8181818182;
}

#sec18 .question-wrap p em {
  color: #fe0100;
}

#sec19 {
  padding-top: clamp(30px, 4.4262295082px + 6.5573770492vw, 70px);
  padding-bottom: 30px;
  background: url(../img/sec19/sec19_bg@2x.webp) no-repeat center center/cover;
}

#sec19 .title {
  color: #566f39;
  font-size: clamp(24px, 13.7704918033px + 2.6229508197vw, 40px);
  font-family: "Oswald", sans-serif;
  letter-spacing: 0.05em;
  text-align: center;
}

#sec19 h2 {
  padding-block: 10px;
  background: #566f39;
  font-size: clamp(22px, 13.6885245902px + 2.131147541vw, 35px);
  letter-spacing: 0.05em;
  text-align: center;
}

#sec19 .boxes {
  margin-top: 25px;
}

#sec19 .boxes .box {
  margin-bottom: 30px;
}

#sec19 .boxes .wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 30px;
  gap: 14px;
}

#sec19 .boxes .wrap .img {
  flex-shrink: 0;
  width: 390px;
}

#sec19 .boxes .wrap .lists ul li {
  color: #000;
  font-size: clamp(16px, 10.2459016393px + 1.4754098361vw, 25px);
  line-height: 2.0833333333;
  letter-spacing: -0.05em;
}

footer {
  background-color: #000;
  padding: 50px 0 100px;
  text-align: center;
}
footer small {
  color: #fff;
  font-size: 22px;
}

@media screen and (min-width: 1000px) {
  #sec05 .boxes .img {
    width: 100%;
    max-width: 1000px;
    margin-right: auto;
    margin-left: auto;
  }
}

@media screen and (max-width: 1000px) {
  .hidden-pc {
    display: block;
  }

  .hidden-tb {
    display: none;
  }

  .cta.type1 .area1 .price-befo {
    margin-left: 0;
  }

  .cta.type2 .area1 .wrap em {
    white-space: nowrap;
  }

  .area2-cta .souryo .wrap1 .order-button a::after {
    right: 6%;
  }

  .set-box {
    display: block;
  }

  .set-box .title {
    width: 100%;
  }

  .set-box .lists {
    width: 100%;
  }

  #sec02 .bottom-img {
    bottom: 70px;
    left: 45%;
  }

  #sec02 .area1 .box1 p {
    right: 50px;
  }

  #sec02 .area1 .box2 p {
    left: 50px;
  }

  #sec02 .box3 p {
    right: 50px;
  }

  #sec02 .area2 .wrap {
    bottom: 2%;
  }

  #sec05 .boxes .area1 .deco {
    /* top: -12%; */
    top: -16%;
    right: 2%;
  }

  #sec16 p {
    bottom: 6.5%;
    /* font-size: clamp(0.625rem, 0.213rem + 2.06vw, 1.5rem); */
    font-size: clamp(0.75rem, 0.304rem + 2.23vw, 1.375rem);
    padding-inline: 30px;
  }

  #sec16 strong {
    line-height: 1.6;
  }
  #sec16 .bg {
    /* background: url(../img/sec16/sec16_img1@2x.webp) no-repeat top
      center/contain; */
    background-image: none;
    height: auto;
  }

  footer {
    padding: 35px 0 90px;
  }

  footer small {
    font-size: 16px;
  }
}

@media screen and (max-width: 767px) {
  .hidden-sp {
    display: none;
  }

  .display-block-md {
    display: block;
  }

  .inner {
    padding-inline: 20px;
  }

  .inner-lg {
    padding-inline: 20px;
  }

  .cta.type1 .area1 .price-befo {
    margin-bottom: 0;
    margin-left: 30px;
  }

  .cta.type1 .area1 .wrap {
    margin-top: 0px;
  }

  .cta.type1 .area1 .wrap {
    gap: clamp(10px, -100.1694915254px + 16.9491525424vw, 30px);
  }

  .cta.type1 .area1 .price span {
    font-size: clamp(20px, -82.9411764706px + 14.7058823529vw, 30px);
  }

  .cta.type1 .area1 .price em {
    font-size: clamp(40px, -371.7647058824px + 58.8235294118vw, 80px);
  }

  .area2-cta .souryo .wrap1 {
    gap: clamp(10px, -0.3174603175px + 2.6455026455vw, 20px);
  }

  .area2-cta .souryo .wrap1 .order-button {
    width: clamp(240px, 132.3076923077px + 19.2307692308vw, 280px);
  }

  .area2-cta .souryo .wrap1 .wrap2 .wrap3 {
    margin-top: -10px;
  }

  .area2-cta .souryo .wrap1 .wrap2 .wrap3 span {
    font-size: clamp(18px, -21.724137931px + 5.1724137931vw, 30px);
  }

  .area2-cta .souryo .wrap1 .wrap2 .wrap3 em {
    font-size: clamp(55px, -4.5862068966px + 7.7586206897vw, 73px);
  }

  #sec01 .wrap strong {
    top: 40px;
  }

  #sec01 .img {
    bottom: 80px;
  }

  #sec01 .order-button.type1.fixed {
    bottom: env(safe-area-inset-bottom);
    bottom: 0;
  }

  #sec01 .order-button.type1 a::after {
    right: 9%;
  }

  #sec02 .area1 .box1 p {
    right: 30px;
  }

  #sec02 .area1 .box2 p {
    left: 30px;
  }

  #sec02 .box3 p {
    right: 30px;
  }

  #sec02 .area2 .box {
    width: clamp(280px, 172.3076923077px + 19.2307692308vw, 320px);
    margin-top: clamp(50px, -30.7692307692px + 14.4230769231vw, 80px);
    margin-right: clamp(0px, -26.9230769231px + 4.8076923077vw, 10px);
    margin-bottom: clamp(50px, -84.6153846154px + 24.0384615385vw, 100px);
  }

  #sec02 .area2 .box::before {
    top: 15px;
    right: 15px;
    width: clamp(280px, 172.3076923077px + 19.2307692308vw, 320px);
    height: clamp(180px, 99.2307692308px + 14.4230769231vw, 210px);
  }

  #sec02 .area2 .wrap {
    bottom: 0;
  }

  #sec05 .boxes .wrap span {
    padding-inline: 0;
  }

  #sec05 .boxes .area1 .wrap {
    top: 80px;
    right: 0;
  }

  #sec05 .boxes .area2 .wrap {
    top: 20px;
    left: 0;
  }

  #sec05 .boxes .area3 .wrap {
    right: 0;
  }

  #sec05 .boxes .area1 .deco{
top: -13%;}


  #sec06 .img {
    margin-top: 0;
  }

  #sec12 {
    background-position: top center;
  }

  #sec13 .boxes .box p {
    margin-top: 0;
  }

  #sec14 .sec14-inner .logo-img {
    top: 120px;
  }

  /* #sec16 p {
    bottom: 6%;
    font-size: clamp(14px, 2.6507936508px + 2.9100529101vw, 25px);
  } */
  #sec16 p {
    bottom: 6%;
    padding-inline: 15px;
  }

  #sec19 .boxes .wrap {
    display: block;
  }

  #sec19 .boxes .wrap .img {
    width: 100%;
  }

  footer {
    padding: 25px 0 80px;
  }

  footer small {
    font-size: 16px;
  }
}

@media screen and (max-width: 560px) {
  .hidden-sm {
    display: none;
  }

  .display-block {
    display: block;
  }

  .cta.type1 .area1 .price-befo {
    margin-left: clamp(0px, -112.5px + 28.125vw, 45px);
  }

  .cta.type2 .area1 .wrap {
    flex-direction: column;
  }

  .cta.type2 .area1 .wrap em {
    display: block;
    width: 100%;
    text-align: center;
  }

  .area2-cta .souryo .wrap1 {
    flex-direction: column;
    gap: 0;
  }

  .area2-cta .souryo .wrap1 .order-button {
    width: clamp(240px, 56.4705882353px + 47.0588235294vw, 320px);
    height: clamp(60px, 37.0588235294px + 5.8823529412vw, 70px);
  }

  .area2-cta .souryo .wrap1 .wrap2 .wrap3 {
    margin-top: 0;
  }

  #sec01 .wrap strong {
    top: 40px;
    left: 10px;
  }

  #sec01 .img {
    bottom: 35px;
    left: 50%;
    transform: translateX(-50%);
  }

  #sec02 {
    padding-bottom: clamp(10px, -20px + 7.6923076923vw, 30px);
  }

  #sec02 .bottom-img {
    bottom: 125px;
  }

  #sec02 .area1 .box1 p {
    right: 5px;
  }

  #sec02 .area1 .box2 p {
    left: 5px;
  }

  #sec02 .box3 p {
    right: 5px;
  }

  #sec02 .area2 .box {
    width: clamp(160px, -46.4705882353px + 52.9411764706vw, 250px);
    margin-top: clamp(20px, -2.9411764706px + 5.8823529412vw, 30px);
    margin-right: 0;
    padding: clamp(18px, 13.4117647059px + 1.1764705882vw, 20px)
      clamp(13px, 8.4117647059px + 1.1764705882vw, 15px)
      clamp(15px, -7.9411764706px + 5.8823529412vw, 25px)
      clamp(8px, 3.4117647059px + 1.1764705882vw, 10px);
  }

  #sec02 .area2 .box span {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  }

  #sec02 .area2 .box::before {
    width: clamp(160px, -46.4705882353px + 52.9411764706vw, 250px);
    height: clamp(190px, 75.2941176471px + 29.4117647059vw, 240px);
  }

  #sec02 .area2 .wrap {
    bottom: 2%;
  }

  #sec03 .area1 p {
    text-align: left;
  }

  #sec05 .boxes .area1 .wrap {
    top: 28px;
    right: -15px;
  }

  #sec05 .boxes .area2 .wrap {
    top: 8px;
    left: -15px;
  }

  #sec05 .boxes .area3 .wrap {
    top: 10px;
    right: -15px;
  }

  #sec05 .boxes .area1 .deco{
    top: -16%;}

  #sec14 .sec14-inner .logo-img {
    top: 114px;
  }

  #sec15 h2 {
    text-align: center;
  }

  #sec16 .bg {
    /* height: clamp(800px, 593.6507936508px + 52.9100529101vw, 1000px); */
  }

  #sec16 p {
    bottom: 5.5%;
  }

  footer small {
    font-size: 13px;
  }
}

/*video*/
.video-button__wrap {
  content: "";
  width: 100px;
  height: 100px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  cursor: pointer;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .video-button__wrap {
    width: 50px;
    height: 50px;
  }
}
.video-button {
  display: flex;
  height: 100%;
  justify-content: center;
  align-items: center;
}
.video-button-play {
  border-radius: 100%;
  width: 100px;
  height: 100px;
  background-color: #3e7700;
  position: relative;
}
.video-button-play::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 53%;
  transform: translate(-50%, -50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15.5px 0 15.5px 22px;
  border-color: transparent transparent transparent #fff;
}
@media screen and (max-width: 767px) {
  .video-button-play {
    width: 50px;
    height: 50px;
  }
  .video-button-play::before {
    border-width: 8px 0 8px 13px;
  }
}
