@charset "UTF-8";
:root {
  --font-jp: "Noto Sans JP", sans-serif;
  --font-en: "Poppins", sans-serif;
  --color-text: #000;
  --color-primary: #E95504;
  --color-secondary: #F7F090;
  --color-link: #1F62FF;
  --color-secondarybg: #FBF7C7;
  --gray: #676767;
  --lightgray: #D9D9D9;
  --grade: linear-gradient(135deg,#FEEB88 0%,#F9C372 25%,#EC5F3C 75%,#EA4D32 85%,#E8442D);
}

/*
Template Name: Untrois
*/
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;
}

body {
  line-height: 1;
}

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

ol, 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;
  text-decoration: none;
  cursor: pointer;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
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;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

/* # =================================================================
# Forms # ================================================================= */
input {
  border-radius: 0;
}

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

[type=search] {
  -webkit-appearance: textfield; /* Correct the odd appearance in Chrome and Safari */
  outline-offset: -2px; /* Correct the outline style in Safari */
}

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

textarea {
  overflow: auto; /* Internet Explorer 11+ */
  resize: vertical; /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit; /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold; /* Restore the font weight unset by the previous rule */
}

button {
  overflow: visible; /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

button,
select {
  text-transform: none; /* Firefox 40+, Internet Explorer 11- */
}

/* Apply cursor pointer to button elements */
button,
[type=button],
[type=reset],
[type=submit],
[role=button] {
  cursor: pointer;
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  outline: 1px dotted #000;
}

button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button; /* Correct the inability to style clickable types in iOS */
}

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
  outline-width: 0;
  outline: none;
}

/* Style select like a standard input */
select {
  -moz-appearance: none; /* Firefox 36+ */
  -webkit-appearance: none; /* Chrome 41+ */
}

select::-ms-expand {
  display: none; /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentColor; /* Internet Explorer 11+ */
}

legend {
  border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit; /* Correct the color inheritance from `fieldset` elements in IE */
  display: table; /* Correct the text wrapping in Edge and IE */
  max-width: 100%; /* Correct the text wrapping in Edge and IE */
  white-space: normal; /* Correct the text wrapping in Edge and IE */
  max-width: 100%; /* Correct the text wrapping in Edge 18- and IE */
}

::-webkit-file-upload-button {
  /* Correct the inability to style clickable types in iOS and Safari */
  -webkit-appearance: button;
  color: inherit;
  font: inherit; /* Change font properties to `inherit` in Chrome and Safari */
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

/* org-add */
*,
*::before,
*::after {
  background-repeat: no-repeat;
  box-sizing: border-box;
}

::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit;
}

@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
    user-select: initial !important;
    -webkit-user-select: initial !important;
  }
}

textarea, input[type=text], input[type=email], input[type=tel] {
  font-size: max(1.15rem, 16px);
}
@media screen and (min-width: 768px) {
  textarea, input[type=text], input[type=email], input[type=tel] {
    font-size: max(1rem, 16px);
  }
}

html {
  scroll-behavior: smooth;
}

body {
  position: relative;
  font-family: var(--font-jp);
  font-weight: 500;
  font-size: clamp(0.75rem, 3.08vw, 0.875rem);
  font-optical-sizing: auto;
  color: var(--color-text);
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background-color: #fff;
}
_::-webkit-full-page-media, _:future, :root body {
  min-height: -webkit-fill-available;
}

@media screen and (min-width: 768px) {
  body {
    font-size: clamp(1rem, 0.94vw, 1.125rem);
  }
}

main {
  flex: 1;
}

section {
  scroll-margin-top: 50px;
}
@media screen and (min-width: 768px) {
  section {
    scroll-margin-top: min(10.42vw, 180px);
  }
}

p {
  text-align: justify;
}

a {
  color: var(--color-text);
  user-select: none;
  -webkit-user-select: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

input, textarea {
  font-size: clamp(0.75rem, 3.08vw, 0.875rem) !important;
  cursor: auto;
  resize: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
@media screen and (min-width: 768px) {
  input, textarea {
    font-size: clamp(1rem, 0.94vw, 1.125rem) !important;
  }
}

label {
  cursor: auto;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* l-header */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  pointer-events: none;
  width: 100%;
}
@media screen and (min-width: 1025px) {
  .l-header {
    right: 0;
    left: initial;
    height: 100svh;
  }
}

.l-header__container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
@media screen and (min-width: 1025px) {
  .l-header__container {
    flex-direction: column;
    height: 100%;
    align-items: flex-end;
  }
}

.l-header__logobox {
  width: clamp(5.4375rem, 16.54vw, 7.9375rem);
  padding: 14px 0 0 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 1025px) {
  .l-header__logobox {
    background-color: #fff;
    width: clamp(6.25rem, 23.44vw, 13.8125rem);
    padding: clamp(27px, 2.45vw, 47px) 0;
  }
}

.l-header__logo {
  width: 100%;
  height: auto;
  aspect-ratio: 126/200;
  display: block;
  pointer-events: auto;
}
@media screen and (min-width: 1025px) {
  .l-header__logo {
    width: 57%;
  }
}

.l-header__detailbox {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-right: 20px;
}
@media screen and (min-width: 1025px) {
  .l-header__detailbox {
    margin-right: 33px;
    flex: 1;
    row-gap: 5.74vh;
  }
}

.l-header__mailbox {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  border: clamp(1px, 0.26vw, 2px) solid var(--color-text);
  width: clamp(2.5rem, 7.81vw, 3.75rem);
  height: clamp(2.5rem, 7.81vw, 3.75rem);
  pointer-events: auto;
}
.l-header__mailbox::after {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  display: block;
  width: 55%;
  height: auto;
  aspect-ratio: 33/23;
  background-color: var(--color-text);
  -webkit-mask-image: url(../../uploads/mail-icon_img.png);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}

.l-header__spmenu {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  cursor: pointer;
  row-gap: clamp(10px, 1.69vw, 13px);
  pointer-events: auto;
}
.l-header__spmenu[data-title]::after {
  content: attr(data-title);
  font-size: clamp(0.6875rem, 1.82vw, 1rem);
  letter-spacing: 0.15em;
  font-weight: 400;
  display: block;
}

.l-header__spmenuinbox {
  display: flex;
  justify-content: center;
  column-gap: clamp(11px, 1.95vw, 15px);
}

.l-header__spham {
  display: block;
  width: 0.125rem;
  height: clamp(2.5rem, 6.51vw, 3.125rem);
  background-color: var(--color-text);
  transition: 0.3s;
}

.l-header__navcon {
  position: fixed;
  top: 0;
  right: 0;
  z-index: -5;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  height: calc(100svh - clamp(52px, 7.55vw, 58px));
  background: var(--grade);
  opacity: 0;
  visibility: hidden;
  overflow-y: auto;
  pointer-events: auto;
  transition: opacity ease-out 0.3s, visibility ease-out 0.3s;
}
@media screen and (min-width: 1025px) {
  .l-header__navcon {
    height: 100svh;
    align-items: center;
    flex-direction: row;
    justify-content: center;
  }
}

.l-header__navwrapper {
  width: 100%;
  min-height: 75.7%;
  flex: none;
  padding-top: 7.5vh;
}
@media screen and (min-width: 1025px) {
  .l-header__navwrapper {
    flex: 1;
    width: auto;
    min-height: auto;
    padding-top: 0;
  }
}

.l-header__nav {
  pointer-events: auto;
}
@media screen and (min-width: 1025px) {
  .l-header__nav {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-left: clamp(280px, 12.65vw, 358px);
  }
}

.l-header__list {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  row-gap: 2.36vh;
}
@media screen and (min-width: 1025px) {
  .l-header__list {
    row-gap: min(3.32vh, 36px);
  }
}

.l-header__item {
  display: flex;
  align-items: center;
  column-gap: clamp(5px, 0.94vw, 18px);
}
.l-header__item::before {
  content: "";
  display: block;
  width: clamp(0.8125rem, 1.35vw, 1.625rem);
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
  opacity: 0;
  background-color: #fff;
  flex: none;
}

.l-header__link {
  display: flex;
  align-items: center;
  column-gap: clamp(10px, 1.04vw, 20px);
  color: #fff;
  font-size: clamp(0.625rem, 2.56vw, 0.75rem);
}
@media screen and (min-width: 768px) {
  .l-header__link {
    font-size: 1rem;
    letter-spacing: 0.1em;
    font-weight: 500;
  }
}
.l-header__link[data-title]::before {
  content: attr(data-title);
  font-family: var(--font-en);
  font-weight: 300;
  font-size: clamp(1.25rem, 3.91vw, 2.5rem);
  display: block;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .l-header__link[data-title]::before {
    font-size: clamp(1.875rem, 2.08vw, 2.5rem);
  }
}

.l-header__btnlist {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  display: flex;
  border-top: 4px solid #fff;
}
@media screen and (min-width: 1025px) {
  .l-header__btnlist {
    position: unset;
    width: auto;
    row-gap: 1.38vh;
    flex-direction: column;
    margin-bottom: 1.38vh;
    border: none;
  }
}

.l-header__btn, .l-header__btn--contact {
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--grade);
  padding: 11px 0;
  color: #fff;
  pointer-events: auto;
  width: calc((100% - 44.87vw) / 2);
}
@media screen and (min-width: 1025px) {
  .l-header__btn, .l-header__btn--contact {
    width: auto;
    padding: 20px 12px;
    border-radius: 11px 0 0 11px;
  }
}

.l-header__btn--contact {
  width: 44.87vw;
  column-gap: 7px;
}
.l-header__btn--contact::before {
  content: "";
  display: block;
  width: 2.0625rem;
  height: auto;
  aspect-ratio: 33/23;
  background-color: #fff;
  -webkit-mask-image: url(../../uploads/mail-icon_img.png);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}

.l-header__btntext {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 3px;
  letter-spacing: 0.05em;
  font-weight: 500;
  font-size: clamp(0.625rem, 2.56vw, 0.75rem);
}
@media screen and (min-width: 768px) {
  .l-header__btntext {
    font-size: 0.875rem;
  }
}
.l-header__btntext[data-title]::before {
  content: attr(data-title);
  font-size: clamp(0.8125rem, 3.33vw, 0.875rem);
  font-weight: 600;
  letter-spacing: 0.025em;
  font-family: var(--font-en);
  display: block;
}
@media screen and (min-width: 768px) {
  .l-header__btntext[data-title]::before {
    font-size: clamp(1rem, 0.94vw, 1.125rem);
  }
}

.l-header__scrollbox {
  position: absolute;
  left: clamp(10px, 1.95vw, 60px);
  top: 0;
  z-index: 5;
  height: 100svh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  row-gap: 14.3vh;
  padding-bottom: 1.84vh;
}
@media screen and (min-width: 1025px) {
  .l-header__scrollbox {
    left: calc(15px + min(var(--sidespace) / 2, 45px));
  }
}

.l-header__sidetext {
  font-family: var(--font-en);
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.025em;
  font-weight: 500;
  white-space: nowrap;
}

.l-header__scroll {
  font-family: var(--font-en);
  font-weight: 500;
  letter-spacing: 0.05em;
  color: var(--color-text);
  display: flex;
  align-items: center;
  column-gap: clamp(10px, 2.6vw, 20px);
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
@media screen and (min-width: 768px) {
  .l-header__scroll {
    font-size: 1rem;
  }
}
.l-header__scroll::after {
  content: "";
  display: block;
  width: 1px;
  height: clamp(3.125rem, 12.82vw, 5.625rem);
  background-color: var(--color-text);
}

.l-header__info {
  width: 100%;
  padding: 2.3vh 20px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  flex: 1;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .l-header__info {
    align-items: center;
  }
}
@media screen and (min-width: 1025px) {
  .l-header__info {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto 0;
    width: max(18rem, 27.19vw);
    height: max-content;
    padding: 5.73vw 4.69vw;
    flex: initial;
    display: block;
  }
}
.l-header__info a {
  color: #fff;
}

@media screen and (min-width: 1025px) {
  .l-header__infoinbox {
    max-width: max-content;
    margin-left: auto;
  }
}

.l-header__infotext {
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (min-width: 1025px) {
  .l-header__infotext {
    font-size: clamp(0.875rem, 1.25vw, 1.125rem);
  }
}

.l-header__close {
  position: fixed;
  top: 5vh;
  right: min(4.69vw, 90px);
  z-index: 12;
  cursor: pointer;
  width: clamp(2.5rem, 7.81vw, 3.75rem);
  height: auto;
  aspect-ratio: 1/1;
}
@media screen and (min-width: 1025px) {
  .l-header__close {
    top: min(4.69vw, 90px);
  }
}

@media screen and (min-width: 1025px) {
  .l-header__infologo {
    width: clamp(7.8125rem, 8.59vw, 10.3125rem);
    height: auto;
    aspect-ratio: 165/262;
    display: block;
    margin: 0 auto min(5vh, 55px);
  }
}

.l-header__infoboxout {
  display: flex;
  align-items: flex-start;
  column-gap: clamp(10px, 3.91vw, 60px);
}
@media screen and (min-width: 1025px) {
  .l-header__infoboxout {
    flex-direction: column;
    margin-top: 10px;
  }
}

@media screen and (min-width: 1025px) {
  .l-header__infobox:not(:first-of-type) {
    margin-top: min(2.58vw, 30px);
  }
}

.l-header__navbtnlist {
  display: flex;
  flex-direction: column;
  row-gap: 25px;
}

.l-header__navbtn--map, .l-header__navbtn--contact, .l-header__navbtn {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 15px;
  font-family: var(--font-en);
  font-size: clamp(1.875rem, 1.98vw, 2.375rem);
  font-weight: 300;
  letter-spacing: 0.025em;
  line-height: 1.39;
  width: min(100%, 20.4375rem);
  height: clamp(3.625rem, 8.85vw, 4.25rem);
  border: 1px solid #fff;
  padding: 0 15px;
  background-color: #fff;
  border-radius: 12px;
}

.l-header__navbtn {
  color: var(--color-primary);
}
.l-header__navbtn[data-title]::after {
  content: attr(data-title);
  font-size: clamp(0.75rem, 3.08vw, 0.875rem);
  display: block;
}
@media screen and (min-width: 768px) {
  .l-header__navbtn[data-title]::after {
    font-size: 1rem;
  }
}

.l-header__navbtn--contact {
  color: #fff;
  background-color: transparent;
}
.l-header__navbtn--contact::before {
  content: "";
  display: block;
  width: clamp(2.125rem, 5.73vw, 2.75rem);
  height: auto;
  aspect-ratio: 44/33;
  background-color: #fff;
  -webkit-mask-image: url(../../uploads/mail-icon_img.png);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}

.l-header__navbtn--map {
  padding-right: clamp(20px, 5.21vw, 40px);
  color: #fff;
  background-color: transparent;
}
.l-header__navbtn--map::before {
  content: "";
  display: block;
  width: clamp(1.9375rem, 5.34vw, 2.5625rem);
  height: auto;
  aspect-ratio: 41/51;
  background-color: #fff;
  -webkit-mask-image: url(../../uploads/map-wh-icon_img.png);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}

.l-header__wavebox {
  flex-direction: column;
  display: flex;
  align-items: flex-start;
  row-gap: 15px;
  padding: 0 20px;
  margin-top: 8vh;
  margin-bottom: 3.55vh;
}
@media screen and (min-width: 768px) {
  .l-header__wavebox {
    width: min(100%, 31.25rem);
    margin-left: auto;
    padding-right: 0;
  }
}
@media screen and (min-width: 1025px) {
  .l-header__wavebox {
    position: absolute;
    right: 0;
    width: 33.1%;
    bottom: 10.6vh;
    height: max-content;
    padding: 0;
    margin: 0;
  }
}

.l-header__wavetext {
  font-size: clamp(0.8125rem, 3.33vw, 1rem);
  line-height: 1.43;
  font-weight: 500;
  letter-spacing: 0.2em;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .l-header__wavetext {
    font-size: clamp(1rem, 1.39vw, 1.75rem);
  }
}

.l-header__wave {
  display: block;
  width: 100%;
}
.l-header__wave .c-img {
  height: auto;
  aspect-ratio: 349/41;
}
@media screen and (min-width: 768px) {
  .l-header__wave .c-img {
    aspect-ratio: 636/91;
  }
}

@media screen and (min-width: 1025px) {
  .l-header__map {
    display: block;
    margin-left: auto;
    margin-right: 37px;
    margin-bottom: 0.7vh;
    pointer-events: auto;
  }
  .l-header__map .c-img {
    display: block;
    width: 53px;
    height: auto;
    aspect-ratio: 53/88;
  }
}

/* l-footer */
.l-footer {
  background: var(--grade);
  padding: clamp(60px, 6.25vw, 120px) 0 calc(clamp(52px, 7.81vw, 60px) + 60px);
}
@media screen and (min-width: 1025px) {
  .l-footer {
    padding-bottom: 100px;
  }
}
.l-footer a, .l-footer p, .l-footer li {
  color: #fff;
}

.l-footer__contact {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  row-gap: 20px;
}
@media screen and (min-width: 768px) {
  .l-footer__contact {
    row-gap: 10px;
  }
}

.l-footer__contactlink {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  column-gap: clamp(10px, 3.91vw, 30px);
  font-family: var(--font-en);
  font-weight: 100;
  font-size: clamp(2.9375rem, 12.05vw, 3.75rem);
  letter-spacing: 0.025em;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .l-footer__contactlink {
    font-size: clamp(3.75rem, 4.17vw, 5rem);
    flex-direction: row;
  }
}
.l-footer__contactlink::after {
  content: "";
  display: block;
  width: clamp(3.0625rem, 12.56vw, 3.6875rem);
  height: auto;
  aspect-ratio: 83/63;
  background-color: #fff;
  -webkit-mask-image: url(../../uploads/mail-icon2-sp_img.png);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}
@media screen and (min-width: 768px) {
  .l-footer__contactlink::after {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .l-footer__contactlink::before {
    content: "";
    display: block;
    height: auto;
    aspect-ratio: 83/63;
    background-color: #fff;
    -webkit-mask-image: url(../../uploads/mail-icon2_img.png);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    width: clamp(3.75rem, 5.76vw, 5.1875rem);
  }
}

.l-footer__contactbtn {
  position: relative;
  width: clamp(1.875rem, 12.82vw, 5.25rem);
  height: auto;
  aspect-ratio: 1/1;
  border: 2px solid #fff;
  border-radius: 50%;
}
@media screen and (min-width: 768px) {
  .l-footer__contactbtn {
    width: clamp(3.375rem, 5.14vw, 5.25rem);
  }
}
.l-footer__contactbtn::before {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  content: "";
  display: block;
  width: clamp(1.5625rem, 2.03vw, 2.4375rem);
  height: auto;
  aspect-ratio: 39/30;
  background-color: #fff;
  -webkit-mask-image: url(../../uploads/arrow-icon-decord.svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}

.l-footer__contactlink {
  color: #fff;
}

.l-footer__contacttext {
  text-align: center;
}

.l-footer__wrapper {
  margin-top: clamp(55px, 7.29vw, 105px);
}
@media screen and (min-width: 768px) {
  .l-footer__wrapper {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
  }
}
@media screen and (min-width: 1025px) {
  .l-footer__wrapper {
    column-gap: 20px;
  }
}

.l-footer__info {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: clamp(23px, 2.34vw, 45px);
  width: max-content;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .l-footer__info {
    align-items: flex-start;
    justify-content: flex-start;
    flex: none;
    width: auto;
    margin: 0;
  }
}
@media screen and (min-width: 1025px) {
  .l-footer__info {
    align-items: flex-end;
  }
}

.l-footer__logo {
  width: clamp(6.0625rem, 12.76vw, 8.625rem);
  height: auto;
  aspect-ratio: 138/219;
  display: block;
}

.l-footer__infoinbox {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  row-gap: clamp(10px, 1.95vw, 15px);
  margin-top: clamp(5px, 1.3vw, 10px);
}
@media screen and (min-width: 768px) {
  .l-footer__infoinbox {
    column-gap: clamp(25px, 2.08vw, 40px);
  }
}
@media screen and (min-width: 1025px) {
  .l-footer__infoinbox {
    flex-direction: row;
  }
}
@media screen and (min-width: 1025px) {
  .l-footer__infoinbox .c-text-16 {
    font-size: clamp(0.875rem, 0.83vw, 1rem);
  }
}

.l-footer__contacthead {
  display: inline-block;
  width: calc(clamp(0.75rem, 3.08vw, 0.875rem) / 2 * 6);
}
@media screen and (min-width: 768px) {
  .l-footer__contacthead {
    width: 3rem;
  }
}

.l-footer__map {
  display: flex;
  align-items: center;
  column-gap: 5px;
  font-size: 0.875rem;
  line-height: 1.43;
  margin-top: clamp(5px, 1.28vw, 15px);
}
@media screen and (min-width: 768px) {
  .l-footer__map {
    align-items: flex-start;
  }
}
.l-footer__map::after {
  content: "";
  display: block;
  width: clamp(1.25rem, 3.91vw, 1.875rem);
  height: auto;
  aspect-ratio: 30/23;
  background-color: #fff;
  -webkit-mask-image: url(../../uploads/arrow-icon-decord.svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}

.l-footer__nav {
  width: min(84.1vw, 21.875rem);
  margin: 50px auto 0;
}
@media screen and (min-width: 768px) {
  .l-footer__nav {
    width: clamp(20.625rem, 27.15vw, 24.4375rem);
    margin: 50px 0;
  }
}
@media screen and (min-width: 1025px) {
  .l-footer__nav {
    margin: 95px 0;
  }
}

.l-footer__navlist {
  display: grid;
  grid-template-columns: min(18.21vw, 5.0625rem) min(26.92vw, 6.875rem) min(21.03vw, 5.75rem) 1fr;
  row-gap: clamp(15px, 1.95vw, 25px);
}
@media screen and (min-width: 768px) {
  .l-footer__navlist {
    display: flex;
    flex-wrap: wrap;
    column-gap: clamp(30px, 2.86vw, 55px);
  }
}
@media screen and (min-width: 1025px) {
  .l-footer__navlist {
    font-size: clamp(0.875rem, 1.11vw, 1.125rem);
    flex-direction: row;
    justify-content: space-between;
  }
}

.l-footer__navlink {
  font-family: var(--font-en);
  font-weight: 300;
  letter-spacing: 0.025em;
}

.l-footer__watt {
  font-size: 1rem;
  line-height: 1.45;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .l-footer__watt {
    font-size: clamp(1rem, 1.39vw, 1.375rem);
  }
}

.l-footer__address .c-text-16 {
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .l-footer__address .c-text-16 {
    line-height: 1.88;
  }
}

/* l-inner */
.l-inner--sm, .l-inner, .l-inner--lg {
  padding: 0 clamp(20px, 5.21vw, 40px);
  box-sizing: content-box;
}
@media screen and (min-width: 768px) {
  .l-inner--sm, .l-inner, .l-inner--lg {
    margin: 0 auto;
  }
}

@media screen and (min-width: 1025px) {
  .l-inner--lg {
    max-width: clamp(65rem, 77.92vw, 93.5rem);
  }
}

@media screen and (min-width: 1025px) {
  .l-inner {
    max-width: clamp(65rem, 66.67vw, 80rem);
  }
}

@media screen and (min-width: 1025px) {
  .l-inner--sm {
    max-width: clamp(55.3125rem, 52.34vw, 62.8125rem);
  }
}

/* l-page */
.l-page {
  position: relative;
  padding-top: clamp(190px, 48.72vw, 210px);
  padding-bottom: clamp(110px, 19.53vw, 150px);
}
.l-page .post-password-form {
  max-width: max-content;
  line-height: 1.88;
  margin: clamp(40px, 7.81vw, 60px) auto 0;
}
.l-page .post-password-form p {
  text-align: left;
  max-width: max-content;
  margin: 0 auto 1em;
}
.l-page .post-password-form p:last-of-type {
  max-width: 28.125rem;
}
.l-page .post-password-form label input {
  width: 62%;
  background-color: #E8E8EA;
  height: clamp(1.875rem, 5.21vw, 2.5rem);
  padding: 0.5rem 15px;
  border-radius: 0;
}
.l-page .post-password-form input[type=submit] {
  height: clamp(1.875rem, 5.21vw, 2.5rem);
  padding: 0.5rem 15px;
  background-color: var(--color-primary);
  line-height: 1;
  color: #fff;
}

.l-page__headimg {
  width: 100%;
  margin-top: 15px;
}
.l-page__headimg .c-img {
  height: auto;
  aspect-ratio: 351/35;
  object-fit: cover;
  object-position: center;
  vertical-align: middle;
}
@media screen and (min-width: 768px) {
  .l-page__headimg .c-img {
    aspect-ratio: 1280/75;
  }
}

.l-page__head .c-title__en {
  font-weight: 500;
}

.c-form form {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: clamp(30px, 3.91vw, 45px) 0;
}
.c-form form label {
  cursor: pointer;
  position: relative;
  display: flex;
  align-items: center;
  column-gap: clamp(10px, 0.94vw, 18px);
}
.c-form form input[type=radio], .c-form form input[type=checkbox] {
  margin: 0;
  padding: 0;
}
.c-form form input[type=radio] + span, .c-form form input[type=checkbox] + span {
  display: inline-block;
  letter-spacing: 0.075em;
}
@media screen and (min-width: 768px) {
  .c-form form input[type=radio] + span, .c-form form input[type=checkbox] + span {
    font-size: clamp(1rem, 1.04vw, 1.25rem);
  }
}
.c-form form input[type=radio] + span::after, .c-form form input[type=checkbox] + span::after {
  content: "";
  display: block;
  position: absolute;
}
.c-form form input[type=radio] {
  border: 1px solid var(--color-primary);
  background-color: #fff;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
}
.c-form form input[type=radio] + span::after {
  width: 0.875rem;
  height: 0.875rem;
  background: var(--color-primary);
  opacity: 0;
  border-radius: 50%;
  transition: opacity ease 0.2s;
}
.c-form form input[type=checkbox] {
  border: 2px solid var(--color-text);
  background-color: #fff;
  width: clamp(1.25rem, 3.13vw, 1.5rem);
  height: clamp(1.25rem, 3.13vw, 1.5rem);
}
.c-form form input[type=checkbox] + span::after {
  top: 0;
  left: 0;
  width: clamp(1.25rem, 3.13vw, 1.5rem);
  height: clamp(1.25rem, 3.13vw, 1.5rem);
  background-color: #C40E00;
  opacity: 0;
  transition: opacity ease 0.2s;
}
.c-form form input[type=radio]:checked + span::after, .c-form form input[type=checkbox]:checked + span::after {
  opacity: 1;
}

.c-form__item, .c-form__item--start {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px 0;
  width: 100%;
}
.c-form__item input, .c-form__item--start input, .c-form__item select, .c-form__item--start select {
  background-color: #E8E8EA;
  width: 100%;
  height: clamp(2.5rem, 6.51vw, 4.375rem);
  padding: 0.5rem 15px;
  border-radius: 0;
}
.c-form__item textarea, .c-form__item--start textarea {
  background-color: #E8E8EA;
  white-space: pre-wrap;
  word-break: break-all;
  line-height: 1.6;
  width: 100%;
  height: clamp(11.875rem, 41.02vw, 19.6875rem);
  padding: 5px 15px;
  overflow-y: scroll;
  resize: vertical;
  border-radius: 0;
}
@media screen and (min-width: 768px) {
  .c-form__item textarea, .c-form__item--start textarea {
    padding: 10px 15px;
  }
}
.c-form__item select, .c-form__item--start select {
  color: var(--color-text);
  border-radius: 0;
  cursor: pointer;
  padding: 0.5rem 15px;
}
.c-form__item input[type=date], .c-form__item--start input[type=date] {
  padding: 0.5rem 15px;
}

.c-form__item--start {
  align-items: flex-start;
}
.c-form__item--start .c-form__title {
  margin-top: clamp(6px, 1.09vw, 21px);
}

.c-form__title {
  font-weight: 500;
  letter-spacing: 0.075em;
  display: flex;
  flex-direction: column;
  gap: 5px 10px;
  flex: none;
  width: 34.3%;
}
@media screen and (min-width: 768px) {
  .c-form__title {
    font-size: clamp(1rem, 1.04vw, 1.25rem);
    width: 24.3%;
  }
}
.c-form__title label {
  column-gap: 5px !important;
  line-height: 1.45;
  display: flex;
  flex-direction: column;
  align-items: flex-start !important;
}
.c-form__title + p {
  width: 100%;
}

.c-form__select {
  position: relative;
}
.c-form__select::after {
  position: absolute;
  top: 0;
  bottom: 0;
  display: block;
  margin: auto 0;
  right: clamp(8px, 2.6vw, 20px);
  content: "";
  width: clamp(0.5rem, 1.82vw, 0.875rem);
  height: auto;
  aspect-ratio: 14/8;
  background-image: url(../../uploads/select-arrow_img.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  pointer-events: none;
}

.c-form__content {
  width: inherit;
}

.c-form__imp {
  display: block;
  color: #C40E00;
  line-height: 1;
}

.c-form__btnwp {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  gap: 30px 20px;
  margin-top: 10px;
}

.c-form__btnbox {
  position: relative;
  width: max-content;
}
.c-form__btnbox input {
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--grade);
  padding: clamp(8px, 1.69vw, 13px) clamp(35px, 7.81vw, 60px);
}
@media (hover: hover) {
  .c-form__btnbox input {
    transition: opacity ease 0.3s;
  }
  .c-form__btnbox input:hover, .c-form__btnbox input:focus-visible {
    opacity: 0.7;
  }
}

.grecaptcha-badge {
  z-index: 5;
  bottom: 70px !important;
}
@media screen and (min-width: 1025px) {
  .grecaptcha-badge {
    bottom: 30vh !important;
  }
}

.wpcf7-checkbox {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(20px, 1.3vw, 25px) 20px;
}

.c-form__checkbox {
  flex: 1;
  margin-top: 5px;
}
@media screen and (min-width: 768px) {
  .c-form__checkbox {
    margin: 0;
  }
}

.wpcf7-response-output {
  display: none;
}

.wpcf7-not-valid-tip {
  font-size: 0.75rem !important;
  margin-top: 5px;
}

.wpcf7-list-item {
  margin-left: 0 !important;
}

.wpcf7-spinner {
  display: none !important;
}

.wpcf7-previous {
  font-weight: 600 !important;
  color: var(--color-primary) !important;
  background: #fff !important;
  border: 1px solid var(--color-primary) !important;
}

.wpcf7-list-item-label a {
  color: var(--color-primary);
  text-decoration: underline;
}

.wpcf7 .wpcf7-submit:disabled {
  opacity: 0.5;
}

/* c-btn */
.c-btn--return, .c-btn {
  font-size: clamp(0.75rem, 3.08vw, 1rem);
  line-height: 1.4;
  color: var(--color-primary);
  letter-spacing: 0.025em;
  display: flex;
  align-items: center;
  column-gap: 5px;
}
@media screen and (min-width: 768px) {
  .c-btn--return, .c-btn {
    font-size: clamp(1rem, 1.39vw, 1.25rem);
  }
}

.c-btn {
  font-family: var(--font-en);
  font-weight: 300;
}
.c-btn::after {
  content: "";
  display: block;
  width: clamp(1.9375rem, 3.54vw, 3.1875rem);
  height: auto;
  aspect-ratio: 51/39;
  background-image: url(../../uploads/arrow-grade_img.png);
  background-repeat: no-repeat;
  background-size: contain;
  flex: none;
}

.c-btn--return {
  font-weight: 500;
  letter-spacing: 0.1em;
  column-gap: clamp(10px, 1.04vw, 15px);
}
.c-btn--return::before {
  content: "";
  display: block;
  width: clamp(1.9375rem, 3.54vw, 3.1875rem);
  height: auto;
  aspect-ratio: 51/39;
  background-image: url(../../uploads/arrow-grade_img.png);
  background-repeat: no-repeat;
  background-size: contain;
  flex: none;
  transform: scale(-1, 1);
}

/* c-bread */
.c-bread {
  margin-top: 20px;
}

.c-breadcrumb__list {
  display: flex;
  gap: 0 5px;
  overflow-x: auto;
}

.c-breadcrumb__item {
  white-space: nowrap;
}
.c-breadcrumb__item a {
  color: var(--color-primary);
  text-decoration: underline;
  text-decoration-skip-ink: none;
}
.c-breadcrumb__item a::after {
  content: ">";
  display: inline-block;
  color: var(--color-text);
  margin-left: 5px;
  text-decoration: initial;
}

/* c-news */
.c-news__list {
  max-width: 57.25rem;
  margin: 0 auto;
}

.c-news__item {
  width: 100%;
  border-bottom: clamp(1px, 0.26vw, 2px) solid var(--gray);
}
.c-news__item:first-of-type {
  border-top: clamp(1px, 0.26vw, 2px) solid var(--gray);
}

.c-news__link {
  display: flex;
  align-items: flex-end;
  column-gap: 12px;
  padding: clamp(10px, 3.26vw, 25px) 0;
}
@media screen and (min-width: 768px) {
  .c-news__link {
    column-gap: min(8.59vw, 165px);
  }
}
.c-news__link::after {
  content: "";
  display: block;
  width: clamp(1.4375rem, 5.9vw, 1.75rem);
  height: auto;
  aspect-ratio: 51/39;
  background-image: url(../../uploads/arrow-news_img.png);
  background-repeat: no-repeat;
  background-size: contain;
  flex: none;
}
@media screen and (min-width: 768px) {
  .c-news__link::after {
    width: clamp(1.875rem, 2.66vw, 3.1875rem);
  }
}

.c-news__box {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 1;
}

.c-news__textbox {
  display: flex;
  align-items: center;
  column-gap: clamp(150px, 9.64vw, 185px);
  margin-bottom: clamp(10px, 1.3vw, 10px);
}

.c-news__title {
  font-size: clamp(0.75rem, 3.08vw, 0.875rem);
  line-height: 1.45;
}
@media screen and (min-width: 768px) {
  .c-news__title {
    font-size: clamp(1.125rem, 1.04vw, 1.25rem);
  }
}

.c-news__date {
  font-weight: 500;
  letter-spacing: 0.1em;
}

.c-news__cat {
  font-size: clamp(0.625rem, 2.56vw, 0.875rem);
  line-height: clamp(16px, 3.13vw, 24px);
  letter-spacing: 0.1em;
  border: 1px solid var(--color-primary);
  background-color: #fff;
  color: var(--color-primary);
  padding: 0 clamp(12px, 2.34vw, 18px);
}
@media screen and (min-width: 768px) {
  .c-news__cat {
    font-size: clamp(1rem, 0.94vw, 1.125rem);
  }
}
.c-news__cat a {
  color: var(--color-primary);
}

/* c-single */
.c-single__thumb {
  width: 100%;
  height: auto;
  margin-bottom: clamp(50px, 5.56vw, 80px);
}
.c-single__thumb img {
  aspect-ratio: 350/252;
}
@media screen and (min-width: 768px) {
  .c-single__thumb img {
    aspect-ratio: 1008/623;
  }
}

.c-news__catlist {
  display: flex;
  gap: 5px;
}

.c-single {
  width: min(100%, 63rem);
}
.c-single p {
  line-height: 2.08;
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  .c-single p {
    line-height: 2.5;
  }
}
.c-single h2 {
  font-size: clamp(0.875rem, 3.59vw, 1rem);
  line-height: 1.4;
  margin-top: 30px;
  margin-bottom: 15px;
}
@media screen and (min-width: 768px) {
  .c-single h2 {
    font-size: clamp(1rem, 1.67vw, 1.5rem);
    margin-top: 50px;
  }
}
.c-single h3 {
  font-size: clamp(0.75rem, 3.59vw, 1rem);
  line-height: 1.4;
  margin-top: 30px;
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .c-single h3 {
    font-size: clamp(1rem, 1.53vw, 1.375rem);
  }
}
.c-single h4 {
  line-height: 1.4;
  margin-top: 30px;
  margin-bottom: 10px;
}
.c-single h5 {
  line-height: 1.4;
  margin-top: 30px;
  margin-bottom: 10px;
}
.c-single h6 {
  line-height: 1.4;
  margin-top: 30px;
}
.c-single a {
  color: var(--color-link);
  text-decoration: underline;
  text-decoration-skip-ink: none;
}
.c-single ul {
  margin-bottom: 1em;
}
.c-single ul li {
  display: flex;
  line-height: 2.08;
}
@media screen and (min-width: 768px) {
  .c-single ul li {
    line-height: 2.5;
  }
}
.c-single ul li::before {
  content: "・";
  display: block;
}
.c-single ol {
  counter-reset: number 0;
  margin-bottom: 1em;
}
.c-single ol li {
  display: flex;
  column-gap: 2px;
  line-height: 2.08;
}
@media screen and (min-width: 768px) {
  .c-single ol li {
    line-height: 2.5;
  }
}
.c-single ol li::before {
  counter-increment: number 1;
  content: counter(number) ".";
  display: block;
}
.c-single figure {
  margin-top: 10px;
}
.c-single figure img {
  max-width: 100%;
}
.c-single blockquote {
  background-color: var(--lightgray);
  padding: 10px;
  margin-bottom: 1em;
}
.c-single blockquote p:last-of-type {
  margin-bottom: 0;
}

/* c-img */
.c-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* c-text */
.c-titlebox {
  display: flex;
  align-items: center;
  column-gap: clamp(8px, 1.95vw, 15px);
}

.c-title, .c-title--sm, .c-title--center, .c-title--right, .c-title--wh {
  font-size: clamp(0.625rem, 2.56vw, 1rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .c-title, .c-title--sm, .c-title--center, .c-title--right, .c-title--wh {
    margin-top: 10px;
  }
}

.c-title__en, .c-title__en--sm {
  font-family: var(--font-en);
  font-weight: 200;
  font-size: clamp(2.25rem, 9.23vw, 3.75rem);
  line-height: 1.4;
  letter-spacing: 0.025em;
}
@media screen and (min-width: 768px) {
  .c-title__en, .c-title__en--sm {
    font-size: clamp(3.75rem, 4.17vw, 5rem);
  }
}

.c-title--wh {
  color: #fff;
}
.c-title--wh .c-title__en, .c-title--wh .c-title__en--sm {
  color: #fff;
}

.c-title--right {
  align-items: flex-end;
  margin-left: auto;
}

.c-title--center {
  align-items: center;
}

.c-title--sm {
  font-size: clamp(0.75rem, 3.08vw, 1rem);
  font-weight: 700;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .c-title--sm {
    font-size: clamp(1rem, 1.39vw, 1.5rem);
  }
}

.c-title__en--sm {
  font-size: clamp(1.875rem, 7.69vw, 2.5rem);
  line-height: 1;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-title__en--sm {
    font-size: clamp(2.5rem, 3.65vw, 4.375rem);
    line-height: 1.41;
  }
}

.c-text-60 {
  font-size: clamp(1.125rem, 4.62vw, 1.375rem);
  line-height: 1.46;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .c-text-60 {
    font-size: clamp(1.25rem, 3.91vw, 3.75rem);
  }
}
@media screen and (min-width: 1025px) {
  .c-text-60 {
    font-size: clamp(1.25rem, 3.13vw, 3.75rem);
  }
}

.c-text-60--en {
  font-size: 1.625rem;
  color: #fff;
  font-family: var(--font-en);
  font-weight: 600;
  font-style: italic;
}
@media screen and (min-width: 768px) {
  .c-text-60--en {
    font-size: clamp(1.625rem, 3.13vw, 3.75rem);
  }
}

.c-text-50 {
  font-size: clamp(1.125rem, 4.87vw, 1.375rem);
  line-height: 1.44;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .c-text-50 {
    font-size: clamp(1.25rem, 3.91vw, 3.125rem);
  }
}
@media screen and (min-width: 1025px) {
  .c-text-50 {
    font-size: clamp(1.875rem, 2.6vw, 3.125rem);
  }
}

.c-text-35, .c-text-35--en, .c-title-bggradient {
  font-size: clamp(0.9375rem, 3.85vw, 1.25rem);
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .c-text-35, .c-text-35--en, .c-title-bggradient {
    font-size: clamp(1.125rem, 1.81vw, 2.1875rem);
  }
}

.c-title-bggradient {
  color: #fff;
  letter-spacing: 0.1em;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: clamp(3px, 0.78vw, 6px) clamp(5px, 2.56vw, 10px);
  background: var(--grade);
  border: clamp(1px, 0.14vw, 2px) solid var(--color-text);
}

.c-text-35--en {
  font-size: clamp(0.75rem, 3.08vw, 0.875rem);
  font-family: var(--font-en);
  font-weight: 600;
  font-style: italic;
}
@media screen and (min-width: 768px) {
  .c-text-35--en {
    font-size: clamp(1.125rem, 1.81vw, 2.1875rem);
  }
}

.c-text-32 {
  font-size: clamp(1rem, 4.1vw, 1.25rem);
  line-height: 1.46;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .c-text-32 {
    font-size: clamp(1.5rem, 1.81vw, 2rem);
  }
}

.c-text-28 {
  font-size: clamp(1.4375rem, 1.35vw, 1.75rem);
  line-height: 1.43;
  font-weight: 500;
  color: var(--color-primary);
  letter-spacing: 0.1em;
}

.c-text-27 {
  font-size: clamp(0.875rem, 3.59vw, 1rem);
  line-height: 1.46;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .c-text-27 {
    font-size: clamp(1rem, 1.39vw, 1.6875rem);
  }
}

.c-text-24, .c-text-24--primary {
  font-size: clamp(0.8125rem, 3.33vw, 1rem);
  line-height: 1.46;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .c-text-24, .c-text-24--primary {
    font-size: clamp(1rem, 1.39vw, 1.5rem);
  }
}

.c-text-24--primary {
  font-weight: 700;
  color: var(--color-primary);
}

.c-text-22 {
  font-size: clamp(0.75rem, 3.08vw, 1rem);
  line-height: 1.45;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .c-text-22 {
    font-size: clamp(1rem, 1.39vw, 1.375rem);
  }
}

.c-text-20 {
  font-size: clamp(0.6875rem, 3.08vw, 1rem);
  line-height: 2;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .c-text-20 {
    font-size: clamp(1rem, 1.39vw, 1.25rem);
  }
}

.c-text-16 {
  font-weight: 500;
  line-height: 1.88;
}
@media screen and (min-width: 768px) {
  .c-text-16 {
    font-size: 1rem;
  }
}

.c-text {
  font-weight: 500;
  line-height: 1.94;
}

/* c-service */
.c-service {
  margin-top: clamp(15px, 7.81vw, 60px);
}

.c-service__list {
  background-image: linear-gradient(to right, #B9B9B9 clamp(4px, 0.65vw, 5px), transparent clamp(4px, 0.65vw, 5px));
  background-size: clamp(8px, 1.3vw, 10px) clamp(1px, 0.26vw, 2px);
  background-position: left bottom;
  background-repeat: repeat-x;
}
@media screen and (min-width: 1025px) {
  .c-service__list {
    display: flex;
    flex-wrap: wrap;
  }
}

.c-service__item {
  background-image: linear-gradient(to right, #B9B9B9 clamp(4px, 0.65vw, 5px), transparent clamp(4px, 0.65vw, 5px));
  background-size: clamp(8px, 1.3vw, 10px) clamp(1px, 0.26vw, 2px);
  background-position: left bottom;
  background-repeat: repeat-x;
  cursor: pointer;
}
.c-service__item:last-of-type {
  background-image: none;
}
@media screen and (min-width: 1025px) {
  .c-service__item {
    width: 50%;
  }
  .c-service__item:nth-of-type(odd) {
    padding-right: calc(min(2.08vw, 40px) / 2);
  }
  .c-service__item:nth-of-type(odd):last-of-type {
    background-image: none;
  }
  .c-service__item:nth-of-type(even) {
    padding-left: calc(min(2.08vw, 40px) / 2);
  }
}

.c-service__iteminbox {
  display: flex;
  align-items: center;
  justify-content: space-between;
  column-gap: 10px;
  padding: clamp(20px, 3.13vw, 45px) 0 clamp(15px, 2.78vw, 40px);
}
.c-service__iteminbox::after {
  content: "";
  display: block;
  width: clamp(1.625rem, 2.29vw, 2.75rem);
  height: auto;
  aspect-ratio: 26/20;
  flex: none;
  background-image: url(../../uploads/arrow-grade_img.png);
  background-repeat: no-repeat;
  background-size: contain;
}

.c-service__itemtitle {
  font-size: clamp(0.8125rem, 3.33vw, 1rem);
  line-height: 1.45;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: left;
  display: flex;
  align-items: flex-start;
  column-gap: clamp(7px, 0.78vw, 15px);
}
@media screen and (min-width: 768px) {
  .c-service__itemtitle {
    font-size: clamp(1.0625rem, 1.04vw, 1.25rem);
  }
}
.c-service__itemtitle span {
  margin-top: clamp(4px, 0.52vw, 10px);
}
.c-service__itemtitle span span {
  letter-spacing: -0.25em;
}
.c-service__itemtitle[data-title]::before {
  content: attr(data-title);
  font-size: clamp(1.0625rem, 1.56vw, 1.875rem);
  font-family: var(--font-en);
  display: block;
  font-weight: 600;
  color: #fff;
  background-color: var(--color-primary);
  display: flex;
  justify-content: center;
  align-items: center;
  width: clamp(1.5625rem, 2.24vw, 2.6875rem);
  padding: 3px 0;
  flex: none;
}
@media screen and (min-width: 768px) {
  .c-service__itemtitle[data-title]::before {
    height: clamp(2.1875rem, 2.6vw, 3.125rem);
  }
}

.c-service__itemtitle-span {
  font-size: clamp(0.625rem, 2.69vw, 1rem);
  letter-spacing: 0.1em !important;
}
@media screen and (min-width: 768px) {
  .c-service__itemtitle-span {
    font-size: clamp(1.0625rem, 1.04vw, 1.25rem);
  }
}

.c-service__itemtitle-span2 {
  font-size: clamp(0.625rem, 2.82vw, 1rem);
  letter-spacing: 0.1em !important;
}
@media screen and (min-width: 768px) {
  .c-service__itemtitle-span2 {
    font-size: clamp(1rem, 1.11vw, 1.25rem);
  }
}

.c-service__text {
  font-size: clamp(0.75rem, 3.08vw, 1rem);
  line-height: 2.08;
  font-weight: 500;
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .c-service__text {
    letter-spacing: 0.1em;
    font-size: clamp(1rem, 1.39vw, 1.375rem);
  }
}

.c-service__modal {
  background-color: transparent;
  border-radius: 0;
  border: none;
  padding: 0;
  margin: 0;
  max-width: initial;
  max-height: initial;
  width: 100%;
  height: 100%;
}
.c-service__modal:focus-visible {
  outline: none;
}
.c-service__modal::backdrop {
  display: none;
}

.c-service__modalwrap {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
}

.c-service__mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(145, 145, 145, 0.8);
  cursor: pointer;
}

.c-service__modalcon {
  position: relative;
  z-index: 2;
  background-color: #fff;
  width: calc(100% - clamp(20px, 5.21vw, 40px) * 2);
  max-height: calc(100% - 80px);
  max-width: 80rem;
  margin: 0 auto;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.c-service__modalcon::before {
  content: "";
  display: block;
  width: 100%;
  height: clamp(0.625rem, 1.98vw, 2.375rem);
  background: var(--grade);
}
.c-service__modalcon::after {
  position: absolute;
  right: 0;
  top: clamp(0.625rem, 1.98vw, 2.375rem);
  content: "";
  display: block;
  width: clamp(5.875rem, 18.91vw, 18.75rem);
  height: auto;
  aspect-ratio: 363/652;
  background-image: url(../../uploads/service-modaldeco-sp_img.png);
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (min-width: 768px) {
  .c-service__modalcon::after {
    background-image: url(../../uploads/service-modaldeco_img.png);
  }
}

.c-service__modalbox {
  padding: 0 clamp(23px, 1.56vw, 30px) 0 0;
  max-width: max-content;
  margin-left: clamp(13px, 2.86vw, 55px);
}
@media screen and (min-width: 1025px) {
  .c-service__modalbox {
    margin-left: min(8.54vw, 164px);
  }
}

@media screen and (min-width: 768px) {
  .c-service__modalinbox {
    padding-right: min(3.91vw, 50px);
  }
}
@media screen and (min-width: 1025px) {
  .c-service__modalinbox {
    max-width: calc(56.25rem + min(3.91vw, 50px));
    margin-left: clamp(1.375rem, 3.28vw, 3.9375rem);
  }
}

.c-service__modalclose {
  width: clamp(1.5625rem, 4.31vw, 3.875rem);
  height: auto;
  aspect-ratio: 1/1;
  margin-top: clamp(15px, 2.08vw, 40px);
  margin-left: clamp(15px, 2.86vw, 55px);
  cursor: pointer;
}

.c-service__modaltitle {
  font-size: clamp(0.875rem, 3.59vw, 1rem);
  line-height: 1.45;
  font-weight: 500;
  letter-spacing: 0.1em;
  display: flex;
  align-items: flex-start;
  column-gap: clamp(6px, 1.04vw, 20px);
  margin-top: clamp(25px, 2.08vw, 40px);
  margin-bottom: clamp(10px, 3.13vw, 60px);
}
@media screen and (min-width: 768px) {
  .c-service__modaltitle {
    font-size: clamp(1.25rem, 2.08vw, 2.1875rem);
  }
}
.c-service__modaltitle span {
  margin-top: clamp(3px, 0.77vw, 6px);
}
@media screen and (min-width: 768px) {
  .c-service__modaltitle span {
    margin-top: clamp(6px, 0.42vw, 8px);
  }
}
.c-service__modaltitle[data-title]::before {
  content: attr(data-title);
  font-size: clamp(0.9375rem, 3.85vw, 1.25rem);
  font-family: var(--font-en);
  display: block;
  font-weight: 600;
  color: #fff;
  background-color: var(--color-primary);
  display: flex;
  justify-content: center;
  align-items: center;
  width: clamp(1.375rem, 5.64vw, 2.0625rem);
  height: clamp(1.625rem, 6.67vw, 2.25rem);
  padding: clamp(3px, 0.26vw, 5px) 0;
  flex: none;
}
@media screen and (min-width: 768px) {
  .c-service__modaltitle[data-title]::before {
    font-size: clamp(1.25rem, 2.34vw, 2.8125rem);
    line-height: 1.4;
    width: clamp(2rem, 3.28vw, 3.9375rem);
    height: clamp(2.5rem, 3.85vw, 4.625rem);
  }
}

.c-service__modaltext {
  font-size: clamp(0.625rem, 2.56vw, 0.875rem);
  line-height: 2;
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  .c-service__modaltext {
    font-size: 1rem;
    line-height: 2.19;
  }
}

.c-service__modalback {
  font-size: clamp(0.625rem, 3.08vw, 0.875rem);
  line-height: 2.4;
  letter-spacing: 0.05em;
  background-color: var(--color-secondary);
  padding: clamp(4px, 0.47vw, 9px) clamp(5px, 1.28vw, 30px);
  margin-bottom: 1em;
  max-width: max-content;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  display: inline;
}
@media screen and (min-width: 768px) {
  .c-service__modalback {
    font-size: clamp(1.25rem, 1.53vw, 1.625rem);
    padding: clamp(4px, 0.47vw, 9px) clamp(5px, 1.56vw, 30px);
  }
}

.c-service__modallist {
  font-size: clamp(0.625rem, 2.56vw, 0.875rem);
  line-height: 1.5;
  background-color: var(--color-secondarybg);
  padding: clamp(10px, 0.78vw, 15px) clamp(10px, 3.91vw, 30px);
  margin-bottom: 1em;
  width: 100%;
  display: flex;
  flex-direction: column;
  row-gap: 7px;
}
@media screen and (min-width: 768px) {
  .c-service__modallist {
    line-height: 2.22;
    font-size: clamp(1rem, 2.08vw, 1.125rem);
    row-gap: 0;
  }
}
@media screen and (min-width: 1025px) {
  .c-service__modallist {
    max-width: max-content;
    min-width: 25.3125rem;
  }
}
.c-service__modallist li {
  display: flex;
  column-gap: clamp(5px, 0.69vw, 10px);
}
.c-service__modallist li::before {
  content: "";
  display: block;
  width: clamp(0.75rem, 1.39vw, 1.25rem);
  height: clamp(0.75rem, 1.39vw, 1.25rem);
  border-radius: 50%;
  align-items: flex-start;
  background-color: var(--color-primary);
  flex: none;
  margin-top: clamp(2px, 0.51vw, 4px);
}
@media screen and (min-width: 768px) {
  .c-service__modallist li::before {
    margin-top: clamp(7px, 1.56vw, 12px);
  }
}

.c-service__modalline {
  width: calc(100% - clamp(15px, 2.6vw, 50px) * 2);
  margin: clamp(30px, 5.56vw, 80px) auto;
  display: block;
}
.c-service__modalline .c-img {
  height: auto;
  aspect-ratio: 324/19;
}
@media screen and (min-width: 768px) {
  .c-service__modalline .c-img {
    aspect-ratio: 1182/70;
  }
}

.c-service__modaldetail {
  background-color: var(--color-primary);
  font-weight: 500;
  font-size: clamp(0.625rem, 2.56vw, 0.875rem);
  color: #fff;
  line-height: 1.3;
  max-width: max-content;
  padding: 3px 6px;
}
@media screen and (min-width: 768px) {
  .c-service__modaldetail {
    line-height: 1.44;
    letter-spacing: 0.05em;
    font-size: clamp(1rem, 0.94vw, 1.125rem);
  }
}

/* p-faq */
.p-faq {
  margin-top: clamp(30px, 5.56vw, 80px);
  padding: 0;
}

.p-faq__item {
  border-bottom: clamp(1px, 0.14vw, 2px) dashed var(--color-primary);
}

.p-faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0 10px;
  padding: clamp(15px, 1.74vw, 25px) clamp(15px, 1.74vw, 25px) clamp(15px, 1.74vw, 25px) 0;
  cursor: pointer;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.p-faq__question::after {
  content: "";
  display: block;
  width: clamp(1.4375rem, 2.29vw, 2.0625rem);
  height: auto;
  aspect-ratio: 33/44;
  background-image: url(../../uploads/arrow-grade_img.png);
  background-repeat: no-repeat;
  background-size: contain;
  transform: rotate(90deg);
  flex: none;
}

.p-faq__questionibox {
  display: flex;
  align-items: flex-start;
  gap: 0 clamp(5px, 1.04vw, 15px);
  user-select: none;
  -webkit-user-select: none;
}
.p-faq__questionibox::before {
  flex: none;
  content: "Q.";
  display: block;
  width: clamp(2.125rem, 4.44vw, 4rem);
  height: clamp(2.125rem, 4.44vw, 4rem);
  border-radius: 50%;
  color: #fff;
  background-color: var(--gray);
  font-family: var(--font-en);
  font-weight: 600;
  letter-spacing: 0.025em;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: clamp(0.9375rem, 3.85vw, 1.25rem);
}
@media screen and (min-width: 768px) {
  .p-faq__questionibox::before {
    font-size: clamp(1.125rem, 1.81vw, 1.875rem);
  }
}
.p-faq__questionibox span {
  margin-top: calc(clamp(2.125rem, 4.44vw, 4rem) / 4);
}

.p-faq__answerbox {
  display: flex;
  align-items: flex-start;
  gap: 0 clamp(5px, 1.39vw, 20px);
  padding: clamp(10px, 1.04vw, 15px) clamp(10px, 1.39vw, 20px) clamp(15px, 1.74vw, 25px) clamp(10px, 1.39vw, 20px);
  border-top: clamp(1px, 0.14vw, 2px) dashed var(--color-primary);
  display: none;
  opacity: 0;
  transition: opacity ease 0.3s;
  background-color: var(--color-secondarybg);
}
.p-faq__answerbox::before {
  flex: none;
  content: "A.";
  display: block;
  width: clamp(2.125rem, 4.44vw, 4rem);
  height: clamp(2.125rem, 4.44vw, 4rem);
  margin-right: clamp(5px, 0.69vw, 10px);
  border-radius: 50%;
  color: #fff;
  background: var(--grade);
  font-family: var(--font-en);
  font-weight: 600;
  letter-spacing: 0.025em;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: clamp(0.9375rem, 3.85vw, 1.25rem);
}
@media screen and (min-width: 768px) {
  .p-faq__answerbox::before {
    font-size: clamp(1.125rem, 1.81vw, 1.875rem);
  }
}

.p-faq__answer {
  margin-top: clamp(5px, 0.69vw, 10px);
}

.p-faq__close {
  width: clamp(2.125rem, 3.06vw, 2.75rem);
  height: auto;
  aspect-ratio: 1/1;
  flex: none;
  cursor: pointer;
}

/* p-single */
.p-single__head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.p-single__headbox {
  display: flex;
  align-items: center;
  column-gap: clamp(20px, 6.51vw, 50px);
  margin-bottom: clamp(20px, 5.21vw, 40px);
}

.p-single__container {
  margin-top: clamp(40px, 10.42vw, 100px);
}

/* p-news */
.p-news__head {
  margin-bottom: clamp(40px, 7.81vw, 70px);
}

.p-news__catbox {
  margin-bottom: clamp(35px, 6.6vw, 95px);
  margin-left: auto;
  max-width: clamp(7.5rem, 30.77vw, 11.5625rem);
}

.p-news__cattitle {
  position: relative;
  z-index: 2;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-weight: 500;
  padding: clamp(5px, 0.65vw, 10px) 0;
  background: var(--grade);
  letter-spacing: 0.1em;
  border: 1px solid #212121;
  border-radius: clamp(6px, 1.43vw, 11px);
  font-size: clamp(0.625rem, 2.56vw, 1rem);
  line-height: 1.45;
}
@media screen and (min-width: 768px) {
  .p-news__cattitle {
    font-size: clamp(1rem, 1.39vw, 1.25rem);
  }
}

.p-news__catlist {
  width: 100%;
  border: 1px solid #707070;
  padding: calc(clamp(5px, 0.65vw, 10px) + clamp(6px, 1.43vw, 11px)) 0 clamp(5px, 0.65vw, 10px);
  border-radius: 0 0 clamp(6px, 1.43vw, 11px) clamp(6px, 1.43vw, 11px);
  margin-top: calc(clamp(6px, 1.43vw, 11px) * -1);
}

.p-news__catitem a {
  display: flex;
  align-items: center;
  font-weight: 500;
  letter-spacing: 0.1em;
  column-gap: 10px;
  padding: 5px clamp(15px, 3.91vw, 30px);
  font-size: clamp(0.625rem, 2.56vw, 1rem);
  line-height: 1.45;
}
@media screen and (min-width: 768px) {
  .p-news__catitem a {
    font-size: clamp(1rem, 1.39vw, 1.25rem);
  }
}
.p-news__catitem a::before {
  content: "";
  display: block;
  width: clamp(0.9375rem, 2.6vw, 1.25rem);
  height: clamp(0.9375rem, 2.6vw, 1.25rem);
  border-radius: 50%;
  opacity: 0;
  background-color: var(--color-primary);
}
@media (hover: hover) {
  .p-news__catitem a {
    transition: color ease 0.3s;
  }
  .p-news__catitem a::before {
    transition: opacity ease 0.3s;
  }
  .p-news__catitem a:hover, .p-news__catitem a:focus-visible {
    color: var(--color-primary);
  }
  .p-news__catitem a:hover::before, .p-news__catitem a:focus-visible::before {
    opacity: 1;
  }
}

.p-news__catboxouter {
  width: min(100%, 60.9375rem);
  margin: 0 auto;
}

/* p-contact */
.p-contact {
  margin-top: clamp(60px, 8.68vw, 125px);
}

@media screen and (min-width: 768px) {
  .p-contact__inner {
    max-width: 55.375rem;
    margin: 0 auto;
  }
}

.p-contact__btn {
  margin-top: clamp(60px, 5.73vw, 110px);
}

.p-contact__finbox {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: clamp(20px, 2.4vw, 46px);
  padding: clamp(40px, 3.44vw, 65px);
  background-color: #fff;
  border: clamp(1px, 0.14vw, 2px) solid var(--color-text);
  border-top: none;
}
.p-contact__finbox p {
  letter-spacing: 0.075em;
}

@media screen and (min-width: 768px) {
  .p-contact__fintitle {
    font-size: clamp(1.5rem, 1.81vw, 1.875rem);
  }
}

/* p-service */
.p-service {
  margin-top: clamp(60px, 11.07vw, 105px);
}

.p-service__list {
  display: flex;
  flex-wrap: wrap;
  gap: 70px clamp(15px, 1.82vw, 35px);
}
@media screen and (min-width: 768px) {
  .p-service__list {
    gap: min(4.56vw, 35px);
  }
}
@media screen and (min-width: 1025px) {
  .p-service__list {
    column-gap: clamp(15px, 1.82vw, 35px);
  }
}

.p-service__item {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  overflow: clip;
}
@media screen and (min-width: 768px) {
  .p-service__item {
    width: calc((100% - min(4.56vw, 35px) * (2 - 1)) / 2);
  }
}
@media screen and (min-width: 1025px) {
  .p-service__item {
    width: calc((100% - clamp(15px, 1.82vw, 35px) * (3 - 1)) / 3);
  }
}

.p-service__num {
  position: absolute;
  left: 0;
  top: 0;
  color: #fff;
  font-family: var(--font-en);
  font-size: clamp(2.125rem, 5.21vw, 2.5rem);
  letter-spacing: 0.025em;
  font-weight: 600;
  display: flex;
  width: clamp(4.125rem, 16.92vw, 4.75rem);
  height: clamp(4.125rem, 16.92vw, 4.75rem);
  background-image: url(../../uploads/service-num-sp_img.png);
  background-repeat: no-repeat;
  background-size: cover;
  padding-left: 17px;
  padding-top: 15px;
}
@media screen and (min-width: 768px) {
  .p-service__num {
    width: clamp(4.125rem, 12.76vw, 6.125rem);
    height: clamp(4.125rem, 12.76vw, 6.125rem);
    padding-left: 8px;
    padding-top: 20px;
  }
}
@media screen and (min-width: 1025px) {
  .p-service__num {
    width: clamp(5.5rem, 6.81vw, 6.125rem);
    height: clamp(5.5rem, 6.81vw, 6.125rem);
    padding-left: clamp(5px, 0.56vw, 8px);
    padding-top: clamp(16px, 1.39vw, 20px);
  }
}
.p-service__num span {
  display: flex;
  justify-content: center;
  width: clamp(1.25rem, 5.13vw, 1.5625rem);
}
@media screen and (min-width: 768px) {
  .p-service__num span {
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    width: auto;
  }
  .p-service__num span[data-title]::before {
    content: attr(data-title);
    font-size: 0.875rem;
    font-weight: 500;
    display: block;
  }
}

.p-service__imgbox .c-img {
  aspect-ratio: 350/271;
}

.p-service__box {
  flex: 1;
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .p-service__box {
    display: flex;
    flex-direction: column;
  }
}
@media screen and (min-width: 1025px) {
  .p-service__box {
    padding: 0 clamp(10px, 1.46vw, 28px);
  }
}

.p-service__title {
  line-height: 1.48;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-service__title {
    line-height: 1.43;
  }
}

.p-service__kind {
  font-size: clamp(0.8125rem, 2.08vw, 1rem);
  line-height: 1.46;
  color: #fff;
  font-weight: 500;
  min-width: 6.5rem;
  background: var(--grade);
  padding: 3px 6px;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: max-content;
  margin: 10px auto 0;
}
@media screen and (min-width: 768px) {
  .p-service__kind {
    line-height: 1.5;
  }
}

.p-service__text {
  line-height: 2.08;
  margin-top: 15px;
  margin-bottom: clamp(30px, 4.56vw, 35px);
}
@media screen and (min-width: 1025px) {
  .p-service__text {
    line-height: 2.5;
  }
}

.p-service__btn {
  max-width: max-content;
  margin: auto auto 0;
}

.p-service__h1 {
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .p-service__h1 {
    justify-content: flex-end;
    column-gap: min(1.72vw, 33px);
  }
}
.p-service__h1 .c-title {
  font-size: clamp(1.25rem, 3.13vw, 3.75rem);
  color: var(--color-primary);
  font-weight: 500;
  margin-top: 0;
}
.p-service__h1 .c-title__en {
  font-family: var(--font-jp);
  color: #fff;
  font-weight: 500;
  background: var(--grade);
  letter-spacing: 0;
  font-size: clamp(0.8125rem, 1.32vw, 1.1875rem);
  line-height: 1.46;
  padding: clamp(3px, 0.52vw, 4px) clamp(7px, 1.04vw, 8px);
}

.p-service__return {
  max-width: max-content;
  margin: clamp(50px, 13.02vw, 140px) auto 0;
}

/* p-plan */
.p-plan {
  position: relative;
  margin-top: calc(max(5rem, 20.51vw) * -1);
  padding-top: max(7.25rem, 29.74vw);
}
@media screen and (min-width: 768px) {
  .p-plan {
    margin-top: calc(min(10.47vw, 12.5625rem) * -1);
    padding-top: min(18.02vw, 21.625rem);
  }
}

.p-plan__line01 {
  position: absolute;
  top: 0;
  right: max(29px, 7.44vw);
  width: max(2.9375rem, 12.05vw);
  height: auto;
  display: block;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-plan__line01 {
    right: min(6.82vw, 131px);
    width: min(5.26vw, 6.3125rem);
  }
}
.p-plan__line01 .c-img {
  height: auto;
  aspect-ratio: 47/116;
}
@media screen and (min-width: 768px) {
  .p-plan__line01 .c-img {
    aspect-ratio: 101/346;
  }
}

.p-plan__title {
  display: flex;
  align-items: baseline;
  column-gap: clamp(7px, 2.34vw, 45px);
  font-weight: 500;
}
.p-plan__title span {
  font-size: clamp(0.625rem, 1.53vw, 1.625rem);
}

.p-plan__wrapper {
  width: min(100%, 47.1875rem);
  margin: 0 auto;
}

.p-plan__text {
  font-size: clamp(0.625rem, 2.56vw, 0.875rem);
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .p-plan__text {
    text-align: center;
    font-size: 1rem;
    line-height: 2.5;
  }
}

.p-plan__container, .p-plan__container--other {
  border: clamp(1px, 0.14vw, 2px) solid var(--color-text);
  border-top: none;
  background-color: #fff;
  padding: clamp(20px, 4.17vw, 60px) clamp(30px, 3.39vw, 65px) clamp(35px, 5.56vw, 100px);
}

.p-plan__container--other {
  padding: clamp(15px, 4.17vw, 70px) clamp(13px, 1.04vw, 20px) clamp(15px, 5.56vw, 85px);
}
@media screen and (min-width: 768px) {
  .p-plan__container--other {
    flex: 1;
    padding: clamp(13px, 1.56vw, 30px) clamp(13px, 1.56vw, 30px);
  }
}
@media screen and (min-width: 1025px) {
  .p-plan__container--other {
    padding: clamp(15px, 4.17vw, 70px) clamp(13px, 1.04vw, 20px) clamp(15px, 5.56vw, 85px);
  }
}

.p-plan__table {
  width: 100%;
  font-size: clamp(0.75rem, 3.08vw, 1rem);
  font-weight: 500;
  letter-spacing: 0.1em;
  border: clamp(1px, 0.14vw, 2px) solid var(--color-text);
  margin-top: clamp(15px, 4.17vw, 60px);
}
@media screen and (min-width: 768px) {
  .p-plan__table {
    font-size: clamp(1rem, 1.39vw, 1.5rem);
  }
}
.p-plan__table tr {
  display: flex;
  border-bottom: clamp(1px, 0.14vw, 2px) solid var(--color-text);
}
.p-plan__table tr:last-of-type {
  border: none;
}

.p-plan__th {
  width: 50%;
  font-weight: 500;
  background-color: var(--color-secondary);
  padding: clamp(2px, 0.52vw, 10px);
  line-height: 1.46;
  border-bottom: clamp(1px, 0.14vw, 2px) solid var(--color-text);
}
.p-plan__th:not(:last-of-type) {
  border-right: clamp(1px, 0.14vw, 2px) solid var(--color-text);
}

.p-plan__td {
  width: 50%;
  text-align: center;
  padding: clamp(2px, 0.52vw, 10px);
  line-height: 1.46;
}
.p-plan__td:not(:last-of-type) {
  border-right: clamp(1px, 0.14vw, 2px) solid var(--color-text);
}
.p-plan__td span {
  display: block;
  margin-right: -2.2em;
}

.p-plan__detailtitle {
  font-size: clamp(0.75rem, 3.08vw, 1rem);
  line-height: 1.42;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
  padding-bottom: clamp(2px, 0.52vw, 10px);
  border-bottom: 2px solid var(--color-primary);
  margin-bottom: clamp(5px, 1.04vw, 20px);
}
@media screen and (min-width: 768px) {
  .p-plan__detailtitle {
    font-size: clamp(1rem, 1.53vw, 1.5rem);
  }
}

.p-plan__detaillist {
  display: flex;
  flex-direction: column;
  row-gap: 30px;
  width: clamp(12.5rem, 51.28vw, 17.5rem);
  margin: clamp(25px, 5.21vw, 100px) auto 0;
}
@media screen and (min-width: 768px) {
  .p-plan__detaillist {
    width: 100%;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 30px min(2.34vw, 45px);
  }
}

@media screen and (min-width: 768px) {
  .p-plan__detailitem {
    width: calc((100% - min(2.34vw, 45px) * (2 - 1)) / 2);
  }
}
@media screen and (min-width: 1025px) {
  .p-plan__detailitem {
    width: calc((100% - min(2.34vw, 45px) * (3 - 1)) / 3);
  }
}

.p-plan__list, .p-plan__list--option, .p-plan__list--other {
  display: grid;
  align-items: start;
  grid-template-columns: auto 1fr;
  column-gap: 1em;
  row-gap: 1em;
}

.p-plan__item {
  display: contents;
  font-size: clamp(0.625rem, 2.56vw, 0.875rem);
}
@media screen and (min-width: 768px) {
  .p-plan__item {
    font-size: clamp(0.9375rem, 0.94vw, 1.125rem);
  }
}
.p-plan__item p {
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .p-plan__item p {
    line-height: 1.67;
  }
}

.p-plan__list--other {
  column-gap: clamp(40px, 4.43vw, 85px);
}
@media screen and (min-width: 768px) {
  .p-plan__list--other {
    display: block;
  }
  .p-plan__list--other .p-plan__item:not(:first-of-type) {
    margin-top: 0.5em;
  }
}
@media screen and (min-width: 1025px) {
  .p-plan__list--other {
    display: grid;
  }
  .p-plan__list--other .p-plan__item:not(:first-of-type) {
    margin-top: 0;
  }
}

.p-plan__list--option {
  column-gap: 0.5em;
}
@media screen and (min-width: 768px) {
  .p-plan__list--option {
    display: block;
  }
  .p-plan__list--option .p-plan__item:not(:first-of-type) {
    margin-top: 0.5em;
  }
}
@media screen and (min-width: 1025px) {
  .p-plan__list--option {
    display: grid;
  }
  .p-plan__list--option .p-plan__item:not(:first-of-type) {
    margin-top: 0;
  }
}

.p-plan__itemtitle {
  display: flex;
  align-items: center;
  column-gap: clamp(5px, 0.69vw, 10px);
  font-weight: 700;
}
.p-plan__itemtitle::before {
  content: "";
  display: block;
  width: clamp(0.5625rem, 1.39vw, 1.25rem);
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: var(--color-primary);
  flex: none;
}

.p-plan__section {
  position: relative;
  padding-top: clamp(60px, 12.24vw, 235px);
}

.p-plan__line02 {
  position: absolute;
  top: calc(-1 * max(13px, 3.33vw));
  left: calc(-1 * clamp(20px, 5.21vw, 40px));
  width: clamp(17.9375rem, 73.59vw, 25.4375rem);
  height: auto;
  display: block;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-plan__line02 {
    top: min(3.54vw, 68px);
    left: calc(-1 * (clamp(20px, 5.21vw, 40px) + var(--sidespace)));
    width: min(61.35vw, 73.625rem);
  }
}
.p-plan__line02 .c-img {
  height: auto;
  aspect-ratio: 287/35;
}
@media screen and (min-width: 768px) {
  .p-plan__line02 .c-img {
    aspect-ratio: 1178/75;
  }
}

.p-plan__line03 {
  position: absolute;
  top: 0;
  left: max(33px, 8.46vw);
  width: clamp(2.9375rem, 12.05vw, 4.8125rem);
  height: auto;
  display: block;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-plan__line03 {
    left: min(3.91vw, 75px);
    width: clamp(3.4375rem, 5.63vw, 6.3125rem);
  }
}
@media screen and (min-width: 1025px) {
  .p-plan__line03 {
    width: min(5.63vw, 6.3125rem);
  }
}
.p-plan__line03 .c-img {
  height: auto;
  aspect-ratio: 47/448;
}
@media screen and (min-width: 768px) {
  .p-plan__line03 .c-img {
    aspect-ratio: 101/777;
  }
}

.p-plan__otherlist {
  display: flex;
  flex-direction: column;
  row-gap: 30px;
}
@media screen and (min-width: 768px) {
  .p-plan__otherlist {
    flex-direction: row;
    column-gap: clamp(30px, 3.47vw, 50px);
  }
}

.p-plan__otheritem {
  display: flex;
  flex-direction: column;
  width: 100%;
}
@media screen and (min-width: 1025px) {
  .p-plan__otheritem {
    width: calc((100% - clamp(30px, 3.47vw, 50px) * (2 - 1)) / 2);
  }
}

.p-plan__backbox {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 5px;
  padding-top: clamp(35px, 12.24vw, 235px);
}
@media screen and (min-width: 1025px) {
  .p-plan__backbox {
    flex-direction: row;
    justify-content: center;
  }
}

.p-plan__back {
  font-size: clamp(0.625rem, 2.56vw, 0.875rem);
  line-height: 2;
  background-color: var(--color-secondary);
  padding: clamp(2px, 0.47vw, 9px) clamp(5px, 1.28vw, 30px);
  max-width: max-content;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  text-align: center;
  display: inline;
}
@media screen and (min-width: 768px) {
  .p-plan__back {
    font-size: clamp(1.25rem, 1.53vw, 1.5rem);
    padding: clamp(4px, 0.47vw, 9px) clamp(5px, 1.56vw, 30px);
  }
}
@media screen and (min-width: 1025px) {
  .p-plan__back {
    font-size: clamp(1.125rem, 1.25vw, 1.5rem);
  }
  .p-plan__back:first-of-type {
    padding-right: 0;
  }
  .p-plan__back:not(:first-of-type) {
    padding-left: 0;
  }
}

.p-plan__caution {
  font-size: clamp(0.625rem, 2.56vw, 0.875rem);
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.5;
  text-align: right;
  margin-top: clamp(25px, 3.91vw, 75px);
}
@media screen and (min-width: 768px) {
  .p-plan__caution {
    font-size: 1rem;
  }
}

/* p-file */
.p-file {
  margin-top: clamp(30px, 5.56vw, 80px);
  padding: 0;
}

.p-file__item {
  border-bottom: clamp(1px, 0.14vw, 2px) dashed var(--color-primary);
}
.p-file__item a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  column-gap: 20px;
  padding: clamp(15px, 1.74vw, 25px) clamp(15px, 1.74vw, 25px) clamp(15px, 1.74vw, 25px) 0;
  font-weight: 500;
  color: var(--color-primary);
  text-decoration: underline;
  text-decoration-skip-ink: none;
}
.p-file__item a::after {
  content: "";
  display: block;
  width: clamp(1.4375rem, 5.9vw, 1.75rem);
  height: auto;
  aspect-ratio: 51/39;
  background-image: url(../../uploads/arrow-news_img.png);
  background-repeat: no-repeat;
  background-size: contain;
  flex: none;
}
@media screen and (min-width: 768px) {
  .p-file__item a::after {
    width: clamp(1.875rem, 2.66vw, 3.1875rem);
  }
}

/* p-top */
.p-top {
  position: relative;
  margin-top: clamp(135px, 34.62vw, 215px);
}
@media screen and (min-width: 768px) {
  .p-top {
    margin-top: min(27.34vw, 225px);
  }
}
@media screen and (min-width: 1025px) {
  .p-top {
    width: calc(100% - 14.8vw);
    max-height: 100svh;
    overflow: hidden;
    margin: 0 auto;
  }
}
.p-top::after {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
  right: clamp(20px, 5.21vw, 40px);
  content: "WATT Tax & Accounting Firm";
  display: block;
  font-family: var(--font-en);
  font-size: clamp(0.625rem, 2.56vw, 0.875rem);
  color: #fff;
  height: max-content;
  font-weight: 0.025em;
  font-weight: 500;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
@media screen and (min-width: 1025px) {
  .p-top::after {
    display: none;
  }
}

.p-top__mainimgbox {
  display: block;
  width: 100%;
}
.p-top__mainimgbox .c-img {
  height: auto;
  aspect-ratio: 390/485;
}
@media screen and (min-width: 768px) {
  .p-top__mainimgbox .c-img {
    aspect-ratio: 1637/1082;
  }
}

.p-top__maintext {
  font-size: clamp(1.125rem, 1.56vw, 1.875rem);
  font-weight: 500;
  line-height: 1.47;
  color: #fff;
  letter-spacing: 0.2em;
  margin-bottom: clamp(8px, 1.04vw, 20px);
}

.p-top__mainline {
  position: absolute;
  left: 0;
  right: 0;
  bottom: clamp(25px, 2.08vw, 40px);
  margin: 0 auto;
  width: min(100% - clamp(20px, 5.21vw, 40px) * 2, 82.9375rem);
}

.p-top__mainlineimg {
  width: 100%;
}
.p-top__mainlineimg .c-img {
  height: auto;
  aspect-ratio: 351/51;
  vertical-align: baseline;
}
@media screen and (min-width: 768px) {
  .p-top__mainlineimg .c-img {
    aspect-ratio: 1327/79;
  }
}

.p-top__about {
  margin-top: clamp(32px, 10.94vw, 210px);
}

@media screen and (min-width: 1025px) {
  .p-top__abrecwrapper, .p-top__abrecwrapper--rec {
    display: flex;
  }
}

.p-top__abrecwrapper--rec {
  margin-top: clamp(5.125rem, 21.03vw, 6.375rem);
}
@media screen and (min-width: 768px) {
  .p-top__abrecwrapper--rec {
    margin-top: 86px;
  }
}

.p-top__sideimgbox, .p-top__sideimgbox--rec {
  display: block;
  width: calc(100% + clamp(20px, 5.21vw, 40px));
  margin-left: calc(-1 * clamp(20px, 5.21vw, 40px));
  margin-bottom: 35px;
  margin-top: 30px;
}
@media screen and (min-width: 1025px) {
  .p-top__sideimgbox, .p-top__sideimgbox--rec {
    width: calc(min(46.6%, 37.25rem) + clamp(20px, 5.21vw, 40px) + var(--sidespace));
    margin-left: calc(-1 * (clamp(20px, 5.21vw, 40px) + var(--sidespace)));
    margin-top: 0;
    margin-bottom: 0;
  }
}
.p-top__sideimgbox .c-img, .p-top__sideimgbox--rec .c-img {
  height: auto;
  aspect-ratio: 371/237;
}
@media screen and (min-width: 1025px) {
  .p-top__sideimgbox .c-img, .p-top__sideimgbox--rec .c-img {
    height: 100%;
    aspect-ratio: 916/618;
  }
}

.p-top__sideimgbox--rec {
  width: calc(100% + clamp(20px, 5.21vw, 40px) * 2);
  margin-bottom: clamp(5.6875rem, 23.33vw, 6.9375rem);
}
@media screen and (min-width: 1025px) {
  .p-top__sideimgbox--rec {
    width: calc(min(46.6%, 37.25rem) + clamp(20px, 5.21vw, 40px) + var(--sidespace));
    margin-bottom: 0;
  }
}
.p-top__sideimgbox--rec .c-img {
  height: auto;
  aspect-ratio: 390/314;
}
@media screen and (min-width: 1025px) {
  .p-top__sideimgbox--rec .c-img {
    height: 100%;
    aspect-ratio: 916/618;
  }
}

.p-top__title--topic, .p-top__title--service, .p-top__title--abrec {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  row-gap: clamp(5px, 1.15vw, 22px);
}

.p-top__title--abrec {
  align-items: center;
  max-width: max-content;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .p-top__title--abrec {
    align-items: flex-end;
  }
}

.p-top__title--service {
  max-width: max-content;
  row-gap: 0;
}
.p-top__title--service::after {
  content: "";
  display: block;
  width: 100%;
  height: clamp(0.3125rem, 0.47vw, 0.5625rem);
  background: var(--grade);
}
.p-top__title--service .c-title__en::after {
  display: none;
}

.p-top__title--topic {
  align-items: flex-start;
  max-width: max-content;
  margin-bottom: 35px;
}
@media screen and (min-width: 768px) {
  .p-top__title--topic {
    flex: none;
    margin-bottom: 0;
  }
}

.p-top__servicetitle {
  display: flex;
  align-items: center;
  column-gap: clamp(10px, 1.04vw, 20px);
}
@media screen and (min-width: 768px) {
  .p-top__servicetitle {
    align-items: baseline;
  }
}

.p-top__titleen {
  display: flex;
  flex-direction: column;
  font-weight: 300;
  line-height: 1.35;
  max-width: max-content;
}
.p-top__titleen::after {
  content: "";
  display: block;
  width: 100%;
  height: clamp(0.3125rem, 0.47vw, 0.5625rem);
  background: var(--grade);
}

.p-top__titlejp {
  font-size: clamp(0.625rem, 2.56vw, 1rem);
  line-height: 1.45;
  color: var(--color-primary);
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .p-top__titlejp {
    font-size: clamp(1rem, 1.39vw, 1.25rem);
  }
}

.p-top__abreccopy {
  font-size: clamp(1.25rem, 1.56vw, 1.875rem);
  letter-spacing: 0.1em;
  line-height: 1.75;
  margin-top: clamp(35px, 3.13vw, 60px);
  margin-bottom: clamp(27px, 1.93vw, 37px);
}
@media screen and (min-width: 768px) {
  .p-top__abreccopy {
    letter-spacing: 0.15em;
    line-height: 2;
  }
}
@media screen and (min-width: 1025px) {
  .p-top__abreccopy {
    text-align: right;
  }
}

.p-top__text, .p-top__text--abrec, .p-top__text--service {
  line-height: 2.08;
}
@media screen and (min-width: 768px) {
  .p-top__text, .p-top__text--abrec, .p-top__text--service {
    line-height: 2.22;
  }
}

@media screen and (min-width: 768px) {
  .p-top__text--service {
    font-size: 1rem;
    line-height: 2.5;
  }
}

@media screen and (min-width: 1025px) {
  .p-top__text--abrec {
    text-align: right;
  }
}

.p-top__aboutbtn {
  max-width: max-content;
  margin-left: auto;
  margin-top: clamp(40px, 2.86vw, 55px);
}

@media screen and (min-width: 768px) {
  .p-top__rightbox, .p-top__rightbox--rec {
    max-width: 50rem;
    margin: 0 auto;
  }
}
@media screen and (min-width: 1025px) {
  .p-top__rightbox, .p-top__rightbox--rec {
    max-width: initial;
    margin-right: 0;
  }
}

@media screen and (min-width: 1025px) {
  .p-top__rightbox--rec {
    margin-top: min(4.69vw, 90px);
  }
}

.p-top__service {
  margin-top: clamp(75px, 9.03vw, 130px);
}

.p-top__serviceimgbox {
  display: block;
  width: 100%;
}
.p-top__serviceimgbox .c-img {
  aspect-ratio: 351/201;
}
@media screen and (min-width: 768px) {
  .p-top__serviceimgbox .c-img {
    aspect-ratio: 349/275;
  }
}

.p-top__servicelist {
  position: relative;
  display: flex;
  flex-direction: column;
  row-gap: clamp(40px, 12.82vw, 50px);
  padding-top: clamp(35px, 4.27vw, 82px);
}
@media screen and (min-width: 768px) {
  .p-top__servicelist {
    flex-direction: row;
    flex-wrap: wrap;
    column-gap: 30px;
  }
}
@media screen and (min-width: 1025px) {
  .p-top__servicelist {
    width: calc(100% - min(13%, 10.4375rem));
    column-gap: min(1.61vw, 31px);
  }
}

.p-top__serviceitem {
  width: 100%;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-top__serviceitem {
    width: calc((100% - 30px * (2 - 1)) / 2);
  }
}
@media screen and (min-width: 1025px) {
  .p-top__serviceitem {
    width: calc((100% - min(1.61vw, 31px) * (3 - 1)) / 3);
  }
}

.p-top__serviceitemtitle {
  font-size: clamp(1.25rem, 1.35vw, 1.75rem);
  line-height: 1.43;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-top: clamp(16px, 1.15vw, 22px);
  margin-bottom: clamp(10px, 1.56vw, 30px);
}
@media screen and (min-width: 768px) {
  .p-top__serviceitemtitle {
    text-align: center;
  }
}
@media screen and (min-width: 1025px) {
  .p-top__serviceitemtitle {
    margin-top: min(1.15vw, 22px);
  }
}

.p-top__servicebtn {
  max-width: max-content;
  margin-left: auto;
  margin-top: 40px;
}
@media screen and (min-width: 1025px) {
  .p-top__servicebtn {
    margin-top: 10px;
    margin-right: min(13%, 10.4375rem);
  }
}

.p-top__serviceline {
  display: none;
}
@media screen and (min-width: 1025px) {
  .p-top__serviceline {
    position: absolute;
    top: 0;
    left: calc(-1 * (clamp(20px, 5.21vw, 40px) + var(--sidespace)));
    z-index: 3;
    display: block;
    width: calc(100% + clamp(20px, 5.21vw, 40px) + var(--sidespace) + 12.19vw);
    height: calc(clamp(35px, 4.27vw, 82px) + min(25.4vw, 22.0625rem));
  }
}
@media screen and (min-width: 1115px) {
  .p-top__serviceline {
    height: calc(clamp(35px, 4.27vw, 82px) + clamp(17.8125rem, 18.39vw, 22.0625rem));
  }
}

.p-top__btnsection {
  position: relative;
  padding: clamp(66px, 9.9vw, 190px) 0;
  margin-top: clamp(70px, 6.6vw, 95px);
  background: var(--grade);
  overflow: clip;
}

.p-top__btnlist {
  display: flex;
  column-gap: clamp(15px, 2.71vw, 52px);
}

.p-top__btnitem {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: clamp(2px, 0.21vw, 4px) solid var(--color-primary);
  background-color: #fff;
  width: calc((100% - clamp(15px, 2.71vw, 52px) * (2 - 1)) / 2);
  padding: clamp(30px, 4.17vw, 80px) clamp(10px, 1.56vw, 30px) clamp(5px, 1.56vw, 30px);
  border-radius: clamp(18px, 2.24vw, 43px);
}

.p-top__btnbox--faq, .p-top__btnbox--service {
  display: flex;
  align-items: center;
  column-gap: clamp(10px, 2.34vw, 45px);
}
.p-top__btnbox--faq::before, .p-top__btnbox--service::before {
  content: "";
  display: block;
  height: auto;
  flex: none;
  background-repeat: no-repeat;
  background-size: contain;
}

.p-top__btnbox--service::before {
  width: clamp(1.75rem, 4.72vw, 5.5rem);
  aspect-ratio: 33/48;
  background-image: url(../../uploads/topplan-icon_img.png);
}
@media screen and (min-width: 768px) {
  .p-top__btnbox--service::before {
    width: clamp(3rem, 4.72vw, 5.5rem);
  }
}

.p-top__btnbox--faq::before {
  width: clamp(3rem, 8.4vw, 8.8125rem);
  aspect-ratio: 58/41;
  background-image: url(../../uploads/topfaq-icon_img.png);
}
@media screen and (min-width: 768px) {
  .p-top__btnbox--faq::before {
    width: clamp(5.5rem, 8.4vw, 8.8125rem);
  }
}

.p-top__btninbox {
  display: flex;
  align-items: center;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-top__btninbox {
    align-items: flex-start;
  }
}

.p-top__btntitle {
  font-size: clamp(1.625rem, 6.67vw, 3.125rem);
  line-height: 1.38;
  font-weight: 300;
}
@media screen and (min-width: 768px) {
  .p-top__btntitle {
    font-size: clamp(3.4375rem, 3.65vw, 4.375rem);
  }
}

.p-top__btnview {
  margin-top: 15px;
  margin-right: calc(-1 * clamp(1.9375rem, 3.54vw, 3.1875rem));
}
@media screen and (min-width: 768px) {
  .p-top__btnview {
    margin: 15px 0 0 auto;
  }
}
@media screen and (min-width: 1025px) {
  .p-top__btnview {
    margin-top: 5px;
  }
}

.p-top__btnback {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: max-content;
  margin: auto 0;
  display: flex;
  white-space: nowrap;
}

.p-top__btnbacktext {
  font-size: clamp(2.1875rem, 5.21vw, 6.25rem);
  color: #fff;
  letter-spacing: 0.025em;
  font-weight: 200;
  font-family: var(--font-en);
  flex: none;
  display: flex;
}

.p-top__news {
  margin-top: clamp(70px, 11.81vw, 170px);
}

.p-top__newsbtn {
  max-width: max-content;
  margin: 45px 0 0 auto;
}
@media screen and (min-width: 768px) {
  .p-top__newsbtn {
    margin-top: 30px;
  }
}

.p-top__newslist {
  max-width: initial;
}
@media screen and (min-width: 768px) {
  .p-top__newslist {
    flex: 1;
    margin-top: clamp(86px, 5.52vw, 106px);
  }
}

@media screen and (min-width: 768px) {
  .p-top__newscontainer {
    display: flex;
    align-items: flex-start;
    column-gap: min(3.65vw, 70px);
  }
}

@media screen and (min-width: 768px) {
  .p-top__newslink {
    column-gap: min(3.26vw, 30px);
  }
}
@media screen and (min-width: 1025px) {
  .p-top__newslink {
    column-gap: min(8.59vw, 165px);
  }
}

.p-top__rec {
  position: relative;
  padding-top: clamp(80px, 8.85vw, 170px);
  padding-bottom: clamp(4.6875rem, 19.23vw, 95px);
}
@media screen and (min-width: 1025px) {
  .p-top__rec {
    padding-top: min(12.24vw, 235px);
    padding-bottom: min(17.97vw, 345px);
  }
}

.p-top__recbgline {
  position: absolute;
  top: clamp(10rem, 41.03vw, 12.5rem);
  left: clamp(2.1875rem, 8.97vw, 3.4375rem);
  display: block;
  width: clamp(4.25rem, 17.44vw, 9.875rem);
}
@media screen and (min-width: 1025px) {
  .p-top__recbgline {
    top: calc(-1 * min(2.03vw, 2.4375rem));
    left: calc(clamp(20px, 5.21vw, 40px) + var(--sidespace) - min(2.03vw, 2.4375rem));
    width: clamp(4.0625rem, 5.3%, 6.875rem);
  }
}
.p-top__recbgline .c-img {
  height: auto;
  aspect-ratio: 68/468;
}
@media screen and (min-width: 1025px) {
  .p-top__recbgline .c-img {
    aspect-ratio: 101/1291;
  }
}

.p-top__recbg {
  position: absolute;
  top: clamp(11.75rem, 48.21vw, 15.5rem);
  left: 0;
  width: min(82.3%, 46.875rem);
  height: auto;
  aspect-ratio: 321/411;
  background: linear-gradient(-45deg, #FEEB88 0%, #F9C372 25%, #EC5F3C 75%, #EA4D32 85%, #E8442D);
}
@media screen and (min-width: 768px) {
  .p-top__recbg {
    width: min(76.3%, 45rem);
  }
}
@media screen and (min-width: 1025px) {
  .p-top__recbg {
    left: calc(clamp(20px, 5.21vw, 40px) + var(--sidespace) - min(7.19vw, 8.625rem));
    top: min(16.32vw, 14.6875rem);
    width: clamp(39.375rem, 50.2%, 69.375rem);
    aspect-ratio: 964/894;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    font-size: min(2.6vw, 3.125rem);
    font-weight: 200;
    letter-spacing: 0.025em;
    color: #fff;
    font-family: var(--font-en);
    overflow: hidden;
  }
}
@media screen and (min-width: 1025px) {
  .p-top__recbg span {
    margin-right: min(1.35vw, 26px);
    margin-bottom: -3px;
  }
}

/* p-about */
.p-about__intro {
  position: relative;
  margin-top: clamp(40px, 9.03vw, 130px);
}

.p-about__introtitle {
  border: none;
  justify-content: flex-end;
  width: min(100%, 42.8125rem);
  margin-left: auto;
  font-size: clamp(0.875rem, 4.1vw, 1.25rem);
  letter-spacing: 0.15em;
}
@media screen and (min-width: 768px) {
  .p-about__introtitle {
    position: relative;
    z-index: 2;
    width: auto;
    max-width: max-content;
    margin-top: calc(-1 * min(1.72vw, 33px));
    font-size: clamp(1.125rem, 1.81vw, 1.875rem);
  }
}

@media screen and (min-width: 1025px) {
  .p-about__introwrapper {
    width: max(47.5rem, 71.6%);
    margin-left: auto;
  }
}

.p-about__introimgbox {
  position: relative;
  width: calc(100% + clamp(20px, 5.21vw, 40px));
  margin-right: calc(-1 * clamp(20px, 5.21vw, 40px));
}
@media screen and (min-width: 1025px) {
  .p-about__introimgbox {
    width: 100%;
    margin-right: 0;
  }
}

.p-about__introimg {
  display: block;
  width: 100%;
}
.p-about__introimg .c-img {
  height: auto;
  vertical-align: bottom;
  aspect-ratio: 370/264;
}
@media screen and (min-width: 768px) {
  .p-about__introimg .c-img {
    aspect-ratio: 916/618;
  }
}

.p-about__textbox {
  position: relative;
  margin-top: clamp(20px, 2.34vw, 45px);
}
@media screen and (min-width: 1025px) {
  .p-about__textbox {
    position: unset;
  }
}
.p-about__textbox p {
  text-align: right;
}

.p-about__textimg {
  position: absolute;
  top: clamp(35px, 8.97vw, 55px);
  left: clamp(30px, 7.69vw, 50px);
  display: block;
  width: clamp(2.25rem, 5.73vw, 2.8125rem);
}
@media screen and (min-width: 1025px) {
  .p-about__textimg {
    top: min(5.47vw, 105px);
    left: min(6.67vw, 128px);
    width: clamp(2.25rem, 5.73vw, 6.875rem);
  }
}
.p-about__textimg .c-img {
  height: auto;
  aspect-ratio: 36/298;
}
@media screen and (min-width: 768px) {
  .p-about__textimg .c-img {
    aspect-ratio: 110/909;
  }
}

.p-about__feat {
  position: relative;
  margin-top: clamp(80px, 7.78vw, 112px);
}

.p-about__featlasttext {
  font-size: clamp(0.75rem, 3.08vw, 1rem);
  font-weight: 500;
  color: var(--color-primary);
  line-height: 2.08;
  margin-top: clamp(30px, 3.65vw, 70px);
}
@media screen and (min-width: 768px) {
  .p-about__featlasttext {
    font-size: clamp(1rem, 1.39vw, 1.625rem);
  }
}

.p-about__featimgbox {
  position: relative;
  width: 96.6%;
  margin-left: calc(-1 * clamp(20px, 5.21vw, 40px));
  margin-bottom: clamp(25px, 7.29vw, 105px);
}
@media screen and (min-width: 1025px) {
  .p-about__featimgbox {
    width: calc(min(75%, 60rem) + clamp(20px, 5.21vw, 40px) + var(--sidespace));
    margin-left: calc(-1 * (clamp(20px, 5.21vw, 40px) + var(--sidespace)));
  }
}

.p-about__featimg {
  display: block;
  width: 100%;
}
.p-about__featimg .c-img {
  height: auto;
  aspect-ratio: 338/209;
}
@media screen and (min-width: 1025px) {
  .p-about__featimg .c-img {
    aspect-ratio: 1280/793;
  }
}

.p-about__featdecotext {
  font-size: clamp(0.875rem, 1.39vw, 1.25rem);
  color: var(--color-primary);
  letter-spacing: 0.1em;
  font-weight: 500;
  margin-bottom: clamp(18px, 4.62vw, 28px);
}
@media screen and (min-width: 1025px) {
  .p-about__featdecotext {
    position: absolute;
    top: var(--copymt);
    right: 0;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    margin: auto 0;
    max-height: max-content;
    text-orientation: upright;
  }
}

.p-about__featcopybox {
  position: absolute;
  top: calc(-1 * clamp(35px, 8.97vw, 45px));
  right: -16px;
  display: flex;
  align-items: flex-start;
  flex-direction: row-reverse;
  column-gap: clamp(12px, 1.56vw, 30px);
}
@media screen and (min-width: 1025px) {
  .p-about__featcopybox {
    top: 0;
    bottom: 0;
    right: calc(-1 * min(7.03vw, 135px));
    margin: auto 0;
    height: max-content;
  }
}

.p-about__featcopy {
  line-height: 1;
  letter-spacing: 0.2em;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  height: max-content;
  color: #fff;
  background: linear-gradient(175deg, #FEEB88 0%, #F9C372 25%, #EC5F3C 75%, #EA4D32 85%, #E8442D);
  padding: clamp(15px, 1.82vw, 35px) clamp(8px, 0.78vw, 15px);
  font-size: clamp(0.9375rem, 3.85vw, 1.25rem);
}
@media screen and (min-width: 768px) {
  .p-about__featcopy {
    font-size: clamp(1.125rem, 1.81vw, 1.875rem);
  }
}
.p-about__featcopy:nth-of-type(2) {
  padding: clamp(15px, 1.82vw, 35px) clamp(8px, 0.78vw, 15px) clamp(5px, 0.78vw, 15px);
}

.p-about__text {
  line-height: 2.08;
}
@media screen and (min-width: 768px) {
  .p-about__text {
    line-height: 2.22;
  }
}

.p-about__featlist {
  margin-top: clamp(42px, 4.17vw, 60px);
}

.p-about__featitem:not(:first-of-type) {
  margin-top: clamp(40px, 4.17vw, 60px);
}
.p-about__featitem:first-of-type .p-about__featitemtitle::before {
  position: absolute;
  top: calc(-1 * clamp(17px, 2.19vw, 42px));
  left: clamp(8px, 1.88vw, 36px);
  content: "";
  display: block;
  width: clamp(0.6875rem, 1.41vw, 1.6875rem);
  height: auto;
  aspect-ratio: 11/40;
  background-image: url(../../uploads/no1_img.png);
  background-repeat: no-repeat;
  background-size: contain;
}
.p-about__featitem:nth-of-type(2) .p-about__featitemtitle::before {
  position: absolute;
  top: calc(-1 * clamp(17px, 2.19vw, 42px));
  left: 0;
  content: "";
  display: block;
  width: clamp(1.25rem, 2.6vw, 3.125rem);
  height: auto;
  aspect-ratio: 20/40;
  background-image: url(../../uploads/no2_img.png);
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (min-width: 768px) {
  .p-about__featitem:nth-of-type(2) .p-about__featitemtitle::before {
    left: min(0.78vw, 15px);
  }
}
.p-about__featitem:nth-of-type(3) .p-about__featitemtitle::before {
  position: absolute;
  top: calc(-1 * clamp(17px, 2.19vw, 42px));
  left: 0;
  content: "";
  display: block;
  width: clamp(1.3125rem, 2.6vw, 3.125rem);
  height: auto;
  aspect-ratio: 21/40;
  background-image: url(../../uploads/no3_img.png);
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (min-width: 768px) {
  .p-about__featitem:nth-of-type(3) .p-about__featitemtitle::before {
    left: min(0.78vw, 15px);
  }
}

.p-about__featitemtitle {
  position: relative;
  font-size: clamp(0.625rem, 3.33vw, 1rem);
  line-height: 1.14;
  font-weight: 500;
  letter-spacing: 0.05em;
  max-width: max-content;
  background-color: var(--color-secondary);
  padding: clamp(1px, 0.63vw, 9px) 15px clamp(1px, 0.63vw, 9px) clamp(30px, 3.85vw, 74px);
  margin-bottom: clamp(8px, 1.39vw, 20px);
}
@media screen and (min-width: 768px) {
  .p-about__featitemtitle {
    font-size: clamp(1rem, 1.81vw, 1.625rem);
  }
}
@media screen and (min-width: 1025px) {
  .p-about__featitemtitle {
    width: min(46.32vw, 41.6875rem);
    max-width: initial;
  }
}

@media screen and (min-width: 1025px) {
  .p-about__featbox {
    width: min(79.2%, 63.375rem);
    margin-left: auto;
  }
}

.p-about__watt {
  margin-top: clamp(86px, 13.02vw, 250px);
}
@media screen and (min-width: 1025px) {
  .p-about__watt {
    display: flex;
    align-items: center;
    column-gap: min(4.74vw, 91px);
  }
}

.p-about__watttitle {
  display: flex;
  flex-direction: column;
  font-size: clamp(0.875rem, 3.59vw, 1rem);
  line-height: 1.43;
  font-weight: 500;
  letter-spacing: 0.1em;
  max-width: max-content;
  color: var(--color-primary);
  row-gap: clamp(4px, 0.57vw, 11px);
  margin-bottom: 40px;
}
@media screen and (min-width: 768px) {
  .p-about__watttitle {
    flex: none;
    font-size: clamp(1rem, 1.39vw, 1.25rem);
  }
}
@media screen and (min-width: 1025px) {
  .p-about__watttitle {
    margin-left: calc(-1 * min(clamp(20px, 5.21vw, 40px) + var(--sidespace), 123px));
  }
}
.p-about__watttitle::after {
  content: "";
  display: block;
  width: 100%;
  height: clamp(0.3125rem, 0.52vw, 0.625rem);
  background: var(--grade);
}

.p-about__wattwrapper {
  display: flex;
  align-items: center;
  column-gap: 30px;
}
@media screen and (min-width: 1025px) {
  .p-about__wattwrapper {
    flex: 1;
    column-gap: min(0.78vw, 15px);
  }
}

.p-about__wattimgbox {
  display: block;
  width: 28.9%;
  flex: none;
}
@media screen and (min-width: 1025px) {
  .p-about__wattimgbox {
    width: min(15.47vw, 18.5625rem);
  }
}
.p-about__wattimgbox .c-img {
  aspect-ratio: 101/106;
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-about__wattimgbox .c-img {
    aspect-ratio: 297/310;
  }
}

.p-about__wattlist {
  flex: 1;
}
@media screen and (min-width: 1025px) {
  .p-about__wattlist {
    flex: initial;
  }
}

.p-about__wattitem:not(:first-of-type) {
  margin-top: clamp(25px, 3.13vw, 60px);
}

.p-about__wattsubtitle {
  font-size: clamp(0.625rem, 3.33vw, 1rem);
  color: var(--color-primary);
  line-height: 1.43;
  margin-bottom: clamp(5px, 1.04vw, 15px);
}
@media screen and (min-width: 768px) {
  .p-about__wattsubtitle {
    font-size: clamp(1rem, 1.81vw, 1.625rem);
    line-height: 1.42;
  }
}

.p-about__wattimg {
  width: min(8.85vw, 10.625rem);
  height: auto;
  aspect-ratio: 170/341;
}
@media screen and (min-width: 1025px) {
  .p-about__wattimg {
    width: min(13.3%, 10.625rem);
  }
}

.p-about__mes {
  position: relative;
  margin-top: clamp(155px, 8.68vw, 125px);
}

.p-about__mesbgbox {
  position: absolute;
  top: calc(-1 * clamp(100px, 25.64vw, 120px));
  left: 0;
  margin-left: calc(-1 * clamp(20px, 5.21vw, 40px));
  width: 87.7%;
  height: auto;
  aspect-ratio: 342/181;
  background-color: #fff;
  background: linear-gradient(-45deg, #FEEB88 0%, #F9C372 25%, #EC5F3C 75%, #EA4D32 85%, #E8442D);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  padding-left: clamp(10px, 2.6vw, 20px);
}
@media screen and (min-width: 1025px) {
  .p-about__mesbgbox {
    width: calc(41.9% + clamp(20px, 5.21vw, 40px) + var(--sidespace));
    top: 0;
    margin-left: calc(-1 * (clamp(20px, 5.21vw, 40px) + var(--sidespace)));
    aspect-ratio: 856/455;
  }
}

.p-about__mestitle {
  font-family: var(--font-en);
  font-weight: 600;
  line-height: 0.96;
  letter-spacing: 0.025em;
  color: rgba(255, 255, 255, 0.5);
  font-size: clamp(3.0625rem, 8.68vw, 7.8125rem);
  margin-left: clamp(10px, 2.6vw, 20px);
  margin-top: calc(-1 * min(1.09vw, 21px));
}
@media screen and (min-width: 1025px) {
  .p-about__mestitle {
    font-size: clamp(3.0625rem, 6.51vw, 7.8125rem);
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
  }
  .p-about__mestitle[data-title]::after {
    position: relative;
    content: attr(data-title);
    font-size: min(1.04vw, 1.25rem);
    color: #fff;
    letter-spacing: 0.1em;
    display: block;
    margin-bottom: min(8.07vw, 155px);
    left: calc(-1 * min(17.14vw, 329px));
  }
}

.p-about__mesbgen {
  font-family: var(--font-en);
  font-weight: 200;
  letter-spacing: 0.025em;
  font-size: clamp(1.1875rem, 3.47vw, 3.125rem);
  color: #fff;
}
@media screen and (min-width: 1025px) {
  .p-about__mesbgen {
    font-size: clamp(1.1875rem, 2.6vw, 3.125rem);
  }
}

.p-about__meswrapper {
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 1025px) {
  .p-about__meswrapper {
    display: flex;
    align-items: stretch;
  }
  .p-about__meswrapper::after {
    position: absolute;
    right: calc(-1 * (var(--sidespace) + clamp(20px, 5.21vw, 40px)));
    bottom: 0;
    content: "";
    display: block;
    width: calc(100% + var(--sidespace) + clamp(20px, 5.21vw, 40px));
    height: min(0.69vw, 0.625rem);
    background: var(--grade);
  }
}

.p-about__mesimgbox {
  width: calc(72.3% + clamp(20px, 5.21vw, 40px));
  display: block;
  margin-left: auto;
  margin-right: calc(-1 * clamp(20px, 5.21vw, 40px));
}
@media screen and (min-width: 1025px) {
  .p-about__mesimgbox {
    width: 50.1%;
    margin-left: 0;
    margin-right: 0;
    flex: none;
    margin-top: clamp(145px, 12.34vw, 237px);
  }
}
@media screen and (min-width: 1920px) {
  .p-about__mesimgbox {
    width: 53.2%;
  }
}
.p-about__mesimgbox .c-img {
  aspect-ratio: 272/203;
}
@media screen and (min-width: 1025px) {
  .p-about__mesimgbox .c-img {
    aspect-ratio: 681/508;
  }
}

.p-about__mesbox {
  margin-top: clamp(20px, 5.13vw, 40px);
}
@media screen and (min-width: 1025px) {
  .p-about__mesbox {
    flex: 1;
    margin-top: min(3.13vw, 60px);
  }
}

.p-about__mestext {
  font-size: clamp(0.625rem, 3.08vw, 1rem);
  line-height: 2.08;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-about__mestext {
    font-size: 1rem;
    line-height: 2.5;
  }
}
@media screen and (min-width: 1025px) {
  .p-about__mestext {
    font-size: clamp(0.75rem, 0.97vw, 0.9375rem);
    text-align: right;
  }
}
@media screen and (min-width: 1920px) {
  .p-about__mestext {
    font-size: 1rem;
  }
}

.p-about__mesnamebox {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  row-gap: clamp(15px, 2.08vw, 30px);
  max-width: max-content;
  margin-left: auto;
  margin-top: clamp(25px, 5.47vw, 105px);
}
@media screen and (min-width: 1025px) {
  .p-about__mesnamebox {
    padding-bottom: calc(min(1.3vw, 25px) + min(0.52vw, 0.625rem));
  }
}
.p-about__mesnamebox::after {
  content: "";
  display: block;
  width: calc(100% + clamp(20px, 5.21vw, 40px));
  height: clamp(4px, 0.52vw, 10px);
  background: var(--grade);
  margin-top: -5px;
  margin-right: calc(-1 * clamp(20px, 5.21vw, 40px));
}
@media screen and (min-width: 1025px) {
  .p-about__mesnamebox::after {
    display: none;
  }
}

.p-about__mesnameposition {
  font-size: clamp(0.625rem, 2.56vw, 0.75rem);
  line-height: 2;
  text-align: right;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .p-about__mesnameposition {
    font-size: clamp(1rem, 1.04vw, 1.25rem);
    line-height: 2;
  }
}

.p-about__mesname {
  display: block;
  width: clamp(7.3125rem, 20.42vw, 18.375rem);
  height: auto;
  aspect-ratio: 117/28;
}
@media screen and (min-width: 768px) {
  .p-about__mesname {
    aspect-ratio: 294/71;
  }
}
@media screen and (min-width: 1025px) {
  .p-about__mesname {
    width: clamp(7.3125rem, 15.31vw, 18.375rem);
  }
}

.p-about__profile {
  margin-top: clamp(86px, 13.02vw, 250px);
}

.p-about__table {
  width: 100%;
  margin-top: clamp(40px, 7.81vw, 60px);
}
@media screen and (min-width: 1025px) {
  .p-about__table {
    width: min(79.7%, 63.75rem);
    margin-left: auto;
  }
}
.p-about__table tr {
  display: flex;
  align-items: stretch;
  border-top: 1px solid #CBCBCB;
}
.p-about__table tr:last-of-type {
  border-bottom: 1px solid #CBCBCB;
}
.p-about__table th, .p-about__table td {
  line-height: 1.82;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-about__table th, .p-about__table td {
    font-size: clamp(1rem, 1.15vw, 1.375rem);
  }
}
.p-about__table th {
  width: clamp(6.25rem, 24.1%, 15.375rem);
  text-align: left;
  flex: none;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: clamp(10px, 1.95vw, 20px) clamp(6px, 1.69vw, 13px);
}
.p-about__table td {
  flex: 1;
  padding: clamp(10px, 1.95vw, 20px) clamp(15px, 2.6vw, 30px);
}

/* p-recruit */
.p-recruit__only {
  margin-top: clamp(70px, 12.85vw, 185px);
}

.p-recruit__onlytitle {
  display: block;
  width: 100%;
}
.p-recruit__onlytitle .c-img {
  height: auto;
  aspect-ratio: 351/17;
}
@media screen and (min-width: 768px) {
  .p-recruit__onlytitle .c-img {
    aspect-ratio: 1280/61;
  }
}

.p-recruit__onlytext {
  line-height: 2.08;
  font-weight: 500;
  text-align: center;
  margin-top: clamp(25px, 2.78vw, 40px);
}
@media screen and (min-width: 768px) {
  .p-recruit__onlytext {
    line-height: 2;
  }
}

.p-recruit__onlyimg {
  display: block;
  width: calc(100% + (clamp(20px, 5.21vw, 40px) + var(--sidespace)) * 2);
  margin-left: calc(-1 * (clamp(20px, 5.21vw, 40px) + var(--sidespace)));
  margin-top: clamp(50px, 6.94vw, 100px);
}
.p-recruit__onlyimg .c-img {
  height: auto;
  aspect-ratio: 390/242;
  vertical-align: bottom;
}
@media screen and (min-width: 768px) {
  .p-recruit__onlyimg .c-img {
    aspect-ratio: 1920/917;
  }
}

.p-recruit__detail {
  width: calc(100% + (clamp(20px, 5.21vw, 40px) + var(--sidespace)) * 2);
  margin-left: calc(-1 * (clamp(20px, 5.21vw, 40px) + var(--sidespace)));
  background-color: #E3E3E3;
  padding: clamp(50px, 13.19vw, 190px) 0 clamp(60px, 14.58vw, 250px);
}

.p-recruit__table {
  width: 100%;
  display: none;
}
.p-recruit__table tbody {
  width: 100%;
  display: block;
}

.p-recruit__tr {
  width: 100%;
  display: flex;
  border-top: clamp(1px, 0.26vw, 2px) solid var(--color-text);
}
.p-recruit__tr:last-of-type {
  border-bottom: clamp(1px, 0.26vw, 2px) solid var(--color-text);
}
.p-recruit__tr.u-flex-col .p-recruit__th {
  padding-bottom: 0;
}

.p-recruit__th {
  font-size: clamp(0.625rem, 2.56vw, 1rem);
  text-align: left;
  width: 26.1%;
  flex: none;
  line-height: 1.5;
  padding: clamp(15px, 1.56vw, 30px) clamp(12px, 1.04vw, 20px);
  background-color: rgba(233, 85, 4, 0.15);
  letter-spacing: 0.075em;
  box-sizing: content-box;
}
@media screen and (min-width: 768px) {
  .p-recruit__th {
    line-height: 2;
    font-size: clamp(1rem, 1.04vw, 1.25rem);
    width: min(19.9%, 13.5625rem);
    box-sizing: border-box;
  }
}

.p-recruit__td {
  font-size: clamp(0.625rem, 2.56vw, 1rem);
  flex: 1;
  font-weight: 500;
  line-height: 1.5;
  padding: clamp(15px, 1.56vw, 30px) 0 clamp(15px, 1.56vw, 30px) clamp(10px, 2.08vw, 40px);
  letter-spacing: 0.075em;
}
@media screen and (min-width: 768px) {
  .p-recruit__td {
    font-size: clamp(1rem, 0.94vw, 1.125rem);
    line-height: 2.22;
  }
}

.p-recruit__taglist {
  display: flex;
  column-gap: 2px;
  margin-top: clamp(40px, 6.51vw, 125px);
  border-bottom: clamp(7px, 0.63vw, 12px) solid var(--color-primary);
}
@media screen and (min-width: 1025px) {
  .p-recruit__taglist {
    column-gap: min(1.82vw, 35px);
  }
}

.p-recruit__tagitem {
  font-size: clamp(0.6875rem, 1.69vw, 1rem);
  line-height: 1.27;
  font-weight: 700;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  width: calc((100% - 2px * (4 - 1)) / 4);
  text-align: center;
  background-color: #fff;
  padding-top: clamp(5px, 1.46vw, 28px);
  padding-bottom: clamp(3px, 1.04vw, 15px);
  border-radius: clamp(20px, 2.08vw, 40px) clamp(20px, 2.08vw, 40px) 0 0;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .p-recruit__tagitem {
    letter-spacing: 0.025em;
    padding-top: clamp(15px, 1.46vw, 28px);
    line-height: 1.56;
  }
}
@media screen and (min-width: 1025px) {
  .p-recruit__tagitem {
    width: calc((100% - min(1.82vw, 35px) * (4 - 1)) / 4);
    font-size: clamp(1rem, 1.15vw, 1.375rem);
  }
}
@media (hover: hover) {
  .p-recruit__tagitem {
    transition: color ease 0.3s, background-color ease 0.3s;
  }
  .p-recruit__tagitem:hover, .p-recruit__tagitem:focus-visible {
    color: #fff;
    background-color: var(--color-primary);
  }
}

.p-recruit__infocontainer {
  background-color: #fff;
  padding: clamp(35px, 3.65vw, 70px) clamp(10px, 4.69vw, 90px) clamp(60px, 5.99vw, 115px);
}

.p-recruit__btn {
  position: relative;
  z-index: 2;
  font-size: 0.875rem;
  color: #fff;
  font-weight: 500;
  width: clamp(16.1875rem, 66.41vw, 22.3125rem);
  height: clamp(2.3125rem, 9.49vw, 3.125rem);
  border-radius: calc(clamp(2.3125rem, 9.49vw, 3.125rem) / 2);
  background-color: var(--color-primary);
  border: 1px solid var(--color-primary);
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: clip;
  margin: clamp(45px, 5.21vw, 100px) auto 0;
}
@media screen and (min-width: 768px) {
  .p-recruit__btn {
    width: min(100%, 26.5rem);
    font-size: clamp(1rem, 1.39vw, 1.25rem);
    height: clamp(3.75rem, 4.17vw, 5rem);
    border-radius: calc(clamp(3.75rem, 4.17vw, 5rem) / 2);
    border-width: clamp(1px, 0.13vw, 2px);
  }
}
.p-recruit__btn::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: clamp(15px, 2.34vw, 45px);
  z-index: 2;
  content: "";
  display: block;
  width: clamp(0.8125rem, 3.33vw, 1.75rem);
  height: auto;
  aspect-ratio: 28/20;
  margin: auto 0;
  background-color: #fff;
  -webkit-mask-image: url(../../uploads/arrow-icon_img.png);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
}
@media screen and (min-width: 768px) {
  .p-recruit__btn::after {
    width: clamp(1.25rem, 2.03vw, 2.4375rem);
  }
}

.p-recruit__detailtitle {
  text-align: center;
  color: var(--color-primary);
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: max-content;
  margin: 0 auto;
  row-gap: 4px;
}
.p-recruit__detailtitle::after {
  content: "";
  display: block;
  width: 100%;
  height: clamp(5px, 0.52vw, 10px);
  background: var(--grade);
}

.p-recruit__form {
  max-width: 55.375rem;
  margin: clamp(100px, 10.16vw, 195px) auto 0;
}

.p-recruit__formtitle {
  text-align: center;
  color: var(--color-primary);
  margin-bottom: clamp(30px, 3.47vw, 50px);
}

.p-reruit__mes {
  margin-top: clamp(60px, 11.11vw, 160px);
}

.p-reruit__meswrapper {
  display: flex;
  flex-direction: column;
  row-gap: clamp(45px, 11.54vw, 65px);
  margin-top: clamp(20px, 4.86vw, 70px);
}
@media screen and (min-width: 1025px) {
  .p-reruit__meswrapper {
    flex-direction: row;
    justify-content: space-between;
    column-gap: min(2.29vw, 44px);
  }
}

.p-recruit__mesimgbox {
  position: relative;
}
@media screen and (min-width: 1025px) {
  .p-recruit__mesimgbox {
    width: calc(50% + min(3.13vw, 3.75rem));
    margin-left: calc(min(clamp(20px, 5.21vw, 40px) + var(--sidespace), 60px) * -1);
  }
}

.p-recruit__mesbox {
  padding-left: 6.6%;
}
@media screen and (min-width: 1025px) {
  .p-recruit__mesbox {
    width: calc(46.6% + min(3.28vw, 3.9375rem));
    margin-top: min(1.15vw, 22px);
    margin-right: calc(min(var(--sidespace), 63px) * -1);
    padding-left: 0;
  }
}

.p-recruit__mesimg {
  display: block;
}
@media screen and (min-width: 1025px) {
  .p-recruit__mesimg {
    height: 100%;
  }
}
.p-recruit__mesimg .c-img {
  height: auto;
  aspect-ratio: 351/242;
  vertical-align: bottom;
}
@media screen and (min-width: 768px) {
  .p-recruit__mesimg .c-img {
    aspect-ratio: 701/530;
  }
}
@media screen and (min-width: 1025px) {
  .p-recruit__mesimg .c-img {
    height: 100%;
  }
}

.p-reruit__titlebox, .p-reruit__titlebox--intro {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.p-reruit__titlebox--intro {
  align-items: flex-start;
  padding-left: clamp(22px, 3.96vw, 76px);
}

.p-reruit__title, .p-reruit__title--talent, .p-reruit__title--merit, .p-reruit__title--intro {
  position: absolute;
  bottom: 10px;
  left: 0;
  right: 0;
  text-align: center;
  color: var(--color-primary);
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: max-content;
  margin: 0 auto;
  row-gap: clamp(4px, 0.69vw, 10px);
  font-size: clamp(0.875rem, 3.59vw, 1rem);
  font-weight: 500;
  line-height: 1.43;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .p-reruit__title, .p-reruit__title--talent, .p-reruit__title--merit, .p-reruit__title--intro {
    font-size: clamp(1rem, 1.67vw, 1.6875rem);
    line-height: 1.42;
  }
}
.p-reruit__title::after, .p-reruit__title--talent::after, .p-reruit__title--merit::after, .p-reruit__title--intro::after {
  content: "";
  display: block;
  width: 100%;
  height: clamp(5px, 0.52vw, 10px);
  background: var(--grade);
}

.p-reruit__title--intro {
  right: unset;
  bottom: clamp(13px, 2.08vw, 30px);
}
.p-reruit__title--intro::after {
  display: none;
}

.p-reruit__title--merit {
  bottom: 0;
}

.p-reruit__title--talent {
  bottom: 0;
}

.p-reruit__mestitle {
  display: block;
  width: 59.1%;
}
@media screen and (min-width: 768px) {
  .p-reruit__mestitle {
    width: 32.4%;
  }
}
.p-reruit__mestitle .c-img {
  height: auto;
  aspect-ratio: 207/58;
}
@media screen and (min-width: 768px) {
  .p-reruit__mestitle .c-img {
    aspect-ratio: 415/115;
  }
}

.p-reruit__merititle {
  display: block;
  width: 31.7%;
  margin-left: 19.2%;
}
@media screen and (min-width: 768px) {
  .p-reruit__merititle {
    width: 17.3%;
  }
}
.p-reruit__merititle .c-img {
  height: auto;
  aspect-ratio: 111/51;
}
@media screen and (min-width: 768px) {
  .p-reruit__merititle .c-img {
    aspect-ratio: 222/100;
  }
}

.p-recruit__introtitle {
  display: block;
  width: 43.7%;
}
@media screen and (min-width: 768px) {
  .p-recruit__introtitle {
    width: 23.9%;
  }
}
@media screen and (min-width: 1025px) {
  .p-recruit__introtitle {
    width: 37.9%;
  }
}
.p-recruit__introtitle .c-img {
  height: auto;
  aspect-ratio: 153/58;
}
@media screen and (min-width: 768px) {
  .p-recruit__introtitle .c-img {
    aspect-ratio: 306/115;
  }
}

.p-reruit__talenttitle {
  display: block;
  width: 78.3%;
}
@media screen and (min-width: 768px) {
  .p-reruit__talenttitle {
    width: 42.8%;
  }
}
.p-reruit__talenttitle .c-img {
  height: auto;
  aspect-ratio: 274/51;
}
@media screen and (min-width: 768px) {
  .p-reruit__talenttitle .c-img {
    aspect-ratio: 548/100;
  }
}

.p-recruit__text, .p-recruit__text--merit, .p-recruit__text--talent {
  line-height: 2.08;
}
@media screen and (min-width: 768px) {
  .p-recruit__text, .p-recruit__text--merit, .p-recruit__text--talent {
    line-height: 2.22;
  }
}
@media screen and (min-width: 1025px) {
  .p-recruit__text, .p-recruit__text--merit, .p-recruit__text--talent {
    font-size: clamp(0.875rem, 0.94vw, 1.125rem);
  }
}

@media screen and (min-width: 1025px) {
  .p-recruit__text--talent {
    font-size: clamp(0.8125rem, 0.94vw, 1.125rem);
  }
}

.p-recruit__text--merit span {
  color: var(--color-primary);
}
@media screen and (min-width: 768px) {
  .p-recruit__text--merit span {
    font-weight: 700;
  }
}
@media screen and (min-width: 1025px) {
  .p-recruit__text--merit {
    font-size: clamp(0.875rem, 0.94vw, 1.125rem);
  }
}

.p-recruit__mescopy {
  position: absolute;
  bottom: calc(clamp(27px, 6.92vw, 37px) * -1);
  left: 6.6%;
  font-size: clamp(1.0625rem, 4.36vw, 1.25rem);
  line-height: 1.47;
  border: none;
  padding: clamp(8px, 0.69vw, 10px) 15px;
  max-width: max-content;
  background: var(--grade);
  color: #fff;
}
@media screen and (min-width: 768px) {
  .p-recruit__mescopy {
    font-size: clamp(1.5rem, 1.81vw, 1.875rem);
    line-height: 1.47;
  }
}
@media screen and (min-width: 1025px) {
  .p-recruit__mescopy {
    left: unset;
    right: calc(-1 * min(10.78vw, 207px));
    bottom: clamp(125px, 9.64vw, 185px);
    padding: clamp(8px, 0.69vw, 10px) 8px clamp(8px, 0.69vw, 10px) clamp(15px, 1.74vw, 25px);
  }
}

.p-recruit__mescopy2 {
  font-size: clamp(1rem, 4.1vw, 1.25rem);
  line-height: 1.88;
  font-weight: 500;
  letter-spacing: 0.15em;
  max-width: max-content;
  margin-top: clamp(35px, 8.96vw, 172px);
  margin-left: 1em;
}
@media screen and (min-width: 768px) {
  .p-recruit__mescopy2 {
    font-size: clamp(1.5rem, 1.81vw, 1.875rem);
    line-height: 2;
    margin-bottom: min(2.34vw, 45px);
  }
}
@media screen and (min-width: 1025px) {
  .p-recruit__mescopy2 {
    margin-left: auto;
    margin-right: auto;
  }
}

.p-recruit__intro {
  position: relative;
  margin-top: clamp(35px, 3.82vw, 55px);
}

.p-recruit__introcopy {
  font-size: clamp(0.875rem, 4.1vw, 1.25rem);
  line-height: 1.47;
  border: none;
  padding: clamp(8px, 0.69vw, 10px) 15px;
  max-width: max-content;
  background: var(--grade);
  letter-spacing: 0.15em;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .p-recruit__introcopy {
    font-size: clamp(1.5rem, 1.81vw, 1.875rem);
    line-height: 1.47;
  }
}
@media screen and (min-width: 1025px) {
  .p-recruit__introcopy {
    padding: clamp(8px, 0.52vw, 10px) clamp(15px, 1.74vw, 25px);
  }
}

.p-recruit__introfirstbox {
  margin-top: 25px;
}
@media screen and (min-width: 1025px) {
  .p-recruit__introfirstbox {
    flex: 1;
    margin-top: 0;
  }
}

.p-recruit__introtextbox {
  padding-top: clamp(20px, 1.3vw, 25px);
}
@media screen and (min-width: 1025px) {
  .p-recruit__introtextbox {
    background-color: #fff;
    padding-right: 20px;
  }
}

.p-recruit__introfirstitem {
  display: flex;
  flex-direction: column;
  row-gap: clamp(25px, 6.41vw, 35px);
}
@media screen and (min-width: 1025px) {
  .p-recruit__introfirstitem {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
  }
}

@media screen and (min-width: 1025px) {
  .p-recruit__introfirstinbox {
    width: min(84.3%, 42.5rem);
  }
}

.p-recruit__introfirstimg {
  display: block;
  width: 100%;
}
@media screen and (min-width: 1025px) {
  .p-recruit__introfirstimg {
    width: calc(37% + min(clamp(20px, 5.21vw, 40px) + var(--sidespace), 5.1875rem));
    margin-right: calc(-1 * min(clamp(20px, 5.21vw, 40px) + var(--sidespace), 5.1875rem));
  }
}
.p-recruit__introfirstimg .c-img {
  aspect-ratio: 370/265;
  vertical-align: bottom;
}
@media screen and (min-width: 1025px) {
  .p-recruit__introfirstimg .c-img {
    aspect-ratio: 556/779;
  }
}

.p-recruit__introseconditem {
  position: relative;
  z-index: 2;
  margin-top: calc(-1 * clamp(15px, 3.85vw, 25px));
}
@media screen and (min-width: 1025px) {
  .p-recruit__introseconditem {
    margin-top: calc(-1 * min(7.03vw, 135px));
  }
}

@media screen and (min-width: 1025px) {
  .p-recruit__introsecondinbox {
    width: min(53.1%, 42.5rem);
    margin-left: 21.2%;
  }
}

.p-recruit__introthirditem {
  margin-top: clamp(25px, 6.41vw, 35px);
}
@media screen and (min-width: 1025px) {
  .p-recruit__introthirditem {
    display: flex;
    align-items: flex-start;
    margin-top: min(6.6vw, 95px);
  }
}

.p-recruit__introthirdimg {
  display: block;
  width: calc(100% + clamp(20px, 5.21vw, 40px) * 2);
  margin-left: calc(-1 * clamp(20px, 5.21vw, 40px));
}
@media screen and (min-width: 1025px) {
  .p-recruit__introthirdimg {
    width: calc(41.4% + clamp(20px, 5.21vw, 40px) + var(--sidespace));
    margin-left: calc(-1 * (clamp(20px, 5.21vw, 40px) + var(--sidespace)));
  }
}
.p-recruit__introthirdimg .c-img {
  aspect-ratio: 390/224;
  vertical-align: bottom;
}
@media screen and (min-width: 1025px) {
  .p-recruit__introthirdimg .c-img {
    aspect-ratio: 849/629;
  }
}

.p-recruit__introthirdbox {
  position: relative;
  z-index: 2;
  width: 82.9%;
  margin-left: auto;
  margin-top: calc(-1 * clamp(15px, 3.85vw, 25px));
}
@media screen and (min-width: 1025px) {
  .p-recruit__introthirdbox {
    flex: 1;
    margin-top: 0;
  }
}

.p-recruit__introline {
  position: absolute;
  left: calc(-1 * clamp(20px, 5.21vw, 40px));
  bottom: 0;
  z-index: -1;
  width: min(17.7%, 6.3125rem);
  display: block;
}
@media screen and (min-width: 1025px) {
  .p-recruit__introline {
    left: 0;
    bottom: calc(-1 * min(12.14vw, 233px));
    width: 7.9%;
  }
}
.p-recruit__introline .c-img {
  aspect-ratio: 61/783;
  vertical-align: bottom;
}
@media screen and (min-width: 1025px) {
  .p-recruit__introline .c-img {
    aspect-ratio: 101/1291;
  }
}

@media screen and (min-width: 1025px) {
  .p-recruit__introthirdinbox {
    width: min(90.7%, 42.5rem);
    margin-left: auto;
  }
}

.p-recruit__merit {
  position: relative;
  margin-top: clamp(85px, 15.89vw, 305px);
}

.p-recruit__talent {
  position: relative;
  padding-top: clamp(30px, 9.11vw, 175px);
}

.p-recruit__talentdecobox {
  width: calc(100% + clamp(20px, 5.21vw, 40px) * 2);
  margin-left: calc(-1 * clamp(20px, 5.21vw, 40px));
  margin-top: clamp(22px, 5.64vw, 32px);
}
@media screen and (min-width: 1025px) {
  .p-recruit__talentdecobox {
    width: calc(26.7% + clamp(20px, 5.21vw, 40px) + var(--sidespace));
    position: absolute;
    top: 0;
    right: calc(-1 * (clamp(20px, 5.21vw, 40px) + var(--sidespace)));
    margin-top: clamp(30px, 12.15vw, 175px);
  }
}

.p-recruit__talentdecobg1 {
  width: 100%;
  height: auto;
  aspect-ratio: 390/127;
  background: var(--grade);
  transform: scale(-1, 1);
}
@media screen and (min-width: 1025px) {
  .p-recruit__talentdecobg1 {
    width: 76.6%;
    transform: scale(-1, -1);
    margin-left: auto;
    aspect-ratio: 507/894;
  }
}

.p-recruit__talentdecoimg1 {
  position: relative;
  z-index: 3;
  display: block;
  width: calc(67.1% + clamp(20px, 5.21vw, 40px));
  margin-left: auto;
  margin-top: calc(clamp(100px, 25.64vw, 120px) * -1);
}
@media screen and (min-width: 1025px) {
  .p-recruit__talentdecoimg1 {
    position: absolute;
    right: 0;
    bottom: min(9.01vw, 173px);
    z-index: 3;
    width: 100%;
  }
}
.p-recruit__talentdecoimg1 .c-img {
  height: auto;
  aspect-ratio: 254/167;
}
@media screen and (min-width: 1025px) {
  .p-recruit__talentdecoimg1 .c-img {
    aspect-ratio: 662/439;
  }
}

.p-recruit__talentwrapper {
  position: relative;
  z-index: 4;
  margin-top: clamp(35px, 6.25vw, 120px);
}

.p-recruit__talentitemtitle {
  position: relative;
  font-size: clamp(0.625rem, 3.33vw, 1rem);
  line-height: 1.14;
  font-weight: 500;
  letter-spacing: 0.05em;
  max-width: max-content;
  background-color: var(--color-secondary);
  padding: clamp(1px, 0.63vw, 9px) 15px clamp(1px, 0.63vw, 9px) clamp(30px, 3.85vw, 74px);
  margin-bottom: clamp(15px, 1.39vw, 20px);
}
@media screen and (min-width: 768px) {
  .p-recruit__talentitemtitle {
    font-size: clamp(1rem, 1.35vw, 1.625rem);
  }
}

.p-recruit__talentitem:not(:first-of-type) {
  margin-top: clamp(40px, 7.03vw, 135px);
}
@media screen and (min-width: 1025px) {
  .p-recruit__talentitem:nth-of-type(1) {
    width: max(31.25rem, 47.7% + min(4.01vw, 4.8125rem));
    margin-left: calc(-1 * min(var(--sidespace), 4.8125rem));
  }
}
.p-recruit__talentitem:nth-of-type(1) .p-recruit__talentitemtitle::before {
  position: absolute;
  top: calc(-1 * clamp(17px, 2.08vw, 40px));
  content: "";
  display: block;
  height: auto;
  background-image: url(../../uploads/no1_img.png);
  background-repeat: no-repeat;
  background-size: contain;
  aspect-ratio: 0.275;
  left: clamp(8px, 1.82vw, 35px);
  width: clamp(0.6875rem, 1.41vw, 1.6875rem);
}
@media screen and (min-width: 1025px) {
  .p-recruit__talentitem:nth-of-type(2) {
    width: 55.1%;
    margin-left: 6.6%;
  }
}
.p-recruit__talentitem:nth-of-type(2) .p-recruit__talentitemtitle::before {
  position: absolute;
  top: calc(-1 * clamp(17px, 2.08vw, 40px));
  content: "";
  display: block;
  height: auto;
  background-image: url(../../uploads/no2_img.png);
  background-repeat: no-repeat;
  background-size: contain;
  aspect-ratio: 0.5;
  left: 5px;
  width: clamp(1.25rem, 2.6vw, 3.125rem);
}
@media screen and (min-width: 768px) {
  .p-recruit__talentitem:nth-of-type(2) .p-recruit__talentitemtitle::before {
    left: min(0.42vw, 8px);
  }
}
@media screen and (min-width: 1025px) {
  .p-recruit__talentitem:nth-of-type(3) {
    width: 49.5%;
    margin-left: 23%;
  }
}
.p-recruit__talentitem:nth-of-type(3) .p-recruit__talentitemtitle::before {
  position: absolute;
  top: calc(-1 * clamp(17px, 2.08vw, 40px));
  content: "";
  display: block;
  height: auto;
  background-image: url(../../uploads/no3_img.png);
  background-repeat: no-repeat;
  background-size: contain;
  aspect-ratio: 0.525;
  left: 4px;
  width: clamp(1.25rem, 2.66vw, 3.1875rem);
}
@media screen and (min-width: 768px) {
  .p-recruit__talentitem:nth-of-type(3) .p-recruit__talentitemtitle::before {
    left: min(0.36vw, 7px);
  }
}
@media screen and (min-width: 1025px) {
  .p-recruit__talentitem:nth-of-type(4) {
    width: 57%;
    margin-left: 43%;
  }
}
.p-recruit__talentitem:nth-of-type(4) .p-recruit__talentitemtitle::before {
  position: absolute;
  top: calc(-1 * clamp(17px, 2.08vw, 40px));
  content: "";
  display: block;
  height: auto;
  background-image: url(../../uploads/no4_img.png);
  background-repeat: no-repeat;
  background-size: contain;
  aspect-ratio: 0.45;
  left: 8px;
  width: clamp(1.25rem, 2.34vw, 2.8125rem);
}
@media screen and (min-width: 768px) {
  .p-recruit__talentitem:nth-of-type(4) .p-recruit__talentitemtitle::before {
    left: min(0.89vw, 17px);
  }
}
@media screen and (min-width: 1025px) {
  .p-recruit__talentitem:nth-of-type(5) {
    width: 66.1%;
    margin-left: 25.5%;
  }
}
.p-recruit__talentitem:nth-of-type(5) .p-recruit__talentitemtitle::before {
  position: absolute;
  top: calc(-1 * clamp(17px, 2.08vw, 40px));
  content: "";
  display: block;
  height: auto;
  background-image: url(../../uploads/no5_img.png);
  background-repeat: no-repeat;
  background-size: contain;
  aspect-ratio: 0.55;
  left: 4px;
  width: clamp(1.25rem, 2.92vw, 3.5rem);
}
@media screen and (min-width: 768px) {
  .p-recruit__talentitem:nth-of-type(5) .p-recruit__talentitemtitle::before {
    left: min(0.42vw, 8px);
  }
}
@media screen and (min-width: 1025px) {
  .p-recruit__talentitem:nth-of-type(6) {
    width: 53.3%;
  }
}
.p-recruit__talentitem:nth-of-type(6) .p-recruit__talentitemtitle::before {
  position: absolute;
  top: calc(-1 * clamp(17px, 2.08vw, 40px));
  content: "";
  display: block;
  height: auto;
  background-image: url(../../uploads/no6_img.png);
  background-repeat: no-repeat;
  background-size: contain;
  aspect-ratio: 0.5;
  left: 4px;
  width: clamp(1.25rem, 2.6vw, 3.125rem);
}
@media screen and (min-width: 768px) {
  .p-recruit__talentitem:nth-of-type(6) .p-recruit__talentitemtitle::before {
    left: min(0.42vw, 8px);
  }
}

@media screen and (min-width: 1025px) {
  .p-recruit__talentline {
    position: absolute;
    top: calc(-1 * clamp(30px, 12.15vw, 175px));
    right: 16.8%;
    z-index: 2;
    width: 15%;
    height: auto;
    aspect-ratio: 101/1291;
  }
}

@media screen and (min-width: 1025px) {
  .p-recruit__talentdecobox2 {
    position: absolute;
    left: 0;
    bottom: min(2.92vw, 56px);
    width: calc(20.4% + clamp(20px, 5.21vw, 40px) + var(--sidespace));
    margin-left: calc(-1 * (clamp(20px, 5.21vw, 40px) + var(--sidespace)));
  }
}

.p-recruit__talentline2 {
  position: relative;
  z-index: 2;
  width: max(3.125rem, 17.4%);
  height: auto;
  aspect-ratio: 101/1291;
  margin-left: 20%;
  display: block;
}

.p-recruit__talentdecobg2 {
  position: absolute;
  top: 50%;
  z-index: 1;
  width: 84.5%;
  height: auto;
  aspect-ratio: 491/731;
  background: var(--grade);
  transform: translateY(-50%) scale(-1, -1);
}

.p-recruit__talentdecoimg2 {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 3;
  margin: auto 0;
  display: block;
  height: max-content;
}
.p-recruit__talentdecoimg2 .c-img {
  height: auto;
  aspect-ratio: 581/432;
}

.p-recruit__merititem:not(:first-of-type) {
  margin-top: clamp(45px, 6.77vw, 130px);
}
@media screen and (min-width: 1025px) {
  .p-recruit__merititem:nth-of-type(1) {
    width: 74.5%;
  }
}
.p-recruit__merititem:nth-of-type(1) .p-recruit__merititemtitle::before, .p-recruit__merititem:nth-of-type(1) .p-recruit__merititemtitle--br span::before, .p-recruit__merititemtitle--br .p-recruit__merititem:nth-of-type(1) span::before {
  position: absolute;
  top: calc(-1 * clamp(17px, 2.08vw, 40px));
  content: "";
  display: block;
  height: auto;
  background-image: url(../../uploads/no1_img.png);
  background-repeat: no-repeat;
  background-size: contain;
  aspect-ratio: 0.275;
  left: clamp(8px, 1.82vw, 35px);
  width: clamp(0.6875rem, 1.41vw, 1.6875rem);
}
@media screen and (min-width: 1025px) {
  .p-recruit__merititem:nth-of-type(2) {
    width: 53.5%;
    margin-left: 19.8%;
  }
}
.p-recruit__merititem:nth-of-type(2) .p-recruit__merititemtitle::before, .p-recruit__merititem:nth-of-type(2) .p-recruit__merititemtitle--br span::before, .p-recruit__merititemtitle--br .p-recruit__merititem:nth-of-type(2) span::before {
  position: absolute;
  top: calc(-1 * clamp(17px, 2.08vw, 40px));
  content: "";
  display: block;
  height: auto;
  background-image: url(../../uploads/no2_img.png);
  background-repeat: no-repeat;
  background-size: contain;
  aspect-ratio: 0.5;
  left: 5px;
  width: clamp(1.25rem, 2.6vw, 3.125rem);
}
@media screen and (min-width: 768px) {
  .p-recruit__merititem:nth-of-type(2) .p-recruit__merititemtitle::before, .p-recruit__merititem:nth-of-type(2) .p-recruit__merititemtitle--br span::before, .p-recruit__merititemtitle--br .p-recruit__merititem:nth-of-type(2) span::before {
    left: min(0.42vw, 8px);
  }
}
@media screen and (min-width: 1025px) {
  .p-recruit__merititem:nth-of-type(3) {
    width: calc(62.1% + min(var(--sidespace), 8.25rem));
    margin-left: auto;
    margin-right: calc(-1 * min(var(--sidespace), 8.25rem));
  }
}
.p-recruit__merititem:nth-of-type(3) .p-recruit__merititemtitle::before, .p-recruit__merititem:nth-of-type(3) .p-recruit__merititemtitle--br span::before, .p-recruit__merititemtitle--br .p-recruit__merititem:nth-of-type(3) span::before {
  position: absolute;
  top: calc(-1 * clamp(17px, 2.08vw, 40px));
  content: "";
  display: block;
  height: auto;
  background-image: url(../../uploads/no3_img.png);
  background-repeat: no-repeat;
  background-size: contain;
  aspect-ratio: 0.525;
  left: 4px;
  width: clamp(1.25rem, 2.66vw, 3.1875rem);
}
@media screen and (min-width: 768px) {
  .p-recruit__merititem:nth-of-type(3) .p-recruit__merititemtitle::before, .p-recruit__merititem:nth-of-type(3) .p-recruit__merititemtitle--br span::before, .p-recruit__merititemtitle--br .p-recruit__merititem:nth-of-type(3) span::before {
    left: min(0.36vw, 7px);
  }
}
@media screen and (min-width: 1025px) {
  .p-recruit__merititem:nth-of-type(4) {
    width: 57.7%;
    margin-left: 19.8%;
  }
}
.p-recruit__merititem:nth-of-type(4) .p-recruit__merititemtitle::before, .p-recruit__merititem:nth-of-type(4) .p-recruit__merititemtitle--br span::before, .p-recruit__merititemtitle--br .p-recruit__merititem:nth-of-type(4) span::before {
  position: absolute;
  top: calc(-1 * clamp(17px, 2.08vw, 40px));
  content: "";
  display: block;
  height: auto;
  background-image: url(../../uploads/no4_img.png);
  background-repeat: no-repeat;
  background-size: contain;
  aspect-ratio: 0.45;
  left: 8px;
  width: clamp(1.25rem, 2.34vw, 2.8125rem);
}
@media screen and (min-width: 768px) {
  .p-recruit__merititem:nth-of-type(4) .p-recruit__merititemtitle::before, .p-recruit__merititem:nth-of-type(4) .p-recruit__merititemtitle--br span::before, .p-recruit__merititemtitle--br .p-recruit__merititem:nth-of-type(4) span::before {
    left: min(0.89vw, 17px);
  }
}
@media screen and (min-width: 1025px) {
  .p-recruit__merititem:nth-of-type(5) {
    width: 78%;
  }
}
.p-recruit__merititem:nth-of-type(5) .p-recruit__merititemtitle::before, .p-recruit__merititem:nth-of-type(5) .p-recruit__merititemtitle--br span::before, .p-recruit__merititemtitle--br .p-recruit__merititem:nth-of-type(5) span::before {
  position: absolute;
  top: calc(-1 * clamp(17px, 2.08vw, 40px));
  content: "";
  display: block;
  height: auto;
  background-image: url(../../uploads/no5_img.png);
  background-repeat: no-repeat;
  background-size: contain;
  aspect-ratio: 0.55;
  left: 4px;
  width: clamp(1.25rem, 2.92vw, 3.5rem);
}
@media screen and (min-width: 768px) {
  .p-recruit__merititem:nth-of-type(5) .p-recruit__merititemtitle::before, .p-recruit__merititem:nth-of-type(5) .p-recruit__merititemtitle--br span::before, .p-recruit__merititemtitle--br .p-recruit__merititem:nth-of-type(5) span::before {
    left: min(0.42vw, 8px);
  }
}

.p-recruit__merititemtitle, .p-recruit__merititemtitle--br span {
  position: relative;
  font-size: clamp(0.625rem, 3.33vw, 1rem);
  line-height: 1.14;
  font-weight: 500;
  letter-spacing: 0.05em;
  max-width: max-content;
  background-color: var(--color-secondary);
  padding: clamp(1px, 0.63vw, 9px) 15px clamp(1px, 0.63vw, 9px) clamp(30px, 3.85vw, 74px);
  margin-bottom: clamp(15px, 1.39vw, 20px);
}
@media screen and (min-width: 768px) {
  .p-recruit__merititemtitle, .p-recruit__merititemtitle--br span {
    font-size: clamp(1rem, 1.35vw, 1.625rem);
  }
}

.p-recruit__merititemtitle--br {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.p-recruit__merititemtitle--br span:first-of-type {
  padding-right: calc(15px - 0.3em);
  margin-bottom: clamp(7px, 1.79vw, 14px);
}
.p-recruit__merititemtitle--br span:not(:first-of-type)::before {
  display: none !important;
}

.p-recruit__meritwrapper {
  position: relative;
  margin-top: clamp(40px, 5.99vw, 115px);
}

.p-recruit__meritcircle01 {
  position: absolute;
  top: 0;
  right: calc(-1 * (var(--sidespace) + clamp(20px, 5.21vw, 40px)));
  width: 19.3%;
  height: auto;
  aspect-ratio: 397/779;
}
@media screen and (min-width: 1250px) {
  .p-recruit__meritcircle01 {
    width: 31%;
  }
}

.p-recruit__meritcircle02 {
  position: absolute;
  bottom: min(21.88vw, 420px);
  left: calc(-1 * (var(--sidespace) + clamp(20px, 5.21vw, 40px)));
  width: 24.6%;
  height: auto;
  aspect-ratio: 465/866;
}
@media screen and (min-width: 1250px) {
  .p-recruit__meritcircle02 {
    width: 36.3%;
  }
}

.p-recruit__nav {
  position: absolute;
  top: clamp(97px, 6.09vw, 97px);
  right: 0;
  flex-direction: column;
  align-items: flex-start;
  margin-left: auto;
  margin-right: calc(clamp(6.25rem, 23.44vw, 13.8125rem) + 25px);
}
@media screen and (min-width: 1300px) {
  .p-recruit__nav {
    right: calc(var(--sidespace) + clamp(20px, 5.21vw, 40px));
    margin-right: 5.9%;
  }
}
.p-recruit__nav a {
  font-size: clamp(0.875rem, 0.83vw, 1rem);
  line-height: 2.19;
  letter-spacing: 0.05em;
  font-weight: 700;
  display: flex;
  align-items: center;
  column-gap: 8px;
}
.p-recruit__nav a::before {
  content: "";
  display: block;
  width: min(1.2vw, 1.4375rem);
  height: auto;
  aspect-ratio: 23/30;
  flex: none;
  opacity: 0;
  background-image: url(../../uploads/recruit-arrow_img.png);
  background-repeat: no-repeat;
  background-size: contain;
}
@media (hover: hover) {
  .p-recruit__nav a {
    transition: color ease 0.3s;
  }
  .p-recruit__nav a::before {
    transition: opacity ease 0.3s;
  }
  .p-recruit__nav a:hover, .p-recruit__nav a:focus-visible {
    color: var(--color-primary);
  }
  .p-recruit__nav a:hover::before, .p-recruit__nav a:focus-visible::before {
    opacity: 1;
  }
}

/* WP */
/* 前後の記事へのリンク */
.post-navigation {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 50px;
  margin-top: clamp(80px, 7.81vw, 150px);
}
.post-navigation a {
  font-family: var(--font-en);
  color: var(--color-text);
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 0 clamp(5px, 1.69vw, 13px);
}

.post-navigation .nav-links {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  width: 100%;
  align-items: center;
}

.post-navigation .nav-previous {
  margin-left: auto;
}
.post-navigation .nav-previous a::after {
  content: "";
  display: block;
  width: clamp(0.8125rem, 3.33vw, 1.75rem);
  height: auto;
  aspect-ratio: 28/20;
  background-color: var(--color-text);
  -webkit-mask-image: url(../../uploads/arrow-icon_img.png?v2);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}
@media screen and (min-width: 768px) {
  .post-navigation .nav-previous a::after {
    width: clamp(1.25rem, 1.94vw, 1.75rem);
  }
}
@media (hover: hover) {
  .post-navigation .nav-previous a {
    transition: color ease 0.3s;
  }
  .post-navigation .nav-previous a::after {
    transition: transform linear 0.3s, background-color ease 0.3s;
  }
  .post-navigation .nav-previous:hover a, .post-navigation .nav-previous:focus-visible a {
    color: var(--color-primary);
  }
  .post-navigation .nav-previous:hover a::after, .post-navigation .nav-previous:focus-visible a::after {
    transform: translateX(3px);
    background-color: var(--color-primary);
  }
}

.post-navigation .nav-next {
  margin-right: auto;
}
.post-navigation .nav-next a::before {
  content: "";
  display: block;
  width: clamp(0.8125rem, 3.33vw, 1.75rem);
  height: auto;
  aspect-ratio: 28/20;
  background-color: var(--color-text);
  -webkit-mask-image: url(../../uploads/arrow-icon_img.png?v2);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  transform: scale(-1, 1);
}
@media screen and (min-width: 768px) {
  .post-navigation .nav-next a::before {
    width: clamp(1.25rem, 1.94vw, 1.75rem);
  }
}
@media (hover: hover) {
  .post-navigation .nav-next a {
    transition: color ease 0.3s;
  }
  .post-navigation .nav-next a::before {
    transition: transform linear 0.3s, background-color ease 0.3s;
  }
  .post-navigation .nav-next:hover a, .post-navigation .nav-next:focus-visible a {
    color: var(--color-primary);
  }
  .post-navigation .nav-next:hover a::before, .post-navigation .nav-next:focus-visible a::before {
    transform: scale(-1, 1) translateX(3px);
    background-color: var(--color-primary);
  }
}

.nav-all {
  position: absolute;
  left: 0;
  right: 0;
  width: max-content;
  margin: 0 auto;
}
.nav-all a {
  font-weight: 500;
}
@media (hover: hover) {
  .nav-all a {
    transition: color ease 0.3s;
  }
  .nav-all a:hover, .nav-all a:focus-visible {
    color: var(--color-primary);
  }
}

/* ページネーション */
.pagination .nav-links {
  position: relative;
  font-family: var(--font-en);
  font-weight: 500;
  letter-spacing: 0.025em;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  user-select: none;
  -webkit-user-select: none;
  width: 100%;
  margin: clamp(60px, 10.42vw, 110px) auto 0;
}
@media screen and (min-width: 768px) {
  .pagination .nav-links {
    max-width: max-content;
  }
}

.pagination .page-numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--color-text);
}
@media (hover: hover) {
  .pagination .page-numbers {
    transition: color ease 0.3s;
  }
  .pagination .page-numbers:hover, .pagination .page-numbers:focus-visible {
    color: var(--color-primary);
  }
}

.page-numbers:not(.next):not(.prev)::after {
  content: "・";
  color: var(--color-text);
}

.page-numbers:has(+ .page-numbers.current)::after {
  content: none;
}

.page-numbers:has(+ .next.page-numbers)::after {
  content: none !important;
}

.pagination .nav-links .page-numbers.current {
  width: clamp(2.5rem, 3.47vw, 50px);
  height: clamp(2.5rem, 3.47vw, 50px);
  border-radius: 50%;
  margin: 0 clamp(20px, 2.6vw, 50px);
  text-align: center;
  border: 1px solid transparent;
  border-color: var(--color-text);
}
.pagination .nav-links .page-numbers.current::after {
  display: none;
}

.pagination .nav-links .page-numbers.dots {
  color: var(--color-text);
  pointer-events: none;
}

.page-numbers.prev,
.page-numbers.next {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  font-style: italic;
  width: auto;
  height: auto;
  border: none;
}

.page-numbers.prev {
  left: 0;
}
@media screen and (min-width: 768px) {
  .page-numbers.prev {
    left: calc((clamp(1.25rem, 3.91vw, 2.5rem) + clamp(15px, 3.91vw, 75px)) * -1);
  }
}
.page-numbers.prev::before {
  content: "";
  display: block;
  width: clamp(1.25rem, 3.91vw, 2.5rem);
  height: auto;
  aspect-ratio: 28/20;
  background-color: var(--color-text);
  -webkit-mask-image: url(../../uploads/arrow-icon_img.svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  transform: scale(-1, 1);
}
@media (hover: hover) {
  .page-numbers.prev::before {
    transition: transform linear 0.3s;
  }
  .page-numbers.prev:hover, .page-numbers.prev:focus-visible {
    border: none;
  }
  .page-numbers.prev:hover::before, .page-numbers.prev:focus-visible::before {
    transform: scale(-1, 1) translateX(3px);
  }
}

.page-numbers.next {
  right: 0;
}
@media screen and (min-width: 768px) {
  .page-numbers.next {
    right: calc((clamp(1.25rem, 3.91vw, 2.5rem) + clamp(15px, 3.91vw, 75px)) * -1);
  }
}
.page-numbers.next::after {
  content: "";
  display: block;
  width: clamp(1.25rem, 3.91vw, 2.5rem);
  height: auto;
  aspect-ratio: 28/20;
  background-color: var(--color-text);
  -webkit-mask-image: url(../../uploads/arrow-icon_img.svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}
@media (hover: hover) {
  .page-numbers.next::after {
    transition: transform linear 0.3s;
  }
  .page-numbers.next:hover::after, .page-numbers.next:focus-visible::after {
    transform: translateX(3px);
  }
}

/* u-display */
.u-hidden {
  display: none;
}

.u-block {
  display: block;
}

.u-inline-block {
  display: inline-block;
}

.u-inline {
  display: inline;
}

.u-flex {
  display: flex;
}

.u-grid {
  display: grid;
}

.u-flex-col {
  flex-direction: column;
}

@media screen and (min-width: 768px) {
  .md\:u-hidden {
    display: none;
  }
  .md\:u-block {
    display: block;
  }
  .md\:u-inline-block {
    display: inline-block;
  }
  .md\:u-inline {
    display: inline;
  }
  .md\:u-flex {
    display: flex;
  }
  .md\:u-grid {
    display: grid;
  }
  .md\:u-flex-row {
    flex-direction: row;
  }
}
@media screen and (min-width: 1025px) {
  .lg\:u-hidden {
    display: none;
  }
  .lg\:u-block {
    display: block;
  }
  .lg\:u-inline-block {
    display: inline-block;
  }
  .lg\:u-inline {
    display: inline;
  }
  .lg\:u-flex {
    display: flex;
  }
  .lg\:u-grid {
    display: grid;
  }
}
.u-items-start {
  align-items: start;
}

.u-items-end {
  align-items: flex-end;
}

/* u-weight */
.u-font-light {
  font-weight: 300;
}

.u-font-normal {
  font-weight: 400;
}

.u-font-medium {
  font-weight: 500;
}

.u-font-semibold {
  font-weight: 600;
}

.u-font-bold {
  font-weight: 700;
}

.u-font-black {
  font-weight: 900;
}

/* u-cursor */
.u-cursor-pointer {
  cursor: pointer;
}

.u-pointer-events-none {
  pointer-events: none;
}

.u-select-none {
  user-select: none;
  -webkit-user-select: none;
}

/* u-textalign */
.u-text-center {
  text-align: center;
}

.u-text-left {
  text-align: left;
}

.u-text-right {
  text-align: right;
}

.u-text-justify {
  text-align: justify;
}

/* position */
.u-fixed {
  position: fixed;
}

.u-static {
  position: static;
}

.u-absolute {
  position: absolute;
}

.u-relative {
  position: relative;
}

.u-sticky {
  position: sticky;
}

.u-z-2 {
  z-index: 2;
}

/* line-height */
.u-leading-none {
  line-height: 1;
}

.u-leading-tight {
  line-height: 1.25;
}

.u-leading-32 {
  line-height: 1.78;
}

.u-leading-40 {
  line-height: 2.22;
}

.u-leading-normal {
  line-height: 2.5;
}

.u-leading-loose {
  line-height: 2;
}

/* word-break */
.u-break-all {
  word-break: break-all;
}

/* decolation */
.u-underline {
  text-decoration: underline;
  text-decoration-skip-ink: none;
}

/* indent */
.u-indent {
  padding-left: 1em;
  text-indent: -1em;
}

.u-before-at::before {
  content: "@";
}

/* u-margin */
.u-mx-auto {
  margin: 0 auto;
}

.u-my-auto {
  margin: auto 0;
}

.u-ml-auto {
  margin-left: auto;
}

.u-ml-texthalf {
  margin-left: -0.5em;
}

.u-mr-auto {
  margin-right: auto;
}

.u-mt-0 {
  margin-top: 0;
}

.u-mt-10 {
  margin-top: 10px;
}

.u-mb-1em {
  margin-bottom: 1em;
}

.u-pt-0 {
  padding-top: 0;
}

.u-pb-0 {
  padding-bottom: 0;
}

.u-pt-150 {
  padding-top: clamp(110px, 7.81vw, 150px);
}

.u-pt-faderltitle {
  padding-top: clamp(17px, 2.08vw, 40px);
}

/* u-active */
.u-active-cat {
  color: var(--color-primary);
}
.u-active-cat::before {
  opacity: 1 !important;
}

.u-active-tag {
  color: #fff;
  background-color: var(--color-primary);
}

.u-active-link::before {
  opacity: 1;
}
.u-active-link a[data-title]::before {
  color: var(--color-primary);
}

/* javascript*/
.is-navi-open .l-header__navcon {
  z-index: 8;
  opacity: 1;
  visibility: visible;
}
.is-navi-open .u-active-nav::before {
  opacity: 1;
}

.is-body-fixed {
  overflow: hidden;
}

.js-url {
  cursor: pointer;
}

.is-headbtn-hide .l-header__btnlist {
  opacity: 0;
  transition: opacity ease 0.3s;
}
@media screen and (min-width: 768px) {
  .is-headbtn-hide .l-header__btnlist {
    opacity: 1;
  }
}

.is-faq--open .p-faq__answerbox {
  display: flex;
  opacity: 1;
}

.is-transparent .l-header__logobox {
  background-color: transparent;
}

/* animation */
@media (hover: hover) {
  .a-hover {
    transition: opacity ease 0.3s;
  }
  .a-hover:hover, .a-hover:focus-visible {
    opacity: 0.8;
  }
}

@media (hover: hover) {
  .a-hover-headnavlink .l-header__link[data-title]::before {
    transition: color ease 0.3s;
  }
  .a-hover-headnavlink::before {
    transition: opacity ease 0.3s;
  }
  .a-hover-headnavlink:hover .l-header__link[data-title]::before, .a-hover-headnavlink:focus-visible .l-header__link[data-title]::before {
    color: var(--color-primary);
  }
  .a-hover-headnavlink:hover::before, .a-hover-headnavlink:focus-visible::before {
    opacity: 1;
  }
}

@media (hover: hover) {
  .a-hover-headbtn--reverse, .a-hover-headbtn {
    transition: background-color ease 0.3s, color ease 0.3s;
  }
}

@media (hover: hover) {
  .a-hover-headbtn:hover, .a-hover-headbtn:focus-visible {
    background-color: transparent;
    color: #fff;
  }
}

@media (hover: hover) {
  .a-hover-headbtn--reverse::before {
    transition: background-color ease 0.3s;
  }
  .a-hover-headbtn--reverse:hover, .a-hover-headbtn--reverse:focus-visible {
    background-color: #fff;
    color: var(--color-primary);
  }
  .a-hover-headbtn--reverse:hover::before, .a-hover-headbtn--reverse:focus-visible::before {
    background-color: var(--color-primary);
  }
}

@media (hover: hover) {
  .a-hover-topbtn .p-top__btntitle {
    transition: color ease 0.3s;
  }
  .a-hover-topbtn .a-hover-btn::after {
    transition: transform linear 0.3s;
  }
  .a-hover-topbtn:hover .p-top__btntitle, .a-hover-topbtn:focus-visible .p-top__btntitle {
    color: var(--color-primary);
  }
  .a-hover-topbtn:hover .a-hover-btn::after, .a-hover-topbtn:focus-visible .a-hover-btn::after {
    transform: translateX(3px);
  }
}

@media (hover: hover) {
  .a-hover-footercontact {
    transition: color ease 0.3s;
  }
  .a-hover-footercontact span {
    transition: transform linear 0.3s;
  }
  .a-hover-footercontact:hover, .a-hover-footercontact:focus-visible {
    color: var(--color-primary);
  }
  .a-hover-footercontact:hover span, .a-hover-footercontact:focus-visible span {
    transform: translateX(3px);
  }
}

@media (hover: hover) {
  .a-hover-btn::after {
    transition: transform linear 0.3s;
  }
  .a-hover-btn:hover::after, .a-hover-btn:focus-visible::after {
    transform: translateX(3px);
  }
}

@media (hover: hover) {
  .a-hover-returnbtn::before {
    transition: transform linear 0.3s;
  }
  .a-hover-returnbtn:hover::before, .a-hover-returnbtn:focus-visible::before {
    transform: scale(-1, 1) translateX(3px);
  }
}

@media (hover: hover) {
  .a-hover-btnlg {
    transition: color ease 0.3s, background-color ease 0.3s;
  }
  .a-hover-btnlg::after {
    transition: background-color ease 0.3s;
  }
  .a-hover-btnlg:hover, .a-hover-btnlg:focus-visible {
    color: var(--color-secondary);
    background-color: #fff;
  }
  .a-hover-btnlg:hover::after, .a-hover-btnlg:focus-visible::after {
    background-color: var(--color-secondary);
  }
}

@media (hover: hover) {
  .a-hover-btncol {
    transition: background-color ease 0.3s, color ease 0.3s;
  }
  .a-hover-btncol::before, .a-hover-btncol::after {
    transition: background-color ease 0.3s;
  }
  .a-hover-btncol:hover, .a-hover-btncol:focus-visible {
    color: var(--color-primary);
    background-color: #fff;
  }
  .a-hover-btncol:hover::before, .a-hover-btncol:hover::after, .a-hover-btncol:focus-visible::before, .a-hover-btncol:focus-visible::after {
    background-color: var(--color-primary);
  }
}

@media (hover: hover) {
  .a-hover-arrow {
    transition: opacity ease 0.3s;
  }
  .a-hover-arrow::after {
    transition: transform linear 0.3s;
  }
  .a-hover-arrow:hover, .a-hover-arrow:focus-visible {
    opacity: 0.6;
  }
  .a-hover-arrow:hover::after, .a-hover-arrow:focus-visible::after {
    transform: translateX(5px);
  }
}

@media (hover: hover) {
  .a-hover-question::after {
    transition: transform linear 0.3s;
  }
  .a-hover-question:hover::after, .a-hover-question:focus-visible::after {
    transform: rotate(90deg) translateX(5px);
  }
}

@keyframes loop {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
.a-top-textline p:nth-of-type(odd) {
  animation: looptext 20s -10s linear infinite;
}
.a-top-textline p:nth-of-type(even) {
  animation: looptext 20s linear infinite;
}

@keyframes looptext {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}
@keyframes looptext2 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(200%);
  }
}
.a-scrollline::after {
  animation: scroll-line 1.2s linear infinite;
}

@keyframes scroll-line {
  0% {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
    opacity: 0;
  }
  60% {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    opacity: 1;
  }
  100% {
    -webkit-clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
    clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
    opacity: 0;
  }
}
.a-js-fade {
  opacity: 0;
}

.a-fade {
  animation-name: fade;
  animation-duration: 0.8s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.a-js-fadetb {
  opacity: 0;
}

.a-js-fadetb--bfaf::before, .a-js-fadetb--bfaf::after {
  opacity: 0;
}

.a-fadetb {
  animation-name: fadeTbLine;
  animation-duration: 0.8s;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
  opacity: 0;
}

.a-fadetb-after::after {
  animation-name: fadeTbLine;
  animation-duration: 0.8s;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
  opacity: 0;
}

.a-fadetb--bfaf::before, .a-fadetb--bfaf::after {
  animation-name: fadeTbLine;
  animation-duration: 0.8s;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
  animation-delay: 2s;
  opacity: 0;
}
.a-fadetb--bfaf::after {
  animation-delay: 2.5s;
}

@keyframes fadeTb {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes fadeTbLine {
  0% {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    opacity: 1;
  }
}
.a-js-fadebt {
  opacity: 0;
}

.a-fadebt {
  animation-name: fadeBt;
  animation-duration: 0.8s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
}

.a-js-textbt {
  overflow-y: clip;
}
.a-js-textbt span {
  opacity: 0;
  transform: translateY(100%);
}

.a-fadebt--text span {
  display: block;
  animation-name: fadeBt;
  animation-duration: 0.8s;
  animation-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeBt {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
.a-js-fadelr {
  opacity: 0;
}

.a-fadelr {
  animation-name: fadeLrLine;
  animation-duration: 0.7s;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
}

@keyframes fadeLrLine {
  0% {
    -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
    clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
    opacity: 0;
  }
  100% {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    opacity: 1;
  }
}
.a-js-faderl {
  opacity: 0;
}

.a-faderl {
  animation-name: fadeRlLine;
  animation-duration: 0.7s;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
}

@keyframes fadeRlLine {
  0% {
    -webkit-clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
    clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
    opacity: 0;
  }
  100% {
    -webkit-clip-path: polygon(100% 0, 0 0, 0 100%, 100% 100%);
    clip-path: polygon(100% 0, 0 0, 0 100%, 100% 100%);
    opacity: 1;
  }
}
@media (hover: hover) {
  .a-hover-service {
    transition: opacity ease 0.3s;
  }
  .a-hover-service:hover, .a-hover-service:focus-visible {
    opacity: 0.7;
  }
  .a-hover-service:hover .p-service__btn::after, .a-hover-service:focus-visible .p-service__btn::after {
    transform: translateX(3px);
  }
}

@media (hover: hover) {
  .a-service-nav {
    transition: color ease 0.3s;
  }
  .a-service-nav::after {
    transition: opacity ease 0.3s;
  }
  .a-service-nav:hover, .a-service-nav:focus-visible {
    color: var(--color-primary);
  }
  .a-service-nav:hover::after, .a-service-nav:focus-visible::after {
    opacity: 1;
  }
}