@charset "UTF-8";
/*
  Josh's Custom CSS Reset
  https://www.joshwcomeau.com/css/custom-css-reset/
*/
*, *::before, *::after {
  box-sizing: border-box;
}

* {
  margin: 0;
}

html, body {
  height: 100%;
}

body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}

input, button, textarea, select {
  font: inherit;
}

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

#root, #__next {
  isolation: isolate;
}

html {
  font-size: 62.5%;
}

body {
  font-size: 1.6rem;
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  color: #0F0F0F;
  line-height: normal;
  font-weight: 400;
  background-color: #ffffff;
}
body.works, body.tax-worktype, body.post-type-archive-works, body.single-works, body.is-dark {
  background-color: #0F0F0F;
}

.l-global-container.is-appear {
  animation-name: pageTransitionContent;
  animation-duration: 1.5s;
  animation-delay: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  pointer-events: auto;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

a {
  transition: opacity 0.3s ease;
  text-decoration: none;
  color: inherit;
}
a:not([data-hover-animation]):hover {
  opacity: 0.7;
}

ul,
ol {
  list-style: none;
  padding: 0;
}

button {
  border: none;
  background: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
  outline: none;
}

input,
textarea,
select {
  outline: none;
}

summary::-webkit-details-marker {
  display: none;
}

@keyframes wipe {
  0% {
    transform: translateX(0px);
  }
  100% {
    transform: translateX(293px);
  }
}
@keyframes fadeOut {
  0% {
    transform: translateY(0);
    opacity: 1;
  }
  100% {
    transform: translateY(-30px);
    opacity: 0;
  }
}
@keyframes bgRotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes pageTransition {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  70% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    display: none;
  }
}
@keyframes pageTransitionContent {
  0% {
    opacity: 0;
    filter: blur(24px);
  }
  100% {
    opacity: 1;
    filter: blur(0);
  }
}
.l-global-container {
  position: relative;
  overflow: hidden;
}

body.home .l-header.is-show {
  transform: translateY(0);
}

.l-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
}
.l-header__inner {
  padding: 30px 20px 0 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .l-header__inner {
    padding: 40px 40px 0 40px;
  }
}
.l-header__logo a svg {
  width: 200px;
}
@media screen and (min-width: 768px) {
  .l-header__logo a svg {
    width: 309px;
    height: 52px;
  }
}
.l-header__logo > span {
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .l-header__logo > span {
    margin-block-start: 10px;
    font-size: 1rem;
    text-align: center;
  }
}
@media screen and (min-width: 992px) {
  .l-header__logo > span {
    font-size: 1.2rem;
  }
}
.l-header__wrapper {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 15px;
}
@media screen and (min-width: 768px) {
  .l-header__nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 53px;
  }
}
.l-header__list {
  display: flex;
  gap: 30px;
  align-items: center;
  justify-content: flex-end;
}
.l-header__item a {
  font-weight: 700;
  font-size: 1.5rem;
}
.l-header__contact {
  width: 35px;
  height: 35px;
}
@media screen and (min-width: 768px) {
  .l-header__contact {
    width: 212px;
    height: 60px;
  }
}
.l-header__contact > a {
  font-weight: 700;
  width: 100%;
  height: 100%;
  display: block;
  border: solid 1px #0F0F0F;
  border-radius: 20px;
  position: relative;
  z-index: 10;
  overflow: hidden;
  perspective: 1000;
}
@media screen and (min-width: 768px) {
  .l-header__contact > a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11.65px;
    font-size: 15px;
    border: solid 2px #0F0F0F;
    border-radius: 40px;
  }
}
.l-header__contact > a::after {
  content: "";
  display: block;
  width: 4rem;
  height: 4rem;
  border-radius: 10rem;
  background-color: #0F0F0F;
  position: absolute;
  top: 100%;
  left: 30%;
  z-index: -1;
  transform: translate3d(0, 10%, 0);
  transition: transform 1.4s cubic-bezier(0.19, 1, 0.22, 1);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  will-change: transform, opacity;
}
.l-header__contact > a:hover {
  opacity: 1;
  color: #ffffff;
}
.l-header__contact > a:hover::after {
  content: "";
  width: 100%;
  height: 20rem;
  left: -10%;
  transform: translate3d(0, -50%, 0) scale(1.5);
}
.l-header__contact > a:hover img.is-white {
  opacity: 1;
  visibility: visible;
}
.l-header__contact > a span {
  transform: translateY(-1px);
}
.l-header__contact > a img {
  width: 10px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 768px) {
  .l-header__contact > a img {
    top: 0;
    left: 0;
    width: 16px;
    transform: translate(0);
    position: relative;
  }
}
.l-header__contact > a img.is-white {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../images/common/mail-icon-white.svg);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  visibility: hidden;
  width: 10px;
  height: auto;
}
@media screen and (min-width: 768px) {
  .l-header__contact > a img.is-white {
    transform: translate(0);
    top: 0;
    left: 0;
    width: auto;
  }
}
.l-header__iconWrapper {
  width: 100%;
  height: 100%;
  position: relative;
}
@media screen and (min-width: 768px) {
  .l-header__iconWrapper {
    width: auto;
    height: auto;
  }
}
.l-header__hamburger {
  appearance: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 50px;
  height: 50px;
  background: transparent;
  border-radius: 50%;
  border: solid 2px #0F0F0F;
  transition: border-color 0.4s ease;
}
.l-header__hamburger[aria-expanded=true] > span {
  background-color: #ffffff;
}
.l-header__hamburger[aria-expanded=true] > span:first-child {
  transition-delay: 70ms;
  transform: translateY(3.5px) rotate(-45deg);
}
.l-header__hamburger[aria-expanded=true] > span:last-child {
  transition-delay: 140ms;
  transform: translateY(-3.5px) rotate(45deg);
}
.l-header__hamburger > span {
  display: block;
  width: 20px;
  height: 2px;
  background-color: #0F0F0F;
  transition: transform 0.7s;
}

@media (max-width: 767px) {
  .l-header.is-fixed,
  body.home .l-header.is-fixed {
    position: fixed;
    background-color: transparent;
    transition: transform 0.35s cubic-bezier(0.6, 0, 0.3, 1), color 0.4s ease;
  }
  .l-header.is-fixed svg path {
    transition: fill 0.4s ease;
  }
  .l-header.is-fixed .l-header__hamburger > span {
    transition: background-color 0.4s ease, transform 0.7s;
  }
  .l-header.is-fixed .l-header__inner {
    padding-block-start: 10px;
    padding-block-end: 10px;
  }
  .l-header.is-fixed.is-fixed-hidden,
  body.home .l-header.is-fixed.is-fixed-hidden {
    transform: translateY(-100%);
  }
  .l-header.is-fixed.is-inverted {
    color: #ffffff;
  }
  .l-header.is-fixed.is-inverted svg path {
    fill: #ffffff;
  }
  .l-header.is-fixed.is-inverted .l-header__hamburger {
    border-color: #ffffff;
  }
  .l-header.is-fixed.is-inverted .l-header__hamburger > span {
    background-color: #ffffff;
  }
}
body.is-menu-open .l-header {
  color: #ffffff;
}
body.is-menu-open .l-header svg path {
  fill: #ffffff;
}
body.is-menu-open .l-header .l-header__hamburger {
  border-color: #ffffff;
}
body.is-menu-open .l-header .l-header__hamburger > span {
  background-color: #ffffff;
}

.works .l-header,
.is-dark .l-header {
  color: #ffffff;
}
.works svg path,
.is-dark svg path {
  fill: #ffffff;
}
.works .l-header__contact > a,
.is-dark .l-header__contact > a {
  border-radius: 20px;
  border: solid 1px #ffffff;
}
@media screen and (min-width: 768px) {
  .works .l-header__contact > a,
  .is-dark .l-header__contact > a {
    border-radius: 40px;
    border: solid 2px #ffffff;
  }
}
.works .l-header__contact > a::after,
.is-dark .l-header__contact > a::after {
  content: "";
  background-color: #ffffff;
}
.works .l-header__contact > a:hover,
.is-dark .l-header__contact > a:hover {
  border: solid 1px #0F0F0F;
}
@media screen and (min-width: 768px) {
  .works .l-header__contact > a:hover,
  .is-dark .l-header__contact > a:hover {
    border: solid 2px #0F0F0F;
  }
}
.works .l-header__contact > a:hover,
.is-dark .l-header__contact > a:hover {
  color: #0F0F0F;
}
.works .l-header__contact > a:hover img.is-white,
.is-dark .l-header__contact > a:hover img.is-white {
  opacity: 0;
  visibility: hidden;
}
.works .l-header__contact > a:hover img.is-black,
.is-dark .l-header__contact > a:hover img.is-black {
  opacity: 1;
  visibility: visible;
}
.works .l-header__contact img.is-black,
.is-dark .l-header__contact img.is-black {
  opacity: 0;
  visibility: hidden;
}
.works .l-header__contact img.is-white,
.is-dark .l-header__contact img.is-white {
  opacity: 1;
  visibility: visible;
}
.works .l-header__hamburger,
.is-dark .l-header__hamburger {
  border-color: #ffffff;
}
.works .l-header__hamburger span,
.is-dark .l-header__hamburger span {
  background-color: #ffffff;
}

.l-footer {
  position: relative;
  background-color: #0F0F0F;
  color: #ffffff;
  padding-block: 100px 80px;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .l-footer {
    padding-block: 100px;
  }
}
.l-footer__inner {
  display: flex;
  flex-direction: column;
  gap: 80px;
}
@media screen and (min-width: 768px) {
  .l-footer__inner {
    gap: 100px;
  }
}
.l-footer__price {
  position: relative;
  margin-block-end: 20px;
}
@media screen and (min-width: 768px) {
  .l-footer__price {
    margin-block-end: 0;
    padding-top: 40px;
  }
}
.l-footer__priceHead {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
}
@media screen and (min-width: 768px) {
  .l-footer__priceHead {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
  }
}
.l-footer__priceTitle {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  color: #ffffff;
}
@media screen and (min-width: 768px) {
  .l-footer__priceTitle {
    flex-direction: row;
    align-items: center;
    gap: 20px;
  }
}
.l-footer__priceTitle h2 {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 4rem;
  line-height: 1.2;
}
.l-footer__priceTitle span {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.6;
}
.l-footer__priceMore.c-button {
  width: 100%;
  margin-block-start: 40px;
}
@media screen and (min-width: 768px) {
  .l-footer__priceMore.c-button {
    width: 200px;
    margin-block-start: 0;
    position: absolute;
    top: 0;
    right: 0;
  }
}
.l-footer__plans {
  margin-block-start: 40px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media screen and (min-width: 768px) {
  .l-footer__plans {
    flex-direction: row;
    gap: 20px;
    align-items: stretch;
  }
}
.l-footer__plan {
  position: relative;
  padding: 40px 20px;
  padding-bottom: 49px;
  border-radius: 10px;
  background-color: rgba(255, 255, 255, 0.08);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .l-footer__plan {
    flex: 1 1 0;
    min-width: 0;
    padding: 40px 24px;
    padding-bottom: 69px;
  }
}
.l-footer__plan--standard {
  border: solid 1px #C4FF40;
}
.l-footer__planIcon {
  position: absolute;
  pointer-events: none;
  user-select: none;
}
.l-footer__planIcon--light {
  width: 63px;
  height: 36px;
  top: auto;
  bottom: 169px;
  left: -16px;
}
@media screen and (min-width: 768px) {
  .l-footer__planIcon--light {
    width: 80px;
    height: 46px;
    top: auto;
    left: -20px;
    bottom: 105px;
    transform: none;
  }
}
.l-footer__planIcon--standard {
  width: 65px;
  height: 62px;
  top: -20px;
  right: -10px;
}
@media screen and (min-width: 768px) {
  .l-footer__planIcon--standard {
    width: 76px;
    height: 72px;
    top: -27px;
    right: -7px;
  }
}
.l-footer__planIcon--advance {
  width: 54px;
  height: 43px;
  top: auto;
  bottom: -15px;
  left: -10px;
}
@media screen and (min-width: 768px) {
  .l-footer__planIcon--advance {
    width: 69px;
    height: 55px;
    top: auto;
    bottom: -23px;
    right: -24px;
    left: auto;
  }
}
.l-footer__planHead {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  color: #ffffff;
}
.l-footer__planEn {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: normal;
}
.l-footer__planJa {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.6;
}
.l-footer__planPrice {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.l-footer__planAmount {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  color: #C4FF40;
  font-size: 3.2rem;
  line-height: 1.6;
}
.l-footer__planAmount span {
  font-size: 1.8rem;
}
.l-footer__planLead {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
  color: #ffffff;
}
.l-footer__cta {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
@media screen and (min-width: 768px) {
  .l-footer__cta {
    margin-block-start: 0;
  }
}
.l-footer__ctaLink {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  .l-footer__ctaLink {
    gap: 16px;
  }
}
.l-footer__ctaLink:hover {
  opacity: 1 !important;
}
.l-footer__ctaLink:hover .l-footer__ctaArrow {
  bottom: 36px;
  right: 10px;
}
@media screen and (min-width: 768px) {
  .l-footer__ctaLink:hover .l-footer__ctaArrow {
    bottom: 28px;
    right: 0;
  }
}
.l-footer__ctaMail {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: #ffffff;
}
.l-footer__ctaMail img {
  width: 20px;
  height: auto;
}
.l-footer__ctaLead {
  margin-block-start: 10px;
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 800;
  font-size: 1.8rem;
  line-height: 1.6;
  color: #ffffff;
}
@media screen and (min-width: 768px) {
  .l-footer__ctaLead {
    margin-block-start: 0;
  }
}
.l-footer__ctaMain {
  position: relative;
  display: inline-block;
  padding-inline-end: 45px;
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 800;
  font-size: 4.2rem;
  line-height: 1.6;
  color: #ffffff;
}
@media screen and (min-width: 768px) {
  .l-footer__ctaMain {
    padding-inline-end: 70px;
  }
}
.l-footer__ctaMainText {
  display: inline-block;
}
.l-footer__ctaArrow {
  transition: right 0.5s ease, bottom 0.5s ease;
  width: 20px;
  height: 20px;
  position: absolute;
  right: 16px;
  bottom: 22px;
}
@media screen and (min-width: 768px) {
  .l-footer__ctaArrow {
    width: 30px;
    height: 30px;
    bottom: 18px;
  }
}
.l-footer__ctaArrow path {
  fill: #ffffff;
}
.l-footer__ctaTags {
  margin-block-start: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
@media screen and (min-width: 768px) {
  .l-footer__ctaTags {
    margin-block-start: 0;
    flex-direction: row;
    gap: 12px;
  }
}
.l-footer__ctaTags li {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 4px 40px;
  border-radius: 100px;
  background-color: #C4FF40;
  color: #0F0F0F;
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.6;
}
.l-footer__deco {
  display: none;
  position: relative;
  margin-block-start: 40px;
  margin-inline: calc(50% - 50vw);
  pointer-events: none;
  user-select: none;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .l-footer__deco {
    display: block;
    margin-block-start: -50px;
  }
}
.l-footer__deco img {
  width: 100%;
  max-width: none;
  height: auto;
}
@media screen and (min-width: 768px) {
  .l-footer__deco img {
    width: 78%;
    margin-inline: auto;
  }
}
.l-footer__pc {
  display: flex;
  flex-direction: column;
  gap: 100px;
}
.l-footer__topWrapper {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-end;
  gap: 40px;
}
.l-footer__copy {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  color: #ffffff;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 800;
  font-size: 3.2rem;
}
.l-footer__logoWrapper {
  display: flex;
  justify-content: flex-end;
}
.l-footer__logo a {
  display: block;
}
.l-footer__logo a img {
  width: 309px;
  height: auto;
}
.l-footer__logo span {
  display: block;
  font-size: 1.2rem;
  font-weight: 700;
  color: #ffffff;
  text-align: right;
  margin-block-start: 12px;
}
.l-footer__wrapper {
  margin-block-start: 100px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-end;
  gap: 40px;
}
.l-footer__info {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
}
.l-footer__address {
  display: flex;
  align-items: center;
  gap: 40px;
}
.l-footer__address p {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.6;
}
.l-footer__insta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.l-footer__insta img {
  width: 18px;
  height: auto;
}
.l-footer__copyright {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.6;
  color: #ffffff;
}
.l-footer__nav {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 30px;
}
.l-footer__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  column-gap: 30px;
  row-gap: 12px;
}
.l-footer__item a {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.6;
  color: #ffffff;
}
.l-footer__privacy {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.6;
  color: #ffffff;
}
.l-footer__sp {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  text-align: center;
  color: #ffffff;
}
.l-footer__spNav {
  width: 100%;
}
.l-footer__spList {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: center;
  column-gap: 80px;
  row-gap: 20px;
}
.l-footer__spList li a {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.6;
  color: #ffffff;
}
.l-footer__spLogo {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin-block-start: 40px;
}
.l-footer__spLogo a {
  display: block;
}
.l-footer__spLogo a img {
  width: 309px;
  height: auto;
}
.l-footer__spLogo span {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  color: #ffffff;
}
.l-footer__spMeta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  margin-block-start: 20px;
}
.l-footer__spPrivacy {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.6;
  color: #ffffff;
}
.l-footer__spInsta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.l-footer__spInsta img {
  width: 18px;
  height: auto;
}
.l-footer__spAddress {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.6;
  color: #ffffff;
  margin-block-start: 40px;
}
.l-footer__spCopyright {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.6;
  color: #ffffff;
}

.l-mobile-menu {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  visibility: hidden;
  opacity: 0;
  width: 100%;
  transition: opacity 0.4s ease;
  background-color: #0F0F0F;
  text-align: center;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
}
.l-mobile-menu[aria-hidden=false] {
  overflow-y: auto;
  visibility: visible;
  opacity: 1;
}
.l-mobile-menu__wrapper {
  color: #ffffff;
  padding-inline: 20px;
  padding-block-start: 160px;
  width: 100%;
}
.l-mobile-menu__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
}
.l-mobile-menu__item {
  text-align: center;
}
.l-mobile-menu__item a {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.6;
}
.l-mobile-menu__contact {
  margin-block-start: 30px;
  display: flex;
  justify-content: center;
}
.l-mobile-menu__contact a {
  width: 180px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border-radius: 30px;
  background-color: #ffffff;
  color: #0F0F0F;
}
.l-mobile-menu__contact img {
  width: 16px;
}
.l-mobile-menu__contact span {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.6;
  color: #0F0F0F;
}

.l-inner {
  padding-inline: 20px;
}
@media screen and (min-width: 768px) {
  .l-inner {
    max-width: 1300px;
    margin-inline: auto;
    padding-inline: 0;
  }
}

@media screen and (min-width: 768px) {
  .l-outer {
    padding-inline: 40px;
  }
}

.c-button {
  width: 200px;
  height: 60px;
  border-radius: 30px;
}
.c-button a {
  font-weight: 700;
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  color: #0F0F0F;
  font-size: 1.6rem;
  width: 100%;
  height: 100%;
  border: solid 1px #0F0F0F;
  border-radius: 30px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: normal;
  z-index: 10;
  overflow: hidden;
  perspective: 1000;
}
.c-button a::after {
  content: "";
  display: block;
  width: 4rem;
  height: 4rem;
  border-radius: 10rem;
  background-color: #0F0F0F;
  position: absolute;
  top: 100%;
  left: 30%;
  z-index: -1;
  transform: translate3d(0, 10%, 0);
  transition: transform 1.4s cubic-bezier(0.19, 1, 0.22, 1);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  will-change: transform, opacity;
}
.c-button a:hover {
  opacity: 1;
  color: #ffffff;
}
.c-button a:hover::after {
  content: "";
  width: 100%;
  height: 20rem;
  left: -10%;
  transform: translate3d(0, -50%, 0) scale(1.5);
}
.c-button a:hover svg path {
  fill: #ffffff;
}
.c-button a svg {
  width: 9px;
  height: 9px;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
  right: 19px;
}
.c-button--white a {
  color: #ffffff;
  border: solid 1px #ffffff;
}
.c-button--white a::after {
  background-color: #ffffff;
}
.c-button--white a:hover {
  color: #0F0F0F;
  border: solid 1px #0F0F0F;
}
.c-button--white a:hover svg path {
  fill: #0F0F0F;
}
.c-button--form {
  font-weight: 700;
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  color: #0F0F0F;
  font-size: 1.6rem;
  border: solid 1px #0F0F0F;
  border-radius: 30px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: normal;
  z-index: 10;
  overflow: hidden;
  width: 220px;
}
.c-button--form::after {
  content: "";
  display: block;
  width: 2rem;
  height: 2rem;
  border-radius: 10rem;
  background-color: #0F0F0F;
  position: absolute;
  top: 100%;
  left: 30%;
  z-index: -1;
  transform: translate3d(0, 10%, 0);
  transition: all 1.2s cubic-bezier(0.19, 1, 0.22, 1);
}
.c-button--form:hover {
  opacity: 1;
  color: #ffffff;
}
.c-button--form:hover::after {
  content: "";
  width: 100%;
  height: 15rem;
  left: -10%;
  transform: translate3d(0, -50%, 0) scale(1.5);
}
.c-button--form:hover svg path {
  fill: #ffffff;
}
.c-button--form svg {
  width: 9px;
  height: 9px;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
  right: 19px;
}
.c-button--wide {
  width: 240px;
}

.c-title h1, .c-title h2, .c-title__text {
  font-size: 40px;
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  letter-spacing: 0.3em;
  font-weight: 700;
  line-height: normal;
}
.c-title h1 span, .c-title h2 span, .c-title__text span {
  line-height: normal;
  letter-spacing: 0;
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 20px;
  font-weight: 700;
  display: block;
  margin-block-start: 10px;
}
.c-title h1.is-single, .c-title h2.is-single, .c-title__text.is-single {
  letter-spacing: normal;
}
@media screen and (min-width: 768px) {
  .c-title h1.is-single, .c-title h2.is-single, .c-title__text.is-single {
    display: flex;
    align-items: center;
    gap: 40px;
  }
}
@media screen and (min-width: 768px) {
  .c-title h1.is-single span, .c-title h2.is-single span, .c-title__text.is-single span {
    margin-block-start: 0;
    display: inline;
  }
}
.c-title--white h1, .c-title--white h2, .c-title--white__text {
  color: #ffffff;
}
.c-title--top h1, .c-title--top h2, .c-title--top__text {
  display: inline-block;
  font-size: 50px;
}
.c-title--topSmall h1, .c-title--topSmall h2, .c-title--topSmall__text {
  font-size: 40px;
  line-height: 1.6;
  letter-spacing: 0;
}
.c-title--topSmaller h1, .c-title--topSmaller h2, .c-title--topSmaller__text {
  font-size: 40px;
}
.c-title--complete h1, .c-title--complete h2, .c-title--complete__text {
  font-size: 30px;
}

.c-loader {
  background-color: #ffffff;
  width: 100vw;
  height: 100vh;
  height: 100svh;
  z-index: 999999;
  display: grid;
  place-items: center;
  position: fixed;
  top: 0;
  left: 0;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.c-loader.is-hidden {
  opacity: 0;
  visibility: hidden;
}
.c-loader__image {
  animation: fadeOut 0.3s linear 3s forwards;
}

#animation {
  animation: wipe 3s ease forwards;
}

.c-breadcrumb {
  position: relative;
  z-index: 1;
  width: 100%;
  padding-block-start: 104px;
}
@media screen and (min-width: 768px) {
  .c-breadcrumb {
    padding-block-start: 140px;
  }
}
.c-breadcrumb__inner {
  width: 100%;
}
.c-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 10px 20px;
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.6;
  color: #0F0F0F;
  list-style: none;
  padding-block: 0;
  margin: 0;
}
@media screen and (min-width: 768px) {
  .c-breadcrumb__list {
    margin-left: auto;
    justify-content: flex-end;
  }
}
.c-breadcrumb__item, .c-breadcrumb__sep {
  color: inherit;
}
.c-breadcrumb__item a, .c-breadcrumb__sep a {
  color: inherit;
  text-decoration: none;
}
.c-breadcrumb__item a:hover, .c-breadcrumb__sep a:hover {
  text-decoration: underline;
}
.c-breadcrumb--white {
  color: #ffffff;
}
.c-breadcrumb--white .c-breadcrumb__list {
  color: #ffffff;
}

.c-works-item {
  width: 100%;
}
.c-works-item__link {
  display: block;
}
.c-works-item__link:hover {
  opacity: 1;
}
.c-works-item__image {
  border-radius: 10px;
  overflow: hidden;
  aspect-ratio: 336/221;
}
@media screen and (min-width: 768px) {
  .c-works-item__image {
    aspect-ratio: 620/407;
  }
}
.c-works-item__image picture {
  display: block;
  width: 100%;
  height: 100%;
}
.c-works-item__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease-in-out;
}
.c-works-item__link:hover .c-works-item__image img {
  transform: scale(1.05);
}
.c-works-item__info {
  margin-block-start: 30px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}
.c-works-item__itemTitle {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
  color: #ffffff;
}
.c-works-item__description {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.6;
  color: #ffffff;
}
.c-works-item__labels {
  margin-block-start: 10px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.c-works-item__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  padding-inline: 30px;
  border-radius: 100px;
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.6;
  white-space: nowrap;
}
.c-works-item__label--type {
  background-color: #C4FF40;
  color: #0F0F0F;
}
.c-works-item__label--year, .c-works-item__label--tag {
  background-color: #2f2f2f;
  color: #ffffff;
}

.c-pagination .wp-pagenavi {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.c-pagination .wp-pagenavi span, .c-pagination .wp-pagenavi a {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  font-size: 1.6rem;
  display: grid;
  place-items: center;
  color: #ffffff;
}
.c-pagination .wp-pagenavi span.page, .c-pagination .wp-pagenavi a.page {
  background-color: #0F0F0F;
}
.c-pagination .wp-pagenavi span.is-notActive {
  opacity: 0.3;
}
.c-pagination .wp-pagenavi span.current {
  background-color: rgba(255, 255, 255, 0.1);
}
.c-pagination .wp-pagenavi .previouspostslink, .c-pagination .wp-pagenavi .nextpostslink {
  border: solid 1px #ffffff;
  position: relative;
}
.c-pagination .wp-pagenavi .previouspostslink::before, .c-pagination .wp-pagenavi .nextpostslink::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  width: 10px;
  height: 8px;
}
.c-pagination .wp-pagenavi .previouspostslink {
  margin-inline-end: 10px;
}
.c-pagination .wp-pagenavi .previouspostslink::before {
  content: "";
  background-image: url(../images/common/arrow-prev.svg);
}
.c-pagination .wp-pagenavi .nextpostslink {
  margin-inline-start: 10px;
}
.c-pagination .wp-pagenavi .nextpostslink::before {
  content: "";
  background-image: url(../images/common/arrow-next.svg);
}
.c-pagination .wp-pagenavi a {
  position: relative;
  z-index: 10;
  overflow: hidden;
}
.c-pagination .wp-pagenavi a::after {
  content: "";
  display: block;
  width: 2rem;
  height: 2rem;
  border-radius: 10rem;
  background-color: #ffffff;
  position: absolute;
  top: 100%;
  left: 30%;
  z-index: -1;
  transform: translate3d(0, 10%, 0);
  transition: all 1.2s cubic-bezier(0.19, 1, 0.22, 1);
}
.c-pagination .wp-pagenavi a:hover {
  opacity: 1;
  color: #0F0F0F;
  border: solid 1px #0F0F0F;
}
.c-pagination .wp-pagenavi a:hover::after {
  content: "";
  width: 100%;
  height: 15rem;
  left: -10%;
  transform: translate3d(0, -50%, 0) scale(1.5);
}
.c-pagination .wp-pagenavi a.nextpostslink:hover::before {
  content: "";
  background-image: url(../images/common/arrow-next-black.svg);
}
.c-pagination .wp-pagenavi a.previouspostslink:hover::before {
  content: "";
  background-image: url(../images/common/arrow-prev-black.svg);
}
.c-pagination--black .wp-pagenavi span, .c-pagination--black .wp-pagenavi a {
  width: 40px;
  height: 40px;
  font-size: 1.6rem;
  color: #ffffff;
  background-color: transparent;
  border: solid 1px #ffffff;
}
.c-pagination--black .wp-pagenavi span.page, .c-pagination--black .wp-pagenavi a.page {
  background-color: transparent;
}
.c-pagination--black .wp-pagenavi span.current {
  background-color: #ffffff;
  color: #0F0F0F;
  border-color: #ffffff;
}
.c-pagination--black .wp-pagenavi span.is-notActive {
  opacity: 0.3;
}
.c-pagination--black .wp-pagenavi .previouspostslink, .c-pagination--black .wp-pagenavi .nextpostslink {
  border: solid 1px #ffffff;
}
.c-pagination--black .wp-pagenavi span.previouspostslink, .c-pagination--black .wp-pagenavi span.nextpostslink {
  opacity: 0.3;
  pointer-events: none;
}
.c-pagination--black .wp-pagenavi .previouspostslink::before {
  content: "";
  background-image: url(../images/common/arrow-prev.svg);
}
.c-pagination--black .wp-pagenavi .nextpostslink::before {
  content: "";
  background-image: url(../images/common/arrow-next.svg);
}
.c-pagination--black .wp-pagenavi a::after {
  background-color: #ffffff;
}
.c-pagination--black .wp-pagenavi a:hover {
  color: #0F0F0F;
  border-color: #ffffff;
}
.c-pagination--black .wp-pagenavi a.previouspostslink:hover::before {
  content: "";
  background-image: url(../images/common/arrow-prev-black.svg);
}
.c-pagination--black .wp-pagenavi a.nextpostslink:hover::before {
  content: "";
  background-image: url(../images/common/arrow-next-black.svg);
}
.c-pagination--white .wp-pagenavi span, .c-pagination--white .wp-pagenavi a {
  color: #ffffff;
  width: 40px;
  height: 40px;
  font-size: 1.6rem;
  background-color: #0F0F0F;
}
.c-pagination--white .wp-pagenavi span.page, .c-pagination--white .wp-pagenavi a.page {
  background-color: #0F0F0F;
}
.c-pagination--white .wp-pagenavi span.current {
  color: #ffffff;
  background-color: #eee;
}
.c-pagination--white .wp-pagenavi .previouspostslink, .c-pagination--white .wp-pagenavi .nextpostslink {
  background-color: #0F0F0F;
  border: solid 1px #0F0F0F;
}
.c-pagination--white .wp-pagenavi .previouspostslink::before {
  content: "";
  background-image: url(../images/common/arrow-prev.svg);
}
.c-pagination--white .wp-pagenavi .nextpostslink::before {
  content: "";
  background-image: url(../images/common/arrow-next.svg);
}
.c-pagination--white .wp-pagenavi span.previouspostslink, .c-pagination--white .wp-pagenavi span.nextpostslink {
  opacity: 0.15;
  pointer-events: none;
}
.c-pagination--white .wp-pagenavi a::after {
  background-color: #0F0F0F;
}
.c-pagination--white .wp-pagenavi a.page::after {
  background-color: #ffffff;
}
.c-pagination--white .wp-pagenavi a.page:hover {
  color: #0F0F0F;
}
.c-pagination--white .wp-pagenavi a.previouspostslink::after, .c-pagination--white .wp-pagenavi a.nextpostslink::after {
  background-color: #ffffff;
}
.c-pagination--white .wp-pagenavi a.previouspostslink:hover, .c-pagination--white .wp-pagenavi a.nextpostslink:hover {
  background-color: #ffffff;
  color: #0F0F0F;
  border-color: #0F0F0F;
}
.c-pagination--white .wp-pagenavi a.previouspostslink:hover::before {
  content: "";
  background-image: url(../images/common/arrow-prev-black.svg);
}
.c-pagination--white .wp-pagenavi a.nextpostslink:hover::before {
  content: "";
  background-image: url(../images/common/arrow-next-black.svg);
}

.c-stalker {
  background-color: #ffffff;
  border-radius: 50%;
  height: 80px;
  width: 80px;
  left: -40px;
  top: -40px;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  transition: opacity 0.3s ease;
  z-index: 999;
  mix-blend-mode: difference;
}

.c-page-transition.is-appear {
  background-color: #0F0F0F;
  content: "";
  position: fixed;
  z-index: 999999;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  animation-name: pageTransition;
  animation-duration: 1.3s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
  pointer-events: none;
}

.c-page-transition .l-global-container {
  opacity: 1;
  pointer-events: auto;
}

.c-floating-banner {
  position: fixed;
  bottom: 40px;
  left: 0;
  right: 0;
  margin-inline: auto;
  z-index: 11;
  transition: opacity 0.3s ease-in-out;
  opacity: 0;
  pointer-events: none;
  width: 314px;
}
@media screen and (min-width: 768px) {
  .c-floating-banner {
    margin-right: 0;
    bottom: 60px;
    right: 0;
    width: 483px;
  }
}
.c-floating-banner.is-visible {
  opacity: 1;
  pointer-events: auto;
}
.c-floating-banner.is-dismissed {
  display: none;
}
.c-floating-banner__wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  width: 100%;
  color: #0F0F0F;
  text-decoration: none;
  backdrop-filter: blur(10px);
  background-color: rgba(255, 255, 255, 0.62);
  border: 2px solid #0F0F0F;
  border-radius: 100px;
  padding: 17px 14px 19px 68px;
}
@media screen and (min-width: 768px) {
  .c-floating-banner__wrapper {
    width: 440px;
    margin-left: auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: 1fr auto;
    grid-template-areas: "content icon" "tags tags";
    align-items: center;
    column-gap: 18px;
    row-gap: 6px;
    border: 1px solid #0F0F0F;
    border-right: none;
    border-radius: 60px 0 0 60px;
    height: 110px;
    padding: 14px 21px 12px 62px;
  }
}
.c-floating-banner__illustration {
  position: absolute;
  left: -42px;
  top: 50%;
  transform: translateY(-50%);
  width: 125px;
  height: 67px;
  pointer-events: none;
}
.c-floating-banner__illustration img {
  width: 100%;
  height: 100%;
  display: block;
}
.c-floating-banner__icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid #0F0F0F;
  background-color: #0F0F0F;
  color: #ffffff;
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media screen and (min-width: 768px) {
  .c-floating-banner__icon {
    position: static;
    transform: none;
    grid-area: icon;
    align-self: center;
    width: 50px;
    height: 50px;
    background-color: transparent;
    color: #0F0F0F;
  }
}
.c-floating-banner__icon svg {
  width: 16px;
  height: 12px;
  display: block;
}
.c-floating-banner__wrapper:hover .c-floating-banner__icon {
  background-color: #ffffff;
  color: #0F0F0F;
}
@media screen and (min-width: 768px) {
  .c-floating-banner__wrapper:hover .c-floating-banner__icon {
    background-color: #0F0F0F;
    color: #ffffff;
  }
}
.c-floating-banner__content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}
@media screen and (min-width: 768px) {
  .c-floating-banner__content {
    grid-area: content;
    gap: 2px;
    padding-left: 40px;
  }
}
.c-floating-banner__lead {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1.6;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .c-floating-banner__lead {
    font-size: 1.3rem;
  }
}
.c-floating-banner__highlight {
  background-color: #C4FF40;
}
.c-floating-banner__main {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 2.2rem;
  line-height: 1.4;
  letter-spacing: 0;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .c-floating-banner__main {
    font-size: 2rem;
    line-height: 1.6;
  }
}
.c-floating-banner__tags {
  display: flex;
  gap: 4px;
  margin-left: -48px;
  align-self: stretch;
  justify-content: center;
  position: absolute;
  bottom: -12px;
  left: 0;
  right: 0;
  margin: auto;
}
@media screen and (min-width: 768px) {
  .c-floating-banner__tags {
    bottom: -22px;
    grid-area: tags;
    gap: 6px;
    margin-left: 0;
    justify-content: flex-start;
  }
}
.c-floating-banner__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 14px;
  background-color: #0F0F0F;
  color: #ffffff;
  border-radius: 40px;
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 1.1rem;
  line-height: 1.6;
  letter-spacing: 0;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .c-floating-banner__tag {
    padding: 2px 14px;
    font-size: 1.3rem;
  }
}
.c-floating-banner__close {
  position: absolute;
  top: -4px;
  right: -4px;
  width: 16px;
  height: 16px;
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
  z-index: 2;
}
.c-floating-banner__close img {
  width: 100%;
  height: 100%;
  display: block;
}

.c-divider {
  position: relative;
  height: 30px;
  width: 100%;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .c-divider {
    height: 60px;
  }
}
.c-divider--gray-bg {
  background-color: #F6F6F6;
}
.c-divider--gray-text {
  color: #F6F6F6;
}
.c-divider__box {
  position: absolute;
  left: 0;
  top: 0;
  background-color: currentColor;
  width: 50%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .c-divider__box {
    width: 65%;
  }
  .c-divider__box.--short {
    width: 35%;
  }
}
.c-divider__box.--bottom.--left {
  border-bottom-right-radius: 0;
}
.c-divider__box.--bottom.--right {
  border-bottom-left-radius: 10px;
  border-top-left-radius: 0;
}
.c-divider__box.--bottom.--right .notch {
  right: 100%;
  top: 0;
  transform: rotate(0);
}
.c-divider__box.--left {
  left: 0;
  right: auto;
  border-top-right-radius: 10px;
}
.c-divider__box.--left .notch {
  left: 100%;
  bottom: 0;
  transform: rotate(180deg);
}
.c-divider__box.--right {
  left: auto;
  right: 0;
  border-top-left-radius: 10px;
}
.c-divider__box.--right .notch {
  bottom: 0;
  right: 100%;
  transform: rotate(90deg);
}
.c-divider .notch {
  width: 10px;
  height: 10px;
  position: absolute;
}

.p-mv {
  position: relative;
  padding-block: 200px 100px;
}
.p-mv::after {
  content: "";
  position: absolute;
  background-image: url(../images/top/mv-bg-rotate@2x.webp);
  background-position: center;
  background-size: cover;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-mv::after {
    width: 100%;
    height: 110%;
    top: 0;
    left: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-mv {
    padding-inline: 20px;
    padding-block: 310px 230px;
  }
}
.p-mv__inner {
  padding-inline: 20px;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .p-mv__inner {
    max-width: 880px;
    margin-inline: auto;
    padding-inline: 0;
    overflow: visible;
  }
}
.p-mv__inner::before {
  content: "";
  width: 100%;
  height: 100%;
  background-image: url(../images/top/mv-bg-icon-sp.svg);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: -200px;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 1;
  filter: blur(24px);
  opacity: 0;
  transition: 2s 0s ease opacity, 2s 0s ease filter;
}
@media screen and (min-width: 768px) {
  .p-mv__inner::before {
    background-image: url(../images/top/mv-bg-icon-pc.svg);
    top: -60px;
    left: -480px;
    width: 2364px;
    height: 1509px;
  }
}
.p-mv__inner.is-show::before {
  filter: blur(0px);
  opacity: 1;
}
.p-mv__copy {
  position: relative;
  z-index: 2;
  color: #0F0F0F;
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.6;
  font-size: 3.6rem;
}
@media screen and (min-width: 768px) {
  .p-mv__copy {
    font-size: 4.8rem;
  }
}
.p-mv__copy > .is-first, .p-mv__copy > .is-second, .p-mv__copy > .is-third {
  display: inline-block;
}
.p-mv__copy > .is-first > span, .p-mv__copy > .is-second > span, .p-mv__copy > .is-third > span {
  display: inline-block;
}
.p-mv__copyThin {
  font-weight: 400;
}
.p-mv__features {
  position: relative;
  z-index: 2;
  margin-block-start: 30px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
@media screen and (min-width: 768px) {
  .p-mv__features {
    flex-direction: row;
    gap: 20px;
    margin-block-start: 20px;
  }
}
.p-mv__feature {
  position: relative;
  width: 100%;
  height: 90px;
  padding-inline-start: 60px;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-mv__feature {
    width: 310px;
  }
}
.p-mv__feature::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 0;
  width: calc(100% - 10px);
  height: 100%;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index: -1;
}
.p-mv__featureIcon {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  z-index: 1;
}
.p-mv__featureIcon img {
  width: 100%;
  height: auto;
  display: block;
}
.p-mv__featureBody {
  position: relative;
  z-index: 1;
}
.p-mv__featureLabel {
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 700;
  color: #0F0F0F;
}
.p-mv__featureMain {
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 700;
  color: #0F0F0F;
}
.p-mv__featureMain span {
  background-color: #C4FF40;
}
.p-mv__textWrapper {
  position: relative;
  z-index: 2;
  margin-block-start: 60px;
}
@media screen and (min-width: 768px) {
  .p-mv__textWrapper {
    margin-block-start: 80px;
  }
}
.p-mv__text > p {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  letter-spacing: 0;
  line-height: 2;
  font-weight: 700;
  font-size: 1.8rem;
}
@media screen and (min-width: 768px) {
  .p-mv__text > p {
    color: #C4C4C4;
    line-height: 2.4;
  }
}
.p-mv__text + .p-mv__text {
  margin-block-start: 30px;
}
@media screen and (min-width: 768px) {
  .p-mv__text + .p-mv__text {
    margin-block-start: 50px;
  }
}
.p-mv__button {
  margin-block-start: 60px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-mv__button {
    width: 200px;
    margin-block-start: 50px;
  }
}

.p-mv + .pin-spacer {
  background-color: #F6F6F6;
}

.p-works {
  position: relative;
  background-color: #0F0F0F;
  padding-block: 100px 130px;
}
@media screen and (min-width: 768px) {
  .p-works {
    padding-block: 140px 160px;
  }
}
.p-works .c-divider {
  position: absolute;
  width: 100%;
  bottom: 100%;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-works__inner {
    padding-inline: 0;
    max-width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .p-works__wrapper {
    position: relative;
    overflow: hidden;
    height: 100%;
  }
}
@media screen and (min-width: 768px) {
  .p-works__head {
    position: sticky;
    top: 0;
    max-width: 1300px;
    margin-inline: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
  }
}
.p-works__title {
  flex: 1 1 auto;
}
.p-works__headButton {
  flex: 0 0 auto;
}
.p-works__content {
  margin-block-start: 60px;
}
@media screen and (min-width: 768px) {
  .p-works__content {
    padding-left: 18.75vw;
    margin-block-start: 100px;
  }
}
.p-works__list {
  display: flex;
  flex-direction: column;
  gap: 60px;
}
@media screen and (min-width: 768px) {
  .p-works__list {
    flex-direction: row;
    align-items: flex-start;
    gap: 60px;
    padding-right: 18.75vw;
  }
}
@media screen and (min-width: 768px) {
  .p-works__item {
    margin-block-end: 0;
  }
}
.p-works__link {
  display: block;
}
.p-works__link:hover {
  opacity: 1;
}
.p-works__images {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.p-works__imageSub {
  flex: 0 0 auto;
  width: 200px;
  height: 280px;
  border-radius: 10px;
  overflow: hidden;
}
.p-works__imageSub img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-works__imageMain {
  flex: 1 1 auto;
  border-radius: 10px;
  overflow: hidden;
  aspect-ratio: 336/221;
}
@media screen and (min-width: 768px) {
  .p-works__imageMain {
    width: 700px;
    height: 460px;
    aspect-ratio: auto;
  }
}
.p-works__imageMain img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease-in-out;
}
.p-works__link:hover .p-works__imageMain img {
  transform: scale(1.03);
}
.p-works__info {
  margin-block-start: 30px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}
@media screen and (min-width: 768px) {
  .p-works__info {
    margin-left: 210px;
  }
}
.p-works__itemTitle {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
  color: #ffffff;
}
.p-works__description {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.6;
  color: #ffffff;
}
.p-works__labels {
  margin-block-start: 10px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.p-works__button {
  margin-block-start: 60px;
  width: 100%;
}
.p-works__button a {
  width: 100%;
}
.p-works__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  padding-inline: 30px;
  border-radius: 100px;
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.6;
  white-space: nowrap;
}
.p-works__label--type {
  background-color: #C4FF40;
  color: #0F0F0F;
}
.p-works__label--year, .p-works__label--tag {
  background-color: #2f2f2f;
  color: #ffffff;
}
.p-works__divider {
  position: absolute;
  top: calc(100% - 30px);
  left: 0;
}
@media screen and (min-width: 768px) {
  .p-works__divider {
    top: calc(100% - 60px);
  }
}

.c-divider + .pin-spacer {
  background-color: #F6F6F6;
}

.p-how {
  padding-block: 100px;
  background-color: #F6F6F6;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-how {
    overflow: hidden;
    padding-block: 160px 430px;
  }
}
@media screen and (min-width: 768px) {
  .p-how__inner {
    display: flex;
    align-items: flex-start;
    gap: 140px;
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) {
  .p-how__headlineOuter {
    width: 600px;
    position: relative;
    z-index: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-how__headline {
    width: 100%;
  }
}
.p-how__title h2 {
  letter-spacing: 0;
  line-height: 1.6;
}
.p-how__title h2 span {
  font-weight: 700;
}
.p-how__text {
  margin-block-start: 40px;
}
@media screen and (min-width: 768px) {
  .p-how__text {
    margin-block-start: 60px;
  }
}
.p-how__text p {
  line-height: 1.6;
  font-weight: 400;
  font-size: 1.6rem;
}
.p-how__button.u-pc-only {
  margin-block-start: 60px;
}
.p-how__button.u-sp-only {
  margin-block-start: 40px;
  margin-inline: auto;
  width: 100%;
}
.p-how__button.u-sp-only a {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-how__wrapper {
    width: 560px;
    position: relative;
    z-index: 10;
  }
}
.p-how__steps {
  margin-block-start: 40px;
}
@media screen and (min-width: 768px) {
  .p-how__steps {
    margin-block-start: 0;
  }
}
.p-how__item {
  margin-block-end: 10px;
  background-color: #ffffff;
  padding: 60px 20px;
  border-radius: 10px;
}
@media screen and (min-width: 768px) {
  .p-how__item {
    padding: 60px;
  }
}
.p-how__item:last-child {
  margin-block-end: 0;
}
.p-how__itemHeadline {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
@media screen and (min-width: 768px) {
  .p-how__itemHeadline {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 0;
  }
}
.p-how__itemTitle {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-how__itemTitle {
    text-align: left;
  }
}
.p-how__itemTitle h3 {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.6;
}
.p-how__itemTitle h3 span {
  display: block;
  color: #0F0F0F;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.6;
}
.p-how__icon--first, .p-how__icon--third {
  width: 160px;
}
.p-how__icon--second {
  width: 120px;
}
.p-how__icon--fourth {
  width: 136px;
}
.p-how__itemText {
  margin-block-start: 40px;
}
@media screen and (min-width: 768px) {
  .p-how__itemText {
    margin-block-start: 60px;
  }
}
.p-how__itemText p {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.6;
}
.p-how__logo {
  position: absolute;
  left: -100%;
  width: 1038px;
  right: 0;
  bottom: 100px;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .p-how__logo {
    position: relative;
    margin-block-start: 34px;
    left: 0;
    bottom: 0;
    width: 1820px;
    height: 211px;
  }
}
.p-how__logoSvg {
  position: absolute;
  top: 0;
  left: 0;
  width: 1820px;
  height: 211px;
}

.p-news {
  padding-block: 124px 100px;
  background-color: #ffffff;
}
@media screen and (min-width: 768px) {
  .p-news {
    padding-block: 160px 140px;
  }
}
.p-news__headline {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 30px;
}
@media screen and (min-width: 768px) {
  .p-news__headline {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
  }
}
.p-news__list {
  margin-block-start: 40px;
  display: flex;
  flex-direction: column;
  gap: 30px;
}
@media screen and (min-width: 768px) {
  .p-news__list {
    margin-block-start: 80px;
  }
}
.p-news__item {
  background-image: repeating-linear-gradient(to right, #0F0F0F 0 1px, transparent 1px 7px);
  background-repeat: no-repeat;
  background-size: 100% 1px;
  background-position: top left;
}
.p-news__item a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding-block-start: 30px;
}
.p-news__item a:hover {
  opacity: 1;
}
.p-news__content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
@media screen and (min-width: 768px) {
  .p-news__content {
    flex-direction: row;
    align-items: center;
    gap: 60px;
  }
}
.p-news__date {
  flex-shrink: 0;
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.6;
  color: #0F0F0F;
  font-variant-numeric: tabular-nums;
}
.p-news__itemTitle {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.6;
  color: #0F0F0F;
}
.p-news__arrow {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-news__arrow svg {
  width: 10px;
  height: 10px;
}
.p-news__button.u-sp-only {
  margin-block-start: 60px;
  width: 100%;
}
.p-news__button.u-sp-only a {
  width: 100%;
}

.p-blog {
  padding-block: 0 100px;
  background-color: #ffffff;
}
@media screen and (min-width: 768px) {
  .p-blog {
    padding-block: 0 140px;
  }
}
.p-blog__headline {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 30px;
}
@media screen and (min-width: 768px) {
  .p-blog__headline {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
  }
}
.p-blog__list {
  margin-block-start: 40px;
  display: flex;
  flex-direction: column;
  gap: 60px;
}
@media screen and (min-width: 768px) {
  .p-blog__list {
    margin-block-start: 80px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 59px;
    row-gap: 60px;
  }
}
.p-blog__item {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-blog__item {
    max-width: 394px;
  }
}
.p-blog__image a:hover {
  opacity: 1;
}
.p-blog__image a picture {
  overflow: hidden;
  border-radius: 10px;
  display: block;
  aspect-ratio: 394/266;
}
.p-blog__image a picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
  transition: transform 0.3s ease-in-out;
}
.p-blog__image a picture img:hover {
  transform: scale(1.1);
}
.p-blog__content {
  margin-block-start: 30px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
}
.p-blog__itemTitle {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.6;
  color: #0F0F0F;
}
.p-blog__itemTitle a {
  color: inherit;
}
.p-blog__itemTitle a:hover {
  opacity: 1;
}
.p-blog__labels {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
}
.p-blog__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 4px 30px;
  border-radius: 100px;
  background-color: #eee;
  color: #0F0F0F;
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.6;
  white-space: nowrap;
}
.p-blog__label--category {
  background-color: #C4FF40;
}
.p-blog__date {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.6;
  color: #0F0F0F;
}
.p-blog__button.u-sp-only {
  margin-block-start: 60px;
  width: 100%;
}
.p-blog__button.u-sp-only a {
  width: 100%;
}

.p-about-fv {
  position: relative;
  padding-block: 60px 100px;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .p-about-fv {
    padding-block: 100px 160px;
  }
}
.p-about-fv::after {
  content: "";
  position: absolute;
  background-image: url(../images/top/mv-bg-rotate@2x.webp);
  background-position: center;
  background-size: cover;
  width: 100%;
  height: calc(100% + 200px);
  left: 0;
  top: -200px;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-about-fv::after {
    height: calc(100% + 300px);
    top: -240px;
  }
}
.p-about-fv__title h2 {
  letter-spacing: 0;
  line-height: 1.6;
}
.p-about-fv__logo {
  display: none;
  margin-block-start: 68px;
  width: 100%;
  max-width: 335px;
  transform: translateX(-3.5px);
}
@media screen and (min-width: 768px) {
  .p-about-fv__logo {
    display: block;
    margin-block-start: 80px;
    transform: none;
    width: 100%;
    max-width: 1300px;
    margin-inline: auto;
  }
}
.p-about-fv__logo img {
  width: 100%;
  height: auto;
  display: block;
}
.p-about-fv__wrapper {
  margin-block-start: 80px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-about-fv__wrapper {
    margin-block-start: 140px;
    padding-inline: 130px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 60px;
  }
}
@media screen and (min-width: 768px) {
  .p-about-fv__textWrapper {
    flex: 1 1 auto;
    max-width: 880px;
  }
}
.p-about-fv__heading p {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 800;
  color: #0F0F0F;
  line-height: 1.8;
  letter-spacing: 0;
  font-size: 4rem;
}
.p-about-fv__text {
  margin-block-start: 40px;
}
@media screen and (min-width: 768px) {
  .p-about-fv__text {
    margin-block-start: 60px;
  }
}
.p-about-fv__text p {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  color: #C4C4C4;
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .p-about-fv__text p {
    font-size: 1.8rem;
  }
}
.p-about-fv__vertical {
  flex: 0 0 auto;
}
.p-about-fv__vertical p {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  color: #0F0F0F;
  text-orientation: mixed;
  writing-mode: vertical-rl;
  font-size: 3rem;
  line-height: 1;
}

.p-issues {
  position: relative;
  background-color: #0F0F0F;
  padding-block: 100px;
}
@media screen and (min-width: 768px) {
  .p-issues {
    padding-block: 200px;
  }
}
@media screen and (min-width: 768px) {
  .p-issues__headline {
    max-width: 985px;
  }
}
.p-issues__title h2 {
  color: #ffffff;
  font-weight: 700;
  font-size: 4rem;
  line-height: 1.6;
  letter-spacing: 0;
}
.p-issues__text {
  margin-block-start: 30px;
}
@media screen and (min-width: 768px) {
  .p-issues__text {
    margin-block-start: 40px;
  }
}
.p-issues__text p {
  color: #ffffff;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.6;
}
.p-issues__list {
  margin-block-start: 60px;
  display: flex;
  flex-direction: column;
  gap: 60px;
}
@media screen and (min-width: 768px) {
  .p-issues__list {
    margin-block-start: 60px;
    gap: 60px;
  }
}
.p-issues__item {
  position: relative;
  padding-block-start: 40px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}
.p-issues__item::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 14px;
  height: 1px;
  background-color: #C4FF40;
}
@media screen and (min-width: 768px) {
  .p-issues__item {
    display: flex;
    gap: 60px;
    align-items: flex-start;
  }
}
.p-issues__head {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}
@media screen and (min-width: 768px) {
  .p-issues__head {
    flex: 0 0 440px;
  }
}
.p-issues__number {
  color: #C4FF40;
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1.6;
  flex: 0 0 auto;
}
.p-issues__itemTitle {
  color: #ffffff;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.6;
}
.p-issues__body {
  margin-block-start: 30px;
}
@media screen and (min-width: 768px) {
  .p-issues__body {
    margin-block-start: 0;
    flex: 1 1 auto;
    max-width: 800px;
  }
}
.p-issues__body p {
  color: #ffffff;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.6;
}
.p-issues__button {
  margin-block-start: 60px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-issues__button {
    margin-block-start: 80px;
    margin-inline-start: auto;
    width: 200px;
  }
}
.p-issues__button a {
  width: 100%;
}

.p-important {
  background-color: #F6F6F6;
  padding-block: 100px;
}
@media screen and (min-width: 768px) {
  .p-important {
    padding-block: 200px;
  }
}
.p-important__title h2 {
  letter-spacing: 0;
  line-height: 1.6;
  font-size: 4rem;
}
.p-important__list {
  margin-block-start: 60px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
@media screen and (min-width: 768px) {
  .p-important__list {
    margin-block-start: 60px;
  }
}
.p-important__item {
  background-color: #ffffff;
  border-radius: 10px;
  padding: 60px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-important__item {
    padding: 80px 60px;
    flex-direction: row;
    align-items: flex-start;
    gap: 60px;
  }
}
.p-important__head {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-important__head {
    flex: 0 0 380px;
    align-items: stretch;
  }
}
.p-important__label {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-important__label {
    flex-direction: row;
    align-items: center;
    gap: 20px;
  }
}
.p-important__step {
  color: #DB401C;
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.6;
}
.p-important__itemTitle {
  font-weight: 700;
  font-size: 3rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p-important__itemTitle {
    font-size: 3.2rem;
  }
}
.p-important__icon {
  margin-block-start: 20px;
  width: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .p-important__icon {
    margin-block-start: 70px;
    align-self: center;
  }
}
.p-important__icon img {
  width: 100%;
  height: auto;
  display: block;
}
.p-important__icon--first, .p-important__icon--third {
  width: 160px;
}
.p-important__icon--second {
  width: 120px;
}
.p-important__icon--fourth {
  width: 136px;
}
.p-important__body {
  margin-block-start: 40px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-important__body {
    flex: 1 1 auto;
    max-width: 800px;
    margin-block-start: 0;
  }
}
.p-important__lead {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.6;
  color: #0F0F0F;
}
.p-important__text {
  margin-block-start: 20px;
}
.p-important__text p {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.6;
  color: #0F0F0F;
}

.p-capable {
  background-color: #0F0F0F;
  padding-block: 100px;
}
@media screen and (min-width: 768px) {
  .p-capable {
    padding-block: 200px;
  }
}
@media screen and (min-width: 768px) {
  .p-capable__headline {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas: "title button" "text button";
    column-gap: 40px;
    row-gap: 30px;
    align-items: start;
  }
}
@media screen and (min-width: 768px) {
  .p-capable__title {
    grid-area: title;
  }
}
.p-capable__title h2 {
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.6;
  font-size: 2.8rem;
}
@media screen and (min-width: 768px) {
  .p-capable__title h2 {
    font-size: 4rem;
  }
}
.p-capable__text {
  margin-block-start: 30px;
}
@media screen and (min-width: 768px) {
  .p-capable__text {
    margin-block-start: 0;
    grid-area: text;
    max-width: 700px;
  }
}
.p-capable__text p {
  color: #ffffff;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p-capable__button {
    grid-area: button;
    align-self: end;
  }
}
.p-capable__list {
  margin-block-start: 60px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
@media screen and (min-width: 768px) {
  .p-capable__list {
    margin-block-start: 60px;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
}
.p-capable__item {
  position: relative;
  background-color: #ffffff;
  border-radius: 10px;
  padding: 60px 20px;
}
@media screen and (min-width: 768px) {
  .p-capable__item {
    padding: 60px;
    min-height: 230px;
  }
}
.p-capable__number {
  position: absolute;
  top: 10px;
  left: 10px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: #C4FF40;
  display: grid;
  place-items: center;
}
.p-capable__number span {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1.6;
  color: #0F0F0F;
}
.p-capable__itemTitle {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.6;
  color: #0F0F0F;
}
.p-capable__itemTitle .is-small {
  font-size: 1.4rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-capable__itemTitle .is-small {
    font-size: 1.6rem;
  }
}
.p-capable__itemText {
  margin-block-start: 20px;
}
.p-capable__itemText p {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.6;
  color: #0F0F0F;
}
.p-capable__button.u-sp-only {
  margin-block-start: 60px;
  width: 100%;
}
.p-capable__button.u-sp-only a {
  width: 100%;
}

.p-info {
  padding-block: 100px 40px;
  background-color: #ffffff;
}
@media screen and (min-width: 768px) {
  .p-info {
    padding-block-start: 200px;
  }
}
.p-info__item {
  position: relative;
  padding-block: 40px 60px;
}
@media screen and (min-width: 768px) {
  .p-info__item {
    padding-block: 40px 150px;
  }
}
.p-info__item::before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #eee;
  position: absolute;
  top: 0;
  left: 0;
}
.p-info__item::after {
  content: "";
  width: 14px;
  height: 1px;
  background-color: #0f0f0f;
  position: absolute;
  top: 0;
  left: 0;
}
.p-info__title h2 {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.6;
}
.p-info__profileWrapper {
  margin-block-start: 60px;
}
@media screen and (min-width: 768px) {
  .p-info__profileWrapper {
    margin-block-start: 80px;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 240px;
  }
}
.p-info__image {
  width: 100%;
  aspect-ratio: 360/420;
}
@media screen and (min-width: 768px) {
  .p-info__image {
    flex-shrink: 0;
    width: 360px;
    height: 420px;
    aspect-ratio: auto;
  }
}
.p-info__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
}
.p-info__profileTexts {
  margin-block-start: 50px;
}
@media screen and (min-width: 768px) {
  .p-info__profileTexts {
    flex: 1 1 auto;
    max-width: 700px;
    margin-block-start: 0;
  }
}
.p-info__nameWrapper {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.p-info__english {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
}
.p-info__english span {
  display: block;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.6;
  margin-block-end: 10px;
}
.p-info__english p {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.6;
}
.p-info__japanese p {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.6;
}
.p-info__profileText {
  margin-block-start: 40px;
}
.p-info__profileText p {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 400;
}
.p-info__profileText b {
  font-weight: 700;
}
.p-info__icon {
  margin-block-start: 40px;
  width: 24px;
  height: 24px;
}
.p-info__icon a {
  display: block;
  width: 100%;
  height: 100%;
}
.p-info__icon a img {
  width: 100%;
  height: 100%;
}
.p-info__outlineContent {
  margin-block-start: 8px;
}
@media screen and (min-width: 768px) {
  .p-info__outlineContent {
    margin-block-start: 8px;
    margin-inline-start: 600px;
    max-width: 700px;
  }
}
.p-info__outlineContent dl {
  display: grid;
  grid-template-columns: 80px 1fr;
  row-gap: 20px;
  column-gap: 20px;
}
@media screen and (min-width: 768px) {
  .p-info__outlineContent dl {
    grid-template-columns: 120px 1fr;
  }
}
.p-info__outlineContent dl dt {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
}
.p-info__outlineContent dl dd {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.6;
}

.p-works-list {
  padding-block: 60px 0;
}
@media screen and (min-width: 768px) {
  .p-works-list {
    padding-block: 100px 0;
  }
}
.p-works-list__title {
  margin-block-end: 40px;
}
@media screen and (min-width: 768px) {
  .p-works-list__title {
    margin-block-end: 60px;
  }
}
.p-works-list__container {
  width: 100%;
}
.p-works-list__categories {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 10px;
  overflow-x: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.p-works-list__categories::-webkit-scrollbar {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-works-list__categories {
    flex-wrap: wrap;
    overflow-x: visible;
  }
}
.p-works-list__category {
  flex-shrink: 0;
}
.p-works-list__category span, .p-works-list__category a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 36px;
  padding-inline: 40px;
  border-radius: 30px;
  border: solid 1px #ffffff;
  background-color: transparent;
  color: #ffffff;
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: normal;
  white-space: nowrap;
  transition: background-color 0.3s ease, color 0.3s ease, opacity 0.3s ease;
}
.p-works-list__category span.is-current, .p-works-list__category a:hover {
  background-color: #ffffff;
  color: #0F0F0F;
  opacity: 1;
}
.p-works-list__content {
  margin-block-start: 40px;
}
@media screen and (min-width: 768px) {
  .p-works-list__content {
    margin-block-start: 60px;
  }
}
.p-works-list__list {
  display: flex;
  flex-direction: column;
  gap: 60px;
}
@media screen and (min-width: 768px) {
  .p-works-list__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 60px;
    row-gap: 80px;
  }
}
.p-works-list__pagination {
  margin-block-start: 60px;
}
@media screen and (min-width: 768px) {
  .p-works-list__pagination {
    margin-block-start: 80px;
  }
}

.p-works-detail {
  padding-block: 60px 100px;
}
@media screen and (min-width: 768px) {
  .p-works-detail {
    padding-block: 100px 120px;
  }
}
.p-works-detail__inner {
  display: flex;
  flex-direction: column;
  gap: 60px;
}
@media screen and (min-width: 768px) {
  .p-works-detail__inner {
    gap: 80px;
  }
}
.p-works-detail {
  /* --- Head ---------------------------------------------------------------- */
}
.p-works-detail__head {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
@media screen and (min-width: 768px) {
  .p-works-detail__head {
    gap: 20px;
  }
}
.p-works-detail__heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  color: #ffffff;
}
@media screen and (min-width: 768px) {
  .p-works-detail__heading {
    flex-direction: row;
    align-items: flex-end;
    gap: 20px;
  }
}
.p-works-detail__title {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.6;
  color: #ffffff;
}
.p-works-detail__lead {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.6;
  color: #ffffff;
}
.p-works-detail__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 20px;
}
.p-works-detail__labels {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.p-works-detail__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  padding-inline: 30px;
  border-radius: 100px;
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.6;
  white-space: nowrap;
}
.p-works-detail__label--type {
  background-color: #C4FF40;
  color: #0F0F0F;
}
.p-works-detail__label--year, .p-works-detail__label--tag {
  background-color: #2f2f2f;
  color: #ffffff;
}
.p-works-detail__date, .p-works-detail__modified {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.6;
  color: #ffffff;
}
.p-works-detail__modified {
  display: none;
}
.p-works-detail {
  /* --- Hero (2 main images) ------------------------------------------------ */
}
.p-works-detail__hero {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media screen and (min-width: 768px) {
  .p-works-detail__hero {
    flex-direction: row;
    gap: 60px;
  }
}
.p-works-detail__heroImage {
  border-radius: 10px;
  overflow: hidden;
  aspect-ratio: 336/244;
}
@media screen and (min-width: 768px) {
  .p-works-detail__heroImage {
    aspect-ratio: 620/450;
    flex: 1 1 0;
    min-width: 0;
  }
}
.p-works-detail__heroImage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-works-detail {
  /* --- Sections (概要/課題/施策/結果) -------------------------------------- */
}
.p-works-detail__sections {
  display: flex;
  flex-direction: column;
  gap: 60px;
}
.p-works-detail__section {
  position: relative;
  padding-block-start: 31px;
  border-top: solid 1px #3b3b3b;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.p-works-detail__section::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 14px;
  height: 1px;
  background-color: #C4FF40;
}
@media screen and (min-width: 768px) {
  .p-works-detail__section {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 0;
    max-width: 1300px;
  }
}
.p-works-detail__sectionLabel {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
  color: #ffffff;
}
.p-works-detail__sectionBody {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.6;
  color: #ffffff;
}
@media screen and (min-width: 768px) {
  .p-works-detail__sectionBody {
    max-width: 1000px;
  }
}
.p-works-detail {
  /* --- Gallery ------------------------------------------------------------- */
}
.p-works-detail__gallery {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media screen and (min-width: 768px) {
  .p-works-detail__gallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 60px;
  }
}
.p-works-detail__galleryItem {
  border-radius: 10px;
  overflow: hidden;
  aspect-ratio: 336/244;
}
@media screen and (min-width: 768px) {
  .p-works-detail__galleryItem {
    aspect-ratio: 620/450;
  }
}
.p-works-detail__galleryItem img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-works-detail {
  /* --- Credits ------------------------------------------------------------- */
}
.p-works-detail__credits {
  padding-block-start: 31px;
  border-top: solid 1px #3b3b3b;
  display: flex;
  flex-direction: column;
  gap: 60px;
}
@media screen and (min-width: 768px) {
  .p-works-detail__credits {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 0;
    max-width: 1300px;
  }
}
.p-works-detail__creditsLabel {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
  color: #ffffff;
}
.p-works-detail__creditsList {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media screen and (min-width: 768px) {
  .p-works-detail__creditsList {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 59px;
    row-gap: 20px;
    max-width: 1000px;
  }
}
.p-works-detail__creditsItem {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.p-works-detail__creditsItem dt {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
  color: #2e2e2e;
}
.p-works-detail__creditsItem dd {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.6;
  color: #ffffff;
  word-break: break-all;
}
.p-works-detail__creditsLink {
  color: #ffffff;
  text-decoration: none;
}
.p-works-detail__creditsLink:hover {
  text-decoration: underline;
}
.p-works-detail {
  /* --- Button -------------------------------------------------------------- */
}
.p-works-detail__button {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-works-detail__button {
    width: 200px;
    margin-inline-start: auto;
  }
}

.p-news-list {
  padding-block: 60px 100px;
  background-color: #ffffff;
}
@media screen and (min-width: 768px) {
  .p-news-list {
    padding-block: 100px 120px;
  }
}
.p-news-list__title {
  margin-block-end: 40px;
}
@media screen and (min-width: 768px) {
  .p-news-list__title {
    margin-block-end: 80px;
  }
}
.p-news-list__list {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.p-news-list__item {
  background-image: repeating-linear-gradient(to right, #0F0F0F 0 1px, transparent 1px 7px);
  background-repeat: no-repeat;
  background-size: 100% 1px;
  background-position: top left;
}
.p-news-list__item a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding-block-start: 30px;
}
.p-news-list__item a:hover {
  opacity: 1;
}
.p-news-list__content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
@media screen and (min-width: 768px) {
  .p-news-list__content {
    flex-direction: row;
    align-items: center;
    gap: 60px;
  }
}
.p-news-list__date {
  flex-shrink: 0;
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.6;
  color: #0F0F0F;
  font-variant-numeric: tabular-nums;
}
@media screen and (min-width: 768px) {
  .p-news-list__date {
    width: 90px;
  }
}
.p-news-list__itemTitle {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.6;
  color: #0F0F0F;
}
.p-news-list__arrow {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-news-list__arrow svg {
  width: 10px;
  height: 10px;
}
.p-news-list__pagination {
  margin-block-start: 40px;
}
@media screen and (min-width: 768px) {
  .p-news-list__pagination {
    margin-block-start: 60px;
  }
}

.p-news-detail {
  padding-block: 60px 100px;
  background-color: #ffffff;
}
@media screen and (min-width: 768px) {
  .p-news-detail {
    padding-block: 100px 200px;
  }
}
.p-news-detail__title {
  margin-block-end: 20px;
}
.p-news-detail__dates {
  display: flex;
  align-items: center;
  gap: 20px;
}
.p-news-detail__date {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.6;
  color: #0F0F0F;
  white-space: nowrap;
}
.p-news-detail__divider {
  margin-block-start: 40px;
  display: block;
  width: 100%;
  height: 1px;
  background-image: repeating-linear-gradient(to right, #0F0F0F 0 1px, transparent 1px 7px);
}
.p-news-detail__content {
  margin-block-start: 60px;
}
@media screen and (min-width: 768px) {
  .p-news-detail__content {
    max-width: 800px;
    margin-inline: auto;
  }
}
.p-news-detail__content article p {
  font-size: 1.6rem;
  line-height: 1.6;
  margin-bottom: 30px;
}
.p-news-detail__content article strong {
  font-weight: 700;
}
.p-news-detail__content article a {
  color: #DB401C;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.p-news-detail__button {
  margin-block-start: 50px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-news-detail__button {
    margin-block-start: 60px;
    width: 200px;
  }
}

.p-blog-list {
  padding-block: 60px 100px;
  background-color: #ffffff;
}
@media screen and (min-width: 768px) {
  .p-blog-list {
    padding-block: 100px 200px;
  }
}
.p-blog-list__title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 40px;
  margin-block-end: 40px;
}
@media screen and (min-width: 768px) {
  .p-blog-list__title {
    flex-direction: row;
    align-items: center;
    gap: 40px;
  }
}
.p-blog-list__list {
  margin-block-start: 40px;
  display: flex;
  flex-direction: column;
  gap: 60px;
}
@media screen and (min-width: 768px) {
  .p-blog-list__list {
    margin-block-start: 80px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 59px;
    row-gap: 60px;
  }
}
.p-blog-list__item {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-blog-list__item {
    max-width: 394px;
  }
}
.p-blog-list__image a:hover {
  opacity: 1;
}
.p-blog-list__image a picture {
  overflow: hidden;
  border-radius: 10px;
  display: block;
  aspect-ratio: 394/266;
}
.p-blog-list__image a picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
  transition: transform 0.3s ease-in-out;
}
.p-blog-list__image a picture img:hover {
  transform: scale(1.1);
}
.p-blog-list__content {
  margin-block-start: 30px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
}
.p-blog-list__itemTitle {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.6;
  color: #0F0F0F;
}
.p-blog-list__labels {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
}
.p-blog-list__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 4px 30px;
  border-radius: 100px;
  background-color: #eee;
  color: #0F0F0F;
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.6;
  white-space: nowrap;
}
.p-blog-list__label--category {
  background-color: #C4FF40;
}
.p-blog-list__category--top span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 30px;
  min-height: 30px;
  border-radius: 100px;
  background-color: #C4FF40;
  color: #0F0F0F;
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.6;
  white-space: nowrap;
}
.p-blog-list__category--tag span {
  background-color: #eee;
}
.p-blog-list__date {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.6;
  color: #0F0F0F;
}
.p-blog-list__pagination {
  margin-block-start: 60px;
}
@media screen and (min-width: 768px) {
  .p-blog-list__pagination {
    margin-block-start: 147.3px;
  }
}

.p-blog-detail {
  padding-block: 60px 100px;
  background-color: #ffffff;
}
@media screen and (min-width: 768px) {
  .p-blog-detail {
    padding-block: 100px;
  }
}
.p-blog-detail__title {
  margin-block-end: 20px;
}
.p-blog-detail__labels--top {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
}
@media screen and (min-width: 768px) {
  .p-blog-detail__labels--top {
    flex-direction: row;
    align-items: center;
    gap: 20px;
  }
}
.p-blog-detail__tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.p-blog-detail__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 20px;
  min-height: 30px;
  border-radius: 100px;
  background-color: #eee;
  color: #0F0F0F;
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.6;
  text-decoration: none;
  white-space: nowrap;
}
.p-blog-detail__tag--category {
  background-color: #C4FF40;
}
.p-blog-detail__dates {
  display: flex;
  align-items: center;
  gap: 20px;
}
@media screen and (min-width: 768px) {
  .p-blog-detail__dates {
    gap: 20px;
  }
}
.p-blog-detail__date {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.6;
  color: #0F0F0F;
  white-space: nowrap;
}
.p-blog-detail__divider {
  margin-block-start: 40px;
  display: block;
  width: 100%;
  height: 1px;
  background-image: repeating-linear-gradient(to right, #0F0F0F 0 1px, transparent 1px 7px);
}
.p-blog-detail__content {
  margin-block-start: 60px;
}
@media screen and (min-width: 768px) {
  .p-blog-detail__content {
    max-width: 800px;
    margin-inline: auto;
  }
}
.p-blog-detail__content article div {
  margin-bottom: 60px;
}
.p-blog-detail__content article div img {
  margin-bottom: 30px;
}
.p-blog-detail__content article div p {
  margin-bottom: 2em;
}
.p-blog-detail__content article p {
  font-size: 1.6rem;
  line-height: 1.6;
  margin-bottom: 2em;
}
.p-blog-detail__content article strong {
  font-weight: 700;
  background-color: #C4FF40;
}
.p-blog-detail__content article a {
  color: #DB401C;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.p-blog-detail__content article h2 {
  position: relative;
  color: #0F0F0F;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 30px;
  padding-bottom: 10px;
}
.p-blog-detail__content article h2::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  height: 1px;
  width: 100%;
  background-color: #eee;
}
.p-blog-detail__content article h2::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  height: 1px;
  width: 20px;
  background-color: #0F0F0F;
}
.p-blog-detail__content article h3 {
  position: relative;
  color: #0F0F0F;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 30px;
  padding-bottom: 10px;
}
.p-blog-detail__content article h3::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-image: repeating-linear-gradient(to right, #0F0F0F 0 1px, transparent 1px 7px);
  position: absolute;
  bottom: 0;
  left: 0;
}
.p-blog-detail__content article img {
  height: auto;
  width: 100%;
  border-radius: 10px;
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .p-blog-detail__content article img {
    max-width: 800px;
  }
}
.p-blog-detail__button {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-blog-detail__button {
    width: 200px;
  }
}

.p-related-blog {
  position: relative;
  background-color: #F6F6F6;
  padding-block: 100px;
}
.p-related-blog::after {
  content: "";
  display: block;
  position: absolute;
  top: 100%;
  left: 0;
  height: 60px;
  width: 100%;
  background-color: #F6F6F6;
}
@media screen and (min-width: 768px) {
  .p-related-blog {
    padding-block: 140px;
  }
}
.p-related-blog__title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}
@media screen and (min-width: 768px) {
  .p-related-blog__title {
    flex-direction: row;
    align-items: center;
    gap: 30px;
  }
}
.p-related-blog__titleJa {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 3rem;
  line-height: 1.6;
  color: #0F0F0F;
}
@media screen and (min-width: 768px) {
  .p-related-blog__titleJa {
    font-size: 4rem;
  }
}
.p-related-blog__titleEn {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.6;
  color: #0F0F0F;
}
@media screen and (min-width: 768px) {
  .p-related-blog__titleEn {
    font-size: 2rem;
  }
}
.p-related-blog__content {
  margin-block-start: 40px;
}
@media screen and (min-width: 768px) {
  .p-related-blog__content {
    margin-block-start: 60px;
  }
}
.p-related-blog__list {
  display: flex;
  flex-direction: column;
  gap: 60px;
}
@media screen and (min-width: 768px) {
  .p-related-blog__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 59px;
    row-gap: 60px;
  }
}
.p-related-blog__item {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-related-blog__item {
    max-width: 394px;
  }
}
.p-related-blog__image a:hover {
  opacity: 1;
}
.p-related-blog__image a picture {
  overflow: hidden;
  border-radius: 10px;
  display: block;
  aspect-ratio: 394/266;
}
.p-related-blog__image a picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
  transition: transform 0.3s ease-in-out;
}
.p-related-blog__image a picture img:hover {
  transform: scale(1.1);
}
.p-related-blog__body {
  margin-block-start: 30px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
}
.p-related-blog__itemTitle {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.6;
  color: #0F0F0F;
}
.p-related-blog__labels {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
}
.p-related-blog__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 4px 30px;
  border-radius: 100px;
  background-color: #eee;
  color: #0F0F0F;
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.6;
  white-space: nowrap;
}
.p-related-blog__label--category {
  background-color: #C4FF40;
}
.p-related-blog__date {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.6;
  color: #0F0F0F;
}

.p-contact {
  padding-block: 60px 100px;
}
@media screen and (min-width: 768px) {
  .p-contact {
    padding-block: 100px 200px;
  }
}
.p-contact__title h1.is-single {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}
@media screen and (min-width: 768px) {
  .p-contact__title h1.is-single {
    flex-direction: row;
    align-items: center;
    gap: 40px;
  }
}
.p-contact__title h1.is-single span {
  display: inline;
  margin-block-start: 0;
}
.p-contact__divider {
  margin-block-start: 40px;
  display: block;
  width: 100%;
  height: 1px;
  background-image: repeating-linear-gradient(to right, #0F0F0F 0 1px, transparent 1px 7px);
}
.p-contact__content {
  margin-block-start: 60px;
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media screen and (min-width: 768px) {
  .p-contact__content {
    margin-block-start: 60px;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
  }
}
.p-contact__textsWrapper {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media screen and (min-width: 768px) {
  .p-contact__textsWrapper {
    flex-shrink: 0;
  }
}
.p-contact__note p {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.6;
  color: #0F0F0F;
}
.p-contact__note p span {
  color: #DB401C;
}
.p-contact__text p {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.6;
  color: #0F0F0F;
}
.p-contact__form {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-contact__form {
    max-width: 660px;
    width: 660px;
    flex-shrink: 0;
  }
}
.p-contact__form table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}
.p-contact__form tr {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-block-end: 60px;
}
@media screen and (min-width: 768px) {
  .p-contact__form tr {
    margin-block-end: 60px;
  }
}
.p-contact__form tr:last-child {
  margin-block-end: 0;
}
.p-contact__form tr th {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.6;
  margin-block-end: 20px;
}
.p-contact__form tr th .is-required {
  color: #DB401C;
  margin-inline-start: 0.5em;
}
.p-contact__form tr td {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.6rem;
  line-height: 1.6;
  display: grid;
  grid-template-columns: 1fr;
  width: 100%;
  border-bottom: solid 1px #0F0F0F;
  padding-block-end: 20px;
  position: relative;
}
.p-contact__form tr td .wpcf7-form-control-wrap {
  position: static;
}
.p-contact__form tr td .wpcf7-not-valid-tip {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  font-size: 1.4rem;
  line-height: 1.6;
  color: #DB401C;
}
.p-contact__form tr td.is-radio {
  padding-block-end: 0;
  border-bottom: 0;
}
.p-contact__form tr td .is-radio {
  line-height: 1.6;
  margin-block-start: 10px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.p-contact__form tr td .is-radio:first-of-type {
  margin-block-start: 0;
}
.p-contact__form tr td input, .p-contact__form tr td textarea {
  border: none;
  width: 100%;
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.6rem;
  line-height: 1.6;
  background-color: transparent;
}
.p-contact__form tr td input::placeholder, .p-contact__form tr td textarea::placeholder {
  color: #D8D8D8;
  padding-inline-start: 20px;
}
.p-contact__form tr td input[type=radio], .p-contact__form tr td textarea[type=radio] {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: none;
  background-color: #ededed;
  appearance: none;
  position: relative;
  margin: 0;
  flex-shrink: 0;
  cursor: pointer;
}
.p-contact__form tr td input[type=radio]:checked::before, .p-contact__form tr td textarea[type=radio]:checked::before {
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #0F0F0F;
  position: absolute;
  top: 0;
  left: 0;
}
.p-contact__form tr td input[type=radio]:checked::after, .p-contact__form tr td textarea[type=radio]:checked::after {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  position: absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
  background-color: #ffffff;
}
.p-contact__form tr td textarea {
  height: 223px;
  resize: vertical;
}
.p-contact__form tr td textarea::placeholder {
  padding-block-start: 0;
}
.p-contact__caution {
  margin-block-start: 60px;
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.6rem;
  line-height: 1.6;
}
.p-contact__caution a {
  color: #DB401C;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.p-contact__policy {
  margin-block-start: 20px;
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.6rem;
  line-height: 1.6;
}
.p-contact__policy label {
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
}
.p-contact__policy input {
  border-radius: 50%;
  border: none;
  appearance: none;
  position: relative;
  cursor: pointer;
  background-color: #ededed;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  margin: 0;
}
.p-contact__policy input:checked::before {
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #0F0F0F;
  position: absolute;
  top: 0;
  left: 0;
}
.p-contact__policy input:checked::after {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  position: absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
  background-color: #ffffff;
}
.p-contact__button {
  margin-block-start: 60px;
}
@media screen and (min-width: 768px) {
  .p-contact__button {
    margin-block-start: 60px;
  }
}
.p-contact__button:has(input:disabled) {
  opacity: 0.3;
  pointer-events: none;
}
.p-contact__button input {
  position: absolute;
  background: transparent;
  color: inherit;
  border: none;
  width: 100%;
  height: 100%;
  cursor: pointer;
  border-radius: 30px;
}
.p-contact__button input:disabled {
  cursor: not-allowed;
}

.p-complete {
  padding-block: 60px 100px;
}
@media screen and (min-width: 768px) {
  .p-complete {
    padding-block: 100px 200px;
  }
}
.p-complete__divider {
  margin-block-start: 40px;
  display: block;
  width: 100%;
  height: 1px;
  background-image: repeating-linear-gradient(to right, #0F0F0F 0 1px, transparent 1px 7px);
}
.p-complete__content {
  margin-block-start: 60px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 60px;
}
@media screen and (min-width: 768px) {
  .p-complete__content {
    margin-block-start: 60px;
    max-width: 800px;
    width: 100%;
    margin-inline: auto;
    gap: 60px;
  }
}
.p-complete__texts {
  display: flex;
  flex-direction: column;
  gap: 30px;
  width: 100%;
}
.p-complete__heading {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.6;
  color: #0F0F0F;
}
.p-complete__text {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 2;
  color: #0F0F0F;
}
.p-complete__button {
  margin: 0;
}

.p-policy {
  padding-block: 60px 100px;
  background-color: #ffffff;
}
@media screen and (min-width: 768px) {
  .p-policy {
    padding-block: 100px 200px;
  }
}
.p-policy__divider {
  margin-block-start: 40px;
  display: block;
  width: 100%;
  height: 1px;
  background-image: repeating-linear-gradient(to right, #0F0F0F 0 1px, transparent 1px 7px);
}
.p-policy__content {
  margin-block-start: 60px;
}
@media screen and (min-width: 768px) {
  .p-policy__content {
    max-width: 880px;
    width: 100%;
    margin-inline: auto;
  }
}
.p-policy__content > * {
  margin-block-start: 40px;
}
.p-policy__content > *:first-child {
  margin-block-start: 0;
}
.p-policy__content h3 + p, .p-policy__content h3 + ul, .p-policy__content p + ul {
  margin-block-start: 20px;
}
.p-policy__content p {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.6;
  color: #0F0F0F;
}
.p-policy__content h3 {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.6;
  color: #0F0F0F;
  padding-block-end: 10px;
  background-image: linear-gradient(to right, #0F0F0F 0 20px, transparent 20px), linear-gradient(to right, #eee, #eee);
  background-repeat: no-repeat;
  background-position: left bottom, left bottom;
  background-size: 100% 1px, 100% 1px;
}
.p-policy__content ul {
  list-style: disc;
  padding-inline-start: 24px;
}
.p-policy__content ul li {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.6;
  color: #0F0F0F;
}

.p-price {
  padding-block: 60px 20px;
  background-color: #0F0F0F;
  color: #ffffff;
}
@media screen and (min-width: 768px) {
  .p-price {
    padding-block: 100px 20px;
  }
}
.p-price__title {
  margin-block-end: 40px;
}
.p-price__divider {
  width: 100%;
  height: 1px;
  background-image: linear-gradient(to right, #C4FF40 0 14px, transparent 14px), linear-gradient(to right, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.06));
  background-repeat: no-repeat;
  background-size: 100% 1px, 100% 1px;
  background-position: left center, left center;
}
.p-price__divider--option {
  margin-block-start: 80px;
}
@media screen and (min-width: 768px) {
  .p-price__divider--option {
    margin-block-start: 100px;
  }
}
.p-price__intro {
  margin-block-start: 40px;
  display: flex;
  flex-direction: column;
  gap: 30px;
}
@media screen and (min-width: 768px) {
  .p-price__intro {
    margin-block-start: 60px;
    flex-direction: row;
    justify-content: space-between;
    gap: 60px;
  }
}
.p-price__introTitle {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0;
  color: #ffffff;
}
@media screen and (min-width: 768px) {
  .p-price__introTitle {
    flex-shrink: 0;
    width: 50%;
    font-size: 2.6rem;
  }
}
.p-price__introText {
  display: flex;
  flex-direction: column;
  gap: 1.6em;
}
@media screen and (min-width: 768px) {
  .p-price__introText {
    width: 46%;
    max-width: 600px;
  }
}
.p-price__introText p {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.6;
  color: #ffffff;
}
.p-price__plans {
  margin-block-start: 60px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media screen and (min-width: 768px) {
  .p-price__plans {
    margin-block-start: 90px;
    flex-direction: row;
    gap: 20px;
    align-items: stretch;
  }
}
.p-price__plan {
  position: relative;
  padding: 40px 20px;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  gap: 30px;
  background-color: rgba(255, 255, 255, 0.08);
}
@media screen and (min-width: 768px) {
  .p-price__plan {
    flex: 1 1 0;
    min-width: 0;
    padding: 40px 24px;
  }
}
.p-price__plan--standard {
  border: solid 1px #C4FF40;
}
.p-price__planIcon {
  display: none;
  position: absolute;
  pointer-events: none;
  user-select: none;
}
@media screen and (min-width: 768px) {
  .p-price__planIcon {
    display: block;
  }
}
.p-price__planIcon--light {
  width: 80px;
  height: 46px;
  bottom: 24px;
  left: -20px;
}
.p-price__planIcon--standard {
  width: 76px;
  height: 72px;
  top: -36px;
  right: -20px;
}
.p-price__planIcon--advance {
  width: 69px;
  height: 55px;
  top: 45%;
  right: -24px;
}
.p-price__planHead {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-align: center;
}
.p-price__planEn {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: normal;
  color: #ffffff;
}
.p-price__planJa {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.6;
  color: #ffffff;
}
.p-price__planPrice {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-align: center;
}
.p-price__planAmount {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  color: #C4FF40;
  font-size: 3.2rem;
  line-height: 1.6;
}
.p-price__planAmount span {
  font-size: 1.8rem;
}
.p-price__planLead {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
  color: #ffffff;
}
.p-price__planLine {
  width: 100%;
  max-width: 340px;
  margin-inline: auto;
  height: 1px;
  background: repeating-linear-gradient(to right, rgba(255, 255, 255, 0.7) 0 2px, transparent 2px 10px);
}
.p-price__planList {
  list-style: disc;
  padding-inline-start: 24px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.p-price__planList li {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.6;
  color: #ffffff;
}
.p-price__planTags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.p-price__planTags li {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 4px 20px;
  border-radius: 100px;
  border: solid 1px #ffffff;
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.6;
  color: #ffffff;
  text-align: center;
  max-width: 100%;
  word-break: break-word;
  overflow-wrap: anywhere;
}
.p-price__option {
  margin-block-start: 40px;
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 30px;
}
@media screen and (min-width: 768px) {
  .p-price__option {
    margin-block-start: 40px;
    grid-template-columns: minmax(0, 33%) minmax(0, 1fr);
    grid-template-areas: "title text" "title tags";
    column-gap: 60px;
    row-gap: 30px;
    align-items: start;
  }
}
.p-price__optionTitle {
  display: flex;
  align-items: center;
  gap: 20px;
}
@media screen and (min-width: 768px) {
  .p-price__optionTitle {
    grid-area: title;
    max-width: 440px;
  }
}
.p-price__optionTitleJa {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
  color: #ffffff;
}
.p-price__optionTitleEn {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.6;
  color: #C4FF40;
}
@media screen and (min-width: 768px) {
  .p-price__optionText {
    grid-area: text;
  }
}
.p-price__optionText p {
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.6;
  color: #ffffff;
}
.p-price__optionTags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
@media screen and (min-width: 768px) {
  .p-price__optionTags {
    grid-area: tags;
  }
}
.p-price__optionTags li {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 4px 24px;
  border-radius: 100px;
  background-color: #2f2f2f;
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.6;
  color: #ffffff;
  max-width: 100%;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.u-pc-only {
  display: none;
}

@media screen and (min-width: 768px) {
  .u-sp-only {
    display: none;
  }
  .u-pc-only {
    display: block;
  }
}
.p-blog__category {
  display: flex;
  /* flex-wrap: wrap; */
  gap: 10px;
}

article blockquote {
  background-color: #eeeeee;
  padding: 40px;
  margin-top: 10px;
  margin-bottom: 50px;
  border-radius: 6px;
  position: relative;
}

article blockquote p {
  padding-bottom: 20px;
  margin-bottom: 0;
  margin-block-end: 0 !important;
}

article blockquote a {
  color: #aaaaaa;
  font-size: 12px;
  text-decoration: none;
  line-height: 0;
  border-bottom: 0;
}

article blockquote::before,
article blockquote::after {
  content: "";
  display: block;
  position: absolute;
  top: -15px;
  left: 20px;
  width: 35px;
  height: 28px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("data:image/svg+xml;base64,PHN2ZyAKIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIgogd2lkdGg9IjM1cHgiIGhlaWdodD0iMjhweCI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgIGZpbGw9InJnYigxNzAsIDE3MCwgMTcwKSIKIGQ9Ik0xMi41NTYsMC45NTEgQzkuMDg5LDMuMjE4IDYuMjg5LDYuMTUxIDQuMTU2LDkuNzUxIEMxLjk1NiwxMy4zNTEgMC44NTYsMTYuNzE4IDAuODU2LDE5Ljg1MSBDMC44NTYsMjIuMDUxIDEuNTU2LDIzLjg1MSAyLjk1NiwyNS4yNTEgQzQuMzU2LDI2LjY1MSA1LjkyMiwyNy4zNTEgNy42NTYsMjcuMzUxIEM5Ljk4OSwyNy4zNTEgMTEuODIyLDI2LjI1MSAxMy4xNTYsMjQuMDUxIEMxMy43NTYsMjIuOTg1IDE0LjA1NiwyMS44NTEgMTQuMDU2LDIwLjY1MSBDMTQuMDU2LDE2LjcxOCAxMS45NTYsMTQuNjg1IDcuNzU2LDE0LjU1MSBDOC41NTYsMTAuMTUxIDEwLjYyMiw2LjE4NSAxMy45NTYsMi42NTEgQzE0Ljc1NiwxLjg1MSAxNC45MjIsMS4yNTEgMTQuNDU2LDAuODUxIEMxMy44NTYsMC4zMTggMTMuMjIyLDAuMzUxIDEyLjU1NiwwLjk1MSBMMTIuNTU2LDAuOTUxIFpNMzIuNTU2LDAuOTUxIEMyOS4wODksMy4yMTggMjYuMjg5LDYuMTUxIDI0LjE1Niw5Ljc1MSBDMjEuOTU2LDEzLjM1MSAyMC44NTYsMTYuNzE4IDIwLjg1NiwxOS44NTEgQzIwLjg1NiwyMS45MTggMjEuNTU2LDIzLjcxOCAyMi45NTYsMjUuMjUxIEMyNC4zNTYsMjYuNjUxIDI1LjkyMiwyNy4zNTEgMjcuNjU2LDI3LjM1MSBDMzAuMTIyLDI3LjM1MSAzMS45NTYsMjYuMjUxIDMzLjE1NiwyNC4wNTEgQzMzLjQ4OSwyMy41MTggMzMuNzIyLDIyLjk2OCAzMy44NTYsMjIuNDAxIEMzMy45ODksMjEuODM1IDM0LjA1NiwyMS4yNTEgMzQuMDU2LDIwLjY1MSBDMzQuMDU2LDE2LjcxOCAzMS45NTYsMTQuNjg1IDI3Ljc1NiwxNC41NTEgQzI4LjU1NiwxMC4wODUgMzAuNjU2LDYuMTE4IDM0LjA1NiwyLjY1MSBDMzQuNzIyLDEuNzg1IDM0Ljg1NiwxLjE4NSAzNC40NTYsMC44NTEgQzMzLjkyMiwwLjMxOCAzMy4yODksMC4zNTEgMzIuNTU2LDAuOTUxIEwzMi41NTYsMC45NTEgWiIvPgo8L3N2Zz4=");
}

article blockquote::after {
  right: 20px;
  bottom: -15px;
  left: auto;
  top: auto;
  transform: rotate(180deg);
}

.p-news-detail__content a[target=_blank] {
  position: relative;
}

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

.wpcf7-form-control.wpcf7-radio {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.work__overview p + p {
  margin-top: 1.5em !important;
}

.sub__title {
  font-size: 2rem;
  font-weight: 900;
  letter-spacing: 0.3em;
  font-family: "LINE Seed JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
}

.p-blog-list__image a picture img,
.c-blog-item__image a picture img {
  aspect-ratio: 14/10;
}

.p-mv::after {
  animation: none;
}

@media screen and (max-width: 767px) {
  .p-works-detail__content article picture img {
    margin-block-start: 100px;
  }
}
.works .l-main + .c-divider,
.is-dark .l-main + .c-divider {
  display: none;
}
