@charset "UTF-8";
/*------------------------------------------------------------------------------
  reset
------------------------------------------------------------------------------*/
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
}

button {
  background-color: transparent;
  cursor: pointer;
}

input,
select,
textarea,
button {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

/*------------------------------------------------------------------------------
  base
------------------------------------------------------------------------------*/
:root {
  --zoom: 1;
  --sb: 0px;
  --viewport-width: calc(100vw - var(--sb));
  --sp-u-320: calc(0.04267rem - var(--sb) / 750);
  --sp-u-375: calc(0.05rem - var(--sb) / 750);
}
@media (max-width: 97.5rem) {
  :root {
    --zoom: 0.9;
  }
}
@media (max-width: 90rem) {
  :root {
    --zoom: 0.8;
  }
}
@media (max-width: 85.375rem) {
  :root {
    --zoom: 0.7;
  }
}
@media (max-width: 47.9375rem) {
  :root {
    --zoom: 1;
  }
}

html {
  font-size: 62.5%;
}
@media (max-width: 97.5rem) {
  html {
    font-size: 9px;
  }
}
@media (max-width: 90rem) {
  html {
    font-size: 8px;
  }
}
@media (max-width: 85.375rem) {
  html {
    font-size: 7px;
  }
}
@media (max-width: 47.9375rem) {
  html {
    font-size: 62.5%;
  }
}
html {
  scroll-padding-top: 12rem;
}
@media (max-width: 97.5rem) {
  html {
    scroll-padding-top: 10rem;
  }
}
@media (max-width: 85.375rem) {
  html {
    scroll-padding-top: 9rem;
  }
}
@media (max-width: 47.9375rem) {
  html {
    scroll-padding-top: 8rem;
  }
}

body {
  color: #6B532C;
  font-size: max(1.6rem, 15px);
  font-weight: 500;
  font-style: normal;
  line-height: 1.7;
  letter-spacing: 0.05em;
  font-family: "Zen Maru Gothic", sans-serif;
  background-color: #FFFAE6;
  margin: 0;
}
@media (max-width: 47.9375rem) {
  body {
    font-size: 1.3rem;
  }
}
body.is-hidden {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow: hidden;
  position: fixed;
  width: 100%;
}

img {
  border: 0;
  margin: 0;
  vertical-align: bottom;
  max-width: 100%;
  -webkit-user-drag: none;
}

p {
  overflow-wrap: break-word;
  word-wrap: break-word;
}

a {
  color: #6B532C;
  text-decoration: none;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
}
a:hover {
  opacity: 0.85;
}

/*------------------------------------------------------------------------------
  common
------------------------------------------------------------------------------*/
#wrapper {
  isolation: isolate;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100vh;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  overflow: hidden;
}

.l-main {
  display: block;
  background-color: transparent;
}

#wrapper .l-main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

/*------------------------------------------------------------------------------
  l-header
------------------------------------------------------------------------------*/
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
}

.l-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  padding-right: 1.6rem;
}
@media (max-width: 63.9375rem) {
  .l-header__inner {
    padding-right: 1.4rem;
  }
}

/* ロゴ
--------------------------------------------- */
.l-header__logo {
  background-color: #fff;
  border-radius: 0 0 8rem 0;
  -webkit-box-shadow: 0.8rem 0.8rem 0.4rem rgba(193, 141, 79, 0.5);
          box-shadow: 0.8rem 0.8rem 0.4rem rgba(193, 141, 79, 0.5);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 29.5rem;
  height: 10.6rem;
  padding: 1.3rem 0 0 2.8rem;
}
@media (max-width: 97.5rem) {
  .l-header__logo {
    border-radius: 0 0 6.6rem 0;
    width: 24.5rem;
    height: 8.8rem;
    padding: 1.1rem 0 0 2.4rem;
  }
}
@media (max-width: 85.375rem) {
  .l-header__logo {
    border-radius: 0 0 5.6rem 0;
    width: 20rem;
    height: 7.6rem;
    padding: 0.9rem 0 0 2rem;
  }
}
@media (max-width: 47.9375rem) {
  .l-header__logo {
    border-radius: 0 0 4rem 0;
    -webkit-box-shadow: 0.4rem 0.4rem 0.2rem rgba(193, 141, 79, 0.5);
            box-shadow: 0.4rem 0.4rem 0.2rem rgba(193, 141, 79, 0.5);
    width: 15rem;
    height: 5.3rem;
    padding: 0.66rem 0 0 1.4rem;
  }
}

.l-header__logo-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.2rem;
  width: 22.8rem;
}
@media (max-width: 97.5rem) {
  .l-header__logo-link {
    gap: 1rem;
    width: 19rem;
  }
}
@media (max-width: 85.375rem) {
  .l-header__logo-link {
    gap: 0.8rem;
    width: 15.2rem;
  }
}
@media (max-width: 47.9375rem) {
  .l-header__logo-link {
    gap: 0.6rem;
    width: 11.4rem;
  }
}

.l-header__logo-tagline {
  color: #000;
  font-size: 1.2rem;
  line-height: 1.45;
  letter-spacing: 0;
  display: block;
}
@media (max-width: 97.5rem) {
  .l-header__logo-tagline {
    font-size: 1rem;
  }
}
@media (max-width: 85.375rem) {
  .l-header__logo-tagline {
    font-size: 0.8rem;
  }
}
@media (max-width: 47.9375rem) {
  .l-header__logo-tagline {
    font-size: 0.6rem;
  }
}

.l-header__logo-img {
  width: 100%;
  height: auto;
}

/* グローバルナビ
--------------------------------------------- */
.l-header__nav {
  background-color: #fff;
  border-radius: 5.6rem;
  -webkit-box-shadow: 0.8rem 0.8rem 0.4rem rgba(193, 141, 79, 0.5);
          box-shadow: 0.8rem 0.8rem 0.4rem rgba(193, 141, 79, 0.5);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  height: 10.6rem;
  padding: 1.6rem 3.2rem 1.6rem 4rem;
}
@media (max-width: 97.5rem) {
  .l-header__nav {
    height: 8.8rem;
    padding: 1.4rem 2.4rem 1.4rem 3rem;
  }
}
@media (max-width: 85.375rem) {
  .l-header__nav {
    height: 7.6rem;
    padding: 1.2rem 1.6rem 1.2rem 2rem;
  }
}
@media (max-width: 63.9375rem) {
  .l-header__nav {
    background-color: rgba(75, 74, 70, 0.8);
    border-radius: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    opacity: 0;
    visibility: hidden;
    padding: 0;
    -webkit-transition: opacity 0.4s ease, visibility 0.4s ease;
    transition: opacity 0.4s ease, visibility 0.4s ease;
  }
}

@media (max-width: 63.9375rem) {
  .l-header__nav.is-open {
    opacity: 1;
    visibility: visible;
  }
}

.l-header__nav-panel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.8rem;
}
@media (max-width: 97.5rem) {
  .l-header__nav-panel {
    gap: 1.2rem;
  }
}
@media (max-width: 85.375rem) {
  .l-header__nav-panel {
    gap: 1rem;
  }
}
@media (max-width: 63.9375rem) {
  .l-header__nav-panel {
    background-color: #FFFAE6;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 76.14%;
    height: 100%;
    overflow-y: auto;
    padding: max(8rem, 80px) max(2.5rem, 25px) max(4rem, 40px);
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    -webkit-transition: -webkit-transform 0.4s ease;
    transition: -webkit-transform 0.4s ease;
    transition: transform 0.4s ease;
    transition: transform 0.4s ease, -webkit-transform 0.4s ease;
  }
}
@media (prefers-reduced-motion: reduce) {
  .l-header__nav-panel {
    -webkit-transition: none;
    transition: none;
  }
}

@media (max-width: 63.9375rem) {
  .l-header__nav.is-open .l-header__nav-panel {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .l-header__nav.is-open .l-header__nav-panel {
    -webkit-transition: none;
    transition: none;
  }
}

.l-header__nav-illust {
  display: none;
}
@media (max-width: 63.9375rem) {
  .l-header__nav-illust {
    display: block;
    position: absolute;
    top: max(14.3rem, 143px);
    right: calc(76.14% - max(1.55rem, 15.5px));
    z-index: 1;
    width: max(8.85rem, 88.5px);
    height: auto;
    opacity: 0;
    -webkit-transform: translateX(max(10rem, 100px));
            transform: translateX(max(10rem, 100px));
    -webkit-transition: opacity 0.4s ease, -webkit-transform 0.4s ease;
    transition: opacity 0.4s ease, -webkit-transform 0.4s ease;
    transition: transform 0.4s ease, opacity 0.4s ease;
    transition: transform 0.4s ease, opacity 0.4s ease, -webkit-transform 0.4s ease;
  }
}
@media (prefers-reduced-motion: reduce) {
  .l-header__nav-illust {
    -webkit-transition: none;
    transition: none;
  }
}

@media (max-width: 63.9375rem) {
  .l-header__nav.is-open .l-header__nav-illust {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
    -webkit-transition: opacity 0s linear 0.4s, -webkit-transform 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.4s;
    transition: opacity 0s linear 0.4s, -webkit-transform 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.4s;
    transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.4s, opacity 0s linear 0.4s;
    transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.4s, opacity 0s linear 0.4s, -webkit-transform 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.4s;
  }
}
@media (prefers-reduced-motion: reduce) {
  .l-header__nav.is-open .l-header__nav-illust {
    -webkit-transition: none;
    transition: none;
  }
}

/* ナビのリンク一覧
--------------------------------------------- */
.l-header__nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3.2rem;
}
@media (max-width: 97.5rem) {
  .l-header__nav-list {
    gap: 2.4rem;
  }
}
@media (max-width: 85.375rem) {
  .l-header__nav-list {
    gap: 1.6rem;
  }
}
@media (max-width: 63.9375rem) {
  .l-header__nav-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    gap: 0;
    width: 100%;
  }
}

@media (max-width: 63.9375rem) {
  .l-header__nav-item {
    position: relative;
    width: 100%;
    padding: max(2rem, 20px) 0;
  }
}

@media (max-width: 63.9375rem) {
  .l-header__nav-item::before {
    content: "";
    background-image: radial-gradient(circle, #6B532C max(0.075rem, 0.75px), transparent max(0.075rem, 0.75px));
    background-size: max(0.425rem, 4.25px) max(0.15rem, 1.5px);
    background-repeat: repeat-x;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: max(0.15rem, 1.5px);
  }
}

@media (max-width: 63.9375rem) {
  .l-header__nav-item:last-child::after {
    content: "";
    background-image: radial-gradient(circle, #6B532C max(0.075rem, 0.75px), transparent max(0.075rem, 0.75px));
    background-size: max(0.425rem, 4.25px) max(0.15rem, 1.5px);
    background-repeat: repeat-x;
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: max(0.15rem, 1.5px);
  }
}

.l-header__nav-link {
  color: #6B532C;
  font-size: max(2rem, 15px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
  white-space: nowrap;
  -webkit-transition: color 0.25s ease;
  transition: color 0.25s ease;
}
@media (hover: hover) {
  .l-header__nav-link:hover {
    color: #F8941F;
    opacity: 1;
  }
}
@media (max-width: 97.5rem) {
  .l-header__nav-link {
    font-size: max(1.8rem, 15px);
  }
}
@media (max-width: 85.375rem) {
  .l-header__nav-link {
    font-size: max(1.6rem, 15px);
  }
}
@media (max-width: 63.9375rem) {
  .l-header__nav-link {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-size: max(1.6rem, 16px);
    font-weight: 800;
    white-space: normal;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: max(1.2rem, 12px);
  }
}

.l-header__nav-word-sp {
  display: none;
}
@media (max-width: 63.9375rem) {
  .l-header__nav-word-sp {
    display: inline;
  }
}

.l-header__nav-icon {
  display: none;
}
@media (max-width: 63.9375rem) {
  .l-header__nav-icon {
    display: block;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: max(1.45rem, 14.5px);
    height: max(1.6rem, 16px);
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
}

/* ヘッダー内ボタン
--------------------------------------------- */
.l-header__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.6rem;
}
@media (max-width: 97.5rem) {
  .l-header__btns {
    gap: 1.2rem;
  }
}
@media (max-width: 85.375rem) {
  .l-header__btns {
    gap: 1rem;
  }
}
@media (max-width: 63.9375rem) {
  .l-header__btns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: max(2rem, 20px);
    width: 100%;
    max-width: max(20.2rem, 202px);
    margin: max(3.2rem, 32px) auto 0;
  }
}

.l-header__btn {
  color: #6B532C;
  font-size: max(2rem, 15px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
  white-space: nowrap;
  background-color: #fff;
  border: 4px solid #F7F09D;
  border-radius: 5.6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  gap: 1.6rem;
  padding: 1.2rem 2.8rem;
  -webkit-transition: color 0.25s ease, background-color 0.25s ease;
  transition: color 0.25s ease, background-color 0.25s ease;
}
@media (hover: hover) {
  .l-header__btn:hover {
    background-color: #F7F09D;
    opacity: 1;
  }
}
@media (max-width: 97.5rem) {
  .l-header__btn {
    font-size: max(1.8rem, 15px);
    gap: 1.2rem;
    padding: 1.2rem 1.6rem;
  }
}
@media (max-width: 85.375rem) {
  .l-header__btn {
    font-size: max(1.6rem, 15px);
    gap: 1rem;
    padding: 1rem 1.6rem;
  }
}
@media (max-width: 63.9375rem) {
  .l-header__btn {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-size: max(1.6rem, 16px);
    font-weight: 800;
    border-width: 2px;
    border-radius: max(4rem, 40px);
    -webkit-box-shadow: 0.4rem 0.4rem 0.2rem rgba(193, 141, 79, 0.5);
            box-shadow: 0.4rem 0.4rem 0.2rem rgba(193, 141, 79, 0.5);
    gap: max(1.2rem, 12px);
    width: 100%;
    height: max(4rem, 40px);
    padding: 0 max(0.8rem, 8px);
  }
}

.l-header__btn--pamphlet {
  gap: 0.4rem;
}
@media (max-width: 85.375rem) {
  .l-header__btn--pamphlet {
    gap: 0.3rem;
  }
}
@media (max-width: 63.9375rem) {
  .l-header__btn--pamphlet {
    font-size: max(1.5rem, 15px);
    gap: max(0.8rem, 8px);
  }
}

.l-header__btn--contact {
  border-color: #F8941F;
}
@media (hover: hover) {
  .l-header__btn--contact:hover {
    color: #FFFFFF;
    background-color: #F8941F;
  }
}

.l-header__btn--entry {
  background-color: #F7F09D;
}
@media (hover: hover) {
  .l-header__btn--entry:hover {
    background-color: #fff;
  }
}

.l-header__btn-icon {
  display: none;
}
@media (max-width: 63.9375rem) {
  .l-header__btn-icon {
    display: block;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: max(1.65rem, 16.5px);
    height: max(1.4rem, 14px);
  }
}

@media (max-width: 63.9375rem) {
  .l-header__btn--entry .l-header__btn-icon {
    width: max(1.4rem, 14px);
    height: max(1.45rem, 14.5px);
  }
}

.l-header__btn-book {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 3rem;
  height: 3rem;
}
@media (max-width: 97.5rem) {
  .l-header__btn-book {
    width: 2.6rem;
    height: 2.6rem;
  }
}
@media (max-width: 85.375rem) {
  .l-header__btn-book {
    width: 2.2rem;
    height: 2.2rem;
  }
}

.l-header__btn-linkout {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 2rem;
  height: 2rem;
}
@media (max-width: 97.5rem) {
  .l-header__btn-linkout {
    width: 1.8rem;
    height: 1.8rem;
  }
}
@media (max-width: 85.375rem) {
  .l-header__btn-linkout {
    width: 1.5rem;
    height: 1.5rem;
  }
}
@media (max-width: 63.9375rem) {
  .l-header__btn-linkout {
    display: none;
  }
}

.l-header__btn-arrow {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 2.1rem;
  height: 1.3rem;
  margin: 0 -0.15rem;
  -webkit-transition: -webkit-filter 0.25s ease;
  transition: -webkit-filter 0.25s ease;
  transition: filter 0.25s ease;
  transition: filter 0.25s ease, -webkit-filter 0.25s ease;
}
@media (max-width: 85.375rem) {
  .l-header__btn-arrow {
    width: 1.8rem;
    height: 1.1rem;
    margin: 0 -0.13rem;
  }
}
@media (max-width: 63.9375rem) {
  .l-header__btn-arrow {
    display: none;
  }
}

@media (hover: hover) {
  .l-header__btn--contact:hover .l-header__btn-arrow {
    -webkit-filter: brightness(0) invert(1);
            filter: brightness(0) invert(1);
  }
}
/*------------------------------------------------------------------------------
  l-wave-bg
------------------------------------------------------------------------------*/
.l-wave-bg {
  --wave-u: calc(min(var(--viewport-width), 192rem) / 1920 * var(--zoom));
  position: relative;
  min-height: calc(var(--wave-u) * 3794);
}
@media (max-width: 63.9375rem) {
  .l-wave-bg {
    --wave-u: calc(min(var(--viewport-width), 192rem) / 1920);
  }
}
@media (max-width: 47.9375rem) {
  .l-wave-bg {
    min-height: 0;
  }
}

.l-wave-bg__layer {
  position: absolute;
  top: calc(var(--wave-u) * 871);
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
}
@media (max-width: 47.9375rem) {
  .l-wave-bg__layer {
    display: none;
  }
}

.l-wave-bg__layer::before {
  content: "";
  background-color: #F7F09D;
  position: absolute;
  top: calc(var(--wave-u) * 300);
  right: 0;
  bottom: calc(var(--wave-u) * 300);
  left: 0;
}

.l-wave-bg__wave {
  position: absolute;
  left: 50%;
  width: 101.04%;
  height: auto;
  max-width: none;
}

.l-wave-bg__wave--top {
  top: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.l-wave-bg__wave--bottom {
  bottom: 0;
  -webkit-transform: translateX(-50%) rotate(180deg);
          transform: translateX(-50%) rotate(180deg);
}

.l-wave-bg .p-mv {
  position: relative;
}

.l-wave-bg .p-about {
  position: relative;
  z-index: 1;
}

/*------------------------------------------------------------------------------
  l-footer
------------------------------------------------------------------------------*/
.l-footer {
  background-color: #F7F09D;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 2.4rem 2rem;
}
@media (max-width: 47.9375rem) {
  .l-footer {
    padding: 1.2rem 2rem;
  }
}

.l-footer__copyright {
  font-family: "Montserrat", sans-serif;
  font-size: max(1.6rem, 15px);
  font-weight: 400;
  line-height: 3.75;
  letter-spacing: -0.02em;
  text-align: center;
  display: block;
}
@media (max-width: 47.9375rem) {
  .l-footer__copyright {
    font-size: clamp(1.2rem, 3.2vw, 1.6rem);
    line-height: 2.5;
  }
}

/*------------------------------------------------------------------------------
  c-burger-btn
------------------------------------------------------------------------------*/
.c-burger-btn {
  display: none;
}
@media (max-width: 63.9375rem) {
  .c-burger-btn {
    background-color: #fff;
    border: none;
    border-radius: 50%;
    -webkit-box-shadow: 0.4rem 0.4rem 0.2rem rgba(193, 141, 79, 0.5);
            box-shadow: 0.4rem 0.4rem 0.2rem rgba(193, 141, 79, 0.5);
    display: block;
    position: relative;
    top: 0;
    z-index: 999;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: max(5.3rem, 53px);
    height: max(5.3rem, 53px);
    cursor: pointer;
  }
  .c-burger-btn.cross .c-burger-btn__bar--top {
    -webkit-transition-delay: 40ms;
            transition-delay: 40ms;
    -webkit-transform: translateY(max(1.05rem, 10.5px)) rotate(45deg) scale(1.21, 2);
            transform: translateY(max(1.05rem, 10.5px)) rotate(45deg) scale(1.21, 2);
  }
  .c-burger-btn.cross .c-burger-btn__bar--bottom {
    -webkit-transition-delay: 40ms;
            transition-delay: 40ms;
    -webkit-transform: rotate(-45deg) scale(1.21, 2);
            transform: rotate(-45deg) scale(1.21, 2);
  }
  .c-burger-btn.cross .c-burger-btn__label {
    opacity: 0;
  }
}

.c-burger-btn__bar {
  background-color: #6B532C;
  border-radius: 0.1rem;
  display: block;
  position: absolute;
  left: max(1.4rem, 14px);
  width: max(2.5rem, 25px);
  height: 1px;
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.c-burger-btn__bar--top {
  top: max(1.6rem, 16px);
}

.c-burger-btn__bar--bottom {
  top: max(2.65rem, 26.5px);
}

.c-burger-btn__label {
  color: #6B532C;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.1em;
  -webkit-text-stroke: max(0.1rem, 1px) #6B532C;
  text-align: center;
  display: block;
  position: absolute;
  top: max(3.05rem, 30.5px);
  left: 0;
  width: 100%;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

/*------------------------------------------------------------------------------
  c-char-anim
------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------
  c-contact-btn
------------------------------------------------------------------------------*/
.c-contact-btn {
  background-color: #F8941F;
  border: 0.4rem solid transparent;
  border-radius: 5.6rem;
  -webkit-box-shadow: 0.8rem 0.8rem 0.4rem rgba(193, 141, 79, 0.5);
          box-shadow: 0.8rem 0.8rem 0.4rem rgba(193, 141, 79, 0.5);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 3.6rem;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 2.8rem 5.2rem;
  -webkit-transition: background-color 0.25s ease, border-color 0.25s ease, -webkit-box-shadow 0.25s ease;
  transition: background-color 0.25s ease, border-color 0.25s ease, -webkit-box-shadow 0.25s ease;
  transition: background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
  transition: background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease, -webkit-box-shadow 0.25s ease;
}
@media (max-width: 63.9375rem) {
  .c-contact-btn {
    gap: 2.4rem;
    padding: 2.2rem 3.6rem;
  }
}
@media (max-width: 47.9375rem) {
  .c-contact-btn {
    border-width: 0.2rem;
    border-radius: 2.8rem;
    -webkit-box-shadow: 0.4rem 0.4rem 0.2rem rgba(193, 141, 79, 0.5);
            box-shadow: 0.4rem 0.4rem 0.2rem rgba(193, 141, 79, 0.5);
    gap: 1.8rem;
    padding: 1.4rem 2.6rem;
  }
}
@media (hover: hover) {
  .c-contact-btn:hover, .c-contact-btn:focus-visible {
    background-color: #fff;
    border-color: #F8941F;
    -webkit-box-shadow: none;
            box-shadow: none;
    opacity: 1;
  }
}
.c-contact-btn:focus-visible {
  background-color: #fff;
  border-color: #F8941F;
  -webkit-box-shadow: none;
          box-shadow: none;
  opacity: 1;
}

.c-contact-btn__label {
  color: #FFFFFF;
  font-size: max(3.2rem, 15px);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0;
  white-space: nowrap;
  -webkit-transition: color 0.25s ease;
  transition: color 0.25s ease;
}
@media (max-width: 63.9375rem) {
  .c-contact-btn__label {
    font-size: max(2.6rem, 15px);
  }
}
@media (max-width: 47.9375rem) {
  .c-contact-btn__label {
    font-size: 1.6rem;
  }
}

.c-contact-btn__arrow {
  display: block;
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 3.6rem;
  height: 2rem;
}
@media (max-width: 63.9375rem) {
  .c-contact-btn__arrow {
    width: 2.8rem;
    height: 1.56rem;
  }
}
@media (max-width: 47.9375rem) {
  .c-contact-btn__arrow {
    width: 1.8rem;
    height: 1rem;
  }
}

.c-contact-btn__arrow::before,
.c-contact-btn__arrow::after {
  content: "";
  background-repeat: no-repeat;
  background-size: 100% 100%;
  position: absolute;
  inset: -0.2rem;
}
@media (max-width: 47.9375rem) {
  .c-contact-btn__arrow::before,
  .c-contact-btn__arrow::after {
    inset: -0.1rem;
  }
}

.c-contact-btn__arrow::before {
  background-image: url("../img/icon_arrow_lg.svg");
}

.c-contact-btn__arrow::after {
  background-image: url("../img/icon_arrow_lg_br.svg");
  opacity: 0;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
}

.c-contact-btn__char {
  display: block;
  position: absolute;
  bottom: calc(100% + 0.4rem);
  left: 24.4rem;
  width: 8.6rem;
  height: 13.3rem;
  overflow: hidden;
  pointer-events: none;
}
@media (max-width: 63.9375rem) {
  .c-contact-btn__char {
    left: 18.6rem;
    width: 6.9rem;
    height: 10.7rem;
  }
}
@media (max-width: 47.9375rem) {
  .c-contact-btn__char {
    bottom: calc(100% + 0.2rem);
    left: 12.2rem;
    width: 4.3rem;
    height: 6.65rem;
  }
}

.c-contact-btn__char img {
  display: block;
  position: absolute;
  top: 2.4rem;
  left: 0;
  width: 100%;
  height: auto;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  -webkit-transition: -webkit-transform 0.7s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: -webkit-transform 0.7s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: transform 0.7s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: transform 0.7s cubic-bezier(0.34, 1.56, 0.64, 1), -webkit-transform 0.7s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@media (max-width: 63.9375rem) {
  .c-contact-btn__char img {
    top: 2rem;
  }
}
@media (max-width: 47.9375rem) {
  .c-contact-btn__char img {
    top: 1.2rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .c-contact-btn__char img {
    -webkit-transition: none;
    transition: none;
  }
}

@media (hover: hover) {
  .c-contact-btn:hover .c-contact-btn__label {
    color: #6B532C;
  }
  .c-contact-btn:hover .c-contact-btn__arrow::after {
    opacity: 1;
  }
  .c-contact-btn:hover .c-contact-btn__char img {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.c-contact-btn:focus-visible .c-contact-btn__label {
  color: #6B532C;
}

.c-contact-btn:focus-visible .c-contact-btn__arrow::after {
  opacity: 1;
}

.c-contact-btn:focus-visible .c-contact-btn__char img {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/*------------------------------------------------------------------------------
  c-dashed-panel
------------------------------------------------------------------------------*/
.c-dashed-panel {
  background-color: #fff;
  border-radius: 1.6rem;
  -webkit-box-shadow: 0.8rem 0.8rem 0.4rem rgba(193, 141, 79, 0.5);
          box-shadow: 0.8rem 0.8rem 0.4rem rgba(193, 141, 79, 0.5);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 2.4rem 2.8rem;
}
@media (max-width: 47.9375rem) {
  .c-dashed-panel {
    border-radius: 0.8rem;
    -webkit-box-shadow: 0.4rem 0.4rem 0.2rem rgba(193, 141, 79, 0.5);
            box-shadow: 0.4rem 0.4rem 0.2rem rgba(193, 141, 79, 0.5);
    padding: 1.2rem 1rem 1.05rem;
  }
}

.c-dashed-panel__frame {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 5.6rem 12rem;
}
@media (max-width: 75rem) {
  .c-dashed-panel__frame {
    padding: 4.8rem 6rem;
  }
}
@media (max-width: 63.9375rem) {
  .c-dashed-panel__frame {
    padding: 4rem 3.2rem;
  }
}
@media (max-width: 47.9375rem) {
  .c-dashed-panel__frame {
    padding: 2rem 4.225rem 4.35rem;
  }
}

.c-dashed-panel__line {
  position: absolute;
  top: 0.2rem;
  left: 0.2rem;
  width: calc(100% - 0.4rem);
  height: calc(100% - 0.4rem);
  overflow: visible;
  pointer-events: none;
}
@media (max-width: 47.9375rem) {
  .c-dashed-panel__line {
    top: 0.1rem;
    left: 0.1rem;
    width: calc(100% - 0.2rem);
    height: calc(100% - 0.2rem);
  }
}

.c-dashed-panel__line rect {
  fill: none;
  stroke: #F7F09D;
  stroke-width: 0.4rem;
  stroke-dasharray: 1.1rem 1.3rem;
  stroke-linecap: round;
}
@media (max-width: 47.9375rem) {
  .c-dashed-panel__line rect {
    rx: 0.7rem;
    stroke-width: 0.2rem;
    stroke-dasharray: 0.55rem 0.65rem;
  }
}

/*------------------------------------------------------------------------------
  c-detail-btn
------------------------------------------------------------------------------*/
.c-detail-btn {
  color: #6B532C;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: max(1.8rem, 15px);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0;
  white-space: nowrap;
  background-color: transparent;
  border: 0.1rem solid #6B532C;
  border-width: max(0.1rem, 1px);
  border-radius: 8rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.6rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 1.6rem 3.2rem;
  -webkit-transition: color 0.25s ease, background-color 0.25s ease;
  transition: color 0.25s ease, background-color 0.25s ease;
}
@media (max-width: 63.9375rem) {
  .c-detail-btn {
    font-size: max(1.6rem, 15px);
    padding: 1.2rem 2.4rem;
  }
}
@media (max-width: 47.9375rem) {
  .c-detail-btn {
    border-width: 0.05rem;
    font-size: 1.4rem;
    gap: 0.3rem;
    padding: 0.8rem 1.6rem;
  }
}
@media (hover: hover) {
  .c-detail-btn:hover {
    color: #FFFFFF;
    background-color: #6B532C;
    opacity: 1;
  }
}

.c-detail-btn__icon {
  background-image: url("../img/icon_arrow_circle.svg");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  display: block;
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 2rem;
  height: 2rem;
}
@media (max-width: 47.9375rem) {
  .c-detail-btn__icon {
    width: 1rem;
    height: 1rem;
  }
}

.c-detail-btn__icon::after {
  content: "";
  background-image: url("../img/icon_arrow_circle_w.svg");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  position: absolute;
  inset: 0;
  opacity: 0;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
}

@media (hover: hover) {
  .c-detail-btn:hover .c-detail-btn__icon::after {
    opacity: 1;
  }
}
/*------------------------------------------------------------------------------
  c-fadeInUp
------------------------------------------------------------------------------*/
.c-fadeInUp {
  opacity: 0;
  -webkit-transform: translateY(3rem);
          transform: translateY(3rem);
  -webkit-transition: opacity 0.8s ease-out, -webkit-transform 0.8s ease-out;
  transition: opacity 0.8s ease-out, -webkit-transform 0.8s ease-out;
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
  transition: opacity 0.8s ease-out, transform 0.8s ease-out, -webkit-transform 0.8s ease-out;
}
.c-fadeInUp.is-active {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .c-fadeInUp {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
  }
}

/*------------------------------------------------------------------------------
  c-frame-btn
------------------------------------------------------------------------------*/
.c-frame-btn {
  background-color: #fff;
  border: calc(var(--frame-btn-u, 1px) * 8) solid #F8941F;
  border-radius: calc(var(--frame-btn-u, 1px) * 32);
  -webkit-box-shadow: calc(var(--frame-btn-u, 1px) * 8) calc(var(--frame-btn-u, 1px) * 8) calc(var(--frame-btn-u, 1px) * 4) rgba(193, 141, 79, 0.5);
          box-shadow: calc(var(--frame-btn-u, 1px) * 8) calc(var(--frame-btn-u, 1px) * 8) calc(var(--frame-btn-u, 1px) * 4) rgba(193, 141, 79, 0.5);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 100%;
  overflow: hidden;
  padding: 0 calc(var(--frame-btn-u, 1px) * 8);
}
@media (hover: hover) {
  .c-frame-btn:hover {
    opacity: 1;
  }
  .c-frame-btn:hover .c-frame-btn__label {
    color: #F8941F;
  }
}

.c-frame-btn__label {
  font-size: calc(var(--frame-btn-u, 1px) * 32);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  white-space: nowrap;
  background-color: #fff;
  background-image: url("../img/frame_dashed.svg");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  border-radius: calc(var(--frame-btn-u, 1px) * 24);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(var(--frame-btn-u, 1px) * 16);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: calc(var(--frame-btn-u, 1px) * 118);
  padding: calc(var(--frame-btn-u, 1px) * 16);
  -webkit-transition: color 0.25s ease;
  transition: color 0.25s ease;
}
@media (max-width: 47.9375rem) {
  .c-frame-btn__label {
    background-image: url("../img/frame_dashed_sp.svg");
    height: calc(var(--frame-btn-u, 1px) * 96);
    padding: calc(var(--frame-btn-u, 1px) * 4) calc(var(--frame-btn-u, 1px) * 16);
  }
}

.c-frame-btn__icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: calc(var(--frame-btn-u, 1px) * 48);
  height: calc(var(--frame-btn-u, 1px) * 48);
}

/*------------------------------------------------------------------------------
  c-frame-nav
------------------------------------------------------------------------------*/
.c-frame-nav {
  --frame-nav-dw: 1200;
  --frame-nav-w: 120rem;
  --frame-btn-u: calc(var(--frame-nav-w) / var(--frame-nav-dw));
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr calc(var(--frame-btn-u) * 24) 1fr calc(var(--frame-btn-u) * 24) 1fr;
  grid-template-columns: repeat(3, 1fr);
  -ms-grid-rows: 1fr calc(var(--frame-btn-u) * 16) 1fr;
  grid-template-rows: repeat(2, 1fr);
  gap: calc(var(--frame-btn-u) * 16) calc(var(--frame-btn-u) * 24);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: var(--frame-nav-w);
  height: calc(var(--frame-btn-u) * 304);
}
.c-frame-nav > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
.c-frame-nav > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}
.c-frame-nav > *:nth-child(3) {
  -ms-grid-row: 1;
  -ms-grid-column: 5;
}
.c-frame-nav > *:nth-child(4) {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
}
.c-frame-nav > *:nth-child(5) {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
}
.c-frame-nav > *:nth-child(6) {
  -ms-grid-row: 3;
  -ms-grid-column: 5;
}
@media (max-width: 47.9375rem) {
  .c-frame-nav {
    --frame-nav-dw: 678;
    -ms-grid-columns: 1fr calc(var(--frame-btn-u) * 24) 1fr;
    grid-template-columns: repeat(2, 1fr);
    -ms-grid-rows: 1fr calc(var(--frame-btn-u) * 45) 1fr calc(var(--frame-btn-u) * 45) 1fr;
    grid-template-rows: repeat(3, 1fr);
    gap: calc(var(--frame-btn-u) * 45) calc(var(--frame-btn-u) * 24);
    height: calc(var(--frame-btn-u) * 456);
  }
  .c-frame-nav > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .c-frame-nav > *:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .c-frame-nav > *:nth-child(3) {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .c-frame-nav > *:nth-child(4) {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
  .c-frame-nav > *:nth-child(5) {
    -ms-grid-row: 5;
    -ms-grid-column: 1;
  }
  .c-frame-nav > *:nth-child(6) {
    -ms-grid-row: 5;
    -ms-grid-column: 3;
  }
}

/*------------------------------------------------------------------------------
  c-inner
------------------------------------------------------------------------------*/
.c-inner {
  max-width: min(124rem, 90vw);
  margin: 0 auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0 2rem;
}
@media (max-width: 47.9375rem) {
  .c-inner {
    max-width: 124rem;
  }
}

.c-inner--sm {
  max-width: 86rem;
}

.c-inner--md {
  max-width: 104rem;
}

.c-inner--lg {
  max-width: 160rem;
}

/*------------------------------------------------------------------------------
  c-modal
------------------------------------------------------------------------------*/
.c-modal {
  --modal-u: min(0.1rem, calc((var(--viewport-width) - 4rem) / 1055));
  --modal-w: 1000;
  --modal-fw: 1055;
  --modal-h: 88vh;
}
@media (max-width: 47.9375rem) {
  .c-modal {
    --modal-u: max(var(--sp-u-320), calc(var(--viewport-width) / 750));
    --modal-w: 686;
    --modal-fw: 686;
  }
}
.c-modal {
  visibility: hidden;
  opacity: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: fixed;
  inset: 0;
  z-index: 9999;
  -webkit-transition: opacity 0.3s ease, visibility 0s linear 0.3s;
  transition: opacity 0.3s ease, visibility 0s linear 0.3s;
}
.c-modal.is-active {
  visibility: visible;
  opacity: 1;
  -webkit-transition: opacity 0.3s ease, visibility 0s linear 0s;
  transition: opacity 0.3s ease, visibility 0s linear 0s;
}

.c-modal__overlay {
  background-color: rgba(0, 0, 0, 0.6);
  position: absolute;
  inset: 0;
  cursor: pointer;
}

.c-modal__frame {
  position: relative;
  width: calc(var(--modal-u) * var(--modal-fw));
  -webkit-transform: translateY(1.2rem);
          transform: translateY(1.2rem);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.c-modal.is-active .c-modal__frame {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .c-modal__frame {
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
  }
}

.c-modal__panel {
  background-color: #fff;
  border-radius: calc(var(--modal-u) * 10);
  position: relative;
  width: calc(var(--modal-u) * var(--modal-w));
  height: min(var(--modal-h), var(--modal-fit, 100vh));
  overflow: hidden;
  margin: 0 auto;
  -webkit-transition: height 0.3s ease;
  transition: height 0.3s ease;
}
@media (prefers-reduced-motion: reduce) {
  .c-modal__panel {
    -webkit-transition: none;
    transition: none;
  }
}

.c-modal__viewport {
  height: 100%;
  overflow: hidden;
}

.c-modal__track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-transform: translateX(calc(var(--modal-i, 0) * -100%));
          transform: translateX(calc(var(--modal-i, 0) * -100%));
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.c-modal__track.is-no-anim {
  -webkit-transition: none;
  transition: none;
}
@media (prefers-reduced-motion: reduce) {
  .c-modal__track {
    -webkit-transition: none;
    transition: none;
  }
}

.c-modal__slide {
  scrollbar-width: thin;
  scrollbar-color: rgba(107, 83, 44, 0.35) transparent;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  height: 100%;
  overflow-y: auto;
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  -ms-touch-action: pan-y;
      touch-action: pan-y;
}
.c-modal__slide::-webkit-scrollbar {
  width: 0.8rem;
}
.c-modal__slide::-webkit-scrollbar-thumb {
  background-color: rgba(107, 83, 44, 0.35);
  border-radius: 0.4rem;
}
.c-modal__slide:focus-visible {
  outline: 2px solid #1375BA;
  outline-offset: -2px;
}

.c-modal__sheet {
  position: relative;
}

.c-modal__img {
  display: block;
  width: 100%;
  height: auto;
}

/*------------------------------------------------------------------------------
  c-modal__link
------------------------------------------------------------------------------*/
.c-modal__link {
  position: absolute;
  border-radius: calc(var(--modal-u) * 6);
}
.c-modal__link:hover {
  opacity: 1;
}
.c-modal__link::before {
  content: "";
  background-color: #F7F09D;
  mix-blend-mode: multiply;
  opacity: 0;
  position: absolute;
  inset: 0;
  border-radius: inherit;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
}
@media (hover: hover) {
  .c-modal__link:hover::before {
    opacity: 1;
  }
}
.c-modal__link:focus-visible {
  outline: 2px solid #1375BA;
  outline-offset: 2px;
}

/* 03 その他サポート（URL） */
.c-modal__link--relo {
  left: 56.3%;
  top: 73.48%;
  width: 30.2%;
  height: 5.66%;
}
@media (max-width: 47.9375rem) {
  .c-modal__link--relo {
    left: 19.68%;
    top: 82.58%;
    width: 60.2%;
    height: 4.36%;
  }
}

/* 03 その他サポート（資格一覧ボタン） */
.c-modal__link--pdf {
  border-radius: 999px;
  left: 13.4%;
  top: 49.36%;
  width: 27.2%;
  height: 3%;
}
@media (max-width: 47.9375rem) {
  .c-modal__link--pdf {
    left: 24.64%;
    top: 32.62%;
    width: 50.73%;
    height: 2.04%;
  }
}

/*------------------------------------------------------------------------------
  閉じるボタン
------------------------------------------------------------------------------*/
.c-modal__close-btn {
  color: #FFFFFF;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: calc(var(--modal-u) * 18);
  font-weight: 800;
  line-height: 1;
  background-color: #8AC63C;
  border: none;
  border-radius: calc(var(--modal-u) * 16);
  -webkit-box-shadow: calc(var(--modal-u) * 4) calc(var(--modal-u) * 4) calc(var(--modal-u) * 2) rgba(193, 141, 79, 0.5);
          box-shadow: calc(var(--modal-u) * 4) calc(var(--modal-u) * 4) calc(var(--modal-u) * 2) rgba(193, 141, 79, 0.5);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  bottom: calc(var(--modal-u) * 76);
  left: 50%;
  width: calc(var(--modal-u) * 134);
  height: calc(var(--modal-u) * 43);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
  cursor: pointer;
}
@media (max-width: 47.9375rem) {
  .c-modal__close-btn {
    font-size: 1.6rem;
    border-radius: 1.2rem;
    -webkit-box-shadow: 0.4rem 0.4rem 0.2rem rgba(193, 141, 79, 0.5);
            box-shadow: 0.4rem 0.4rem 0.2rem rgba(193, 141, 79, 0.5);
    bottom: calc(var(--modal-u) * 79);
    width: 12rem;
    height: 4.3rem;
  }
}
@media (hover: hover) {
  .c-modal__close-btn:hover {
    opacity: 0.85;
  }
}
.c-modal__close-btn:focus-visible {
  outline: 2px solid #1375BA;
  outline-offset: 2px;
}

/*------------------------------------------------------------------------------
  ✕ボタン
------------------------------------------------------------------------------*/
.c-modal__close {
  background-color: #FFFAE6;
  border: none;
  border-radius: 50%;
  -webkit-box-shadow: calc(var(--modal-u) * 2) calc(var(--modal-u) * 2) calc(var(--modal-u) * 2) rgba(107, 83, 44, 0.6);
          box-shadow: calc(var(--modal-u) * 2) calc(var(--modal-u) * 2) calc(var(--modal-u) * 2) rgba(107, 83, 44, 0.6);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  top: calc(var(--modal-u) * 17);
  right: calc(var(--modal-u) * 16);
  z-index: 2;
  width: calc(var(--modal-u) * 48);
  height: calc(var(--modal-u) * 48);
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
  cursor: pointer;
}
@media (max-width: 47.9375rem) {
  .c-modal__close {
    top: calc(var(--modal-u) * 33);
    right: calc(var(--modal-u) * 25);
    width: 4.4rem;
    height: 4.4rem;
  }
}
@media (hover: hover) {
  .c-modal__close:hover {
    opacity: 0.75;
  }
}
.c-modal__close:focus-visible {
  outline: 2px solid #1375BA;
  outline-offset: 2px;
}

.c-modal__close-bar {
  background-color: #6B532C;
  border-radius: calc(var(--modal-u) * 1.5);
  position: absolute;
  width: calc(var(--modal-u) * 33);
  height: calc(var(--modal-u) * 3);
}
@media (max-width: 47.9375rem) {
  .c-modal__close-bar {
    border-radius: 0.1rem;
    width: 3.025rem;
    height: 0.2rem;
  }
}
.c-modal__close-bar--a {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.c-modal__close-bar--b {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

/*------------------------------------------------------------------------------
  前後の矢印
------------------------------------------------------------------------------*/
.c-modal__arrow {
  background-color: transparent;
  background-image: url("../img/icon_arrow.svg");
  background-repeat: no-repeat;
  background-size: contain;
  border: none;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  z-index: 2;
  width: calc(var(--modal-u) * 48);
  height: calc(var(--modal-u) * 48);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
  cursor: pointer;
}
@media (max-width: 47.9375rem) {
  .c-modal__arrow {
    width: 4.4rem;
    height: 4.4rem;
  }
}
@media (hover: hover) {
  .c-modal__arrow:hover {
    opacity: 0.8;
  }
}
.c-modal__arrow:focus-visible {
  outline: 2px solid #FFFFFF;
  outline-offset: 2px;
}
.c-modal__arrow--prev {
  left: 0;
}
@media (max-width: 47.9375rem) {
  .c-modal__arrow--prev {
    left: -1.2rem;
  }
}
.c-modal__arrow--next {
  right: 0;
  -webkit-transform: translateY(-50%) scaleX(-1);
          transform: translateY(-50%) scaleX(-1);
}
@media (max-width: 47.9375rem) {
  .c-modal__arrow--next {
    right: -1.2rem;
  }
}

/*------------------------------------------------------------------------------
  c-pagetop
------------------------------------------------------------------------------*/
.c-pagetop {
  background-color: transparent;
  border: 0;
  display: block;
  position: fixed;
  right: 3.2rem;
  bottom: 3.2rem;
  z-index: 90;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 8.071rem;
  -webkit-filter: drop-shadow(0.4rem 0.4rem 0.2rem rgba(193, 141, 79, 0.5));
          filter: drop-shadow(0.4rem 0.4rem 0.2rem rgba(193, 141, 79, 0.5));
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(1.6rem);
          transform: translateY(1.6rem);
  -webkit-transition: opacity 0.4s ease, visibility 0.4s, -webkit-transform 0.4s ease;
  transition: opacity 0.4s ease, visibility 0.4s, -webkit-transform 0.4s ease;
  transition: opacity 0.4s ease, transform 0.4s ease, visibility 0.4s;
  transition: opacity 0.4s ease, transform 0.4s ease, visibility 0.4s, -webkit-transform 0.4s ease;
}
@media (max-width: 63.9375rem) {
  .c-pagetop {
    right: 2rem;
    bottom: 2rem;
    width: 6.4rem;
  }
}
@media (max-width: 47.9375rem) {
  .c-pagetop {
    right: 0.6rem;
    width: 4.55rem;
    -webkit-filter: drop-shadow(0.2rem 0.2rem 0.1rem rgba(193, 141, 79, 0.5));
            filter: drop-shadow(0.2rem 0.2rem 0.1rem rgba(193, 141, 79, 0.5));
  }
}
.c-pagetop.is-active {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .c-pagetop {
    -webkit-transition: none;
    transition: none;
  }
}
@media (hover: hover) {
  .c-pagetop:hover {
    opacity: 1;
  }
  .c-pagetop:hover .c-pagetop__circle {
    -webkit-transform: translateY(-0.4rem);
            transform: translateY(-0.4rem);
  }
}

.c-pagetop__circle {
  background-color: #F8941F;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.4rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 91.68%;
  aspect-ratio: 74/73;
  margin-left: 3.72%;
  -webkit-transition: -webkit-transform 0.25s ease;
  transition: -webkit-transform 0.25s ease;
  transition: transform 0.25s ease;
  transition: transform 0.25s ease, -webkit-transform 0.25s ease;
}
@media (prefers-reduced-motion: reduce) {
  .c-pagetop__circle {
    -webkit-transition: none;
    transition: none;
  }
}
@media (max-width: 47.9375rem) {
  .c-pagetop__circle {
    position: relative;
    width: 4.4rem;
    aspect-ratio: 1;
    margin-left: 0.15rem;
  }
}

@media (max-width: 47.9375rem) {
  .c-pagetop__circle::after {
    content: "";
    position: absolute;
    top: 3.85rem;
    left: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.855rem 0.723rem 0;
    border-color: #F8941F transparent transparent;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.c-pagetop__icon {
  display: block;
  width: 2.019rem;
  height: 1.154rem;
}
@media (max-width: 63.9375rem) {
  .c-pagetop__icon {
    width: 1.6rem;
    height: 0.915rem;
  }
}
@media (max-width: 47.9375rem) {
  .c-pagetop__icon {
    display: none;
  }
}

.c-pagetop__label {
  color: #FFFFFF;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0;
  text-align: center;
  white-space: nowrap;
}
@media (max-width: 63.9375rem) {
  .c-pagetop__label {
    font-size: 1.3rem;
  }
}
@media (max-width: 47.9375rem) {
  .c-pagetop__label {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.1;
  }
}

.c-pagetop__char {
  display: block;
  width: 100%;
  height: auto;
  margin-top: 6.32%;
}
@media (max-width: 47.9375rem) {
  .c-pagetop__char {
    width: 4.036rem;
    margin: 0.45rem auto 0;
  }
}

/*------------------------------------------------------------------------------
  c-pill-btn
------------------------------------------------------------------------------*/
.c-pill-btn {
  color: #FFFFFF;
  background-color: #F8941F;
  border-radius: calc(var(--pill-btn-u, 1px) * 56);
  -webkit-box-shadow: calc(var(--pill-btn-u, 1px) * 8) calc(var(--pill-btn-u, 1px) * 8) calc(var(--pill-btn-u, 1px) * 4) rgba(193, 141, 79, 0.5);
          box-shadow: calc(var(--pill-btn-u, 1px) * 8) calc(var(--pill-btn-u, 1px) * 8) calc(var(--pill-btn-u, 1px) * 4) rgba(193, 141, 79, 0.5);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: calc(var(--pill-btn-u, 1px) * 8);
  -webkit-transition: background-color 0.25s ease, color 0.25s ease;
  transition: background-color 0.25s ease, color 0.25s ease;
}
@media (hover: hover) {
  .c-pill-btn:hover {
    color: #F8941F;
    background-color: #FFFFFF;
    opacity: 1;
  }
}

.c-pill-btn__inner {
  border-radius: calc(var(--pill-btn-u, 1px) * 48);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(var(--pill-btn-u, 1px) * 8);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: calc(var(--pill-btn-u, 1px) * 24);
}
@media (max-width: 47.9375rem) {
  .c-pill-btn__inner {
    padding: calc(var(--pill-btn-u, 1px) * 8) calc(var(--pill-btn-u, 1px) * 16) calc(var(--pill-btn-u, 1px) * 8) calc(var(--pill-btn-u, 1px) * 32);
  }
}

.c-pill-btn__line {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

@media (max-width: 47.9375rem) {
  .c-pill-btn__line--pc {
    display: none;
  }
}

.c-pill-btn__line--sp {
  display: none;
}
@media (max-width: 47.9375rem) {
  .c-pill-btn__line--sp {
    display: block;
  }
}

.c-pill-btn__text {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: calc(var(--pill-btn-u, 1px) * 32);
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  white-space: nowrap;
  width: calc(var(--pill-btn-u, 1px) * 293);
  min-width: 0;
}
@media (max-width: 47.9375rem) {
  .c-pill-btn__text {
    width: calc(var(--pill-btn-u, 1px) * 283);
  }
}

.c-pill-btn__icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: calc(var(--pill-btn-u, 1px) * 30);
  height: calc(var(--pill-btn-u, 1px) * 30);
}

/*------------------------------------------------------------------------------
  c-ring-text
------------------------------------------------------------------------------*/
.c-ring-text {
  display: block;
  overflow: visible;
  -webkit-animation: cRingTextCcw var(--ring-duration, 90s) linear infinite;
          animation: cRingTextCcw var(--ring-duration, 90s) linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .c-ring-text {
    -webkit-animation: none;
            animation: none;
  }
}

.c-ring-text--cw {
  -webkit-animation-name: cRingTextCw;
          animation-name: cRingTextCw;
}

@-webkit-keyframes cRingTextCcw {
  to {
    -webkit-transform: rotate(-360deg);
            transform: rotate(-360deg);
  }
}

@keyframes cRingTextCcw {
  to {
    -webkit-transform: rotate(-360deg);
            transform: rotate(-360deg);
  }
}
@-webkit-keyframes cRingTextCw {
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes cRingTextCw {
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
.c-ring-text__text {
  fill: var(--ring-color, #F7F09D);
  font-family: "Montserrat", sans-serif;
  font-size: var(--ring-font-size, 173.65px);
  font-weight: 700;
  letter-spacing: var(--ring-spacing, 15.246px);
}

.c-ring-text--outline .c-ring-text__text {
  fill: none;
  stroke: var(--ring-color, #8AC63C);
  stroke-width: var(--ring-stroke, 6px);
}

.c-ring-text--outline .c-ring-text__text--mask {
  fill: #000;
  stroke: none;
}

/*------------------------------------------------------------------------------
  c-skip-link
------------------------------------------------------------------------------*/
.c-skip-link {
  position: absolute;
  top: -5rem;
  left: 0;
  background-color: transparent;
  color: #fff;
  border-radius: 1px;
  padding: 0.8rem 1.2rem;
  z-index: 10000;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  text-decoration: none;
}
.c-skip-link:hover {
  opacity: 0.85;
}
.c-skip-link:focus {
  top: 0.8rem;
  left: 0.8rem;
  outline: 2px solid #F8941F;
  background-color: #333;
  -webkit-box-shadow: 0 0 16px rgba(0, 0, 0, 0.18);
          box-shadow: 0 0 16px rgba(0, 0, 0, 0.18);
}

/*------------------------------------------------------------------------------
  c-submit-btn
------------------------------------------------------------------------------*/
.c-submit-btn {
  color: #FFFFFF;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: max(2.8rem, 15px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
  white-space: nowrap;
  background-color: #8AC63C;
  border: 4px solid #8AC63C;
  border-radius: 5.6rem;
  -webkit-box-shadow: 0.4rem 0.4rem 0.2rem rgba(193, 141, 79, 0.5);
          box-shadow: 0.4rem 0.4rem 0.2rem rgba(193, 141, 79, 0.5);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 3.6rem;
  padding: 2.4rem 4rem;
  -webkit-transition: color 0.25s ease, background-color 0.25s ease;
  transition: color 0.25s ease, background-color 0.25s ease;
  cursor: pointer;
}
@media (hover: hover) {
  .c-submit-btn:hover {
    color: #8AC63C;
    background-color: #FFFFFF;
  }
}
@media (max-width: 63.9375rem) {
  .c-submit-btn {
    font-size: max(2.2rem, 15px);
    gap: 2.4rem;
    padding: 1.8rem 3rem;
  }
}

/* --back
--------------------------------------------- */
.c-submit-btn--back {
  color: #8AC63C;
  background-color: #FFFFFF;
}
@media (hover: hover) {
  .c-submit-btn--back:hover {
    color: #FFFFFF;
    background-color: #8AC63C;
  }
}

.c-submit-btn__arrow {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 3rem;
  height: 1.9rem;
  margin: 0 -0.2rem;
}
@media (max-width: 63.9375rem) {
  .c-submit-btn__arrow {
    width: 2.4rem;
    height: 1.5rem;
    margin: 0 -0.16rem;
  }
}

.c-submit-btn__arrow--back {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}

/*------------------------------------------------------------------------------
  c-title
------------------------------------------------------------------------------*/
.c-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8rem;
}
@media (max-width: 63.9375rem) {
  .c-title {
    gap: 0.6rem;
  }
}
@media (max-width: 47.9375rem) {
  .c-title {
    gap: 0.4rem;
  }
}

.c-title__en {
  color: #F8941F;
  font-family: "Montserrat", sans-serif;
  font-size: max(4rem, 15px);
  font-weight: 600;
  line-height: 1.22;
  letter-spacing: 0;
  text-align: center;
  white-space: nowrap;
  display: block;
  opacity: 0.4;
}
@media (max-width: 75rem) {
  .c-title__en {
    font-size: max(3.4rem, 15px);
  }
}
@media (max-width: 63.9375rem) {
  .c-title__en {
    font-size: max(3rem, 15px);
  }
}
@media (max-width: 47.9375rem) {
  .c-title__en {
    font-size: clamp(2rem, 5.333vw, 3rem);
  }
}

.c-title__ja {
  color: #1375BA;
  font-size: max(6.4rem, 15px);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.05em;
  text-align: center;
  white-space: nowrap;
  -webkit-text-stroke: 0.1875em #FFFFFF;
  paint-order: stroke fill;
}
@media (max-width: 75rem) {
  .c-title__ja {
    font-size: max(5.4rem, 15px);
  }
}
@media (max-width: 63.9375rem) {
  .c-title__ja {
    font-size: max(4.4rem, 15px);
  }
}
@media (max-width: 47.9375rem) {
  .c-title__ja {
    font-size: clamp(3.2rem, 8.533vw, 4.4rem);
  }
}

/* --about
--------------------------------------------- */
.c-title--about .c-title__ja {
  font-size: max(4.8rem, 15px);
  letter-spacing: 0;
  position: relative;
  padding-bottom: 2.2rem;
}
@media (max-width: 75rem) {
  .c-title--about .c-title__ja {
    font-size: max(4rem, 15px);
  }
}
@media (max-width: 63.9375rem) {
  .c-title--about .c-title__ja {
    font-size: max(3.4rem, 15px);
  }
}

.c-title--about .c-title__ja::after {
  content: "";
  background-image: radial-gradient(circle, #F8941F 0.4rem, transparent 0.4rem);
  background-repeat: repeat-x;
  background-position: center;
  background-size: 1.7rem 0.8rem;
  display: block;
  position: absolute;
  right: -1.9rem;
  bottom: 0;
  left: -1.9rem;
  height: 0.8rem;
}
@media (max-width: 63.9375rem) {
  .c-title--about .c-title__ja::after {
    background-image: radial-gradient(circle, #F8941F 0.35rem, transparent 0.35rem);
    background-size: 1.4rem 0.7rem;
    height: 0.7rem;
  }
}

/*------------------------------------------------------------------------------
  c-title02
------------------------------------------------------------------------------*/
.c-title02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(var(--title02-u, 1px) * 8);
}

.c-title02__en {
  color: #F8941F;
  font-family: "Montserrat", sans-serif;
  font-size: calc(var(--title02-u, 1px) * 128);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  display: block;
  opacity: 0.4;
}
@media (max-width: 47.9375rem) {
  .c-title02__en {
    font-size: calc(var(--title02-u, 1px) * 40);
    line-height: 1.225;
  }
}

.c-title02__ja {
  color: #1375BA;
  font-size: calc(var(--title02-u, 1px) * 64);
  font-weight: 700;
  line-height: 1.4531;
  letter-spacing: 0.05em;
  text-align: center;
  white-space: nowrap;
  -webkit-text-stroke: 0.1875em #FFFFFF;
  paint-order: stroke fill;
}

/* --sm
--------------------------------------------- */
@media (max-width: 47.9375rem) {
  .c-title02--sm .c-title02__ja {
    font-size: calc(var(--title02-u, 1px) * 48);
    line-height: 1.2083;
    letter-spacing: 0;
  }
}

/* --white
--------------------------------------------- */
.c-title02--white .c-title02__en {
  color: #FFFFFF;
  opacity: 1;
}

/*------------------------------------------------------------------------------
  c-work-card
------------------------------------------------------------------------------*/
.c-work-card {
  background-color: #fff;
  border-radius: 1.6rem;
  -webkit-box-shadow: 0.8rem 0.8rem 0.4rem rgba(193, 141, 79, 0.5);
          box-shadow: 0.8rem 0.8rem 0.4rem rgba(193, 141, 79, 0.5);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.4rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-height: 61.2rem;
  padding: 2.4rem 1.6rem 3.2rem;
}
@media (max-width: 63.9375rem) {
  .c-work-card {
    min-height: 0;
    padding: 2rem 1.2rem 2.4rem;
  }
}
@media (max-width: 47.9375rem) {
  .c-work-card {
    gap: 0.2rem;
    border-radius: 0.8rem;
    -webkit-box-shadow: 0.4rem 0.4rem 0.2rem rgba(193, 141, 79, 0.5);
            box-shadow: 0.4rem 0.4rem 0.2rem rgba(193, 141, 79, 0.5);
    padding: 1.2rem 0.8rem 2rem;
  }
}

.c-work-card__num {
  color: #8AC63C;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: max(6.4rem, 15px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  height: 6.4rem;
}
@media (max-width: 75rem) {
  .c-work-card__num {
    font-size: max(5.4rem, 15px);
    height: 5.4rem;
  }
}
@media (max-width: 63.9375rem) {
  .c-work-card__num {
    font-size: max(4.4rem, 15px);
    height: 4.4rem;
  }
}
@media (max-width: 47.9375rem) {
  .c-work-card__num {
    font-size: clamp(3.2rem, 8.533vw, 4.4rem);
    height: 1em;
  }
}

.c-work-card__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.6rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  max-width: 35.2rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media (max-width: 47.9375rem) {
  .c-work-card__body {
    gap: 1.2rem;
    max-width: none;
  }
}

.c-work-card__img {
  display: block;
  width: 29.9rem;
  max-width: 100%;
  height: auto;
}
@media (max-width: 47.9375rem) {
  .c-work-card__img {
    width: clamp(14.95rem, 39.867vw, 29.9rem);
  }
}

.c-work-card__title {
  color: #F8941F;
  font-size: max(3.6rem, 15px);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.05em;
  text-align: center;
}
@media (max-width: 75rem) {
  .c-work-card__title {
    font-size: max(3rem, 15px);
  }
}
@media (max-width: 63.9375rem) {
  .c-work-card__title {
    font-size: max(2.6rem, 15px);
  }
}
@media (max-width: 47.9375rem) {
  .c-work-card__title {
    font-size: clamp(1.8rem, 4.8vw, 2.6rem);
    line-height: 1.2778;
  }
}

.c-work-card__foot {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.6rem;
  width: 100%;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media (max-width: 47.9375rem) {
  .c-work-card__foot {
    gap: 1.2rem;
  }
}

.c-work-card__text {
  font-size: max(2rem, 15px);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 11.6rem;
  padding: 0 1.6rem;
  overflow: hidden;
}
@media (max-width: 85.375rem) {
  .c-work-card__text {
    height: auto;
    min-height: 11.6rem;
    overflow: visible;
  }
}
@media (max-width: 75rem) {
  .c-work-card__text {
    font-size: max(1.8rem, 15px);
    height: auto;
    min-height: 10.44rem;
    overflow: visible;
  }
}
@media (max-width: 63.9375rem) {
  .c-work-card__text {
    font-size: max(1.6rem, 15px);
    min-height: 0;
    padding: 0;
  }
}
@media (max-width: 47.9375rem) {
  .c-work-card__text {
    line-height: 1.4375;
    padding: 0 0.8rem;
  }
}

.c-work-card .c-detail-btn {
  margin-top: auto;
}

/*------------------------------------------------------------------------------
  p-mv
------------------------------------------------------------------------------*/
/* SP の FV
--------------------------------------------- */
.p-mv {
  --mv-u: calc(min(var(--viewport-width), 192rem) / 1920 * var(--zoom));
  position: relative;
  width: 100%;
  height: calc(var(--mv-u) * 1376);
  overflow: hidden;
  margin-bottom: 7rem;
}
@media (max-width: 63.9375rem) {
  .p-mv {
    --mv-u: calc(min(var(--viewport-width), 192rem) / 1920);
  }
}
@media (max-width: 47.9375rem) {
  .p-mv {
    --mv-u: max(var(--sp-u-320), calc(var(--viewport-width) / 750));
    height: calc(var(--mv-u) * 1514);
    margin-bottom: calc(var(--mv-u) * -25);
  }
}

.p-mv__stage {
  position: relative;
  width: calc(var(--mv-u) * 1920);
  height: 100%;
  margin: 0 auto;
}
@media (max-width: 47.9375rem) {
  .p-mv__stage {
    width: calc(var(--mv-u) * 750);
  }
}

.p-mv__bg {
  position: absolute;
  top: calc(var(--mv-u) * -323.06);
  left: calc(var(--mv-u) * -441);
  z-index: -1;
  width: max(var(--mv-u) * 2620.54, var(--viewport-width) / 2 + var(--mv-u) * 1660.54);
  height: auto;
  max-width: none;
}
@media (max-width: 97.5rem) {
  .p-mv__bg {
    width: max(var(--mv-u) * 2620.54, var(--viewport-width) * 1.03);
  }
}
@media (max-width: 47.9375rem) {
  .p-mv__bg {
    top: calc(var(--mv-u) * -143);
    top: calc(var(--mv-u) * -137);
    left: calc(var(--mv-u) * -162);
    width: calc(var(--mv-u) * 1056.67);
  }
}

.p-mv__lead {
  position: absolute;
  top: calc(var(--mv-u) * 165.49);
  left: calc(var(--mv-u) * 119);
  z-index: 2;
  width: calc(var(--mv-u) * 919);
  opacity: 0;
  -webkit-transform: translateY(2rem);
          transform: translateY(2rem);
  -webkit-transition: opacity 0.8s ease-out 0.1s, -webkit-transform 0.8s ease-out 0.1s;
  transition: opacity 0.8s ease-out 0.1s, -webkit-transform 0.8s ease-out 0.1s;
  transition: opacity 0.8s ease-out 0.1s, transform 0.8s ease-out 0.1s;
  transition: opacity 0.8s ease-out 0.1s, transform 0.8s ease-out 0.1s, -webkit-transform 0.8s ease-out 0.1s;
}
@media (prefers-reduced-motion: reduce) {
  .p-mv__lead {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
  }
}
@media (max-width: 47.9375rem) {
  .p-mv__lead {
    top: calc(var(--mv-u) * 193.55);
    left: calc(var(--mv-u) * 27);
    width: calc(var(--mv-u) * 361.3);
  }
}

.is-loaded .p-mv__lead {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.p-mv__lead img {
  width: 100%;
  height: auto;
}

/* FV の黄色い面（SP のみ）
--------------------------------------------- */
.p-mv__wave {
  position: absolute;
  top: calc(var(--mv-u) * 561);
  left: calc(var(--mv-u) * -12);
  z-index: 0;
  width: calc(var(--mv-u) * 774);
  height: auto;
  max-width: none;
}

/* 「解体工事事業部」（SP のみ）
--------------------------------------------- */
.p-mv__catch {
  position: absolute;
  top: calc(var(--mv-u) * 700);
  left: calc(var(--mv-u) * 32.8);
  z-index: 3;
  width: calc(var(--mv-u) * 485.5);
  height: auto;
  max-width: none;
  opacity: 0;
  -webkit-transform: translateY(2rem);
          transform: translateY(2rem);
  -webkit-transition: opacity 0.8s ease-out 0.7s, -webkit-transform 0.8s ease-out 0.7s;
  transition: opacity 0.8s ease-out 0.7s, -webkit-transform 0.8s ease-out 0.7s;
  transition: opacity 0.8s ease-out 0.7s, transform 0.8s ease-out 0.7s;
  transition: opacity 0.8s ease-out 0.7s, transform 0.8s ease-out 0.7s, -webkit-transform 0.8s ease-out 0.7s;
}
@media (prefers-reduced-motion: reduce) {
  .p-mv__catch {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
  }
}

.is-loaded .p-mv__catch {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/* 吹き出しから離れて置かれるかいたん（SP のみ）
--------------------------------------------- */
.p-mv__char-sub {
  position: absolute;
  top: calc(var(--mv-u) * 493);
  left: calc(var(--mv-u) * 59.62);
  z-index: 1;
  width: calc(var(--mv-u) * 190.62);
  height: auto;
  max-width: none;
  rotate: -8.48deg;
  opacity: 0;
  -webkit-transform: translateY(2rem);
          transform: translateY(2rem);
  -webkit-transition: opacity 0.8s ease-out 0.3s, -webkit-transform 0.8s ease-out 0.3s;
  transition: opacity 0.8s ease-out 0.3s, -webkit-transform 0.8s ease-out 0.3s;
  transition: opacity 0.8s ease-out 0.3s, transform 0.8s ease-out 0.3s;
  transition: opacity 0.8s ease-out 0.3s, transform 0.8s ease-out 0.3s, -webkit-transform 0.8s ease-out 0.3s;
}
@media (prefers-reduced-motion: reduce) {
  .p-mv__char-sub {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
  }
}

.is-loaded .p-mv__char-sub {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.p-mv__character {
  position: absolute;
  top: calc(var(--mv-u) * 141);
  left: calc(var(--mv-u) * 992.87);
  z-index: 1;
  width: calc(var(--mv-u) * 759.35);
  height: auto;
  max-width: none;
  opacity: 0;
  -webkit-transform: translateY(2rem);
          transform: translateY(2rem);
  -webkit-transition: opacity 0.8s ease-out 0.3s, -webkit-transform 0.8s ease-out 0.3s;
  transition: opacity 0.8s ease-out 0.3s, -webkit-transform 0.8s ease-out 0.3s;
  transition: opacity 0.8s ease-out 0.3s, transform 0.8s ease-out 0.3s;
  transition: opacity 0.8s ease-out 0.3s, transform 0.8s ease-out 0.3s, -webkit-transform 0.8s ease-out 0.3s;
}
@media (prefers-reduced-motion: reduce) {
  .p-mv__character {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
  }
}
@media (max-width: 47.9375rem) {
  .p-mv__character {
    top: calc(var(--mv-u) * 150.5);
    left: calc(var(--mv-u) * 352.35);
    z-index: 2;
    width: calc(var(--mv-u) * 396.5);
  }
}

.is-loaded .p-mv__character {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.p-mv__copyright {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: calc(var(--mv-u) * 20);
  font-weight: 500;
  line-height: 1.5;
  text-align: right;
  white-space: nowrap;
  position: absolute;
  top: calc(var(--mv-u) * 967);
  right: calc(var(--mv-u) * 206);
  z-index: 1;
  opacity: 0;
  -webkit-transform: translateY(2rem);
          transform: translateY(2rem);
  -webkit-transition: opacity 0.8s ease-out 0.3s, -webkit-transform 0.8s ease-out 0.3s;
  transition: opacity 0.8s ease-out 0.3s, -webkit-transform 0.8s ease-out 0.3s;
  transition: opacity 0.8s ease-out 0.3s, transform 0.8s ease-out 0.3s;
  transition: opacity 0.8s ease-out 0.3s, transform 0.8s ease-out 0.3s, -webkit-transform 0.8s ease-out 0.3s;
}
@media (prefers-reduced-motion: reduce) {
  .p-mv__copyright {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
  }
}
@media (max-width: 47.9375rem) {
  .p-mv__copyright {
    font-size: max(1.2rem, var(--mv-u) * 18);
    top: calc(var(--mv-u) * 626);
    right: calc(var(--mv-u) * 16 + max(0px, var(--mv-u) * 750 - var(--viewport-width)));
  }
}

.is-loaded .p-mv__copyright {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.p-mv__text {
  position: absolute;
  top: calc(var(--mv-u) * 353);
  left: calc(var(--mv-u) * 1033);
  z-index: 2;
  width: calc(var(--mv-u) * 53);
  height: auto;
  max-width: none;
  opacity: 0;
  -webkit-transform: translateY(2rem);
          transform: translateY(2rem);
  -webkit-transition: opacity 0.8s ease-out 0.5s, -webkit-transform 0.8s ease-out 0.5s;
  transition: opacity 0.8s ease-out 0.5s, -webkit-transform 0.8s ease-out 0.5s;
  transition: opacity 0.8s ease-out 0.5s, transform 0.8s ease-out 0.5s;
  transition: opacity 0.8s ease-out 0.5s, transform 0.8s ease-out 0.5s, -webkit-transform 0.8s ease-out 0.5s;
}
@media (prefers-reduced-motion: reduce) {
  .p-mv__text {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
  }
}
@media (max-width: 47.9375rem) {
  .p-mv__text {
    top: calc(var(--mv-u) * 245);
    left: calc(var(--mv-u) * 377);
    z-index: 5;
    width: calc(var(--mv-u) * 26);
  }
}

.is-loaded .p-mv__text {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/* 吹き出し
--------------------------------------------- */
.p-mv__balloon {
  position: absolute;
  top: calc(var(--mv-u) * 806.05);
  left: calc(var(--mv-u) * 667.53);
  z-index: 5;
  width: calc(var(--mv-u) * 584.07);
  height: calc(var(--mv-u) * 276.6);
  -webkit-animation: mvBalloonFloat 2s ease-in-out infinite;
          animation: mvBalloonFloat 2s ease-in-out infinite;
  opacity: 0;
  -webkit-transition: opacity 0.8s ease-out 0.3s;
  transition: opacity 0.8s ease-out 0.3s;
}
@media (prefers-reduced-motion: reduce) {
  .p-mv__balloon {
    -webkit-animation: none;
            animation: none;
    opacity: 1;
    -webkit-transition: none;
    transition: none;
  }
}
@media (max-width: 47.9375rem) {
  .p-mv__balloon {
    -webkit-animation-name: mvBalloonFloatSp;
            animation-name: mvBalloonFloatSp;
    top: calc(var(--mv-u) * 707);
    left: calc(var(--mv-u) * 87);
    z-index: 3;
    width: calc(var(--mv-u) * 577.56);
    height: calc(var(--mv-u) * 319.45);
  }
}

@-webkit-keyframes mvBalloonFloat {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-1.4rem);
            transform: translateY(-1.4rem);
  }
}

@keyframes mvBalloonFloat {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-1.4rem);
            transform: translateY(-1.4rem);
  }
}
@-webkit-keyframes mvBalloonFloatSp {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(calc(var(--mv-u) * -14));
            transform: translateY(calc(var(--mv-u) * -14));
  }
}
@keyframes mvBalloonFloatSp {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(calc(var(--mv-u) * -14));
            transform: translateY(calc(var(--mv-u) * -14));
  }
}
.p-mv__balloon-icon {
  position: absolute;
  top: 0;
  left: calc(var(--mv-u) * 7.49);
  z-index: 1;
  width: calc(var(--mv-u) * 135.95);
  height: auto;
  max-width: none;
}

.p-mv__balloon-bg {
  position: absolute;
  top: calc(var(--mv-u) * 88.19);
  left: 0;
  width: 100%;
  height: auto;
}
@media (max-width: 47.9375rem) {
  .p-mv__balloon-bg {
    top: calc(var(--mv-u) * 150.5);
    left: calc(var(--mv-u) * -3.25);
    width: calc(var(--mv-u) * 584.07);
  }
}

.p-mv__balloon-text {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(var(--mv-u) * 4);
  position: absolute;
  top: calc(var(--mv-u) * 115.95);
  left: calc(var(--mv-u) * 45.47);
  z-index: 2;
  width: calc(var(--mv-u) * 493);
}
@media (max-width: 47.9375rem) {
  .p-mv__balloon-text {
    top: calc(var(--mv-u) * 177.91);
    left: calc(var(--mv-u) * 48);
    width: calc(var(--mv-u) * 480);
  }
}

.p-mv__balloon-line {
  font-size: calc(var(--mv-u) * 32);
  white-space: nowrap;
  display: block;
}

.p-mv__balloon-line--blue {
  color: #1375BA;
}

.p-mv__balloon-sm {
  font-size: calc(var(--mv-u) * 24);
}
@media (max-width: 47.9375rem) {
  .p-mv__balloon-sm {
    font-size: inherit;
  }
}

/* 吹き出しの右上に乗るキャラ（SP のみ）
--------------------------------------------- */
.p-mv__balloon-char {
  position: absolute;
  top: calc(var(--mv-u) * 5.91);
  left: calc(var(--mv-u) * 409);
  z-index: 3;
  width: calc(var(--mv-u) * 144.42);
  height: auto;
  max-width: none;
  -webkit-transform: rotate(4.32deg);
          transform: rotate(4.32deg);
}

/* 工事内容へのアンカー6つ
--------------------------------------------- */
.p-mv__nav {
  --frame-nav-w: min(calc(var(--mv-u) * 1200), 120rem);
  position: absolute;
  top: calc(var(--mv-u) * 1060);
  left: calc(var(--mv-u) * 963.5);
  z-index: 4;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media (max-width: 47.9375rem) {
  .p-mv__nav {
    --frame-nav-w: calc(var(--mv-u) * 678);
    top: calc(var(--mv-u) * 1046);
    left: calc(var(--mv-u) * 32);
    -webkit-transform: none;
            transform: none;
  }
}

.p-mv__nav {
  opacity: 0;
  -webkit-transition: opacity 0.8s ease-out 0.5s;
  transition: opacity 0.8s ease-out 0.5s;
}
@media (prefers-reduced-motion: reduce) {
  .p-mv__nav {
    opacity: 1;
    -webkit-transition: none;
    transition: none;
  }
}

.is-loaded .p-mv__balloon,
.is-loaded .p-mv__nav {
  opacity: 1;
}

/*------------------------------------------------------------------------------
  p-about
------------------------------------------------------------------------------*/
.p-about {
  padding-bottom: 21.3rem;
}
@media (max-width: 47.9375rem) {
  .p-about {
    --about-u: max(var(--sp-u-320), calc(var(--viewport-width) / 750));
    position: relative;
    padding-bottom: calc(var(--about-u) * 180);
  }
}

@media (max-width: 47.9375rem) {
  .p-about::before {
    content: "";
    background-color: #F7F09D;
    position: absolute;
    top: calc(var(--about-u) * -161);
    right: 0;
    bottom: calc(var(--about-u) * 99);
    left: 0;
  }
}

@media (max-width: 47.9375rem) {
  .p-about__wave {
    position: absolute;
    bottom: 0;
    left: calc(var(--about-u) * -12);
    width: calc(var(--about-u) * 774);
    height: auto;
    max-width: none;
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
}

/* 雲＋見出し＋3カード
--------------------------------------------- */
.p-about__intro {
  --about-u: calc(min(calc(var(--viewport-width) - 6.4rem), 156rem) / 1560);
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: min(100% - 3.2rem, 156rem);
  margin: 0 auto;
}
@media (max-width: 47.9375rem) {
  .p-about__intro {
    --about-u: max(var(--sp-u-320), calc(var(--viewport-width) / 750));
    width: 100%;
    padding-bottom: calc(var(--about-u) * 165);
  }
}

/* SP の白い面
--------------------------------------------- */
@media (max-width: 47.9375rem) {
  .p-about__intro::before,
  .p-about__intro::after {
    content: "";
    background-image: url("../img/illust_cloud_sp.png");
    background-repeat: no-repeat;
    background-size: 100% auto;
    position: absolute;
    right: 0;
    left: 0;
    z-index: 0;
  }
}

@media (max-width: 47.9375rem) {
  .p-about__intro::before {
    background-position: center top;
    top: 0;
    height: calc(var(--about-u) * 190);
  }
}

@media (max-width: 47.9375rem) {
  .p-about__intro::after {
    background-position: center bottom;
    bottom: 0;
    height: calc(var(--about-u) * 110);
  }
}

.p-about__panel {
  background-color: #FFFAE6;
  border-radius: 3.2rem;
  position: absolute;
  top: 21.6rem;
  right: 0;
  bottom: -3.4rem;
  left: 0;
  z-index: 0;
}
@media (max-width: 64rem) {
  .p-about__panel {
    border-radius: 0;
    right: -3.2rem;
    left: -3.2rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-about__panel {
    background-color: #fff;
    border-radius: 0;
    top: calc(var(--about-u) * 190);
    right: 0;
    bottom: calc(var(--about-u) * 110);
    left: 0;
  }
}

.p-about__head {
  position: relative;
  z-index: 1;
}
@media (max-width: 47.9375rem) {
  .p-about__head {
    padding-top: calc(var(--about-u) * 235);
  }
}

.p-about__cloud {
  display: block;
  width: 84.31%;
  height: auto;
  margin: 0 auto;
}
@media (max-width: 47.9375rem) {
  .p-about__cloud {
    display: none;
  }
}

.p-about__title {
  gap: calc(var(--about-u) * 8);
  position: absolute;
  top: calc(var(--about-u) * 117);
  left: 50%;
  width: calc(var(--about-u) * 735);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media (max-width: 47.9375rem) {
  .p-about__title {
    gap: calc(var(--about-u) * 8);
    position: static;
    width: auto;
    -webkit-transform: none;
            transform: none;
  }
}

.p-about__title .c-title__en {
  font-size: calc(var(--about-u) * 40);
  padding: calc(var(--about-u) * 10);
}
@media (max-width: 47.9375rem) {
  .p-about__title .c-title__en {
    font-size: clamp(2rem, 5.333vw, 3rem);
    padding: 0.5rem;
  }
}

.p-about__title .c-title__ja {
  font-size: calc(var(--about-u) * 48);
  padding-bottom: calc(var(--about-u) * 22);
}
@media (max-width: 47.9375rem) {
  .p-about__title .c-title__ja {
    font-size: clamp(1.8rem, 4.8vw, 3.4rem);
    letter-spacing: 0.05em;
    -webkit-text-stroke: 0;
    padding-bottom: calc(var(--about-u) * 18);
  }
}

.p-about__title .c-title__ja::after {
  background-image: radial-gradient(circle, #F8941F calc(var(--about-u) * 4), transparent calc(var(--about-u) * 4));
  background-size: calc(var(--about-u) * 17) calc(var(--about-u) * 8);
  right: calc(var(--about-u) * -19);
  left: calc(var(--about-u) * -19);
  height: calc(var(--about-u) * 8);
}
@media (max-width: 47.9375rem) {
  .p-about__title .c-title__ja::after {
    background-image: radial-gradient(circle, #F8941F calc(var(--about-u) * 4), transparent calc(var(--about-u) * 4));
    background-size: calc(var(--about-u) * 17) calc(var(--about-u) * 8);
    display: block;
    right: calc(var(--about-u) * -5);
    bottom: calc(var(--about-u) * 6);
    left: calc(var(--about-u) * -5);
    height: calc(var(--about-u) * 8);
  }
}

.p-about__desc {
  font-size: calc(var(--about-u) * 32);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
  white-space: nowrap;
  text-align: center;
  position: absolute;
  top: calc(var(--about-u) * 304);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media (max-width: 47.9375rem) {
  .p-about__desc {
    font-size: clamp(1.6rem, 4.267vw, 2.1rem);
    line-height: 1.4375;
    letter-spacing: 0;
    white-space: normal;
    text-align: left;
    position: static;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: min(var(--about-u) * 600, 27.25em);
    -webkit-transform: none;
            transform: none;
    margin: calc(var(--about-u) * 40) auto 0;
  }
}
@media (max-width: 44.9375rem) {
  .p-about__desc {
    max-width: min(var(--about-u) * 600, 22.25em);
  }
}
@media (max-width: 37.4375rem) {
  .p-about__desc {
    max-width: min(var(--about-u) * 600, 16.25em);
  }
}

.p-about__head-char {
  position: absolute;
  height: auto;
}

.p-about__head-char--left {
  top: calc(var(--about-u) * 122);
  left: 17.95%;
  width: 6.73%;
}
@media (max-width: 47.9375rem) {
  .p-about__head-char--left {
    top: calc(var(--about-u) * 135);
    left: calc(var(--about-u) * 567);
    width: calc(var(--about-u) * 105);
  }
}

.p-about__head-char--right {
  top: calc(var(--about-u) * 87);
  left: 73.97%;
  width: 8.27%;
}
@media (max-width: 47.9375rem) {
  .p-about__head-char--right {
    top: calc(var(--about-u) * 95);
    left: calc(var(--about-u) * 87);
    width: calc(var(--about-u) * 129);
  }
}

.p-about__cards {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 10.5rem 1fr 10.5rem 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 10.5rem;
  position: relative;
  z-index: 1;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: min(100%, 124rem, 90vw);
  padding: 0 2rem;
  margin: -1.15rem auto 0;
}
@media (max-width: 75rem) {
  .p-about__cards {
    gap: 5rem;
  }
}
@media (max-width: 63.9375rem) {
  .p-about__cards {
    gap: 3rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-about__cards {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: calc(var(--about-u) * 40);
    width: calc(var(--about-u) * 600);
    padding: 0;
    margin: calc(var(--about-u) * 62) auto 0;
  }
}

.p-about__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.6rem;
}
@media (max-width: 47.9375rem) {
  .p-about__card {
    background-color: #FFFAE6;
    border-radius: calc(var(--about-u) * 16);
    -webkit-box-shadow: calc(var(--about-u) * 8) calc(var(--about-u) * 8) calc(var(--about-u) * 4) rgba(193, 141, 79, 0.5);
            box-shadow: calc(var(--about-u) * 8) calc(var(--about-u) * 8) calc(var(--about-u) * 4) rgba(193, 141, 79, 0.5);
    gap: calc(var(--about-u) * 24);
    padding: calc(var(--about-u) * 32) 0;
  }
}

.p-about__card-img {
  width: 31.8rem;
  max-width: 100%;
  height: auto;
}
@media (max-width: 47.9375rem) {
  .p-about__card-img {
    width: calc(var(--about-u) * 390);
  }
}

.p-about__card-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.6rem;
  width: 100%;
}
@media (max-width: 47.9375rem) {
  .p-about__card-body {
    gap: calc(var(--about-u) * 24);
    width: calc(var(--about-u) * 390);
  }
}

.p-about__card-label {
  color: #fff;
  font-size: max(3.6rem, 15px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.05em;
  text-align: center;
  background-color: #F8941F;
  border-radius: 3.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  min-height: 10rem;
  padding: 0.8rem 1.6rem;
}
@media (max-width: 75rem) {
  .p-about__card-label {
    font-size: max(3rem, 15px);
    min-height: 8.4rem;
  }
}
@media (max-width: 63.9375rem) {
  .p-about__card-label {
    font-size: max(2.4rem, 15px);
    border-radius: 2.4rem;
    min-height: 7rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-about__card-label {
    font-size: clamp(2rem, 5.333vw, 2.4rem);
    line-height: 1.1;
    letter-spacing: 0.05em;
    border-radius: calc(var(--about-u) * 32);
    min-height: calc(var(--about-u) * 100);
    padding: 0 calc(var(--about-u) * 16);
  }
}

.p-about__card-text {
  color: #1375BA;
  font-size: max(2.4rem, 15px);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0;
  text-align: center;
  width: 100%;
}
@media (max-width: 75rem) {
  .p-about__card-text {
    font-size: max(2rem, 15px);
  }
}
@media (max-width: 63.9375rem) {
  .p-about__card-text {
    font-size: max(1.7rem, 15px);
  }
}
@media (max-width: 47.9375rem) {
  .p-about__card-text {
    font-size: clamp(1.6rem, 4.267vw, 2.1rem);
    line-height: 1.4375;
    width: calc(var(--about-u) * 390);
    max-width: none;
  }
}

/* 破線バナー
--------------------------------------------- */
.p-about__banner {
  --banner-u: calc(min(calc(var(--viewport-width) - 3.2rem), 188.8rem) / 1888);
  background-color: #fff;
  border-radius: 1.6rem;
  -webkit-box-shadow: 0.8rem 0.8rem 0.4rem rgba(193, 141, 79, 0.5);
          box-shadow: 0.8rem 0.8rem 0.4rem rgba(193, 141, 79, 0.5);
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: min(100% - 3.2rem, 188.8rem);
  padding: 1.6rem;
  margin: 14rem auto 0;
}
@media (max-width: 63.9375rem) {
  .p-about__banner {
    margin-top: 10rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-about__banner {
    border-radius: calc(var(--about-u) * 16);
    -webkit-box-shadow: none;
            box-shadow: none;
    width: calc(var(--about-u) * 686);
    padding: calc(var(--about-u) * 12) calc(var(--about-u) * 16);
    margin: calc(var(--about-u) * 63) auto 0;
  }
}

.p-about__banner-inner {
  background-image: url("../img/dash_h.svg"), url("../img/dash_h.svg"), url("../img/dash_v.svg"), url("../img/dash_v.svg");
  background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
  background-position: 0 0, 0 100%, 0 0, 100% 0;
  background-size: 2.4rem 0.4rem, 2.4rem 0.4rem, 0.4rem 2.4rem, 0.4rem 2.4rem;
  border-radius: 1.6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-height: calc(var(--banner-u) * 330);
  padding: calc(var(--banner-u) * 56) calc(var(--banner-u) * 258) calc(var(--banner-u) * 56) calc(var(--banner-u) * 120);
}
@media (max-width: 47.9375rem) {
  .p-about__banner-inner {
    background-size: calc(var(--about-u) * 24) calc(var(--about-u) * 4), calc(var(--about-u) * 24) calc(var(--about-u) * 4), calc(var(--about-u) * 4) calc(var(--about-u) * 24), calc(var(--about-u) * 4) calc(var(--about-u) * 24);
    border-radius: calc(var(--about-u) * 16);
    min-height: calc(var(--about-u) * 338);
    padding: calc(var(--about-u) * 24) calc(var(--about-u) * 16);
  }
}

.p-about__banner-text {
  color: #F8941F;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: calc(var(--banner-u) * 40);
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: 0.05em;
  text-align: center;
  white-space: nowrap;
  position: relative;
}
@media (max-width: 47.9375rem) {
  .p-about__banner-text {
    font-size: clamp(1.6rem, 4.267vw, 2.1rem);
    line-height: 1.5;
    letter-spacing: 0;
  }
}

.p-about__banner-slash {
  display: block;
  position: absolute;
  top: 48.0155%;
  width: 7.7031%;
  height: auto;
  -webkit-transform: rotate(50.58deg);
          transform: rotate(50.58deg);
}
@media (max-width: 47.9375rem) {
  .p-about__banner-slash {
    display: none;
  }
}

.p-about__banner-slash--l {
  left: 13.8014%;
}

.p-about__banner-slash--r {
  left: 70.3946%;
  -webkit-transform: scaleX(-1) rotate(50.58deg);
          transform: scaleX(-1) rotate(50.58deg);
}

.p-about__banner-char {
  position: absolute;
  height: auto;
  top: 29.3536%;
  left: 77.8072%;
  width: 7.2034%;
}
@media (max-width: 47.9375rem) {
  .p-about__banner-char {
    top: auto;
    bottom: calc(var(--about-u) * 38);
    left: calc(var(--about-u) * 534);
    width: calc(var(--about-u) * 104);
  }
}

/* 許可・保有資格
--------------------------------------------- */
.p-about__qual {
  background-color: #FFFAE6;
  border-radius: 1.6rem;
  -webkit-box-shadow: 0.8rem 0.8rem 0.4rem rgba(193, 141, 79, 0.5);
          box-shadow: 0.8rem 0.8rem 0.4rem rgba(193, 141, 79, 0.5);
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: min(100% - 6.4rem, 120rem, 90vw);
  padding: 2.6rem 1.6rem 1.6rem;
  margin: 14rem auto 0;
}
@media (max-width: 63.9375rem) {
  .p-about__qual {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: min(100% - 6.4rem, 90vw);
    margin-top: 10rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-about__qual {
    border-radius: calc(var(--about-u) * 16);
    -webkit-box-shadow: calc(var(--about-u) * 8) calc(var(--about-u) * 8) calc(var(--about-u) * 4) rgba(193, 141, 79, 0.5);
            box-shadow: calc(var(--about-u) * 8) calc(var(--about-u) * 8) calc(var(--about-u) * 4) rgba(193, 141, 79, 0.5);
    width: calc(var(--about-u) * 686);
    max-width: none;
    padding: calc(var(--about-u) * 32) calc(var(--about-u) * 29) calc(var(--about-u) * 64);
    margin: calc(var(--about-u) * 80) auto 0;
  }
}

.p-about__qual-title {
  color: #49B745;
  font-size: max(3.6rem, 15px);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.05em;
  text-align: center;
}
@media (max-width: 75rem) {
  .p-about__qual-title {
    font-size: max(3rem, 15px);
  }
}
@media (max-width: 63.9375rem) {
  .p-about__qual-title {
    font-size: max(2.6rem, 15px);
  }
}
@media (max-width: 47.9375rem) {
  .p-about__qual-title {
    font-size: clamp(1.8rem, 4.8vw, 2.6rem);
  }
}

.p-about__qual-boxes {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.6rem;
  margin-top: 1.9rem;
}
@media (max-width: 63.9375rem) {
  .p-about__qual-boxes {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media (max-width: 47.9375rem) {
  .p-about__qual-boxes {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    gap: calc(var(--about-u) * 32);
    margin-top: calc(var(--about-u) * 28);
  }
}

.p-about__qual-box {
  background-color: #fff;
  border-radius: 1.6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1.2rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-height: 30rem;
  padding: 1.9rem 3.8rem;
}
@media (max-width: 75rem) {
  .p-about__qual-box {
    padding: 1.9rem 2.4rem;
  }
}
@media (max-width: 63.9375rem) {
  .p-about__qual-box {
    position: relative;
    min-height: 0;
    padding: 1.9rem 2.4rem 2.4rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-about__qual-box {
    border-radius: calc(var(--about-u) * 16);
    gap: calc(var(--about-u) * 16);
    padding: calc(var(--about-u) * 24) calc(var(--about-u) * 32);
  }
}

.p-about__qual-box--license {
  width: 41.6rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (max-width: 75rem) {
  .p-about__qual-box--license {
    width: 36rem;
  }
}
@media (max-width: 63.9375rem) {
  .p-about__qual-box--license {
    width: 100%;
    max-width: 46rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-about__qual-box--license {
    width: 100%;
    max-width: none;
  }
}

.p-about__qual-box--cert {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 73.2rem;
  padding-right: 2.1rem;
  padding-left: 2.7rem;
}
@media (max-width: 75rem) {
  .p-about__qual-box--cert {
    width: auto;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
@media (max-width: 63.9375rem) {
  .p-about__qual-box--cert {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    width: 100%;
    max-width: 46rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-about__qual-box--cert {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    width: 100%;
    max-width: none;
    padding-right: calc(var(--about-u) * 32);
    padding-left: calc(var(--about-u) * 32);
  }
}

.p-about__qual-label {
  font-size: max(2.8rem, 15px);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0;
  text-align: center;
  white-space: nowrap;
  background-color: #F7F09D;
  border-radius: 8rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0.8rem 2.4rem;
}
@media (max-width: 75rem) {
  .p-about__qual-label {
    font-size: max(2.3rem, 15px);
  }
}
@media (max-width: 63.9375rem) {
  .p-about__qual-label {
    -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center;
    font-size: max(2rem, 15px);
  }
}
@media (max-width: 47.9375rem) {
  .p-about__qual-label {
    border-radius: calc(var(--about-u) * 80);
    font-size: clamp(1.6rem, 4.267vw, 2.3rem);
    line-height: 1.4375;
    padding: calc(var(--about-u) * 8) calc(var(--about-u) * 24);
  }
}

.p-about__qual-box--license .p-about__qual-label {
  width: 100%;
}
@media (max-width: 63.9375rem) {
  .p-about__qual-box--license .p-about__qual-label {
    width: auto;
  }
}
@media (max-width: 47.9375rem) {
  .p-about__qual-box--license .p-about__qual-label {
    width: calc(var(--about-u) * 382);
    min-width: -webkit-fit-content;
    min-width: -moz-fit-content;
    min-width: fit-content;
  }
}

.p-about__qual-cols {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.2rem;
  width: 100%;
}
@media (max-width: 63.9375rem) {
  .p-about__qual-cols {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
}
@media (max-width: 47.9375rem) {
  .p-about__qual-cols {
    gap: calc(var(--about-u) * 32);
  }
}

.p-about__qual-list {
  font-size: max(2.4rem, 15px);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0;
}
@media (max-width: 75rem) {
  .p-about__qual-list {
    font-size: max(2rem, 15px);
  }
}
@media (max-width: 63.9375rem) {
  .p-about__qual-list {
    font-size: max(1.7rem, 15px);
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
@media (max-width: 47.9375rem) {
  .p-about__qual-list {
    font-size: clamp(1.6rem, 4.267vw, 2.1rem);
    line-height: 1.4375;
  }
}

.p-about__qual-list li {
  text-indent: -1em;
  padding-left: 1em;
}

.p-about__qual-list li::before {
  content: "・";
}

.p-about__qual-list li.p-about__qual-list-note::before {
  content: "";
  display: inline-block;
  width: 1em;
}

.p-about__qual-char {
  position: absolute;
  z-index: 1;
  height: auto;
}

.p-about__qual-char--right {
  top: 2.6rem;
  left: 81.5%;
  width: 7.93%;
}
@media (max-width: 63.9375rem) {
  .p-about__qual-char--right {
    display: none;
  }
}

.p-about__qual-char--left {
  top: 24.7rem;
  left: 27.58%;
  width: 6.48%;
}
@media (max-width: 63.9375rem) {
  .p-about__qual-char--left {
    top: 3.66rem;
    right: 2.34rem;
    left: auto;
    width: 7.69rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-about__qual-char--left {
    top: calc(var(--about-u) * 50);
    right: calc(var(--about-u) * 32);
    width: calc(var(--about-u) * 105);
  }
}

@media (max-width: 63.9375rem) {
  .p-about__qual-char-sp {
    position: absolute;
    right: 1.76rem;
    bottom: 1.61rem;
    z-index: 1;
    width: 7.62rem;
    height: auto;
  }
}
@media (max-width: 47.9375rem) {
  .p-about__qual-char-sp {
    right: calc(var(--about-u) * 24);
    bottom: calc(var(--about-u) * 22);
    width: calc(var(--about-u) * 104);
  }
}

/*------------------------------------------------------------------------------
  p-work（工事内容紹介）
------------------------------------------------------------------------------*/
.p-work {
  --work-u: calc(min(calc(var(--viewport-width) * 0.9), 120rem) / 1200);
  position: relative;
  margin-top: 5.5rem;
}
@media (max-width: 47.9375rem) {
  .p-work {
    --work-u: max(var(--sp-u-320), calc(var(--viewport-width) / 750));
    padding-top: calc(var(--work-u) * 80);
    margin-top: 0;
  }
}

.p-work__bg {
  position: absolute;
  top: calc(var(--work-u) * -729);
  left: 50%;
  z-index: -1;
  width: calc(var(--work-u) * 2566.14);
  height: auto;
  max-width: none;
  margin-left: calc(var(--work-u) * -1273.37);
}
@media (max-width: 47.9375rem) {
  .p-work__bg {
    top: -0.4423%;
    left: 50%;
    width: auto;
    height: 100.0775%;
    margin-left: 0;
    -webkit-transform: translateX(-47.0342%);
            transform: translateX(-47.0342%);
  }
}

.p-work__nav {
  --frame-nav-w: min(calc(var(--viewport-width) * 0.9), 120rem);
  margin: 0 auto;
}
@media (max-width: 47.9375rem) {
  .p-work__nav {
    display: none;
  }
}

.p-work__inner {
  margin-top: 11.2rem;
}
@media (max-width: 63.9375rem) {
  .p-work__inner {
    margin-top: 8rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-work__inner {
    margin-top: 0;
  }
}

.p-work__head {
  position: relative;
  z-index: 1;
}

.p-work__illust {
  position: absolute;
  top: 100%;
  left: 76.25%;
  width: 14.9167%;
  height: auto;
  margin-top: -7.8825%;
}
@media (max-width: 47.9375rem) {
  .p-work__illust {
    display: none;
  }
}

.p-work__char {
  position: absolute;
  top: 100%;
  left: 4.9749%;
  z-index: 9;
  width: 14.2835%;
  height: auto;
  margin-top: -5.3642%;
}
@media (max-width: 47.9375rem) {
  .p-work__char {
    top: 100%;
    right: calc(var(--work-u) * 80.9 - 2rem);
    left: auto;
    width: calc(var(--work-u) * 171.4);
    margin-top: calc(var(--work-u) * -3.78);
  }
}

.p-work__cards {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 2.4rem 1fr 2.4rem 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.4rem;
  margin-top: 6.5rem;
  position: relative;
}
@media (max-width: 63.9375rem) {
  .p-work__cards {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    margin-top: 5rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-work__cards {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: calc(var(--work-u) * 40);
    width: calc(var(--work-u) * 600);
    margin: calc(var(--work-u) * 116) auto 0;
  }
}

.p-work__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.p-work__card > .c-work-card {
  width: 100%;
}

.p-work__card:nth-child(6) .c-work-card__text {
  padding-left: 0;
  padding-right: 0;
}

/*------------------------------------------------------------------------------
  p-outline（会社概要）
------------------------------------------------------------------------------*/
.p-outline {
  position: relative;
  margin-top: 26.4rem;
  margin-bottom: 22rem;
}
@media (max-width: 63.9375rem) {
  .p-outline {
    margin-top: 8rem;
    margin-bottom: 14rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-outline {
    --outline-u: max(var(--sp-u-320), calc(var(--viewport-width) / 750));
    margin-top: 8.8rem;
    margin-bottom: 11.6rem;
  }
}

.p-outline__head {
  position: relative;
}

.p-outline__char {
  position: absolute;
  height: auto;
}

.p-outline__char--left {
  bottom: -6.3rem;
  left: 11.1667%;
  width: 8.6667%;
}
@media (max-width: 47.9375rem) {
  .p-outline__char--left {
    bottom: -2.65rem;
    left: calc(var(--outline-u) * 56 - 2rem);
    width: clamp(5.2rem, var(--outline-u) * 104, 7.15rem);
  }
}

.p-outline__char--right {
  bottom: -6.4rem;
  left: 79.6667%;
  width: 8.75%;
}
@media (max-width: 47.9375rem) {
  .p-outline__char--right {
    bottom: -2.65rem;
    right: calc(var(--outline-u) * 54 - 2rem);
    left: auto;
    width: clamp(5.25rem, var(--outline-u) * 105, 7.22rem);
  }
}

.p-outline__box {
  margin-top: 6.4rem;
}
@media (max-width: 47.9375rem) {
  .p-outline__box {
    position: relative;
    z-index: 1;
    margin: 2.6rem -2rem 0;
  }
}

.p-outline__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 7.2rem 9.6rem 73.6rem;
  grid-template-columns: 7.2rem 73.6rem;
  -webkit-column-gap: 9.6rem;
     -moz-column-gap: 9.6rem;
          column-gap: 9.6rem;
  row-gap: 5.6rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 75rem) {
  .p-outline__list {
    -ms-grid-columns: 7.2rem 4.8rem minmax(0, 1fr);
    grid-template-columns: 7.2rem minmax(0, 1fr);
    -webkit-column-gap: 4.8rem;
       -moz-column-gap: 4.8rem;
            column-gap: 4.8rem;
    row-gap: 4rem;
  }
}
@media (max-width: 63.9375rem) {
  .p-outline__list {
    -ms-grid-columns: minmax(0, 1fr);
    grid-template-columns: minmax(0, 1fr);
    row-gap: 0.8rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-outline__list {
    row-gap: 0.5rem;
  }
}

.p-outline__term {
  color: #F5B090;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: max(1.8rem, 15px);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0;
  white-space: nowrap;
  -ms-grid-column: 1;
  grid-column: 1;
  -webkit-transform: translateY(0.2rem);
          transform: translateY(0.2rem);
}
@media (max-width: 63.9375rem) {
  .p-outline__term {
    font-size: max(1.6rem, 15px);
    -webkit-transform: none;
            transform: none;
    margin-top: 1.6rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-outline__term {
    font-size: clamp(1.6rem, 4.267vw, 2rem);
    line-height: 1.4375;
    margin-top: 2.25rem;
  }
}

.p-outline__desc {
  font-size: max(1.7rem, 15px);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0;
  -ms-grid-column: 2;
  grid-column: 2;
}
@media (max-width: 63.9375rem) {
  .p-outline__desc {
    -ms-grid-column: 1;
    grid-column: 1;
  }
}
@media (max-width: 47.9375rem) {
  .p-outline__desc {
    font-size: clamp(1.6rem, 4.267vw, 2rem);
    line-height: 1.4375;
  }
}

.p-outline__line {
  display: block;
}

@media (max-width: 47.9375rem) {
  .p-outline__address-part {
    display: block;
  }
}

.p-outline__address-part--postcode {
  margin-right: 1em;
}
@media (max-width: 47.9375rem) {
  .p-outline__address-part--postcode {
    margin-right: 0;
  }
}

@media (max-width: 47.9375rem) {
  .p-outline__address-map {
    display: block;
  }
}

.p-outline__desc a {
  text-decoration: underline;
  margin-left: 0.28em;
}
@media (hover: hover) {
  .p-outline__desc a:hover {
    color: #1375BA;
    opacity: 1;
  }
}
@media (max-width: 47.9375rem) {
  .p-outline__desc a {
    text-decoration: none;
    white-space: nowrap;
    margin-left: 0;
  }
}

@media (max-width: 47.9375rem) {
  .p-outline__desc a::after {
    content: "";
    background-image: url("../img/icon_external.svg");
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    width: 1.2rem;
    height: 1.15rem;
    margin-left: 0.45rem;
    vertical-align: -0.1em;
  }
}

.p-outline__desc-list {
  padding-left: 2.4rem;
}
@media (max-width: 47.9375rem) {
  .p-outline__desc-list {
    padding-left: 1.525rem;
    margin-top: 0.4rem;
  }
}

.p-outline__desc-list li {
  text-indent: -1.6rem;
}

.p-outline__desc-list li::before {
  content: "・";
  position: relative;
  left: -0.4rem;
}
@media (max-width: 47.9375rem) {
  .p-outline__desc-list li::before {
    left: -0.375rem;
  }
}

.p-outline__desc-list li {
  white-space: nowrap;
}
@media (max-width: 90rem) {
  .p-outline__desc-list li {
    white-space: normal;
  }
}

/*------------------------------------------------------------------------------
  p-contact（お問い合わせ）
------------------------------------------------------------------------------*/
.p-contact {
  --contact-u: calc(min(var(--viewport-width), 192rem) / 1920);
  --contact-ring-top: calc(var(--contact-u) * 332);
  --contact-ground: 619.9;
  --contact-ground-top: 119.9;
  --contact-foot: 356.3;
  --contact-foot-bld: 465.3;
  --contact-foot-fac: 465.3;
  --footer-h: 10.8rem;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-top: var(--contact-ring-top);
  margin-top: 0;
}
@media (max-width: 47.9375rem) {
  .p-contact {
    --contact-u: max(var(--sp-u-320), calc(var(--viewport-width) / 750));
    --contact-ring-top: calc(var(--contact-u) * 253);
    --footer-h: 6.4rem;
    --contact-ground: 504;
    --contact-foot: 216.45;
    --contact-foot-bld: 258;
    --contact-foot-fac: 254;
    --contact-ground-top: 224.5;
  }
}

/* ボタンより下（地面＋イラスト3点）
--------------------------------------------- */
.p-contact__ground {
  position: relative;
  height: calc(var(--contact-u) * var(--contact-ground));
}

.p-contact__bg {
  position: absolute;
  top: calc(var(--contact-u) * var(--contact-ground-top));
  right: 0;
  bottom: calc(var(--footer-h) * -1);
  left: 0;
  z-index: -1;
  overflow: hidden;
}

.p-contact__bg::before {
  content: "";
  background-color: #F7F09D;
  position: absolute;
  top: calc(var(--contact-u) * 300);
  right: 0;
  bottom: 0;
  left: 0;
}
@media (max-width: 47.9375rem) {
  .p-contact__bg::before {
    top: calc(var(--contact-u) * 80);
  }
}

.p-contact__wave {
  position: absolute;
  top: 0;
  left: 50%;
  width: 101.04%;
  height: auto;
  max-width: none;
  max-height: 888.53px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media (max-width: 47.9375rem) {
  .p-contact__wave {
    width: calc(var(--contact-u) * 774);
    height: calc(var(--contact-u) * 637);
    -webkit-transform: translateX(calc(-50% - var(--contact-u) * 2));
            transform: translateX(calc(-50% - var(--contact-u) * 2));
  }
}

.p-contact__ring {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: -1;
  width: calc(var(--contact-u) * 2506);
  height: calc(var(--contact-u) * 2506);
  margin-left: calc(var(--contact-u) * -1253);
  --ring-duration: 90s;
  --ring-font-size: 173.65px;
  --ring-spacing: 15.246px;
}
@media (max-width: 47.9375rem) {
  .p-contact__ring {
    top: calc(var(--contact-u) * 12.8);
    z-index: -2;
    width: calc(var(--contact-u) * 1035.53);
    height: calc(var(--contact-u) * 1035.53);
    clip-path: inset(-100% -100% calc(var(--contact-u) * 795.33) -100%);
    margin-left: calc(var(--contact-u) * -517.77);
    --ring-font-size: 217.6px;
    --ring-spacing: 13.53px;
  }
}

.p-contact__ring-svg {
  display: block;
  width: 100%;
  height: calc(var(--contact-u) * 2506);
}
@media (max-width: 47.9375rem) {
  .p-contact__ring-svg {
    height: calc(var(--contact-u) * 1035.53);
  }
}

.p-contact__text {
  font-size: max(3.6rem, 15px);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.05em;
  text-align: center;
  position: relative;
  z-index: 2;
}
@media (max-width: 63.9375rem) {
  .p-contact__text {
    font-size: max(2.8rem, 15px);
  }
}
@media (max-width: 47.9375rem) {
  .p-contact__text {
    font-size: clamp(1.8rem, 4.8vw, 2.8rem);
  }
}

.p-contact__btn-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  z-index: 2;
  margin-top: 13.6rem;
}
@media (max-width: 63.9375rem) {
  .p-contact__btn-area {
    margin-top: 10rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-contact__btn-area {
    margin-top: 2.8rem;
  }
}

.p-contact__illust {
  position: absolute;
  z-index: 1;
  height: auto;
}

.p-contact__illust--kaitan {
  bottom: calc(var(--contact-u) * var(--contact-foot));
  left: 50%;
  width: calc(var(--contact-u) * 336);
  margin-left: calc(var(--contact-u) * -675.3);
}
@media (max-width: 47.9375rem) {
  .p-contact__illust--kaitan {
    -webkit-transform-origin: 50% 50%;
            transform-origin: 50% 50%;
    width: calc(var(--contact-u) * 181);
    margin-left: calc(var(--contact-u) * -309.31);
    rotate: -10.2deg;
  }
}

.p-contact__illust--building {
  bottom: calc(var(--contact-u) * var(--contact-foot-bld));
  left: 50%;
  width: calc(var(--contact-u) * 135);
  margin-left: calc(var(--contact-u) * 413.7);
}
@media (max-width: 47.9375rem) {
  .p-contact__illust--building {
    width: calc(var(--contact-u) * 104);
    margin-left: calc(var(--contact-u) * 18.85);
  }
}

.p-contact__illust--factory {
  bottom: calc(var(--contact-u) * var(--contact-foot-fac));
  left: 50%;
  width: calc(var(--contact-u) * 264);
  margin-left: calc(var(--contact-u) * 599.7);
}
@media (max-width: 47.9375rem) {
  .p-contact__illust--factory {
    width: calc(var(--contact-u) * 173);
    margin-left: calc(var(--contact-u) * 150.85);
  }
}

/*------------------------------------------------------------------------------
  p-recruit
------------------------------------------------------------------------------*/
.p-recruit {
  background-color: #fff;
  background-image: url("../img/bg_grid.svg");
  background-repeat: repeat;
  background-size: 8rem 8rem;
}
@media (max-width: 47.9375rem) {
  .p-recruit {
    --recruit-mv-nav-h: 16.2rem;
    background-size: 4rem 4rem;
  }
}

/*------------------------------------------------------------------------------
  p-recruit-mv
------------------------------------------------------------------------------*/
.p-recruit-mv {
  --recruit-mv-u: calc(min(var(--viewport-width), 192rem) / 1920 * var(--zoom));
  position: relative;
  width: 100%;
  height: calc(var(--recruit-mv-u) * 1099);
}
@media (max-width: 63.9375rem) {
  .p-recruit-mv {
    --recruit-mv-u: calc(min(var(--viewport-width), 192rem) / 1920);
  }
}
@media (max-width: 47.9375rem) {
  .p-recruit-mv {
    --recruit-mv-u: clamp(var(--sp-u-320), calc(var(--viewport-width) / 750), 0.08533rem);
    height: calc(var(--recruit-mv-u) * 1092 + var(--recruit-mv-nav-h));
  }
}

.p-recruit-mv__stage {
  position: relative;
  width: calc(var(--recruit-mv-u) * 1920);
  height: 100%;
  margin: 0 auto;
}
@media (max-width: 47.9375rem) {
  .p-recruit-mv__stage {
    width: calc(var(--recruit-mv-u) * 750);
  }
}

.p-recruit-mv__shape {
  position: absolute;
  top: calc(var(--recruit-mv-u) * -282);
  left: calc(var(--recruit-mv-u) * 21);
  width: calc(var(--recruit-mv-u) * 598);
  height: auto;
  max-width: none;
}
@media (max-width: 47.9375rem) {
  .p-recruit-mv__shape {
    display: none;
  }
}

/* 写真とその後ろの緑の面
--------------------------------------------- */
.p-recruit-mv__panel,
.p-recruit-mv__photo {
  position: absolute;
  height: auto;
  max-width: none;
}

.p-recruit-mv__panel--main {
  top: calc(var(--recruit-mv-u) * 67);
  left: calc(var(--recruit-mv-u) * 773);
  width: calc(var(--recruit-mv-u) * 1232);
}
@media (max-width: 47.9375rem) {
  .p-recruit-mv__panel--main {
    top: calc(var(--recruit-mv-u) * 525.5);
    right: calc(var(--recruit-mv-u) * -30.81);
    left: auto;
    width: calc(var(--recruit-mv-u) * 615.34);
  }
}

.p-recruit-mv__photo--main {
  top: calc(var(--recruit-mv-u) * 58.49);
  left: calc(var(--recruit-mv-u) * 714);
  width: calc(var(--recruit-mv-u) * 1232.056);
}
@media (max-width: 47.9375rem) {
  .p-recruit-mv__photo--main {
    top: calc(var(--recruit-mv-u) * 521.25);
    right: calc(var(--recruit-mv-u) * -1.37);
    left: auto;
    width: calc(var(--recruit-mv-u) * 615.37);
  }
}

.p-recruit-mv__panel--sub {
  top: calc(var(--recruit-mv-u) * 591.84);
  left: calc(var(--recruit-mv-u) * 116.75);
  width: calc(var(--recruit-mv-u) * 548.248);
}
@media (max-width: 47.9375rem) {
  .p-recruit-mv__panel--sub {
    top: calc(var(--recruit-mv-u) * 855.64);
    left: calc(var(--recruit-mv-u) * 27.68);
    width: calc(var(--recruit-mv-u) * 306.32);
  }
}

.p-recruit-mv__photo--sub {
  top: calc(var(--recruit-mv-u) * 583.53);
  left: calc(var(--recruit-mv-u) * 103);
  width: calc(var(--recruit-mv-u) * 523.544);
}
@media (max-width: 47.9375rem) {
  .p-recruit-mv__photo--sub {
    top: calc(var(--recruit-mv-u) * 851);
    left: calc(var(--recruit-mv-u) * 20);
    width: calc(var(--recruit-mv-u) * 292.51);
  }
}

.p-recruit-mv__panel--sub,
.p-recruit-mv__photo--sub {
  opacity: 0;
  -webkit-transform: translateY(2rem);
          transform: translateY(2rem);
  -webkit-transition: opacity 0.8s ease-out 0.5s, -webkit-transform 0.8s ease-out 0.5s;
  transition: opacity 0.8s ease-out 0.5s, -webkit-transform 0.8s ease-out 0.5s;
  transition: opacity 0.8s ease-out 0.5s, transform 0.8s ease-out 0.5s;
  transition: opacity 0.8s ease-out 0.5s, transform 0.8s ease-out 0.5s, -webkit-transform 0.8s ease-out 0.5s;
}
@media (prefers-reduced-motion: reduce) {
  .p-recruit-mv__panel--sub,
  .p-recruit-mv__photo--sub {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
  }
}

.p-recruit-mv__panel--main,
.p-recruit-mv__photo--main {
  opacity: 0;
  -webkit-transform: translateY(2rem);
          transform: translateY(2rem);
  -webkit-transition: opacity 0.8s ease-out 0.7s, -webkit-transform 0.8s ease-out 0.7s;
  transition: opacity 0.8s ease-out 0.7s, -webkit-transform 0.8s ease-out 0.7s;
  transition: opacity 0.8s ease-out 0.7s, transform 0.8s ease-out 0.7s;
  transition: opacity 0.8s ease-out 0.7s, transform 0.8s ease-out 0.7s, -webkit-transform 0.8s ease-out 0.7s;
}
@media (prefers-reduced-motion: reduce) {
  .p-recruit-mv__panel--main,
  .p-recruit-mv__photo--main {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
  }
}

/* 見出し
--------------------------------------------- */
.p-recruit-mv__title {
  color: #49B745;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: calc(var(--recruit-mv-u) * 80);
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: 0.0714em;
  position: absolute;
  top: calc(var(--recruit-mv-u) * 188.21);
  left: calc(var(--recruit-mv-u) * 106.53);
  white-space: nowrap;
  opacity: 0;
  -webkit-transform: translateY(2rem);
          transform: translateY(2rem);
  -webkit-transition: opacity 0.8s ease-out 0.1s, -webkit-transform 0.8s ease-out 0.1s;
  transition: opacity 0.8s ease-out 0.1s, -webkit-transform 0.8s ease-out 0.1s;
  transition: opacity 0.8s ease-out 0.1s, transform 0.8s ease-out 0.1s;
  transition: opacity 0.8s ease-out 0.1s, transform 0.8s ease-out 0.1s, -webkit-transform 0.8s ease-out 0.1s;
}
@media (prefers-reduced-motion: reduce) {
  .p-recruit-mv__title {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
  }
}
@media (max-width: 47.9375rem) {
  .p-recruit-mv__title {
    font-size: calc(var(--recruit-mv-u) * 64);
    line-height: 1.40625;
    top: calc(var(--recruit-mv-u) * 161);
    left: calc(var(--recruit-mv-u) * 32);
  }
}

.p-recruit-mv__title-line {
  display: block;
}

.p-recruit-mv__title-line--orange {
  color: #F8941F;
  letter-spacing: 0.028em;
}

.p-recruit-mv__title-light {
  color: #8AC63C;
}

.p-recruit-mv__title-blue {
  color: #1375BA;
}

.p-recruit-mv__lead {
  font-size: calc(var(--recruit-mv-u) * 28);
  line-height: 1.6;
  letter-spacing: 0;
  position: absolute;
  top: calc(var(--recruit-mv-u) * 422.1);
  left: calc(var(--recruit-mv-u) * 104.18);
  opacity: 0;
  -webkit-transform: translateY(2rem);
          transform: translateY(2rem);
  -webkit-transition: opacity 0.8s ease-out 0.3s, -webkit-transform 0.8s ease-out 0.3s;
  transition: opacity 0.8s ease-out 0.3s, -webkit-transform 0.8s ease-out 0.3s;
  transition: opacity 0.8s ease-out 0.3s, transform 0.8s ease-out 0.3s;
  transition: opacity 0.8s ease-out 0.3s, transform 0.8s ease-out 0.3s, -webkit-transform 0.8s ease-out 0.3s;
}
@media (prefers-reduced-motion: reduce) {
  .p-recruit-mv__lead {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
  }
}
@media (max-width: 47.9375rem) {
  .p-recruit-mv__lead {
    font-size: calc(var(--recruit-mv-u) * 32);
    line-height: 1.4375;
    top: calc(var(--recruit-mv-u) * 365);
    left: calc(var(--recruit-mv-u) * 33);
  }
}

/* 各セクションへのアンカー3つ
--------------------------------------------- */
.p-recruit-mv__nav {
  --frame-btn-u: var(--recruit-mv-u);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: absolute;
  top: calc(var(--recruit-mv-u) * 955);
  left: calc(var(--recruit-mv-u) * 359);
  z-index: 1;
  width: calc(var(--recruit-mv-u) * 1200);
  opacity: 0;
  -webkit-transform: translateY(2rem);
          transform: translateY(2rem);
  -webkit-transition: opacity 0.8s ease-out 1.1s, -webkit-transform 0.8s ease-out 1.1s;
  transition: opacity 0.8s ease-out 1.1s, -webkit-transform 0.8s ease-out 1.1s;
  transition: opacity 0.8s ease-out 1.1s, transform 0.8s ease-out 1.1s;
  transition: opacity 0.8s ease-out 1.1s, transform 0.8s ease-out 1.1s, -webkit-transform 0.8s ease-out 1.1s;
}
@media (prefers-reduced-motion: reduce) {
  .p-recruit-mv__nav {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
  }
}
@media (max-width: 47.9375rem) {
  .p-recruit-mv__nav {
    --frame-btn-u: 0.05rem;
    top: calc(var(--recruit-mv-u) * 1092);
    left: 50%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.9rem;
    width: 20.2rem;
    margin-left: -10.1rem;
  }
}

.p-recruit-mv__nav-item {
  width: calc(var(--recruit-mv-u) * 387);
  height: calc(var(--recruit-mv-u) * 144);
}
@media (max-width: 47.9375rem) {
  .p-recruit-mv__nav-item {
    width: 100%;
    height: calc(var(--frame-btn-u) * 96);
  }
}

@media (max-width: 47.9375rem) {
  .p-recruit-mv__nav .c-frame-btn__label {
    background-image: url("../img/frame_dashed_recruit_sp.svg");
    height: calc(var(--frame-btn-u) * 64);
    padding: calc(var(--frame-btn-u) * 8) calc(var(--frame-btn-u) * 16);
  }
}

/* FV のキャラクター
--------------------------------------------- */
.p-recruit-mv__char {
  position: absolute;
  top: calc(var(--recruit-mv-u) * 445.41);
  left: calc(var(--recruit-mv-u) * 1430.57);
  width: calc(var(--recruit-mv-u) * 464.5);
  opacity: 0;
  -webkit-transform: translateY(2rem);
          transform: translateY(2rem);
  -webkit-transition: opacity 0.8s ease-out 0.9s, -webkit-transform 0.8s ease-out 0.9s;
  transition: opacity 0.8s ease-out 0.9s, -webkit-transform 0.8s ease-out 0.9s;
  transition: opacity 0.8s ease-out 0.9s, transform 0.8s ease-out 0.9s;
  transition: opacity 0.8s ease-out 0.9s, transform 0.8s ease-out 0.9s, -webkit-transform 0.8s ease-out 0.9s;
}
@media (prefers-reduced-motion: reduce) {
  .p-recruit-mv__char {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
  }
}
@media (max-width: 47.9375rem) {
  .p-recruit-mv__char {
    top: calc(var(--recruit-mv-u) * 724.4);
    right: calc(var(--recruit-mv-u) * 12.12);
    left: auto;
    width: calc(var(--recruit-mv-u) * 251.03);
  }
}

.p-recruit-mv__copyright {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: calc(var(--recruit-mv-u) * 20);
  font-weight: 500;
  line-height: 1.5;
  text-align: right;
  white-space: nowrap;
  position: absolute;
  top: calc(var(--recruit-mv-u) * 944);
  right: calc(var(--recruit-mv-u) * 42);
  opacity: 0;
  -webkit-transform: translateY(2rem);
          transform: translateY(2rem);
  -webkit-transition: opacity 0.8s ease-out 0.9s, -webkit-transform 0.8s ease-out 0.9s;
  transition: opacity 0.8s ease-out 0.9s, -webkit-transform 0.8s ease-out 0.9s;
  transition: opacity 0.8s ease-out 0.9s, transform 0.8s ease-out 0.9s;
  transition: opacity 0.8s ease-out 0.9s, transform 0.8s ease-out 0.9s, -webkit-transform 0.8s ease-out 0.9s;
}
@media (prefers-reduced-motion: reduce) {
  .p-recruit-mv__copyright {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
  }
}
@media (max-width: 47.9375rem) {
  .p-recruit-mv__copyright {
    font-size: max(1.2rem, var(--recruit-mv-u) * 18);
    top: calc(var(--recruit-mv-u) * 1032);
    right: calc(var(--recruit-mv-u) * 16);
  }
}

.p-recruit-mv__char-img {
  display: block;
  width: 100%;
  height: auto;
  -webkit-transform: rotate(1deg);
          transform: rotate(1deg);
}

/* 読み込み完了後の登場
--------------------------------------------- */
.is-loaded .p-recruit-mv__title,
.is-loaded .p-recruit-mv__lead,
.is-loaded .p-recruit-mv__panel,
.is-loaded .p-recruit-mv__photo,
.is-loaded .p-recruit-mv__char,
.is-loaded .p-recruit-mv__copyright,
.is-loaded .p-recruit-mv__nav {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/*------------------------------------------------------------------------------
  p-flow（1日のお仕事の流れ）
------------------------------------------------------------------------------*/
.p-flow {
  --flow-u: calc(min(var(--viewport-width), 192rem) / 1920 * var(--zoom));
  position: relative;
  margin-top: calc(var(--flow-u) * -119);
  padding-bottom: 0;
}
@media (max-width: 63.9375rem) {
  .p-flow {
    --flow-u: calc(min(var(--viewport-width), 192rem) / 1920);
  }
}
@media (max-width: 47.9375rem) {
  .p-flow {
    --flow-u: clamp(var(--sp-u-320), calc(var(--viewport-width) / 750), 0.08533rem);
    margin-top: calc(var(--flow-u) * -11 - var(--recruit-mv-nav-h));
  }
}

/* 上端の背景
--------------------------------------------- */
.p-flow__bg {
  --flow-bgu: calc(var(--viewport-width) / 1920);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
}
@media (max-width: 47.9375rem) {
  .p-flow__bg {
    --flow-bgu: calc(var(--viewport-width) / 750);
  }
}

.p-flow__wave {
  position: absolute;
  left: 50%;
  height: auto;
  max-width: none;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.p-flow__wave--yellow {
  top: calc(var(--flow-bgu) * -3.65);
  width: 108.49%;
}
@media (max-width: 47.9375rem) {
  .p-flow__wave--yellow {
    top: 0;
    width: calc(var(--flow-bgu) * 774);
    height: calc(var(--flow-bgu) * 854);
  }
}

.p-flow__wave--white {
  top: calc(var(--flow-bgu) * 71.35);
  width: 101.09%;
}
@media (max-width: 47.9375rem) {
  .p-flow__wave--white {
    display: none;
  }
}

.p-flow__bg::after {
  content: "";
  background-color: #fff;
  display: block;
  position: absolute;
  top: calc(var(--flow-bgu) * 925);
  right: 0;
  bottom: 0;
  left: 0;
}
@media (max-width: 47.9375rem) {
  .p-flow__bg::after {
    top: calc(var(--flow-bgu) * 844);
  }
}

.p-flow__inner {
  position: relative;
}
@media (max-width: 47.9375rem) {
  .p-flow__inner {
    width: calc(var(--flow-u) * 750);
    margin: 0 auto;
  }
}

/* 見出し
--------------------------------------------- */
.p-flow__head {
  position: relative;
  padding-top: 25.1rem;
}
@media (max-width: 68.75rem) {
  .p-flow__head {
    padding-bottom: 18.602rem;
  }
}
@media (max-width: 63.9375rem) {
  .p-flow__head {
    padding-top: 18rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-flow__head {
    padding-top: calc(var(--flow-u) * 83 + var(--recruit-mv-nav-h));
    padding-bottom: calc(var(--flow-u) * 218);
  }
}

.p-flow__lead {
  font-size: max(2.8rem, 15px);
  line-height: 1.45;
  letter-spacing: 0;
  text-align: center;
  margin-top: 2.4rem;
}
@media (max-width: 75rem) {
  .p-flow__lead {
    font-size: max(2.4rem, 15px);
  }
}
@media (max-width: 63.9375rem) {
  .p-flow__lead {
    font-size: max(2rem, 15px);
  }
}
@media (max-width: 47.9375rem) {
  .p-flow__lead {
    font-size: min(var(--flow-u) * 32, 2rem);
    line-height: 1.4375;
    max-width: calc(var(--flow-u) * 448);
    margin: calc(var(--flow-u) * 24) auto 0;
  }
}

.p-flow__head-char {
  position: absolute;
  top: 23.9rem;
  left: 50%;
  width: 10.8rem;
  height: auto;
  max-width: none;
  margin-left: 30.05rem;
}
@media (max-width: 68.75rem) {
  .p-flow__head-char {
    top: auto;
    bottom: 0;
    width: 9.216rem;
    margin-left: 6.074rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-flow__head-char {
    top: auto;
    bottom: 0;
    width: calc(var(--flow-u) * 108);
    margin-left: calc(var(--flow-u) * 71.18);
  }
}

.p-flow__head-balloon {
  position: absolute;
  top: 23.281rem;
  left: 50%;
  width: 19.6rem;
  margin-left: 42.031rem;
}
@media (max-width: 68.75rem) {
  .p-flow__head-balloon {
    top: auto;
    bottom: 5.224rem;
    width: 20.176rem;
    margin-left: -15.368rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-flow__head-balloon {
    top: auto;
    bottom: calc(var(--flow-u) * 61.22);
    width: calc(var(--flow-u) * 236.433);
    margin-left: calc(var(--flow-u) * -180.1);
  }
}

.p-flow__head-balloon-bg {
  display: block;
  width: 100%;
  height: auto;
}

.p-flow__head-balloon-text {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 1.8rem;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: center;
  position: absolute;
  top: 42.8%;
  left: 0;
  width: 100%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (max-width: 68.75rem) {
  .p-flow__head-balloon-text {
    font-size: 2.048rem;
    line-height: 1.3;
    top: 43.2%;
  }
}
@media (max-width: 47.9375rem) {
  .p-flow__head-balloon-text {
    font-size: calc(var(--flow-u) * 24);
    line-height: 1.3;
  }
}

/* 本体（縦の矢印＋項目6つ）
--------------------------------------------- */
.p-flow__body {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  max-width: 116.4rem;
  padding-top: 13.8rem;
  margin: 3.2rem auto 0;
}
@media (max-width: 47.9375rem) {
  .p-flow__body {
    width: auto;
    max-width: none;
    padding-top: calc(var(--flow-u) * 144);
    margin: calc(var(--flow-u) * -2) -2rem 0;
  }
}

.p-flow__line {
  background-color: #F7F09D;
  border-radius: 0.8rem;
  position: absolute;
  top: 0;
  bottom: -15.823rem;
  left: 6.2rem;
  width: 8.6rem;
}
@media (max-width: 47.9375rem) {
  .p-flow__line {
    border-radius: calc(var(--flow-u) * 8);
    bottom: calc(var(--flow-u) * -100);
    left: calc(var(--flow-u) * 93);
    width: calc(var(--flow-u) * 86);
  }
}

.p-flow__line-tip {
  position: absolute;
  bottom: -23.823rem;
  left: 2.518rem;
  width: 15.9626rem;
  height: auto;
  max-width: none;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media (max-width: 47.9375rem) {
  .p-flow__line-tip {
    bottom: calc(var(--flow-u) * -172);
    left: calc(var(--flow-u) * 41);
    width: calc(var(--flow-u) * 190);
    height: calc(var(--flow-u) * 123);
  }
}

.p-flow__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 11.4rem;
}
@media (max-width: 63.9375rem) {
  .p-flow__list {
    gap: 8rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-flow__list {
    gap: calc(var(--flow-u) * 184);
    padding-right: max(var(--flow-u) * 38, 1.9rem);
    padding-left: max(var(--flow-u) * 31, 1.55rem);
  }
}

/* 1項目 ＝ 時刻 ／ イラスト ／ テキストの3列
--------------------------------------------- */
.p-flow__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1.7rem;
}
@media (max-width: 47.9375rem) {
  .p-flow__item {
    display: block;
    position: relative;
  }
}

.p-flow__time {
  color: #8AC63C;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: max(4rem, 15px);
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: 0.05em;
  white-space: nowrap;
  background-color: #fff;
  border: 2px solid #8AC63C;
  border-radius: 8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 21rem;
  height: 6.4rem;
}
@media (max-width: 63.9375rem) {
  .p-flow__time {
    font-size: max(3.2rem, 15px);
    width: 17rem;
    height: 5.4rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-flow__time {
    font-size: min(var(--flow-u) * 40, 3.2rem);
    border-width: calc(var(--flow-u) * 2);
    border-radius: calc(var(--flow-u) * 80);
    width: calc(var(--flow-u) * 210);
    height: calc(var(--flow-u) * 64);
  }
}

.p-flow__img {
  --art: 0.1rem;
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: calc(var(--art) * 324);
}
@media (max-width: 63.9375rem) {
  .p-flow__img {
    --art: 0.08rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-flow__img {
    --art: var(--flow-u);
    position: absolute;
    z-index: 1;
    width: auto;
  }
}

.p-flow__art,
.p-flow__char {
  position: absolute;
  height: auto;
  max-width: none;
}

.p-flow__card {
  background-color: #FFFAE6;
  border-radius: 8rem;
  -webkit-box-shadow: 0.8rem 0.8rem 0.4rem rgba(193, 141, 79, 0.5);
          box-shadow: 0.8rem 0.8rem 0.4rem rgba(193, 141, 79, 0.5);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  padding: 4rem 4.8rem;
}
@media (max-width: 63.9375rem) {
  .p-flow__card {
    border-radius: 6rem;
    padding: 3rem 3.4rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-flow__card {
    border-radius: calc(var(--flow-u) * 80);
    -webkit-box-shadow: calc(var(--flow-u) * 8) calc(var(--flow-u) * 8) calc(var(--flow-u) * 4) rgba(193, 141, 79, 0.5);
            box-shadow: calc(var(--flow-u) * 8) calc(var(--flow-u) * 8) calc(var(--flow-u) * 4) rgba(193, 141, 79, 0.5);
    width: auto;
    padding: calc(var(--flow-u) * 48);
    margin: calc(var(--flow-u) * 24) 0 0 calc(var(--flow-u) * 75);
  }
}

.p-flow__card-title {
  color: #F8941F;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: max(2.8rem, 15px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
}
@media (max-width: 63.9375rem) {
  .p-flow__card-title {
    font-size: max(2.4rem, 15px);
  }
}
@media (max-width: 47.9375rem) {
  .p-flow__card-title {
    font-size: min(var(--flow-u) * 32, 2.4rem);
    font-weight: 800;
    line-height: 1.34375;
  }
}

.p-flow__card-text {
  font-size: max(1.8rem, 15px);
  line-height: 1.6;
  letter-spacing: 0.05em;
  margin-top: 0.8rem;
}
@media (max-width: 63.9375rem) {
  .p-flow__card-text {
    font-size: max(1.6rem, 15px);
  }
}
@media (max-width: 47.9375rem) {
  .p-flow__card-text {
    font-size: min(var(--flow-u) * 32, 1.6rem);
    line-height: 1.4375;
    letter-spacing: 0;
    margin: calc(var(--flow-u) * 18) calc(var(--flow-u) * 10) calc(var(--flow-u) * 10);
  }
}

/* 項目ごとの絵柄の位置
--------------------------------------------- */
.p-flow__img--van {
  height: calc(var(--art) * 291);
}
@media (max-width: 47.9375rem) {
  .p-flow__img--van {
    top: calc(var(--art) * -1);
    right: calc(var(--art) * 21.574);
    left: auto;
    width: calc(var(--art) * 236.42);
    height: calc(var(--art) * 200);
  }
}

.p-flow__img--factory {
  height: calc(var(--art) * 305);
}
@media (max-width: 47.9375rem) {
  .p-flow__img--factory {
    top: calc(var(--art) * 4.76);
    right: calc(var(--art) * 15.711);
    left: auto;
    width: calc(var(--art) * 223.29);
    height: calc(var(--art) * 185.61);
  }
}

.p-flow__img--bento {
  height: calc(var(--art) * 249);
}
@media (max-width: 47.9375rem) {
  .p-flow__img--bento {
    top: 0;
    right: calc(var(--art) * 36.832);
    left: auto;
    width: calc(var(--art) * 293.17);
    height: calc(var(--art) * 200);
  }
}

.p-flow__img--docs {
  height: calc(var(--art) * 305);
}
@media (max-width: 47.9375rem) {
  .p-flow__img--docs {
    top: calc(var(--art) * -16);
    right: calc(var(--art) * -26.09);
    left: auto;
    width: calc(var(--art) * 313.67);
    height: calc(var(--art) * 200);
  }
}

.p-flow__img--papers {
  height: calc(var(--art) * 251.77);
}
@media (max-width: 47.9375rem) {
  .p-flow__img--papers {
    top: calc(var(--art) * -20);
    right: calc(var(--art) * 19.792);
    left: auto;
    width: calc(var(--art) * 254.2);
    height: calc(var(--art) * 200);
  }
}

.p-flow__img--desk {
  height: calc(var(--art) * 246);
}
@media (max-width: 47.9375rem) {
  .p-flow__img--desk {
    top: calc(var(--art) * 2);
    right: calc(var(--art) * 25);
    left: auto;
    width: calc(var(--art) * 269);
    height: calc(var(--art) * 173);
  }
}

.p-flow__art--van {
  top: calc(var(--art) * -22);
  left: calc(var(--art) * -13);
  width: calc(var(--art) * 317);
}
@media (max-width: 47.9375rem) {
  .p-flow__art--van {
    top: 0;
    left: calc(var(--art) * 33.72);
    width: calc(var(--art) * 202.706);
  }
}

.p-flow__char--van {
  top: calc(var(--art) * 91);
  left: calc(var(--art) * -66);
  width: calc(var(--art) * 173);
}
@media (max-width: 47.9375rem) {
  .p-flow__char--van {
    top: calc(var(--art) * 72.2);
    left: 0;
    width: calc(var(--art) * 110.543);
  }
}

.p-flow__art--factory {
  top: 0;
  left: calc(var(--art) * 17);
  width: calc(var(--art) * 195.354);
}
@media (max-width: 47.9375rem) {
  .p-flow__art--factory {
    left: 0;
    width: calc(var(--art) * 150);
  }
}

.p-flow__char--factory {
  top: calc(var(--art) * 60.22);
  left: calc(var(--art) * 188.91);
  width: calc(var(--art) * 118.891);
}
@media (max-width: 47.9375rem) {
  .p-flow__char--factory {
    top: calc(var(--art) * 46.24);
    left: calc(var(--art) * 132);
    width: calc(var(--art) * 91.289);
  }
}

.p-flow__art--bento {
  top: calc(var(--art) * 90);
  left: calc(var(--art) * -24);
  width: calc(var(--art) * 212);
}
@media (max-width: 47.9375rem) {
  .p-flow__art--bento {
    top: calc(var(--art) * 72.29);
    left: 0;
    width: calc(var(--art) * 170.281);
  }
}

.p-flow__char--bento {
  top: 0;
  left: calc(var(--art) * 189);
  width: calc(var(--art) * 152);
}
@media (max-width: 47.9375rem) {
  .p-flow__char--bento {
    left: calc(var(--art) * 171.08);
    width: calc(var(--art) * 122.088);
  }
}

.p-flow__art--docs {
  top: 0;
  left: calc(var(--art) * 127);
  width: calc(var(--art) * 204);
}
@media (max-width: 47.9375rem) {
  .p-flow__art--docs {
    left: calc(var(--art) * 97.81);
    width: calc(var(--art) * 146.77);
  }
}

.p-flow__char--docs {
  top: calc(var(--art) * 79);
  left: calc(var(--art) * -7);
  width: calc(var(--art) * 156);
}
@media (max-width: 47.9375rem) {
  .p-flow__char--docs {
    top: calc(var(--art) * 56.83);
    left: 0;
    width: calc(var(--art) * 112.23);
  }
}

.p-flow__art--papers {
  top: calc(var(--art) * 23.83);
  left: calc(var(--art) * 32.92);
  width: calc(var(--art) * 139.458);
}
@media (max-width: 47.9375rem) {
  .p-flow__art--papers {
    top: calc(var(--art) * 18.93);
    left: calc(var(--art) * 21.39);
    width: calc(var(--art) * 110.784);
  }
}

.p-flow__char--papers {
  top: 0;
  left: calc(var(--art) * 184.35);
  width: calc(var(--art) * 141.654);
}
@media (max-width: 47.9375rem) {
  .p-flow__char--papers {
    left: calc(var(--art) * 141.68);
    width: calc(var(--art) * 112.528);
  }
}

.p-flow__art--mail {
  top: calc(var(--art) * 10.28);
  left: calc(var(--art) * 38.845);
  width: calc(var(--art) * 102.061);
  -webkit-transform: rotate(12.5502deg);
          transform: rotate(12.5502deg);
}
@media (max-width: 47.9375rem) {
  .p-flow__art--mail {
    top: calc(var(--art) * 9.56);
    left: calc(var(--art) * 19.4);
    width: calc(var(--art) * 95.03);
  }
}

.p-flow__art--laptop {
  top: calc(var(--art) * 50.49);
  left: calc(var(--art) * 125.43);
  width: calc(var(--art) * 181.561);
}
@media (max-width: 47.9375rem) {
  .p-flow__art--laptop {
    top: calc(var(--art) * 47);
    left: calc(var(--art) * 100);
    width: calc(var(--art) * 169);
  }
}

/* 下の吹き出し＋かいたん
--------------------------------------------- */
.p-flow__bottom {
  position: relative;
  height: 20.8rem;
  margin-top: 30.123rem;
}
@media (max-width: 63.9375rem) {
  .p-flow__bottom {
    height: 16rem;
    margin-top: 22rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-flow__bottom {
    height: calc(var(--flow-u) * 238);
    margin-top: calc(var(--flow-u) * 200);
  }
}

.p-flow__balloon {
  position: absolute;
  top: -0.235rem;
  left: 50%;
  width: 68.2rem;
  margin-left: -42.322rem;
}
@media (max-width: 63.9375rem) {
  .p-flow__balloon {
    width: 52rem;
    margin-left: -32rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-flow__balloon {
    top: calc(var(--flow-u) * 3.68);
    width: calc(var(--flow-u) * 517.49);
    margin-left: calc(var(--flow-u) * -322.86);
  }
}

.p-flow__balloon-bg {
  display: block;
  width: 100%;
  height: auto;
}

.p-flow__balloon-text {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 2.8rem;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: center;
  position: absolute;
  top: 2.936rem;
  left: 0;
  width: 100%;
}
@media (max-width: 63.9375rem) {
  .p-flow__balloon-text {
    font-size: 2.1rem;
    top: 2.2rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-flow__balloon-text {
    font-size: min(var(--flow-u) * 32, 2.1rem);
    top: 50%;
    left: calc(var(--flow-u) * 68.86);
    width: calc(var(--flow-u) * 352);
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}

.p-flow__bottom-char {
  position: absolute;
  top: 0.5rem;
  left: 50%;
  width: 13.6rem;
  height: auto;
  max-width: none;
  margin-left: 29.2rem;
}
@media (max-width: 63.9375rem) {
  .p-flow__bottom-char {
    width: 10.4rem;
    margin-left: 22rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-flow__bottom-char {
    top: calc(var(--flow-u) * 45);
    width: calc(var(--flow-u) * 129);
    margin-left: calc(var(--flow-u) * 208);
  }
}

.p-flow__next-img {
  --next-img-u: calc(var(--viewport-width) / 1920);
  display: block;
  position: relative;
  width: calc(var(--next-img-u) * 2148);
  height: auto;
  max-width: none;
  margin: calc(var(--next-img-u) * 24) 0 0 calc(var(--next-img-u) * -89);
}
@media (max-width: 47.9375rem) {
  .p-flow__next-img {
    left: 50%;
    margin-left: calc(var(--next-img-u) * -1049);
  }
}
@media (max-width: 40rem) {
  .p-flow__next-img {
    --next-img-w: calc(var(--viewport-width) / 750 * 886);
    width: var(--next-img-w);
    margin: calc(var(--flow-u) * 149) 0 0 calc(var(--next-img-w) / -2);
  }
}

/*------------------------------------------------------------------------------
  p-benefits（福利厚生）
------------------------------------------------------------------------------*/
.p-benefits {
  --benefits-u: calc(min(var(--viewport-width), 192rem) / 1920);
  --next-img-u: calc(var(--viewport-width) / 1920);
  position: relative;
  padding-top: calc(var(--next-img-u) * 295);
  padding-bottom: 21.6rem;
  margin-top: calc(var(--next-img-u) * -323.47);
}
@media (max-width: 63.9375rem) {
  .p-benefits {
    padding-bottom: 14rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-benefits {
    --benefits-u: clamp(var(--sp-u-320), calc(var(--viewport-width) / 750), 0.08533rem);
    --benefits-bgu: calc(var(--viewport-width) / 750);
    padding-bottom: calc(var(--benefits-u) * 296);
  }
}
@media (max-width: 40rem) {
  .p-benefits {
    --next-img-u: calc(var(--viewport-width) / 750);
    padding-top: calc(var(--next-img-u) * 317 + var(--benefits-u) * 80);
    margin-top: calc(var(--next-img-u) * -317);
  }
}

.p-benefits::before {
  content: "";
  background-image: url("../img/img_wave_benefits.svg?ver1.0");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  display: block;
  position: absolute;
  bottom: calc(var(--benefits-u) * -9.4);
  left: 0;
  z-index: -1;
  width: 100%;
  height: calc(var(--benefits-u) * 819.731);
}
@media (max-width: 47.9375rem) {
  .p-benefits::before {
    background-image: url("../img/img_wave_benefits_sp.svg");
    top: 0;
    bottom: 0;
    left: calc(var(--benefits-bgu) * -9.46754);
    width: calc(var(--benefits-bgu) * 792.92);
    height: auto;
  }
}

.p-benefits::after {
  content: "";
  background-color: #FFFAE6;
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: calc(var(--benefits-u) * 790);
  left: 0;
  z-index: -1;
}
@media (max-width: 47.9375rem) {
  .p-benefits::after {
    bottom: 24%;
  }
}

@media (max-width: 47.9375rem) {
  .p-benefits__head {
    width: calc(var(--benefits-u) * 600);
    margin: 0 auto;
  }
}

.p-benefits__lead {
  font-size: max(2.4rem, 15px);
  line-height: 1.45;
  text-align: center;
  margin-top: 2rem;
}
@media (max-width: 75rem) {
  .p-benefits__lead {
    font-size: max(2.1rem, 15px);
  }
}
@media (max-width: 63.9375rem) {
  .p-benefits__lead {
    font-size: max(1.8rem, 15px);
  }
}
@media (max-width: 47.9375rem) {
  .p-benefits__lead {
    font-size: min(var(--benefits-u) * 32, 1.8rem);
    font-weight: 700;
    line-height: normal;
    margin-top: calc(var(--benefits-u) * 24);
  }
}

.p-benefits__cards {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 2.4rem 1fr 2.4rem 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.4rem;
  margin-top: 7.6rem;
}
@media (max-width: 63.9375rem) {
  .p-benefits__cards {
    margin-top: 5rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-benefits__cards {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: calc(var(--benefits-u) * 64);
    width: calc(var(--benefits-u) * 606);
    margin: calc(var(--benefits-u) * 106) auto 0;
    margin: calc(var(--benefits-u) * 60) auto 0;
  }
}

.p-benefits__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.p-benefits__card > .c-work-card {
  width: 100%;
}

@media (max-width: 47.9375rem) {
  .p-benefits__card .c-work-card__img {
    width: calc(var(--benefits-u) * 299);
  }
}

.p-benefits .c-work-card__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 2.9em;
}
@media (max-width: 47.9375rem) {
  .p-benefits .c-work-card__title {
    line-height: normal;
    min-height: 0;
  }
}

@media (min-width: 56.875rem) {
  .p-benefits .c-work-card__text {
    padding: 0 0.4rem;
  }
}
@media (min-width: 56.875rem) and (max-width: 85.375rem) {
  .p-benefits .c-work-card__text {
    padding: 0 0.6rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-benefits .c-work-card__text {
    line-height: normal;
    padding: 0;
  }
}

@media (max-width: 47.9375rem) {
  .p-benefits .c-detail-btn {
    font-family: "Zen Maru Gothic", sans-serif;
    line-height: normal;
  }
}

/*------------------------------------------------------------------------------
  p-requirements（募集要項）
------------------------------------------------------------------------------*/
.p-requirements {
  --requirements-u: calc(min(calc(var(--viewport-width) * 0.9), 120rem) / 1200);
  --requirements-gap: 7.7rem;
  position: relative;
  margin-top: 5.6rem;
}
@media (max-width: 63.9375rem) {
  .p-requirements {
    --requirements-gap: 5rem;
    margin-top: 4rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-requirements {
    --requirements-u: clamp(var(--sp-u-320), calc(var(--viewport-width) / 750), 0.08533rem);
    --requirements-gap: calc(var(--requirements-u) * 77);
    margin-top: calc(var(--requirements-u) * 70);
  }
}

.p-requirements__bg {
  position: absolute;
  top: calc(var(--requirements-u) * -157);
  left: 50%;
  z-index: -2;
  width: calc(var(--requirements-u) * 2566);
  height: auto;
  max-width: none;
  margin-left: calc(var(--requirements-u) * -1281);
  min-height: 111.671%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
}
@media (max-width: 47.9375rem) {
  .p-requirements__bg {
    --requirements-bgu: min(0.05rem, calc(var(--viewport-width) / 750));
    top: auto;
    bottom: calc(var(--requirements-bgu) * -149);
    width: calc(var(--requirements-bgu) * 1078);
    height: auto;
    min-height: 0;
    margin-left: calc(var(--requirements-bgu) * -580);
    -webkit-transform: none;
            transform: none;
  }
}

.p-requirements__head {
  position: relative;
  z-index: 1;
}
@media (max-width: 47.9375rem) {
  .p-requirements__head {
    width: calc(var(--requirements-u) * 640);
    margin: 0 auto;
  }
}

.p-requirements__char {
  position: absolute;
  bottom: calc(var(--requirements-gap) * -1 + 0.4rem);
  left: 82.4167%;
  width: 8.75%;
  height: auto;
}
@media (max-width: 47.9375rem) {
  .p-requirements__char {
    right: calc(var(--requirements-u) * 2);
    bottom: calc((var(--requirements-gap) + var(--requirements-u) * 2) * -1);
    left: auto;
    width: calc(var(--requirements-u) * 105);
  }
}

.p-requirements__box {
  background-color: rgba(255, 255, 255, 0.8);
  margin-top: var(--requirements-gap);
}
@media (max-width: 47.9375rem) {
  .p-requirements__box {
    position: relative;
    width: min(var(--requirements-u) * 750, 100% + 4rem);
    padding: calc(var(--requirements-u) * 24) calc(var(--requirements-u) * 20);
    margin-right: 0;
    margin-left: calc((100% + 4rem - min(var(--requirements-u) * 750, 100% + 4rem)) / 2 - 2rem);
  }
}

@media (max-width: 47.9375rem) {
  .p-requirements__box .c-dashed-panel__frame {
    padding: calc(var(--requirements-u) * 56) calc(var(--requirements-u) * 66);
  }
}

.p-requirements__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 20rem 4rem max(58.3rem, 520px);
  grid-template-columns: 20rem max(58.3rem, 520px);
  -webkit-column-gap: 4rem;
     -moz-column-gap: 4rem;
          column-gap: 4rem;
  row-gap: 4rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 75rem) {
  .p-requirements__list {
    -ms-grid-columns: 20rem minmax(0, 1fr);
    grid-template-columns: 20rem minmax(0, 1fr);
    -webkit-box-pack: stretch;
        -ms-flex-pack: stretch;
            justify-content: stretch;
  }
}
@media (max-width: 63.9375rem) {
  .p-requirements__list {
    -ms-grid-columns: minmax(0, 1fr);
    grid-template-columns: minmax(0, 1fr);
    row-gap: 0.8rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-requirements__list {
    row-gap: 0;
  }
}

.p-requirements__term {
  color: #F5B090;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: max(1.8rem, 15px);
  line-height: 1.6;
  letter-spacing: 0;
}
@media (max-width: 63.9375rem) {
  .p-requirements__term {
    font-size: max(1.6rem, 15px);
  }
}
@media (max-width: 47.9375rem) {
  .p-requirements__term {
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: min(var(--requirements-u) * 32, 1.6rem);
    font-weight: 700;
    line-height: 1.4375;
  }
}

.p-requirements__desc {
  font-size: max(1.7rem, 15px);
  line-height: 1.6;
  letter-spacing: 0;
}
@media (max-width: 63.9375rem) {
  .p-requirements__desc {
    font-size: max(1.5rem, 15px);
    margin-bottom: 3.2rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-requirements__desc {
    font-size: min(var(--requirements-u) * 32, 1.6rem);
    line-height: 1.4375;
    width: calc(var(--requirements-u) * 559);
    margin-top: calc(var(--requirements-u) * 10);
    margin-bottom: calc(var(--requirements-u) * 56);
  }
}

@media (max-width: 63.9375rem) {
  .p-requirements__desc:last-child {
    margin-bottom: 0;
  }
}

ol.p-requirements__group {
  list-style: none;
}

.p-requirements__group + .p-requirements__group {
  margin-top: 1.6em;
}
@media (max-width: 47.9375rem) {
  .p-requirements__group + .p-requirements__group {
    margin-top: 1.4375em;
  }
}

.p-requirements__item-list li::before {
  content: "・";
}

.p-requirements__split-line {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 7em minmax(0, 1fr);
  grid-template-columns: 7em minmax(0, 1fr);
}
@media (max-width: 47.9375rem) {
  .p-requirements__split-line {
    display: block;
  }
}

.p-requirements__split-line--leave {
  -ms-grid-columns: 5em minmax(0, 1fr);
  grid-template-columns: 5em minmax(0, 1fr);
}

@media (max-width: 47.9375rem) {
  .p-requirements__split-line > span:first-child:not(:empty) {
    display: block;
  }
}

@media (max-width: 47.9375rem) {
  .p-requirements__split-line--leave > span:first-child:not(:empty) {
    display: inline;
  }
}

.p-requirements__station {
  text-indent: -5em;
  display: block;
  padding-left: 5em;
}

.p-requirements__pc-continuation {
  display: block;
  margin-left: 1em;
}
@media (max-width: 47.9375rem) {
  .p-requirements__pc-continuation {
    display: inline;
    margin-left: 0;
  }
}

/*------------------------------------------------------------------------------
  p-entry（エントリー）
------------------------------------------------------------------------------*/
.p-entry {
  --entry-u: calc(min(var(--viewport-width), 192rem) / 1920);
  --pop-wait: 0.45s;
  position: relative;
  padding-bottom: 15.8rem;
  margin-top: 14.9rem;
  scroll-margin-top: calc(var(--entry-u) * -849.5);
}
@media (max-width: 63.9375rem) {
  .p-entry {
    --pop-wait: 0.25s;
    padding-bottom: 10rem;
    margin-top: 10rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-entry {
    --entry-u: clamp(var(--sp-u-320), calc(var(--viewport-width) / 750), 0.08533rem);
    --entry-bgu: calc(var(--viewport-width) / 750);
    padding-bottom: calc(var(--entry-u) * 183);
    margin-top: calc(var(--entry-u) * 80);
    scroll-margin-top: calc(var(--entry-bgu) * -681);
  }
}

.p-entry::before {
  content: "";
  background-image: url("../img/img_wave_entry.svg?ver1.0");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  display: block;
  position: absolute;
  top: calc(var(--entry-u) * 681.2);
  left: 0;
  z-index: 0;
  width: 100%;
  height: calc(var(--entry-u) * 256.464);
}
@media (max-width: 47.9375rem) {
  .p-entry::before {
    background-image: url("../img/img_wave_entry_sp.svg");
    background-position: center top;
    background-size: calc(var(--entry-bgu) * 792.92) calc(var(--entry-bgu) * 799.458);
    top: calc(var(--entry-bgu) * 613.55);
    height: calc(var(--entry-bgu) * 799.458);
  }
}

.p-entry::after {
  content: "";
  background-color: #FFFAE6;
  display: block;
  position: absolute;
  top: calc(var(--entry-u) * 926);
  bottom: 0;
  left: 0;
  z-index: 0;
  width: 100%;
}
@media (max-width: 47.9375rem) {
  .p-entry::after {
    top: calc(var(--entry-bgu) * 1403.46);
  }
}

.p-entry__ring {
  --ring-duration: 90s;
  --ring-color: #8AC63C;
  --ring-font-size: 186.85px;
  --ring-spacing: 16.861px;
  --ring-stroke: 6px;
  position: absolute;
  top: 0;
  left: 50%;
  z-index: -1;
  width: calc(var(--entry-u) * 2415);
  height: calc(var(--entry-u) * 2415);
  margin-left: calc(var(--entry-u) * -1207.5);
}
@media (max-width: 47.9375rem) {
  .p-entry__ring {
    --ring-font-size: 251.345px;
    --ring-spacing: 0;
    --ring-stroke: 15.081px;
    opacity: 0.5;
    top: calc(var(--entry-bgu) * 55.08);
    width: calc(var(--entry-bgu) * 960.83);
    height: calc(var(--entry-bgu) * 960.83);
    margin-left: calc(var(--entry-bgu) * -480.415);
  }
}

.p-entry__ring-copy--sp {
  display: none;
}
@media (max-width: 47.9375rem) {
  .p-entry__ring-copy--sp {
    display: block;
  }
}

@media (max-width: 47.9375rem) {
  .p-entry__ring-copy--pc {
    display: none;
  }
}

/* 波に乗るかいたん */
.p-entry__char {
  --char-sink: calc(var(--entry-u) * 264);
  display: block;
  position: absolute;
  top: calc(var(--entry-u) * 413.5);
  left: 50%;
  z-index: -1;
  width: calc(var(--entry-u) * 272);
  margin-left: calc(var(--entry-u) * -422);
  -webkit-transform: translateY(var(--char-sink));
          transform: translateY(var(--char-sink));
}
@media (max-width: 47.9375rem) {
  .p-entry__char {
    --char-sink: calc(var(--entry-bgu) * 160);
    top: calc(var(--entry-bgu) * 468);
    left: calc(var(--entry-bgu) * 68);
    width: calc(var(--entry-bgu) * 156);
    margin-left: 0;
  }
}
.p-entry__char.is-active {
  -webkit-animation: entryCharPop 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) var(--pop-wait) forwards;
          animation: entryCharPop 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) var(--pop-wait) forwards;
}
@media (prefers-reduced-motion: reduce) {
  .p-entry__char {
    z-index: 1;
    -webkit-transform: none;
            transform: none;
  }
  .p-entry__char.is-active {
    -webkit-animation: none;
            animation: none;
  }
}

.p-entry__char-img {
  display: block;
  width: 100%;
  height: auto;
}

@-webkit-keyframes entryCharPop {
  0% {
    z-index: -1;
    -webkit-transform: translateY(var(--char-sink));
            transform: translateY(var(--char-sink));
  }
  99% {
    z-index: -1;
  }
  100% {
    z-index: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes entryCharPop {
  0% {
    z-index: -1;
    -webkit-transform: translateY(var(--char-sink));
            transform: translateY(var(--char-sink));
  }
  99% {
    z-index: -1;
  }
  100% {
    z-index: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.p-entry__balloon {
  position: absolute;
  top: calc(var(--entry-u) * 427.5);
  left: 50%;
  z-index: 1;
  width: calc(var(--entry-u) * 460);
  margin-left: calc(var(--entry-u) * -121);
  opacity: 0;
  -webkit-transition: opacity 0.5s ease calc(var(--pop-wait) + 0.7s);
  transition: opacity 0.5s ease calc(var(--pop-wait) + 0.7s);
}
@media (max-width: 47.9375rem) {
  .p-entry__balloon {
    top: calc(var(--entry-bgu) * 275);
    width: calc(var(--entry-bgu) * 460);
    margin-left: calc(var(--entry-bgu) * -229.5);
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-entry__balloon {
    opacity: 1;
    -webkit-transition: none;
    transition: none;
  }
}

.p-entry__char.is-active ~ .p-entry__balloon {
  opacity: 1;
}

.p-entry__balloon-bg {
  display: block;
  width: calc(var(--entry-u) * 462.5);
  height: auto;
  margin-left: calc(var(--entry-u) * -1.25);
}
@media (max-width: 47.9375rem) {
  .p-entry__balloon-bg {
    width: calc(var(--entry-bgu) * 462.5);
    margin-left: calc(var(--entry-bgu) * -1.25);
  }
}

.p-entry__balloon-text {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: calc(var(--entry-u) * 32);
  font-weight: 800;
  line-height: 1.5625;
  letter-spacing: 0;
  position: absolute;
  top: calc(var(--entry-u) * 33);
  left: calc(var(--entry-u) * 115);
  width: calc(var(--entry-u) * 230);
}
@media (max-width: 47.9375rem) {
  .p-entry__balloon-text {
    font-size: calc(var(--entry-bgu) * 32);
    line-height: normal;
    top: calc(var(--entry-bgu) * 33);
    left: calc(var(--entry-bgu) * 115);
    width: calc(var(--entry-bgu) * 230);
  }
}

.p-entry__inner {
  position: relative;
  z-index: 1;
  padding-top: calc(var(--entry-u) * 929.5);
}
@media (max-width: 47.9375rem) {
  .p-entry__inner {
    padding-top: calc(var(--entry-bgu) * 761);
  }
}

@media (max-width: 47.9375rem) {
  .p-entry__head {
    position: relative;
    left: calc(var(--entry-u) * -3);
    width: calc(var(--entry-u) * 548);
    margin: 0 auto;
  }
}

.p-entry__desc {
  font-size: max(1.8rem, 15px);
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  margin-top: 2rem;
}
@media (max-width: 63.9375rem) {
  .p-entry__desc {
    font-size: max(1.6rem, 15px);
  }
}
@media (max-width: 47.9375rem) {
  .p-entry__desc {
    font-weight: 500;
    line-height: normal;
    letter-spacing: 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-top: 1.2rem;
    margin-left: auto;
    margin-right: auto;
  }
}

/* エントリーフォーム */
.p-entry__form {
  width: 91.6rem;
  max-width: 100%;
  margin: 10.5rem auto 0;
}
@media (max-width: 63.9375rem) {
  .p-entry__form {
    margin-top: 6rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-entry__form {
    position: relative;
    left: calc(var(--entry-u) * -3);
    width: calc(var(--entry-u) * 600);
    margin-top: calc(var(--entry-u) * 160);
  }
}

.p-entry__row {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 25.6rem 7.6rem 58.4rem;
  grid-template-columns: 25.6rem 7.6rem 58.4rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 63.9375rem) {
  .p-entry__row {
    -ms-grid-columns: 1fr auto;
    grid-template-columns: 1fr auto;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    row-gap: 0.8rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-entry__row {
    row-gap: 0.6rem;
    min-height: 7.5rem;
  }
}

.p-entry__row + .p-entry__row {
  margin-top: 4.8rem;
}
@media (max-width: 63.9375rem) {
  .p-entry__row + .p-entry__row {
    margin-top: 3.2rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-entry__row + .p-entry__row {
    margin-top: 2rem;
  }
}

.p-entry__row--area {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
@media (max-width: 47.9375rem) {
  .p-entry__row--area {
    min-height: 21.9rem;
  }
}

.p-entry__row--file {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
@media (max-width: 47.9375rem) {
  .p-entry__row--file {
    min-height: 13.15rem;
  }
}

.p-entry__label {
  font-size: max(1.8rem, 15px);
  line-height: 1.6;
  letter-spacing: 0;
}
@media (max-width: 63.9375rem) {
  .p-entry__label {
    font-size: max(1.6rem, 15px);
  }
}
@media (max-width: 47.9375rem) {
  .p-entry__label {
    font-size: clamp(1.4rem, 3.733vw, 1.6rem);
    font-weight: 700;
    line-height: normal;
  }
}

.p-entry__label--address-detail {
  text-indent: 2em;
}
@media (max-width: 47.9375rem) {
  .p-entry__label--address-detail {
    text-indent: 0;
  }
}

.p-entry__label--wide {
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1/3;
}

.p-entry__label--file {
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1/3;
}
@media (max-width: 63.9375rem) {
  .p-entry__label--file {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
  }
}

.p-entry__required {
  color: #FFFFFF;
  font-size: max(1.4rem, 12px);
  line-height: 1.6;
  letter-spacing: 0;
  background-color: #F8941F;
  border-radius: 1.8rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-grid-column-align: start;
      justify-self: start;
  padding: 0.2rem 1.2rem;
}
@media (max-width: 63.9375rem) {
  .p-entry__required {
    -ms-grid-column-align: end;
        justify-self: end;
  }
}
@media (max-width: 47.9375rem) {
  .p-entry__required {
    font-size: clamp(0.9rem, 1.867vw, 1.4rem);
    border-radius: 0.9rem;
    padding: 0.1rem 0.6rem;
  }
}

.p-entry__required-none {
  display: block;
}
@media (max-width: 63.9375rem) {
  .p-entry__required-none {
    display: none;
  }
}

.p-entry__input {
  color: #333333;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: max(1.6rem, 15px);
  line-height: 2;
  background-color: #fff;
  border: 1px solid #49B745;
  border-radius: 0.8rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 4.8rem;
  padding: 0 1rem;
}
.p-entry__input::-webkit-input-placeholder {
  color: #8F9493;
}
.p-entry__input::-moz-placeholder {
  color: #8F9493;
}
.p-entry__input:-ms-input-placeholder {
  color: #8F9493;
}
.p-entry__input::-ms-input-placeholder {
  color: #8F9493;
}
.p-entry__input::placeholder {
  color: #8F9493;
}
.p-entry__input:focus {
  outline: 2px solid #1375BA;
  outline-offset: 1px;
}
@media (max-width: 63.9375rem) {
  .p-entry__input {
    grid-column: 1/-1;
  }
}
@media (max-width: 47.9375rem) {
  .p-entry__input {
    font-weight: 500;
    line-height: normal;
    border-width: 0.05rem;
    border-radius: 0.4rem;
    padding: 0 0.9rem;
  }
}

.p-entry__note {
  font-size: max(1.4rem, 14px);
  line-height: 1.6;
  -ms-grid-column: 3;
  grid-column: 3;
  margin-top: 0.8rem;
}
.p-entry__note:empty {
  display: none;
}
.p-entry__note.is-error {
  color: #C4291C;
}
@media (max-width: 63.9375rem) {
  .p-entry__note {
    grid-column: 1/-1;
  }
}
@media (max-width: 47.9375rem) {
  .p-entry__note {
    margin-top: 0.2rem;
  }
}

.p-entry__select {
  background-image: url("../img/icon_arrow_down.svg");
  background-repeat: no-repeat;
  background-position: right 1.7rem center;
  background-size: 2.09rem 1.14rem;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  padding-right: 5rem;
  cursor: pointer;
}
.p-entry__select:has(option[value=""]:checked) {
  color: #8F9493;
}
@media (max-width: 47.9375rem) {
  .p-entry__select {
    background-position: right 1.3rem center;
    background-size: 2.6rem 1.4rem;
  }
}

.p-entry__textarea {
  line-height: 1.6;
  height: 19.2rem;
  padding: 0.8rem 1rem;
  resize: vertical;
}
@media (max-width: 47.9375rem) {
  .p-entry__textarea {
    line-height: normal;
    padding: 1.25rem 0.9rem;
  }
}

.p-entry__file {
  background-color: #fff;
  border: 1px dashed #49B745;
  border-radius: 0.8rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  padding: 1.6rem 1.5rem;
}
@media (max-width: 63.9375rem) {
  .p-entry__file {
    grid-column: 1/-1;
  }
}
@media (max-width: 47.9375rem) {
  .p-entry__file {
    border-width: 0.05rem;
    border-radius: 0.4rem;
    height: 8.45rem;
    padding: 1.6rem 1.05rem;
  }
}

.p-entry__file-input {
  color: #8F9493;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: max(1.6rem, 15px);
  line-height: 2;
  letter-spacing: 0.05em;
  display: block;
  width: 100%;
}
@media (max-width: 47.9375rem) {
  .p-entry__file-input {
    font-size: 1.2rem;
    font-weight: 500;
    line-height: normal;
    letter-spacing: 0;
  }
}

.p-entry__file-input::-webkit-file-upload-button {
  color: #FFFFFF;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: max(1.6rem, 15px);
  line-height: 1.6;
  background-color: #8F9493;
  border: none;
  border-radius: 0.4rem;
  padding: 0.4rem 0.8rem;
  margin-right: 0.8rem;
  cursor: pointer;
}

.p-entry__file-input::file-selector-button {
  color: #FFFFFF;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: max(1.6rem, 15px);
  line-height: 1.6;
  background-color: #8F9493;
  border: none;
  border-radius: 0.4rem;
  padding: 0.4rem 0.8rem;
  margin-right: 0.8rem;
  cursor: pointer;
}
@media (max-width: 47.9375rem) {
  .p-entry__file-input::-webkit-file-upload-button {
    font-size: 1.2rem;
    font-weight: 500;
    line-height: normal;
    border-radius: 0.2rem;
    padding: 0.2rem 0.4rem;
  }
  .p-entry__file-input::file-selector-button {
    font-size: 1.2rem;
    font-weight: 500;
    line-height: normal;
    border-radius: 0.2rem;
    padding: 0.2rem 0.4rem;
  }
}

.p-entry__file-note {
  color: #8F9493;
  font-size: max(1.6rem, 15px);
  line-height: 1.6;
  margin-top: 0.8rem;
}
@media (max-width: 47.9375rem) {
  .p-entry__file-note {
    font-size: 1.2rem;
    line-height: normal;
    letter-spacing: 0;
    margin-top: 0.7rem;
  }
}

.p-entry__submit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 11.6rem auto 0;
}
@media (max-width: 63.9375rem) {
  .p-entry__submit {
    margin-top: 8rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-entry__submit {
    margin-top: 6rem;
  }
}

.p-entry__submit-char {
  position: absolute;
  top: -8.7rem;
  left: 26.1rem;
  width: 11.96rem;
  height: auto;
  -webkit-transform: rotate(2.9deg);
          transform: rotate(2.9deg);
}
@media (max-width: 63.9375rem) {
  .p-entry__submit-char {
    top: -7rem;
    left: 20rem;
    width: 9.6rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-entry__submit-char {
    top: -4.352rem;
    left: 13.0708rem;
    width: 5.9792rem;
  }
}

@media (max-width: 47.9375rem) {
  .p-entry__submit .c-submit-btn {
    font-size: 1.4rem;
    line-height: normal;
    border-width: 0.2rem;
    border-radius: 2.8rem;
    -webkit-box-shadow: 0.2rem 0.2rem 0.1rem rgba(193, 141, 79, 0.5);
            box-shadow: 0.2rem 0.2rem 0.1rem rgba(193, 141, 79, 0.5);
    gap: 1.8rem;
    padding: 1rem 1.8rem;
  }
}

@media (max-width: 47.9375rem) {
  .p-entry__submit .c-submit-btn__arrow {
    width: 1.5rem;
    height: 0.95rem;
    margin: 0 -0.1rem;
  }
}

/*------------------------------------------------------------------------------
  p-kaitan
------------------------------------------------------------------------------*/
.p-kaitan {
  background-color: #fff;
}
@media (max-width: 47.9375rem) {
  .p-kaitan {
    --kaitan-sp-max: 420;
  }
}

/*------------------------------------------------------------------------------
  p-kaitan-mv
------------------------------------------------------------------------------*/
.p-kaitan-mv {
  --kaitan-mv-u: calc(min(var(--viewport-width), 192rem) / 1920 * var(--zoom));
  --kaitan-mv-bgu: calc(var(--viewport-width) / 1920);
  position: relative;
  width: 100%;
  height: calc(var(--kaitan-mv-u) * 1548.86);
}
@media (max-width: 63.9375rem) {
  .p-kaitan-mv {
    --kaitan-mv-u: calc(min(var(--viewport-width), 192rem) / 1920);
  }
}
@media (max-width: 47.9375rem) {
  .p-kaitan-mv {
    --kaitan-mv-u: clamp(var(--sp-u-320), calc(var(--viewport-width) / 750), calc(var(--kaitan-sp-max) / 750 * 1px));
    --kaitan-mv-bgw: max(calc(var(--kaitan-mv-u) * 792.92), calc(var(--viewport-width) / 750 * 792.92));
    height: calc(var(--kaitan-mv-u) * 1685.91);
  }
}

.p-kaitan-mv::before {
  content: "";
  background-image: url("../img/bg_kaitan_hero.svg");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  display: block;
  position: absolute;
  bottom: calc(var(--kaitan-mv-bgu) * -9.35);
  left: calc(var(--kaitan-mv-bgu) * -9.49);
  z-index: -1;
  width: calc(var(--kaitan-mv-bgu) * 1939.93);
  height: calc(var(--kaitan-mv-bgu) * 1558.21);
}
@media (max-width: 47.9375rem) {
  .p-kaitan-mv::before {
    background-image: url("../img/bg_kaitan_hero_sp.svg");
    bottom: 0;
    left: 50%;
    width: var(--kaitan-mv-bgw);
    height: calc(var(--kaitan-mv-u) * 1698.91);
    margin-left: calc(var(--kaitan-mv-bgw) / -2);
  }
}

.p-kaitan-mv__stage {
  position: relative;
  width: calc(var(--kaitan-mv-u) * 1920);
  height: 100%;
  margin: 0 auto;
}
@media (max-width: 47.9375rem) {
  .p-kaitan-mv__stage {
    width: calc(var(--kaitan-mv-u) * 750);
  }
}

/* 背景の流れる文字
--------------------------------------------- */
.p-kaitan-mv__bgtext {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}

.p-kaitan-mv__bgtext-row {
  color: #FFFFFF;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
  position: absolute;
  opacity: 0.5;
}

.p-kaitan-mv__bgtext-row--1 {
  --bgtext-dur: 62s;
  font-size: calc(var(--kaitan-mv-u) * 128);
  top: calc(var(--kaitan-mv-u) * 431);
  left: calc(var(--kaitan-mv-u) * -622);
}
@media (max-width: 47.9375rem) {
  .p-kaitan-mv__bgtext-row--1 {
    top: calc(var(--kaitan-mv-u) * 437);
    left: calc(var(--kaitan-mv-u) * -134);
  }
}

.p-kaitan-mv__bgtext-row--2 {
  --bgtext-dur: 107.7s;
  font-size: calc(var(--kaitan-mv-u) * 220);
  top: calc(var(--kaitan-mv-u) * 631);
  left: calc(var(--kaitan-mv-u) * -2265);
}
@media (max-width: 47.9375rem) {
  .p-kaitan-mv__bgtext-row--2 {
    top: calc(var(--kaitan-mv-u) * 647);
    left: calc(var(--kaitan-mv-u) * -722);
  }
}

.p-kaitan-mv__bgtext-row--3 {
  --bgtext-dur: 76.6s;
  font-size: calc(var(--kaitan-mv-u) * 128);
  top: calc(var(--kaitan-mv-u) * 943);
  left: calc(var(--kaitan-mv-u) * -186);
}
@media (max-width: 47.9375rem) {
  .p-kaitan-mv__bgtext-row--3 {
    top: calc(var(--kaitan-mv-u) * 949);
    left: calc(var(--kaitan-mv-u) * -108);
  }
}

.p-kaitan-mv__bgtext-row--4 {
  --bgtext-dur: 119s;
  font-size: calc(var(--kaitan-mv-u) * 240);
  top: calc(var(--kaitan-mv-u) * 1143);
  left: calc(var(--kaitan-mv-u) * -437);
}
@media (max-width: 47.9375rem) {
  .p-kaitan-mv__bgtext-row--4 {
    top: calc(var(--kaitan-mv-u) * 1149);
    left: calc(var(--kaitan-mv-u) * -134);
  }
}

.p-kaitan-mv__bgtext-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  will-change: transform;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
}

.p-kaitan-mv__bgtext-track--left {
  -webkit-animation-name: kaitanBgTextLeft;
          animation-name: kaitanBgTextLeft;
  -webkit-animation-duration: var(--bgtext-dur);
          animation-duration: var(--bgtext-dur);
}
@media (prefers-reduced-motion: reduce) {
  .p-kaitan-mv__bgtext-track--left {
    -webkit-animation: none;
            animation: none;
  }
}

.p-kaitan-mv__bgtext-track--right {
  -webkit-animation-name: kaitanBgTextRight;
          animation-name: kaitanBgTextRight;
  -webkit-animation-duration: var(--bgtext-dur);
          animation-duration: var(--bgtext-dur);
}
@media (prefers-reduced-motion: reduce) {
  .p-kaitan-mv__bgtext-track--right {
    -webkit-animation: none;
            animation: none;
  }
}

@-webkit-keyframes kaitanBgTextLeft {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-33.3333%);
            transform: translateX(-33.3333%);
  }
}

@keyframes kaitanBgTextLeft {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-33.3333%);
            transform: translateX(-33.3333%);
  }
}
@-webkit-keyframes kaitanBgTextRight {
  from {
    -webkit-transform: translateX(-33.3333%);
            transform: translateX(-33.3333%);
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes kaitanBgTextRight {
  from {
    -webkit-transform: translateX(-33.3333%);
            transform: translateX(-33.3333%);
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
.p-kaitan-mv__bgtext-copy {
  padding-right: 1em;
}

.p-kaitan-mv__bgtext-kana {
  letter-spacing: -0.04em;
}

/* 見出し
--------------------------------------------- */
.p-kaitan-mv__title {
  color: #1375BA;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: calc(var(--kaitan-mv-u) * 120);
  font-weight: 900;
  line-height: 1;
  text-align: center;
  position: absolute;
  top: calc(var(--kaitan-mv-u) * 168);
  left: 0;
  width: 100%;
  opacity: 0;
  -webkit-transform: translateY(2rem);
          transform: translateY(2rem);
  -webkit-transition: opacity 0.8s ease-out 0.1s, -webkit-transform 0.8s ease-out 0.1s;
  transition: opacity 0.8s ease-out 0.1s, -webkit-transform 0.8s ease-out 0.1s;
  transition: opacity 0.8s ease-out 0.1s, transform 0.8s ease-out 0.1s;
  transition: opacity 0.8s ease-out 0.1s, transform 0.8s ease-out 0.1s, -webkit-transform 0.8s ease-out 0.1s;
}
@media (prefers-reduced-motion: reduce) {
  .p-kaitan-mv__title {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
  }
}
@media (max-width: 47.9375rem) {
  .p-kaitan-mv__title {
    font-size: calc(var(--kaitan-mv-u) * 72);
    line-height: 1.4;
    top: calc(var(--kaitan-mv-u) * 147);
  }
}

.p-kaitan-mv__title-char:nth-child(1) {
  letter-spacing: 0.03em;
}

.p-kaitan-mv__title-char:nth-child(2) {
  letter-spacing: -0.07em;
}

.p-kaitan-mv__title-char:nth-child(3) {
  letter-spacing: -0.38em;
}

.p-kaitan-mv__title-char:nth-child(4) {
  letter-spacing: 0.02em;
}

.p-kaitan-mv__title-char:nth-child(5) {
  letter-spacing: 0.02em;
}

.p-kaitan-mv__title-char:nth-child(6) {
  letter-spacing: 0;
}

.p-kaitan-mv__title-char:nth-child(7) {
  letter-spacing: -0.11em;
}

.p-kaitan-mv__lead {
  font-size: calc(var(--kaitan-mv-u) * 32);
  font-weight: 700;
  line-height: 1.4375;
  text-align: center;
  position: absolute;
  top: calc(var(--kaitan-mv-u) * 320);
  left: 0;
  width: 100%;
  opacity: 0;
  -webkit-transform: translateY(2rem);
          transform: translateY(2rem);
  -webkit-transition: opacity 0.8s ease-out 0.3s, -webkit-transform 0.8s ease-out 0.3s;
  transition: opacity 0.8s ease-out 0.3s, -webkit-transform 0.8s ease-out 0.3s;
  transition: opacity 0.8s ease-out 0.3s, transform 0.8s ease-out 0.3s;
  transition: opacity 0.8s ease-out 0.3s, transform 0.8s ease-out 0.3s, -webkit-transform 0.8s ease-out 0.3s;
}
@media (prefers-reduced-motion: reduce) {
  .p-kaitan-mv__lead {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
  }
}
@media (max-width: 47.9375rem) {
  .p-kaitan-mv__lead {
    font-size: calc(var(--kaitan-mv-u) * 32);
    letter-spacing: 0;
    top: calc(var(--kaitan-mv-u) * 255);
  }
}

.p-kaitan-mv__char {
  position: absolute;
  top: calc(var(--kaitan-mv-u) * 445);
  left: calc(var(--kaitan-mv-u) * 742);
  width: calc(var(--kaitan-mv-u) * 436);
  height: auto;
  max-width: none;
  opacity: 0;
  -webkit-transform: translateY(2rem);
          transform: translateY(2rem);
  -webkit-transition: opacity 0.8s ease-out 0.5s, -webkit-transform 0.8s ease-out 0.5s;
  transition: opacity 0.8s ease-out 0.5s, -webkit-transform 0.8s ease-out 0.5s;
  transition: opacity 0.8s ease-out 0.5s, transform 0.8s ease-out 0.5s;
  transition: opacity 0.8s ease-out 0.5s, transform 0.8s ease-out 0.5s, -webkit-transform 0.8s ease-out 0.5s;
}
@media (prefers-reduced-motion: reduce) {
  .p-kaitan-mv__char {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
  }
}
@media (max-width: 47.9375rem) {
  .p-kaitan-mv__char {
    top: calc(var(--kaitan-mv-u) * 443);
    left: calc(var(--kaitan-mv-u) * 157);
  }
}

.p-kaitan-mv__copyright {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: calc(var(--kaitan-mv-u) * 20);
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  position: absolute;
  top: calc(var(--kaitan-mv-u) * 1084);
  left: calc(var(--kaitan-mv-u) * 1391);
  width: calc(var(--kaitan-mv-u) * 169);
  opacity: 0;
  -webkit-transform: translateY(2rem);
          transform: translateY(2rem);
  -webkit-transition: opacity 0.8s ease-out 0.5s, -webkit-transform 0.8s ease-out 0.5s;
  transition: opacity 0.8s ease-out 0.5s, -webkit-transform 0.8s ease-out 0.5s;
  transition: opacity 0.8s ease-out 0.5s, transform 0.8s ease-out 0.5s;
  transition: opacity 0.8s ease-out 0.5s, transform 0.8s ease-out 0.5s, -webkit-transform 0.8s ease-out 0.5s;
}
@media (prefers-reduced-motion: reduce) {
  .p-kaitan-mv__copyright {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
  }
}
@media (max-width: 47.9375rem) {
  .p-kaitan-mv__copyright {
    font-size: max(1.2rem, var(--kaitan-mv-u) * 18);
    text-align: right;
    top: calc(var(--kaitan-mv-u) * 1090);
    right: calc(var(--kaitan-mv-u) * 23);
    left: auto;
    width: auto;
    white-space: nowrap;
  }
}

/* 各セクションへのアンカー3つ
--------------------------------------------- */
.p-kaitan-mv__nav {
  --pill-btn-u: var(--kaitan-mv-u);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: absolute;
  top: calc(var(--kaitan-mv-u) * 1168);
  left: calc(var(--kaitan-mv-u) * 360);
  width: calc(var(--kaitan-mv-u) * 1200);
  opacity: 0;
  -webkit-transform: translateY(2rem);
          transform: translateY(2rem);
  -webkit-transition: opacity 0.8s ease-out 0.7s, -webkit-transform 0.8s ease-out 0.7s;
  transition: opacity 0.8s ease-out 0.7s, -webkit-transform 0.8s ease-out 0.7s;
  transition: opacity 0.8s ease-out 0.7s, transform 0.8s ease-out 0.7s;
  transition: opacity 0.8s ease-out 0.7s, transform 0.8s ease-out 0.7s, -webkit-transform 0.8s ease-out 0.7s;
}
@media (prefers-reduced-motion: reduce) {
  .p-kaitan-mv__nav {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
  }
}
@media (max-width: 47.9375rem) {
  .p-kaitan-mv__nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(var(--kaitan-mv-u) * 24);
    top: calc(var(--kaitan-mv-u) * 1162);
    left: calc(var(--kaitan-mv-u) * 181);
    width: calc(var(--kaitan-mv-u) * 387);
  }
}

.p-kaitan-mv__nav-item {
  width: calc(var(--kaitan-mv-u) * 387);
  height: calc(var(--kaitan-mv-u) * 112);
}
@media (max-width: 47.9375rem) {
  .p-kaitan-mv__nav-item {
    width: 100%;
    height: calc(var(--kaitan-mv-u) * 96);
  }
}

/* 読み込み完了後の登場
--------------------------------------------- */
.is-loaded .p-kaitan-mv__title,
.is-loaded .p-kaitan-mv__lead,
.is-loaded .p-kaitan-mv__char,
.is-loaded .p-kaitan-mv__copyright,
.is-loaded .p-kaitan-mv__nav {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/*------------------------------------------------------------------------------
  p-story
------------------------------------------------------------------------------*/
.p-story {
  --story-u: calc(min(var(--viewport-width), 192rem) / 1920);
  --title02-u: var(--story-u);
  --curtain-dur: 2.7s;
  --curtain-move: var(--curtain-dur);
  --curtain-swap: 0.4s;
  --curtain-ease: cubic-bezier(0.165, 0.75, 0.44, 1);
  position: relative;
  width: 100%;
}
@media (max-width: 47.9375rem) {
  .p-story {
    --story-u: clamp(var(--sp-u-320), calc(var(--viewport-width) / 750), calc(var(--kaitan-sp-max) / 750 * 1px));
    --curtain-dur: 1s;
    --curtain-move: 0.7s;
    --curtain-swap: 0.3s;
    --curtain-ease: cubic-bezier(0.165, 0.75, 0.44, 0.8);
    margin-top: calc(var(--story-u) * -104);
  }
}

.p-story__stage {
  position: relative;
  z-index: -2;
  width: calc(var(--story-u) * 1920);
  height: calc(var(--story-u) * 1314.723);
  margin: 0 auto;
}
@media (max-width: 47.9375rem) {
  .p-story__stage {
    width: 100%;
    height: calc(var(--story-u) * 1165.8);
  }
}

.p-story__stage::before,
.p-story__stage::after {
  content: "";
  background-color: #F8941F;
  display: block;
  position: absolute;
  top: calc(var(--story-u) * -176.23);
  z-index: 0;
  width: calc(var(--viewport-width) / 2);
  height: calc(var(--story-u) * 1476.5);
}
@media (max-width: 47.9375rem) {
  .p-story__stage::before,
  .p-story__stage::after {
    display: none;
  }
}

.p-story__stage::before {
  right: 100%;
}

.p-story__stage::after {
  left: 100%;
}

.p-story__content {
  width: calc(var(--story-u) * 1200);
  padding-top: calc(var(--story-u) * 86.14);
  margin: 0 auto;
}
@media (max-width: 47.9375rem) {
  .p-story__content {
    position: relative;
    z-index: 1;
    width: calc(var(--story-u) * 750);
    padding-top: calc(var(--story-u) * 165);
  }
}

.p-story .c-title02__en {
  line-height: 1.2188;
}

.p-story__text {
  font-size: calc(var(--story-u) * 32);
  line-height: 1.6;
  letter-spacing: 0;
  text-align: center;
  margin-top: calc(var(--story-u) * 39);
}
@media (max-width: 47.9375rem) {
  .p-story__text {
    line-height: 1.4375;
    width: calc(var(--story-u) * 422);
    margin: calc(var(--story-u) * 40) auto 0;
  }
}

.p-story__char {
  display: block;
  width: calc(var(--story-u) * 340);
  height: calc(var(--story-u) * 510);
  margin: calc(var(--story-u) * 56) auto 0;
}
@media (max-width: 47.9375rem) {
  .p-story__char {
    width: calc(var(--story-u) * 285);
    height: calc(var(--story-u) * 428);
    margin-top: calc(var(--story-u) * 38);
  }
}

/* カーテン4枚
--------------------------------------------- */
.p-story__curtain {
  position: absolute;
  z-index: 1;
  max-width: none;
  pointer-events: none;
}

.p-story__curtain--left-close {
  top: calc(var(--story-u) * -176.23);
  left: calc(var(--story-u) * -10.7);
  width: calc(var(--story-u) * 963.5);
  height: calc(var(--story-u) * 1483);
  -webkit-transition: opacity var(--curtain-swap) linear calc(var(--curtain-dur) - var(--curtain-swap)), -webkit-transform var(--curtain-move) var(--curtain-ease);
  transition: opacity var(--curtain-swap) linear calc(var(--curtain-dur) - var(--curtain-swap)), -webkit-transform var(--curtain-move) var(--curtain-ease);
  transition: transform var(--curtain-move) var(--curtain-ease), opacity var(--curtain-swap) linear calc(var(--curtain-dur) - var(--curtain-swap));
  transition: transform var(--curtain-move) var(--curtain-ease), opacity var(--curtain-swap) linear calc(var(--curtain-dur) - var(--curtain-swap)), -webkit-transform var(--curtain-move) var(--curtain-ease);
}
@media (prefers-reduced-motion: reduce) {
  .p-story__curtain--left-close {
    display: none;
  }
}
@media (max-width: 47.9375rem) {
  .p-story__curtain--left-close {
    top: calc(var(--story-u) * -110);
    left: calc((100% - var(--story-u) * 750) / 2 - var(--story-u) * 323.5);
    width: calc(var(--story-u) * 838.5);
    height: calc(var(--story-u) * 1290);
  }
}

.p-story__curtain--right-close {
  top: calc(var(--story-u) * -176.34);
  left: calc(var(--story-u) * 967.37);
  width: calc(var(--story-u) * 963.5);
  height: calc(var(--story-u) * 1500.5);
  -webkit-transition: opacity var(--curtain-swap) linear calc(var(--curtain-dur) - var(--curtain-swap)), -webkit-transform var(--curtain-move) var(--curtain-ease);
  transition: opacity var(--curtain-swap) linear calc(var(--curtain-dur) - var(--curtain-swap)), -webkit-transform var(--curtain-move) var(--curtain-ease);
  transition: transform var(--curtain-move) var(--curtain-ease), opacity var(--curtain-swap) linear calc(var(--curtain-dur) - var(--curtain-swap));
  transition: transform var(--curtain-move) var(--curtain-ease), opacity var(--curtain-swap) linear calc(var(--curtain-dur) - var(--curtain-swap)), -webkit-transform var(--curtain-move) var(--curtain-ease);
}
@media (prefers-reduced-motion: reduce) {
  .p-story__curtain--right-close {
    display: none;
  }
}
@media (max-width: 47.9375rem) {
  .p-story__curtain--right-close {
    top: calc(var(--story-u) * -110);
    left: calc((100% - var(--story-u) * 750) / 2 + var(--story-u) * 235);
    width: calc(var(--story-u) * 838.5);
    height: calc(var(--story-u) * 1305.7);
  }
}

.p-story__curtain--left-open {
  top: calc(var(--story-u) * -176.23);
  left: calc(var(--story-u) * -529.45);
  width: calc(var(--story-u) * 963);
  height: calc(var(--story-u) * 1483);
  opacity: 0;
  -webkit-transition: opacity var(--curtain-swap) linear calc(var(--curtain-dur) - var(--curtain-swap));
  transition: opacity var(--curtain-swap) linear calc(var(--curtain-dur) - var(--curtain-swap));
}
@media (prefers-reduced-motion: reduce) {
  .p-story__curtain--left-open {
    opacity: 1;
    -webkit-transition: none;
    transition: none;
  }
}
@media (max-width: 47.9375rem) {
  .p-story__curtain--left-open {
    top: calc(var(--story-u) * 4);
    left: min(var(--story-u) * -20, (100% - var(--story-u) * 750) / 2 - var(--story-u) * 197);
    z-index: 0;
    width: max(var(--story-u) * 360, (100% - var(--story-u) * 750) / 2 + var(--story-u) * 183);
    height: calc(var(--story-u) * 1172);
  }
}

.p-story__curtain--right-open {
  top: calc(var(--story-u) * -166.86);
  left: calc(var(--story-u) * 1514.5);
  width: calc(var(--story-u) * 945);
  height: calc(var(--story-u) * 1481.583);
  opacity: 0;
  -webkit-transition: opacity var(--curtain-swap) linear calc(var(--curtain-dur) - var(--curtain-swap));
  transition: opacity var(--curtain-swap) linear calc(var(--curtain-dur) - var(--curtain-swap));
}
@media (prefers-reduced-motion: reduce) {
  .p-story__curtain--right-open {
    opacity: 1;
    -webkit-transition: none;
    transition: none;
  }
}
@media (max-width: 47.9375rem) {
  .p-story__curtain--right-open {
    top: 0;
    left: calc((100% - var(--story-u) * 750) / 2 + var(--story-u) * 577);
    z-index: 0;
    width: max(var(--story-u) * 371, (100% - var(--story-u) * 750) / 2 + var(--story-u) * 193);
    height: calc(var(--story-u) * 1181);
  }
}

.p-story.is-open .p-story__curtain--left-close {
  opacity: 0;
  -webkit-transform: translateX(calc(var(--story-u) * -518.75));
          transform: translateX(calc(var(--story-u) * -518.75));
}
@media (max-width: 47.9375rem) {
  .p-story.is-open .p-story__curtain--left-close {
    -webkit-transform: translateX(calc(var(--story-u) * -352));
            transform: translateX(calc(var(--story-u) * -352));
  }
}

.p-story.is-open .p-story__curtain--right-close {
  opacity: 0;
  -webkit-transform: translateX(calc(var(--story-u) * 538.25));
          transform: translateX(calc(var(--story-u) * 538.25));
}
@media (max-width: 47.9375rem) {
  .p-story.is-open .p-story__curtain--right-close {
    -webkit-transform: translateX(calc(var(--story-u) * 342));
            transform: translateX(calc(var(--story-u) * 342));
  }
}

.p-story.is-open .p-story__curtain--left-open,
.p-story.is-open .p-story__curtain--right-open {
  opacity: 1;
}

/* かいたんの由来
--------------------------------------------- */
.p-story__origin {
  --origin-u: calc(min(var(--viewport-width), 192rem) / 1920);
  --origin-bgu: calc(var(--viewport-width) / 1920);
  --origin-drop: calc(var(--origin-bgu) * 247.7 - var(--origin-u) * 247.7);
  --sprout-dur: 0.9s;
  --sprout-ease: cubic-bezier(0.55, 1.56, 0.64, 1);
  position: relative;
  width: 100%;
  padding-bottom: calc(var(--origin-u) * 46.68);
  margin-top: calc(var(--origin-u) * 49.92);
  z-index: -1;
}
@media (max-width: 47.9375rem) {
  .p-story__origin {
    --origin-u: clamp(var(--sp-u-320), calc(var(--viewport-width) / 750), calc(var(--kaitan-sp-max) / 750 * 1px));
    --origin-skyw: max(calc(var(--origin-u) * 1272.98), calc(100% + var(--origin-u) * 40));
    --origin-drop: 0px;
    padding-bottom: calc(var(--origin-u) * 13.4);
    margin-top: calc(var(--origin-u) * 36.2);
  }
}

.p-story__origin::before {
  content: "";
  background-image: url("../img/bg_kaitan_sky.svg");
  background-repeat: no-repeat;
  background-position: left top;
  background-size: calc(var(--origin-bgu) * 2008.36) calc(var(--origin-bgu) * 1529.22);
  display: block;
  position: absolute;
  top: calc(var(--origin-bgu) * -6.21);
  left: calc(var(--origin-bgu) * -41.06);
  z-index: 0;
  width: calc(var(--origin-bgu) * 2008.36);
  height: calc(var(--origin-bgu) * 340);
}
@media (max-width: 47.9375rem) {
  .p-story__origin::before {
    background-size: var(--origin-skyw) calc(var(--origin-skyw) / 1.31333);
    top: 0;
    left: min(var(--origin-u) * -20, (100% - var(--origin-u) * 750) / 2 - var(--origin-u) * 261);
    width: var(--origin-skyw);
    height: calc(var(--origin-u) * 220);
  }
}

.p-story__origin::after {
  content: "";
  background-color: #D6EEFB;
  display: block;
  position: absolute;
  top: calc(var(--origin-bgu) * 260);
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
}
@media (max-width: 47.9375rem) {
  .p-story__origin::after {
    top: calc(var(--origin-u) * 165);
  }
}

.p-story__origin-stage {
  position: relative;
  z-index: 1;
  width: calc(var(--origin-u) * 1920);
  padding-top: calc(var(--origin-u) * 308.5 + var(--origin-drop));
  margin: 0 auto;
}
@media (max-width: 47.9375rem) {
  .p-story__origin-stage {
    width: calc(var(--origin-u) * 750);
    padding-top: calc(var(--origin-u) * 314);
  }
}

.p-story__origin-copy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  gap: max(var(--origin-u) * 32, 21.33px);
}
@media (max-width: 47.9375rem) {
  .p-story__origin-copy {
    gap: calc(var(--origin-u) * 34);
  }
}

.p-story__origin-catch {
  color: #49B745;
  font-size: max(var(--origin-u) * 32, 26px);
  font-weight: 700;
  line-height: 2.2;
  letter-spacing: 0.05em;
  text-align: center;
  width: calc(max(var(--origin-u) * 504, 409.5px) + 0.25em);
}
@media (max-width: 47.9375rem) {
  .p-story__origin-catch {
    font-size: calc(var(--origin-u) * 40);
    line-height: 1.8;
    letter-spacing: 0;
    width: calc(var(--origin-u) * 600 + 0.25em);
  }
}

.p-story__origin-text {
  font-size: max(var(--origin-u) * 24, 16px);
  line-height: 2;
  letter-spacing: 0;
  width: max(var(--origin-u) * 543, 650px);
  text-align: center;
}
@media (max-width: 47.9375rem) {
  .p-story__origin-text {
    font-size: calc(var(--origin-u) * 32);
    width: calc(var(--origin-u) * 624);
  }
}

.p-story__origin-cloud {
  position: absolute;
}

.p-story__origin-cloud--1 {
  top: calc(var(--origin-u) * 308.5 + var(--origin-drop));
  left: calc(var(--origin-u) * 250);
  width: calc(var(--origin-u) * 358);
  height: calc(var(--origin-u) * 198);
}
@media (max-width: 47.9375rem) {
  .p-story__origin-cloud--1 {
    top: calc(var(--origin-u) * 292);
    left: calc(var(--origin-u) * -4);
    width: calc(var(--origin-u) * 347.15);
    height: calc(var(--origin-u) * 192);
  }
}

.p-story__origin-cloud--2 {
  top: calc(var(--origin-u) * 549.5 + var(--origin-drop));
  left: calc(var(--origin-u) * 1330);
  width: calc(var(--origin-u) * 358);
  height: calc(var(--origin-u) * 198);
}
@media (max-width: 47.9375rem) {
  .p-story__origin-cloud--2 {
    top: calc(var(--origin-u) * 806);
    left: auto;
    right: calc(var(--origin-u) * -0.49);
    width: calc(var(--origin-u) * 299.49);
    height: calc(var(--origin-u) * 165.64);
  }
}

.p-story__origin-cloud--3 {
  top: calc(var(--origin-u) * 914 + var(--origin-drop));
  left: calc(var(--origin-u) * 545.1);
  width: calc(var(--origin-u) * 162);
  height: calc(var(--origin-u) * 157);
}
@media (max-width: 47.9375rem) {
  .p-story__origin-cloud--3 {
    top: calc(var(--origin-u) * 1115);
    left: calc(var(--origin-u) * 162);
    width: calc(var(--origin-u) * 83.16);
    height: calc(var(--origin-u) * 80.59);
  }
}

.p-story__origin-sprout {
  position: relative;
  width: calc(var(--origin-u) * 409);
  height: calc(var(--origin-u) * 414);
  margin: calc(var(--origin-u) * 213.62) auto 0;
  opacity: 0;
  -webkit-transform: translateX(calc(var(--origin-u) * -7.17)) translateY(3rem) rotate(28.73deg);
          transform: translateX(calc(var(--origin-u) * -7.17)) translateY(3rem) rotate(28.73deg);
  -webkit-transition: opacity 0.8s ease-out, -webkit-transform 0.8s ease-out;
  transition: opacity 0.8s ease-out, -webkit-transform 0.8s ease-out;
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
  transition: opacity 0.8s ease-out, transform 0.8s ease-out, -webkit-transform 0.8s ease-out;
}
@media (prefers-reduced-motion: reduce) {
  .p-story__origin-sprout {
    opacity: 1;
    -webkit-transform: translateX(calc(var(--origin-u) * -7.17)) rotate(28.73deg);
            transform: translateX(calc(var(--origin-u) * -7.17)) rotate(28.73deg);
    -webkit-transition: none;
    transition: none;
  }
}

@media (max-width: 47.9375rem) {
  .p-story__origin-sprout {
    width: calc(var(--origin-u) * 252.09);
    height: calc(var(--origin-u) * 255.17);
    margin-top: calc(var(--origin-u) * 203.4);
    -webkit-transform: translateX(calc(var(--origin-u) * -4.42)) translateY(3rem) rotate(28.73deg);
            transform: translateX(calc(var(--origin-u) * -4.42)) translateY(3rem) rotate(28.73deg);
  }
}
@media (max-width: 47.9375rem) and (prefers-reduced-motion: reduce) {
  .p-story__origin-sprout {
    -webkit-transform: translateX(calc(var(--origin-u) * -4.42)) rotate(28.73deg);
            transform: translateX(calc(var(--origin-u) * -4.42)) rotate(28.73deg);
  }
}

.p-story__origin-sprout.is-active {
  opacity: 1;
  -webkit-transform: translateX(calc(var(--origin-u) * -7.17)) rotate(28.73deg);
          transform: translateX(calc(var(--origin-u) * -7.17)) rotate(28.73deg);
}
@media (max-width: 47.9375rem) {
  .p-story__origin-sprout.is-active {
    -webkit-transform: translateX(calc(var(--origin-u) * -4.42)) rotate(28.73deg);
            transform: translateX(calc(var(--origin-u) * -4.42)) rotate(28.73deg);
  }
}

.p-story__origin-soil {
  position: absolute;
  top: calc(var(--origin-u) * 105.5);
  left: calc(var(--origin-u) * 83);
  max-width: none;
  width: calc(var(--origin-u) * 326);
  height: calc(var(--origin-u) * 308.5);
}
@media (max-width: 47.9375rem) {
  .p-story__origin-soil {
    top: calc(var(--origin-u) * 65.02);
    left: calc(var(--origin-u) * 51.15);
    width: calc(var(--origin-u) * 200.9);
    height: calc(var(--origin-u) * 190.1);
  }
}

.p-story__origin-leaf {
  position: absolute;
  top: 0;
  left: 0;
  max-width: none;
  width: calc(var(--origin-u) * 215.5);
  height: calc(var(--origin-u) * 195.5);
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transform-origin: 81.2% 100%;
          transform-origin: 81.2% 100%;
  -webkit-transition: -webkit-transform var(--sprout-dur) var(--sprout-ease);
  transition: -webkit-transform var(--sprout-dur) var(--sprout-ease);
  transition: transform var(--sprout-dur) var(--sprout-ease);
  transition: transform var(--sprout-dur) var(--sprout-ease), -webkit-transform var(--sprout-dur) var(--sprout-ease);
}
@media (max-width: 47.9375rem) {
  .p-story__origin-leaf {
    width: calc(var(--origin-u) * 132.8);
    height: calc(var(--origin-u) * 120.5);
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-story__origin-leaf {
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
  }
}

.p-story__origin-sprout.is-active .p-story__origin-leaf {
  -webkit-transform: scale(1);
          transform: scale(1);
}

/*------------------------------------------------------------------------------
  p-profile
------------------------------------------------------------------------------*/
.p-profile {
  --profile-u: calc(min(var(--viewport-width), 192rem) / 1920);
  --profile-bgu: calc(var(--viewport-width) / 1920);
  --profile-pw: min(calc(var(--viewport-width) * 0.9), max(calc(var(--profile-u) * 1354), calc(var(--viewport-width) * 0.26086 + 543.27px)));
  --profile-cu: calc(var(--profile-pw) / 1354);
  --title02-u: var(--profile-u);
  background-image: -webkit-gradient(linear, left top, left bottom, from(#F7F09D), to(#F7F09D));
  background-image: linear-gradient(#F7F09D, #F7F09D);
  background-repeat: no-repeat;
  background-position: 0 calc(var(--profile-bgu) * 400);
  background-size: 100% calc(100% - var(--profile-bgu) * 800);
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  min-height: min(var(--profile-bgu) * 1623.859, 1623.859px);
  padding-bottom: min(var(--profile-bgu) * 312.859, 312.859px);
  margin-top: calc(var(--profile-bgu) * -225.5);
  margin-bottom: calc(var(--profile-bgu) * 111.14);
}
@media (max-width: 47.9375rem) {
  .p-profile {
    --profile-u: clamp(var(--sp-u-320), calc(var(--viewport-width) / 750), calc(var(--kaitan-sp-max) / 750 * 1px));
    --profile-bgw: max(calc(var(--profile-u) * 774), calc(100% + var(--profile-u) * 24));
    --profile-cu: var(--profile-u);
    background-image: none;
    min-height: 0;
    padding: calc(var(--profile-u) * 180) 0 calc(var(--profile-u) * 259);
    margin-top: calc(var(--profile-u) * -110);
    margin-bottom: calc(var(--profile-u) * 158);
  }
}

.p-profile::before,
.p-profile::after {
  content: "";
  background-image: url("../img/bg_kaitan_profile.svg");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  display: block;
  position: absolute;
  left: calc(var(--profile-bgu) * -9.41);
  z-index: 0;
  width: calc(var(--profile-bgu) * 1939.87);
  height: calc(var(--profile-bgu) * 888.449);
}
@media (max-width: 47.9375rem) {
  .p-profile::before,
  .p-profile::after {
    background-image: url("../img/bg_kaitan_profile_sp.svg");
    left: 50%;
    width: var(--profile-bgw);
    margin-left: calc(var(--profile-bgw) / -2);
  }
}

.p-profile::before {
  top: calc(var(--profile-bgu) * -9.13);
}
@media (max-width: 47.9375rem) {
  .p-profile::before {
    background-image: url("../img/bg_kaitan_profile_sp.svg"), -webkit-gradient(linear, left top, left bottom, from(#F7F09D), to(#F7F09D));
    background-image: url("../img/bg_kaitan_profile_sp.svg"), linear-gradient(#F7F09D, #F7F09D);
    background-position: 0 0, 0 calc(var(--profile-u) * 780);
    background-size: 100% calc(var(--profile-u) * 781), 100% 100%;
    top: 0;
    height: calc(100% - var(--profile-u) * 781);
  }
}

.p-profile::after {
  top: auto;
  bottom: calc(var(--profile-bgu) * -9.46);
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media (max-width: 47.9375rem) {
  .p-profile::after {
    top: auto;
    bottom: 0;
    height: calc(var(--profile-u) * 781);
  }
}

.p-profile__stage {
  position: relative;
  z-index: 1;
  width: calc(var(--profile-u) * 1920);
  padding-top: calc(var(--profile-u) * 569);
  margin: 0 auto;
}
@media (max-width: 47.9375rem) {
  .p-profile__stage {
    width: calc(var(--profile-u) * 750);
    padding-top: 0;
  }
}

.p-profile__title {
  position: absolute;
  top: calc(var(--profile-u) * 252);
  left: 50%;
  width: calc(var(--profile-u) * 1200);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media (max-width: 47.9375rem) {
  .p-profile__title {
    position: static;
    width: auto;
    margin-bottom: calc(var(--profile-u) * 64);
    -webkit-transform: none;
            transform: none;
  }
}

.p-profile__container {
  background-color: #FFFFFF;
  border-radius: calc(var(--profile-cu) * 24);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(var(--profile-u) * 32);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: var(--profile-pw);
  min-height: calc(var(--profile-cu) * 742);
  padding: calc(var(--profile-u) * 88);
  margin: 0 auto;
}
@media (max-width: 47.9375rem) {
  .p-profile__container {
    background-color: transparent;
    border-radius: 0;
    position: static;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
    width: 100%;
    min-height: 0;
    padding: 0;
  }
}

.p-profile__cards {
  display: contents;
}
@media (max-width: 47.9375rem) {
  .p-profile__cards {
    background-color: #FFFFFF;
    border-radius: calc(var(--profile-u) * 16);
    -webkit-box-shadow: calc(var(--profile-u) * 8) calc(var(--profile-u) * 8) calc(var(--profile-u) * 4) rgba(193, 141, 79, 0.5);
            box-shadow: calc(var(--profile-u) * 8) calc(var(--profile-u) * 8) calc(var(--profile-u) * 4) rgba(193, 141, 79, 0.5);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(var(--profile-u) * 40);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    padding: calc(var(--profile-u) * 84) calc(var(--profile-u) * 20);
  }
}

.p-profile__cards-line {
  display: none;
}
@media (max-width: 47.9375rem) {
  .p-profile__cards-line {
    display: block;
    position: absolute;
    top: calc(var(--profile-u) * 26);
    left: calc(var(--profile-u) * 22);
    width: calc(100% - var(--profile-u) * 44);
    height: calc(100% - var(--profile-u) * 52);
    overflow: visible;
    pointer-events: none;
  }
}

.p-profile__cards-line rect {
  fill: none;
  stroke: #F7F09D;
  stroke-width: calc(var(--profile-u) * 4);
  stroke-dasharray: calc(var(--profile-u) * 11) calc(var(--profile-u) * 13);
  stroke-linecap: round;
  rx: calc(var(--profile-u) * 16);
}

.p-profile__card {
  background-color: #FFFFFF;
  border-radius: calc(var(--profile-cu) * 16);
  -webkit-box-shadow: calc(var(--profile-cu) * 8) calc(var(--profile-cu) * 8) calc(var(--profile-cu) * 4) rgba(193, 141, 79, 0.5);
          box-shadow: calc(var(--profile-cu) * 8) calc(var(--profile-cu) * 8) calc(var(--profile-cu) * 4) rgba(193, 141, 79, 0.5);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 calc(var(--profile-cu) * 312);
          flex: 1 1 calc(var(--profile-cu) * 312);
  min-width: 0;
  padding: calc(var(--profile-u) * 16);
}
@media (max-width: 47.9375rem) {
  .p-profile__card {
    background-color: transparent;
    border-radius: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    display: block;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
    padding: 0;
  }
}

.p-profile__card--left {
  min-height: calc(var(--profile-cu) * 566);
}
@media (max-width: 47.9375rem) {
  .p-profile__card--left {
    min-height: 0;
  }
}

.p-profile__card--right {
  min-height: calc(var(--profile-cu) * 566);
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}
@media (max-width: 47.9375rem) {
  .p-profile__card--right {
    min-height: 0;
  }
}

.p-profile__card-frame {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  padding: calc(var(--profile-u) * 40) calc(var(--profile-u) * 32);
}
@media (max-width: 47.9375rem) {
  .p-profile__card-frame {
    height: auto;
    padding: 0;
  }
}

.p-profile__card--left .p-profile__card-frame {
  padding-right: calc(var(--profile-u) * 24);
}
@media (max-width: 47.9375rem) {
  .p-profile__card--left .p-profile__card-frame {
    padding: 0;
  }
}

@media (max-width: 85.375rem) {
  .p-profile__card--right .p-profile__card-frame {
    padding-left: calc(var(--profile-u) * 26);
    padding-right: calc(var(--profile-u) * 26);
  }
}
@media (max-width: 47.9375rem) {
  .p-profile__card--right .p-profile__card-frame {
    padding: 0;
  }
}

.p-profile__card-line {
  position: absolute;
  top: calc(var(--profile-u) * 2);
  left: calc(var(--profile-u) * 2);
  width: calc(100% - var(--profile-u) * 4);
  height: calc(100% - var(--profile-u) * 4);
  overflow: visible;
  pointer-events: none;
}
@media (max-width: 47.9375rem) {
  .p-profile__card-line {
    display: none;
  }
}

.p-profile__card-line rect {
  fill: none;
  stroke: #F7F09D;
  stroke-width: calc(var(--profile-u) * 4);
  stroke-dasharray: calc(var(--profile-u) * 11) calc(var(--profile-u) * 13);
  stroke-linecap: round;
  rx: calc(var(--profile-u) * 16);
}

.p-profile__list {
  letter-spacing: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: max(var(--profile-u) * 24, 20px);
}
@media (max-width: 47.9375rem) {
  .p-profile__list {
    gap: calc(var(--profile-u) * 40);
    width: calc(var(--profile-u) * 540);
    margin: 0 auto;
  }
}

.p-profile__term {
  color: #F5B090;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: max(var(--profile-u) * 18, 15px);
  font-weight: 800;
  line-height: 1.5;
  margin-bottom: max(var(--profile-u) * 4, 3.33px);
}
@media (max-width: 47.9375rem) {
  .p-profile__term {
    font-size: calc(var(--profile-u) * 32);
    margin-bottom: calc(var(--profile-u) * 8);
  }
}

.p-profile__desc {
  font-size: max(var(--profile-u) * 18, 15px);
  line-height: 1.4444;
}
@media (max-width: 53.75rem) {
  .p-profile__desc .u-nobr {
    white-space: normal;
  }
}
@media (max-width: 47.9375rem) {
  .p-profile__desc {
    font-size: calc(var(--profile-u) * 32);
    line-height: 1.4375;
  }
}

.p-profile__visual {
  background-color: #D6EEFB;
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  width: calc(var(--profile-cu) * 426);
  min-height: calc(var(--profile-cu) * 565.75);
}
@media (max-width: 47.9375rem) {
  .p-profile__visual {
    background-color: transparent;
    -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center;
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
    width: calc(var(--profile-u) * 640);
    min-height: 0;
    height: calc(var(--profile-u) * 850);
    margin: 0 0 calc(var(--profile-u) * 64);
  }
}

.p-profile__bg {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: calc(var(--profile-cu) * 565.75);
}
@media (max-width: 87.5rem) {
  .p-profile__bg {
    bottom: auto;
    top: 0;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: 50% 0;
       object-position: 50% 0;
  }
}
@media (max-width: 47.9375rem) {
  .p-profile__bg {
    position: static;
    height: 100%;
    -o-object-fit: fill;
       object-fit: fill;
    -o-object-position: 50% 50%;
       object-position: 50% 50%;
  }
}

.p-profile__char {
  --char-drop: 6.39%;
  position: absolute;
  bottom: calc(var(--profile-cu) * 107.76);
  left: 50%;
  width: calc(var(--profile-cu) * 245);
  height: calc(var(--profile-cu) * 303.08);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media (max-width: 87.5rem) {
  .p-profile__char {
    --char-drop: 10.59%;
    bottom: auto;
    top: max(var(--profile-cu) * 230.4, 29.95%);
    width: auto;
    height: max(var(--profile-cu) * 302.96, 39.37%);
    aspect-ratio: 245/303.08;
  }
}
@media (max-width: 47.9375rem) {
  .p-profile__char {
    --char-drop: 7.91%;
    aspect-ratio: auto;
    bottom: auto;
    top: calc(var(--profile-u) * 237);
    width: calc(var(--profile-u) * 359);
    height: calc(var(--profile-u) * 445);
  }
}

.p-profile__char-img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: 50% 100%;
     object-position: 50% 100%;
  opacity: 0;
  -webkit-transform-origin: 50% 100%;
          transform-origin: 50% 100%;
  -webkit-transform: translate(var(--char-x, 0%), calc(var(--char-drop) + var(--char-pad, 0%) + var(--char-y, 0%))) scale(var(--char-scale, 1));
          transform: translate(var(--char-x, 0%), calc(var(--char-drop) + var(--char-pad, 0%) + var(--char-y, 0%))) scale(var(--char-scale, 1));
  -webkit-transition: opacity 0.8s ease;
  transition: opacity 0.8s ease;
}
@media (prefers-reduced-motion: reduce) {
  .p-profile__char-img {
    -webkit-transition: none;
    transition: none;
  }
}
.p-profile__char-img.is-active {
  opacity: 1;
}

.p-profile__char-img--002 {
  --char-scale: 1.12;
  --char-pad: calc(2.34% * var(--char-scale));
}

.p-profile__char-img--006 {
  --char-pad: 1.39%;
}

.p-profile__char-img--005 {
  --char-x: 7%;
}

.p-profile__char-img--009 {
  --char-scale: 1.12;
  --char-y: 3.61%;
}

/*------------------------------------------------------------------------------
  p-gallery
------------------------------------------------------------------------------*/
.p-gallery {
  --gallery-u: calc(min(var(--viewport-width), 192rem) / 1920);
  --title02-u: var(--gallery-u);
  --gallery-dur: 70s;
  position: relative;
  width: 100%;
  padding-bottom: calc(var(--gallery-u) * 96);
}
@media (max-width: 47.9375rem) {
  .p-gallery {
    --gallery-u: clamp(var(--sp-u-320), calc(var(--viewport-width) / 750), calc(var(--kaitan-sp-max) / 750 * 1px));
    padding-bottom: calc(var(--gallery-u) * 137);
  }
}

.p-gallery__lead {
  font-size: calc(var(--gallery-u) * 32);
  line-height: 1.4375;
  letter-spacing: 0;
  text-align: center;
  white-space: nowrap;
  margin-top: calc(var(--gallery-u) * 32);
}
@media (max-width: 47.9375rem) {
  .p-gallery__lead {
    margin-top: calc(var(--gallery-u) * 16);
  }
}

.p-gallery__slider {
  position: relative;
  width: 100%;
  height: calc(var(--gallery-u) * 792);
  overflow: hidden;
  margin-top: calc(var(--gallery-u) * -2);
}
@media (max-width: 47.9375rem) {
  .p-gallery__slider {
    margin-top: calc(var(--gallery-u) * -54);
  }
}

.p-gallery__track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  will-change: transform;
  -webkit-animation: kaitanGalleryFlow var(--gallery-dur) linear infinite;
          animation: kaitanGalleryFlow var(--gallery-dur) linear infinite;
}
@media (max-width: 47.9375rem) {
  .p-gallery__track {
    margin-left: calc(var(--gallery-u) * -97);
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-gallery__track {
    -webkit-animation: none;
            animation: none;
  }
}

.p-gallery__group {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  width: calc(var(--gallery-u) * 4863);
  height: calc(var(--gallery-u) * 792);
}

.p-gallery__item {
  position: absolute;
  max-width: none;
}

.p-gallery__item--1 {
  top: calc(var(--gallery-u) * 150.981);
  left: 0;
  width: calc(var(--gallery-u) * 574);
  height: calc(var(--gallery-u) * 529.619);
}

.p-gallery__item--2 {
  top: 0;
  left: calc(var(--gallery-u) * 479);
  width: calc(var(--gallery-u) * 619.011);
  height: calc(var(--gallery-u) * 616.133);
}

.p-gallery__item--3 {
  top: calc(var(--gallery-u) * 328);
  left: calc(var(--gallery-u) * 958);
  width: calc(var(--gallery-u) * 476.77);
  height: calc(var(--gallery-u) * 463.942);
}

.p-gallery__item--4 {
  top: calc(var(--gallery-u) * 166);
  left: calc(var(--gallery-u) * 1406);
  width: calc(var(--gallery-u) * 557.721);
  height: calc(var(--gallery-u) * 514.599);
}

.p-gallery__item--5 {
  top: 0;
  left: calc(var(--gallery-u) * 1914);
  width: calc(var(--gallery-u) * 619.011);
  height: calc(var(--gallery-u) * 616.133);
}

.p-gallery__item--6 {
  top: calc(var(--gallery-u) * 328);
  left: calc(var(--gallery-u) * 2393);
  width: calc(var(--gallery-u) * 476.77);
  height: calc(var(--gallery-u) * 463.942);
}

.p-gallery__item--7 {
  top: calc(var(--gallery-u) * 166);
  left: calc(var(--gallery-u) * 2841);
  width: calc(var(--gallery-u) * 557.721);
  height: calc(var(--gallery-u) * 514.599);
}

.p-gallery__item--8 {
  top: 0;
  left: calc(var(--gallery-u) * 3349);
  width: calc(var(--gallery-u) * 619.011);
  height: calc(var(--gallery-u) * 616.133);
}

.p-gallery__item--9 {
  top: calc(var(--gallery-u) * 282);
  left: calc(var(--gallery-u) * 3828);
  width: calc(var(--gallery-u) * 476.77);
  height: calc(var(--gallery-u) * 509.942);
}

.p-gallery__item--10 {
  top: calc(var(--gallery-u) * 170);
  left: calc(var(--gallery-u) * 4334);
  width: calc(var(--gallery-u) * 557.721);
  height: calc(var(--gallery-u) * 514.599);
}

@-webkit-keyframes kaitanGalleryFlow {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-33.3333%);
            transform: translateX(-33.3333%);
  }
}

@keyframes kaitanGalleryFlow {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-33.3333%);
            transform: translateX(-33.3333%);
  }
}
/*------------------------------------------------------------------------------
  p-goods
------------------------------------------------------------------------------*/
.p-goods {
  --goods-u: calc(min(var(--viewport-width), 192rem) / 1920);
  --goods-bgu: calc(var(--viewport-width) / 1920);
  position: relative;
  width: 100%;
  height: calc(var(--goods-u) * 1377 + var(--goods-bgu) * 615);
}
@media (max-width: 47.9375rem) {
  .p-goods {
    --goods-u: clamp(var(--sp-u-320), calc(var(--viewport-width) / 750), calc(var(--kaitan-sp-max) / 750 * 1px));
    --goods-ringu: calc(var(--viewport-width) / 750);
    --goods-bgw: max(calc(var(--goods-u) * 792.867), calc(100% + var(--goods-u) * 42.8));
    height: calc(var(--goods-u) * 1183);
  }
}

.p-goods::before {
  content: "";
  background-image: url("../img/bg_kaitan_ground.svg?ver1.0");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  display: block;
  position: absolute;
  top: calc(var(--goods-u) * 1377);
  left: calc(var(--goods-bgu) * -10.36);
  z-index: 0;
  width: calc(var(--goods-bgu) * 1939.85);
  height: calc(var(--goods-bgu) * 619.211);
}
@media (max-width: 47.9375rem) {
  .p-goods::before {
    background-image: url("../img/bg_kaitan_ground_sp.svg");
    top: calc(var(--goods-u) * 828.1);
    left: 50%;
    width: var(--goods-bgw);
    height: calc(var(--goods-u) * 366.458);
    margin-left: calc(var(--goods-bgw) / -2);
  }
}

.p-goods__stage {
  position: relative;
  width: calc(var(--goods-u) * 1920);
  height: 100%;
  margin: 0 auto;
}
@media (max-width: 47.9375rem) {
  .p-goods__stage {
    width: calc(var(--goods-u) * 750);
  }
}

/* 円形の「Coming Soon」
--------------------------------------------- */
.p-goods__ring-wrap {
  display: contents;
}
@media (max-width: 47.9375rem) {
  .p-goods__ring-wrap {
    display: block;
    position: absolute;
    top: calc(var(--goods-ringu) * 7.85);
    left: 50%;
    z-index: -1;
    width: calc(var(--goods-ringu) * 1102.43);
    height: calc(var(--goods-ringu) * 632);
    overflow: hidden;
    margin-left: calc(var(--goods-ringu) * -551.215);
  }
}

.p-goods__ring {
  position: absolute;
  top: calc(var(--goods-u) * 57.874);
  left: calc(var(--goods-u) * -205);
  z-index: -1;
  width: calc(var(--goods-u) * 2350);
  height: calc(var(--goods-u) * 2350);
  --ring-font-size: 217.76px;
  --ring-spacing: 0.9075px;
}
@media (max-width: 47.9375rem) {
  .p-goods__ring {
    top: calc(var(--goods-ringu) * 15.95);
    left: 0;
    width: calc(var(--goods-ringu) * 1102.43);
    height: calc(var(--goods-ringu) * 1102.43);
  }
}

/* 掲示板
--------------------------------------------- */
.p-goods__board {
  position: absolute;
  top: calc(var(--goods-u) * 684.875);
  left: calc(var(--goods-u) * 378);
  width: calc(var(--goods-u) * 1163);
  height: calc(var(--goods-u) * 912);
}
@media (max-width: 47.9375rem) {
  .p-goods__board {
    top: calc(var(--goods-u) * 417);
    left: calc(var(--goods-u) * 38);
    width: calc(var(--goods-u) * 674);
    height: calc(var(--goods-u) * 528);
  }
}

.p-goods__board-img {
  position: absolute;
  top: calc(var(--goods-u) * -9.375);
  left: calc(var(--goods-u) * -9.5);
  width: calc(var(--goods-u) * 1183);
  height: calc(var(--goods-u) * 931);
  max-width: none;
}
@media (max-width: 47.9375rem) {
  .p-goods__board-img {
    top: calc(var(--goods-u) * -9.5);
    width: calc(var(--goods-u) * 693);
    height: calc(var(--goods-u) * 547);
  }
}

.p-goods__notice {
  color: #1375BA;
  font-size: calc(var(--goods-u) * 64);
  font-weight: 700;
  line-height: 1.4531;
  letter-spacing: 0.05em;
  text-align: center;
  white-space: nowrap;
  position: absolute;
  top: calc(var(--goods-u) * 239);
  left: calc(var(--goods-u) * 451);
  width: calc(var(--goods-u) * 269);
}
@media (max-width: 47.9375rem) {
  .p-goods__notice {
    font-size: calc(var(--goods-u) * 40);
    line-height: 1.45;
    top: calc(var(--goods-u) * 120);
    left: calc(var(--goods-u) * 204);
  }
}

.p-goods__notice::after {
  content: "";
  background-color: #F5B090;
  border-radius: calc(var(--goods-u) * 4);
  display: block;
  position: absolute;
  top: calc(var(--goods-u) * 89.5);
  left: calc(var(--goods-u) * -2);
  width: calc(var(--goods-u) * 275);
  height: calc(var(--goods-u) * 8);
}
@media (max-width: 47.9375rem) {
  .p-goods__notice::after {
    top: calc(var(--goods-u) * 57);
    left: calc(var(--goods-u) * 46);
    width: calc(var(--goods-u) * 174);
  }
}

.p-goods__lead {
  font-size: calc(var(--goods-u) * 32);
  font-weight: 700;
  line-height: 1.4375;
  letter-spacing: 0;
  text-align: center;
  white-space: nowrap;
  position: absolute;
  top: calc(var(--goods-u) * 356);
  left: calc(var(--goods-u) * 328);
  width: calc(var(--goods-u) * 512);
}
@media (max-width: 47.9375rem) {
  .p-goods__lead {
    font-size: calc(var(--goods-u) * 30);
    line-height: 1.4333;
    top: calc(var(--goods-u) * 194);
    left: calc(var(--goods-u) * 102);
    width: calc(var(--goods-u) * 480);
  }
}

/* キャラクター
--------------------------------------------- */
.p-goods__char {
  position: absolute;
}

.p-goods__char--top {
  top: calc(var(--goods-u) * 464);
  left: calc(var(--goods-u) * 334.69);
  width: calc(var(--goods-u) * 339.31);
  height: auto;
}
@media (max-width: 47.9375rem) {
  .p-goods__char--top {
    top: calc(var(--goods-u) * 276.4);
    left: calc(var(--goods-u) * 30.11);
    width: calc(var(--goods-u) * 214.51);
    height: auto;
  }
}

.p-goods__char--bottom {
  top: calc(var(--goods-u) * 1442.875);
  left: calc(var(--goods-u) * 1252);
  width: calc(var(--goods-u) * 234);
  height: calc(var(--goods-u) * 366);
}
@media (max-width: 47.9375rem) {
  .p-goods__char--bottom {
    top: calc(var(--goods-u) * 795);
    left: calc(var(--goods-u) * 477);
    width: calc(var(--goods-u) * 132);
    height: calc(var(--goods-u) * 206);
  }
}

/*------------------------------------------------------------------------------
  p-form-page
------------------------------------------------------------------------------*/
.p-form-page {
  padding: 18rem 0 14rem;
}
@media (max-width: 97.5rem) {
  .p-form-page {
    padding-top: 16rem;
  }
}
@media (max-width: 85.375rem) {
  .p-form-page {
    padding-top: 15rem;
  }
}
@media (max-width: 63.9375rem) {
  .p-form-page {
    padding-bottom: 10rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-form-page {
    padding: 11rem 0 8rem;
  }
}

.p-form-page__lead {
  font-size: max(1.8rem, 15px);
  line-height: 1.8;
  text-align: center;
  margin-top: 4.8rem;
}
@media (max-width: 63.9375rem) {
  .p-form-page__lead {
    font-size: max(1.6rem, 15px);
    margin-top: 3.6rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-form-page__lead {
    font-size: clamp(1.3rem, 3.467vw, 1.6rem);
    text-align: left;
    margin-top: 2.8rem;
  }
}

/* 白い面
--------------------------------------------- */
.p-form-page__box {
  background-color: #FFFFFF;
  border-radius: 1.6rem;
  -webkit-box-shadow: 0.4rem 0.4rem 0.2rem rgba(193, 141, 79, 0.5);
          box-shadow: 0.4rem 0.4rem 0.2rem rgba(193, 141, 79, 0.5);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-width: 100rem;
  margin: 4.8rem auto 0;
  padding: 5.6rem 8rem;
}
@media (max-width: 63.9375rem) {
  .p-form-page__box {
    margin-top: 3.6rem;
    padding: 4rem 4rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-form-page__box {
    border-radius: 1.2rem;
    -webkit-box-shadow: 0.2rem 0.2rem 0.1rem rgba(193, 141, 79, 0.5);
            box-shadow: 0.2rem 0.2rem 0.1rem rgba(193, 141, 79, 0.5);
    margin-top: 2.8rem;
    padding: 2.8rem 2rem;
  }
}

.p-form-page__box--message,
.p-form-page__box--error {
  max-width: 86rem;
}

/* 確認画面：項目名＋入力値
--------------------------------------------- */
.p-form-page__row {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 25.6rem 2.4rem 1fr;
  grid-template-columns: 25.6rem 1fr;
  gap: 0 2.4rem;
  border-bottom: 1px solid #EBEBEB;
  padding: 2rem 0;
}
.p-form-page__row:first-child {
  padding-top: 0;
}
.p-form-page__row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
@media (max-width: 63.9375rem) {
  .p-form-page__row {
    -ms-grid-columns: 20rem 1.6rem 1fr;
    grid-template-columns: 20rem 1fr;
    gap: 0 1.6rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-form-page__row {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    row-gap: 0.4rem;
    padding: 1.6rem 0;
  }
}

.p-form-page__term {
  font-size: max(1.8rem, 15px);
  font-weight: 700;
  line-height: 1.6;
}
@media (max-width: 63.9375rem) {
  .p-form-page__term {
    font-size: max(1.6rem, 15px);
  }
}
@media (max-width: 47.9375rem) {
  .p-form-page__term {
    font-size: clamp(1.3rem, 3.467vw, 1.6rem);
  }
}

.p-form-page__desc {
  font-size: max(1.8rem, 15px);
  line-height: 1.7;
  overflow-wrap: anywhere;
}
@media (max-width: 63.9375rem) {
  .p-form-page__desc {
    font-size: max(1.6rem, 15px);
  }
}
@media (max-width: 47.9375rem) {
  .p-form-page__desc {
    font-size: clamp(1.3rem, 3.467vw, 1.6rem);
  }
}

/* 完了画面
--------------------------------------------- */
.p-form-page__head {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  position: relative;
}

.p-form-page__illust {
  display: block;
  position: absolute;
  bottom: 0;
  left: 100%;
  width: auto;
  height: 100%;
  margin-left: 2.4rem;
}
@media (max-width: 47.9375rem) {
  .p-form-page__illust {
    height: 105%;
    margin-left: 1.2rem;
  }
}

.p-form-page__message {
  font-size: max(1.8rem, 15px);
  line-height: 2;
  text-align: center;
}
.p-form-page__message + .p-form-page__message {
  margin-top: 2.4rem;
}
@media (max-width: 63.9375rem) {
  .p-form-page__message {
    font-size: max(1.6rem, 15px);
  }
}
@media (max-width: 47.9375rem) {
  .p-form-page__message {
    font-size: clamp(1.3rem, 3.467vw, 1.6rem);
    text-align: left;
  }
  .p-form-page__message + .p-form-page__message {
    margin-top: 1.6rem;
  }
}

.p-form-page__note {
  color: #8F9493;
  font-size: max(1.5rem, 15px);
  line-height: 1.8;
  text-align: center;
  margin-top: 3.2rem;
}
@media (max-width: 63.9375rem) {
  .p-form-page__note {
    font-size: max(1.4rem, 15px);
  }
}
@media (max-width: 47.9375rem) {
  .p-form-page__note {
    font-size: clamp(1.2rem, 3.2vw, 1.4rem);
    text-align: left;
    margin-top: 2.4rem;
  }
}

/* エラー画面
--------------------------------------------- */
.p-form-page__error {
  color: #C4291C;
  font-size: max(1.8rem, 15px);
  font-weight: 700;
  line-height: 1.7;
  padding-left: 1.4em;
  position: relative;
}
.p-form-page__error + .p-form-page__error {
  margin-top: 1.6rem;
}
.p-form-page__error::before {
  content: "！";
  position: absolute;
  top: 0;
  left: 0;
}
@media (max-width: 63.9375rem) {
  .p-form-page__error {
    font-size: max(1.6rem, 15px);
  }
}
@media (max-width: 47.9375rem) {
  .p-form-page__error {
    font-size: clamp(1.3rem, 3.467vw, 1.6rem);
  }
  .p-form-page__error + .p-form-page__error {
    margin-top: 1.2rem;
  }
}

/* reCAPTCHA
--------------------------------------------- */
.p-form-page__recaptcha {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 4.8rem;
}
@media (max-width: 47.9375rem) {
  .p-form-page__recaptcha {
    margin-top: 3.6rem;
  }
}

/* ボタン
--------------------------------------------- */
.p-form-page__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4rem;
  margin-top: 6.4rem;
}
@media (max-width: 63.9375rem) {
  .p-form-page__btns {
    gap: 2.4rem;
    margin-top: 4.8rem;
  }
}
@media (max-width: 47.9375rem) {
  .p-form-page__btns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.6rem;
    margin-top: 3.6rem;
  }
}

/*------------------------------------------------------------------------------
  u-visually-hidden
------------------------------------------------------------------------------*/
.u-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/*------------------------------------------------------------------------------
  u-sp / u-pc
------------------------------------------------------------------------------*/
.u-sp {
  display: none !important;
}
@media (max-width: 47.9375rem) {
  .u-sp {
    display: block !important;
  }
}

@media (max-width: 47.9375rem) {
  .u-pc {
    display: none !important;
  }
}

@media (max-width: 90rem) {
  .u-pc-1440 {
    display: none !important;
  }
}

.u-nobr {
  white-space: nowrap;
}

@media (max-width: 47.9375rem) {
  .u-nobr-sp {
    white-space: nowrap;
  }
}
