@charset "UTF-8";
:root {
  /* Common Size */
  --width-pc: 1500px;
  --width-pc-wrap: 102rem;
  --width-sp: 600px;
  --width-pc-base: 390px;
  /* Common padding-inline */
  --padding-inline: 2.5641025641vw;
  /* Common Space */
  --space-lv1: 1rem;
  --space-lv2: 2rem;
  --space-lv3: 3rem;
  --space-lv4: 4rem;
  --space-lv5: 5rem;
  --space-lv6: 6rem;
}
@media not screen and (max-width: 600px) {
  :root {
    /* Common padding-inline */
    --padding-inline: 1rem;
    /* Common Space */
    --space-lv1: 2rem;
    --space-lv2: 4rem;
    --space-lv3: 6rem;
    --space-lv4: 8rem;
    --space-lv5: 10rem;
    --space-lv6: 12rem;
  }
}

:root {
  --font-family-sans: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", hiragino-kaku-gothic-pron, "Noto Sans", "He lvetica Neue", "Helvetica", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  --fz-text-lv1: 1rem;
  --fz-text-lv2: max(12px, 1.2rem);
  --fz-text-lv3: max(12px, 1.4rem);
  --fz-text-lv4: max(12px, 1.6rem);
  --fz-text-lv5: max(12px, 1.8rem);
  --fz-text-lv6: max(12px, 2rem);
  --fz-text-lv7: max(12px, 2.2rem);
  --fz-h2: max(12px, 3rem);
  --fz-h3: max(12px, 2.4rem);
  --fz-body: var(--fz-text-lv4);
  --fw-400: 400;
  --fw-500: 500;
  --fw-600: 600;
  --fw-700: 700;
  --fw-800: 800;
  --fw-900: 900;
  --fw-normal: normal;
  --fw-bold: bold;
  --fw-regular: var(--fw-400);
  --fw-medium: var(--fw-500);
  --fw-semi-bold: var(--fw-600);
  --fw-extra-bold: var(--fw-800);
  --fw-black: var(--fw-900);
  --lh-lv1: 1;
  --lh-lv2: 1.2;
  --lh-lv3: 1.3;
  --lh-lv4: 1.4;
  --lh-lv5: 1.5;
  --lh-lv6: 1.6;
  --lh-lv7: 1.7;
  --lh-lv8: 2;
  --ls-lv1: 0;
  --ls-lv2: .02em;
  --ls-lv3: .03em;
  --ls-lv4: .04em;
  --ls-lv5: .05em;
  --ls-lv6: .1em;
}
@media not screen and (max-width: 600px) {
  :root {
    --fz-h2: 4.6rem;
    --fz-h3: 3.4rem;
    --fz-text-lv4: 1.8rem;
  }
}

/**
//  * Vw変換
//  * @param $size - 変換するサイズ
//  * @param $viewport - ビューポートの幅
//  * @return - 変換後のサイズ(vw)
//  */
/**
//  * Hover or Touch
//  * @param $style - 設定値
//  * @return - フォント設定
//  */
.u-bg-slice {
  clip-path: polygon(0 var(--bg-slice-size), 100% 0, 100% calc(100% - var(--bg-slice-size)), 0 100%);
}
:root {
  --bg-slice-size: 4rem;
}
@media not screen and (max-width: 600px) {
  :root {
    --bg-slice-size: 15.385rem;
  }
}

/* Clickable
----------------------------------------- */
.p-thanks__link, :where(a):not([class]), .l-footer__nav a {
  text-decoration: none;
  transition: background 0.3s;
  background: linear-gradient(currentColor 0 100%) 0 100%/var(--bg-linear-size) 1px no-repeat;
  --bg-linear-size: 100%;
}
@media (any-hover: hover) {
  .p-thanks__link:hover, :hover:where(a):not([class]), .l-footer__nav a:hover {
    --bg-linear-size: 0%;
  }
}
@media (any-hover: none) {
  .p-thanks__link:active, :active:where(a):not([class]), .l-footer__nav a:active {
    --bg-linear-size: 0%;
  }
}
.l-footer__nav a {
  --bg-linear-size: 0%;
}
@media (any-hover: hover) {
  .l-footer__nav a:hover {
    --bg-linear-size: 100%;
  }
}
@media (any-hover: none) {
  .l-footer__nav a:active {
    --bg-linear-size: 100%;
  }
}

/* Base
----------------------------------------- */
.p-sec03__img, .p-sec03__text, .p-sec06__img, .p-sec06__text, .p-sec02__img, .p-sec02__text {
  position: relative;
  z-index: 0;
  --bg-color: #fff;
}
.p-sec03__img::before, .p-sec03__text::before, .p-sec06__img::before, .p-sec06__text::before, .p-sec02__img::before, .p-sec02__text::before {
  content: "";
  position: absolute;
  inset: 0 calc(100% - 5px);
  z-index: -1;
  inline-size: 50vw;
  background-color: var(--bg-color);
}
.p-sec06__img::before, .p-sec06__text::before, .p-sec02__img::before, .p-sec02__text::before {
  inset-inline-start: auto;
}
.p-sec03__img::before, .p-sec03__text::before {
  inset-inline-end: auto;
}

* {
  margin: 0;
  padding: 0;
}

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

*:where(:not(fieldset, progress, meter)) {
  border-width: 0;
  border-style: solid;
  background-origin: border-box;
  background-repeat: no-repeat;
}

html {
  min-block-size: 100%;
  block-size: auto;
  -webkit-text-size-adjust: none;
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: no-preference) {
  html:focus-within {
    scroll-behavior: smooth;
  }
}
body {
  text-rendering: optimizeSpeed;
  min-block-size: 100%;
}

:where(img, svg, video, canvas, audio, iframe, embed, object, picture) {
  display: block;
}

:where(img, svg, video) {
  block-size: auto;
  max-inline-size: 100%;
}

:where(svg) {
  stroke: none;
  fill: currentColor;
}

:where(svg):where(:not([fill])) {
  stroke: currentColor;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

:where(svg):where(:not([width])) {
  inline-size: 5rem;
}

:where(input, button, textarea, select),
:where(input[type=file])::-webkit-file-upload-button {
  color: inherit;
  font: inherit;
  font-size: inherit;
  letter-spacing: inherit;
  word-spacing: inherit;
}

:where(textarea) {
  resize: vertical;
}

@supports (resize: block) {
  :where(textarea) {
    resize: block;
  }
}
:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
}

h1 {
  font-size: 2em;
}

:where(ul, ol) {
  list-style-position: inside;
}

:where(ul, ol)[role=list] {
  list-style: none;
}

a:not([class]) {
  text-decoration-skip-ink: auto;
}

:where(a[href], area, button, input, label[for], select, summary, textarea, [tabindex]:not([tabindex*="-"])) {
  cursor: pointer;
  touch-action: manipulation;
}

:where(input[type=file]) {
  cursor: auto;
}

:where(input[type=file])::-webkit-file-upload-button,
:where(input[type=file])::file-selector-button {
  cursor: pointer;
}

:where(button, button[type], input[type=button], input[type=submit], input[type=reset]),
:where(input[type=file])::-webkit-file-upload-button,
:where(input[type=file])::file-selector-button {
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  user-select: none;
  text-align: center;
}

:where(button, button[type], input[type=button], input[type=submit], input[type=reset])[disabled] {
  cursor: not-allowed;
}

:where(button, input, textarea) {
  border: none;
  outline: none;
  background: none;
}

:root {
  /* Space SP */
  --space-lv1: 1rem;
  --space-lv2: 2rem;
  --space-lv3: 3rem;
  --space-lv4: 4rem;
  --space-lv5: 5rem;
  --space-lv6: 6rem;
  /* Space Gap row */
  --gap-row-lv1: var(--space-lv1);
  --gap-row-lv2: var(--space-lv2);
  --gap-row-lv3: var(--space-lv3);
  --gap-row-lv4: var(--space-lv4);
  --gap-row-lv5: var(--space-lv5);
  --gap-row-lv6: var(--space-lv6);
  /* Space Gap column */
  --gap-column-lv1: var(--space-lv1);
  --gap-column-lv2: var(--space-lv2);
  --gap-column-lv3: var(--space-lv3);
  --gap-column-lv4: var(--space-lv4);
  --gap-column-lv5: var(--space-lv5);
  --gap-column-lv6: var(--space-lv6);
}
@media not screen and (max-width: 600px) {
  :root {
    /* Space PC */
    --space-lv1: 2rem;
    --space-lv2: 4rem;
    --space-lv3: 6rem;
    --space-lv4: 8rem;
    --space-lv5: 10rem;
    --space-lv6: 12rem;
  }
}

/* Font
----------------------------------------- */
html {
  font-size: 62.5%;
}
@media screen and (max-width: 1020px) {
  html {
    font-size: 0.9803921569vw;
  }
}
@media screen and (max-width: 600px) {
  html {
    font-size: 2.5641025641vw;
  }
}

body {
  font: var(--fw-regular) var(--fz-body)/var(--lh-lv6) var(--font-family-sans);
}

h1, h2, h3, h4, h5 {
  text-align: center;
  font-weight: var(--fw-bold);
  line-height: var(--lh-lv4);
  word-break: auto-phrase;
}

h1 {
  font-size: var(--fz-h1);
}

h2 {
  font-size: var(--fz-h2);
  letter-spacing: var(--ls-lv5);
}

h3 {
  font-size: var(--fz-h3);
}

h4 {
  font-size: var(--fz-h4);
}

h5 {
  font-size: var(--fz-h5);
}

em {
  font-style: normal;
  font-weight: var(--fw-bold);
}

strong {
  font-weight: var(--fw-black);
}

/* Base
----------------------------------------- */
:root {
  --color-main: #fff32e;
  --color-main-sub: #eae6db;
  --color-sub: #0e4664;
  --color-sub-sub: #5F5A4E;
  --white: #fff;
  --black: #111;
  --transparent: rgba(0, 0, 0, 0);
  --c-text: #3D2109;
  --c-blue: #426E85;
  --c-blue-dark: #004d8e;
  --c-blue-dark2: #240b80;
  --c-red: #C01C1A;
  --c-red-dark: #800000;
  --c-green: #115D53;
  --c-green-light: #dbf7dc;
  --c-yellow: #EAE45A;
  --c-yellow-light: #fffbc2;
  --bg-white: var(--white);
  --bg-sand: #F7F5F1;
  --bg-blue: #084F9F;
  --bg-blue-light: #d1deff;
  --bg-blue-dark: #243448;
  --bg-light-blue: #ecfdff;
  --bg-green: #167d38;
  --bg-green-light: #E8F3D8;
  --bg-yellow: #F9C800;
  --bg-yellow-light: #fffad1;
  --bg-yellow-dark: #F1EDDC;
  --bg-red-light: #fb765c;
  --bg-orange-light: #fd9b75;
  --bg-pink: #ffc1c1;
  --bg-red: var(--c-red);
  --bg-black: #474747;
}

body {
  color: var(--c-text);
  background-color: var(--white);
}

:where(a:not([class])) {
  color: currentColor;
}

/* Clickable
----------------------------------------- */
:where(a) {
  text-decoration: none;
}
/* Base
----------------------------------------- */
.l-main {
  background: url(../images/bg__img.png) 50% 0/150rem auto repeat-y;
  overflow: hidden;
}
@media not screen and (max-width: 1500px) {
  .l-main {
    background-size: 100vw auto;
  }
}
.l-main picture {
  inline-size: 100%;
  block-size: 100%;
}
.l-main img {
  inline-size: 100%;
  block-size: auto;
}

/* Wrap
----------------------------------------- */
.l-wrap {
  margin-inline: auto;
  padding-inline: var(--padding-inline);
  max-inline-size: var(--width-pc-wrap);
  inline-size: 100%;
}

/* Grid
----------------------------------------- */
.l-grid {
  display: grid;
  gap: var(--gap-row-lv2) var(--gap-column-lv2);
}

/* Contents
----------------------------------------- */
.l-contents {
  padding-block: var(--space-lv6);
}

/* Header
----------------------------------------- */
.l-header {
  display: grid;
  align-content: center;
  block-size: 5.5rem;
}
@media not screen and (max-width: 600px) {
  .l-header {
    block-size: 8rem;
  }
}
.l-header__contents {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.l-header__logo {
  inline-size: 15rem;
}
@media not screen and (max-width: 600px) {
  .l-header__logo {
    inline-size: 22rem;
  }
}
.l-header__logo img {
  inline-size: 100%;
}
@media not screen and (max-width: 600px) {
  .l-header__tel {
    inline-size: 36.372rem;
  }
}
.l-header__tel img {
  inline-size: 100%;
}
.l-header .l-header__tel--sp.c-button--tel {
  inline-size: 18.5rem;
}

/* MainVisual
----------------------------------------- */
.l-mv {
  position: relative;
  margin-block-end: 3rem;
}
@media not screen and (max-width: 600px) {
  .l-mv {
    margin-block-end: 5rem;
  }
}
.l-mv__contents {
  position: relative;
  margin-inline: auto;
  inline-size: 100%;
  max-inline-size: 100dvw;
  block-size: 100%;
  max-block-size: 100dvh;
  aspect-ratio: 380/472;
}
@media screen and (max-width: 600px) {
  .l-mv__contents {
    padding-inline: var(--padding-inline);
  }
}
@media not screen and (max-width: 600px) {
  .l-mv__contents {
    inline-size: min(92.3076923077vw, 120rem);
    aspect-ratio: 12/7;
  }
}
@media not screen and (max-width: 1500px) {
  .l-mv__contents {
    inline-size: 80vw;
  }
}
.l-mv__img {
  inline-size: 100%;
  block-size: 100%;
  border-radius: min(7.6923076923vw, 10rem);
  overflow: hidden;
}
@media not screen and (max-width: 1500px) {
  .l-mv__img {
    border-radius: 6.6666666667vw;
  }
}
.l-mv__img img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}
.l-mv__text {
  position: absolute;
  inset: 2.2rem auto auto 0.3rem;
  inline-size: 26.1rem;
}
@media not screen and (max-width: 600px) {
  .l-mv__text {
    inset: min(1.6153846154vw, 2.1rem) auto auto calc(min(1.0769230769vw, 1.4rem) * -1);
    inline-size: min(49.0769230769vw, 63.8rem);
  }
}
@media not screen and (max-width: 1500px) {
  .l-mv__text {
    inset: min(1.4vw, 2.1rem) auto auto calc(min(0.9333333333vw, 1.4rem) * -1);
    inline-size: 42.5333333333vw;
    max-block-size: 91%;
    min-block-size: 63.7rem;
    block-size: 100%;
  }
  .l-mv__text img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: contain;
    object-position: 0;
  }
}
.l-mv__over {
  position: absolute;
  inset: auto auto 3.5rem var(--padding-inline);
  z-index: 1;
  inline-size: 28.7rem;
}
.l-mv__over img {
  inline-size: 100%;
  block-size: auto;
}
@media not screen and (max-width: 600px) {
  .l-mv__over {
    inset: auto 0 min(2.7692307692vw, 3.6rem) auto;
    inline-size: min(44.3846153846vw, 57.7rem);
  }
}
@media not screen and (max-width: 1500px) {
  .l-mv__over {
    inset-block-end: 2.4vw;
    inline-size: 38.4666666667vw;
    max-block-size: 30.14285714%;
    min-block-size: 21.1rem;
    block-size: auto;
    aspect-ratio: 57.7/21.1;
  }
  .l-mv__over img {
    block-size: 100%;
    object-fit: contain;
    object-position: 0;
  }
}
.l-mv__over::before, .l-mv__over::after {
  content: "";
  position: absolute;
  inset: 0 auto;
  z-index: -1;
  inset-inline-end: 0;
  inline-size: calc(28.7rem + 50vw);
  border-radius: 0 1.6667rem 1.6667rem 0;
}
@media not screen and (max-width: 600px) {
  .l-mv__over::before, .l-mv__over::after {
    inset-inline-start: 0;
    inline-size: calc(min(44.3846153846vw, 57.7rem) + 50vw);
    border-radius: min(3.8461538462vw, 5rem) 0 0 min(3.8461538462vw, 5rem);
  }
}
@media not screen and (max-width: 1500px) {
  .l-mv__over::before, .l-mv__over::after {
    inline-size: 88.4666666667vw;
    border-radius: 3.3333333333vw 0 0 3.3333333333vw;
  }
}
.l-mv__over::before {
  background-color: rgba(255, 120, 0, 0.75);
}
.l-mv__over::after {
  z-index: -2;
  translate: 0.666667rem 0.53333rem;
  background-color: rgba(255, 255, 255, 0.6);
}
@media not screen and (max-width: 600px) {
  .l-mv__over::after {
    translate: calc(min(1vw, 1.3rem) * -1) min(0.7692307692vw, 1rem);
  }
}
@media not screen and (max-width: 1500px) {
  .l-mv__over::after {
    translate: -0.8666666667vw 0.6666666667vw;
  }
}

/* Footer
----------------------------------------- */
.l-footer {
  display: grid;
  align-content: center;
  justify-items: center;
  row-gap: 4rem;
  margin-block-start: 6rem;
  block-size: 25rem;
  text-align: center;
  color: var(--white);
  font-size: max(12px, 1.6rem);
  line-height: 1.2;
  background-color: #3F1F02;
}
@media not screen and (max-width: 600px) {
  .l-footer {
    row-gap: 3rem;
    margin-block-start: 10rem;
    padding-block-end: 0.7rem;
  }
}
.l-footer__nav {
  display: grid;
  justify-items: center;
  gap: 2rem 3rem;
}
@media not screen and (max-width: 600px) {
  .l-footer__nav {
    grid-auto-flow: column;
    justify-content: center;
  }
}
.l-footer__nav a {
  color: var(--white);
  text-decoration: none;
}

/* Contents
----------------------------------------- */
.l-contents {
  padding: var(--content-block) var(--base-padding-in);
}
.l-contents__wrap {
  display: grid;
  row-gap: var(--space-m);
  margin-inline: auto;
  max-inline-size: min(var(--wrap-inline), 1000px);
  inline-size: 100%;
}
.l-contents__inner {
  padding: var(--space-m);
}
@media not screen and (max-width: 600px) {
  .l-contents__inner {
    padding: var(--space-l);
  }
}

/* Captions
----------------------------------------- */
.l-captions {
  display: grid;
  row-gap: 1.5rem;
  padding-block: 2rem 3rem;
  font-size: max(12px, 1.2rem);
  font-weight: var(--fw-regular);
  line-height: 1.5;
}
@media not screen and (max-width: 600px) {
  .l-captions {
    padding-block: 4rem 5rem;
  }
}

/* Button
----------------------------------------- */
.c-button, .c-button--tel {
  position: relative;
  display: block;
  margin-inline: auto;
  max-inline-size: 33rem;
  inline-size: 100%;
  border-radius: 1000px;
  box-shadow: var(--bg-pos-x) var(--bg-pos-y) 0 var(--bg-spread) rgba(112, 94, 89, 0.7);
  background-color: #5b3b1d;
  transition: 0.2s;
  --bg-pos-x: .1rem;
  --bg-pos-y: .1rem;
  --bg-spread: 0;
}
@media not screen and (max-width: 600px) {
  .c-button, .c-button--tel {
    max-inline-size: 60rem;
    --bg-pos-x: .3214rem;
    --bg-pos-y: .383rem;
    --bg-spread: .3rem;
  }
}
.c-button::before, .c-button--tel::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 0.1rem solid var(--white);
  border-radius: 1000px;
}
@media not screen and (max-width: 600px) {
  .c-button::before, .c-button--tel::before {
    border-width: 0.3rem;
  }
}
.c-button img, .c-button--tel img {
  inline-size: 100%;
  block-size: auto;
}
@media (any-hover: hover) {
  .c-button:hover, .c-button--tel:hover {
    translate: var(--bg-pos-x) var(--bg-pos-y);
    box-shadow: 0 0 0 0 rgba(112, 94, 89, 0.7);
    background-color: #3F2002;
  }
}
@media (any-hover: none) {
  .c-button:active, .c-button--tel:active {
    translate: var(--bg-pos-x) var(--bg-pos-y);
    box-shadow: 0 0 0 0 rgba(112, 94, 89, 0.7);
    background-color: #3F2002;
  }
}
.c-button--tel {
  background-color: var(--white);
}
.c-button--tel::before {
  border-width: 0.2rem;
  border-color: #3D2109;
}
@media (any-hover: hover) {
  .c-button--tel:hover {
    background-color: #3F2002;
  }
  .c-button--tel:hover picture {
    filter: brightness(0) invert(1);
  }
}
@media (any-hover: none) {
  .c-button--tel:active {
    background-color: #3F2002;
  }
  .c-button--tel:active picture {
    filter: brightness(0) invert(1);
  }
}

/* Title
----------------------------------------- */
.c-title-h2 {
  display: grid;
  justify-items: center;
  row-gap: 1rem;
  margin-block-end: 1rem;
  color: var(--white);
  line-height: 1.4;
}
@media not screen and (max-width: 600px) {
  .c-title-h2 {
    row-gap: 0.5rem;
    margin-block-end: 2rem;
  }
}
.c-title-h2__sub {
  font-size: max(12px, 2.2rem);
  line-height: 1.5;
}
@media not screen and (max-width: 600px) {
  .c-title-h2__sub {
    font-size: 3rem;
  }
}
.c-title-h3 {
  display: grid;
  justify-items: center;
  row-gap: 1rem;
  margin-block-end: 2.4rem;
  color: var(--white);
  font-weight: var(--fw-extra-bold);
  line-height: 1.5;
}
@media not screen and (max-width: 600px) {
  .c-title-h3 {
    row-gap: 1.5rem;
    margin-block-end: 4.5rem;
  }
}
.c-title-h3__tag {
  margin-block-end: 1rem;
  padding: 0.375em 0.5em 0.5em;
  font-size: max(12px, 1.6rem);
  font-weight: var(--fw-bold);
  line-height: 1;
  border: 2px solid var(--white);
  background-color: var(--bg-blue);
}
@media not screen and (max-width: 600px) {
  .c-title-h3__tag {
    margin-block-end: 2rem;
    padding-inline: 1.5rem;
    font-size: 2.3rem;
  }
}
.c-title-h3__sub {
  font-size: max(12px, 2rem);
  font-weight: var(--fw-bold);
}
@media not screen and (max-width: 600px) {
  .c-title-h3__sub {
    font-size: 3rem;
  }
}

/* Text Link
----------------------------------------- */
.c-text-link {
  justify-self: center;
  text-align: center;
  color: inherit;
  transition: background 0.2s;
  background: linear-gradient(90deg, currentColor 50%, var(--transparent) 0) 100% 100%/300% 1px no-repeat;
}
@media (any-hover: hover) {
  .c-text-link:hover {
    background-position-x: 0;
  }
}
@media (any-hover: none) {
  .c-text-link:active {
    background-position-x: 0;
  }
}

.c-cap {
  font-size: max(12px, 1.2rem);
  font-weight: var(--fw-regular);
  line-height: 1.5;
}

/* @Javascript
----------------------------------------- */
.js-line-move {
  background: linear-gradient(to Right, var(--bg-liner-yellow) 50%, rgba(0, 0, 0, 0) 0) 200% 50%/200% 100% no-repeat;
  transition: background-position 1s linear;
}
.js-line-move.js-move-on {
  background-position-x: 0%;
}

/* sec01
----------------------------------------- */
@media screen and (max-width: 600px) {
  .p-sec01 {
    margin-block-end: 4.09rem;
  }
}
.p-sec01__button {
  margin-block-end: 3.17rem;
}
@media not screen and (max-width: 600px) {
  .p-sec01__button {
    margin-block-end: 5rem;
  }
}
@media screen and (max-width: 600px) {
  .p-sec01__img01 {
    margin-inline-end: -0.3333334rem;
  }
}

/* sec02
----------------------------------------- */
.p-sec02 {
  margin-block-end: 4rem;
}
@media not screen and (max-width: 600px) {
  .p-sec02 {
    margin-block-end: 8rem;
  }
}
.p-sec02__contents {
  position: relative;
}
.p-sec02__img {
  position: relative;
}
@media screen and (max-width: 600px) {
  .p-sec02__img {
    margin-inline-start: calc(var(--padding-inline) * -1);
  }
}
.p-sec02__text {
  position: absolute;
  inset: 4rem auto auto 0;
  inline-size: 43.6rem;
  --bg-color: #2f9eaa;
}

/* sec03
----------------------------------------- */
.p-sec03 {
  margin-block-end: 4rem;
}
@media not screen and (max-width: 600px) {
  .p-sec03 {
    margin-block-end: 8rem;
  }
}
.p-sec03__contents {
  position: relative;
}
.p-sec03__img {
  position: relative;
  margin-block-end: 4rem;
}
@media screen and (max-width: 600px) {
  .p-sec03__img {
    margin-inline-end: calc(var(--padding-inline) * -1);
  }
}
@media not screen and (max-width: 600px) {
  .p-sec03__img {
    margin-block-end: 8rem;
  }
}
.p-sec03__text {
  position: absolute;
  inset: 4rem 0 auto auto;
  inline-size: 90rem;
  --bg-color: #ee6319;
}

/* sec04
----------------------------------------- */
.p-sec04 {
  margin-block-end: 4rem;
}
@media not screen and (max-width: 600px) {
  .p-sec04 {
    margin-block-end: 8rem;
  }
}

/* sec05
----------------------------------------- */
.p-sec05 {
  margin-block-end: 4rem;
}
@media not screen and (max-width: 600px) {
  .p-sec05 {
    margin-block-end: 8rem;
  }
}

/* sec06
----------------------------------------- */
.p-sec06 {
  margin-block-end: 4rem;
}
@media not screen and (max-width: 600px) {
  .p-sec06 {
    margin-block-end: 7rem;
  }
}
.p-sec06__contents {
  position: relative;
}
.p-sec06__img {
  position: relative;
  margin-block-end: 4rem;
}
@media screen and (max-width: 600px) {
  .p-sec06__img {
    margin-inline-start: calc(var(--padding-inline) * -1);
  }
}
@media not screen and (max-width: 600px) {
  .p-sec06__img {
    margin-block-end: 8rem;
  }
}
.p-sec06__text {
  position: absolute;
  inset: 4rem auto auto 0;
  inline-size: 95rem;
  --bg-color: #2f9eaa;
}

/* sec07
----------------------------------------- */
.p-sec07 {
  margin-block-end: 4rem;
}
@media not screen and (max-width: 600px) {
  .p-sec07 {
    margin-block-end: 8rem;
  }
}

/* Form
----------------------------------------- */
.p-form {
  position: relative;
}
.p-form__contents {
  display: grid;
  justify-items: center;
  padding: 3.22rem 2rem 3.97rem;
  border-radius: 2rem;
  background-color: var(--white);
}
@media not screen and (max-width: 600px) {
  .p-form__contents {
    padding: 3.5rem 5rem 5rem;
    border-radius: 5rem;
  }
}
.p-form__title {
  margin-block-end: 2.2rem;
  inline-size: 25.6rem;
}
@media not screen and (max-width: 600px) {
  .p-form__title {
    margin-block-end: 3rem;
    inline-size: 53rem;
  }
}
.p-form-tel {
  display: grid;
  justify-items: center;
  row-gap: 2rem;
  margin-block-end: 3rem;
}
@media screen and (max-width: 600px) {
  .p-form-tel {
    inline-size: 100%;
  }
}
@media not screen and (max-width: 600px) {
  .p-form-tel {
    row-gap: 3rem;
    margin-block-end: 5rem;
  }
}
.p-form-tel__title {
  inline-size: 100%;
}
@media not screen and (max-width: 600px) {
  .p-form-tel__title {
    inline-size: 40.8rem;
  }
}
.p-form-tel__row {
  display: grid;
  gap: 0.4rem 3.4rem;
  inline-size: 100%;
}
@media not screen and (max-width: 600px) {
  .p-form-tel__row {
    row-gap: 1.6rem;
    align-items: center;
    justify-content: center;
    grid-template-columns: repeat(2, auto);
    grid-auto-flow: column;
  }
}
.p-form-tel__company {
  font-weight: 500;
}
@media screen and (max-width: 600px) {
  .p-form-tel__company {
    text-align: center;
  }
}
@media not screen and (max-width: 600px) {
  .p-form-tel__company {
    grid-column: 1;
    font-size: 2.2rem;
  }
}
.p-form-tel__num {
  inline-size: 36.772rem;
}
.p-form-tel__button {
  inline-size: 90%;
}
.p-form-tel__caption {
  text-align: center;
  font-size: 1.8rem;
}
@media not screen and (max-width: 600px) {
  .p-form-tel__caption {
    grid-column: 1/-1;
    font-size: 2rem;
  }
}
.p-form-mail {
  display: grid;
  justify-items: center;
  row-gap: 2rem;
  grid-auto-columns: 1fr;
  margin-block-end: 3rem;
  inline-size: 100%;
}
@media not screen and (max-width: 600px) {
  .p-form-mail {
    row-gap: 3rem;
  }
}
.p-form-mail__title {
  inline-size: 100%;
}
@media not screen and (max-width: 600px) {
  .p-form-mail__title {
    inline-size: 40.8rem;
  }
}
.p-form-mail__row {
  display: grid;
  align-items: center;
  gap: 1rem 3rem;
  inline-size: 100%;
}
@media not screen and (max-width: 600px) {
  .p-form-mail__row {
    display: flex;
  }
}
@media screen and (max-width: 600px) {
  .p-form-mail__head {
    font-size: max(12px, 1.4rem);
  }
}
@media not screen and (max-width: 600px) {
  .p-form-mail__head {
    flex-grow: 1;
    flex-shrink: 0;
    text-align: right;
  }
}
.is-required .p-form-mail__head {
  position: relative;
  margin-inline-end: -1em;
}
.is-required .p-form-mail__head::after {
  content: "※";
}
@media screen and (max-width: 600px) {
  .is-required .p-form-mail__head::after {
    font-size: max(8px, 1rem);
    vertical-align: super;
  }
}
.p-form-mail__input {
  inline-size: 100%;
}
@media not screen and (max-width: 600px) {
  .p-form-mail__input {
    inline-size: 66rem;
  }
}
.p-form-mail__input :is(input, textarea) {
  padding-inline-start: 1em;
  inline-size: 100%;
  min-block-size: 8rem;
  border: 1px solid #3D2109;
}
@media screen and (max-width: 600px) {
  .p-form-mail__input :is(input, textarea) {
    font-size: max(16px, 1.6rem);
  }
}
.p-form-mail__input textarea {
  padding-block-start: 1em;
  min-block-size: 13rem;
}
.p-form-check {
  display: flex;
  justify-content: start;
  align-items: center;
  column-gap: 0.7rem;
  margin-block-end: 3rem;
}
@media screen and (max-width: 600px) {
  .p-form-check {
    align-items: start;
    font-size: max(12px, 1.4rem);
    line-height: 1.5;
  }
}
@media not screen and (max-width: 600px) {
  .p-form-check {
    column-gap: 0.9rem;
    margin: 0 0 6rem 2rem;
  }
}
.p-form-check__hidden {
  display: none;
}
.p-form-check__box {
  position: relative;
  aspect-ratio: 1;
  inline-size: 1.8rem;
  block-size: auto;
  border: 1px solid #707070;
}
@media screen and (max-width: 600px) {
  .p-form-check__box {
    margin-block-start: calc((1lh - 1em) / 2);
  }
}
@media not screen and (max-width: 600px) {
  .p-form-check__box {
    inline-size: 2.2rem;
  }
}
.p-form-check__box::before {
  position: absolute;
  inset: 50% auto auto 50%;
  translate: -50% -50%;
  font-family: "Material Symbols Rounded";
  font-size: 3rem;
  line-height: 1;
  color: #3f2002;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}
:has(input:checked) .p-form-check__box::before {
  content: "\e5ca";
}
.p-form__button {
  margin-block-end: 2.3rem;
}
:not(:has(input:checked)) .p-form__button {
  pointer-events: none;
  translate: var(--bg-pos-x) var(--bg-pos-y);
  box-shadow: 0 0 0 0 rgba(112, 94, 89, 0.7);
  background-color: #797979;
}
@media screen and (max-width: 600px) {
  .p-form__button {
    margin-inline: -1rem;
    margin-block-end: 2rem;
    max-inline-size: none;
    inline-size: calc(100% + 2rem);
  }
}
.p-form__caption {
  text-align: center;
  font-size: 1.8rem;
}
@media not screen and (max-width: 600px) {
  .p-form__caption {
    font-size: 2rem;
  }
}

/* thanks
----------------------------------------- */
.p-thanks {
  display: grid;
  justify-items: center;
  row-gap: 4rem;
  margin-block-start: 4rem;
}
.p-thanks__title {
  font-size: 3.6rem;
  line-height: 1.3;
  margin-block-end: 2rem;
}
.p-thanks__text {
  display: grid;
  row-gap: 1lh;
  text-align: center;
}
.p-thanks__text .u-text-cap {
  font-size: 1.2rem;
}
@media not screen and (max-width: 600px) {
  .p-thanks__text .u-text-cap {
    font-size: 1.4rem;
  }
}
.p-thanks__link {
  text-align: center;
  color: #5b3b1d;
}

@media screen and (max-width: 600px) {
  .is-pc {
    display: none !important;
  }
}

@media not screen and (max-width: 600px) {
  .is-sp {
    display: none !important;
  }
}

/* Text
----------------------------------------- */
.u-liner {
  background: var(--bg-liner-yellow);
}

.u-under-liner {
  padding-block-end: 0.1em;
  background: linear-gradient(var(--transparent) 50%, var(--bg-liner-yellow) 0);
}

.u-text-red {
  color: var(--c-red);
}
.u-text-blue {
  color: var(--c-blue);
}
.u-text-blue-dark {
  color: var(--c-blue-dark);
}
.u-text-center {
  text-align: center;
}

/* @Utility .u-bg
----------------------------------------- */
/* Background
----------------------------------------- */
.u-bg-blur {
  -webkit-backdrop-filter: blur(1.3rem) saturate(180%);
  backdrop-filter: blur(1.3rem) saturate(180%);
}
.u-bg-white {
  background-color: var(--bg-white);
}
.u-bg-black {
  background-color: var(--bg-black);
}
.u-bg-sand {
  background-color: var(--bg-sand);
}
.u-bg-blue {
  background-color: var(--bg-blue);
}
.u-bg-blue-light {
  background-color: var(--bg-blue-light);
}
.u-bg-blue-dark {
  background-color: var(--bg-blue-dark);
}
.u-bg-light-blue {
  background-color: var(--bg-light-blue);
}
.u-bg-green {
  background-color: var(--bg-green);
}
.u-bg-green-light {
  background-color: var(--bg-green-light);
}
.u-bg-yellow {
  background-color: var(--bg-yellow);
}
.u-bg-yellow-light {
  background-color: var(--bg-yellow-light);
}
.u-bg-red {
  background-color: var(--bg-red);
}
.u-bg-red-light {
  background-color: var(--bg-red-light);
}
.u-bg-pink {
  background-color: var(--bg-pink);
}
.u-bg-dot {
  background-image: url(../images/bg-dot.svg);
  background-position: center;
  background-size: 1.8rem;
  background-repeat: repeat;
}
@media not screen and (max-width: 600px) {
  .u-bg-dot {
    background-size: 2.5rem;
  }
}
.u-bg-linear {
  background-image: url(../images/bg-linear.svg);
  background-position: center;
  background-size: 2.4rem;
  background-repeat: repeat;
  background-color: var(--white);
}
.u-bg-gradient {
  position: relative;
  z-index: 0;
}
.u-bg-gradient::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  z-index: -1;
  block-size: 700px;
  background: linear-gradient(to bottom, var(--bg-orange-light), var(--transparent));
}
.u-bg-slice {
  margin-block-start: calc(var(--bg-slice-size) * -1);
  padding-block: var(--bg-slice-size);
  background-position: 50% 0;
  background-size: cover;
  background-repeat: no-repeat;
}