@charset "UTF-8";
:root {
  --color-red: #d92728;
  --color-bg: #f7f7f7;
  --color-blue: #082dd3;
  --color-gray: #3e3c3c;
  --color-primary: #0200f5;
  --color-primary-light: #0731ec;
  --color-primary-bg: #eef4f6;
  --color-secondary-bg: #fff7f7;
  --color-secondary: #ff6450;
  --color-cv-primary: #0200f5;
  --color-cv-secondary: #ff6450;
  --color-bg02: #e8eaef;
  --color-gray-light: #e5e5e5;
  --color-green: #00a3a0;
  --color-green-lightest: #f2f6f3;
  --color-slider-arrow: var(--color-black);
  --color-gradation-01: linear-gradient(355deg, rgb(255 255 255) 20%, #7abee3 60%, #292dbf 90%);
  --color-gradation-02: linear-gradient(0deg, rgb(255 255 255 / 0%) 0%, rgb(241 242 246) 85%);
  --color-button-solid: #000;
  --color-button-gradient01: linear-gradient(to right, #000 0%, #000 50%, var(--color-cv-primary) 90%);
  --change-color-bg: #fff;
  --change-color-text: #000;
  --change-color-fill: #000;
  --change-color-border: #000;
  --change-translate-x: calc(5 / 16 * 1rem);
  --color-black: #000;
  --color-white: #fff;
  --color-gray-25: #252525;
  --color-gray-33: #333;
  --color-gray-5e: #5e5e5e;
  --color-gray-66: #666;
  --color-gray-80: #808080;
  --color-gray-99: #999;
  --color-gray-cc: #ccc;
  --color-gray-dd: #ddd;
  --color-gray-ee: #eee;
  --color-gray-e0: #e0e0e0;
  --color-gray-e5: #e5e5e5;
  --color-gray-f4: #f4f4f4;
  --color-gray-f5: #f5f5f5;
  --color-gray-f7: #f7f7f7;
  --anime-duration: 300ms;
  --anime-function: ease-out;
  --font-size-base: 14;
  --color-text-base: #000;
  --color-text-gray: #999;
  --font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  --font-family-en: "Inter", sans-serif;
  --line-height-large: 2;
  --line-height-largeish: 1.9;
  --line-height-base: 2;
  --line-height-smallish: 1.6;
  --line-height-small: 1.4;
  --line-height-heading-base: 1.5;
  --letter-spacing-large: 0.04em;
  --letter-spacing-base: 0em;
  --letter-spacing-heading-large: 0.06em;
  --letter-spacing-heading-base: 0.04em;
  --letter-spacing-heading-small: 0em;
  --page-wrap-px: 20;
  /* stylelint-disable-next-line media-query-no-invalid */
}
@media (min-width: 768px) {
  :root {
    --font-size-base: 16;
    --page-wrap-px: 28;
    --content-width-base: 1200;
  }
}

/* =========================================================
reset
========================================================= */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  font-size: 100%;
  vertical-align: baseline;
  border: 0;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  overflow-x: hidden;
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

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

a {
  text-decoration: none;
  cursor: pointer;
}

input,
select {
  vertical-align: middle;
}

strong {
  font-weight: normal;
}

/* =========================================================
base
========================================================= */
html {
  scrollbar-gutter: stable;
  font-size: calc(16/390 * 100vw);
  /* stylelint-disable-next-line media-query-no-invalid */
}
@media (min-width:767px) {
  html {
    font-size: clamp(0.8rem, -0.25rem + 1.3vw, 1rem);
  }
}

html,
body {
  width: 100%;
  height: auto;
}

body {
  font-family: var(--font-family);
  font-weight: 400;
  line-height: var(--line-height-base);
  color: var(--color-text-base);
  letter-spacing: var(--letter-spacing-base);
  -webkit-text-size-adjust: 100%;
          text-size-adjust: 100%;
  font-size: calc(var(--font-size-base) / 16 * 1rem);
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  /* stylelint-disable-next-line media-query-no-invalid */
}
@media (min-width: 768px) {
  img {
    /* stylelint-disable-next-line value-no-vendor-prefix */
    image-rendering: -webkit-optimize-contrast;
  }
}

svg {
  vertical-align: bottom;
}

a {
  color: var(--color-text-base);
}

figure {
  line-height: 0;
}

button {
  padding: 0;
  margin: 0;
  font-family: var(--font-family);
  color: var(--color-text-base);
  text-align: left;
  cursor: pointer;
  background: none;
  border: none;
  outline: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
  line-height: var(--line-height-heading-base);
  letter-spacing: var(--letter-spacing-heading-base);
}

em {
  font-style: normal;
}

.p-section-heading {
  position: relative;
}
.p-section-heading::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  width: calc(70 / 16 * 1rem);
  height: calc(5 / 16 * 1rem);
  margin: 0 auto;
  content: "";
  background-color: var(--color-red);
  border-radius: 9999px;
}

.l-section {
  position: relative;
}
.l-section.is-bg-gradient-gray {
  background: var(--color-gradation-02);
  border-top: solid 1px var(--color-gray-e0);
}
.l-section.is-bg-gradient-gray::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  display: block;
  height: 8px;
  content: "";
  background-color: var(--color-bg02);
}

.l-wrap {
  position: relative;
  padding: 0 calc(var(--page-wrap-px) / 16 * 1rem);
}

.l-content {
  position: relative;
  width: 100%;
  margin: 0 auto;
}
.l-content.is-w-full {
  width: auto;
  margin-right: calc(-12 / 16 * 1rem);
  margin-left: calc(-12 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}
@media (min-width: 768px) {
  .l-content.is-w-full {
    margin-right: calc(-20 / 16 * 1rem);
    margin-left: calc(-20 / 16 * 1rem);
  }
}
.l-content.is-w-max {
  max-width: none;
}
.l-content.is-w-1440 {
  max-width: calc(1440 / 16 * 1rem);
}
.l-content.is-w-1200 {
  max-width: calc(1200 / 16 * 1rem);
}
.l-content.is-w-1140 {
  max-width: calc(1140 / 16 * 1rem);
}
.l-content.is-w-1000 {
  max-width: calc(1000 / 16 * 1rem);
}
.l-content.is-w-800 {
  max-width: calc(800 / 16 * 1rem);
}
.l-content.is-pd-x-double {
  /* stylelint-disable-next-line media-query-no-invalid */
}
@media (max-width: 767px) {
  .l-content.is-pd-x-double {
    padding: 0 calc(12 / 16 * 1rem);
  }
}
.l-content.is-pd-x-triple {
  /* stylelint-disable-next-line media-query-no-invalid */
}
@media (max-width: 767px) {
  .l-content.is-pd-x-triple {
    padding: 0 calc(24 / 16 * 1rem);
  }
}

.l-inner.is-pd-x-double {
  /* stylelint-disable-next-line media-query-no-invalid */
}
@media (max-width: 767px) {
  .l-inner.is-pd-x-double {
    padding: 0 calc(12 / 16 * 1rem);
  }
}
.l-inner.is-pd-x-triple {
  /* stylelint-disable-next-line media-query-no-invalid */
}
@media (max-width: 767px) {
  .l-inner.is-pd-x-triple {
    padding: 0 calc(24 / 16 * 1rem);
  }
}

.l-separate {
  display: grid;
  /* stylelint-disable-next-line media-query-no-invalid */
}
@media (min-width: 768px) {
  .l-separate.is-quarter {
    grid-template-columns: 21% 1fr;
    gap: 4%;
  }
}

/******************************************************************************
* anime
*******************************************************************************/
.anime-scale .a-image, .anime-scale.a-image {
  overflow: hidden;
}
.anime-scale .a-image img, .anime-scale.a-image img {
  transition: scale var(--anime-scale-duration, 0.3s) var(--anime-scale-function, ease-out) var(--anime-scale-delay, 0s);
}
@media (any-hover: hover) {
  .anime-scale .a-image:hover:hover .a-image img, .anime-scale .a-image:hover:hover.a-image img, .anime-scale.a-image:hover:hover .a-image img, .anime-scale.a-image:hover:hover.a-image img {
    scale: 1.1;
  }
}
@media (any-hover: none) {
  .anime-scale .a-image:active:hover .a-image img, .anime-scale .a-image:active:hover.a-image img, .anime-scale.a-image:active:hover .a-image img, .anime-scale.a-image:active:hover.a-image img {
    scale: 1.1;
  }
}

.anime-opacity {
  transition: opacity var(--anime-opacity-duration, 0.3s) var(--anime-opacity-function, ease-out) var(--anime-opacity-delay, 0s);
}
@media (any-hover: hover) {
  .anime-opacity:hover {
    opacity: 0.7;
  }
}
@media (any-hover: none) {
  .anime-opacity:active {
    opacity: 0.7;
  }
}

/******************************************************************************
* anime-text-line
*******************************************************************************/
.anime-text-line {
  padding-bottom: calc(var(--anime-text-line-pb, 0) / 16 * 1rem);
  background-image: linear-gradient(to right, transparent 50%, var(--anime-text-line-color, currentColor) 50% 100%);
  background-repeat: repeat-x;
  background-position: -100% bottom;
  background-size: 200% calc(var(--anime-text-line-size, 1) / 16 * 1rem);
  transition: background-position var(--anime-text-line-duration, 0.3s) var(--anime-text-line-function, ease-out) var(--anime-text-line, 0s);
}
@media (any-hover: hover) {
  .anime-text-line:hover {
    background-position: -0.01% bottom;
    animation: line-gradation var(--anime-text-line-duration, 0.3s) var(--anime-text-line-function, ease-out) var(--anime-text-line, 0s);
  }
}
@media (any-hover: none) {
  .anime-text-line:active {
    background-position: -0.01% bottom;
    animation: line-gradation var(--anime-text-line-duration, 0.3s) var(--anime-text-line-function, ease-out) var(--anime-text-line, 0s);
  }
}

.anime-text-line-reverse {
  padding-bottom: calc(var(--anime-text-line-pb, 0) / 16 * 1rem);
  background-image: linear-gradient(to right, currentcolor 50%, transparent 50% 100%);
  background-repeat: repeat-x;
  background-position: -100% bottom;
  background-size: 200% calc(var(--anime-text-line-size, 1) / 16 * 1rem);
  transition: background-position var(--anime-text-line-duration, 0.3s) var(--anime-text-line-function, ease-out) var(--anime-text-line, 0s);
}
@media (any-hover: hover) {
  .anime-text-line-reverse:hover {
    background-position: 0 bottom;
    animation: line-gradation var(--anime-text-line-duration, 0.3s) var(--anime-text-line-function, ease-out) var(--anime-text-line, 0s);
  }
}
@media (any-hover: none) {
  .anime-text-line-reverse:active {
    background-position: 0 bottom;
    animation: line-gradation var(--anime-text-line-duration, 0.3s) var(--anime-text-line-function, ease-out) var(--anime-text-line, 0s);
  }
}

.anime-text-line-parent .anime-text-line {
  pointer-events: none;
}
.anime-text-line-parent .anime-text-line-reverse {
  pointer-events: none;
}
@media (any-hover: hover) {
  .anime-text-line-parent:hover .anime-text-line {
    background-position: -0.01% bottom;
    animation: line-gradation var(--anime-text-line-duration, 0.3s) var(--anime-text-line-function, ease-out) var(--anime-text-line, 0s);
  }
  .anime-text-line-parent:hover .anime-text-line-reverse {
    background-position: 0 bottom;
    animation: line-gradation var(--anime-text-line-duration, 0.3s) var(--anime-text-line-function, ease-out) var(--anime-text-line, 0s);
  }
}
@media (any-hover: none) {
  .anime-text-line-parent:active .anime-text-line {
    background-position: -0.01% bottom;
    animation: line-gradation var(--anime-text-line-duration, 0.3s) var(--anime-text-line-function, ease-out) var(--anime-text-line, 0s);
  }
  .anime-text-line-parent:active .anime-text-line-reverse {
    background-position: 0 bottom;
    animation: line-gradation var(--anime-text-line-duration, 0.3s) var(--anime-text-line-function, ease-out) var(--anime-text-line, 0s);
  }
}

@keyframes line-gradation {
  0% {
    background-position: 100% bottom;
  }
  100% {
    background-position: 0 bottom;
  }
}
/******************************************************************************
* text
*******************************************************************************/
.a-text em,
.a-text-note em {
  font-weight: 700;
}
.a-text em a,
.a-text-note em a {
  --anime-text-line-size: 2;
  --anime-text-line-pb: 2;
}

.a-text-note {
  display: flex;
  color: var(--color-text-gray);
  font-size: calc(12 / 16 * 1rem);
}
.a-text-note > * {
  flex: 1;
}
.a-text-note::before {
  content: attr(data-note-head) "";
}

/******************************************************************************
* text-link
*******************************************************************************/
.a-text-link {
  display: inline-block;
  color: currentcolor;
}
.a-text-link_inner {
  display: flex;
  gap: calc(8 / 16 * 1rem);
  align-items: center;
}
.a-text-link_inner svg {
  fill: var(--color-primary);
}

/******************************************************************************
* a-heading
*******************************************************************************/
.a-heading {
  font-size: calc(14 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}
.a-heading > * {
  display: block;
}
@media (min-width: 768px) {
  .a-heading {
    font-size: calc(16 / 16 * 1rem);
  }
}

/******************************************************************************
* button
*******************************************************************************/
.a-button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  text-align: center;
  transition: background-color var(--anime-duration) var(--anime-function), color var(--anime-duration) var(--anime-function), border-color var(--anime-duration) var(--anime-function);
}

@media (any-hover: hover) {
  a.a-button:hover,
  button.a-button:hover {
    color: var(--color-blue);
    background-color: #fff;
  }
}
@media (any-hover: none) {
  a.a-button:active,
  button.a-button:active {
    color: var(--color-blue);
    background-color: #fff;
  }
}
@media (any-hover: hover) {
  a.a-button.is-line-button:hover,
  button.a-button.is-line-button:hover {
    color: white;
    background-color: var(--color-blue);
  }
}
@media (any-hover: none) {
  a.a-button.is-line-button:active,
  button.a-button.is-line-button:active {
    color: white;
    background-color: var(--color-blue);
  }
}

@media (any-hover: hover) {
  .a-button-parent:hover .a-button {
    color: var(--color-blue);
    background-color: #fff;
  }
}
@media (any-hover: none) {
  .a-button-parent:active .a-button {
    color: var(--color-blue);
    background-color: #fff;
  }
}

/******************************************************************************
* image
*******************************************************************************/
.a-image {
  position: relative;
  line-height: 0;
}
.a-image.is-fit {
  position: absolute;
  inset: 0;
}
.a-image.is-fit img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__container {
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 100%;
}

.splide {
  position: relative;
  visibility: hidden;
}

.splide.is-initialized,
.splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  box-sizing: border-box;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}

.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.splide__toggle.is-active .splide__toggle__play,
.splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

.splide__pagination li {
  padding: 0 calc(8 / 16 * 1rem);
  font-size: 10px;
}

.splide__pagination__page {
  width: calc(4 / 16 * 1rem);
  height: calc(4 / 16 * 1rem);
  background-color: #000;
  border-radius: 9999px;
  border: 2px solid #fff;
  box-sizing: content-box;
}
.splide__pagination__page.is-active {
  background-color: #fff;
  border-color: #000;
}

.is-bg-circle .splide__pagination__page {
  background-color: rgba(255, 255, 255, 0.3);
  border-color: transparent;
}
.is-bg-circle .splide__pagination__page.is-active {
  background-color: transparent;
  border-color: #fff;
}

.splide__arrow {
  position: absolute;
  z-index: 1;
  top: var(--splide-arrow-pos-top, 50%);
  transform: translateY(-50%);
  top: 50%;
}
.splide__arrow[disabled] {
  opacity: 0;
}

.splide__arrow--prev svg {
  transform: rotate(180deg);
}

.splide__arrow-circle {
  background-color: #fff;
  border-radius: 9999px;
  box-shadow: 0 0 calc(30 / 16 * 1rem) 0px rgba(0, 0, 0, 0.3);
  width: calc(35 / 16 * 1rem);
  height: calc(35 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}
@media (min-width: 768px) {
  .splide__arrow-circle {
    width: calc(40 / 16 * 1rem);
    height: calc(40 / 16 * 1rem);
  }
}

/******************************************************************************
* modal
*******************************************************************************/
.modal {
  display: none;
}
.modal.is-open {
  display: block;
}

.modal-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.7);
  padding: 0 calc(16 / 16 * 1rem);
}

.modal-box {
  position: relative;
  box-sizing: border-box;
  margin: 0 auto;
  background-color: #fff;
  width: -webkit-fit-content;
  width: fit-content;
}

.modal-box-inner.is-scroll {
  overflow-y: auto;
  max-height: calc(100dvh - (100 / 16 * 1rem));
}

@supports not (height: 100dvh) {
  .modal-box-inner.is-scroll {
    overflow-y: auto;
    max-height: calc(100vh - (100 / 16 * 1rem));
  }
}
.modal-close {
  position: absolute;
  top: 0;
  right: 0;
  display: grid;
  place-items: center;
  line-height: 1;
  transform: translate(50%, -50%);
  border-radius: 9999px;
}
.modal-close svg {
  width: 100%;
  height: 100%;
  pointer-events: none;
}

/* Animation */
.modal[aria-hidden=false] .modal-overlay {
  animation: anime-modal-fade-in 0.8s ease-out 0s;
}

.modal[aria-hidden=true] .modal-overlay {
  animation: anime-modal-fade-out 0.8s ease-out 0s;
}

@keyframes anime-modal-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes anime-modal-fade-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.l-main {
  overflow: hidden;
}

iframe {
  vertical-align: bottom;
}

.is-d-none {
  display: none;
}

.is-d-block {
  display: block;
}

.is-d-none-pc {
  /* stylelint-disable-next-line media-query-no-invalid */
}
@media (min-width: 768px) {
  .is-d-none-pc {
    display: none;
  }
}

.is-d-block-pc {
  /* stylelint-disable-next-line media-query-no-invalid */
}
@media (min-width: 768px) {
  .is-d-block-pc {
    display: block;
  }
}

.is-text-center-pc {
  /* stylelint-disable-next-line media-query-no-invalid */
}
@media (min-width: 768px) {
  .is-text-center-pc {
    text-align: center;
  }
}

.is-font-en {
  font-family: "Poppins", sans-serif;
  font-style: normal;
  font-weight: 700;
}

.o-header {
  position: absolute;
  top: calc(20 / 16 * 1rem);
  right: 0;
  left: 0;
  z-index: 100;
  width: calc(100% - (32 / 16 * 1rem));
  padding: calc(12 / 16 * 1rem) 0;
  margin: 0 auto;
  background-color: #fff;
  border-radius: calc(8 / 16 * 1rem);
  box-shadow: 0 calc(5 / 16 * 1rem) calc(12 / 16 * 1rem) 0 rgba(0, 0, 0, 0.1);
  /* stylelint-disable-next-line media-query-no-invalid */
}
@media (min-width: 768px) {
  .o-header {
    position: fixed;
    width: calc(100% - (64 / 16 * 1rem));
    padding: calc(16 / 16 * 1rem) 0;
  }
}

.o-header .l-wrap {
  position: relative;
  padding: 0 calc(12 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}
@media (min-width: 768px) {
  .o-header .l-wrap {
    padding: 0 calc(40 / 16 * 1rem);
  }
}

.o-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.o-header-logo .a-image {
  width: calc(164 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}
@media (min-width: 768px) {
  .o-header-logo .a-image {
    width: calc(288 / 16 * 1rem);
  }
}

.o-header-cv-list {
  display: grid;
  column-gap: calc(4 / 16 * 1rem);
  width: calc(216 / 16 * 1rem) !important;
  width: auto !important;
  /* stylelint-disable-next-line media-query-no-invalid */
}
@media (min-width: 768px) {
  .o-header-cv-list {
    grid-template-columns: 1fr 1fr;
    column-gap: calc(16 / 16 * 1rem);
    width: calc(460 / 16 * 1rem) !important;
  }
}

.o-header-cv-list li {
  width: calc(112 / 16 * 1rem);
  height: calc(32 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}
@media (min-width: 768px) {
  .o-header-cv-list li {
    width: auto;
    height: calc(48 / 16 * 1rem);
  }
}

.o-header-cv-list li a {
  font-size: calc(11 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}
@media (min-width: 768px) {
  .o-header-cv-list li a {
    font-size: calc(20 / 16 * 1rem);
  }
}

.is-bg-gray {
  background-color: #f7f7f7;
}

.p-section-heading {
  padding-bottom: calc(28 / 16 * 1rem);
  line-height: 1.5;
  text-align: center;
  /* stylelint-disable-next-line media-query-no-invalid */
}
.p-section-heading .a-heading_text-one {
  font-size: calc(24 / 16 * 1rem);
  font-weight: bold;
}
@media (min-width: 768px) {
  .p-section-heading .a-heading_text-one {
    font-size: calc(34 / 16 * 1rem);
  }
}

.is-deco-top {
  overflow: hidden;
  /* stylelint-disable-next-line media-query-no-invalid */
}
.is-deco-top::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22645.3%22%20height%3D%22399.84%22%20viewBox%3D%220%200%20645.3%20399.84%22%3E%3Cpath%20d%3D%22M1.21%2C379.78c142.81%2C70.53%2C304.65-61.16%2C373.13-143.47C470.09%2C121.22%2C602.61%2C186.92%2C645.3%2C0L0%2C2.07l1.21%2C377.71Z%22%20fill%3D%22%23ffeaea%22%20stroke-width%3D%220%22%2F%3E%3C%2Fsvg%3E") 0 0/100% 100% no-repeat;
}
@media (min-width: 768px) {
  .is-deco-top::before {
    width: calc(645 / 16 * 1rem);
    height: calc(400 / 16 * 1rem);
  }
}

.is-deco-bottom {
  overflow: hidden;
  /* stylelint-disable-next-line media-query-no-invalid */
}
.is-deco-bottom::after {
  position: absolute;
  right: calc(-20 / 16 * 1rem);
  bottom: 0;
  width: calc(365 / 16 * 1rem);
  height: calc(216 / 16 * 1rem);
  content: "";
  background: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22a%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22638%22%20height%3D%22377%22%20viewBox%3D%220%200%20638%20377%22%3E%3Cpath%20d%3D%22M0%2C377c18.97-23.15%2C42.2-46.24%2C71.1-69.17%2C185.62-147.21%2C314.42%2C39.93%2C479.9-146.56C578.38%2C130.41%2C638%2C0%2C638%2C0v377H0Z%22%20fill%3D%22%23e0e9ff%22%20stroke-width%3D%220%22%2F%3E%3C%2Fsvg%3E") 0 0/100% 100% no-repeat;
}
@media (min-width: 768px) {
  .is-deco-bottom::after {
    right: 0;
    width: calc(638 / 16 * 1rem);
    height: calc(377 / 16 * 1rem);
  }
}

.p-note {
  font-size: calc(11 / 16 * 1rem);
  line-height: 1.8;
  /* stylelint-disable-next-line media-query-no-invalid */
}
.p-note::before {
  content: attr(data-note-head) "";
}
@media (min-width: 768px) {
  .p-note {
    font-size: calc(16 / 16 * 1rem);
  }
}

.p-modal-movie {
  /* stylelint-disable-next-line media-query-no-invalid */
}
.p-modal-movie .modal-box {
  width: 100%;
  max-width: calc(1000 / 16 * 1rem);
  background-color: #fff;
  border-radius: calc(5 / 16 * 1rem);
}
.p-modal-movie .modal-close {
  width: calc(24 / 16 * 1rem);
  height: calc(24 / 16 * 1rem);
}
@media (min-width: 768px) {
  .p-modal-movie .modal-close {
    width: calc(60 / 16 * 1rem);
    height: calc(60 / 16 * 1rem);
  }
}

.p-modal-movie-content {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  overflow: hidden;
}

.p-modal-movie-content iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/******************************************************************************
* mv
*******************************************************************************/
.p-mv-wrap {
  position: relative;
}

.p-mv {
  padding-top: calc(100 / 16 * 1rem);
  padding-bottom: calc(40 / 16 * 1rem);
  background: url("../img/mv_bg_sp.png") 0 0/100% 100% no-repeat;
  /* stylelint-disable-next-line media-query-no-invalid */
  /* stylelint-disable-next-line media-query-no-invalid */
}

.p-mv .l-content {
  position: static;
}

@media (min-width: 768px) {
  .p-mv {
    position: relative;
    height: calc(700 / 16 * 1rem);
    padding-top: calc(200 / 16 * 1rem);
    padding-bottom: 0;
    background: url("../img/mv_bg.png") center center no-repeat;
  }
}
@media (min-width:1921px) {
  .p-mv {
    background-size: cover;
  }
}
.p-mv-heading {
  position: relative;
  width: -webkit-fit-content;
  width: fit-content;
  font-weight: 700;
}

.p-mv-heading_balloon {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: fit-content;
  padding: 0 calc(16 / 16 * 1rem) calc(2 / 16 * 1rem);
  margin: 0 auto;
  font-size: calc(18 / 16 * 1rem);
  font-weight: 700;
  color: #fff;
  background-color: #d92728;
  border-radius: 9999px;
  /* stylelint-disable-next-line media-query-no-invalid */
}

.p-mv-heading_balloon::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  width: calc(10 / 16 * 1rem);
  height: calc(8 / 16 * 1rem);
  margin: 0 auto;
  clip-path: polygon(100% 0, 0 0, 50% 100%);
  content: "";
  background-color: #d92728;
  transform: translateY(99%);
}

@media (min-width: 768px) {
  .p-mv-heading_balloon {
    position: absolute;
    top: calc(-30 / 16 * 1rem);
    right: calc(30 / 16 * 1rem);
    left: auto;
    font-size: calc(24 / 16 * 1rem);
  }
  .p-mv-heading_balloon::after {
    width: calc(12 / 16 * 1rem);
    height: calc(10 / 16 * 1rem);
  }
}
.p-mv-heading_text {
  display: block;
  margin-top: calc(12 / 16 * 1rem);
  font-size: calc(32 / 16 * 1rem);
  line-height: 1.4;
  color: #3e3c3c;
  text-align: center;
  text-indent: -0.8em;
  /* stylelint-disable-next-line media-query-no-invalid */
}

.p-mv-heading_text em {
  font-size: calc(35 / 16 * 1rem);
  color: #d92728;
}

@media (min-width: 768px) {
  .p-mv-heading_text {
    margin-top: 0;
    font-size: calc(50 / 16 * 1rem);
  }
  .p-mv-heading_text em {
    font-size: calc(70 / 16 * 1rem);
  }
}
.p-mv-inner {
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-mv-inner {
    max-width: calc(1140 / 16 * 1rem);
    margin: 0 auto;
  }
}
.p-mv-img {
  width: 100%;
  margin-top: calc(28 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-mv-img {
    position: absolute;
    top: calc(148 / 16 * 1rem);
    left: 50%;
    z-index: 0;
    width: calc(600 / 16 * 1rem);
    margin-top: 0;
    transform: translateX(calc(60 / 16 * 1rem));
  }
}
.p-mv-img-bottom {
  position: relative;
  display: block;
  box-shadow: calc(3 / 16 * 1rem) calc(6 / 16 * 1rem) calc(16 / 16 * 1rem) 0 rgba(0, 0, 0, 0.31);
  /* stylelint-disable-next-line media-query-no-invalid */
}

.p-mv-img-bottom::before {
  position: absolute;
  top: calc(50% - (58 / 16 * 1rem));
  right: 0;
  left: 0;
  width: calc(116 / 16 * 1rem);
  height: calc(116 / 16 * 1rem);
  margin: 0 auto;
  content: "";
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22114%22%20height%3D%22114.18%22%20viewBox%3D%220%200%20114%20114.18%22%3E%3Cpath%20d%3D%22M59.49.12l-2.82-.12-.37%2C8.61%2C1.72.08.13-3.06%2C1.15.05c1.85.08%2C3.36-.74%2C3.44-2.7.09-2.04-1.35-2.77-3.25-2.85ZM59.24%2C4.32l-1.03-.05.12-2.83.97.04c1.18.05%2C1.8.42%2C1.75%2C1.42-.04.99-.63%2C1.46-1.82%2C1.41ZM69.25%2C8.68l-3.44-.66%2C1.35-7.05-1.69-.32-1.62%2C8.47%2C5.13.98.27-1.42ZM70.9%2C10.68l1.29-1.89%2C2.63.91-.15%2C2.29%2C1.7.59.2-9.05-1.91-.66-5.42%2C7.24%2C1.65.57ZM73.53%2C6.84c.53-.76%2C1.09-1.6%2C1.61-2.42l.05.02c-.07.96-.18%2C1.97-.22%2C2.9l-.07.97-1.93-.67.55-.81ZM81.66%2C11.82l4.83-3.63-1.58-.83-1.74%2C1.46c-.51.45-1.02.87-1.56%2C1.33l-.04-.02c.07-.71.15-1.35.23-2.03l.22-2.26-1.61-.85-.26%2C6.04-1.46%2C2.79%2C1.52.8%2C1.46-2.79ZM86.47%2C18.66l2.32-2.74c.53-.62%2C1.19-1.62%2C1.66-2.3l.04.03-.79%2C1.99-1.32%2C3.62.75.64%2C3.35-1.9%2C1.84-1.09.04.04c-.6.56-1.47%2C1.39-2%2C2.01l-2.32%2C2.74%2C1.2%2C1.02%2C5.57-6.57-1.45-1.23-3.7%2C2.15c-.49.29-.97.62-1.47.92l-.04-.04c.22-.53.47-1.07.67-1.6l1.49-4.03-1.45-1.23-5.57%2C6.57%2C1.18%2C1ZM94.81%2C27.2c1.41%2C1.79%2C3.73%2C1.96%2C5.91.23%2C2.19-1.73%2C2.5-3.98%2C1.09-5.77-1.41-1.79-3.66-2.01-5.86-.27-2.19%2C1.73-2.56%2C4.03-1.14%2C5.82ZM97.04%2C22.77c1.45-1.15%2C2.82-1.19%2C3.61-.19.79%2C1%2C.43%2C2.33-1.02%2C3.48-1.44%2C1.14-2.87%2C1.23-3.66.23-.79-1.01-.38-2.37%2C1.06-3.52ZM99.95%2C34.86l8.81-1.82-.83-1.53-4.22%2C1.03c-.96.22-1.81.47-2.79.69l-.03-.05c.72-.7%2C1.38-1.28%2C2.09-1.97l3.14-3.01-.86-1.58-6.3%2C6.44.98%2C1.81ZM102.09%2C39.63l7.97-3.25-.65-1.6-7.97%2C3.25.65%2C1.59ZM104.37%2C47.02l1.39-.38-.97-3.55%2C2.22-.61.8%2C2.92%2C1.39-.38-.8-2.91%2C1.91-.53.94%2C3.43%2C1.39-.38-1.4-5.09-8.3%2C2.29%2C1.43%2C5.21ZM105.4%2C56.23l-.07%2C1.72%2C3.05.12-.05%2C1.15c-.07%2C1.85.75%2C3.36%2C2.71%2C3.44%2C2.03.08%2C2.76-1.36%2C2.84-3.26l.11-2.82-8.6-.34ZM112.52%2C59.22c-.05%2C1.18-.41%2C1.8-1.41%2C1.76-.99-.04-1.46-.63-1.42-1.81l.04-1.03%2C2.82.11-.04.98ZM103.96%2C68.94l1.42.27.64-3.44%2C7.04%2C1.32.32-1.69-8.46-1.59-.96%2C5.13ZM103.39%2C70.85l1.89%2C1.29-.9%2C2.64-2.28-.14-.58%2C1.7%2C9.04.17.65-1.92-7.25-5.4-.56%2C1.65ZM106.43%2C72.92l.81.55c.76.53%2C1.6%2C1.09%2C2.42%2C1.61l-.02.05c-.96-.07-1.97-.17-2.9-.21l-.97-.06.66-1.94ZM100.29%2C78.65l-.79%2C1.53%2C2.79%2C1.46%2C3.65%2C4.83.83-1.59-1.47-1.74c-.45-.51-.87-1.02-1.34-1.56l.02-.04c.71.07%2C1.35.14%2C2.03.22l2.26.21.84-1.62-6.03-.24-2.79-1.46ZM95.47%2C86.48l2.74%2C2.32c.62.52%2C1.63%2C1.19%2C2.3%2C1.65l-.03.03-1.99-.78-3.62-1.31-.64.76%2C1.91%2C3.35%2C1.1%2C1.84-.04.04c-.56-.6-1.39-1.47-2.02-1.99l-2.74-2.32-1.01%2C1.2%2C6.58%2C5.56%2C1.23-1.46-2.16-3.7c-.29-.49-.63-.97-.92-1.47l.04-.04c.53.22%2C1.07.46%2C1.6.66l4.02%2C1.48%2C1.23-1.46-6.58-5.56-1%2C1.18ZM86.96%2C94.86c-1.78%2C1.42-1.95%2C3.73-.21%2C5.92%2C1.73%2C2.19%2C3.98%2C2.49%2C5.76%2C1.08%2C1.78-1.42%2C2-3.67.26-5.87-1.74-2.19-4.03-2.55-5.81-1.13ZM91.59%2C100.7c-1%2C.8-2.32.44-3.47-1.01-1.14-1.44-1.24-2.87-.24-3.66%2C1-.8%2C2.37-.38%2C3.51%2C1.06%2C1.15%2C1.45%2C1.2%2C2.82.2%2C3.62ZM79.34%2C100.04l1.85%2C8.82%2C1.53-.84-1.04-4.22c-.22-.97-.48-1.81-.7-2.79l.05-.03c.7.72%2C1.28%2C1.38%2C1.97%2C2.09l3.02%2C3.13%2C1.58-.87-6.45-6.29-1.8.99ZM74.59%2C102.19l3.28%2C7.97%2C1.59-.66-3.28-7.97-1.59.66ZM67.21%2C104.5l.39%2C1.39%2C3.55-.99.62%2C2.22-2.91.81.39%2C1.39%2C2.91-.81.53%2C1.92-3.42.95.39%2C1.39%2C5.08-1.41-2.31-8.31-5.2%2C1.45ZM56.19%2C108.55l-1.15-.04c-1.85-.07-3.35.76-3.42%2C2.73-.07%2C2.03%2C1.36%2C2.76%2C3.27%2C2.83l2.82.1.31-8.61-1.72-.06-.11%2C3.06ZM56.04%2C112.74l-.98-.04c-1.18-.04-1.8-.4-1.76-1.4.04-.99.62-1.47%2C1.81-1.42l1.03.04-.1%2C2.82ZM45.07%2C105.58l3.44.63-1.3%2C7.06%2C1.69.31%2C1.56-8.48-5.13-.95-.26%2C1.42ZM42.14%2C105.5l-2.64-.89.14-2.29-1.71-.58-.14%2C9.05%2C1.91.65%2C5.37-7.28-1.65-.56-1.28%2C1.9ZM40.81%2C107.46c-.53.77-1.08%2C1.61-1.59%2C2.43l-.05-.02c.07-.96.16-1.97.2-2.91l.06-.98%2C1.94.66-.54.81ZM32.64%2C102.53l-4.81%2C3.67%2C1.59.82%2C1.73-1.48c.51-.46%2C1.01-.88%2C1.56-1.34l.04.02c-.07.71-.14%2C1.36-.21%2C2.04l-.2%2C2.26%2C1.62.84.22-6.04%2C1.45-2.8-1.53-.79-1.45%2C2.8ZM27.78%2C95.72l-2.31%2C2.75c-.52.62-1.18%2C1.63-1.64%2C2.31l-.04-.03.77-1.99%2C1.3-3.63-.76-.64-3.33%2C1.92-1.83%2C1.1-.04-.04c.59-.56%2C1.46-1.4%2C1.98-2.02l2.31-2.75-1.2-1.01-5.53%2C6.61%2C1.46%2C1.23%2C3.68-2.17c.49-.29.97-.63%2C1.46-.93l.04.04c-.22.53-.46%2C1.07-.66%2C1.6l-1.47%2C4.04%2C1.46%2C1.22%2C5.53-6.61-1.18-.99ZM19.39%2C87.23c-1.42-1.78-3.74-1.94-5.91-.19-2.18%2C1.74-2.47%2C4-1.05%2C5.77%2C1.42%2C1.78%2C3.67%2C1.99%2C5.86.23%2C2.18-1.74%2C2.53-4.04%2C1.1-5.82ZM17.18%2C91.68c-1.44%2C1.16-2.81%2C1.21-3.61.21-.8-1-.45-2.32%2C1-3.48%2C1.43-1.15%2C2.86-1.25%2C3.65-.25.8%2C1%2C.39%2C2.37-1.04%2C3.52ZM14.19%2C79.61l-8.8%2C1.88.85%2C1.53%2C4.21-1.06c.96-.23%2C1.8-.48%2C2.78-.71l.03.05c-.71.7-1.38%2C1.28-2.08%2C1.98l-3.11%2C3.03.87%2C1.58%2C6.25-6.48-1-1.8ZM12.01%2C74.85l-7.95%2C3.31.66%2C1.59%2C7.95-3.31-.66-1.59ZM9.69%2C67.48l-1.39.39%2C1%2C3.55-2.21.62-.82-2.91-1.39.39.82%2C2.91-1.91.54-.97-3.43-1.39.39%2C1.43%2C5.08%2C8.29-2.34-1.47-5.21ZM8.66%2C56.55l-3.05-.1.04-1.15c.06-1.85-.77-3.36-2.73-3.42-2.03-.07-2.75%2C1.38-2.82%2C3.28l-.09%2C2.82%2C8.6.29.06-1.72ZM4.25%2C56.4l-2.82-.09.03-.98c.04-1.18.4-1.8%2C1.4-1.77.99.03%2C1.47.62%2C1.43%2C1.81l-.03%2C1.03ZM9.96%2C45.56l-1.42-.26-.62%2C3.44-7.05-1.28-.31%2C1.7%2C8.47%2C1.53.93-5.14ZM10.52%2C43.63l-1.9-1.28.89-2.65%2C2.28.13.57-1.71-9.04-.11-.64%2C1.92%2C7.29%2C5.35.55-1.66ZM7.47%2C41.58l-.81-.54c-.77-.53-1.61-1.08-2.43-1.59l.02-.05c.96.06%2C1.97.16%2C2.9.19l.97.06-.65%2C1.94ZM13.56%2C35.82l.78-1.53-2.8-1.44-3.68-4.8-.82%2C1.6%2C1.48%2C1.72c.46.51.88%2C1.01%2C1.35%2C1.55l-.02.04c-.71-.06-1.35-.13-2.03-.21l-2.26-.19-.83%2C1.63%2C6.03.19%2C2.8%2C1.44ZM18.32%2C27.96l-2.76-2.3c-.63-.52-1.63-1.18-2.31-1.64l.03-.04%2C1.99.77%2C3.63%2C1.29.63-.76-1.93-3.34-1.11-1.83.04-.05c.57.59%2C1.4%2C1.46%2C2.03%2C1.98l2.76%2C2.3%2C1-1.21-6.62-5.51-1.22%2C1.47%2C2.19%2C3.68c.29.49.63.97.93%2C1.46l-.04.05c-.53-.22-1.07-.45-1.6-.66l-4.04-1.45-1.22%2C1.47%2C6.62%2C5.51.99-1.19ZM26.78%2C19.52c1.77-1.43%2C1.92-3.75.17-5.92-1.75-2.17-4-2.46-5.77-1.03-1.77%2C1.43-1.97%2C3.68-.21%2C5.87%2C1.75%2C2.17%2C4.04%2C2.52%2C5.81%2C1.09ZM22.1%2C13.72c.99-.8%2C2.32-.45%2C3.48.98%2C1.15%2C1.43%2C1.26%2C2.86.26%2C3.66-.99.8-2.36.4-3.52-1.03-1.16-1.44-1.22-2.81-.22-3.61ZM34.37%2C14.3l-1.91-8.81-1.52.85%2C1.07%2C4.21c.23.96.49%2C1.8.71%2C2.78l-.05.03c-.7-.71-1.28-1.37-1.98-2.08l-3.04-3.11-1.57.88%2C6.49%2C6.24%2C1.8-1ZM35.78%2C4.15l-1.59.67%2C3.33%2C7.95%2C1.59-.67-3.33-7.95ZM46.47%2C9.75l-.4-1.39-3.54%2C1.01-.63-2.22%2C2.9-.83-.4-1.39-2.9.83-.55-1.91%2C3.42-.98-.4-1.39-5.07%2C1.45%2C2.36%2C8.29%2C5.19-1.49Z%22%20fill%3D%22%23fff%22%20stroke-width%3D%220%22%2F%3E%3C%2Fsvg%3E") 0 0/100% 100% no-repeat;
  transform: translateY(-50%);
  animation: rotation 8s linear infinite;
}

.p-mv-img-bottom::after {
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  width: calc(68 / 16 * 1rem);
  height: calc(68 / 16 * 1rem);
  margin: 0 auto;
  content: "";
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2288%22%20height%3D%2288%22%20viewBox%3D%220%200%2088%2088%22%3E%3Cpath%20d%3D%22M44%2C0c24.3%2C0%2C44%2C19.7%2C44%2C44s-19.7%2C44-44%2C44S0%2C68.3%2C0%2C44%2C19.7%2C0%2C44%2C0Z%22%20fill%3D%22%23fff%22%20fill-rule%3D%22evenodd%22%20stroke-width%3D%220%22%2F%3E%3Cpath%20d%3D%22M59.59%2C42.28c1.35.77%2C1.35%2C2.72%2C0%2C3.49l-22.7%2C12.93c-1.34.76-3-.21-3-1.75v-25.86c0-1.54%2C1.66-2.51%2C3-1.74l22.7%2C12.93Z%22%20fill%3D%22%23d92728%22%20stroke-width%3D%220%22%2F%3E%3C%2Fsvg%3E") 0 0/100% 100% no-repeat;
  transform: translateY(-50%);
}

@media (min-width: 768px) {
  .p-mv-img-bottom::before {
    top: calc(50% - (75 / 16 * 1rem));
    width: calc(150 / 16 * 1rem);
    height: calc(150 / 16 * 1rem);
  }
  .p-mv-img-bottom::after {
    width: calc(88 / 16 * 1rem);
    height: calc(88 / 16 * 1rem);
  }
}
@keyframes rotation {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(1turn);
  }
}
.p-mv-heading_img {
  display: block;
  margin-top: calc(16 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-mv-heading_img {
    width: calc(455 / 16 * 1rem);
    margin-top: calc(24 / 16 * 1rem);
  }
}
.p-mv-cv {
  position: relative;
  height: calc(60 / 16 * 1rem);
  padding: 0 calc(24 / 16 * 1rem);
  margin-top: calc(40 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-mv-cv {
    max-width: calc(328 / 16 * 1rem);
    height: calc(80 / 16 * 1rem);
    padding: 0;
    margin-top: calc(48 / 16 * 1rem);
  }
}
.p-mv-cv .a-button {
  font-size: calc(16 / 16 * 1rem);
  font-weight: bold;
  color: #fff;
  background-color: var(--color-blue);
  border: calc(2 / 16 * 1rem) solid var(--color-blue);
  border-radius: calc(8 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-mv-cv .a-button {
    font-size: calc(18 / 16 * 1rem);
    box-shadow: 0 calc(3 / 16 * 1rem) calc(5 / 16 * 1rem) rgba(0, 0, 0, 0.12);
  }
}
.p-mv-cv-balloon {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1;
  display: grid;
  place-items: center;
  width: -webkit-fit-content;
  width: fit-content;
  height: calc(26 / 16 * 1rem);
  padding: 0 calc(15 / 16 * 1rem);
  margin: 0 auto;
  font-size: calc(14 / 16 * 1rem);
  font-weight: 700;
  line-height: 1;
  color: var(--color-blue);
  background-color: #fff;
  border: 1px solid var(--color-blue);
  border-radius: 9999px;
  transform: translateY(-50%);
}

.p-logo-area {
  margin-top: calc(24 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-logo-area {
    margin-top: calc(60 / 16 * 1rem);
  }
}
.p-logo-area .l-inner > * + * {
  margin-top: calc(10 / 16 * 1rem);
}

.p-logo-area-list {
  width: calc(296 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-logo-area-list {
    width: calc(2000 / 16 * 1rem);
  }
}
/******************************************************************************
* probrem
*******************************************************************************/
.p-probrem {
  position: relative;
  z-index: 1;
  padding-top: calc(60 / 16 * 1rem);
  padding-bottom: calc(72 / 16 * 1rem);
  background-color: #fff;
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-probrem {
    position: relative;
    padding-top: calc(100 / 16 * 1rem);
    padding-bottom: calc(60 / 16 * 1rem);
  }
}
.p-probrem-content01 {
  margin-top: calc(32 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-probrem-content01 {
    margin-top: calc(72 / 16 * 1rem);
  }
}
.p-probrem-list {
  display: grid;
  gap: calc(20 / 16 * 1rem);
  padding: 0 calc(10 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-probrem-list {
    grid-template-columns: 1fr 1fr 1fr;
    gap: calc(30 / 16 * 1rem);
    padding: 0;
  }
}
.p-probrem-card {
  height: 100%;
  padding-bottom: calc(20 / 16 * 1rem);
  background-color: var(--color-bg);
  border-radius: calc(8 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-probrem-card {
    padding-bottom: calc(36 / 16 * 1rem);
  }
}
.p-section-transition {
  position: relative;
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-section-transition {
    margin-top: calc(32 / 16 * 1rem);
  }
}
.p-section-transition_img {
  position: absolute;
  top: calc(54 / 16 * 1rem);
  right: 0;
  left: 0;
  width: -webkit-fit-content;
  width: fit-content;
  margin: 0 auto;
  /* stylelint-disable-next-line media-query-no-invalid */
}

.p-section-transition_img .a-image {
  margin: 0 auto;
}

@media (min-width: 768px) {
  .p-section-transition_img {
    top: calc(28 / 16 * 1rem);
  }
}
.p-probrem-card .a-heading {
  margin-top: calc(20 / 16 * 1rem);
  font-size: calc(16 / 16 * 1rem);
  font-weight: 700;
  text-align: center;
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-probrem-card .a-heading {
    margin-top: calc(24 / 16 * 1rem);
    font-size: calc(20 / 16 * 1rem);
  }
}
/******************************************************************************
* solution
*******************************************************************************/
.p-solution {
  position: relative;
  padding-top: calc(60 / 16 * 1rem);
  padding-bottom: calc(72 / 16 * 1rem);
  background-color: var(--color-secondary-bg);
  background-image: url("../img/solution_bg_top_sp.png"), url("../img/solution_bg_bottom_sp.png");
  background-repeat: no-repeat;
  background-position: left top, right bottom;
  background-size: calc(215 / 16 * 1rem) calc(193 / 16 * 1rem), calc(320 / 16 * 1rem) calc(648 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

.p-solution > * {
  position: relative;
  z-index: 1;
}

@media (min-width: 768px) {
  .p-solution {
    position: relative;
    padding-top: calc(128 / 16 * 1rem);
    padding-bottom: calc(96 / 16 * 1rem);
    background-image: url("../img/solution_bg_top01.png"), url("../img/solution_bg_top02.png"), url("../img/solution_bg_bottom01.png"), url("../img/solution_bg_bottom02.png");
    background-repeat: no-repeat;
    background-position: left top, right top, left bottom, right bottom;
    background-size: calc(524 / 16 * 1rem) calc(1212 / 16 * 1rem), calc(662 / 16 * 1rem) calc(334 / 16 * 1rem), calc(847 / 16 * 1rem) calc(269 / 16 * 1rem), calc(634 / 16 * 1rem) calc(489 / 16 * 1rem);
  }
}
.p-solution-content01 {
  margin-top: calc(48 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-solution-content01 {
    margin-top: calc(68 / 16 * 1rem);
  }
}
.p-solution-heading {
  font-size: calc(26 / 16 * 1rem);
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.06em;
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-solution-heading {
    padding-bottom: 0;
    font-size: calc(32 / 16 * 1rem);
  }
}
.p-solution-list {
  display: grid;
  row-gap: calc(36 / 16 * 1rem);
  padding: 0 calc(10 / 16 * 1rem);
  margin-top: calc(24 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-solution-list {
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: calc(30 / 16 * 1rem);
    padding: 0;
    margin-top: calc(42 / 16 * 1rem);
  }
}
.p-solution-list-stack .a-image {
  overflow: hidden;
  border-radius: calc(8 / 16 * 1rem);
}

.p-solution-list-stack .m-text-wrap {
  margin-top: calc(16 / 16 * 1rem);
  font-size: calc(16 / 16 * 1rem);
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-solution-list-stack .m-text-wrap {
    margin-top: calc(28 / 16 * 1rem);
    font-size: calc(20 / 16 * 1rem);
  }
}
.p-solution-box {
  padding: calc(40 / 16 * 1rem) calc(12 / 16 * 1rem);
  background-color: #fff;
  border-radius: calc(8 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-solution-box {
    padding: calc(70 / 16 * 1rem) calc(40 / 16 * 1rem) calc(60 / 16 * 1rem);
  }
}
.p-solution-box-list {
  position: relative;
  display: grid;
  row-gap: calc(44 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

.p-solution-box-list::after {
  position: absolute;
  top: calc(416 / 16 * 1rem);
  right: 0;
  left: 0;
  width: calc(42 / 16 * 1rem);
  aspect-ratio: 42/24;
  margin: 0 auto;
  content: "";
  background-color: var(--color-red);
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2242.05%22%20height%3D%2224.71%22%20viewBox%3D%220%200%2042.05%2024.71%22%3E%3Cpath%20d%3D%22M23.19%2C23.79c-1.18%2C1.22-3.14%2C1.22-4.32%2C0L.85%2C5.08C-.99%2C3.18.36%2C0%2C3.01%2C0h36.04c2.65%2C0%2C4%2C3.18%2C2.16%2C5.08l-18.02%2C18.71Z%22%20fill%3D%22%23fff%22%20stroke-width%3D%220%22%2F%3E%3C%2Fsvg%3E") 0 0/100% 100%;
          mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2242.05%22%20height%3D%2224.71%22%20viewBox%3D%220%200%2042.05%2024.71%22%3E%3Cpath%20d%3D%22M23.19%2C23.79c-1.18%2C1.22-3.14%2C1.22-4.32%2C0L.85%2C5.08C-.99%2C3.18.36%2C0%2C3.01%2C0h36.04c2.65%2C0%2C4%2C3.18%2C2.16%2C5.08l-18.02%2C18.71Z%22%20fill%3D%22%23fff%22%20stroke-width%3D%220%22%2F%3E%3C%2Fsvg%3E") 0 0/100% 100%;
}

@media (min-width: 768px) {
  .p-solution-box-list {
    grid-template-columns: 1fr 1fr;
    column-gap: calc(80 / 16 * 1rem);
    max-width: calc(800 / 16 * 1rem);
    margin: 0 auto;
  }
  .p-solution-box-list li:nth-child(2) {
    padding-left: calc(50 / 16 * 1rem);
  }
  .p-solution-box-list::after {
    top: auto;
    bottom: calc(150 / 16 * 1rem);
    width: calc(32 / 16 * 1rem);
    aspect-ratio: 32/36;
    -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22a%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2236%22%20viewBox%3D%220%200%2032%2036%22%3E%3Cpath%20d%3D%22M30.99%2C16.27c1.34.77%2C1.34%2C2.69%2C0%2C3.46L3.02%2C35.73c-1.34.77-3.02-.19-3.02-1.73V2C0%2C.46%2C1.68-.5%2C3.02.27l27.97%2C16Z%22%20fill%3D%22%23fff%22%20stroke-width%3D%220%22%2F%3E%3C%2Fsvg%3E") 0 0/100% 100%;
            mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22a%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2236%22%20viewBox%3D%220%200%2032%2036%22%3E%3Cpath%20d%3D%22M30.99%2C16.27c1.34.77%2C1.34%2C2.69%2C0%2C3.46L3.02%2C35.73c-1.34.77-3.02-.19-3.02-1.73V2C0%2C.46%2C1.68-.5%2C3.02.27l27.97%2C16Z%22%20fill%3D%22%23fff%22%20stroke-width%3D%220%22%2F%3E%3C%2Fsvg%3E") 0 0/100% 100%;
  }
}
.p-solution-box-stack {
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-solution-box-stack {
    display: grid;
    grid-template-rows: auto 1fr;
    row-gap: calc(24 / 16 * 1rem);
    height: 100%;
  }
}
.p-solution-box-stack .a-heading {
  font-size: calc(30 / 16 * 1rem);
  font-weight: bold;
  line-height: 1;
  text-align: center;
  /* stylelint-disable-next-line media-query-no-invalid */
}

.p-solution-box-stack .a-heading em {
  font-size: calc(40 / 16 * 1rem);
  color: var(--color-red);
}

@media (min-width: 768px) {
  .p-solution-box-stack .a-heading {
    font-size: calc(32 / 16 * 1rem);
  }
  .p-solution-box-stack .a-heading em {
    font-size: calc(50 / 16 * 1rem);
  }
}
.p-solution-box-stack .a-description {
  margin-top: calc(4 / 16 * 1rem);
  text-align: center;
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-solution-box-stack .a-description {
    margin-top: calc(8 / 16 * 1rem);
    font-size: calc(20 / 16 * 1rem);
  }
}
.p-solution-box-stack .a-image {
  width: calc(302 / 16 * 1rem);
  margin: calc(12 / 16 * 1rem) auto 0;
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-solution-box-stack .a-image {
    align-self: end;
    width: calc(296 / 16 * 1rem);
    margin-top: 0;
  }
}
.p-solution-box-top_bottom-text {
  position: relative;
  width: -webkit-fit-content;
  width: fit-content;
  padding-bottom: calc(60 / 16 * 1rem);
  margin: 0 auto;
  font-size: calc(20 / 16 * 1rem);
  font-weight: 700;
  /* stylelint-disable-next-line media-query-no-invalid */
}

.p-solution-box-top_bottom-text span {
  background-image: linear-gradient(to right, #ffd2d2, #ffd2d2);
  background-repeat: no-repeat;
  background-position: bottom;
  background-size: 100% 50%;
}

.p-solution-box-top_bottom-text::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  width: calc(24 / 16 * 1rem);
  height: calc(57 / 16 * 1rem);
  margin: 0 auto;
  content: "";
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2257.22%22%20viewBox%3D%220%200%2024%2057.22%22%3E%3Cpath%20d%3D%22M11.96%2C26.61c1.39%2C0%2C2.51-1.12%2C2.51-2.51v-.5c0-1.39-1.12-2.51-2.51-2.51s-2.51%2C1.12-2.51%2C2.51v.5c0%2C1.39%2C1.12%2C2.51%2C2.51%2C2.51Z%22%20fill%3D%22%23d92728%22%20stroke-width%3D%220%22%2F%3E%3Cpath%20d%3D%22M11.96%2C16.07c1.39%2C0%2C2.51-1.12%2C2.51-2.51v-.5c0-1.39-1.12-2.51-2.51-2.51s-2.51%2C1.12-2.51%2C2.51v.5c0%2C1.39%2C1.12%2C2.51%2C2.51%2C2.51Z%22%20fill%3D%22%23d92728%22%20stroke-width%3D%220%22%2F%3E%3Cpath%20d%3D%22M11.96%2C5.52c1.39%2C0%2C2.51-1.12%2C2.51-2.51v-.5c0-1.39-1.12-2.51-2.51-2.51s-2.51%2C1.12-2.51%2C2.51v.5c0%2C1.39%2C1.12%2C2.51%2C2.51%2C2.51Z%22%20fill%3D%22%23d92728%22%20stroke-width%3D%220%22%2F%3E%3Cpath%20d%3D%22M11.96%2C37.16c1.39%2C0%2C2.51-1.12%2C2.51-2.51v-.5c0-1.39-1.12-2.51-2.51-2.51s-2.51%2C1.12-2.51%2C2.51v.5c0%2C1.39%2C1.12%2C2.51%2C2.51%2C2.51Z%22%20fill%3D%22%23d92728%22%20stroke-width%3D%220%22%2F%3E%3Cpath%20d%3D%22M21.99%2C37.72H2.01c-1.59%2C0-2.55%2C1.76-1.69%2C3.1l9.99%2C15.48c.79%2C1.23%2C2.58%2C1.23%2C3.38%2C0l9.99-15.48c.86-1.34-.1-3.1-1.69-3.1Z%22%20fill%3D%22%23d92728%22%20stroke-width%3D%220%22%2F%3E%3C%2Fsvg%3E") 0 0/100% 100% no-repeat;
}

@media (min-width: 768px) {
  .p-solution-box-top_bottom-text {
    padding-bottom: calc(60 / 16 * 1rem);
    margin-top: calc(8 / 16 * 1rem);
    font-size: calc(24 / 16 * 1rem);
  }
  .p-solution-box-top_bottom-text span {
    background-size: 100% 30%;
  }
}
.p-solution-box-bottom {
  max-width: calc(940 / 16 * 1rem);
  margin: 0 auto;
  margin-top: calc(12 / 16 * 1rem);
  border: 1px solid #b8b8b8;
  border-radius: calc(8 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-solution-box-bottom {
    margin-top: calc(16 / 16 * 1rem);
  }
}
.p-solution-box-bottom_heading {
  padding: calc(12 / 16 * 1rem) 0;
  font-size: calc(18 / 16 * 1rem);
  font-weight: 700;
  color: #fff;
  text-align: center;
  background-color: #b8b8b8;
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-solution-box-bottom_heading {
    font-size: calc(24 / 16 * 1rem);
  }
}
.p-solution-box-bottom_inner {
  display: grid;
  padding: calc(16 / 16 * 1rem) calc(12 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-solution-box-bottom_inner {
    grid-template-columns: calc(156 / 16 * 1rem) 1fr;
    column-gap: calc(36 / 16 * 1rem);
    padding: calc(30 / 16 * 1rem) calc(38 / 16 * 1rem);
  }
}
.p-solution-box-bottom_inner-text-area {
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-solution-box-bottom_inner-text-area {
    order: 2;
  }
}
.p-solution-box-bottom_inner-text-area .a-heading {
  font-size: calc(24 / 16 * 1rem);
  font-weight: 700;
  text-align: center;
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-solution-box-bottom_inner-text-area .a-heading {
    font-size: calc(32 / 16 * 1rem);
    text-align: left;
  }
}
.p-solution-box-bottom_inner-text-area .m-text-wrap {
  margin-top: calc(12 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-solution-box-bottom_inner-text-area .m-text-wrap {
    margin-top: calc(8 / 16 * 1rem);
    letter-spacing: -0.02em;
  }
}
.p-solution-box-bottom_inner-text-area + .a-image {
  width: calc(150 / 16 * 1rem);
  margin: calc(12 / 16 * 1rem) auto 0;
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-solution-box-bottom_inner-text-area + .a-image {
    order: 1;
    width: auto;
    margin: 0;
  }
}
/******************************************************************************
* reason
*******************************************************************************/
.p-reason {
  position: relative;
  padding-top: calc(60 / 16 * 1rem);
  padding-bottom: calc(72 / 16 * 1rem);
  overflow: hidden;
  /* stylelint-disable-next-line media-query-no-invalid */
}

.p-reason > * {
  position: relative;
  z-index: 1;
}

@media (min-width: 768px) {
  .p-reason {
    padding-top: calc(100 / 16 * 1rem);
    padding-bottom: calc(120 / 16 * 1rem);
  }
}
.p-reason-content {
  margin-top: calc(40 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-reason-content {
    margin-top: calc(60 / 16 * 1rem);
  }
}
.p-reason-list {
  display: grid;
  row-gap: calc(48 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-reason-list {
    row-gap: calc(96 / 16 * 1rem);
  }
}
.p-reason-media {
  position: relative;
  display: grid;
  row-gap: calc(12 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

.p-reason-media > *:first-child {
  order: 2;
}

.p-reason-media > *:nth-child(2) {
  order: 1;
}

@media (min-width: 768px) {
  .p-reason-media {
    grid-template-columns: 1fr calc(570 / 16 * 1rem);
    column-gap: calc(56 / 16 * 1rem);
    align-items: center;
  }
  .p-reason-media > *:first-child {
    order: 1;
  }
  .p-reason-media > *:nth-child(2) {
    order: 2;
  }
  .p-reason-media.is-reverse {
    grid-template-columns: calc(570 / 16 * 1rem) 1fr;
  }
  .p-reason-media.is-reverse > *:first-child {
    order: 2;
  }
  .p-reason-media.is-reverse > *:nth-child(2) {
    order: 1;
  }
}
.p-reason-media .a-image {
  padding-top: calc(56 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-reason-media .a-image {
    padding-top: 0;
  }
}
.p-reason-media_heading .a-heading_text-one {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  font-size: calc(20 / 16 * 1rem);
  font-weight: bold;
  line-height: 1;
  color: var(--color-red);
  text-align: center;
  /* stylelint-disable-next-line media-query-no-invalid */
}

.p-reason-media_heading .a-heading_text-one em {
  font-size: calc(40 / 16 * 1rem);
}

@media (min-width: 768px) {
  .p-reason-media_heading .a-heading_text-one {
    position: static;
    text-align: left;
  }
}
.p-reason-media_heading .a-heading_text-two {
  font-size: calc(20 / 16 * 1rem);
  font-weight: bold;
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-reason-media_heading .a-heading_text-two {
    margin-top: calc(8 / 16 * 1rem);
    font-size: calc(28 / 16 * 1rem);
  }
}
.p-reason-media_subheading {
  margin-top: calc(4 / 16 * 1rem);
  font-size: calc(18 / 16 * 1rem);
  font-weight: 700;
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-reason-media_subheading {
    font-size: calc(20 / 16 * 1rem);
  }
}
.p-reason-media .m-text-wrap {
  margin-top: calc(12 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-reason-media .m-text-wrap {
    margin-top: calc(12 / 16 * 1rem);
    letter-spacing: -0.03em;
  }
}
.p-reason-media dl {
  padding: calc(12 / 16 * 1rem) 0;
}

.p-reason-media dl dt {
  font-weight: 700;
}

.p-reason-media dl dd::before {
  content: "・";
}

/******************************************************************************
* share
*******************************************************************************/
.p-share {
  padding: calc(80 / 16 * 1rem) 0;
  overflow: hidden;
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-share {
    padding: calc(100 / 16 * 1rem) 0;
  }
}
.p-share-heading {
  font-weight: 700;
  text-align: center;
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-share-heading {
    position: relative;
    z-index: 1;
    text-align: left;
  }
}
.p-share-heading .a-heading_text-one {
  font-size: calc(20 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

.p-share-heading .a-heading_text-one > span:first-child {
  display: block;
  padding-bottom: calc(8 / 16 * 1rem);
}

.p-share-heading .a-heading_text-one img {
  width: calc(222 / 16 * 1rem);
}

@media (min-width: 768px) {
  .p-share-heading .a-heading_text-one {
    font-size: calc(24 / 16 * 1rem);
  }
  .p-share-heading .a-heading_text-one > span:first-child {
    display: inline;
    padding-bottom: 0;
  }
  .p-share-heading .a-heading_text-one img {
    width: calc(382 / 16 * 1rem);
  }
}
.p-share-heading .a-heading_text-two {
  margin-top: calc(8 / 16 * 1rem);
  font-size: calc(24 / 16 * 1rem);
  line-height: 1.2;
  /* stylelint-disable-next-line media-query-no-invalid */
}

.p-share-heading .a-heading_text-two > * {
  display: block;
}

.p-share-heading .a-heading_text-two em {
  color: var(--color-red);
}

.p-share-heading .a-heading_text-two sup {
  display: inline-block;
  font-size: calc(10 / 16 * 1rem);
  vertical-align: super;
  transform: translateY(-1em);
}

.p-share-heading .a-heading_text-two .is-font-l {
  font-size: calc(40 / 16 * 1rem);
}

@media (min-width: 768px) {
  .p-share-heading .a-heading_text-two {
    margin-top: 0;
    font-size: calc(32 / 16 * 1rem);
  }
  .p-share-heading .a-heading_text-two .is-font-l {
    font-size: calc(62 / 16 * 1rem);
  }
  .p-share-heading .a-heading_text-two > * {
    display: inline;
  }
  .p-share-heading .a-heading_text-two sup {
    font-size: calc(12 / 16 * 1rem);
    transform: translateY(-1.2em);
  }
}
.p-share-text-wrap {
  padding: 0 calc(10 / 16 * 1rem);
  margin-top: calc(24 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-share-text-wrap {
    position: relative;
    z-index: 1;
    padding: 0;
    margin-top: calc(8 / 16 * 1rem);
  }
}
.p-share-text-wrap .a-text {
  font-size: calc(16 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-share-text-wrap .a-text {
    font-size: calc(20 / 16 * 1rem);
  }
}
.p-share-text-wrap em {
  color: var(--color-red);
}

.p-share-text-wrap + .m-text-wrap {
  padding: 0 calc(10 / 16 * 1rem);
  margin-top: calc(16 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-share-text-wrap + .m-text-wrap {
    padding: 0;
    margin-top: calc(20 / 16 * 1rem);
  }
}
.p-share-img-wrap {
  margin: calc(40 / 16 * 1rem) calc(-20 / 16 * 1rem) 0;
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-share-img-wrap {
    margin: 0;
  }
}
.p-shear-img {
  padding-left: calc(5 / 16 * 1rem);
  margin-right: calc(-50 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-shear-img {
    position: absolute;
    top: calc(50 / 16 * 1rem);
    right: calc(-270 / 16 * 1rem);
    z-index: 0;
    width: calc(500 / 16 * 1rem);
    padding-left: 0;
    margin-right: 0;
  }
}
@media screen and (min-width: 901px) {
  .p-shear-img {
    top: 0;
    width: calc(642 / 16 * 1rem);
  }
}
/******************************************************************************
* merit
*******************************************************************************/
.p-case-study {
  position: relative;
  padding-top: calc(60 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

.p-case-study > * {
  position: relative;
  z-index: 1;
}

@media (min-width: 768px) {
  .p-case-study {
    padding-top: calc(100 / 16 * 1rem);
  }
}
.p-case-study .p-section-heading + .m-text-wrap {
  padding: 0 calc(30 / 16 * 1rem);
  margin-top: calc(28 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-case-study .p-section-heading + .m-text-wrap {
    padding: 0;
    margin-top: calc(36 / 16 * 1rem);
    text-align: center;
  }
  .p-case-study .p-section-heading + .m-text-wrap .a-text {
    font-size: calc(20 / 16 * 1rem);
  }
}
.p-case-study-content01 {
  margin-top: calc(32 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-case-study-content01 {
    margin-top: calc(80 / 16 * 1rem);
  }
}
.p-case-study-content02 {
  width: calc(302 / 16 * 1rem);
  margin: calc(36 / 16 * 1rem) auto 0;
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-case-study-content02 {
    width: calc(330 / 16 * 1rem);
    margin-top: calc(80 / 16 * 1rem);
  }
}
.p-case-study-list {
  display: grid;
  row-gap: calc(20 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-case-study-list {
    row-gap: calc(24 / 16 * 1rem);
  }
}
.p-case-study-card {
  padding: calc(32 / 16 * 1rem) calc(24 / 16 * 1rem) calc(28 / 16 * 1rem);
  background-color: #f7f7f7;
  border-radius: calc(8 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-case-study-card {
    padding: calc(40 / 16 * 1rem) calc(68 / 16 * 1rem) calc(64 / 16 * 1rem);
  }
}
.p-case-study-card-head {
  display: grid;
  /* stylelint-disable-next-line media-query-no-invalid */
}

.p-case-study-card-head > *:first-child {
  order: 2;
}

.p-case-study-card-head > *:nth-child(2) {
  order: 1;
}

@media (min-width: 768px) {
  .p-case-study-card-head {
    grid-template-columns: calc(300 / 16 * 1rem) 1fr;
    column-gap: calc(24 / 16 * 1rem);
  }
}
.p-case-study-card-head_inner {
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-case-study-card-head_inner {
    padding-top: calc(8 / 16 * 1rem);
  }
}
.p-case-study-card-heading {
  margin-top: calc(8 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

.p-case-study-card-heading .a-heading_text-one {
  display: flex;
  align-items: center;
  justify-content: center;
  width: -webkit-fit-content;
  width: fit-content;
  height: calc(32 / 16 * 1rem);
  padding: 0 calc(12 / 16 * 1rem);
  font-weight: bold;
  color: #fff;
  background-color: var(--color-red);
  border-radius: 9999px;
}

.p-case-study-card-heading .a-heading_text-two {
  margin-top: calc(16 / 16 * 1rem);
  font-size: calc(18 / 16 * 1rem);
  font-weight: bold;
}

@media (min-width: 768px) {
  .p-case-study-card-heading {
    margin-top: 0;
  }
  .p-case-study-card-heading .a-heading_text-two {
    margin-top: calc(20 / 16 * 1rem);
    font-size: calc(20 / 16 * 1rem);
  }
}
.p-case-study-company-list {
  margin-top: calc(12 / 16 * 1rem);
}

.p-case-study-company-list_item {
  display: flex;
}

.p-case-study-company-list_item > * {
  font-weight: 700;
}

.p-case-study-card-head + .m-text-wrap {
  margin-top: calc(16 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

.p-case-study-card-head + .m-text-wrap em {
  color: #d92728;
}

@media (min-width: 768px) {
  .p-case-study-card-head + .m-text-wrap {
    margin-top: calc(32 / 16 * 1rem);
  }
}
/******************************************************************************
* price
*******************************************************************************/
.p-price {
  padding-top: calc(60 / 16 * 1rem);
  padding-bottom: calc(72 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-price {
    padding-top: calc(100 / 16 * 1rem);
    padding-bottom: calc(120 / 16 * 1rem);
  }
}
.p-price .p-section-heading + .m-text-wrap {
  padding: 0 calc(30 / 16 * 1rem);
  margin-top: calc(28 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-price .p-section-heading + .m-text-wrap {
    padding: 0;
    margin-top: calc(36 / 16 * 1rem);
    text-align: center;
  }
  .p-price .p-section-heading + .m-text-wrap .a-text {
    font-size: calc(20 / 16 * 1rem);
  }
}
.p-price-content01 {
  padding: 0 calc(10 / 16 * 1rem);
  margin-top: calc(32 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-price-content01 {
    padding: 0;
    margin-top: calc(72 / 16 * 1rem);
  }
}
.p-price-content02 {
  width: calc(302 / 16 * 1rem);
  margin: calc(36 / 16 * 1rem) auto 0;
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-price-content02 {
    width: calc(330 / 16 * 1rem);
    margin-top: calc(92 / 16 * 1rem);
  }
}
.p-price-list {
  display: grid;
  row-gap: calc(64 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

.p-price-list > *:not(:last-child) {
  position: relative;
}

.p-price-list > *:not(:last-child)::before {
  position: absolute;
  right: 0;
  bottom: calc(-32 / 16 * 1rem);
  left: 0;
  width: calc(20 / 16 * 1rem);
  height: calc(3 / 16 * 1rem);
  margin: 0 auto;
  content: "";
  background-color: #000;
  transform: rotate(90deg);
}

.p-price-list > *:not(:last-child)::after {
  position: absolute;
  right: 0;
  bottom: calc(-32 / 16 * 1rem);
  left: 0;
  width: calc(20 / 16 * 1rem);
  height: calc(3 / 16 * 1rem);
  margin: 0 auto;
  content: "";
  background-color: #000;
}

@media (min-width: 768px) {
  .p-price-list {
    grid-template-columns: calc(240 / 16 * 1rem) 1fr calc(240 / 16 * 1rem);
    column-gap: calc(60 / 16 * 1rem);
  }
  .p-price-list > *:not(:last-child)::before {
    top: 50%;
    right: calc(-40 / 16 * 1rem);
    left: auto;
    transform: translateY(-50%) rotate(90deg);
  }
  .p-price-list > *:not(:last-child)::after {
    top: 50%;
    right: calc(-40 / 16 * 1rem);
    left: auto;
    transform: translateY(-50%);
  }
}
.p-price-card {
  height: 100%;
  padding: calc(32 / 16 * 1rem) calc(12 / 16 * 1rem) calc(36 / 16 * 1rem);
  background-color: #fff;
  border-top: calc(6 / 16 * 1rem) solid var(--color-red);
  border-radius: calc(8 / 16 * 1rem);
  box-shadow: 0 calc(2 / 16 * 1rem) calc(8 / 16 * 1rem) 0 rgba(0, 0, 0, 0.27);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-price-card {
    display: grid;
    grid-template-rows: auto 1fr;
    padding: calc(28 / 16 * 1rem) 0 calc(28 / 16 * 1rem);
  }
}
.p-price-card dt {
  position: relative;
  width: calc(110 / 16 * 1rem);
  padding-bottom: calc(12 / 16 * 1rem);
  margin: 0 auto;
  font-size: calc(18 / 16 * 1rem);
  font-weight: 700;
  line-height: 1;
  text-align: center;
  /* stylelint-disable-next-line media-query-no-invalid */
}

.p-price-card dt::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  border-bottom: 1px solid #c0c0c0;
}

@media (min-width: 768px) {
  .p-price-card dt {
    width: calc(120 / 16 * 1rem);
    padding-bottom: calc(20 / 16 * 1rem);
    font-size: calc(20 / 16 * 1rem);
  }
}
.p-price-card dd {
  margin-top: calc(4 / 16 * 1rem);
  font-size: calc(18 / 16 * 1rem);
  font-weight: 700;
  line-height: 1;
  text-align: center;
  /* stylelint-disable-next-line media-query-no-invalid */
}

.p-price-card dd > p em {
  margin-right: calc(4 / 16 * 1rem);
  font-size: calc(60 / 16 * 1rem);
  color: var(--color-red);
}

.p-price-card dd span {
  font-weight: normal;
}

@media (min-width: 768px) {
  .p-price-card dd {
    align-self: center;
    margin-top: 0;
    font-size: calc(20 / 16 * 1rem);
  }
  .p-price-card dd:has(.p-price-card_inner-list) {
    margin-top: calc(8 / 16 * 1rem);
  }
}
.p-price-card_inner-list {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: calc(24 / 16 * 1rem);
  margin-top: calc(24 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

.p-price-card_inner-list::after {
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  display: block;
  width: 15px;
  height: 2px;
  margin: 0 auto;
  clear: both;
  content: "";
  background-color: var(--color-red);
  transform: translateY(-50%);
}

.p-price-card_inner-list::before {
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  display: block;
  width: 15px;
  height: 2px;
  margin: 0 auto;
  clear: both;
  content: "";
  background-color: var(--color-red);
  transform: translateY(-50%) rotate(90deg);
}

@media (min-width: 768px) {
  .p-price-card_inner-list {
    column-gap: calc(50 / 16 * 1rem);
    padding: 0 calc(44 / 16 * 1rem);
    margin-top: calc(24 / 16 * 1rem);
  }
}
.p-price-card_inner-list li {
  display: grid;
  grid-template-rows: auto 1fr;
  padding: calc(16 / 16 * 1rem) 0;
  background-color: #ffedf0;
  border-radius: calc(8 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-price-card_inner-list li {
    padding: calc(16 / 16 * 1rem);
  }
}
.p-price-card_inner-list-name {
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.2;
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-price-card_inner-list-name {
    font-size: calc(18 / 16 * 1rem);
  }
}
.p-price-card_inner-list-price {
  align-self: end;
  margin-top: calc(4 / 16 * 1rem);
  font-size: calc(14 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

.p-price-card_inner-list-price .is-text-s {
  display: inline-block;
  font-size: calc(12 / 16 * 1rem);
  font-weight: 400;
}

@media (min-width: 768px) {
  .p-price-card_inner-list-price {
    margin-top: calc(12 / 16 * 1rem);
    font-size: calc(16 / 16 * 1rem);
  }
}
.p-price-card_inner-list-price em {
  font-size: calc(28 / 16 * 1rem);
  color: var(--color-red);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-price-card_inner-list-price em {
    font-size: calc(32 / 16 * 1rem);
  }
}
.p-price-list + .m-note-wrap {
  margin-top: calc(20 / 16 * 1rem);
}

/******************************************************************************
* flow
*******************************************************************************/
.p-flow {
  position: relative;
  padding-bottom: calc(80 / 16 * 1rem);
  margin-top: calc(80 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

.p-flow > * {
  position: relative;
  z-index: 1;
}

@media (min-width: 768px) {
  .p-flow {
    padding-bottom: calc(140 / 16 * 1rem);
    margin-top: calc(108 / 16 * 1rem);
  }
}
.p-flow-content01 {
  margin-top: calc(32 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-flow-content01 {
    margin-top: calc(80 / 16 * 1rem);
  }
}
.p-flow-content02 {
  margin-top: calc(40 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-flow-content02 {
    margin-top: calc(100 / 16 * 1rem);
  }
}
.p-flow .p-section-heading + .m-text-wrap {
  padding: 0 calc(30 / 16 * 1rem);
  margin-top: calc(28 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-flow .p-section-heading + .m-text-wrap {
    padding: 0;
    margin-top: calc(36 / 16 * 1rem);
    text-align: center;
  }
  .p-flow .p-section-heading + .m-text-wrap .a-text {
    font-size: calc(20 / 16 * 1rem);
  }
}
.p-flow-list {
  display: grid;
  row-gap: calc(50 / 16 * 1rem);
}

.p-flow-list li {
  position: relative;
  /* stylelint-disable-next-line media-query-no-invalid */
}

.p-flow-list li:not(:last-child)::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22a%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2213%22%20viewBox%3D%220%200%2014%2013%22%3E%3Cpath%20d%3D%22M8.81%2C12.01L13.77%2C2.71c.15-.27.22-.57.22-.88%2C0-1.01-.76-1.83-1.69-1.83H1.66C.75%2C0%2C0%2C.81%2C0%2C1.81%2C0%2C2.14.09%2C2.48.25%2C2.76l5.43%2C9.31c.53.92%2C1.66%2C1.21%2C2.52.63.25-.17.47-.41.61-.69h0Z%22%20fill%3D%22%23000%22%20stroke-width%3D%220%22%2F%3E%3C%2Fsvg%3E") 0 0/100% 100% no-repeat;
  transform: translateY(50%);
}

@media (min-width: 768px) {
  .p-flow-list li:not(:last-child)::after {
    left: calc(40 / 16 * 1rem);
    width: calc(14 / 16 * 1rem);
    height: calc(13 / 16 * 1rem);
  }
}
.p-flow-media {
  display: grid;
  grid-template-columns: calc(71 / 16 * 1rem) 1fr;
  column-gap: calc(24 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-flow-media {
    grid-template-columns: calc(100 / 16 * 1rem) 1fr;
    column-gap: calc(40 / 16 * 1rem);
  }
}
.p-flow-media_icon {
  display: flex;
  justify-content: center;
  /* stylelint-disable-next-line media-query-no-invalid */
}

.p-flow-media_icon > img {
  width: calc(70 / 16 * 1rem);
  height: calc(70 / 16 * 1rem);
}

@media (min-width: 768px) {
  .p-flow-media_icon > img {
    width: calc(86 / 16 * 1rem);
    height: calc(86 / 16 * 1rem);
  }
}
.p-flow-media dt {
  font-size: calc(18 / 16 * 1rem);
  font-weight: 700;
  line-height: 1;
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-flow-media dt {
    display: flex;
    font-size: calc(20 / 16 * 1rem);
  }
}
.p-flow-media_dt-num {
  display: block;
  padding-bottom: calc(12 / 16 * 1rem);
  margin-right: 1em;
  color: #f24554;
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-flow-media_dt-num {
    padding-bottom: 0;
    margin-top: 0;
  }
}
.p-flow-media dd {
  padding-bottom: calc(20 / 16 * 1rem);
  margin-top: calc(20 / 16 * 1rem);
  font-size: calc(14 / 16 * 1rem);
  border-bottom: 1px solid #e5e5e5;
  /* stylelint-disable-next-line media-query-no-invalid */
}

.p-flow-media dd a {
  font-weight: 700;
}

@media (min-width: 768px) {
  .p-flow-media dd {
    padding-bottom: calc(50 / 16 * 1rem);
    margin-top: calc(20 / 16 * 1rem);
    font-size: calc(16 / 16 * 1rem);
  }
}
.p-flow .p-cv-button-list {
  width: calc(300 / 16 * 1rem);
  margin: 0 auto;
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-flow .p-cv-button-list {
    width: 100%;
    max-width: calc(680 / 16 * 1rem);
  }
}
.p-flow .p-cv-button-list .p-cv-button-wrap {
  margin-top: 0;
}

/******************************************************************************
* faq
*******************************************************************************/
.p-faq {
  padding-top: calc(60 / 16 * 1rem);
  padding-bottom: calc(72 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-faq {
    padding-top: calc(100 / 16 * 1rem);
    padding-bottom: calc(120 / 16 * 1rem);
  }
}
.p-faq-content01 {
  margin-top: calc(40 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-faq-content01 {
    margin-top: calc(80 / 16 * 1rem);
  }
}
.p-faq-list {
  display: grid;
  row-gap: calc(8 / 16 * 1rem);
}

.p-faq-item {
  background-color: #fff;
  border-radius: calc(8 / 16 * 1rem);
}

.p-faq-item dt {
  position: relative;
  cursor: pointer;
  /* stylelint-disable-next-line media-query-no-invalid */
}

.p-faq-item dt button {
  display: flex;
  width: 100%;
  padding: calc(24 / 16 * 1rem) calc(64 / 16 * 1rem) calc(24 / 16 * 1rem) calc(16 / 16 * 1rem);
  line-height: 2;
}

.p-faq-item dt button svg {
  position: absolute;
  top: 50%;
  right: calc(16 / 16 * 1rem);
  width: calc(26 / 16 * 1rem);
  height: calc(26 / 16 * 1rem);
  content: "";
  background-color: rgba(255, 255, 255, 0.5019607843);
  background-size: contain;
  border-radius: 9999px;
  transform: translateY(-50%);
}

.p-faq-item dt button svg path {
  transform-origin: center;
}

.p-faq-item dt button svg path:nth-child(2) {
  transition: transform 0.3s ease-out;
  transform: rotate(90deg);
}

.p-faq-item dt button.is-open svg path:first-child {
  fill: var(--color-red);
}

.p-faq-item dt button.is-open svg path:nth-child(2) {
  transform: rotate(0);
}

.p-faq-item dt > * {
  display: block;
  font-size: calc(16 / 16 * 1rem);
  font-weight: 700;
}

@media (min-width: 768px) {
  .p-faq-item dt > * {
    font-size: calc(18 / 16 * 1rem);
  }
  .p-faq-item dt button {
    padding: calc(24 / 16 * 1rem) calc(40 / 16 * 1rem);
  }
  .p-faq-item dt button svg {
    right: calc(40 / 16 * 1rem);
  }
}
.p-faq-q-text,
.p-faq-a-text {
  margin-right: calc(12 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-faq-q-text,
  .p-faq-a-text {
    margin-right: calc(32 / 16 * 1rem);
  }
}
.p-faq-a-text {
  font-size: calc(18 / 16 * 1rem);
  font-weight: 700;
  color: var(--color-red);
}

.p-faq-item dd {
  display: none;
  font-size: calc(16 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

.p-faq-item dd a {
  word-break: break-all;
}

.p-faq-item dd > * {
  display: flex;
  padding: 0 calc(16 / 16 * 1rem) calc(24 / 16 * 1rem);
}

@media (min-width: 768px) {
  .p-faq-item dd > * {
    padding: 0 calc(40 / 16 * 1rem) calc(24 / 16 * 1rem);
  }
}
/******************************************************************************
* cv
*******************************************************************************/
.p-cv {
  padding: calc(56 / 16 * 1rem) 0;
  background: url("../img/cv_bg_sp.png") center 0/cover no-repeat;
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-cv {
    padding: calc(80 / 16 * 1rem) 0;
    background: url("../img/cv_bg_pc.png") center 0/auto 588px repeat-x;
  }
}
.p-cv-heading > * {
  display: block;
  text-align: center;
}

.p-cv-heading_shoulder {
  font-size: calc(16 / 16 * 1rem);
  font-weight: 700;
  line-height: 1;
  color: #fff;
}

.p-cv-heading_main {
  margin-top: calc(8 / 16 * 1rem);
  font-size: calc(24 / 16 * 1rem);
  font-weight: 700;
  color: #fff;
  /* stylelint-disable-next-line media-query-no-invalid */
}

.p-cv-heading_main img {
  width: calc(304 / 16 * 1rem);
}

@media (min-width: 768px) {
  .p-cv-heading_main {
    font-size: calc(34 / 16 * 1rem);
  }
  .p-cv-heading_main img {
    width: calc(440 / 16 * 1rem);
  }
}
.p-cv02 .p-cv-heading_main {
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-cv02 .p-cv-heading_main {
    margin-top: calc(32 / 16 * 1rem);
  }
}
.p-cv-box {
  max-width: calc(800 / 16 * 1rem);
  padding: calc(32 / 16 * 1rem) calc(24 / 16 * 1rem);
  margin-inline: auto;
  margin-top: calc(24 / 16 * 1rem);
  background-color: #fff;
  border-radius: calc(8 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-cv-box {
    position: relative;
    padding-right: calc(52 / 16 * 1rem);
    padding-left: calc(44 / 16 * 1rem);
  }
  .p-cv-box.is-add-dog::after {
    position: absolute;
    right: calc(-238 / 16 * 1rem);
    bottom: calc(-10 / 16 * 1rem);
    display: block;
    width: calc(217 / 16 * 1rem);
    height: calc(368 / 16 * 1rem);
    content: "";
    background: url("../img/cv_dog.png") 0 0/100% 100% no-repeat;
  }
}
.p-cv02 .p-cv-box {
  padding: calc(40 / 16 * 1rem) calc(24 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-cv02 .p-cv-box {
    padding: calc(32 / 16 * 1rem) calc(24 / 16 * 1rem);
  }
}
.p-cv-media {
  display: grid;
  row-gap: calc(24 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-cv-media {
    grid-template-columns: calc(330 / 16 * 1rem) 1fr;
    column-gap: calc(48 / 16 * 1rem);
    align-items: center;
  }
}
.p-cv-media-img {
  width: calc(232 / 16 * 1rem);
  margin-inline: auto;
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-cv-media-img {
    width: auto;
  }
}
.p-cv-button-list {
  display: grid;
  row-gap: calc(20 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-cv-button-list {
    grid-template-columns: 1fr 1fr;
    column-gap: calc(20 / 16 * 1rem);
    width: calc(680 / 16 * 1rem);
    margin-inline: auto;
  }
}
.p-cv-button-caption {
  position: relative;
  width: -webkit-fit-content;
  width: fit-content;
  margin: 0 auto;
  font-weight: 700;
  line-height: 1;
  /* stylelint-disable-next-line media-query-no-invalid */
}

.p-cv-button-caption.is-add-x-line {
  padding: 0 calc(8 / 16 * 1rem);
}

.p-cv-button-caption.is-add-x-line::before {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 1px;
  height: 100%;
  content: "";
  background-color: currentcolor;
  transform: translateY(-50%) rotate(-30deg);
  transform-origin: bottom;
}

.p-cv-button-caption.is-add-x-line::after {
  position: absolute;
  top: 50%;
  right: 0;
  display: block;
  width: 1px;
  height: 100%;
  content: "";
  background-color: currentcolor;
  transform: translateY(-50%) rotate(30deg);
  transform-origin: bottom;
}

@media (min-width: 768px) {
  .p-cv-button-caption {
    font-size: calc(18 / 16 * 1rem);
  }
}
.p-cv-button-list .p-cv-button-wrap {
  height: calc(72 / 16 * 1rem);
  margin-top: calc(16 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-cv-button-list .p-cv-button-wrap {
    height: calc(80 / 16 * 1rem);
  }
}
.p-cv-button-list a {
  font-size: calc(16 / 16 * 1rem);
  font-weight: bold;
  line-height: 1.5;
  color: #fff;
  background-color: var(--color-blue);
  border: 2px solid var(--color-blue);
  border-radius: calc(8 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-cv-button-list a {
    font-size: calc(18 / 16 * 1rem);
  }
}
.p-cv-button-list li:first-child a {
  color: var(--color-blue);
  background-color: #fff;
}

.p-cv-button-wrap {
  height: calc(60 / 16 * 1rem);
  margin-top: calc(16 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

.p-cv-button-wrap .a-button {
  font-size: calc(16 / 16 * 1rem);
  font-weight: bold;
  color: #fff;
  background-color: var(--color-blue);
  border: calc(2 / 16 * 1rem) solid var(--color-blue);
  border-radius: calc(8 / 16 * 1rem);
}

@media (min-width: 768px) {
  .p-cv-button-wrap {
    height: calc(80 / 16 * 1rem);
  }
  .p-cv-button-wrap .a-button {
    font-size: calc(18 / 16 * 1rem);
  }
}
/******************************************************************************
* footer
*******************************************************************************/
.o-footer-top {
  padding-top: calc(40 / 16 * 1rem);
  padding-bottom: calc(40 / 16 * 1rem);
  background: #ebebeb;
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .o-footer-top {
    padding-top: calc(80 / 16 * 1rem);
    padding-bottom: calc(80 / 16 * 1rem);
  }
}
.o-footer-inner {
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .o-footer-inner {
    display: grid;
    grid-template-rows: 33.3333% 33.3333% 33.3333%;
  }
  .o-footer-inner > * {
    grid-column: 1/2;
  }
  .o-footer-inner > *:first-child {
    z-index: 1;
    grid-row: 1/4;
  }
  .o-footer-inner > *:nth-child(2) {
    z-index: 0;
    grid-row: 3/4;
    align-self: flex-end;
    justify-self: end;
  }
}
.o-footer-list {
  display: grid;
  row-gap: calc(36 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

.o-footer-list dt {
  width: 3em;
  margin-right: calc(32 / 16 * 1rem);
  font-weight: 700;
}

.o-footer-list > * {
  display: flex;
}

.o-footer-list > *:last-child {
  display: block;
}

.o-footer-list > *:last-child dt {
  width: auto;
  margin-right: 0;
  line-height: 1.8;
}

.o-footer-list > *:last-child > dd {
  margin-top: calc(12 / 16 * 1rem);
}

@media (min-width: 768px) {
  .o-footer-list {
    grid-template-rows: auto auto auto;
    grid-template-columns: auto 1fr;
    row-gap: calc(16 / 16 * 1rem);
    column-gap: calc(80 / 16 * 1rem);
    padding-bottom: calc(100 / 16 * 1rem);
  }
  .o-footer-list > *:first-child {
    grid-column: 1/2;
  }
  .o-footer-list > *:nth-child(2) {
    grid-column: 1/2;
  }
  .o-footer-list > *:nth-child(3) {
    grid-column: 1/2;
  }
  .o-footer-list > *:last-child {
    grid-row: 1/span 3;
    grid-column: 2/3;
  }
}
@media (min-width: 940px) {
  .o-footer-list {
    padding-bottom: calc(60 / 16 * 1rem);
  }
}
.o-footer-list-tel {
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .o-footer-list-tel {
    pointer-events: none;
    cursor: none;
  }
}
.o-footer-privacy-logo {
  width: calc(176 / 16 * 1rem);
  margin: calc(28 / 16 * 1rem) auto 0;
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .o-footer-privacy-logo {
    width: auto;
    margin: 0;
  }
}
.o-footer-bottom {
  padding-bottom: calc(72 / 16 * 1rem);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .o-footer-bottom {
    padding-bottom: 0;
  }
}
.o-footer-bottom > .l-content {
  padding-top: calc(40 / 16 * 1rem);
  padding-bottom: calc(40 / 16 * 1rem);
}

.o-footer-copy {
  text-align: center;
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .o-footer-copy {
    font-size: calc(14 / 16 * 1rem);
  }
}
.p-float-cv {
  display: none;
  /* stylelint-disable-next-line media-query-no-invalid */
}

.p-float-cv.is-hidden {
  display: none;
}

.p-float-cv a {
  display: block;
}

@media (min-width: 768px) {
  .p-float-cv {
    position: fixed;
    bottom: calc(20 / 16 * 1rem);
    left: calc(20 / 16 * 1rem);
    z-index: 1000;
    display: block;
    width: calc(302 / 16 * 1rem);
    background-color: #fff;
    border: 2px solid #3e3c3c;
    border-radius: calc(5 / 16 * 1rem);
    /* stylelint-disable-next-line media-query-no-invalid */
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  .p-float-cv a {
    padding: calc(20 / 16 * 1rem);
  }
}
.p-float-cv_heading-one {
  display: block;
  width: -webkit-fit-content;
  width: fit-content;
  padding-right: calc(8 / 16 * 1rem);
  padding-left: calc(8 / 16 * 1rem);
  margin: 0 auto;
  font-size: calc(12 / 16 * 1rem);
  color: #fff;
  background-color: var(--color-red);
  border-radius: 9999px;
}

.p-float-cv_heading-two {
  display: block;
  margin-top: calc(8 / 16 * 1rem);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

.p-float-cv-cross {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(27 / 16 * 1rem);
  height: calc(27 / 16 * 1rem);
  transform: translate(-50%, -50%);
}

.p-float-cv-cross svg {
  width: 100%;
  height: 100%;
}

.p-float-cv .a-image {
  margin-top: calc(8 / 16 * 1rem);
  text-align: center;
}

.p-float-cv_button-wrap {
  margin: calc(10 / 16 * 1rem) auto 0;
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-float-cv_button-wrap {
    height: calc(48 / 16 * 1rem);
  }
}
.p-float-cv_button-wrap .a-button {
  font-weight: bold;
  color: #fff;
  background-color: var(--color-blue);
  border: 2px solid currentcolor;
  border-radius: calc(8 / 16 * 1rem);
}

.p-float-cv_button-wrap .a-button .a-button_inner {
  font-size: calc(14 / 16 * 1rem);
}

.p-go-top {
  position: fixed;
  right: calc(16 / 16 * 1rem);
  bottom: calc(80 / 16 * 1rem);
  z-index: 1000;
  display: block;
  width: -webkit-fit-content;
  width: fit-content;
  /* stylelint-disable-next-line media-query-no-invalid */
}

.p-go-top img {
  width: calc(48 / 16 * 1rem);
  height: calc(48 / 16 * 1rem);
}

.p-go-top a {
  display: block;
}

@media (min-width: 768px) {
  .p-go-top {
    right: calc(64 / 16 * 1rem);
    bottom: calc(20 / 16 * 1rem);
  }
  .p-go-top img {
    width: calc(80 / 16 * 1rem);
    height: calc(80 / 16 * 1rem);
  }
}
.p-bottom-cv-list {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 100;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: calc(16 / 16 * 1rem);
  width: 100%;
  padding: calc(10 / 16 * 1rem) calc(28 / 16 * 1rem);
  background-color: rgba(0, 0, 0, 0.7);
  /* stylelint-disable-next-line media-query-no-invalid */
}

@media (min-width: 768px) {
  .p-bottom-cv-list {
    display: none;
  }
}
.p-bottom-cv-list li {
  height: calc(44 / 16 * 1rem);
}

.p-bottom-cv-list li a {
  font-size: calc(14 / 16 * 1rem);
  font-weight: bold;
  border-radius: calc(8 / 16 * 1rem);
}

.p-bottom-cv-list li:first-child a {
  color: var(--color-blue);
  background-color: #fff;
  border: 1px solid var(--color-blue);
}

.p-bottom-cv-list li:nth-child(2) a {
  color: #fff;
  background-color: var(--color-blue);
  border: 1px solid var(--color-blue);
}

/*kuroda250519追記*/

.text-medium {
  font-size:calc(20 / 16 * 1rem); 
  text-align: center;
  font-weight: 800;
}

.add-set {
  width: 30%;
}

.card-title-red {
  position: relative;
  padding-bottom: calc(18 / 16 * 1rem);
  padding-right:1.7rem;
  padding-left:1.7rem;
  margin: 2rem auto 0.5rem;
  font-size: calc(28 / 16 * 1rem);
  font-weight: 700;
  line-height: 1;
  text-align: center;
  color: var(--color-red);
  border-bottom: 1.5px solid #cacaca;
}

.card-title {
  position: relative;
  padding-bottom: calc(12 / 16 * 1rem);
  padding-right:2rem;
  padding-left:2rem;
  margin: 1rem auto;
  font-size: calc(25 / 16 * 1rem);
  font-weight: 700;
  line-height: 1;
  text-align: center;
}

.add_section_title {
  font-size: calc(34 / 16 * 1rem); 
  font-weight: 800;
}

.add_section_subtitle {
  padding: 2rem 0;
  margin: 2rem 0;
  font-size: 2rem; 
  font-weight:800;
}

.three_box {
  display: flex; 
  justify-content: space-between;
}

@media (max-width: 768px) {
.add_section_title {
    font-size: calc(24 / 16 * 1rem);
    font-weight: bold;
}
.add_section_subtitle {
  padding: 1rem 0;
  margin: 1rem 0;
  font-size: 1.5rem; 
  font-weight:600;
}

.text-medium {
  font-size:calc(16 / 16 * 1rem); 
  text-align: center;
  font-weight: 800;
}

.three_box {
  display: block;
}
.add-set {
  width: 100%;
  margin: 1rem 0;
}

.card-title-red {
  position: relative;
  padding-bottom: calc(18 / 16 * 1rem);
  padding-right:1.2rem;
  padding-left:1.2rem;
  margin: 2rem auto 0.5rem;
  font-size: calc(28 / 16 * 1rem);
  font-weight: 700;
  line-height: 1;
  text-align: center;
  color: var(--color-red);
  border-bottom: 1.5px solid #cacaca;
}
}