@charset "UTF-8";

/* Webフォント */
@font-face {
  font-family: "Zen Kaku Gothic Antique";
  src: url("../fonts/ZenKakuGothicAntique-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: "Zen Kaku Gothic Antique";
  src: url("../fonts/ZenKakuGothicAntique-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: "Zen Kaku Gothic Antique";
  src: url("../fonts/ZenKakuGothicAntique-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: "Noto Sans JP";
  src: url("../fonts/NotoSansJP-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
}

/* 変数を定義 */
:root {
  --clr-primary: #006fbc;
  --clr-secondary: #001e4f;
  --clr-white: #fff;
  --clr-light-black: #444;
  --clr-pink: #ff6a9c;
}

/* ベース */
#page-contents {
  padding: 0;
}

#page-header {
  padding-top: 0;
  margin-bottom: 0;
}

body {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  line-height: 1.5;
  font-size: 1.6rem;
  color: var(--clr-secondary);
  letter-spacing: 0;
}

/* 改行 */
.br-pc {
  display: block;
}

.br-sp {
  display: none;
}

/* 共通セクション */
.section {
  padding: 60px 24px;
}

.section.-bg-light-blue {
  background-color: #e0f3ff;
}

.section.-overflow-x-hidden {
  overflow-x: hidden;
}

.section-inner {
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto;
  position: relative;
}

.section.-w-medium .section-inner {
  max-width: 800px;
}

/* お見積もり・相談申し込みフォーム */
.section.-contact {
  width: 100%;
  height: 100%;
  padding-top: 40px;
  padding-bottom: 40px;
  background-color: var(--clr-primary);
  position: relative;
}

.section.-contact::before,
.section.-contact::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-image: repeating-linear-gradient(90deg, #e0f3ff, #e0f3ff 4px, transparent 4px, transparent 8px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 100% 1px;
}

.section.-contact::before {
  top: 8px;
}

.section.-contact::after {
  bottom: 8px;
}

.section.-message {
  padding-top: 160px;
  position: relative;
  padding-bottom: 70px;
  overflow-x: hidden;
  background-color: #82ceff;
  background-image: url("/lp/dryer/01/assets/img/bg_message.svg");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: auto 100%;
}

.section.-message::before {
  content: "";
  position: absolute;
  width: 1000px;
  height: 100px;
  background-color: var(--clr-white);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  top: -1px;
  left: 50%;
  transform: translateX(-50%);
}

/* 見出し */
.heading {
  font-size: 3.2rem;
  font-weight: 700;
}

.heading.-text-center {
  text-align: center;
}

.heading.-clr-primary {
  color: var(--clr-primary);
}

/* 見出しレベル2 */
.heading.-level2.-wave-line {
  padding-top: 24px;
  position: relative;
}

.heading.-level2.-wave-line::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2240%22%20height%3D%2222%22%20viewBox%3D%220%200%2040%2022%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M39%209.96379C36.1395%208.07473%2034.6102%206.27138%2030.0264%206.19167C22.3111%206.05667%2016.191%206.49161%2012.7246%206.07188C9.90264%205.73%209.50809%205.37062%202.05679%201%22%20stroke%3D%22%23E0F3FF%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M39%2015.3007C36.1395%2013.4116%2034.6102%2011.6083%2030.0264%2011.5286C22.3111%2011.3936%2016.191%2011.8285%2012.7246%2011.4088C9.90264%2011.0669%209.50809%2010.7075%202.05679%206.33691%22%20stroke%3D%22%23E0F3FF%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M37.9431%2020.9999C35.0827%2019.1109%2033.5533%2017.3075%2028.9695%2017.2278C21.2543%2017.0928%2015.1341%2017.5277%2011.6677%2017.108C8.84575%2016.7661%208.45121%2016.4068%200.999908%2012.0361%22%20stroke%3D%22%23E0F3FF%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  mask-size: contain;
  width: 38px;
  height: 20px;
  background-color: #e0f3ff;
}

.heading.-level2.-wave-line.-white::before {
  background-color: var(--clr-white);
}

/* 見出しレベル3 */
.heading.-level3 {
  font-size: 2.6rem;
}

/* 点線 */
.heading.-level3.-bottom-dashed {
  padding-bottom: 16px;
  background-image: repeating-linear-gradient(90deg, var(--clr-primary), var(--clr-primary) 6px, transparent 6px, transparent 12px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 100% 2px;
}

.heading.-level3.-top-bottom-line {
  padding-top: 10px;
  padding-bottom: 10px;
  border-top: 6px solid #e0f3ff;
  border-bottom: 6px solid #e0f3ff;
}

/* 見出しレベル4 */
.heading.-level4 {
  font-size: 2.4rem;
}

/* テキスト（フォントファミリー） */
.text.-ff-en-secondary {
  font-family: "Montserrat", sans-serif;
}

/* テキスト（フォントサイズ） */
.text.-fz-96-84 {
  font-size: 9.6rem;
}

.text.-fz-96-64 {
  font-size: 9.6rem;
}

.text.-fz-80-32 {
  font-size: 8rem;
}

.text.-fz-64-40 {
  font-size: 6.4rem;
}

.text.-fz-40-33 {
  font-size: 4rem;
}

.text.-fz-40-32 {
  font-size: 4rem;
}

.text.-fz-36-27 {
  font-size: 3.6rem;
}

.text.-fz-32-27 {
  font-size: 3.2rem;
}

.text.-fz-32-24 {
  font-size: 3.2rem;
}

.text.-fz-32-20 {
  font-size: 3.2rem;
}

.text.-fz-32-18 {
  font-size: 3.2rem;
}

.text.-fz-32-16 {
  font-size: 3.2rem;
}

.text.-fz-27-27 {
  font-size: 2.7rem;
}

.text.-fz-26-22 {
  font-size: 2.6rem;
}

.text.-fz-26-20 {
  font-size: 2.6rem;
}

.text.-fz-24-20 {
  font-size: 2.4rem;
}

.text.-fz-24-18 {
  font-size: 2.4rem;
}

.text.-fz-22-16 {
  font-size: 2.2rem;
}

.text.-fz-20-20 {
  font-size: 2rem;
}

.text.-fz-20-18 {
  font-size: 2rem;
}

.text.-fz-20-16 {
  font-size: 2rem;
}

.text.-fz-20-14 {
  font-size: 2rem;
}

.text.-fz-18-18 {
  font-size: 1.8rem;
}

.text.-fz-18-16 {
  font-size: 1.8rem;
}

.text.-fz-18-14 {
  font-size: 1.8rem;
}

.text.-fz-16-14 {
  font-size: 1.6rem;
}

.text.-fz-16-12 {
  font-size: 1.6rem;
}

.text.-fz-16-11 {
  font-size: 1.6rem;
}

.text.-fz-14-14 {
  font-size: 1.4rem;
}

.text.-fz-14-12 {
  font-size: 1.4rem;
}

.text.-fz-12-12 {
  font-size: 1.2rem;
}

.text.-fz-12-10 {
  font-size: 1.2rem;
}

/* テキスト（フォントウェイト） */
.text.-fw-bold {
  font-weight: 700;
}

.text.-fw-medium {
  font-weight: 500;
}

.text.-fw-regular {
  font-weight: 400;
}

/* テキスト（行間） */
.text.-lh-1 {
  line-height: 1;
}

.text.-lh-1\.1 {
  line-height: 1.1;
}

.text.-lh-1\.2 {
  line-height: 1.2;
}

.text.-lh-1\.3 {
  line-height: 1.3;
}

.text.-lh-2 {
  line-height: 2;
}

.text.-lh-2-1\.5 {
  line-height: 2;
}

/* テキスト（文字間隔） */
.text.-ls-medium {
  letter-spacing: 0.05em;
}

/* テキスト（ポジション） */
.text.-relative {
  position: relative;
}

/* ブロックレベル */
.text.-inline-block {
  display: inline-block;
}

/* テキスト（配置） */
.-text-center {
  text-align: center;
}

.-text-center-left {
  text-align: center;
}

.-text-left {
  text-align: left;
}

/* テキスト（アンダーライン） */
.text.-underline {
  margin-left: 8px;
  position: relative;
}

.text.-underline::after {
  content: "";
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%22225%22%20height%3D%224%22%20viewBox%3D%220%200%20225%204%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20opacity%3D%220.2%22%20d%3D%22M2%202H223%22%20stroke%3D%22%23FF6A9C%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center bottom;
  width: 100%;
  height: 100%;
  left: 0;
  bottom: -4px;
  position: absolute;
}

/* テキスト（両側に斜めの線） */
.text.-both-diagonal-line {
  padding-right: 20px;
  padding-left: 20px;
  position: relative;
}

.text.-both-diagonal-line::before,
.text.-both-diagonal-line::after {
  content: "";
  position: absolute;
  bottom: 10px;
  width: 20px;
  height: 1px;
  background-color: var(--clr-primary);
}

.text.-both-diagonal-line::before {
  transform: rotate(45deg);
  left: 0;
}

.text.-both-diagonal-line::after {
  right: 0;
  transform: rotate(-45deg);
}

/* テキスト（文字色） */
.text.-clr-primary {
  color: var(--clr-primary);
}

.text.-clr-secondary {
  color: var(--clr-secondary);
}

.text.-clr-pink {
  color: var(--clr-pink);
}

.text.-clr-white {
  color: var(--clr-white);
}

.text.-clr-light-black {
  color: var(--clr-light-black);
}

/* テキスト（上付き文字） */
.text-sup {
  position: relative;
  font-size: 1.4rem;
  color: #222;
  top: 3px;
}

/* 上付き注釈 */
.sup {
  font-size: 1rem;
  position: relative;
  top: -2px;
}

.icon.-plus {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%228%22%20transform%3D%22rotate(-90%208%208)%22%20fill%3D%22%2382CEFF%22%2F%3E%3Cpath%20d%3D%22M12%208.57143H8.57143V12H7.42857V8.57143H4V7.42857H7.42857V4H8.57143V7.42857H12V8.57143Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");
  width: 16px;
  height: 16px;
  background-repeat: no-repeat;
  background-size: contain;
}

.icon.-circle {
  width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2211.5%22%20fill%3D%22white%22%20stroke%3D%22%23001E4F%22%2F%3E%3C%2Fsvg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-size: contain;
}

.icon.-triangle {
  width: 27px;
  height: 24px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2228%22%20height%3D%2225%22%20viewBox%3D%220%200%2028%2025%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M27.6045%2024.925H0.604492L14.1051%200.925049L27.6045%2024.925ZM2.85926%2023.5892H25.3497L14.1039%203.59548L2.85926%2023.5892Z%22%20fill%3D%22%23001E4F%22%2F%3E%3C%2Fsvg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-size: contain;
}

/* 注釈 */
.note-item {
  position: relative;
  padding-left: 18px;
  font-size: 1.4rem;
  color: var(--clr-light-black);
  line-height: 1.6;
}

.note-item::before {
  content: "※";
  top: 0;
  left: 0;
  position: absolute;
}

.note-item.-fz-12-12::before {
  font-size: 1.2rem;
  top: 1px;
}

a.note-link {
  color: var(--clr-primary);
}

/* 注釈（バレット付き） */
.bullet-note-item {
  position: relative;
  padding-left: 14px;
  font-size: 1.2rem;
}

.bullet-note-item::before {
  content: "・";
  top: 0;
  left: 0;
  position: absolute;
}

/* 注釈（番号付き） */
.number-note {
  counter-reset: note-counter;
}

.number-note-item {
  font-size: 1.4rem;
  padding-left: 20px;
  position: relative;
  color: var(--clr-light-black);
}

.number-note-item::before {
  position: absolute;
  top: 0;
  left: 0;
  counter-increment: note-counter;
  content: "※" counter(note-counter) "　";
}

.number-note-item.-fz-12-12::before {
  font-size: 1.2rem;
  top: 2px;
}

/* ボックス */
.box {
  padding-top: 10px;
  padding-right: 16px;
  padding-bottom: 10px;
  padding-left: 16px;
  border: 1px solid #82ceff;
  border-radius: 10px;
  max-width: 600px;
  margin-right: auto;
  margin-left: auto;
}

/* テーブル */
.table {
  width: 100%;
}

.table-row {
  position: relative;
  display: flex;
}

.table-row:not(:first-child) {
  border-bottom: 1px solid #cde1ee;
}

.table-box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-top: 16px;
  padding-right: 8px;
  padding-bottom: 16px;
  padding-left: 8px;
}

.table-box.-both-side-line {
  position: relative;
}

.table-box.-both-side-line::before,
.table-box.-both-side-line::after {
  content: "";
  width: 2px;
  height: calc(100% + 1px);
  top: 0;
  background-color: var(--clr-pink);
  position: absolute;
}

.table-box.-both-side-line::before {
  left: 0;
}

.table-box.-both-side-line::after {
  right: 0;
}

.table-box.-both-side-line.-last::before,
.table-box.-both-side-line.-last::after {
  height: calc(100% + 12px);
}

.table-function {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  background-color: #079dff;
  color: var(--clr-white);
  font-size: 1.2rem;
  border-radius: 10px;
  padding-top: 2px;
  padding-bottom: 2px;
  min-width: 80px;
  text-align: center;
}

.table-function.-bg-pink {
  background-color: var(--clr-pink);
}

.table-function.-bg-blue {
  background-color: var(--clr-primary);
}

.table-box:not(:first-child) {
  width: calc(100% / 3);
}

.table-box.-justify-end {
  justify-content: flex-end;
}

.table-box.-justify-center {
  justify-content: center;
}

.table-box.-head:nth-child(2) {
  background-color: var(--clr-pink);
  border-top-right-radius: 6px;
  border-top-left-radius: 6px;
}

.table-box:first-child {
  min-width: 160px;
  flex-direction: row;
  justify-content: center;
  column-gap: 8px;
  align-items: center;
}

.table-box.-head {
  padding-top: 16px;
  padding-right: 8px;
  padding-bottom: 16px;
  padding-left: 8px;
}

.table-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  column-gap: 4px;
  position: relative;
  width: 100%;
}

.table-col.-last-line::after {
  content: "";
  width: calc(100% + 16px);
  height: 2px;
  bottom: -30px;
  left: -8px;
  background-color: var(--clr-pink);
  position: absolute;
}

/* anchor（アンカーリンク） */
.anchor-list {
  display: grid;
  grid-template-columns: minmax(200px, 1fr) minmax(200px, 1fr) minmax(200px, 1fr);
  column-gap: 8px;
  position: absolute;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
}

.anchor-item {
  display: flex;
  flex-direction: column;
}

.anchor-item:nth-child(odd) .anchor-link {
  padding-top: 0;
}

.anchor-label {
  position: absolute;
  background-color: var(--clr-primary);
  width: 100%;
  max-width: 440px;
  clip-path: polygon(0 0, 100% 0, calc(100% - 10px) 50%, 100% 100%, 0 100%, 10px 50%);
  left: 50%;
  bottom: 124px;
  transform: translateX(-50%);
  z-index: 1;
  text-align: center;
  padding-top: 3px;
  padding-bottom: 3px;
}

a.anchor-link {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding-top: 13px;
  padding-right: 2px;
  padding-bottom: 2px;
  padding-left: 2px;
  column-gap: 8px;
  text-decoration: none;
  background-color: var(--clr-white);
  border: 2px solid #e0f3ff;
  border-radius: 10px;
  flex: 1;
  text-align: center;
  position: relative;
}

a.anchor-link::after {
  content: "";
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%228%22%20fill%3D%22%23FF6A9C%22%2F%3E%3Cpath%20d%3D%22M11.2001%206L12%206.83324L8%2011L4%206.83323L4.79989%206L8%209.33353L11.2001%206Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  width: 16px;
  height: 16px;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 50%);
  bottom: 0;
}

.anchor-box {
  margin-top: 7px;
  width: calc(100% - 4px);
  background-color: #c4e8ff;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  padding-top: 2px;
  padding-bottom: 6px;
  position: relative;
}

.anchor-note {
  position: absolute;
  left: 3px;
  top: -7px;
  font-size: 1.4rem;
  font-weight: 500;
  transform: rotate(-8deg);
  color: var(--clr-primary);
}

.anchor-text {
  font-size: 1.8rem;
  font-weight: 500;
  color: var(--clr-secondary);
}

.anchor-sub {
  font-weight: 500;
  line-height: 1.2;
  color: var(--clr-primary);
}

/* 画像 */
.image {
  display: block;
}

.image img {
  display: block;
  max-width: 100%;
  height: auto;
}

.image.-mx-auto img {
  margin-right: auto;
  margin-left: auto;
}

.image.-block {
  display: block;
}

.image.-text-center {
  text-align: center;
}

.image.-flex-1 {
  flex: 1;
}

.image.-message {
  display: inline-block;
}

.image.-economic {
  position: relative;
  top: 52px;
  margin-top: -16px;
}

.image.-flow {
  position: relative;
  margin-top: -16px;
}

/* グリッドレイアウト */
.grid {
  display: grid;
}

.grid.-col-4-2 {
  grid-template-columns: repeat(4, 1fr);
}

.grid.-items-center {
  align-items: center;
}

.grid.-justify-center {
  justify-content: center;
}

.grid.-gap-y-40-0 {
  column-gap: 40px;
}

.grid.-gap-y-16-11 {
  column-gap: 16px;
}

.grid-item img {
  max-width: 100%;
  height: auto;
}

.grid-image img {
  max-width: 100%;
  height: auto;
}

.grid-image figcaption {
  font-family: "Montserrat", sans-serif;
  font-size: 2.2rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.grid.-bottom-dashed {
  padding-bottom: 24px;
  position: relative;
}

.grid.-bottom-dashed::after {
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-image: repeating-linear-gradient(90deg, var(--clr-primary), var(--clr-primary) 4px, transparent 4px, transparent 8px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 100% 1px;
  position: absolute;
}

.grid.-contact {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: auto;
  grid-template-areas:
    "kuuhaku title"
    "button01 button02";
  row-gap: 8px;
}

.grid.-contact .text {
  grid-area: title;
}

.grid.-contact .button.-contact {
  grid-area: button01;
}

.grid.-contact .button.-online {
  grid-area: button02;
}

/* シワ軽減 */
.grid.-time {
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: auto;
  column-gap: 16px;
  row-gap: 16px;
  grid-template-areas:
    "image01 image02"
    "text01 text02"
    "text03 text03";
}

.grid.-time .image.-first {
  grid-area: image01;
}

.grid.-time .image.-second {
  grid-area: image02;
}

.grid.-time .text.-first {
  grid-area: text01;
}

.grid.-time .text.-second {
  grid-area: text02;
}

.grid.-time .text.-third {
  grid-area: text03;
}

/* ショールーム */
.grid.-showroom-top {
  grid-template-columns: minmax(200px, 400px) minmax(160px, 400px);
}

.grid.-showroom {
  grid-template-columns: minmax(200px, 480px) minmax(200px, 400px);
  grid-template-rows: auto;
  grid-template-areas:
    "text image"
    "button image";
}

/* フレックスレイアウト */
.flex {
  display: flex;
}

.flex.-flex-col {
  flex-direction: column;
}

.flex.-shrink-0 {
  flex-shrink: 0;
}

.flex.-flex1 {
  flex: 1;
}

.flex-text.-flex-1 {
  flex: 1;
}

.flex.-items-center {
  align-items: center;
}

.flex.-items-end {
  align-items: flex-end;
}

.flex.-justify-center {
  justify-content: center;
}

.flex.-gap-x-24-30 {
  row-gap: 24px;
}

.flex.-gap-x-8-8 {
  row-gap: 8px;
}

.flex.-gap-y-48-0 {
  column-gap: 48px;
}

.flex.-gap-y-40-0 {
  column-gap: 40px;
}

.flex.-gap-y-24-0 {
  column-gap: 24px;
}

.flex.-gap-y-16-11 {
  column-gap: 16px;
}

.flex.-gap-vw-y-40-16 {
  column-gap: clamp(16px, 16px + (40 - 16) * (100vw - 768px) / (1920 - 768), 40px);
}

.flex.-setting {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%22574%22%20height%3D%2284%22%20viewBox%3D%220%200%20574%2084%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M162.029%208.1185C118.004%2013.7838%2076.6467%2022.5324%2040.5608%2033.8052C16.4127%2041.3475%20-7.25924%2053.3752%205.64353%2064.2865C15.9773%2073.0237%2044.0948%2075.8014%2068.6741%2077.2455C211.235%2085.6192%20360.1%2083.8322%20495.446%2064.61C529.408%2059.7861%20566.917%2051.6524%20571.563%2037.7885C574.86%2027.9513%20559.093%2018.2663%20537.789%2012.7324C516.486%207.19857%20490.502%205.10944%20465.052%203.81382C347.091%20-2.18574%20224.343%206.8136%20120.275%2029.0977%22%20stroke%3D%22%23FF6A9C%22%20stroke-opacity%3D%220.2%22%20stroke-width%3D%223%22%20stroke-miterlimit%3D%2210%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  height: 84px;
}

.flex.-cost {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%22390%22%20height%3D%2288%22%20viewBox%3D%220%200%20390%2088%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M110.37%208.42443C80.5572%2014.373%2052.5502%2023.5591%2028.1131%2035.3954C11.7602%2043.3148%20-4.27029%2055.9439%204.46737%2067.4008C11.4653%2076.5749%2030.5063%2079.4914%2047.1512%2081.0078C143.693%2089.8002%20244.503%2087.9238%20336.158%2067.7405C359.157%2062.6754%20384.558%2054.135%20387.704%2039.5779C389.937%2029.2489%20379.26%2019.0796%20364.833%2013.2691C350.406%207.4585%20332.81%205.26491%20315.575%203.90451C235.693%20-2.39502%20152.569%207.05428%2082.0953%2030.4525%22%20stroke%3D%22%23FF6A9C%22%20stroke-opacity%3D%220.2%22%20stroke-width%3D%223%22%20stroke-miterlimit%3D%2210%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  height: 88px;
}

.flex.-efficiency .image.-first {
  width: calc(460 / 920 * 100%);
  position: relative;
  top: 59px;
  margin-top: -30px;
}

.flex.-efficiency .flex__content {
  width: calc(443 / 920 * 100%);
}

.flex.-removal .image {
  width: calc(443 / 920 * 100%);
  position: relative;
  top: 72px;
  margin-top: -49px;
}

.flex.-removal .flex__content {
  width: calc(437 / 920 * 100%);
}

.flex.-time .flex__content {
  flex: 1;
}

.flex.-time .flex-image {
  flex: 1;
  position: relative;
  top: 52px;
  margin-top: -30px;
}

.flex-content.-flex-1 {
  flex: 1;
}

/* メインビジュアル */
.mv {
  position: relative;
}

.mv-bg {
  background-image: url("/lp/dryer/01/assets/img/mv_top_pc.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  width: 100%;
  height: 486px;
}

.mv-picture img {
  width: 100%;
  height: auto;
}

/* ボックス（補足） */
.note-box {
  padding-top: 8px;
  padding-right: 8px;
  padding-bottom: 8px;
  padding-left: 8px;
  border: 1px solid var(--clr-light-black);
}

/* ボタン */
a.button {
  display: inline-flex;
  align-items: center;
  column-gap: 16px;
  max-width: 100%;
  padding-top: 19px;
  padding-right: 80px;
  padding-left: 32px;
  padding-bottom: 19px;
  background-color: var(--clr-pink);
  border-radius: 35px;
  text-decoration: none;
  transition: opacity 0.3s ease-out;
}

a.button.-showroom {
  background-color: var(--clr-primary);
  padding-top: 14px;
  padding-right: 140px;
  padding-bottom: 14px;
  padding-left: 32px;
  column-gap: 36px;
  width: 360px;
  max-width: 100%;
  justify-content: space-between;
}

a.button.-contact.-size-medium {
  column-gap: 12px;
  padding-top: 3px;
  padding-left: 20px;
  padding-right: clamp(16px, 16px + (80 - 16) * (100vw - 768px) / (1920 - 768), 80px);
  padding-bottom: 3px;
  font-size: clamp(16px, 16px + (80 - 16) * (100vw - 768px) / (1920 - 768), 80px);
}

a.button.-contact.-size-medium .button-text {
  font-size: 1.8rem;
}

.button.-online {
  background-color: var(--clr-white);
  column-gap: 56px;
}

.button.-online .button-icon {
  mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M26.6667%205.3335C27.3739%205.3335%2028.0522%205.61445%2028.5523%206.11454C29.0524%206.61464%2029.3333%207.29292%2029.3333%208.00016V21.3335C29.3333%2022.8135%2028.1467%2024.0002%2026.6667%2024.0002H32V26.6668H0V24.0002H5.33333C4.62609%2024.0002%203.94781%2023.7192%203.44772%2023.2191C2.94762%2022.719%202.66667%2022.0407%202.66667%2021.3335V8.00016C2.66667%206.52016%203.85333%205.3335%205.33333%205.3335H26.6667ZM26.6667%208.00016H5.33333V21.3335H26.6667V8.00016ZM16%2016.0002C18.9467%2016.0002%2021.3333%2017.2002%2021.3333%2018.6668V20.0002H10.6667V18.6668C10.6667%2017.2002%2013.0533%2016.0002%2016%2016.0002ZM16%209.3335C16.7072%209.3335%2017.3855%209.61445%2017.8856%2010.1145C18.3857%2010.6146%2018.6667%2011.2929%2018.6667%2012.0002C18.6667%2012.7074%2018.3857%2013.3857%2017.8856%2013.8858C17.3855%2014.3859%2016.7072%2014.6668%2016%2014.6668C14.52%2014.6668%2013.3333%2013.4802%2013.3333%2012.0002C13.3333%2010.5202%2014.5333%209.3335%2016%209.3335Z%22%20fill%3D%22%23006FBC%22%2F%3E%3C%2Fsvg%3E");
  background-color: var(--clr-primary);
}

.button.-online .button-text {
  color: var(--clr-primary);
}

/* パステルブルーボタン */
.button.-price {
  column-gap: 7px;
  padding-top: 12px;
  padding-right: 16px;
  padding-bottom: 12px;
  padding-left: 16px;
  background-color: #e0f3ff;
}

.button.-try {
  width: 279px;
  background-color: #e0f3ff;
  justify-content: center;
  font-weight: 500;
  padding-top: 12px;
  padding-bottom: 12px;
  padding-right: 32px;
  padding-left: 16px;
  color: var(--clr-secondary);
  justify-content: center;
  position: relative;
}

.button.-white {
  background-color: var(--clr-white);
}

.button.-price .button-icon {
  width: 16px;
  height: 16px;
  background-color: #82ceff;
  border-radius: 50%;
  mask-image: initial;
  position: relative;
}

.button.-price .button-icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: var(--clr-white);
  mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%225%22%20height%3D%228%22%20viewBox%3D%220%200%205%208%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M0%200.799887L0.833235%200L5%204L0.833235%208L0%207.20011L3.33353%204L0%200.799887Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  width: 5px;
  height: 8px;
}

.button.-price .button-text {
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--clr-secondary);
}

.button.-price.-size-medium {
  width: 311px;
  padding-left: 32px;
  justify-content: space-between;
}

.button-text {
  font-size: 2rem;
  font-weight: 700;
  color: var(--clr-white);
  flex-shrink: 0;
}

.button-text.-text-center {
  text-align: center;
}

.button-icon {
  width: 32px;
  height: 32px;
  mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M26.625%206H5.625C4.17525%206%203%207.17525%203%208.625V24.375C3%2025.8247%204.17525%2027%205.625%2027H26.625C28.0747%2027%2029.25%2025.8247%2029.25%2024.375V8.625C29.25%207.17525%2028.0747%206%2026.625%206Z%22%20stroke%3D%22white%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M29.25%209.9375L17.4769%2017.4187C17.0717%2017.6726%2016.6032%2017.8073%2016.125%2017.8073C15.6468%2017.8073%2015.1783%2017.6726%2014.7731%2017.4187L3%209.9375%22%20stroke%3D%22white%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  mask-position: center;
  mask-size: contain;
  background-color: var(--clr-white);
  flex-shrink: 0;
}

.button-icon.-showroom {
  mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5.43733%203H27.5627C28.0104%203%2028.386%203.156%2028.6895%203.468C28.9929%203.78%2029.1441%204.16567%2029.143%204.625C29.142%205.08433%2028.9903%205.47054%2028.6879%205.78362C28.3855%206.09671%2028.0104%206.25217%2027.5627%206.25H5.43733C4.98956%206.25%204.61448%206.094%204.3121%205.782C4.00972%205.47%203.858%205.08433%203.85695%204.625C3.85589%204.16567%204.00761%203.78%204.3121%203.468C4.61659%203.156%204.99166%203%205.43733%203ZM5.43733%2029C4.98956%2029%204.61448%2028.844%204.3121%2028.532C4.00972%2028.22%203.858%2027.8343%203.85695%2027.375V19.25H3.58038C3.07993%2019.25%202.67166%2019.0534%202.35559%2018.6601C2.03951%2018.2669%201.93415%2017.8135%202.03951%2017.3L3.61989%209.175C3.69891%208.79583%203.88329%208.48437%204.17302%208.24062C4.46276%207.99687%204.79201%207.875%205.16076%207.875H27.8392C28.208%207.875%2028.5372%207.99687%2028.827%208.24062C29.1167%208.48437%2029.3011%208.79583%2029.3801%209.175L30.9605%2017.3C31.0658%2017.8146%2030.9605%2018.268%2030.6444%2018.6601C30.3283%2019.0523%2029.9201%2019.2489%2029.4196%2019.25H29.143V27.375C29.143%2027.8354%2028.9913%2028.2216%2028.6879%2028.5336C28.3845%2028.8456%2028.0094%2029.0011%2027.5627%2029C27.1159%2028.9989%2026.7409%2028.8429%2026.4374%2028.532C26.134%2028.2211%2025.9823%2027.8354%2025.9823%2027.375V19.25H19.6608V27.375C19.6608%2027.8354%2019.509%2028.2216%2019.2056%2028.5336C18.9022%2028.8456%2018.5271%2029.0011%2018.0804%2029H5.43733ZM7.01771%2025.75H16.5V19.25H7.01771V25.75ZM5.51635%2016H27.4837L26.5354%2011.125H6.46458L5.51635%2016Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");
}

/* アイコン */
.icon.-arrow-right {
  position: relative;
  width: 16px;
  height: 16px;
}

.icon.-arrow-right::before,
.icon.-arrow-right::after {
  content: "";
  position: absolute;
  top: 50%;
  display: block;
  transform: translateY(-50%);
}

.icon.-arrow-right::before {
  width: 16px;
  height: 16px;
  right: 0;
  background-color: #82ceff;
  border-radius: 50%;
}

.icon.-arrow-right::after {
  mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%225%22%20height%3D%228%22%20viewBox%3D%220%200%205%208%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M0%200.799887L0.833235%200L5%204L0.833235%208L0%207.20011L3.33353%204L0%200.799887Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: 50% 50%;
  right: 5px;
  width: 5px;
  height: 8px;
  background-color: #fff;
}

.icon.-arrow-window-white {
  position: relative;
  width: 20px;
  min-width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #82ceff url("/parts/img/icon/icon_blank_white.svg") 60% 45% no-repeat;
  background-size: 65%;
}

.text-link .-arrow-window {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url("/parts/img/icon/icon_blank.svg") 60% bottom no-repeat;
  background-size: 80%;
  margin-left: 3px;
}

/* メッセージ */
.message {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 42px;
}

.message-content {
  display: flex;
  align-items: flex-end;
  column-gap: 16px;
}

.message-text {
  font-size: 3.2rem;
  font-weight: 700;
}

.message-text.-inline-block {
  display: inline-block;
}

.message-title {
  font-size: 3.2rem;
  font-weight: 700;
  background-color: var(--clr-white);
  border-radius: 24px;
  padding-right: 9px;
  padding-left: 9px;
  position: relative;
}

.message-title.-first {
  color: var(--clr-pink);
  padding-right: 13px;
  padding-left: 13px;
}

.message-title.-second {
  color: #079dff;
}

.message-title.-first::before,
.message-title.-second::before {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  position: absolute;
}

.message-title.-first::before {
  background-image: url("/lp/dryer/01/assets/img/deco_message_circle.svg");
  width: 50px;
  height: 47px;
  top: -30px;
  left: -30px;
}

.message-title.-second::before {
  background-image: url("/lp/dryer/01/assets/img/deco_message_star.svg");
  width: 17px;
  height: 21px;
  top: -25px;
  right: 0;
}

/* コンテンツボックス */
.white-box {
  padding-top: 24px;
  padding-right: clamp(12px, 12px + (40 - 12) * (100vw - 768px) / (1920 - 768), 40px);
  padding-bottom: 40px;
  padding-left: clamp(12px, 12px + (40 - 12) * (100vw - 768px) / (1920 - 768), 40px);
  background-color: var(--clr-white);
  border-radius: 20px;
}

/* コンテンツボックス */
.content-box {
  padding-top: 40px;
  padding-right: 40px;
  padding-bottom: 40px;
  padding-left: 40px;
  background-color: #e0f3ff;
  border-radius: 20px;
}

.content-box.-staff {
  padding-top: 24px;
  padding-bottom: 30px;
  max-width: 800px;
  margin-top: 40px;
  margin-right: auto;
  margin-left: auto;
}

.content-box-text {
  width: calc(520 / 920 * 100%);
}

.content-box-confirm {
  display: flex;
  flex-direction: column;
  row-gap: 8px;
  width: calc(380 / 920 * 100%);
  align-items: center;
}

/* テーブル */
.data-table {
  position: relative;
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
}

.data-table tbody tr th {
  padding-top: 22px;
  padding-right: 15px;
  padding-bottom: 22px;
  padding-left: 15px;
  background-color: #f6fbff;
  font-size: 1.4rem;
  font-weight: 500;
  border: 1px solid #cde1ee;
}

.data-table tbody tr td {
  font-weight: 500;
  padding-top: 22px;
  padding-right: 15px;
  padding-bottom: 22px;
  padding-left: 15px;
  text-align: center;
  border: 1px solid #cde1ee;
}

.data-table tbody tr td sup {
  font-size: 1.1rem;
  top: 2px;
  position: relative;
}

.setting-grid {
  display: grid;
  grid-template-areas:
    "main sub content content"
    "image image content content"
    "image image text text";
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: auto;
  margin-top: 40px;
  column-gap: clamp(12px, 12px + (40 - 12) * (100vw - 768px) / (1920 - 768), 40px);
}

.setting-main-grid {
  grid-area: main;
  font-size: 2rem;
  text-align: center;
}

.setting-sub-grid {
  grid-area: sub;
  font-size: 2rem;
  text-align: center;
}

.setting-image-grid {
  grid-area: image;
  margin-top: 16px;
}

.setting-image-grid img {
  max-width: 100%;
  height: auto;
}

.setting-content-grid {
  grid-area: content;
  padding-top: 24px;
  padding-right: clamp(16px, 16px + (40 - 16) * (100vw - 768px) / (1920 - 768), 40px);
  padding-bottom: 24px;
  padding-left: clamp(16px, 16px + (40 - 16) * (100vw - 768px) / (1920 - 768), 40px);
  background-color: #e0f3ff;
  border-radius: 10px;
}

.setting-note-grid {
  grid-area: text;
  margin-top: 16px;
}

.demerit-box {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: auto;
  grid-template-areas:
    "image title"
    "image blank";
}

.demerit-box .image {
  grid-area: image;
}

.demerit-box .title {
  grid-area: title;
}

.demerit-box .text {
  grid-area: text;
}

/* セクション（乾太くん利用開始までの流れ） */
.flow-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto;
  column-gap: 20px;
  position: relative;
  grid-template-areas:
    "step01 step02 step03"
    "title01 title02 title03"
    "content01 content02 content03";
}

.flow-grid::after {
  content: "";
  position: absolute;
  width: calc(100% - 280px);
  height: 1px;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  background-image: repeating-linear-gradient(90deg, var(--clr-primary), var(--clr-primary) 4px, transparent 4px, transparent 8px);
  z-index: -1;
}

.flow-number.-first {
  grid-area: step01;
}

.flow-number.-second {
  grid-area: step02;
}

.flow-number.-third {
  grid-area: step03;
}

.flow-title.-first {
  grid-area: title01;
}

.flow-title.-second {
  grid-area: title02;
}

.flow-title.-third {
  grid-area: title03;
}

.flow-content.-first {
  grid-area: content01;
}

.flow-content.-second {
  grid-area: content02;
}

.flow-content.-third {
  grid-area: content03;
}

.flow-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}

.flow-number {
  text-align: center;
}

.flow-number-text {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: 2.4rem;
  background-color: var(--clr-primary);
  color: var(--clr-white);
  border-radius: 50%;
  position: relative;
}

.flow-title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-top: 8px;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
}

.flow-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: #e0f3ff;
  padding-top: 24px;
  padding-right: 24px;
  padding-bottom: 24px;
  padding-left: 24px;
  border-radius: 10px;
  margin-top: 16px;
  row-gap: 16px;
}

/* ショールーム */
.showroom {
  background-color: #e0f3ff;
  padding-top: 40px;
  padding-right: clamp(16px, 16px + (40 - 16) * (100vw - 768px) / (1920 - 768), 40px);
  padding-bottom: 40px;
  padding-left: clamp(16px, 16px + (40 - 16) * (100vw - 768px) / (1920 - 768), 40px);
  border-radius: 20px;
}

.showroom-list {
  display: flex;
  align-items: center;
  justify-content: center;
}

.showroom-item {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  margin-left: 6px;
}

.showroom-item:first-child {
  margin-left: 0;
}

.showroom-item:last-child {
  margin-left: 8px;
}

.showroom-title {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1;
  color: var(--clr-pink);
}

.showroom-item.-border-pink {
  padding-top: 4px;
  padding-right: 8px;
  padding-bottom: 4px;
  padding-left: 8px;
  border: 1px solid var(--clr-pink);
  border-radius: 6px;
  color: var(--clr-pink);
}

.blue-border-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #e0f3ff;
  border: 3px solid #82ceff;
  border-radius: 10px;
  padding-top: 37px;
  padding-right: clamp(12px, 12px + (45 - 12) * (100vw - 768px) / (1920 - 768), 45px);
  padding-bottom: 37px;
  padding-left: clamp(12px, 12px + (45 - 12) * (100vw - 768px) / (1920 - 768), 45px);
  margin-top: 24px;
}

/* faq（よくある質問） */
.faq-list {
  display: flex;
  flex-direction: column;
  margin-top: 48px;
}

.faq-item {
  padding-top: 16px;
  padding-bottom: 16px;
}

.faq-item:first-child {
  padding-top: 0;
}

.faq-item:last-child {
  padding-bottom: 0;
}

.faq-item:not(:last-child) {
  border-bottom: 1px solid #cde1ee;
}

.faq-title {
  position: relative;
  padding-left: 29px;
  font-weight: 700;
  color: var(--clr-primary);
}

.faq-title::before {
  content: "Q";
  position: absolute;
  font-family: "Montserrat", sans-serif;
  font-size: 2.4rem;
  font-weight: 700;
  top: 0;
  color: var(--clr-primary);
  left: 0;
  line-height: 1;
}

.faq-anwer {
  margin-top: 18px;
  padding-right: 24px;
  padding-left: 29px;
}

.faq-text:not(:first-child) {
  margin-top: 24px;
}

/* 費用 */
.cost-table {
  position: relative;
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
}

.cost-table.-flex-1 {
  flex: 1;
}

.cost-table .cost-table-line-01 {
  border-top: 4px solid #82ceff;
  border-left: 4px solid #82ceff;
  border-bottom: 4px solid #82ceff;
}

.cost-table .cost-table-line-02 {
  border-top: 4px solid #82ceff;
  border-bottom: 4px solid #82ceff;
}

.cost-table .cost-table-line-03 {
  border-top: 4px solid #82ceff;
  border-right: 4px solid #82ceff;
  border-bottom: 4px solid #82ceff;
}

.cost-table tbody th {
  border: 1px solid #cde1ee;
  padding-top: 3px;
  padding-right: 2px;
  padding-bottom: 3px;
  padding-left: 2px;
  width: 101px;
  position: relative;
}

.cost-table td {
  padding-top: 14px;
  padding-right: 12px;
  padding-bottom: 14px;
  padding-left: 12px;
  border: 1px solid #cde1ee;
  text-align: center;
  font-weight: 500;
}

.flex-table {
  flex: 1;
}

/* モーダル */
.modal .modal-content .modal-inner {
  width: 100%;
}

.modal .modal-content {
  height: 74.5vh;
  border-radius: 20px;
  max-width: 800px;
  padding-top: 40px;
  padding-right: 40px;
  padding-left: 40px;
  padding-bottom: 40px;
}

.modal .modal-close {
  width: 24px;
  height: 24px;
  top: 12px;
  right: 12px;
  mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M1.50879%201.49829L22.4665%2022.456%22%20stroke%3D%22%23006FBC%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M1.5%2022.4563L22.4577%201.49858%22%20stroke%3D%22%23006FBC%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  mask-size: 100%;
  mask-position: center;
  background-color: var(--clr-primary);
}

.modal .modal-close::before,
.modal .modal-close::after {
  display: none;
}

/* margin */
.-mt-94-78 {
  margin-top: 94px;
}

.-mt-94-54 {
  margin-top: 94px;
}

.-mt-80-173 {
  margin-top: 80px;
}

.-mt-80-50 {
  margin-top: 80px;
}

.-mt-76-35 {
  margin-top: 76px;
}

.-mt-60-70 {
  margin-top: 60px;
}

.-mt-60-48 {
  margin-top: 60px;
}

.-mt-60-40 {
  margin-top: 60px;
}

.-mt-60-32 {
  margin-top: 32px;
}

.-mt-60-24 {
  margin-top: 60px;
}

.-mt-48-40 {
  margin-top: 48px;
}

.-mt-48-30 {
  margin-top: 48px;
}

.-mt-48-24 {
  margin-top: 48px;
}

.-mt-45-36 {
  margin-top: 45px;
}

.-mt-40-40 {
  margin-top: 40px;
}

.-mt-40-40 {
  margin-top: 40px;
}

.-mt-40-32 {
  margin-top: 40px;
}

.-mt-40-24 {
  margin-top: 40px;
}

.-mt-40-20 {
  margin-top: 40px;
}

.-mt-40-16 {
  margin-top: 40px;
}

.-mt-24-40 {
  margin-top: 24px;
}

.-mt-24-24 {
  margin-top: 24px;
}

.-mt-24-20 {
  margin-top: 24px;
}

.-mt-24-16 {
  margin-top: 24px;
}

.-mt-24-0 {
  margin-top: 24px;
}

.-mt-20-16 {
  margin-top: 20px;
}

.-mt-16-16 {
  margin-top: 16px;
}

.-mt-16-8 {
  margin-top: 16px;
}

.-mt-16-4 {
  margin-top: 16px;
}

.-mt-16-2 {
  margin-top: 16px;
}

.-mt-12-12 {
  margin-top: 12px;
}

.-mt-8-8 {
  margin-top: 8px;
}

.-mt-8-4 {
  margin-top: 8px;
}

.-mt-4-4 {
  margin-top: 4px;
}

/* padding */
.-pt-16-0 {
  padding-top: 16px;
}

.-pb-80-50 {
  padding-bottom: 80px;
}

.-pb-80-40 {
  padding-bottom: 80px;
}

.-pb-18-18 {
  padding-bottom: 18px;
}

.-pb-0-20 {
  padding-bottom: 0;
}

.-pb-0-0 {
  padding-bottom: 0;
}

/* ホバー */
@media (hover: hover) {
  a.button:where(:any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
}

/* SP */
@media (max-width: 768px) {
  #page-contents {
    padding: 0;
  }

  #page-header {
    margin-bottom: 0;
  }

  .br-pc {
    display: none;
  }

  .br-sp {
    display: block;
  }

  /* テキスト（配置） */
  .-text-center-left {
    text-align: left;
  }

  .-text-left-right {
    text-align: right;
  }

  /* 共通セクション */
  .section {
    padding: 40px 16px;
  }

  .section.-contact {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .section.-message {
    padding-top: 60px;
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0;
    background-image: initial;
  }

  .section.-message::before {
    width: 100%;
    height: 30px;
  }

  /* 画像 */
  .image img {
    width: 100%;
  }

  .image.-message img {
    max-width: 193px;
  }

  .image.-showroom-top img {
    width: calc(100% - 80px);
    display: block;
    margin-right: auto;
    margin-left: auto;
  }

  .image.-economic {
    top: 24px;
    margin-top: -2px;
  }

  .image.-time {
    position: relative;
    top: -28px;
    margin-top: 28px;
  }

  .image.-flow {
    position: absolute;
    bottom: 74px;
  }

  .image.-flow img {
    max-width: 318px;
  }

  /* フレックスレイアウト */
  .flex.-gap-x-0-24 {
    row-gap: 24px;
  }

  .flex.-gap-x-0-16 {
    row-gap: 16px;
  }

  .flex.-gap-x-0-8 {
    row-gap: 8px;
  }

  .flex.-gap-y-48-0 {
    column-gap: 0;
  }

  .flex.-sp-flex-col {
    flex-direction: column;
  }

  .flex.-sp-full-wide {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
  }

  .flex.-sp-flex-col {
    flex-direction: column;
  }

  .flex.-sp-items-center {
    align-items: center;
  }

  .flex.-sp-flex-col-reverse {
    flex-direction: column-reverse;
  }

  .flex.-efficiency {
    align-items: center;
  }

  .flex.-efficiency .flex__content {
    width: 100%;
  }

  .flex.-efficiency .image.-first {
    width: auto;
    top: 25px;
    margin-top: -4px;
  }

  .flex.-removal .image {
    width: max-content;
    top: 36px;
    margin-top: -16px;
  }

  .flex.-removal .flex__content {
    width: 100%;
  }

  .flex.-setting {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%22276%22%20height%3D%2285%22%20viewBox%3D%220%200%20276%2085%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M78.3646%208.19498C57.3563%2013.9311%2037.6209%2022.7891%2020.4009%2034.2027C8.87764%2041.8393%20-2.41844%2054.0173%203.73867%2065.0651C8.66985%2073.9115%2022.0873%2076.7239%2033.8164%2078.1861C101.846%2086.6644%20172.883%2084.8551%20237.469%2065.3927C253.675%2060.5084%20271.574%2052.2731%20273.792%2038.2358C275.365%2028.2757%20267.841%2018.4697%20257.675%2012.8666C247.509%207.26355%20235.11%205.14831%20222.965%203.83649C166.675%20-2.23806%20108.101%206.87377%2058.4402%2029.4364%22%20stroke%3D%22%23FF6A9C%22%20stroke-opacity%3D%220.2%22%20stroke-width%3D%223%22%20stroke-miterlimit%3D%2210%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");
    height: 85px;
  }

  .flex.-cost {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%22276%22%20height%3D%2285%22%20viewBox%3D%220%200%20276%2085%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M78.3646%208.19498C57.3563%2013.9311%2037.6209%2022.7891%2020.4009%2034.2027C8.87764%2041.8393%20-2.41844%2054.0173%203.73867%2065.0651C8.66985%2073.9115%2022.0873%2076.7239%2033.8164%2078.1861C101.846%2086.6644%20172.883%2084.8551%20237.469%2065.3927C253.675%2060.5084%20271.574%2052.2731%20273.792%2038.2358C275.365%2028.2757%20267.841%2018.4697%20257.675%2012.8666C247.509%207.26355%20235.11%205.14831%20222.965%203.83649C166.675%20-2.23806%20108.101%206.87377%2058.4402%2029.4364%22%20stroke%3D%22%23FF6A9C%22%20stroke-opacity%3D%220.2%22%20stroke-width%3D%223%22%20stroke-miterlimit%3D%2210%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");
    height: 85px;
  }

  /* グリッドレイアウト */
  .grid.-col-4-2 {
    grid-template-columns: repeat(2, 1fr);
  }

  .grid.-gap-x-0-8 {
    row-gap: 8px;
  }

  .grid.-gap-y-16-11 {
    column-gap: 11px;
  }

  .grid-item img {
    max-width: 100%;
    width: 100%;
    height: auto;
  }

  .grid-image img {
    width: 100%;
    max-width: 100%;
    height: auto;
  }

  .grid-image figcaption {
    font-size: 1.8rem;
  }

  .grid.-bottom-dashed {
    padding-bottom: 0;
  }

  .grid.-bottom-dashed::after {
    display: none;
  }

  .grid.-time {
    column-gap: 12px;
  }

  /* ショールーム */
  .grid.-showroom-top {
    grid-template-columns: repeat(1, 1fr);
  }

  .grid.-showroom {
    grid-template-columns: repeat(1, 1fr);
    grid-template-areas:
      "text"
      "button"
      "image";
  }

  .grid.-showroom .grid-image {
    margin-top: 40px;
    padding-top: 24px;
    position: relative;
  }

  .grid.-showroom .grid-image::before {
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-image: repeating-linear-gradient(90deg, var(--clr-primary), var(--clr-primary) 4px, transparent 4px, transparent 8px);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 100% 1px;
    position: absolute;
  }

  /* テキスト（フォントサイズ） */
  .text.-fz-96-84 {
    font-size: 8.4rem;
  }

  .text.-fz-96-64 {
    font-size: 6.4rem;
  }

  .text.-fz-64-40 {
    font-size: 4rem;
  }

  .text.-fz-40-33 {
    font-size: 3.3rem;
  }

  .text.-fz-40-32 {
    font-size: 3.2rem;
  }

  .text.-fz-36-27 {
    font-size: 2.7rem;
  }

  .text.-fz-32-27 {
    font-size: 2.7rem;
  }

  .text.-fz-32-24 {
    font-size: 2.4rem;
  }

  .text.-fz-32-18 {
    font-size: 1.8rem;
  }

  .text.-fz-32-16 {
    font-size: 1.6rem;
  }

  .text.-fz-26-22 {
    font-size: 2.2rem;
  }

  .text.-fz-26-20 {
    font-size: 2rem;
  }

  .text.-fz-24-20 {
    font-size: 2rem;
  }

  .text.-fz-24-18 {
    font-size: 1.8rem;
  }

  .text.-fz-22-16 {
    font-size: 1.6rem;
  }

  .text.-fz-20-18 {
    font-size: 1.8rem;
  }

  .text.-fz-20-16 {
    font-size: 1.6rem;
  }

  .text.-fz-20-14 {
    font-size: 1.4rem;
  }

  .text.-fz-18-16 {
    font-size: 1.6rem;
  }

  .text.-fz-18-14 {
    font-size: 1.4rem;
  }

  .text.-fz-16-14 {
    font-size: 1.4rem;
  }

  .text.-fz-16-12 {
    font-size: 1.2rem;
  }

  .text.-fz-16-11 {
    font-size: 1.1rem;
  }

  .text.-fz-16-10 {
    font-size: 1rem;
  }

  .text.-fz-14-12 {
    font-size: 1.2rem;
  }

  .text.-fz-12-10 {
    font-size: 1rem;
  }

  .text.-contact {
    font-size: 3.2rem;
    padding-top: 0;
  }

  .text.-lh-2-1\.5 {
    line-height: 1.5;
  }

  /* テキスト（上付き文字） */
  .text.-sup01 {
    position: absolute;
    top: -10px;
    right: 0;
  }

  .sup {
    position: absolute;
    top: 22px;
  }

  /* 見出し */
  .heading.-level2 {
    font-size: 2rem;
  }

  .heading.-level3 {
    font-size: 2.2rem;
  }

  .heading.-level3.-bottom-dashed {
    background-image: repeating-linear-gradient(90deg, var(--clr-primary), var(--clr-primary) 4px, transparent 4px, transparent 8px);
  }

  .heading.-level4 {
    font-size: 2rem;
  }

  /* ボタン */
  a.button {
    position: relative;
    padding: 19px 28px;
  }

  a.button.-contact.-size-medium {
    padding-top: 8px;
    padding-right: 67px;
    padding-bottom: 8px;
    column-gap: 16px;
  }

  a.button.-showroom {
    width: 311px;
    padding-top: 19px;
    padding-right: 115px;
    padding-bottom: 19px;
  }

  .button-text {
    font-size: 2rem;
  }

  .button.-try {
    padding-top: 12px;
    padding-bottom: 12px;
  }

  /* メインビジュアル */
  .mv-bg {
    background-image: url("/lp/dryer/01/assets/img/mv_top_sp.jpg");
    background-position: center top;
    height: 445px;
  }

  .message {
    row-gap: 24px;
  }

  .message-content {
    flex-direction: column;
    row-gap: 16px;
  }

  .message-text {
    font-size: 2rem;
  }

  .message-title {
    font-size: 2.2rem;
  }

  /* 注釈（番号付き） */
  .number-note-item {
    padding-left: 16px;
    font-size: 1.2rem;
  }

  .number-note-item.-fz-12-12::before {
    top: 0;
  }

  /* ボックス（補足） */
  .note-item {
    font-size: 1.2rem;
    padding-left: 16px;
  }

  .note-item.-fz-12-12::before {
    top: 0;
  }

  .white-box {
    padding-top: 16px;
    padding-right: 16px;
    padding-left: 16px;
    padding-bottom: 16px;
  }

  .content-box {
    padding: 54px 20px 40px 20px;
  }

  .content-box.-staff {
    padding-top: 24px;
    padding-right: 16px;
    padding-bottom: 24px;
    padding-left: 16px;
  }

  .blue-border-box {
    margin-top: 40px;
    padding-top: 21px;
    padding-right: 13px;
    padding-bottom: 21px;
    padding-left: 13px;
  }

  .table-box {
    padding-right: 0;
    padding-left: 0;
  }

  .table-box:first-child {
    min-width: initial;
    width: 80px;
  }

  .table-box:not(:first-child) {
    padding-top: 11px;
    padding-bottom: 11px;
    width: calc(85 / 343 * 100%);
  }

  .table-box:nth-child(2) {
    width: calc(103 / 343 * 100%);
  }

  .table-box:nth-child(3),
  .table-box:nth-child(4) {
    width: calc(90 / 343 * 100%);
    padding-right: 0;
    padding-left: 0;
  }

  .table-box.-head:nth-child(2) .image,
  .table-box.-head:nth-child(3) .image,
  .table-box.-head:nth-child(4) .image {
    max-width: 68px;
  }

  .table-box.-head {
    padding-top: 5px;
    padding-right: 4px;
    padding-left: 4px;
  }

  .table-box.-pt-0-14 {
    padding-bottom: 14px;
  }

  .table-box.-pt-18-18 {
    padding-bottom: 18px;
  }

  .table-col.-last-line::after {
    width: 100%;
    bottom: -24px;
    left: 0;
  }

  a.anchor-link {
    width: 100%;
    padding-right: 0;
    padding-left: 0;
  }

  .anchor-box {
    margin-top: 9px;
    padding-right: 2px;
    padding-left: 2px;
    line-height: 1.2;
  }

  .anchor-note {
    font-size: 1.1rem;
    transform: translateX(-50%) rotate(0deg);
    left: 50%;
    white-space: nowrap;
  }

  .anchor-sub {
    font-size: 1.2rem;
    line-height: 1.2;
  }

  .anchor-list {
    grid-template-columns: minmax(109px, 1fr) minmax(109px, 1fr) minmax(109px, 1fr);
    bottom: 30px;
  }

  .anchor-label {
    max-width: 280px;
    clip-path: polygon(0 0, 100% 0, calc(100% - 8px) 50%, 100% 100%, 0 100%, 8px 50%);
    bottom: 112px;
    padding-top: 2px;
    padding-bottom: 2px;
  }

  .anchor-item {
    display: flex;
  }

  .anchor-text {
    font-size: 1.4rem;
  }

  .setting-grid {
    grid-template-areas:
      "main sub "
      "image image"
      "content content"
      "text text";
    grid-template-columns: repeat(2, 1fr);
    margin-top: 24px;
  }

  .setting-content-grid {
    width: calc(100% - 64px);
    margin-top: 24px;
    margin-right: auto;
    margin-left: auto;
    padding-top: 8px;
    padding-right: 8px;
    padding-bottom: 8px;
    padding-left: 8px;
  }

  .setting-image-grid {
    margin-top: 8px;
  }

  .setting-image-grid img {
    width: 100%;
    max-width: 100%;
    height: auto;
  }

  .setting-main-grid,
  .setting-sub-grid {
    font-size: 1.2rem;
  }

  .cost-table tbody th {
    width: initial;
    width: 17%;
  }

  .cost-table td {
    padding-top: 7px;
    padding-right: 6px;
    padding-bottom: 7px;
    padding-left: 6px;
  }

  .showroom {
    padding-top: 24px;
    padding-right: 16px;
    padding-bottom: 24px;
    padding-left: 16px;
  }

  .showroom-item {
    font-size: 1.6rem;
  }

  .showroom-item.-border-pink {
    padding-right: 6px;
    padding-left: 6px;
  }

  .showroom-title {
    font-size: 2.7rem;
  }

  .flow-grid {
    grid-template-columns: min-content;
    grid-template-rows: auto;
    column-gap: 8px;
    grid-template-areas:
      "step01 title01"
      "content01 content01"
      "step02 title02"
      "content02 content02"
      "step03 title03"
      "content03 content03";
    position: relative;
  }

  .flow-grid::before {
    content: "";
    width: 1px;
    height: 45%;
    top: 40px;
    left: 20px;
    background-image: repeating-linear-gradient(180deg, var(--clr-primary), var(--clr-primary) 4px, transparent 4px, transparent 8px);
    background-position: left top;
    background-repeat: repeat-y;
    background-size: 1px 100%;
    position: absolute;
  }

  .flow-grid::after {
    display: none;
  }

  .flow-title {
    align-items: flex-start;
    margin-top: 0;
    font-size: 1.8rem;
    text-align: left;
  }

  .flow-content {
    margin-top: 8px;
    align-items: flex-start;
    padding-left: 48px;
    padding-right: 18px;
    row-gap: 8px;
  }

  .flow-content.-first {
    margin-bottom: 24px;
    align-items: center;
  }

  .flow-content.-second {
    margin-bottom: 24px;
  }

  .flow-content.-third {
    padding-bottom: 400px;
  }

  .data-table tbody tr th {
    padding-top: 14px;
    padding-right: 7px;
    padding-left: 7px;
    padding-bottom: 14px;
  }

  .data-table tbody tr td {
    padding-top: 14px;
    padding-right: 7px;
    padding-left: 7px;
    padding-bottom: 14px;
  }

  .data-table tbody tr td {
    font-size: 1.4rem;
  }

  .icon.-circle {
    width: 15px;
    height: 15px;
  }

  .icon.-triangle {
    width: 18px;
    height: 15px;
  }

  /* よくある質問 */
  .faq-list {
    margin-top: 24px;
  }

  .faq-anwer {
    margin-top: 16px;
  }

  /* モーダル */
  .modal .modal-close {
    width: 16px;
    height: 16px;
    top: 16px;
    right: 16px;
  }

  .modal .modal-content {
    padding-top: 24px;
    padding-right: 16px;
    padding-bottom: 24px;
    padding-left: 16px;
    width: calc(100% - 32px);
    height: calc(100dvh - 80px);
    max-height: initial;
  }

  /* margin */
  .-mt-94-78 {
    margin-top: 78px;
  }

  .-mt-94-54 {
    margin-top: 54px;
  }

  .-mt-80-50 {
    margin-top: 50px;
  }

  .-mt-76-35 {
    margin-top: 35px;
  }

  .-mt-60-70 {
    margin-top: 70px;
  }

  .-mt-60-48 {
    margin-top: 48px;
  }

  .-mt-60-40 {
    margin-top: 40px;
  }

  .-mt-60-32 {
    margin-top: 32px;
  }

  .-mt-60-24 {
    margin-top: 24px;
  }

  .-mt-48-40 {
    margin-top: 40px;
  }

  .-mt-48-24 {
    margin-top: 24px;
  }

  .-mt-45-36 {
    margin-top: 36px;
  }

  .-mt-40-32 {
    margin-top: 32px;
  }

  .-mt-40-24 {
    margin-top: 24px;
  }

  .-mt-40-16 {
    margin-top: 16px;
  }

  .-mt-24-40 {
    margin-top: 40px;
  }

  .-mt-24-20 {
    margin-top: 20px;
  }

  .-mt-24-16 {
    margin-top: 16px;
  }

  .-mt-24-0 {
    margin-top: 0;
  }

  .-mt-20-16 {
    margin-top: 16px;
  }

  .-mt-16-12 {
    margin-top: 12px;
  }

  .-mt-16-8 {
    margin-top: 8px;
  }

  .-mt-16-2 {
    margin-top: 2px;
  }

  .-mt-8-4 {
    margin-top: 4px;
  }

  .-mt-0-40 {
    margin-top: 40px;
  }

  .-mt-0-24 {
    margin-top: 24px;
  }

  /* padding */
  .-pt-16-0 {
    padding-top: 0;
  }

  .-pb-80-50 {
    padding-bottom: 50px;
  }

  .-pb-80-40 {
    padding-bottom: 40px;
  }

  .-pt-0-24 {
    padding-top: 24px;
  }

  .-pb-0-20 {
    padding-bottom: 20px;
  }

  .-pb-0-0 {
    padding-bottom: 0;
  }

  .table-box.-pt-0-48 {
    padding-top: 48px;
  }

  .table-box.-pb-18-18 {
    padding-bottom: 18px;
  }
}