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

body {
  line-height: 1;
}

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

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

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

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

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

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

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

input, select {
  vertical-align: middle;
}

/* iOSでのデフォルトスタイルをリセット */
input[type=submit],
input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}
input[type=submit]::focus,
input[type=button]::focus {
  outline-offset: -2px;
}

@media (max-width: 768px) {
  :root {
    --view-size-sp: 390;
  }
}
html,
body {
  background-color: #f9f9f9;
  -webkit-transition: background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  transition: background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

body {
  font-family: "A+EqpB-游ゴシック体 Pr6N M", "游ゴシック Medium", yugothic, sans-serif;
  line-height: 1.8;
  color: #000;
  font-size: clamp(0px, 16 / 1440 * 100vw, 16px);
  -webkit-font-smoothing: antialiased;
}

@media (max-width: 768px) {
  body {
    font-size: calc(14 / var(--view-size-sp) * 100vw);
  }
}
a,
a:link,
a:visited,
a:hover,
a:active {
  text-decoration: none;
  cursor: pointer !important;
}

a {
  color: inherit;
}

@media (min-width: 769px) {
  main {
    overflow: visible;
  }
}

.p-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.p-header.is-hidden {
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}
.p-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 1440px;
  margin: 0 auto;
  padding: clamp(0px, 40 / 1440 * 100vw, 40px) clamp(0px, 40 / 1440 * 100vw, 40px) clamp(0px, 20 / 1440 * 100vw, 20px);
}
@media (max-width: 768px) {
  .p-header__inner {
    padding: calc(36 / var(--view-size-sp) * 100vw) calc(20 / var(--view-size-sp) * 100vw);
  }
}
.p-header__logo {
  width: clamp(0px, 172 / 1440 * 100vw, 172px);
}
@media (max-width: 768px) {
  .p-header__logo {
    width: calc(146 / var(--view-size-sp) * 100vw);
  }
}
.p-header__logo a {
  display: block;
}
.p-header__logo img {
  width: 100%;
  height: auto;
  display: block;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.p-header__logo p {
  font-size: clamp(0px, 12 / 1440 * 100vw, 12px);
  margin-top: clamp(0px, 12 / 1440 * 100vw, 12px);
  white-space: nowrap;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media (max-width: 768px) {
  .p-header__logo p {
    font-size: calc(11 / var(--view-size-sp) * 100vw);
    margin-top: calc(8 / var(--view-size-sp) * 100vw);
  }
}
@media (min-width: 769px) {
  body.p-works-active .p-header__logo p {
    color: #fff;
  }
}
@media (max-width: 768px) {
  .p-header__nav {
    display: none;
  }
}
.p-header__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(0px, 40 / 1440 * 100vw, 40px);
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-header__menu-item a {
  position: relative;
  text-decoration: none;
  color: #333;
  font-family: "Unbounded", sans-serif;
  font-weight: 400;
  font-size: clamp(0px, 14 / 1440 * 100vw, 14px);
  letter-spacing: 0.05em;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  display: inline-block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(0px, 8 / 1440 * 100vw, 8px);
}
@media (min-width: 769px) {
  body.p-works-active .p-header__menu-item a {
    color: #fff;
  }
}
.p-header__menu-item a::before {
  content: "";
  position: absolute;
  top: clamp(-10px, -10 / 1440 * 100vw, 0px);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: clamp(0px, 5 / 1440 * 100vw, 5px);
  height: clamp(0px, 5 / 1440 * 100vw, 5px);
  border-radius: 50%;
  background-color: rgb(229, 70, 78);
  opacity: 0;
}
.p-header__menu-item a::after {
  content: "";
  position: absolute;
  bottom: clamp(-3px, -3 / 1440 * 100vw, 0px);
  left: 0;
  width: 0;
  height: 1px;
  background-color: #000;
  border-radius: clamp(0px, 100 / 1440 * 100vw, 100px);
  -webkit-transition: width 0.3s ease, background-color 0.3s ease;
  transition: width 0.3s ease, background-color 0.3s ease;
  -webkit-transform-origin: left;
          transform-origin: left;
}
@media (min-width: 769px) {
  body.p-works-active .p-header__menu-item a::after {
    background-color: #fff;
  }
}
@media (min-width: 769px) {
  body.p-works-active .p-header__menu-item a:hover {
    color: #fff;
  }
}
.p-header__menu-item a:hover::before {
  -webkit-animation: fadeInPulse 0.3s ease-out forwards, pulseAtPosition 1.5s ease-in-out 0.3s infinite;
          animation: fadeInPulse 0.3s ease-out forwards, pulseAtPosition 1.5s ease-in-out 0.3s infinite;
}
.p-header__menu-item a:hover::after {
  width: 100%;
}
.p-header__menu-item a:not(:hover)::after {
  width: 0;
  left: auto;
  right: 0;
  -webkit-transform-origin: right;
          transform-origin: right;
}
.p-header__menu-item a img {
  width: clamp(0px, 16 / 1440 * 100vw, 16px);
  padding-right: clamp(0px, 10 / 1440 * 100vw, 10px);
  border-right: 1px solid rgba(255, 255, 255, .5);
  -webkit-transition: -webkit-filter 0.3s ease;
  transition: -webkit-filter 0.3s ease;
  transition: filter 0.3s ease;
  transition: filter 0.3s ease, -webkit-filter 0.3s ease;
}
@media (min-width: 769px) {
  body.p-works-active .p-header__menu-item a img {
    filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1" /><feFuncG type="linear" slope="1" /><feFuncB type="linear" slope="1" /></feComponentTransfer><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="table" tableValues="0 1" /><feFuncG type="table" tableValues="0 1" /><feFuncB type="table" tableValues="0 1" /></feComponentTransfer></filter></svg>#filter');
    -webkit-filter: brightness(0) invert(0);
            filter: brightness(0) invert(0);
  }
}
.p-header__menu-item a:hover img {
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1" /><feFuncG type="linear" slope="1" /><feFuncB type="linear" slope="1" /></feComponentTransfer><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="table" tableValues="0 1" /><feFuncG type="table" tableValues="0 1" /><feFuncB type="table" tableValues="0 1" /></feComponentTransfer></filter></svg>#filter');
  -webkit-filter: brightness(0) invert(0);
          filter: brightness(0) invert(0);
}
.p-header__menu-item:nth-child(2) a::before {
  background-color: rgb(0, 137, 200);
}
.p-header__menu-item:nth-child(3) a::before {
  background-color: rgb(60, 137, 141);
}
.p-header__menu-item:nth-child(4) a::before {
  background-color: rgb(255, 191, 0);
}
.p-header__menu-item--contact {
  margin-left: 0;
}
@-webkit-keyframes fadeInPulse {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeInPulse {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes pulseAtPosition {
  0% {
    -webkit-transform: translateX(-50%) scale(1);
            transform: translateX(-50%) scale(1);
  }
  10% {
    -webkit-transform: translateX(-50%) scale(1.4);
            transform: translateX(-50%) scale(1.4);
  }
  20% {
    -webkit-transform: translateX(-50%) scale(1);
            transform: translateX(-50%) scale(1);
  }
  30% {
    -webkit-transform: translateX(-50%) scale(1.4);
            transform: translateX(-50%) scale(1.4);
  }
  40%, 100% {
    -webkit-transform: translateX(-50%) scale(1);
            transform: translateX(-50%) scale(1);
  }
}
@keyframes pulseAtPosition {
  0% {
    -webkit-transform: translateX(-50%) scale(1);
            transform: translateX(-50%) scale(1);
  }
  10% {
    -webkit-transform: translateX(-50%) scale(1.4);
            transform: translateX(-50%) scale(1.4);
  }
  20% {
    -webkit-transform: translateX(-50%) scale(1);
            transform: translateX(-50%) scale(1);
  }
  30% {
    -webkit-transform: translateX(-50%) scale(1.4);
            transform: translateX(-50%) scale(1.4);
  }
  40%, 100% {
    -webkit-transform: translateX(-50%) scale(1);
            transform: translateX(-50%) scale(1);
  }
}
.p-header__contact-btn {
  display: inline-block;
  padding: clamp(0px, 6 / 1440 * 100vw, 6px) clamp(0px, 22 / 1440 * 100vw, 22px);
  background-color: #000;
  color: #fff !important;
  border-radius: clamp(0px, 50 / 1440 * 100vw, 50px);
  -webkit-transition: background-color 0.3s ease, color 0.3s ease;
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media (min-width: 769px) {
  body.p-works-active .p-header__contact-btn {
    background-color: #fff;
    color: #000 !important;
  }
}
.p-header__contact-btn::before {
  display: none !important;
}
.p-header__contact-btn::after {
  display: none !important;
}
.p-header__contact-btn:hover {
  color: #000 !important;
  background-color: #e0e0e0 !important;
}
.p-header__hamburger {
  display: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: calc(50 / var(--view-size-sp) * 100vw);
  height: calc(50 / var(--view-size-sp) * 100vw);
  background-color: #000;
  border: none;
  cursor: pointer;
  padding: 0;
  z-index: 1001;
  border-radius: calc(14 / var(--view-size-sp) * 100vw);
}
@media (max-width: 768px) {
  .p-header__hamburger {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: fixed;
    top: calc(20 / var(--view-size-sp) * 100vw);
    right: calc(20 / var(--view-size-sp) * 100vw);
    visibility: visible;
  }
}
.p-header__hamburger span {
  display: block;
  width: calc(22 / var(--view-size-sp) * 100vw);
  height: calc(2 / var(--view-size-sp) * 100vw);
  background-color: #fff;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  border-radius: calc(100 / var(--view-size-sp) * 100vw);
  position: absolute;
}
.p-header__hamburger span:nth-child(1) {
  top: calc(50% - 8 / var(--view-size-sp) * 100vw);
}
.p-header__hamburger span:nth-child(2) {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.p-header__hamburger span:nth-child(3) {
  top: calc(50% + 6 / var(--view-size-sp) * 100vw);
}
.p-header__hamburger.is-active span:nth-child(1) {
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
.p-header__hamburger.is-active span:nth-child(2) {
  opacity: 0;
}
.p-header__hamburger.is-active span:nth-child(3) {
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
}
.p-header__menu-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  background-color: #1a1a1a;
  opacity: 0;
  visibility: hidden;
  z-index: -1;
  -webkit-transition: opacity 0.3s ease, visibility 0.3s ease, background-color 0.3s ease;
  transition: opacity 0.3s ease, visibility 0.3s ease, background-color 0.3s ease;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  pointer-events: none;
}
.p-header__menu-overlay.is-open {
  opacity: 1;
  pointer-events: all;
  visibility: visible;
  position: fixed;
  z-index: 999;
}
@media (min-width: 769px) {
  .p-header__menu-overlay {
    display: none !important;
  }
}
.p-header__mobile-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  height: auto;
  padding: calc(88 / var(--view-size-sp) * 100vw) calc(32 / var(--view-size-sp) * 100vw) calc(88 / var(--view-size-sp) * 100vw);
}
.p-header__mobile-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
}
.p-header__mobile-menu li {
  position: relative;
  padding: calc(18 / var(--view-size-sp) * 100vw) 0;
  border-bottom: 1px dotted rgba(255, 255, 255, .3);
  -webkit-transform: translateY(calc(20 / var(--view-size-sp) * 100vw));
          transform: translateY(calc(20 / var(--view-size-sp) * 100vw));
  opacity: 0;
  -webkit-transition: none;
  transition: none;
}
.p-header__mobile-menu li:last-child {
  border-bottom: none;
}
.p-header__mobile-menu li:nth-child(1) a::before {
  background-color: rgb(229, 70, 78);
}
.p-header__mobile-menu li:nth-child(2) a::before {
  background-color: rgb(0, 137, 200);
}
.p-header__mobile-menu li:nth-child(3) a::before {
  background-color: rgb(60, 137, 141);
}
.p-header__mobile-menu li:nth-child(4) a::before {
  background-color: rgb(255, 191, 0);
}
.p-header__mobile-menu a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  text-decoration: none;
  color: #fff;
  font-family: "Unbounded", sans-serif;
  font-weight: 400;
  font-size: calc(20 / var(--view-size-sp) * 100vw);
  letter-spacing: 0.1em;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
  position: relative;
  padding-left: calc(20 / var(--view-size-sp) * 100vw);
}
.p-header__mobile-menu a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 42%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: calc(5 / var(--view-size-sp) * 100vw);
  height: calc(5 / var(--view-size-sp) * 100vw);
  border-radius: 50%;
  -webkit-animation: pulse 1.5s ease-in-out infinite;
          animation: pulse 1.5s ease-in-out infinite;
}
.p-header__mobile-menu a:hover {
  color: rgba(255, 255, 255, .7);
}
.p-header__mobile-menu a::after {
  content: "";
  display: block;
  width: calc(44 / var(--view-size-sp) * 100vw);
  height: calc(44 / var(--view-size-sp) * 100vw);
  background-color: #fff;
  border-radius: 50%;
  background-image: url("../images/arrow.svg");
  background-size: calc(15 / var(--view-size-sp) * 100vw);
  background-position: center;
  background-repeat: no-repeat;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.p-header__menu-overlay.is-open .p-header__mobile-menu li {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
  -webkit-transition: opacity 0.6s ease, -webkit-transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: opacity 0.6s ease, -webkit-transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.6s ease;
  transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.6s ease, -webkit-transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.p-header__menu-overlay.is-open .p-header__mobile-menu li:nth-child(1) {
  -webkit-transition-delay: 0.18s;
          transition-delay: 0.18s;
}
.p-header__menu-overlay.is-open .p-header__mobile-menu li:nth-child(2) {
  -webkit-transition-delay: 0.26s;
          transition-delay: 0.26s;
}
.p-header__menu-overlay.is-open .p-header__mobile-menu li:nth-child(3) {
  -webkit-transition-delay: 0.34s;
          transition-delay: 0.34s;
}
.p-header__menu-overlay.is-open .p-header__mobile-menu li:nth-child(4) {
  -webkit-transition-delay: 0.42s;
          transition-delay: 0.42s;
}
.p-header__menu-overlay.is-open .p-header__mobile-menu li:nth-child(5) {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}
.p-header__menu-overlay.is-open .p-header__mobile-menu li:nth-child(6) {
  -webkit-transition-delay: 0.58s;
          transition-delay: 0.58s;
}
@-webkit-keyframes pulse {
  0% {
    -webkit-transform: translateY(-50%) scale(1);
            transform: translateY(-50%) scale(1);
  }
  10% {
    -webkit-transform: translateY(-50%) scale(1.4);
            transform: translateY(-50%) scale(1.4);
  }
  20% {
    -webkit-transform: translateY(-50%) scale(1);
            transform: translateY(-50%) scale(1);
  }
  30% {
    -webkit-transform: translateY(-50%) scale(1.4);
            transform: translateY(-50%) scale(1.4);
  }
  40%, 100% {
    -webkit-transform: translateY(-50%) scale(1);
            transform: translateY(-50%) scale(1);
  }
}
@keyframes pulse {
  0% {
    -webkit-transform: translateY(-50%) scale(1);
            transform: translateY(-50%) scale(1);
  }
  10% {
    -webkit-transform: translateY(-50%) scale(1.4);
            transform: translateY(-50%) scale(1.4);
  }
  20% {
    -webkit-transform: translateY(-50%) scale(1);
            transform: translateY(-50%) scale(1);
  }
  30% {
    -webkit-transform: translateY(-50%) scale(1.4);
            transform: translateY(-50%) scale(1.4);
  }
  40%, 100% {
    -webkit-transform: translateY(-50%) scale(1);
            transform: translateY(-50%) scale(1);
  }
}
.p-header__mobile-contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0;
  background-color: transparent;
  color: #fff !important;
  border-radius: 0;
  margin-top: 0;
}
.p-header__mobile-contact:hover {
  background-color: transparent !important;
  color: rgba(255, 255, 255, .7) !important;
}
.p-header__mobile-contact-box {
  position: relative;
  background-color: rgba(255, 255, 255, .05);
  border-radius: calc(14 / var(--view-size-sp) * 100vw);
  padding: calc(28 / var(--view-size-sp) * 100vw) calc(30 / var(--view-size-sp) * 100vw);
  margin-top: calc(24 / var(--view-size-sp) * 100vw);
  margin-bottom: calc(8 / var(--view-size-sp) * 100vw);
  width: calc(100% - 40 / var(--view-size-sp) * 100vw);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0;
  overflow: hidden;
}
.p-header__mobile-contact-title {
  font-family: "Unbounded", sans-serif;
  font-size: calc(20 / var(--view-size-sp) * 100vw);
  font-weight: 400;
  color: #fff;
  letter-spacing: 0.1em;
  position: relative;
  padding-top: calc(8 / var(--view-size-sp) * 100vw);
}
.p-header__mobile-contact-title::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: calc(5 / var(--view-size-sp) * 100vw);
  height: calc(5 / var(--view-size-sp) * 100vw);
  border-radius: 50%;
  background-color: rgb(207, 58, 128);
  -webkit-animation: pulse 1.5s ease-in-out infinite;
          animation: pulse 1.5s ease-in-out infinite;
}
.p-header__mobile-contact-subtitle {
  font-size: calc(14 / var(--view-size-sp) * 100vw);
  color: #fff;
  margin-bottom: calc(8 / var(--view-size-sp) * 100vw);
}
.p-header__mobile-contact-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: calc(44 / var(--view-size-sp) * 100vw);
  height: calc(44 / var(--view-size-sp) * 100vw);
  background-color: #fff;
  border-radius: 50%;
  margin-top: calc(12 / var(--view-size-sp) * 100vw);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.p-header__mobile-contact-button img {
  width: calc(15 / var(--view-size-sp) * 100vw);
  height: calc(15 / var(--view-size-sp) * 100vw);
}
.p-header__mobile-contact-icon {
  position: absolute;
  bottom: calc(-14 / var(--view-size-sp) * 100vw);
  right: calc(20 / var(--view-size-sp) * 100vw);
  width: calc(80 / var(--view-size-sp) * 100vw);
  height: auto;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  opacity: 0;
  -webkit-transition: none;
  transition: none;
}
.p-header__menu-overlay.is-open .p-header__mobile-contact-icon {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
  -webkit-transition: opacity 0.4s ease 0.5s, -webkit-transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) 0.5s;
  transition: opacity 0.4s ease 0.5s, -webkit-transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) 0.5s;
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) 0.5s, opacity 0.4s ease 0.5s;
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) 0.5s, opacity 0.4s ease 0.5s, -webkit-transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) 0.5s;
}
.p-header__mobile-sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(20 / var(--view-size-sp) * 100vw);
  margin-top: calc(40 / var(--view-size-sp) * 100vw);
  list-style: none;
  padding: 0;
}
.p-header__mobile-sns-item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: calc(28 / var(--view-size-sp) * 100vw);
  height: calc(28 / var(--view-size-sp) * 100vw);
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.p-header__mobile-sns-item a img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1" /><feFuncG type="linear" slope="1" /><feFuncB type="linear" slope="1" /></feComponentTransfer><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="table" tableValues="1 0" /><feFuncG type="table" tableValues="1 0" /><feFuncB type="table" tableValues="1 0" /></feComponentTransfer></filter></svg>#filter');
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}

body {
  padding-top: 0;
  -webkit-font-smoothing: antialiased;
}

.p-hero-wrapper {
  overflow: hidden;
}

.p-hero {
  position: relative;
  overflow: hidden;
  padding: calc(40 / var(--view-size-sp) * 100vw) 0 0;
}
@media (min-width: 769px) {
  .p-hero {
    overflow: visible;
    padding: clamp(0px, 40 / 1440 * 100vw, 40px);
    max-width: 1440px;
    margin: auto;
  }
}
.p-hero__motion-toggle {
  position: absolute;
  bottom: 0.6%;
  left: 55%;
  z-index: 100;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(0px, 30 / 1440 * 100vw, 30px);
  height: clamp(0px, 30 / 1440 * 100vw, 30px);
  padding: 0;
  background: rgba(255, 255, 255, .6);
  border: 1px solid #cccccc;
  border-radius: 50%;
  cursor: pointer;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
  --icon-color: #0b264a;
}
@media (max-width: 768px) {
  .p-hero__motion-toggle {
    bottom: 0.8%;
    left: 65.5%;
    width: calc(30 / var(--view-size-sp) * 100vw);
    height: calc(30 / var(--view-size-sp) * 100vw);
  }
}
.p-hero__motion-toggle:hover {
  background: rgba(255, 255, 255, .8);
}
.p-hero__motion-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(0px, 14 / 1440 * 100vw, 14px);
  height: clamp(0px, 14 / 1440 * 100vw, 14px);
  position: relative;
}
@media (max-width: 768px) {
  .p-hero__motion-icon {
    width: calc(12 / var(--view-size-sp) * 100vw);
    height: calc(12 / var(--view-size-sp) * 100vw);
  }
}
.p-hero__motion-icon--pause {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(0px, 2 / 1440 * 100vw, 2px);
}
@media (max-width: 768px) {
  .p-hero__motion-icon--pause {
    gap: calc(2 / var(--view-size-sp) * 100vw);
  }
}
.p-hero__motion-icon--pause::before, .p-hero__motion-icon--pause::after {
  content: "";
  width: clamp(0px, 3 / 1440 * 100vw, 3px);
  height: clamp(0px, 10 / 1440 * 100vw, 10px);
  background-color: var(--icon-color);
  border-radius: clamp(0px, 1000 / 1440 * 100vw, 1000px);
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}
@media (max-width: 768px) {
  .p-hero__motion-icon--pause::before, .p-hero__motion-icon--pause::after {
    width: calc(3 / var(--view-size-sp) * 100vw);
    height: calc(10 / var(--view-size-sp) * 100vw);
    border-radius: calc(1000 / var(--view-size-sp) * 100vw);
  }
}
.p-hero__motion-icon--play::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: clamp(0px, 5 / 1440 * 100vw, 5px) 0 clamp(0px, 5 / 1440 * 100vw, 5px) clamp(0px, 7 / 1440 * 100vw, 7px);
  margin-left: clamp(0px, 2 / 1440 * 100vw, 2px);
  border-color: transparent transparent transparent var(--icon-color);
  -webkit-transition: border-color 0.2s ease;
  transition: border-color 0.2s ease;
}
@media (max-width: 768px) {
  .p-hero__motion-icon--play::before {
    border-width: calc(5 / var(--view-size-sp) * 100vw) 0 calc(5 / var(--view-size-sp) * 100vw) calc(7 / var(--view-size-sp) * 100vw);
    margin-left: calc(2 / var(--view-size-sp) * 100vw);
  }
}
.p-hero__bg-text {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
}
.p-hero__bg-text-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  white-space: nowrap;
  font-family: "Unbounded", sans-serif;
  font-size: clamp(0px, 180 / 1440 * 100vw, 180px);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 0.8;
}
@media (max-width: 768px) {
  .p-hero__bg-text-row {
    font-size: calc(120 / var(--view-size-sp) * 100vw);
  }
}
.p-hero__bg-text-row span {
  display: inline-block;
  padding: 0 clamp(0px, 40 / 1440 * 100vw, 40px);
  -webkit-animation: scrollText linear infinite;
          animation: scrollText linear infinite;
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}
.p-hero__bg-text-row--1, .p-hero__bg-text-row--3, .p-hero__bg-text-row--5 {
  color: #0b264a;
  opacity: 0.1;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
.p-hero__bg-text-row--1 span, .p-hero__bg-text-row--3 span, .p-hero__bg-text-row--5 span {
  -webkit-animation-duration: 120s;
          animation-duration: 120s;
}
.p-hero__bg-text-row--1 span {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}
.p-hero__bg-text-row--3 span {
  -webkit-animation-delay: -40s;
          animation-delay: -40s;
}
.p-hero__bg-text-row--5 span {
  -webkit-animation-delay: -80s;
          animation-delay: -80s;
}
.p-hero__bg-text-row--2, .p-hero__bg-text-row--4 {
  color: #ffffff;
}
.p-hero__bg-text-row--2 span, .p-hero__bg-text-row--4 span {
  -webkit-animation-duration: 100s;
          animation-duration: 100s;
}
.p-hero__bg-text-row--2 span {
  -webkit-animation-delay: -20s;
          animation-delay: -20s;
}
.p-hero__bg-text-row--4 span {
  -webkit-animation-delay: -60s;
          animation-delay: -60s;
}
@-webkit-keyframes scrollText {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@keyframes scrollText {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
.p-hero__swiper {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 clamp(0px, 20 / 1440 * 100vw, 20px);
  position: relative;
  z-index: 1;
}
.p-hero .swiper {
  overflow: visible;
}
.p-hero__slide-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: clamp(0px, 100 / 1440 * 100vw, 100px) clamp(0px, 20 / 1440 * 100vw, 20px) 0;
}
@media (max-width: 768px) {
  .p-hero__slide-content {
    padding: calc(80 / var(--view-size-sp) * 100vw) 0px 0;
    height: calc(436 / var(--view-size-sp) * 100vw);
  }
}
.p-hero__image-wrapper {
  position: relative;
  width: clamp(300px, 564 / 1440 * 100vw, 564px);
  height: clamp(300px, 564 / 1440 * 100vw, 564px);
  margin-bottom: clamp(0px, 20 / 1440 * 100vw, 20px);
}
@media (max-width: 768px) {
  .p-hero__image-wrapper {
    width: calc(334 / var(--view-size-sp) * 100vw);
    height: calc(334 / var(--view-size-sp) * 100vw);
    margin-bottom: calc(22 / var(--view-size-sp) * 100vw);
  }
}
.p-hero__progress-ring {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  display: block;
}
.p-hero__progress-ring-bg {
  fill: none;
  stroke: #e0e0e0;
  stroke-width: 1;
}
.p-hero__progress-ring-circle {
  fill: none;
  stroke-width: 1;
  stroke-linecap: round;
  stroke-dasharray: 880;
  stroke-dashoffset: 880;
  -webkit-transition: stroke-dashoffset 0.1s linear;
  transition: stroke-dashoffset 0.1s linear;
}
.p-hero__image {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: clamp(240px, 500 / 1440 * 100vw, 500px);
  height: clamp(240px, 500 / 1440 * 100vw, 500px);
  border-radius: 50%;
  overflow: hidden;
  z-index: 1;
}
@media (max-width: 768px) {
  .p-hero__image {
    width: calc(294 / var(--view-size-sp) * 100vw);
    height: calc(294 / var(--view-size-sp) * 100vw);
  }
}
.p-hero__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  border-radius: 50%;
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
  -webkit-animation: zoomOut 15s ease-out forwards;
          animation: zoomOut 15s ease-out forwards;
}
@-webkit-keyframes zoomOut {
  from {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes zoomOut {
  from {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
.p-hero__comment-indicator {
  position: absolute;
  top: 3%;
  right: -2%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: clamp(0px, 8 / 1440 * 100vw, 8px);
  z-index: 10;
}
@media (max-width: 768px) {
  .p-hero__comment-indicator {
    top: 1%;
    right: -2%;
    gap: calc(8 / var(--view-size-sp) * 100vw);
  }
}
.p-hero__comment-dot {
  width: clamp(0px, 40 / 1440 * 100vw, 40px);
  height: clamp(0px, 40 / 1440 * 100vw, 40px);
  background-color: #0b264a;
  border-radius: clamp(0px, 100 / 1440 * 100vw, 100px) clamp(0px, 100 / 1440 * 100vw, 100px) clamp(0px, 100 / 1440 * 100vw, 100px) 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-shadow: 0 clamp(0px, 2 / 1440 * 100vw, 2px) clamp(0px, 8 / 1440 * 100vw, 8px) rgba(0, 0, 0, .1);
          box-shadow: 0 clamp(0px, 2 / 1440 * 100vw, 2px) clamp(0px, 8 / 1440 * 100vw, 8px) rgba(0, 0, 0, .1);
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
  -webkit-animation: expandCommentDot 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
          animation: expandCommentDot 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}
@media (max-width: 768px) {
  .p-hero__comment-dot {
    width: calc(34 / var(--view-size-sp) * 100vw);
    height: calc(34 / var(--view-size-sp) * 100vw);
  }
}
@-webkit-keyframes expandCommentDot {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
    opacity: 0;
  }
  1% {
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
@keyframes expandCommentDot {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
    opacity: 0;
  }
  1% {
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
.p-hero__comment-box {
  background-color: #fff;
  border-radius: clamp(0px, 10 / 1440 * 100vw, 10px);
  padding: clamp(0px, 12 / 1440 * 100vw, 12px);
  min-width: clamp(0px, 100 / 1440 * 100vw, 100px);
  -webkit-box-shadow: 0 clamp(0px, 2 / 1440 * 100vw, 2px) clamp(0px, 8 / 1440 * 100vw, 8px) rgba(0, 0, 0, .1);
          box-shadow: 0 clamp(0px, 2 / 1440 * 100vw, 2px) clamp(0px, 8 / 1440 * 100vw, 8px) rgba(0, 0, 0, .1);
  width: clamp(0px, 100 / 1440 * 100vw, 100px);
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left;
          transform-origin: left;
  opacity: 0;
  -webkit-animation: expandCommentBox 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) 0.4s forwards;
          animation: expandCommentBox 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) 0.4s forwards;
}
@media (max-width: 768px) {
  .p-hero__comment-box {
    padding: calc(12 / var(--view-size-sp) * 100vw);
    min-width: calc(80 / var(--view-size-sp) * 100vw);
    width: calc(80 / var(--view-size-sp) * 100vw);
    border-radius: clamp(0px, 10 / var(--view-size-sp) * 100vw, 10px);
  }
}
@-webkit-keyframes expandCommentBox {
  0% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    opacity: 0;
  }
  1% {
    opacity: 1;
  }
  100% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    opacity: 1;
  }
}
@keyframes expandCommentBox {
  0% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    opacity: 0;
  }
  1% {
    opacity: 1;
  }
  100% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    opacity: 1;
  }
}
.p-hero__comment-cursor {
  width: 1px;
  height: clamp(0px, 14 / 1440 * 100vw, 14px);
  background-color: #000;
  margin-left: clamp(0px, 2 / 1440 * 100vw, 2px);
  -webkit-animation: blinkCursor 1s step-end infinite;
          animation: blinkCursor 1s step-end infinite;
}
@media (max-width: 768px) {
  .p-hero__comment-cursor {
    height: calc(12 / var(--view-size-sp) * 100vw);
    margin-left: calc(2 / var(--view-size-sp) * 100vw);
  }
}
body.motion-paused .p-hero__comment-cursor {
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
@-webkit-keyframes blinkCursor {
  0%, 49% {
    opacity: 1;
  }
  50%, 100% {
    opacity: 0;
  }
}
@keyframes blinkCursor {
  0%, 49% {
    opacity: 1;
  }
  50%, 100% {
    opacity: 0;
  }
}
.p-hero__selection-box {
  position: absolute;
  left: -20%;
  bottom: 10%;
  width: clamp(0px, 200 / 1440 * 100vw, 200px);
  height: clamp(0px, 146 / 1440 * 100vw, 146px);
  border: 1px solid #0b264a;
  background: transparent;
  z-index: 10;
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transform-origin: top left;
          transform-origin: top left;
  opacity: 0;
}
@media (max-width: 768px) {
  .p-hero__selection-box {
    width: calc(100 / var(--view-size-sp) * 100vw);
    height: calc(80 / var(--view-size-sp) * 100vw);
    left: -5%;
    bottom: 12%;
  }
}
@-webkit-keyframes expandBox {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
    opacity: 0;
  }
  1% {
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
@keyframes expandBox {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
    opacity: 0;
  }
  1% {
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
.p-hero__selection-corner {
  position: absolute;
  width: clamp(0px, 4 / 1440 * 100vw, 4px);
  height: clamp(0px, 4 / 1440 * 100vw, 4px);
  background-color: #fff;
  border: 1px solid #0b264a;
}
@media (max-width: 768px) {
  .p-hero__selection-corner {
    width: calc(4 / var(--view-size-sp) * 100vw);
    height: calc(4 / var(--view-size-sp) * 100vw);
  }
}
.p-hero__selection-corner--top-left {
  top: clamp(-2.5px, -2.5 / 1440 * 100vw, 0px);
  left: clamp(-2.5px, -2.5 / 1440 * 100vw, 0px);
}
@media (max-width: 768px) {
  .p-hero__selection-corner--top-left {
    top: calc(-2.5 / var(--view-size-sp) * 100vw);
    left: calc(-2.5 / var(--view-size-sp) * 100vw);
  }
}
.p-hero__selection-corner--top-right {
  top: clamp(-2.5px, -2.5 / 1440 * 100vw, 0px);
  right: clamp(-2.5px, -2.5 / 1440 * 100vw, 0px);
}
@media (max-width: 768px) {
  .p-hero__selection-corner--top-right {
    top: calc(-2.5 / var(--view-size-sp) * 100vw);
    right: calc(-2.5 / var(--view-size-sp) * 100vw);
  }
}
.p-hero__selection-corner--bottom-left {
  bottom: clamp(-2.5px, -2.5 / 1440 * 100vw, 0px);
  left: clamp(-2.5px, -2.5 / 1440 * 100vw, 0px);
}
@media (max-width: 768px) {
  .p-hero__selection-corner--bottom-left {
    bottom: calc(-2.5 / var(--view-size-sp) * 100vw);
    left: calc(-2.5 / var(--view-size-sp) * 100vw);
  }
}
.p-hero__selection-corner--bottom-right {
  bottom: clamp(-2.5px, -2.5 / 1440 * 100vw, 0px);
  right: clamp(-2.5px, -2.5 / 1440 * 100vw, 0px);
}
@media (max-width: 768px) {
  .p-hero__selection-corner--bottom-right {
    bottom: calc(-2.5 / var(--view-size-sp) * 100vw);
    right: calc(-2.5 / var(--view-size-sp) * 100vw);
  }
}
.p-hero__cursor-indicator {
  position: absolute;
  right: -20%;
  bottom: 15%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(0px, 8 / 1440 * 100vw, 8px);
  -webkit-animation: floatCursor 6s ease-in-out infinite;
          animation: floatCursor 6s ease-in-out infinite;
  -webkit-animation-delay: 0.7s;
          animation-delay: 0.7s;
  z-index: 10;
}
@media (max-width: 768px) {
  .p-hero__cursor-indicator {
    right: -4%;
    bottom: 4%;
    gap: calc(8 / var(--view-size-sp) * 100vw);
  }
}
.p-hero__cursor-triangle {
  position: absolute;
  top: clamp(-8px, -8 / 1440 * 100vw, -8px);
  left: clamp(-14px, -14 / 1440 * 100vw, -14px);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 clamp(0px, 8 / 1440 * 100vw, 8px) clamp(0px, 12 / 1440 * 100vw, 12px) clamp(0px, 8 / 1440 * 100vw, 8px);
  border-color: transparent transparent #0b264a transparent;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transition: border-color 0.2s ease;
  transition: border-color 0.2s ease;
}
@media (max-width: 768px) {
  .p-hero__cursor-triangle {
    top: calc(-8 / var(--view-size-sp) * 100vw);
    left: calc(-14 / var(--view-size-sp) * 100vw);
    border-width: 0 calc(8 / var(--view-size-sp) * 100vw) calc(12 / var(--view-size-sp) * 100vw) calc(8 / var(--view-size-sp) * 100vw);
  }
}
.p-hero__cursor-circle {
  background-color: #0b264a;
  color: #fff;
  padding: clamp(0px, 2 / 1440 * 100vw, 2px) clamp(0px, 16 / 1440 * 100vw, 16px);
  border-radius: clamp(0px, 20 / 1440 * 100vw, 20px);
  font-size: clamp(0px, 12 / 1440 * 100vw, 12px);
  font-weight: 400;
  white-space: nowrap;
  font-family: "Unbounded", sans-serif;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}
@media (max-width: 768px) {
  .p-hero__cursor-circle {
    padding: calc(2 / var(--view-size-sp) * 100vw) calc(16 / var(--view-size-sp) * 100vw);
    border-radius: calc(14 / var(--view-size-sp) * 100vw);
    font-size: calc(11 / var(--view-size-sp) * 100vw);
  }
}
@-webkit-keyframes floatCursor {
  0%, 100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  25% {
    -webkit-transform: translate(clamp(-25px, -25 / 1440 * 100vw, -25px), clamp(0px, 15 / 1440 * 100vw, 15px));
            transform: translate(clamp(-25px, -25 / 1440 * 100vw, -25px), clamp(0px, 15 / 1440 * 100vw, 15px));
  }
  50% {
    -webkit-transform: translate(clamp(0px, 20 / 1440 * 100vw, 20px), clamp(-20px, -20 / 1440 * 100vw, -20px));
            transform: translate(clamp(0px, 20 / 1440 * 100vw, 20px), clamp(-20px, -20 / 1440 * 100vw, -20px));
  }
  75% {
    -webkit-transform: translate(clamp(-20px, -20 / 1440 * 100vw, -20px), clamp(-15px, -15 / 1440 * 100vw, -15px));
            transform: translate(clamp(-20px, -20 / 1440 * 100vw, -20px), clamp(-15px, -15 / 1440 * 100vw, -15px));
  }
}
@keyframes floatCursor {
  0%, 100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  25% {
    -webkit-transform: translate(clamp(-25px, -25 / 1440 * 100vw, -25px), clamp(0px, 15 / 1440 * 100vw, 15px));
            transform: translate(clamp(-25px, -25 / 1440 * 100vw, -25px), clamp(0px, 15 / 1440 * 100vw, 15px));
  }
  50% {
    -webkit-transform: translate(clamp(0px, 20 / 1440 * 100vw, 20px), clamp(-20px, -20 / 1440 * 100vw, -20px));
            transform: translate(clamp(0px, 20 / 1440 * 100vw, 20px), clamp(-20px, -20 / 1440 * 100vw, -20px));
  }
  75% {
    -webkit-transform: translate(clamp(-20px, -20 / 1440 * 100vw, -20px), clamp(-15px, -15 / 1440 * 100vw, -15px));
            transform: translate(clamp(-20px, -20 / 1440 * 100vw, -20px), clamp(-15px, -15 / 1440 * 100vw, -15px));
  }
}
.p-hero__text {
  text-align: center;
  max-width: 600px;
  font-family: "Unbounded", sans-serif;
}
@media (max-width: 768px) {
  .p-hero__text {
    height: calc(80 / var(--view-size-sp) * 100vw);
  }
}
.p-hero__text h2 {
  font-size: clamp(0px, 32 / 1440 * 100vw, 32px);
  font-weight: 500;
  color: #333;
  white-space: nowrap;
  display: inline-block;
  width: auto;
  max-width: 0;
  opacity: 0;
  position: relative;
  padding-right: clamp(0px, 12 / 1440 * 100vw, 12px);
  overflow: hidden;
}
@media (max-width: 768px) {
  .p-hero__text h2 {
    font-size: calc(28 / var(--view-size-sp) * 100vw);
    height: calc(44 / var(--view-size-sp) * 100vw);
    margin-bottom: 0;
    padding-right: calc(12 / var(--view-size-sp) * 100vw);
  }
}
.p-hero__text h2.is-typing {
  opacity: 1;
  -webkit-animation: typing 1.6s steps(30) forwards;
          animation: typing 1.6s steps(30) forwards;
}
.p-hero__text h2.is-typing::after, .p-hero__text h2.typing-complete::after {
  content: "";
  position: absolute;
  right: 0;
  top: 54%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: clamp(0px, 2 / 1440 * 100vw, 2px);
  height: 1.1em;
  background-color: #000;
  -webkit-animation: blink 0.75s step-end infinite;
          animation: blink 0.75s step-end infinite;
}
@media (max-width: 768px) {
  .p-hero__text h2.is-typing::after, .p-hero__text h2.typing-complete::after {
    width: calc(2 / var(--view-size-sp) * 100vw);
  }
}
body.motion-paused .p-hero__text h2.is-typing::after, body.motion-paused .p-hero__text h2.typing-complete::after {
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.p-hero__text p {
  font-size: clamp(0px, 16 / 1440 * 100vw, 16px);
  font-weight: 300;
  line-height: 1.8;
  color: #000;
  opacity: 0;
  -webkit-transform: translateY(clamp(0px, 30 / 1440 * 100vw, 30px));
          transform: translateY(clamp(0px, 30 / 1440 * 100vw, 30px));
}
@media (max-width: 768px) {
  .p-hero__text p {
    font-size: calc(12 / var(--view-size-sp) * 100vw);
    height: calc(36 / var(--view-size-sp) * 100vw);
  }
}
.p-hero__text p.is-visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: opacity 0.6s ease 1.6s, -webkit-transform 0.6s ease 1.6s;
  transition: opacity 0.6s ease 1.6s, -webkit-transform 0.6s ease 1.6s;
  transition: opacity 0.6s ease 1.6s, transform 0.6s ease 1.6s;
  transition: opacity 0.6s ease 1.6s, transform 0.6s ease 1.6s, -webkit-transform 0.6s ease 1.6s;
}
@-webkit-keyframes typing {
  from {
    max-width: 0;
  }
  to {
    max-width: 100%;
  }
}
@keyframes typing {
  from {
    max-width: 0;
  }
  to {
    max-width: 100%;
  }
}
@-webkit-keyframes blink {
  50% {
    opacity: 0;
  }
}
@keyframes blink {
  50% {
    opacity: 0;
  }
}
@-webkit-keyframes slideUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(clamp(0px, 30 / 1440 * 100vw, 30px));
            transform: translateY(clamp(0px, 30 / 1440 * 100vw, 30px));
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes slideUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(clamp(0px, 30 / 1440 * 100vw, 30px));
            transform: translateY(clamp(0px, 30 / 1440 * 100vw, 30px));
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.p-hero .swiper-pagination {
  position: relative;
  margin-top: clamp(0px, 40 / 1440 * 100vw, 40px);
  bottom: clamp(0px, 8 / 1440 * 100vw, 8px) !important;
}
@media (max-width: 768px) {
  .p-hero .swiper-pagination {
    margin-top: calc(20 / var(--view-size-sp) * 100vw);
  }
}
@media (max-width: 768px) {
  .p-hero .swiper-horizontal > .swiper-pagination-bullets,
  .p-hero .swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: calc(8 / var(--view-size-sp) * 100vw) !important;
  }
}
.p-hero .swiper-pagination-bullet {
  width: clamp(0px, 8 / 1440 * 100vw, 8px);
  height: clamp(0px, 8 / 1440 * 100vw, 8px);
  background-color: transparent;
  opacity: 0.5;
  margin: 0 clamp(0px, 4 / 1440 * 100vw, 4px) !important;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  border: 1px solid #ccc;
  background: #fff;
}
@media (max-width: 768px) {
  .p-hero .swiper-pagination-bullet {
    width: calc(8 / var(--view-size-sp) * 100vw);
    height: calc(8 / var(--view-size-sp) * 100vw);
    margin: 0 calc(4 / var(--view-size-sp) * 100vw) !important;
  }
}
.p-hero .swiper-pagination-bullet-active {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
  opacity: 1;
}

.p-top-news {
  position: relative;
  background-color: #0b264a;
  overflow: hidden;
  padding: clamp(0px, 16 / 1440 * 100vw, 16px) 0;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}
@media (min-width: 769px) {
  .p-top-news {
    position: absolute;
    bottom: 6%;
    right: clamp(0px, 40 / 1440 * 100vw, 40px);
    width: auto;
    max-width: 28%;
    z-index: 100;
    border-radius: clamp(0px, 14 / 1440 * 100vw, 14px);
  }
}
@media (max-width: 768px) {
  .p-top-news {
    margin: 0 calc(20 / var(--view-size-sp) * 100vw);
    border-radius: calc(14 / var(--view-size-sp) * 100vw);
    margin-top: calc(32 / var(--view-size-sp) * 100vw);
    padding: calc(12 / var(--view-size-sp) * 100vw) 0;
  }
}
.p-top-news__marquee {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(0px, 40 / 1440 * 100vw, 40px);
  -webkit-animation: marquee 15s linear infinite;
          animation: marquee 15s linear infinite;
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}
@media (min-width: 769px) {
  .p-top-news__marquee {
    padding: 0 clamp(0px, 20 / 1440 * 100vw, 20px);
  }
}
body.motion-paused .p-top-news__marquee {
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.p-top-news__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(0px, 20 / 1440 * 100vw, 20px);
  white-space: nowrap;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.p-top-news__date {
  font-family: "Unbounded", sans-serif;
  font-size: clamp(0px, 14 / 1440 * 100vw, 14px);
  font-weight: 400;
  color: #fff;
}
@media (max-width: 768px) {
  .p-top-news__date {
    font-size: calc(13 / var(--view-size-sp) * 100vw);
  }
}
.p-top-news__text {
  font-size: clamp(0px, 14 / 1440 * 100vw, 14px);
  font-weight: 400;
  color: #fff;
}
@media (max-width: 768px) {
  .p-top-news__text {
    font-size: calc(13 / var(--view-size-sp) * 100vw);
  }
}

@-webkit-keyframes marquee {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

@keyframes marquee {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.p-about {
  padding: clamp(0px, 120 / 1440 * 100vw, 120px) clamp(0px, 40 / 1440 * 100vw, 40px) clamp(0px, 60 / 1440 * 100vw, 60px);
}
@media (max-width: 768px) {
  .p-about {
    padding: calc(80 / var(--view-size-sp) * 100vw) calc(20 / var(--view-size-sp) * 100vw) calc(40 / var(--view-size-sp) * 100vw);
  }
}
.p-about__container {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}
@media (max-width: 768px) {
  .p-about__container {
    text-align: left;
  }
}
.p-about__title-en {
  font-family: "Unbounded", sans-serif;
  font-size: clamp(0px, 13 / 1440 * 100vw, 13px);
  font-weight: 400;
  color: #333;
  margin-bottom: clamp(0px, 4 / 1440 * 100vw, 4px);
  position: relative;
  display: inline-block;
  padding-left: clamp(0px, 16 / 1440 * 100vw, 16px);
}
@media (max-width: 768px) {
  .p-about__title-en {
    font-size: calc(13 / var(--view-size-sp) * 100vw);
    margin-bottom: calc(16 / var(--view-size-sp) * 100vw);
    padding-left: calc(16 / var(--view-size-sp) * 100vw);
  }
}
.p-about__title-en::before {
  content: "";
  position: absolute;
  left: 0;
  top: 42%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: clamp(0px, 5 / 1440 * 100vw, 5px);
  height: clamp(0px, 5 / 1440 * 100vw, 5px);
  border-radius: 50%;
  background-color: rgb(229, 70, 78);
  -webkit-animation: pulse 1.5s ease-in-out infinite;
          animation: pulse 1.5s ease-in-out infinite;
}
@media (max-width: 768px) {
  .p-about__title-en::before {
    width: calc(5 / var(--view-size-sp) * 100vw);
    height: calc(5 / var(--view-size-sp) * 100vw);
  }
}
.p-about__title-ja {
  font-size: clamp(0px, 40 / 1440 * 100vw, 40px);
  font-family: "A+EqpB-游ゴシック体 Pr6N B", yugothic, sans-serif;
  color: #333;
  margin-bottom: 0;
  font-weight: normal;
}
@media (max-width: 768px) {
  .p-about__title-ja {
    font-size: calc(22 / var(--view-size-sp) * 100vw);
    margin-bottom: 0;
  }
}
.p-about__subtitle {
  font-family: "Unbounded", sans-serif;
  font-size: clamp(0px, 15 / 1440 * 100vw, 15px);
  font-weight: 300;
  color: #000;
  margin-bottom: clamp(0px, 32 / 1440 * 100vw, 32px);
}
@media (max-width: 768px) {
  .p-about__subtitle {
    margin-top: calc(4 / var(--view-size-sp) * 100vw);
    font-size: calc(13 / var(--view-size-sp) * 100vw);
    margin-bottom: calc(24 / var(--view-size-sp) * 100vw);
  }
}
.p-about__text {
  font-size: clamp(0px, 16 / 1440 * 100vw, 16px);
  font-weight: 400;
  line-height: 2;
  color: #000;
}
@media (max-width: 768px) {
  .p-about__text {
    font-size: calc(14 / var(--view-size-sp) * 100vw);
    line-height: 2;
  }
}

.p-what-we-do {
  position: relative;
  opacity: 1;
  -webkit-transition: opacity 0.8s ease;
  transition: opacity 0.8s ease;
  min-height: 260vh;
}
.p-what-we-do__container {
  position: sticky;
  top: 10vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: clamp(0px, 60 / 1440 * 100vw, 60px) clamp(0px, 40 / 1440 * 100vw, 40px) clamp(0px, 200 / 1440 * 100vw, 200px);
  max-width: 1280px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .p-what-we-do__container {
    position: sticky;
    top: calc(60 / var(--view-size-sp) * 100vw);
    padding: calc(40 / var(--view-size-sp) * 100vw) calc(20 / var(--view-size-sp) * 100vw) calc(0 / var(--view-size-sp) * 100vw);
  }
}
.p-what-we-do__title {
  font-family: "Unbounded", sans-serif;
  font-size: clamp(0px, 13 / 1440 * 100vw, 13px);
  font-weight: 400;
  color: #333;
  margin-bottom: clamp(0px, 40 / 1440 * 100vw, 40px);
  position: relative;
  display: inline-block;
  padding-left: clamp(0px, 16 / 1440 * 100vw, 16px);
}
@media (max-width: 768px) {
  .p-what-we-do__title {
    font-size: calc(13 / var(--view-size-sp) * 100vw);
    margin-bottom: calc(24 / var(--view-size-sp) * 100vw);
    padding-left: calc(16 / var(--view-size-sp) * 100vw);
  }
}
.p-what-we-do__title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 42%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: clamp(0px, 5 / 1440 * 100vw, 5px);
  height: clamp(0px, 5 / 1440 * 100vw, 5px);
  border-radius: 50%;
  background-color: #35308e;
  -webkit-animation: pulse 1.5s ease-in-out infinite;
          animation: pulse 1.5s ease-in-out infinite;
}
@media (max-width: 768px) {
  .p-what-we-do__title::before {
    width: calc(5 / var(--view-size-sp) * 100vw);
    height: calc(5 / var(--view-size-sp) * 100vw);
  }
}
.p-what-we-do__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(0px, 60 / 1440 * 100vw, 60px);
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 768px) {
  .p-what-we-do__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}
.p-what-we-do__images {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  position: relative;
  height: clamp(0px, 480 / 1440 * 100vw, 480px);
  overflow: hidden;
}
@media (max-width: 768px) {
  .p-what-we-do__images {
    width: 100%;
    height: auto;
    margin-bottom: calc(24 / var(--view-size-sp) * 100vw);
    aspect-ratio: 3/2;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.p-what-we-do__image-item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-clip-path: inset(100% 0 0 0);
          clip-path: inset(100% 0 0 0);
  -webkit-transition: -webkit-clip-path 0.6s ease;
  transition: -webkit-clip-path 0.6s ease;
  transition: clip-path 0.6s ease;
  transition: clip-path 0.6s ease, -webkit-clip-path 0.6s ease;
  aspect-ratio: 3/2;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-what-we-do__image-item:first-child {
  -webkit-clip-path: inset(0 0 0 0);
          clip-path: inset(0 0 0 0);
  z-index: 1;
}
.p-what-we-do__image-item:not(:first-child) {
  z-index: 2;
}
.p-what-we-do__image-item.active {
  -webkit-clip-path: inset(0 0 0 0);
          clip-path: inset(0 0 0 0);
}
@media (max-width: 768px) {
  .p-what-we-do__image-item:first-child {
    position: relative;
  }
}
.p-what-we-do__image-item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: clamp(0px, 20 / 1440 * 100vw, 20px);
}
@media (max-width: 768px) {
  .p-what-we-do__image-item img {
    aspect-ratio: 3/2;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: calc(14 / var(--view-size-sp) * 100vw);
  }
}
.p-what-we-do__text-container {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(0px, 40 / 1440 * 100vw, 40px);
}
@media (max-width: 768px) {
  .p-what-we-do__text-container {
    gap: calc(20 / var(--view-size-sp) * 100vw);
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.p-what-we-do__text-wrapper {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  position: relative;
}
@media (max-width: 768px) {
  .p-what-we-do__text-wrapper {
    min-height: calc(300 / var(--view-size-sp) * 100vw);
  }
}
.p-what-we-do__text-item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.p-what-we-do__text-item:first-child {
  position: relative;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.p-what-we-do__text-item.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  position: relative;
}
.p-what-we-do__text-item:not(.active) {
  position: absolute;
}
.p-what-we-do__text-item > * {
  opacity: 0;
  -webkit-transform: translateY(clamp(-20px, -20 / 1440 * 100vw, 0px));
          transform: translateY(clamp(-20px, -20 / 1440 * 100vw, 0px));
  -webkit-transition: opacity 0.4s ease, -webkit-transform 0.4s ease;
  transition: opacity 0.4s ease, -webkit-transform 0.4s ease;
  transition: opacity 0.4s ease, transform 0.4s ease;
  transition: opacity 0.4s ease, transform 0.4s ease, -webkit-transform 0.4s ease;
}
.p-what-we-do__text-item.active > * {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.p-what-we-do__text-item.active > *:nth-child(1) {
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
}
.p-what-we-do__text-item.active > *:nth-child(2) {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}
.p-what-we-do__text-item.active > *:nth-child(3) {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}
.p-what-we-do__dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(0px, 12 / 1440 * 100vw, 12px);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 768px) {
  .p-what-we-do__dots {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding-top: 0;
    gap: calc(12 / var(--view-size-sp) * 100vw);
  }
}
.p-what-we-do__dot {
  width: clamp(0px, 8 / 1440 * 100vw, 8px);
  height: clamp(0px, 8 / 1440 * 100vw, 8px);
  border-radius: 50%;
  background-color: #ccc;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (max-width: 768px) {
  .p-what-we-do__dot {
    width: calc(8 / var(--view-size-sp) * 100vw);
    height: calc(8 / var(--view-size-sp) * 100vw);
  }
}
.p-what-we-do__dot.active {
  background-color: #000;
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}
.p-what-we-do__text-title-ja {
  font-size: clamp(0px, 28 / 1440 * 100vw, 28px);
  font-family: "A+EqpB-游ゴシック体 Pr6N B", yugothic, sans-serif;
  color: #333;
  margin-bottom: 0;
  font-weight: normal;
}
@media (max-width: 768px) {
  .p-what-we-do__text-title-ja {
    font-size: calc(20 / var(--view-size-sp) * 100vw);
  }
}
.p-what-we-do__text-title-en {
  font-family: "Unbounded", sans-serif;
  font-size: clamp(0px, 15 / 1440 * 100vw, 15px);
  font-weight: 300;
  color: #000;
  margin-bottom: clamp(0px, 24 / 1440 * 100vw, 24px);
}
@media (max-width: 768px) {
  .p-what-we-do__text-title-en {
    font-size: calc(13 / var(--view-size-sp) * 100vw);
    margin-bottom: calc(20 / var(--view-size-sp) * 100vw);
  }
}
.p-what-we-do__text-description {
  font-size: clamp(0px, 16 / 1440 * 100vw, 16px);
  font-weight: 400;
  line-height: 2;
  color: #000;
}
@media (max-width: 768px) {
  .p-what-we-do__text-description {
    font-size: calc(14 / var(--view-size-sp) * 100vw);
  }
}

.page-about__hero,
.page-works__hero,
.page-all__hero,
.page-contact__hero,
.page-article__hero {
  padding: clamp(0px, 200 / 1440 * 100vw, 200px) clamp(0px, 40 / 1440 * 100vw, 40px) clamp(0px, 40 / 1440 * 100vw, 40px);
  max-width: 1440px;
  margin: auto;
}
@media (max-width: 768px) {
  .page-about__hero,
  .page-works__hero,
  .page-all__hero,
  .page-contact__hero,
  .page-article__hero {
    padding: calc(160 / var(--view-size-sp) * 100vw) calc(20 / var(--view-size-sp) * 100vw) calc(20 / var(--view-size-sp) * 100vw);
  }
}
.page-about__hero-container,
.page-works__hero-container,
.page-all__hero-container,
.page-contact__hero-container,
.page-article__hero-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0;
}
@media (max-width: 768px) {
  .page-about__hero-container,
  .page-works__hero-container,
  .page-all__hero-container,
  .page-contact__hero-container,
  .page-article__hero-container {
    gap: 0;
  }
}
.page-about__title,
.page-works__title,
.page-all__title,
.page-contact__title,
.page-article__title {
  font-family: "Unbounded", sans-serif;
  font-size: clamp(0px, 120 / 1440 * 100vw, 120px);
  font-weight: 400;
  line-height: 1.2;
  height: clamp(0px, 144 / 1440 * 100vw, 144px);
  position: relative;
  overflow: hidden;
  white-space: nowrap;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 0;
  opacity: 0;
  padding-right: clamp(0px, 20 / 1440 * 100vw, 20px);
}
@media (max-width: 768px) {
  .page-about__title,
  .page-works__title,
  .page-all__title,
  .page-contact__title,
  .page-article__title {
    font-size: calc(34 / var(--view-size-sp) * 100vw);
    height: auto;
    padding-right: clamp(0px, 16 / var(--view-size-sp) * 100vw, 16px);
  }
}
.page-about__title .pc-text,
.page-works__title .pc-text,
.page-all__title .pc-text,
.page-contact__title .pc-text,
.page-article__title .pc-text {
  display: inline;
}
@media (max-width: 768px) {
  .page-about__title .pc-text,
  .page-works__title .pc-text,
  .page-all__title .pc-text,
  .page-contact__title .pc-text,
  .page-article__title .pc-text {
    display: none;
  }
}
.page-about__title .sp-text,
.page-works__title .sp-text,
.page-all__title .sp-text,
.page-contact__title .sp-text,
.page-article__title .sp-text {
  display: none;
}
@media (max-width: 768px) {
  .page-about__title .sp-text,
  .page-works__title .sp-text,
  .page-all__title .sp-text,
  .page-contact__title .sp-text,
  .page-article__title .sp-text {
    display: inline;
    white-space: normal;
    line-height: 1.2;
  }
}
.page-about__title.is-typing,
.page-works__title.is-typing,
.page-all__title.is-typing,
.page-contact__title.is-typing,
.page-article__title.is-typing {
  opacity: 1;
  -webkit-animation: typing 1.4s steps(24) forwards;
          animation: typing 1.4s steps(24) forwards;
}
.page-about__title.is-typing::after, .page-about__title.typing-complete::after,
.page-works__title.is-typing::after,
.page-works__title.typing-complete::after,
.page-all__title.is-typing::after,
.page-all__title.typing-complete::after,
.page-contact__title.is-typing::after,
.page-contact__title.typing-complete::after,
.page-article__title.is-typing::after,
.page-article__title.typing-complete::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: clamp(0px, 2 / 1440 * 100vw, 2px);
  height: 0.9em;
  background-color: #000;
  -webkit-animation: blink 0.75s step-end infinite;
          animation: blink 0.75s step-end infinite;
}
@media (max-width: 768px) {
  .page-about__title.is-typing::after, .page-about__title.typing-complete::after,
  .page-works__title.is-typing::after,
  .page-works__title.typing-complete::after,
  .page-all__title.is-typing::after,
  .page-all__title.typing-complete::after,
  .page-contact__title.is-typing::after,
  .page-contact__title.typing-complete::after,
  .page-article__title.is-typing::after,
  .page-article__title.typing-complete::after {
    width: calc(2 / var(--view-size-sp) * 100vw);
  }
}
.page-about__title .char,
.page-works__title .char,
.page-all__title .char,
.page-contact__title .char,
.page-article__title .char {
  display: inline-block;
  opacity: 0;
  -webkit-animation: fadeInChar 0.5s ease forwards;
          animation: fadeInChar 0.5s ease forwards;
}
.page-about__subtitle,
.page-works__subtitle,
.page-all__subtitle,
.page-contact__subtitle,
.page-article__subtitle {
  font-family: "A+EqpB-游ゴシック体 Pr6N B", yugothic, sans-serif;
  font-weight: normal;
  font-size: clamp(0px, 18 / 1440 * 100vw, 18px);
  line-height: 2;
  margin: 0;
  opacity: 0;
  -webkit-transform: translateY(clamp(0px, 20 / 1440 * 100vw, 20px));
          transform: translateY(clamp(0px, 20 / 1440 * 100vw, 20px));
  -webkit-transition: opacity 0.6s ease, -webkit-transform 0.6s ease;
  transition: opacity 0.6s ease, -webkit-transform 0.6s ease;
  transition: opacity 0.6s ease, transform 0.6s ease;
  transition: opacity 0.6s ease, transform 0.6s ease, -webkit-transform 0.6s ease;
}
@media (max-width: 768px) {
  .page-about__subtitle,
  .page-works__subtitle,
  .page-all__subtitle,
  .page-contact__subtitle,
  .page-article__subtitle {
    font-size: calc(14 / var(--view-size-sp) * 100vw);
    -webkit-transform: translateY(calc(20 / var(--view-size-sp) * 100vw));
            transform: translateY(calc(20 / var(--view-size-sp) * 100vw));
  }
}
.page-about__subtitle.is-visible,
.page-works__subtitle.is-visible,
.page-all__subtitle.is-visible,
.page-contact__subtitle.is-visible,
.page-article__subtitle.is-visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.page-about__subtitle .char,
.page-works__subtitle .char,
.page-all__subtitle .char,
.page-contact__subtitle .char,
.page-article__subtitle .char {
  display: inline-block;
  opacity: 0;
  -webkit-animation: fadeInChar 0.5s ease forwards;
          animation: fadeInChar 0.5s ease forwards;
}

@-webkit-keyframes fadeInChar {
  to {
    opacity: 1;
  }
}

@keyframes fadeInChar {
  to {
    opacity: 1;
  }
}
@keyframes typing {
  from {
    max-width: 0;
  }
  to {
    max-width: 100%;
  }
}
@keyframes blink {
  50% {
    opacity: 0;
  }
}
.mwg_effect030 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 0;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.8s ease;
  transition: opacity 0.8s ease;
}

.mwg_effect030.is-visible {
  opacity: 1;
  pointer-events: auto;
}

.p-works__title-en {
  font-family: "Unbounded", sans-serif;
  font-size: clamp(0px, 13 / 1440 * 100vw, 13px);
  font-weight: 400;
  color: white;
  margin-bottom: clamp(0px, 40 / 1440 * 100vw, 40px);
  position: relative;
  display: inline-block;
  padding-left: clamp(0px, 16 / 1440 * 100vw, 16px);
  margin-left: 4%;
}
@media (max-width: 768px) {
  .p-works__title-en {
    margin-bottom: calc(40 / var(--view-size-sp) * 100vw);
    padding-left: calc(16 / var(--view-size-sp) * 100vw);
  }
}
.p-works__title-en::before {
  content: "";
  position: absolute;
  left: 0;
  top: 42%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: clamp(0px, 5 / 1440 * 100vw, 5px);
  height: clamp(0px, 5 / 1440 * 100vw, 5px);
  border-radius: 50%;
  background-color: rgb(0, 137, 200);
  -webkit-animation: pulse 1.5s ease-in-out infinite;
          animation: pulse 1.5s ease-in-out infinite;
}
@media (max-width: 768px) {
  .p-works__title-en::before {
    width: calc(5 / var(--view-size-sp) * 100vw);
    height: calc(5 / var(--view-size-sp) * 100vw);
  }
}

@keyframes pulse {
  0% {
    -webkit-transform: translateY(-50%) scale(1);
            transform: translateY(-50%) scale(1);
  }
  10% {
    -webkit-transform: translateY(-50%) scale(1.4);
            transform: translateY(-50%) scale(1.4);
  }
  20% {
    -webkit-transform: translateY(-50%) scale(1);
            transform: translateY(-50%) scale(1);
  }
  30% {
    -webkit-transform: translateY(-50%) scale(1.4);
            transform: translateY(-50%) scale(1.4);
  }
  40%, 100% {
    -webkit-transform: translateY(-50%) scale(1);
            transform: translateY(-50%) scale(1);
  }
}
.mwg_effect030 ul {
  width: 100%;
  padding: 0;
  margin: 0 auto;
  border-bottom: 1px solid rgba(255, 255, 255, .2);
}

.mwg_effect030 ul li,
.mwg_effect030 .p-works__header-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(0px, 15 / 1440 * 100vw, 15px);
  width: 100%;
  border-top: 1px solid rgba(255, 255, 255, .2);
  color: white;
}
@media (max-width: 768px) {
  .mwg_effect030 ul li,
  .mwg_effect030 .p-works__header-row {
    gap: calc(15 / var(--view-size-sp) * 100vw);
    padding: calc(30 / var(--view-size-sp) * 100vw) 4%;
  }
}

.mwg_effect030 .p-works__header-row {
  border-top: none;
  padding: clamp(0px, 12 / 1440 * 100vw, 12px) 4%;
  font-size: clamp(0px, 14 / 1440 * 100vw, 14px);
  font-weight: 300;
}
@media (max-width: 768px) {
  .mwg_effect030 .p-works__header-row {
    padding: calc(12 / var(--view-size-sp) * 100vw) 4%;
  }
}

.mwg_effect030 ul li {
  cursor: pointer;
  -webkit-transition: background 0.3s ease, opacity 0.3s ease;
  transition: background 0.3s ease, opacity 0.3s ease;
  position: relative;
}
.mwg_effect030 ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(0px, 15 / 1440 * 100vw, 15px);
  width: 100%;
  color: inherit;
  text-decoration: none;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding: clamp(0px, 30 / 1440 * 100vw, 30px) 4%;
}
@media (max-width: 768px) {
  .mwg_effect030 ul li a {
    gap: calc(15 / var(--view-size-sp) * 100vw);
    padding: calc(30 / var(--view-size-sp) * 100vw) 4%;
  }
}

.mwg_effect030 ul:hover li {
  opacity: 0.5;
}

.mwg_effect030 ul:hover ~ .p-essay-photo__pc-more-wrapper .p-essay-photo__pc-more {
  opacity: 0.5;
}

.mwg_effect030 ul li:hover {
  background: rgba(0, 0, 0, .1);
  opacity: 1;
}

.mwg_effect030 ul li a span:nth-child(1),
.mwg_effect030 ul li span:nth-child(1),
.mwg_effect030 .p-works__header-row span:nth-child(1) {
  width: clamp(0px, 240 / 1440 * 100vw, 240px);
  font-family: "Unbounded", sans-serif;
}

.mwg_effect030 ul li a span:nth-child(2),
.mwg_effect030 ul li span:nth-child(2),
.mwg_effect030 .p-works__header-row span:nth-child(2) {
  width: clamp(0px, 240 / 1440 * 100vw, 240px);
}

.mwg_effect030 ul li a span:nth-child(3),
.mwg_effect030 ul li span:nth-child(3),
.mwg_effect030 .p-works__header-row span:nth-child(3) {
  font-family: "Unbounded", sans-serif;
}

.mwg_effect030 ul li:hover a span:nth-child(3),
.mwg_effect030 ul li:hover span:nth-child(3) {
  visibility: visible;
}

.mwg_effect030 .media-container {
  position: absolute;
  width: 38vw;
  height: 30vw;
  right: 8%;
  top: 0;
  border-radius: 2%;
  pointer-events: none;
  overflow: hidden;
  visibility: hidden;
}

.mwg_effect030 .media-container.on {
  visibility: visible;
}

.mwg_effect030 .media-container div {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  -webkit-transform: translate(0, -100%);
          transform: translate(0, -100%);
}

.mwg_effect030 .media-container img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: translate(0, 90%);
          transform: translate(0, 90%);
}

.mwg_effect030 .medias img {
  width: clamp(0px, 1 / 1440 * 100vw, 1px);
  height: clamp(0px, 1 / 1440 * 100vw, 1px);
  top: 0;
  left: 0;
  position: absolute;
  visibility: hidden;
  pointer-events: none;
}
@media (max-width: 768px) {
  .mwg_effect030 .medias img {
    width: calc(1 / var(--view-size-sp) * 100vw);
    height: calc(1 / var(--view-size-sp) * 100vw);
  }
}

body {
  -webkit-transition: background-color 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  transition: background-color 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

body.p-works-active {
  background-color: #080e17;
}
@media (min-width: 769px) {
  body.p-works-active .p-what-we-do,
  body.p-works-active .p-news {
    opacity: 0;
    -webkit-transition: opacity 0.8s ease;
    transition: opacity 0.8s ease;
  }
}

.p-works__cursor {
  position: fixed;
  width: clamp(0px, 160 / 1440 * 100vw, 160px);
  height: clamp(0px, 160 / 1440 * 100vw, 160px);
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(0px, 8 / 1440 * 100vw, 8px);
  pointer-events: none;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s ease, visibility 0.3s ease;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  mix-blend-mode: difference;
  background: white;
}
@media (max-width: 768px) {
  .p-works__cursor {
    width: calc(160 / var(--view-size-sp) * 100vw);
    height: calc(160 / var(--view-size-sp) * 100vw);
    gap: calc(8 / var(--view-size-sp) * 100vw);
  }
}

.p-works__cursor.is-visible {
  opacity: 1;
  visibility: visible;
}

.p-works__cursor-text {
  font-family: "Unbounded", sans-serif;
  color: #000;
  font-size: 14px;
  font-size: 0.875rem;
  white-space: nowrap;
}

.p-works__cursor-arrow {
  width: clamp(0px, 16 / 1440 * 100vw, 16px);
  height: clamp(0px, 16 / 1440 * 100vw, 16px);
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
@media (max-width: 768px) {
  .p-works__cursor-arrow {
    width: calc(16 / var(--view-size-sp) * 100vw);
    height: calc(16 / var(--view-size-sp) * 100vw);
  }
}

.p-works__mobile-list {
  display: none;
}
@media (max-width: 768px) {
  .p-works__mobile-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(24 / var(--view-size-sp) * 100vw);
    padding: 0 calc(20 / var(--view-size-sp) * 100vw) calc(36 / var(--view-size-sp) * 100vw);
  }
}

.p-works__mobile-item {
  position: relative;
  width: 100%;
  border-radius: clamp(0px, 20 / 1440 * 100vw, 20px);
  opacity: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
}
@media (min-width: 769px) {
  .p-works__mobile-item {
    overflow: hidden;
  }
}
.p-works__mobile-item.is-visible {
  -webkit-animation: slideUpBounce 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards;
          animation: slideUpBounce 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards;
}
@-webkit-keyframes slideUpBounce {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes slideUpBounce {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.p-works__mobile-item > img {
  width: 100%;
  height: 100%;
  display: block;
  aspect-ratio: 3/2.2;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: clamp(0px, 20 / 1440 * 100vw, 20px);
}
@media (max-width: 768px) {
  .p-works__mobile-item > img {
    border-radius: calc(14 / var(--view-size-sp) * 100vw);
  }
}
@media (min-width: 769px) {
  .p-works__mobile-item:hover > img {
    -webkit-animation: scaleBounceMobileItem 0.4s ease-out forwards;
            animation: scaleBounceMobileItem 0.4s ease-out forwards;
  }
}
@-webkit-keyframes scaleBounceMobileItem {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.02);
            transform: scale(1.02);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes scaleBounceMobileItem {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.02);
            transform: scale(1.02);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
.p-works__mobile-item::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), to(rgba(0, 0, 0, .5)));
  background: linear-gradient(to bottom, transparent, rgba(0, 0, 0, .5));
  pointer-events: none;
  border-radius: 0 0 clamp(0px, 20 / 1440 * 100vw, 20px) clamp(0px, 20 / 1440 * 100vw, 20px);
}
@media (max-width: 768px) {
  .p-works__mobile-item::after {
    border-radius: 0 0 calc(14 / var(--view-size-sp) * 100vw) calc(14 / var(--view-size-sp) * 100vw);
  }
}

.p-works__mobile-union {
  position: absolute;
  bottom: 0;
  right: 0;
  width: clamp(0px, 100 / 1440 * 100vw, 100px);
  height: clamp(0px, 100 / 1440 * 100vw, 100px);
  opacity: 0;
  -webkit-transform: translate(50%, 50%);
          transform: translate(50%, 50%);
  pointer-events: none;
  z-index: 3;
}
@media (max-width: 768px) {
  .p-works__mobile-union {
    width: calc(85 / var(--view-size-sp) * 100vw);
    height: calc(85 / var(--view-size-sp) * 100vw);
  }
}
.p-works__mobile-union img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-works__mobile-union.is-animated {
  -webkit-animation: slideUnion 0.4s ease-out forwards;
          animation: slideUnion 0.4s ease-out forwards;
}
@media (min-width: 769px) {
  .p-works__mobile-union.is-animated {
    -webkit-animation: slideUnionPc 0.4s ease-out forwards;
            animation: slideUnionPc 0.4s ease-out forwards;
  }
}

@-webkit-keyframes slideUnion {
  0% {
    opacity: 0;
    -webkit-transform: translate(50%, 50%);
            transform: translate(50%, 50%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(1px, 1px);
            transform: translate(1px, 1px);
  }
}

@keyframes slideUnion {
  0% {
    opacity: 0;
    -webkit-transform: translate(50%, 50%);
            transform: translate(50%, 50%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(1px, 1px);
            transform: translate(1px, 1px);
  }
}
@-webkit-keyframes slideUnionPc {
  0% {
    opacity: 0;
    -webkit-transform: translate(50%, 50%);
            transform: translate(50%, 50%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0px, 0px);
            transform: translate(0px, 0px);
  }
}
@keyframes slideUnionPc {
  0% {
    opacity: 0;
    -webkit-transform: translate(50%, 50%);
            transform: translate(50%, 50%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0px, 0px);
            transform: translate(0px, 0px);
  }
}
.p-works__mobile-arrow {
  position: absolute;
  bottom: 0;
  right: 0;
  width: clamp(0px, 50 / 1440 * 100vw, 50px);
  height: clamp(0px, 50 / 1440 * 100vw, 50px);
  background-color: #fff;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  opacity: 0;
  pointer-events: none;
  z-index: 4;
}
@media (max-width: 768px) {
  .p-works__mobile-arrow {
    width: calc(44 / var(--view-size-sp) * 100vw);
    height: calc(44 / var(--view-size-sp) * 100vw);
  }
}
.p-works__mobile-arrow img {
  width: clamp(0px, 15 / 1440 * 100vw, 15px);
  height: clamp(0px, 15 / 1440 * 100vw, 15px);
  -o-object-fit: contain;
     object-fit: contain;
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1" /><feFuncG type="linear" slope="1" /><feFuncB type="linear" slope="1" /></feComponentTransfer><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="table" tableValues="1 0" /><feFuncG type="table" tableValues="1 0" /><feFuncB type="table" tableValues="1 0" /></feComponentTransfer></filter></svg>#filter');
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}
@media (max-width: 768px) {
  .p-works__mobile-arrow img {
    width: calc(15 / var(--view-size-sp) * 100vw);
    height: calc(15 / var(--view-size-sp) * 100vw);
  }
}
.p-works__mobile-arrow.is-visible {
  -webkit-animation: fadeInArrow 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
          animation: fadeInArrow 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
  pointer-events: auto;
}

.p-works__mobile-info {
  position: absolute;
  bottom: clamp(0px, 20 / 1440 * 100vw, 20px);
  left: clamp(0px, 24 / 1440 * 100vw, 24px);
  color: white;
  text-align: left;
  z-index: 2;
}
@media (max-width: 768px) {
  .p-works__mobile-info {
    bottom: calc(12 / var(--view-size-sp) * 100vw);
    left: calc(16 / var(--view-size-sp) * 100vw);
  }
}

.p-works__mobile-meta {
  font-family: "Unbounded", sans-serif;
  font-size: clamp(0px, 13 / 1440 * 100vw, 13px);
  font-weight: 300;
  margin-bottom: 0;
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
}
@media (max-width: 768px) {
  .p-works__mobile-meta {
    font-size: calc(10 / var(--view-size-sp) * 100vw);
  }
}
.p-works__mobile-item.is-visible .p-works__mobile-meta {
  -webkit-animation: slideInBounce 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards;
          animation: slideInBounce 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards;
  -webkit-animation-delay: 0.1s;
          animation-delay: 0.1s;
}

.p-works__mobile-title {
  font-family: "A+EqpB-游ゴシック体 Pr6N B", yugothic, sans-serif;
  font-size: clamp(0px, 16 / 1440 * 100vw, 16px);
  font-weight: 500;
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
}
@media (max-width: 768px) {
  .p-works__mobile-title {
    font-size: calc(13 / var(--view-size-sp) * 100vw);
  }
}
.p-works__mobile-item.is-visible .p-works__mobile-title {
  -webkit-animation: slideInBounce 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards;
          animation: slideInBounce 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}

@-webkit-keyframes slideInBounce {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes slideInBounce {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes fadeInArrow {
  0% {
    opacity: 0;
    -webkit-transform: translateX(clamp(0px, 20 / 1440 * 100vw, 20px));
            transform: translateX(clamp(0px, 20 / 1440 * 100vw, 20px));
  }
  @media (max-width: 768px) {
    0% {
      -webkit-transform: translateX(calc(20 / var(--view-size-sp) * 100vw));
              transform: translateX(calc(20 / var(--view-size-sp) * 100vw));
    }
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes fadeInArrow {
  0% {
    opacity: 0;
    -webkit-transform: translateX(clamp(0px, 20 / 1440 * 100vw, 20px));
            transform: translateX(clamp(0px, 20 / 1440 * 100vw, 20px));
  }
  @media (max-width: 768px) {
    0% {
      -webkit-transform: translateX(calc(20 / var(--view-size-sp) * 100vw));
              transform: translateX(calc(20 / var(--view-size-sp) * 100vw));
    }
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
.p-works__mobile-all-btn {
  display: none;
}
@media (max-width: 768px) {
  .p-works__mobile-all-btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: calc(50 / var(--view-size-sp) * 100vw);
    background-color: #000;
    color: #fff;
    padding: calc(4 / var(--view-size-sp) * 100vw) calc(8 / var(--view-size-sp) * 100vw) calc(4 / var(--view-size-sp) * 100vw) calc(24 / var(--view-size-sp) * 100vw);
    border-radius: calc(50 / var(--view-size-sp) * 100vw);
    text-decoration: none;
    font-size: calc(14 / var(--view-size-sp) * 100vw);
    font-weight: 500;
    margin-top: calc(40 / var(--view-size-sp) * 100vw);
    position: relative;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
    margin: 0 calc(20 / var(--view-size-sp) * 100vw);
    color: white;
  }
}

.p-works__mobile-all-btn-arrow {
  position: absolute;
  right: clamp(0px, 8 / 1440 * 100vw, 8px);
  width: clamp(0px, 44 / 1440 * 100vw, 44px);
  height: clamp(0px, 44 / 1440 * 100vw, 44px);
  background-color: #fff;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (max-width: 768px) {
  .p-works__mobile-all-btn-arrow {
    right: calc(8 / var(--view-size-sp) * 100vw);
    width: calc(44 / var(--view-size-sp) * 100vw);
    height: calc(44 / var(--view-size-sp) * 100vw);
  }
}
.p-works__mobile-all-btn-arrow img {
  width: clamp(0px, 15 / 1440 * 100vw, 15px);
  height: clamp(0px, 15 / 1440 * 100vw, 15px);
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 768px) {
  .p-works__mobile-all-btn-arrow img {
    width: calc(15 / var(--view-size-sp) * 100vw);
    height: calc(15 / var(--view-size-sp) * 100vw);
  }
}

@media (max-width: 768px) {
  .mwg_effect030 ul,
  .mwg_effect030 .media-container,
  .mwg_effect030 .medias,
  .p-works__cursor {
    display: none !important;
  }
  .p-works__title-en {
    margin-left: calc(20 / var(--view-size-sp) * 100vw);
    color: #000;
    font-size: calc(13 / var(--view-size-sp) * 100vw);
    margin-bottom: calc(24 / var(--view-size-sp) * 100vw);
  }
  body.p-works-active {
    background-color: #f9f9f9;
  }
  .mwg_effect030 {
    opacity: 1 !important;
    pointer-events: auto !important;
  }
}
.p-news {
  max-width: 1080px;
  margin: auto;
  padding: clamp(0px, 120 / 1440 * 100vw, 120px) clamp(0px, 40 / 1440 * 100vw, 40px) 0;
  opacity: 1;
  -webkit-transition: opacity 0.8s ease;
  transition: opacity 0.8s ease;
}
@media (max-width: 768px) {
  .p-news {
    padding: calc(80 / var(--view-size-sp) * 100vw) calc(20 / var(--view-size-sp) * 100vw) calc(40 / var(--view-size-sp) * 100vw);
    overflow: hidden;
  }
}
.p-news__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: clamp(0px, 60 / 1440 * 100vw, 60px);
}
@media (max-width: 768px) {
  .p-news__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
}
.p-news__title {
  font-family: "Unbounded", sans-serif;
  font-size: clamp(0px, 13 / 1440 * 100vw, 13px);
  font-weight: 400;
  color: #333;
  position: relative;
  display: inline-block;
  padding-left: clamp(0px, 16 / 1440 * 100vw, 16px);
  width: 40%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (max-width: 768px) {
  .p-news__title {
    width: auto;
    font-size: calc(13 / var(--view-size-sp) * 100vw);
    margin-bottom: calc(24 / var(--view-size-sp) * 100vw);
    padding-left: calc(16 / var(--view-size-sp) * 100vw);
  }
}
.p-news__title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 42%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: clamp(0px, 5 / 1440 * 100vw, 5px);
  height: clamp(0px, 5 / 1440 * 100vw, 5px);
  border-radius: 50%;
  background-color: rgb(207, 58, 128);
  -webkit-animation: pulse 1.5s ease-in-out infinite;
          animation: pulse 1.5s ease-in-out infinite;
}
@media (max-width: 768px) {
  .p-news__title::before {
    width: calc(5 / var(--view-size-sp) * 100vw);
    height: calc(5 / var(--view-size-sp) * 100vw);
  }
}
.p-news__content {
  width: 60%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(0px, 24 / 1440 * 100vw, 24px);
}
@media (max-width: 768px) {
  .p-news__content {
    width: 100%;
    gap: calc(24 / var(--view-size-sp) * 100vw);
  }
}
.p-news__list {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (max-width: 768px) {
  .p-news__list {
    position: relative;
    background-color: #fff;
    border-radius: calc(14 / var(--view-size-sp) * 100vw);
    padding: calc(36 / var(--view-size-sp) * 100vw) calc(36 / var(--view-size-sp) * 100vw) calc(48 / var(--view-size-sp) * 100vw);
    gap: calc(20 / var(--view-size-sp) * 100vw);
    width: calc(100% - 72 / var(--view-size-sp) * 100vw);
  }
}
@media (min-width: 769px) {
  .p-news__list:hover .p-news__item:hover {
    opacity: 1;
  }
}
.p-news__item {
  position: relative;
  display: block;
  text-decoration: none;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.p-news__item:not(:last-of-type) {
  padding-top: clamp(0px, 24 / 1440 * 100vw, 24px);
  padding-bottom: clamp(0px, 40 / 1440 * 100vw, 40px);
  border-bottom: 1px dotted #e0e0e0;
}
@media (max-width: 768px) {
  .p-news__item:not(:last-of-type) {
    padding-bottom: calc(20 / var(--view-size-sp) * 100vw);
  }
}
.p-news__item--last {
  border-bottom: none !important;
}
@media (max-width: 768px) {
  .p-news__item {
    padding-bottom: calc(20 / var(--view-size-sp) * 100vw);
  }
}
.p-news__item-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(0px, 16 / 1440 * 100vw, 16px);
  margin-bottom: clamp(0px, 12 / 1440 * 100vw, 12px);
}
@media (max-width: 768px) {
  .p-news__item-header {
    gap: calc(16 / var(--view-size-sp) * 100vw);
    margin-bottom: calc(12 / var(--view-size-sp) * 100vw);
  }
}
.p-news__date {
  font-family: "Unbounded", sans-serif;
  font-size: clamp(0px, 12 / 1440 * 100vw, 12px);
  font-weight: 300;
  color: #333;
}
@media (max-width: 768px) {
  .p-news__date {
    font-size: calc(12 / var(--view-size-sp) * 100vw);
  }
}
.p-news__category {
  display: inline-block;
  padding: clamp(0px, 2 / 1440 * 100vw, 2px) clamp(0px, 14 / 1440 * 100vw, 14px);
  background-color: #333;
  border-radius: clamp(0px, 50 / 1440 * 100vw, 50px);
  font-size: clamp(0px, 12 / 1440 * 100vw, 12px);
  color: white;
}
@media (max-width: 768px) {
  .p-news__category {
    padding: calc(2 / var(--view-size-sp) * 100vw) calc(14 / var(--view-size-sp) * 100vw);
    border-radius: calc(50 / var(--view-size-sp) * 100vw);
    font-size: calc(12 / var(--view-size-sp) * 100vw);
    background-color: #333;
    color: white;
  }
}
.p-news__item-title {
  font-size: clamp(0px, 16 / 1440 * 100vw, 16px);
  font-weight: 500;
  color: #333;
  margin: 0;
}
@media (max-width: 768px) {
  .p-news__item-title {
    font-size: calc(14 / var(--view-size-sp) * 100vw);
  }
}
.p-news__item-title span {
  display: inline;
  background-image: -webkit-gradient(linear, left top, right top, from(currentcolor), to(currentcolor));
  background-image: linear-gradient(90deg, currentcolor, currentcolor);
  background-repeat: no-repeat;
  background-size: 0% 1px;
  background-position: right bottom 0px;
  -webkit-transition: background-size 0.32s ease;
  transition: background-size 0.32s ease;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  line-height: 1.25;
  padding-bottom: clamp(0px, 4 / 1440 * 100vw, 4px);
}
@media (max-width: 768px) {
  .p-news__item-title span {
    background-size: 100% 1px;
    padding-bottom: clamp(0px, 4 / var(--view-size-sp) * 100vw, 4px);
  }
}
.p-news__item-title span.is-animated {
  background-size: 100% 1px;
  background-position: left bottom 0px;
}
.p-news__mobile-union {
  display: none;
}
@media (max-width: 768px) {
  .p-news__mobile-union {
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    width: calc(85 / var(--view-size-sp) * 100vw);
    height: calc(85 / var(--view-size-sp) * 100vw);
    opacity: 0;
    -webkit-transform: translate(50%, 50%);
            transform: translate(50%, 50%);
    pointer-events: none;
    z-index: 1;
  }
  .p-news__mobile-union img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .p-news__mobile-union.is-animated {
    -webkit-animation: slideUnion 0.4s ease-out forwards;
            animation: slideUnion 0.4s ease-out forwards;
  }
}
.p-news__mobile-more {
  display: none;
}
@media (max-width: 768px) {
  .p-news__mobile-more {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: calc(34 / var(--view-size-sp) * 100vw);
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 2;
  }
}
.p-news__mobile-more-text {
  font-family: "Unbounded", sans-serif;
  font-size: clamp(0px, 12 / 1440 * 100vw, 12px);
  font-weight: 400;
  color: #333;
}
@media (max-width: 768px) {
  .p-news__mobile-more-text {
    font-size: calc(12 / var(--view-size-sp) * 100vw);
    opacity: 0;
    -webkit-transform: translateX(calc(20 / var(--view-size-sp) * 100vw));
            transform: translateX(calc(20 / var(--view-size-sp) * 100vw));
  }
  .p-news__mobile-more-text.is-visible {
    -webkit-animation: fadeInText 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
            animation: fadeInText 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
  }
}
@-webkit-keyframes fadeInText {
  0% {
    opacity: 0;
    -webkit-transform: translateX(clamp(0px, 20 / 1440 * 100vw, 20px));
            transform: translateX(clamp(0px, 20 / 1440 * 100vw, 20px));
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes fadeInText {
  0% {
    opacity: 0;
    -webkit-transform: translateX(clamp(0px, 20 / 1440 * 100vw, 20px));
            transform: translateX(clamp(0px, 20 / 1440 * 100vw, 20px));
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@media (max-width: 768px) {
  .p-news__mobile-arrow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: calc(44 / var(--view-size-sp) * 100vw);
    height: calc(44 / var(--view-size-sp) * 100vw);
    background-color: #000;
    border-radius: 50%;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    opacity: 0;
    pointer-events: none;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .p-news__mobile-arrow img {
    width: calc(15 / var(--view-size-sp) * 100vw);
    height: calc(15 / var(--view-size-sp) * 100vw);
    -o-object-fit: contain;
       object-fit: contain;
    filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1" /><feFuncG type="linear" slope="1" /><feFuncB type="linear" slope="1" /></feComponentTransfer><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="table" tableValues="1 0" /><feFuncG type="table" tableValues="1 0" /><feFuncB type="table" tableValues="1 0" /></feComponentTransfer></filter></svg>#filter');
    -webkit-filter: brightness(0) invert(1);
            filter: brightness(0) invert(1);
  }
  .p-news__mobile-arrow.is-visible {
    -webkit-animation: fadeInArrow 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
            animation: fadeInArrow 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
    pointer-events: auto;
  }
}
.p-news__more-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media (max-width: 768px) {
  .p-news__more-wrapper {
    display: none;
  }
}
.p-news__more {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(0px, 12 / 1440 * 100vw, 12px);
  text-decoration: none;
  color: #333;
  font-family: "Unbounded", sans-serif;
  font-size: clamp(0px, 14 / 1440 * 100vw, 14px);
  white-space: nowrap;
}
@media (max-width: 768px) {
  .p-news__more {
    gap: calc(12 / var(--view-size-sp) * 100vw);
    font-size: calc(14 / var(--view-size-sp) * 100vw);
  }
}
.p-news__more-text {
  display: inline-block;
  position: relative;
}
.p-news__more-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #333;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
@media (min-width: 769px) {
  .p-news__more:hover .p-news__more-text::after {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-transform-origin: left;
            transform-origin: left;
  }
  .p-news__more:not(:hover) .p-news__more-text::after {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transform-origin: right;
            transform-origin: right;
  }
}
.p-news__more-arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(0px, 50 / 1440 * 100vw, 50px);
  height: clamp(0px, 50 / 1440 * 100vw, 50px);
  background-color: #000;
  border-radius: 50%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  overflow: hidden;
}
@media (max-width: 768px) {
  .p-news__more-arrow {
    width: calc(50 / var(--view-size-sp) * 100vw);
    height: calc(50 / var(--view-size-sp) * 100vw);
  }
}
.p-news__more-arrow img {
  width: clamp(0px, 15 / 1440 * 100vw, 15px);
  height: clamp(0px, 15 / 1440 * 100vw, 15px);
  -o-object-fit: contain;
     object-fit: contain;
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1" /><feFuncG type="linear" slope="1" /><feFuncB type="linear" slope="1" /></feComponentTransfer><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="table" tableValues="1 0" /><feFuncG type="table" tableValues="1 0" /><feFuncB type="table" tableValues="1 0" /></feComponentTransfer></filter></svg>#filter');
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
  position: relative;
}
@media (max-width: 768px) {
  .p-news__more-arrow img {
    width: calc(15 / var(--view-size-sp) * 100vw);
    height: calc(15 / var(--view-size-sp) * 100vw);
  }
}
@media (min-width: 769px) {
  .p-news__more:hover .p-news__more-arrow img {
    -webkit-animation: arrowBounceNews 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
            animation: arrowBounceNews 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  }
}
@-webkit-keyframes arrowBounceNews {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  50% {
    -webkit-transform: translateX(250%);
            transform: translateX(250%);
  }
  51% {
    -webkit-transform: translateX(-250%);
            transform: translateX(-250%);
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes arrowBounceNews {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  50% {
    -webkit-transform: translateX(250%);
            transform: translateX(250%);
  }
  51% {
    -webkit-transform: translateX(-250%);
            transform: translateX(-250%);
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

.p-essay-photo {
  margin: auto;
  padding: clamp(0px, 120 / 1440 * 100vw, 120px) clamp(0px, 40 / 1440 * 100vw, 40px) clamp(0px, 160 / 1440 * 100vw, 160px);
  overflow: hidden;
}
@media (max-width: 768px) {
  .p-essay-photo {
    padding: calc(40 / var(--view-size-sp) * 100vw) calc(20 / var(--view-size-sp) * 100vw) calc(80 / var(--view-size-sp) * 100vw);
  }
}
.p-essay-photo__container {
  max-width: 1080px;
  margin: 0 auto;
  overflow: visible;
}
.p-essay-photo__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-essay-photo__title {
  font-family: "Unbounded", sans-serif;
  font-size: clamp(0px, 13 / 1440 * 100vw, 13px);
  font-weight: 400;
  color: #333;
  margin-bottom: 0;
  position: relative;
  display: inline-block;
  padding-left: clamp(0px, 16 / 1440 * 100vw, 16px);
  margin-bottom: clamp(0px, 40 / 1440 * 100vw, 40px);
}
.p-essay-photo__title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 42%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: clamp(0px, 5 / 1440 * 100vw, 5px);
  height: clamp(0px, 5 / 1440 * 100vw, 5px);
  border-radius: 50%;
  background-color: rgb(60, 137, 141);
  -webkit-animation: pulse 1.5s ease-in-out infinite;
          animation: pulse 1.5s ease-in-out infinite;
}
@media (max-width: 768px) {
  .p-essay-photo__title::before {
    width: calc(5 / var(--view-size-sp) * 100vw);
    height: calc(5 / var(--view-size-sp) * 100vw);
  }
}
@media (max-width: 768px) {
  .p-essay-photo__title {
    font-size: calc(13 / var(--view-size-sp) * 100vw);
    padding-left: calc(16 / var(--view-size-sp) * 100vw);
    margin-bottom: calc(24 / var(--view-size-sp) * 100vw);
  }
}
.p-essay-photo__swiper {
  overflow: visible !important;
}
@media (max-width: 768px) {
  .p-essay-photo__swiper {
    width: calc(100% + 20 / var(--view-size-sp) * 100vw);
    margin-left: calc(-20 / var(--view-size-sp) * 100vw) !important;
    padding: 0 calc(20 / var(--view-size-sp) * 100vw) !important;
  }
}
.p-essay-photo__item-wrapper {
  position: relative;
  overflow: hidden;
  padding: clamp(0px, 20 / 1440 * 100vw, 20px);
  border-radius: clamp(0px, 20 / 1440 * 100vw, 20px);
}
@media (max-width: 768px) {
  .p-essay-photo__item-wrapper {
    padding: 0;
    border-radius: 0;
  }
}
.p-essay-photo__item-wrapper::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, .8);
  -webkit-transform: translate(-50%, -50%) scale(0.9);
          transform: translate(-50%, -50%) scale(0.9);
  -webkit-transition: opacity 0.25s ease, -webkit-transform 0.25s ease;
  transition: opacity 0.25s ease, -webkit-transform 0.25s ease;
  transition: transform 0.25s ease, opacity 0.25s ease;
  transition: transform 0.25s ease, opacity 0.25s ease, -webkit-transform 0.25s ease;
  z-index: 0;
  opacity: 0;
  border-radius: clamp(0px, 20 / 1440 * 100vw, 20px);
}
@media (max-width: 768px) {
  .p-essay-photo__item-wrapper::before {
    border-radius: 0;
  }
}
@media (min-width: 769px) {
  .p-essay-photo__item-wrapper:hover::before {
    -webkit-transform: translate(-50%, -50%) scale(1);
            transform: translate(-50%, -50%) scale(1);
    opacity: 1;
  }
}
.p-essay-photo__item-wrapper > * {
  position: relative;
  z-index: 1;
}
.p-essay-photo__item {
  display: block;
  text-decoration: none;
}
.p-essay-photo__image {
  width: 100%;
  aspect-ratio: 3/2;
  overflow: hidden;
  margin-bottom: clamp(0px, 16 / 1440 * 100vw, 16px);
  border-radius: clamp(0px, 12 / 1440 * 100vw, 12px);
  display: block;
}
@media (max-width: 768px) {
  .p-essay-photo__image {
    margin-bottom: calc(12 / var(--view-size-sp) * 100vw);
    border-radius: calc(12 / var(--view-size-sp) * 100vw);
  }
}
.p-essay-photo__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transform: scale(1.01);
          transform: scale(1.01);
  -webkit-transition: -webkit-transform 0.25s ease;
  transition: -webkit-transform 0.25s ease;
  transition: transform 0.25s ease;
  transition: transform 0.25s ease, -webkit-transform 0.25s ease;
  border-radius: clamp(0px, 12 / 1440 * 100vw, 12px);
}
@media (max-width: 768px) {
  .p-essay-photo__image img {
    border-radius: calc(12 / var(--view-size-sp) * 100vw);
  }
}
@media (min-width: 769px) {
  .p-essay-photo__item-wrapper:hover .p-essay-photo__image img {
    -webkit-transform: scale(0.98);
            transform: scale(0.98);
  }
}
.p-essay-photo__content {
  padding: 0;
}
.p-essay-photo__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(0px, 16 / 1440 * 100vw, 16px);
  margin-bottom: clamp(0px, 12 / 1440 * 100vw, 12px);
}
@media (max-width: 768px) {
  .p-essay-photo__meta {
    gap: calc(16 / var(--view-size-sp) * 100vw);
    margin-bottom: calc(8 / var(--view-size-sp) * 100vw);
  }
}
.p-essay-photo__date {
  font-family: "Unbounded", sans-serif;
  font-size: clamp(0px, 12 / 1440 * 100vw, 12px);
  font-weight: 300;
  color: #333;
}
@media (max-width: 768px) {
  .p-essay-photo__date {
    font-size: calc(12 / var(--view-size-sp) * 100vw);
  }
}
.p-essay-photo__category {
  display: inline-block;
  padding: clamp(0px, 2 / 1440 * 100vw, 2px) clamp(0px, 14 / 1440 * 100vw, 14px);
  background-color: #333;
  border-radius: clamp(0px, 50 / 1440 * 100vw, 50px);
  font-size: clamp(0px, 12 / 1440 * 100vw, 12px);
  color: white;
}
@media (max-width: 768px) {
  .p-essay-photo__category {
    padding: calc(2 / var(--view-size-sp) * 100vw) calc(12 / var(--view-size-sp) * 100vw);
    border-radius: calc(50 / var(--view-size-sp) * 100vw);
    font-size: calc(12 / var(--view-size-sp) * 100vw);
    background-color: #333;
    color: white;
  }
}
.p-essay-photo__item-title {
  font-size: clamp(0px, 16 / 1440 * 100vw, 16px);
  font-weight: 500;
  margin: 0;
}
@media (max-width: 768px) {
  .p-essay-photo__item-title {
    font-size: calc(14 / var(--view-size-sp) * 100vw);
  }
}
.p-essay-photo__item-title a {
  color: #333;
  text-decoration: none;
  display: inline;
  background-image: -webkit-gradient(linear, left top, right top, from(currentcolor), to(currentcolor));
  background-image: linear-gradient(90deg, currentcolor, currentcolor);
  background-repeat: no-repeat;
  background-size: 0% 1px;
  background-position: right bottom 0px;
  -webkit-transition: background-size 0.32s ease;
  transition: background-size 0.32s ease;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  line-height: 1.25;
  padding-bottom: clamp(0px, 4 / 1440 * 100vw, 4px);
}
@media (max-width: 768px) {
  .p-essay-photo__item-title a {
    background-size: 100% 1px;
    padding-bottom: clamp(0px, 4 / var(--view-size-sp) * 100vw, 4px);
  }
}
.p-essay-photo__item-title span {
  display: inline;
  background-image: -webkit-gradient(linear, left top, right top, from(currentcolor), to(currentcolor));
  background-image: linear-gradient(90deg, currentcolor, currentcolor);
  background-repeat: no-repeat;
  background-size: 0% 1px;
  background-position: right bottom 0px;
  -webkit-transition: background-size 0.32s ease;
  transition: background-size 0.32s ease;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  line-height: 1.25;
  padding-bottom: clamp(0px, 4 / 1440 * 100vw, 4px);
}
@media (max-width: 768px) {
  .p-essay-photo__item-title span {
    background-size: 100% 1px;
    padding-bottom: clamp(0px, 4 / var(--view-size-sp) * 100vw, 4px);
  }
}
.p-essay-photo__item-title span.is-animated {
  background-size: 100% 1px;
  background-position: left bottom 0px;
}
.p-essay-photo__pc-more-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: clamp(0px, 48 / 1440 * 100vw, 48px);
}
@media (max-width: 768px) {
  .p-essay-photo__pc-more-wrapper {
    display: none;
  }
}
.p-essay-photo__pc-more {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(0px, 12 / 1440 * 100vw, 12px);
  text-decoration: none;
  color: #333;
  font-family: "Unbounded", sans-serif;
  font-size: clamp(0px, 14 / 1440 * 100vw, 14px);
  white-space: nowrap;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (max-width: 768px) {
  .p-essay-photo__pc-more {
    gap: calc(12 / var(--view-size-sp) * 100vw);
    font-size: calc(14 / var(--view-size-sp) * 100vw);
  }
}
.p-essay-photo__pc-more span {
  display: inline-block;
  color: white;
  position: relative;
}
.p-essay-photo__pc-more span::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: white;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
@media (min-width: 769px) {
  .p-essay-photo__pc-more:hover span::after {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-transform-origin: left;
            transform-origin: left;
  }
  .p-essay-photo__pc-more:not(:hover) span::after {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transform-origin: right;
            transform-origin: right;
  }
}
.p-essay-photo__pc-more-arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(0px, 50 / 1440 * 100vw, 50px);
  height: clamp(0px, 50 / 1440 * 100vw, 50px);
  background-color: white;
  border-radius: 50%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  overflow: hidden;
}
@media (max-width: 768px) {
  .p-essay-photo__pc-more-arrow {
    width: calc(50 / var(--view-size-sp) * 100vw);
    height: calc(50 / var(--view-size-sp) * 100vw);
  }
}
.p-essay-photo__pc-more-arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: clamp(0px, 15 / 1440 * 100vw, 15px);
  height: clamp(0px, 15 / 1440 * 100vw, 15px);
  background-image: url("../images/arrow.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media (max-width: 768px) {
  .p-essay-photo__pc-more-arrow::before {
    width: calc(15 / var(--view-size-sp) * 100vw);
    height: calc(15 / var(--view-size-sp) * 100vw);
  }
}
@media (min-width: 769px) {
  .p-essay-photo__pc-more:hover .p-essay-photo__pc-more-arrow::before {
    -webkit-animation: arrowBouncePcMore 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
            animation: arrowBouncePcMore 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  }
}
@-webkit-keyframes arrowBouncePcMore {
  0% {
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  50% {
    -webkit-transform: translate(250%, -50%);
            transform: translate(250%, -50%);
  }
  51% {
    -webkit-transform: translate(-250%, -50%);
            transform: translate(-250%, -50%);
  }
  100% {
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}
@keyframes arrowBouncePcMore {
  0% {
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  50% {
    -webkit-transform: translate(250%, -50%);
            transform: translate(250%, -50%);
  }
  51% {
    -webkit-transform: translate(-250%, -50%);
            transform: translate(-250%, -50%);
  }
  100% {
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}
.p-essay-photo__more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(0px, 16 / 1440 * 100vw, 16px);
  width: 100%;
  aspect-ratio: 3/2;
  background-color: #f1f1f1;
  border-radius: clamp(0px, 12 / 1440 * 100vw, 12px);
  text-decoration: none;
  position: relative;
}
@media (min-width: 769px) {
  .p-essay-photo__more {
    width: 92%;
    margin: auto;
    margin-top: clamp(0px, 20 / 1440 * 100vw, 20px);
  }
}
@media (max-width: 768px) {
  .p-essay-photo__more {
    gap: calc(12 / var(--view-size-sp) * 100vw);
    border-radius: calc(12 / var(--view-size-sp) * 100vw);
  }
}
.p-essay-photo__more span {
  font-family: "Unbounded", sans-serif;
  font-size: clamp(0px, 14 / 1440 * 100vw, 14px);
  font-weight: 400;
  color: #000000;
  position: relative;
  display: inline-block;
}
@media (max-width: 768px) {
  .p-essay-photo__more span {
    font-size: calc(12 / var(--view-size-sp) * 100vw);
    margin-top: calc(16 / var(--view-size-sp) * 100vw);
  }
}
.p-essay-photo__more span::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #000;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
@media (min-width: 769px) {
  .p-essay-photo__more:hover span::after {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-transform-origin: left;
            transform-origin: left;
  }
  .p-essay-photo__more:not(:hover) span::after {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transform-origin: right;
            transform-origin: right;
  }
}
.p-essay-photo__more-circle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(0px, 50 / 1440 * 100vw, 50px);
  height: clamp(0px, 50 / 1440 * 100vw, 50px);
  background-color: #000;
  border-radius: 50%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  overflow: hidden;
}
@media (max-width: 768px) {
  .p-essay-photo__more-circle {
    width: calc(44 / var(--view-size-sp) * 100vw);
    height: calc(44 / var(--view-size-sp) * 100vw);
  }
}
.p-essay-photo__more-circle::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: clamp(0px, 15 / 1440 * 100vw, 15px);
  height: clamp(0px, 15 / 1440 * 100vw, 15px);
  background-image: url("../images/arrow.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1" /><feFuncG type="linear" slope="1" /><feFuncB type="linear" slope="1" /></feComponentTransfer><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="table" tableValues="1 0" /><feFuncG type="table" tableValues="1 0" /><feFuncB type="table" tableValues="1 0" /></feComponentTransfer></filter></svg>#filter');
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
  z-index: 1;
}
@media (max-width: 768px) {
  .p-essay-photo__more-circle::before {
    width: calc(15 / var(--view-size-sp) * 100vw);
    height: calc(15 / var(--view-size-sp) * 100vw);
  }
}
@media (min-width: 769px) {
  .p-essay-photo__more:hover .p-essay-photo__more-circle::before {
    -webkit-animation: arrowBounce 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
            animation: arrowBounce 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  }
}
@-webkit-keyframes arrowBounce {
  0% {
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  50% {
    -webkit-transform: translate(250%, -50%);
            transform: translate(250%, -50%);
  }
  51% {
    -webkit-transform: translate(-250%, -50%);
            transform: translate(-250%, -50%);
  }
  100% {
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}
@keyframes arrowBounce {
  0% {
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  50% {
    -webkit-transform: translate(250%, -50%);
            transform: translate(250%, -50%);
  }
  51% {
    -webkit-transform: translate(-250%, -50%);
            transform: translate(-250%, -50%);
  }
  100% {
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}

.p-contact-wrapper {
  text-align: center;
  padding: 0 clamp(0px, 40 / 1440 * 100vw, 40px);
}
@media (max-width: 768px) {
  .p-contact-wrapper {
    padding: 0;
  }
}

.p-contact {
  max-width: 1200px;
  padding: clamp(0px, 56 / 1440 * 100vw, 56px) 0px clamp(0px, 40 / 1440 * 100vw, 40px);
  background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab);
  background-size: 400% 400%;
  -webkit-animation: gradientShift 30s ease infinite;
          animation: gradientShift 30s ease infinite;
  border-radius: clamp(0px, 20 / 1440 * 100vw, 20px);
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}
.p-contact::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../images/noise.png");
  background-size: clamp(0px, 100 / 1440 * 100vw, 100px);
  background-repeat: repeat;
  mix-blend-mode: overlay;
  pointer-events: none;
  border-radius: clamp(0px, 20 / 1440 * 100vw, 20px);
  opacity: 0.15;
}
@media (max-width: 768px) {
  .p-contact::before {
    background-size: calc(100 / var(--view-size-sp) * 100vw);
    border-radius: calc(14 / var(--view-size-sp) * 100vw);
  }
}
@media (max-width: 768px) {
  .p-contact {
    padding: calc(44 / var(--view-size-sp) * 100vw) calc(20 / var(--view-size-sp) * 100vw) calc(40 / var(--view-size-sp) * 100vw);
    margin: 0 calc(20 / var(--view-size-sp) * 100vw);
    width: calc(100% - 80 / var(--view-size-sp) * 100vw);
    border-radius: calc(14 / var(--view-size-sp) * 100vw);
  }
}
@-webkit-keyframes gradientShift {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@keyframes gradientShift {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
.p-contact__container {
  max-width: 600px;
  margin: 0 auto;
  padding-top: clamp(0px, 4 / 1440 * 100vw, 4px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  overflow: hidden;
}
@media (max-width: 768px) {
  .p-contact__container {
    padding-top: calc(4 / var(--view-size-sp) * 100vw);
  }
}
.p-contact__pulse-dot {
  width: clamp(0px, 5 / 1440 * 100vw, 5px);
  height: clamp(0px, 5 / 1440 * 100vw, 5px);
  border-radius: 50%;
  background-color: #fff;
  -webkit-animation: pulse 1.5s ease-in-out infinite;
          animation: pulse 1.5s ease-in-out infinite;
  margin-bottom: clamp(0px, 6 / 1440 * 100vw, 6px);
}
@media (max-width: 768px) {
  .p-contact__pulse-dot {
    width: calc(5 / var(--view-size-sp) * 100vw);
    height: calc(5 / var(--view-size-sp) * 100vw);
    margin-bottom: calc(6 / var(--view-size-sp) * 100vw);
  }
}
.p-contact__title {
  font-family: "Unbounded", sans-serif;
  font-size: clamp(0px, 24 / 1440 * 100vw, 24px);
  font-weight: 400;
  color: #fff;
  margin-bottom: clamp(0px, 16 / 1440 * 100vw, 16px);
}
@media (max-width: 768px) {
  .p-contact__title {
    font-size: calc(20 / var(--view-size-sp) * 100vw);
    margin-bottom: calc(16 / var(--view-size-sp) * 100vw);
  }
}
.p-contact__text {
  font-size: clamp(0px, 16 / 1440 * 100vw, 16px);
  font-weight: 400;
  line-height: 1.8;
  color: #fff;
  margin-bottom: clamp(0px, 40 / 1440 * 100vw, 40px);
}
@media (max-width: 768px) {
  .p-contact__text {
    font-size: calc(14 / var(--view-size-sp) * 100vw);
    margin-bottom: calc(32 / var(--view-size-sp) * 100vw);
  }
}
.p-contact__button {
  position: relative;
  display: inline-block;
  padding: clamp(0px, 16 / 1440 * 100vw, 16px) clamp(0px, 48 / 1440 * 100vw, 48px);
  background-color: #000;
  border-radius: clamp(0px, 50 / 1440 * 100vw, 50px);
  color: #fff;
  font-size: clamp(0px, 16 / 1440 * 100vw, 16px);
  font-weight: 400;
  text-decoration: none;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  overflow: visible;
  font-weight: bold;
}
@media (max-width: 768px) {
  .p-contact__button {
    padding: calc(18 / var(--view-size-sp) * 100vw) calc(56 / var(--view-size-sp) * 100vw);
    font-size: calc(14 / var(--view-size-sp) * 100vw);
    border-radius: calc(50 / var(--view-size-sp) * 100vw);
  }
}
.p-contact__button::after {
  content: "";
  position: absolute;
  bottom: clamp(-100px, -100 / 1440 * 100vw, 0px);
  left: -100%;
  right: -100%;
  height: clamp(0px, 100 / 1440 * 100vw, 100px);
  background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab);
  background-size: 400% 400%;
  -webkit-animation: gradientShift 30s ease infinite;
          animation: gradientShift 30s ease infinite;
  z-index: 1;
}
@media (max-width: 768px) {
  .p-contact__button::after {
    bottom: calc(-100 / var(--view-size-sp) * 100vw);
    height: calc(100 / var(--view-size-sp) * 100vw);
  }
}
.p-contact__button span {
  position: relative;
  z-index: 2;
  color: white;
  font-family: "A+EqpB-游ゴシック体 Pr6N B", yugothic, sans-serif;
  font-weight: normal;
}
.p-contact__good-icon {
  position: absolute;
  bottom: clamp(-12px, -12 / 1440 * 100vw, 0px);
  right: clamp(-30px, -30 / 1440 * 100vw, 0px);
  width: clamp(0px, 80 / 1440 * 100vw, 80px);
  height: auto;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) 0.3s;
  transition: -webkit-transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) 0.3s;
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) 0.3s;
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) 0.3s, -webkit-transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) 0.3s;
}
@media (max-width: 768px) {
  .p-contact__good-icon {
    width: calc(60 / var(--view-size-sp) * 100vw);
    bottom: calc(-8 / var(--view-size-sp) * 100vw);
    right: calc(-20 / var(--view-size-sp) * 100vw);
  }
}
.p-contact__good-icon.is-visible {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
@-webkit-keyframes slideUpGood {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes slideUpGood {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

.p-footer {
  position: relative;
  padding: 0px clamp(0px, 40 / 1440 * 100vw, 40px) clamp(0px, 40 / 1440 * 100vw, 40px);
  margin: clamp(0px, 160 / 1440 * 100vw, 160px) auto 0;
}
@media (max-width: 768px) {
  .p-footer {
    padding: 0px calc(20 / var(--view-size-sp) * 100vw) calc(32 / var(--view-size-sp) * 100vw);
    margin: calc(80 / var(--view-size-sp) * 100vw) auto 0;
  }
}
.p-footer__inner {
  padding-top: clamp(0px, 60 / 1440 * 100vw, 60px);
  border-top: 1px dotted #cbcbcb;
  position: relative;
}
@media (max-width: 768px) {
  .p-footer__inner {
    padding-top: calc(40 / var(--view-size-sp) * 100vw);
  }
}
.p-footer__container {
  padding: 0 clamp(0px, 48 / 1440 * 100vw, 48px);
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-bottom: clamp(0px, 60 / 1440 * 100vw, 60px);
}
@media (max-width: 768px) {
  .p-footer__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: calc(32 / var(--view-size-sp) * 100vw);
    padding: 0 calc(10 / var(--view-size-sp) * 100vw);
  }
}
.p-footer__left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(0px, 24 / 1440 * 100vw, 24px);
}
@media (max-width: 768px) {
  .p-footer__left {
    width: 100%;
    margin-bottom: calc(8 / var(--view-size-sp) * 100vw);
    gap: calc(24 / var(--view-size-sp) * 100vw);
  }
}
.p-footer__logo {
  width: clamp(0px, 172 / 1440 * 100vw, 172px);
}
@media (max-width: 768px) {
  .p-footer__logo {
    width: calc(146 / var(--view-size-sp) * 100vw);
  }
}
.p-footer__logo a {
  display: block;
}
.p-footer__logo a img {
  width: 100%;
  height: auto;
  display: block;
}
.p-footer__logo p {
  font-size: clamp(0px, 12 / 1440 * 100vw, 12px);
  margin-top: clamp(0px, 12 / 1440 * 100vw, 12px);
  white-space: nowrap;
  font-weight: 400;
  color: #000;
}
@media (max-width: 768px) {
  .p-footer__logo p {
    font-size: calc(11 / var(--view-size-sp) * 100vw);
    margin-top: calc(12 / var(--view-size-sp) * 100vw);
  }
}
.p-footer__sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(0px, 16 / 1440 * 100vw, 16px);
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (max-width: 768px) {
  .p-footer__sns {
    margin-bottom: 0;
    gap: calc(20 / var(--view-size-sp) * 100vw);
  }
}
.p-footer__sns-item a {
  display: block;
  width: clamp(0px, 24 / 1440 * 100vw, 24px);
  height: clamp(0px, 24 / 1440 * 100vw, 24px);
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (max-width: 768px) {
  .p-footer__sns-item a {
    width: calc(28 / var(--view-size-sp) * 100vw);
    height: calc(28 / var(--view-size-sp) * 100vw);
  }
}
.p-footer__sns-item a:hover {
  opacity: 0.6;
}
.p-footer__sns-item a img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1" /><feFuncG type="linear" slope="1" /><feFuncB type="linear" slope="1" /></feComponentTransfer><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="table" tableValues="0 1" /><feFuncG type="table" tableValues="0 1" /><feFuncB type="table" tableValues="0 1" /></feComponentTransfer></filter></svg>#filter');
  -webkit-filter: brightness(0) invert(0);
          filter: brightness(0) invert(0);
}
@media (max-width: 768px) {
  .p-footer__nav {
    width: 100%;
  }
}
.p-footer__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(0px, 32 / 1440 * 100vw, 32px);
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (max-width: 768px) {
  .p-footer__menu {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(16 / var(--view-size-sp) * 100vw);
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    margin-bottom: 0;
  }
}
.p-footer__menu li a {
  font-family: "Unbounded", sans-serif;
  font-size: clamp(0px, 14 / 1440 * 100vw, 14px);
  font-weight: 400;
  color: #000;
  text-decoration: none;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.p-footer__menu li a:hover {
  opacity: 0.6;
}
@media (max-width: 768px) {
  .p-footer__menu li a {
    font-size: calc(15 / var(--view-size-sp) * 100vw);
  }
}
.p-footer__privacy-policy {
  font-size: clamp(0px, 12 / 1440 * 100vw, 12px);
  text-decoration: underline;
  opacity: 0.7;
}
@media (max-width: 768px) {
  .p-footer__privacy-policy {
    font-size: calc(12 / var(--view-size-sp) * 100vw);
  }
}
.p-footer__copyright {
  text-align: center;
  font-family: "Unbounded", sans-serif;
  font-size: clamp(0px, 12 / 1440 * 100vw, 12px);
  font-weight: 400;
  color: #000;
  margin: 0;
}
@media (max-width: 768px) {
  .p-footer__copyright {
    font-size: calc(11 / var(--view-size-sp) * 100vw);
    text-align: right;
    padding: 0 calc(12 / var(--view-size-sp) * 100vw);
  }
}
.p-footer__pagetop {
  position: absolute;
  top: clamp(-32px, -32 / 1440 * 100vw, 0px);
  right: clamp(0px, 40 / 1440 * 100vw, 40px);
  width: clamp(0px, 50 / 1440 * 100vw, 50px);
  height: clamp(0px, 50 / 1440 * 100vw, 50px);
  background-color: #000;
  border: clamp(0px, 8 / 1440 * 100vw, 8px) solid #f9f9f9;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  cursor: pointer;
  overflow: hidden;
}
@media (max-width: 768px) {
  .p-footer__pagetop {
    width: calc(48 / var(--view-size-sp) * 100vw);
    height: calc(48 / var(--view-size-sp) * 100vw);
    right: calc(12 / var(--view-size-sp) * 100vw);
    top: calc(-32 / var(--view-size-sp) * 100vw);
    border: calc(8 / var(--view-size-sp) * 100vw) solid #f9f9f9;
  }
}
.p-footer__pagetop img {
  width: clamp(0px, 15 / 1440 * 100vw, 15px);
  height: clamp(0px, 15 / 1440 * 100vw, 15px);
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1" /><feFuncG type="linear" slope="1" /><feFuncB type="linear" slope="1" /></feComponentTransfer><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="table" tableValues="1 0" /><feFuncG type="table" tableValues="1 0" /><feFuncB type="table" tableValues="1 0" /></feComponentTransfer></filter></svg>#filter');
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
@media (max-width: 768px) {
  .p-footer__pagetop img {
    width: calc(15 / var(--view-size-sp) * 100vw);
    height: calc(15 / var(--view-size-sp) * 100vw);
  }
}
@media (min-width: 769px) {
  .p-footer__pagetop:hover img {
    -webkit-animation: slideUpArrow 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
            animation: slideUpArrow 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  }
}
@-webkit-keyframes slideUpArrow {
  0% {
    -webkit-transform: rotate(-90deg) translateX(0);
            transform: rotate(-90deg) translateX(0);
  }
  50% {
    -webkit-transform: rotate(-90deg) translateX(250%);
            transform: rotate(-90deg) translateX(250%);
  }
  51% {
    -webkit-transform: rotate(-90deg) translateX(-250%);
            transform: rotate(-90deg) translateX(-250%);
  }
  100% {
    -webkit-transform: rotate(-90deg) translateX(0);
            transform: rotate(-90deg) translateX(0);
  }
}
@keyframes slideUpArrow {
  0% {
    -webkit-transform: rotate(-90deg) translateX(0);
            transform: rotate(-90deg) translateX(0);
  }
  50% {
    -webkit-transform: rotate(-90deg) translateX(250%);
            transform: rotate(-90deg) translateX(250%);
  }
  51% {
    -webkit-transform: rotate(-90deg) translateX(-250%);
            transform: rotate(-90deg) translateX(-250%);
  }
  100% {
    -webkit-transform: rotate(-90deg) translateX(0);
            transform: rotate(-90deg) translateX(0);
  }
}

.p-single__wrapper {
  max-width: 1080px;
  margin: 0 auto;
  padding: clamp(0px, 160 / 1440 * 100vw, 160px) clamp(0px, 40 / 1440 * 100vw, 40px) 0;
}
@media (max-width: 768px) {
  .p-single__wrapper {
    padding: calc(120 / var(--view-size-sp) * 100vw) 0 0;
  }
}

.p-single__hero-image {
  position: relative;
  width: 100%;
  height: clamp(0px, 600 / 1440 * 100vw, 600px);
  overflow: hidden;
  margin-bottom: clamp(0px, 60 / 1440 * 100vw, 60px);
}
@media (max-width: 768px) {
  .p-single__hero-image {
    height: calc(400 / var(--view-size-sp) * 100vw);
    margin-bottom: calc(40 / var(--view-size-sp) * 100vw);
  }
}
.p-single__hero-image-bg, .p-single__hero-image-fg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.p-single__hero-image-bg img, .p-single__hero-image-fg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.p-single__hero-image-bg {
  z-index: 1;
}
.p-single__hero-image-fg {
  z-index: 2;
  -webkit-clip-path: inset(0 0 50% 0);
          clip-path: inset(0 0 50% 0);
}

.p-single__breadcrumb {
  max-width: 800px;
  margin: 0 auto clamp(0px, 0.8333333333vw, 12px);
  padding: 0 clamp(0px, 40 / 1440 * 100vw, 40px);
  font-size: clamp(0px, 12 / 1440 * 100vw, 12px);
  color: #666;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(0px, 8 / 1440 * 100vw, 8px);
  overflow: scroll;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .p-single__breadcrumb {
    margin: 0 auto calc(16 / var(--view-size-sp) * 100vw);
    padding: 0 calc(20 / var(--view-size-sp) * 100vw);
    font-size: calc(11 / var(--view-size-sp) * 100vw);
    gap: calc(6 / var(--view-size-sp) * 100vw);
  }
}
.p-single__breadcrumb a {
  color: #333;
  text-decoration: underline;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.p-single__breadcrumb a:hover {
  opacity: 0.7;
}
.p-single__breadcrumb-separator {
  width: clamp(0px, 8 / 1440 * 100vw, 8px);
  height: clamp(0px, 1 / 1440 * 100vw, 1px);
  background-color: #999;
  display: block;
}
@media (max-width: 768px) {
  .p-single__breadcrumb-separator {
    width: calc(6 / var(--view-size-sp) * 100vw);
    height: calc(1 / var(--view-size-sp) * 100vw);
  }
}
.p-single__breadcrumb-current {
  color: #333;
  opacity: 0.6;
}

.p-single__wrapper__cont {
  max-width: 800px;
  margin: 0 auto;
  padding: 0;
  border-radius: clamp(0px, 20 / 1440 * 100vw, 20px);
}
@media (max-width: 768px) {
  .p-single__wrapper__cont {
    padding: calc(20 / var(--view-size-sp) * 100vw);
    padding-bottom: calc(40 / var(--view-size-sp) * 100vw);
    border-radius: calc(14 / var(--view-size-sp) * 100vw);
  }
}

.p-single__thumbnail {
  width: 100%;
  margin-bottom: clamp(0px, 32 / 1440 * 100vw, 32px);
  border-radius: clamp(0px, 12 / 1440 * 100vw, 12px);
  overflow: hidden;
}
@media (max-width: 768px) {
  .p-single__thumbnail {
    margin-bottom: calc(24 / var(--view-size-sp) * 100vw);
    border-radius: calc(12 / var(--view-size-sp) * 100vw);
  }
}
.p-single__thumbnail img {
  width: 100%;
  height: auto;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-single__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(0px, 16 / 1440 * 100vw, 16px);
  margin-bottom: clamp(0px, 16 / 1440 * 100vw, 16px);
}
@media (max-width: 768px) {
  .p-single__meta {
    gap: calc(16 / var(--view-size-sp) * 100vw);
    margin-bottom: calc(12 / var(--view-size-sp) * 100vw);
  }
}

.p-single__date {
  font-family: "Unbounded", sans-serif;
  font-size: clamp(0px, 12 / 1440 * 100vw, 12px);
  font-weight: 300;
  color: #333;
}
@media (max-width: 768px) {
  .p-single__date {
    font-size: calc(12 / var(--view-size-sp) * 100vw);
  }
}

.p-single__category {
  display: inline-block;
  padding: clamp(0px, 2 / 1440 * 100vw, 2px) clamp(0px, 14 / 1440 * 100vw, 14px);
  background-color: #333;
  border-radius: clamp(0px, 50 / 1440 * 100vw, 50px);
  font-size: clamp(0px, 12 / 1440 * 100vw, 12px);
  color: white;
}
@media (max-width: 768px) {
  .p-single__category {
    padding: calc(2 / var(--view-size-sp) * 100vw) calc(14 / var(--view-size-sp) * 100vw);
    border-radius: calc(50 / var(--view-size-sp) * 100vw);
    font-size: calc(12 / var(--view-size-sp) * 100vw);
  }
}

.p-single__title {
  font-size: clamp(0px, 24 / 1440 * 100vw, 24px);
  color: #333;
  font-weight: normal;
  line-height: 1.6;
  margin: 0 0 clamp(0px, 20 / 1440 * 100vw, 20px);
}
@media (max-width: 768px) {
  .p-single__title {
    font-size: calc(20 / var(--view-size-sp) * 100vw);
    margin: 0 0 calc(20 / var(--view-size-sp) * 100vw);
  }
}

.p-single__content {
  font-size: clamp(0px, 16 / 1440 * 100vw, 16px);
  line-height: 1.8;
  color: #333;
}
@media (max-width: 768px) {
  .p-single__content {
    font-size: calc(15 / var(--view-size-sp) * 100vw);
  }
}
.p-single__content img {
  max-width: 100%;
  height: auto;
  border-radius: clamp(0px, 8 / 1440 * 100vw, 8px);
  margin: clamp(0px, 32 / 1440 * 100vw, 32px) 0;
}
@media (max-width: 768px) {
  .p-single__content img {
    border-radius: calc(8 / var(--view-size-sp) * 100vw);
    margin: calc(24 / var(--view-size-sp) * 100vw) 0;
  }
}

.postLinks__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(0px, 32 / 1440 * 100vw, 32px);
  margin-top: clamp(0px, 80 / 1440 * 100vw, 80px);
  border-top: 1px solid #e2e2e2;
  padding: clamp(0px, 24 / 1440 * 100vw, 24px) clamp(0px, 8 / 1440 * 100vw, 8px);
}
@media (max-width: 768px) {
  .postLinks__wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(20 / var(--view-size-sp) * 100vw);
    margin-top: calc(60 / var(--view-size-sp) * 100vw);
    padding: calc(24 / var(--view-size-sp) * 100vw) calc(8 / var(--view-size-sp) * 100vw);
  }
}

.postLinks__block {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.postLinks__block a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(0px, 16 / 1440 * 100vw, 16px);
  text-decoration: none;
  color: #333;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (max-width: 768px) {
  .postLinks__block a {
    gap: calc(12 / var(--view-size-sp) * 100vw);
  }
}
.postLinks__block a:hover {
  opacity: 0.7;
}
.postLinks__block:first-child a {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
.postLinks__block:last-child a {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.postLinks__thumbnail {
  width: clamp(0px, 120 / 1440 * 100vw, 120px);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  overflow: hidden;
  border-radius: clamp(0px, 8 / 1440 * 100vw, 8px);
}
@media (max-width: 768px) {
  .postLinks__thumbnail {
    width: calc(100 / var(--view-size-sp) * 100vw);
    border-radius: calc(8 / var(--view-size-sp) * 100vw);
  }
}
.postLinks__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.postLinks__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(0px, 8 / 1440 * 100vw, 8px);
}
@media (max-width: 768px) {
  .postLinks__content {
    gap: calc(6 / var(--view-size-sp) * 100vw);
  }
}
.postLinks__block:last-child .postLinks__content {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  text-align: right;
}

.postLinks__label {
  font-size: clamp(0px, 12 / 1440 * 100vw, 12px);
  color: #999;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(0px, 8 / 1440 * 100vw, 8px);
}
@media (max-width: 768px) {
  .postLinks__label {
    font-size: calc(12 / var(--view-size-sp) * 100vw);
    gap: calc(6 / var(--view-size-sp) * 100vw);
  }
}

.postLinks__title {
  font-size: clamp(0px, 14 / 1440 * 100vw, 14px);
  font-weight: 500;
  color: #333;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (max-width: 768px) {
  .postLinks__title {
    font-size: calc(13 / var(--view-size-sp) * 100vw);
  }
}

.postLinks__yazirusi--left,
.postLinks__yazirusi--right {
  display: inline-block;
  width: clamp(0px, 8 / 1440 * 100vw, 8px);
  height: clamp(0px, 8 / 1440 * 100vw, 8px);
  position: relative;
}
@media (max-width: 768px) {
  .postLinks__yazirusi--left,
  .postLinks__yazirusi--right {
    width: calc(10 / var(--view-size-sp) * 100vw);
    height: calc(10 / var(--view-size-sp) * 100vw);
  }
}
.postLinks__yazirusi--left::before,
.postLinks__yazirusi--right::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  border-top: 2px solid #999;
  border-right: 2px solid #999;
}

.postLinks__yazirusi--left::before {
  -webkit-transform: translate(-25%, -50%) rotate(-135deg);
          transform: translate(-25%, -50%) rotate(-135deg);
}

.postLinks__yazirusi--right::before {
  -webkit-transform: translate(-75%, -50%) rotate(45deg);
          transform: translate(-75%, -50%) rotate(45deg);
}

.p-single-works__main__back {
  text-align: center;
  margin-top: clamp(0px, 30 / 1440 * 100vw, 30px);
}
@media (max-width: 768px) {
  .p-single-works__main__back {
    margin-top: calc(20 / var(--view-size-sp) * 100vw);
  }
}
.p-single-works__main__back a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(0px, 12 / 1440 * 100vw, 12px);
  text-decoration: underline;
  color: #333;
  font-size: clamp(0px, 14 / 1440 * 100vw, 14px);
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (max-width: 768px) {
  .p-single-works__main__back a {
    gap: calc(12 / var(--view-size-sp) * 100vw);
    font-size: calc(14 / var(--view-size-sp) * 100vw);
  }
}
.p-single-works__main__back a:hover {
  opacity: 0.7;
}

.p-article-list {
  margin: auto;
  padding: clamp(0px, 60 / 1440 * 100vw, 60px) clamp(0px, 40 / 1440 * 100vw, 40px) 0;
}
@media (max-width: 768px) {
  .p-article-list {
    padding: calc(40 / var(--view-size-sp) * 100vw) calc(20 / var(--view-size-sp) * 100vw) calc(40 / var(--view-size-sp) * 100vw);
  }
}
.p-article-list__container {
  max-width: 1440px;
  margin: 0 auto;
}
.p-article-list__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(0px, 32 / 1440 * 100vw, 32px) clamp(0px, 20 / 1440 * 100vw, 20px);
}
@media (max-width: 768px) {
  .p-article-list__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: calc(16 / var(--view-size-sp) * 100vw);
  }
}
.p-article-list__item-wrapper {
  position: relative;
  overflow: hidden;
  padding: clamp(0px, 20 / 1440 * 100vw, 20px);
  border-radius: clamp(0px, 20 / 1440 * 100vw, 20px);
}
@media (max-width: 768px) {
  .p-article-list__item-wrapper {
    padding: 0;
    border-radius: 0;
  }
}
.p-article-list__item-wrapper:not(.is-animated) {
  opacity: 0;
}
.p-article-list__item-wrapper::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, .8);
  -webkit-transform: translate(-50%, -50%) scale(0.9);
          transform: translate(-50%, -50%) scale(0.9);
  -webkit-transition: opacity 0.25s ease, -webkit-transform 0.25s ease;
  transition: opacity 0.25s ease, -webkit-transform 0.25s ease;
  transition: transform 0.25s ease, opacity 0.25s ease;
  transition: transform 0.25s ease, opacity 0.25s ease, -webkit-transform 0.25s ease;
  z-index: 0;
  opacity: 0;
  border-radius: clamp(0px, 20 / 1440 * 100vw, 20px);
}
@media (max-width: 768px) {
  .p-article-list__item-wrapper::before {
    border-radius: 0;
  }
}
@media (min-width: 769px) {
  .p-article-list__item-wrapper:hover::before {
    -webkit-transform: translate(-50%, -50%) scale(1);
            transform: translate(-50%, -50%) scale(1);
    opacity: 1;
  }
}
.p-article-list__item-wrapper > * {
  position: relative;
  z-index: 1;
}
.p-article-list__item {
  display: block;
  text-decoration: none;
}
.p-article-list__image {
  width: 100%;
  aspect-ratio: 3/2;
  overflow: hidden;
  margin-bottom: clamp(0px, 16 / 1440 * 100vw, 16px);
  border-radius: clamp(0px, 12 / 1440 * 100vw, 12px);
  display: block;
}
@media (max-width: 768px) {
  .p-article-list__image {
    margin-bottom: calc(12 / var(--view-size-sp) * 100vw);
    border-radius: calc(12 / var(--view-size-sp) * 100vw);
  }
}
.p-article-list__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transform: scale(1.01);
          transform: scale(1.01);
  -webkit-transition: -webkit-transform 0.25s ease;
  transition: -webkit-transform 0.25s ease;
  transition: transform 0.25s ease;
  transition: transform 0.25s ease, -webkit-transform 0.25s ease;
  border-radius: clamp(0px, 12 / 1440 * 100vw, 12px);
}
@media (max-width: 768px) {
  .p-article-list__image img {
    border-radius: calc(12 / var(--view-size-sp) * 100vw);
  }
}
@media (min-width: 769px) {
  .p-article-list__item-wrapper:hover .p-article-list__image img {
    -webkit-transform: scale(0.98);
            transform: scale(0.98);
  }
}
.p-article-list__content {
  padding: 0;
}
.p-article-list__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(0px, 16 / 1440 * 100vw, 16px);
  margin-bottom: clamp(0px, 12 / 1440 * 100vw, 12px);
}
@media (max-width: 768px) {
  .p-article-list__meta {
    gap: calc(16 / var(--view-size-sp) * 100vw);
    margin-bottom: calc(8 / var(--view-size-sp) * 100vw);
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.p-article-list__date {
  font-family: "Unbounded", sans-serif;
  font-size: clamp(0px, 12 / 1440 * 100vw, 12px);
  font-weight: 300;
  color: #333;
}
@media (max-width: 768px) {
  .p-article-list__date {
    font-size: calc(11 / var(--view-size-sp) * 100vw);
  }
}
.p-article-list__category {
  display: inline-block;
  padding: clamp(0px, 2 / 1440 * 100vw, 2px) clamp(0px, 14 / 1440 * 100vw, 14px);
  background-color: #333;
  border-radius: clamp(0px, 50 / 1440 * 100vw, 50px);
  font-size: clamp(0px, 12 / 1440 * 100vw, 12px);
  color: white;
}
@media (max-width: 768px) {
  .p-article-list__category {
    padding: calc(2 / var(--view-size-sp) * 100vw) calc(8 / var(--view-size-sp) * 100vw);
    border-radius: calc(50 / var(--view-size-sp) * 100vw);
    font-size: calc(10 / var(--view-size-sp) * 100vw);
    background-color: #333;
    color: white;
  }
}
.p-article-list__item-title {
  font-size: clamp(0px, 16 / 1440 * 100vw, 16px);
  font-weight: 500;
  margin: 0;
}
@media (max-width: 768px) {
  .p-article-list__item-title {
    font-size: calc(14 / var(--view-size-sp) * 100vw);
  }
}
.p-article-list__item-title a {
  color: #333;
  text-decoration: none;
  position: relative;
  display: inline;
  background-image: -webkit-gradient(linear, left top, right top, from(currentcolor), to(currentcolor));
  background-image: linear-gradient(90deg, currentcolor, currentcolor);
  background-repeat: no-repeat;
  background-size: 0% 1px;
  background-position: right bottom 0px;
  -webkit-transition: background-size 0.32s ease;
  transition: background-size 0.32s ease;
  padding-bottom: clamp(0px, 4 / 1440 * 100vw, 4px);
}
@media (max-width: 768px) {
  .p-article-list__item-title a {
    background-size: 100% 1px;
    background-position: left bottom 0px;
    padding-bottom: clamp(0px, 4 / var(--view-size-sp) * 100vw, 4px);
  }
}
@media (min-width: 769px) {
  .p-article-list__item-wrapper:hover .p-article-list__item-title a {
    background-size: 100% 1px;
    background-position: left bottom 0px;
  }
}
.p-article-list__pagination {
  margin-top: clamp(0px, 60 / 1440 * 100vw, 60px);
  text-align: center;
}
@media (max-width: 768px) {
  .p-article-list__pagination {
    margin-top: calc(40 / var(--view-size-sp) * 100vw);
  }
}
.p-article-list__pagination .page-numbers {
  display: inline-block;
  padding: clamp(0px, 8 / 1440 * 100vw, 8px) clamp(0px, 12 / 1440 * 100vw, 12px);
  margin: 0 clamp(0px, 4 / 1440 * 100vw, 4px);
  text-decoration: none;
  color: #333;
  border-radius: 0;
  position: relative;
  border-bottom: 1px solid #e2e2e2;
}
@media (max-width: 768px) {
  .p-article-list__pagination .page-numbers {
    padding: calc(8 / var(--view-size-sp) * 100vw) calc(12 / var(--view-size-sp) * 100vw);
    margin: 0 calc(4 / var(--view-size-sp) * 100vw);
  }
}
.p-article-list__pagination .page-numbers::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #333;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition: -webkit-transform 0.32s ease;
  transition: -webkit-transform 0.32s ease;
  transition: transform 0.32s ease;
  transition: transform 0.32s ease, -webkit-transform 0.32s ease;
}
.p-article-list__pagination .page-numbers.current::after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}
.p-article-list__pagination .page-numbers:hover:not(.current)::after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  -webkit-transform-origin: left;
          transform-origin: left;
}
.p-article-list__pagination .page-numbers:not(:hover):not(.current)::after {
  -webkit-transform-origin: right;
          transform-origin: right;
}
.p-article-list__pagination .page-numbers.prev, .p-article-list__pagination .page-numbers.next {
  border-bottom: none;
  padding: clamp(0px, 20 / 1440 * 100vw, 20px) clamp(0px, 12 / 1440 * 100vw, 12px) 0;
}
.p-article-list__pagination .page-numbers.prev::after, .p-article-list__pagination .page-numbers.next::after {
  display: none;
}
@media (max-width: 768px) {
  .p-article-list__pagination .page-numbers.prev, .p-article-list__pagination .page-numbers.next {
    padding: calc(12 / var(--view-size-sp) * 100vw) calc(4 / var(--view-size-sp) * 100vw) 0;
  }
}
.p-article-list__pagination .page-numbers.prev img, .p-article-list__pagination .page-numbers.next img {
  width: clamp(0px, 12 / 1440 * 100vw, 12px);
  height: auto;
  display: block;
}
@media (max-width: 768px) {
  .p-article-list__pagination .page-numbers.prev img, .p-article-list__pagination .page-numbers.next img {
    width: calc(12 / var(--view-size-sp) * 100vw);
  }
}
.p-article-list__pagination .page-numbers.prev img {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.p-article-list__no-posts {
  text-align: center;
  color: #666;
  padding: clamp(0px, 60 / 1440 * 100vw, 60px) 0;
}
@media (max-width: 768px) {
  .p-article-list__no-posts {
    padding: calc(40 / var(--view-size-sp) * 100vw) 0;
  }
}

.page-about__subtitle-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(0px, 12 / 1440 * 100vw, 12px);
}
@media (max-width: 768px) {
  .page-about__subtitle-wrapper {
    gap: calc(10 / var(--view-size-sp) * 100vw);
  }
}
.page-about__pulse-dot {
  width: clamp(0px, 5 / 1440 * 100vw, 5px);
  height: clamp(0px, 5 / 1440 * 100vw, 5px);
  border-radius: 50%;
  background-color: rgb(229, 70, 78);
  -webkit-animation: pulse 1.5s ease-in-out infinite;
          animation: pulse 1.5s ease-in-out infinite;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (max-width: 768px) {
  .page-about__pulse-dot {
    width: calc(5 / var(--view-size-sp) * 100vw);
    height: calc(5 / var(--view-size-sp) * 100vw);
  }
}
.page-about__subtitle {
  font-family: "A+EqpB-游ゴシック体 Pr6N B", yugothic, sans-serif;
  font-weight: normal;
  font-size: clamp(0px, 18 / 1440 * 100vw, 18px);
  line-height: 2;
}
@media (max-width: 768px) {
  .page-about__subtitle {
    font-size: calc(14 / var(--view-size-sp) * 100vw);
  }
}
.page-about__content {
  padding: clamp(0px, 60 / 1440 * 100vw, 60px) clamp(0px, 40 / 1440 * 100vw, 40px) clamp(0px, 60 / 1440 * 100vw, 60px);
  max-width: 1080px;
  margin: auto;
}
@media (max-width: 768px) {
  .page-about__content {
    padding: calc(40 / var(--view-size-sp) * 100vw) calc(20 / var(--view-size-sp) * 100vw) calc(40 / var(--view-size-sp) * 100vw);
  }
}
.page-about__content-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: clamp(0px, 60 / 1440 * 100vw, 60px);
}
@media (max-width: 768px) {
  .page-about__content-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
}
.page-about__section-title {
  font-family: "Unbounded", sans-serif;
  font-size: clamp(0px, 13 / 1440 * 100vw, 13px);
  font-weight: 400;
  color: #333;
  position: relative;
  display: inline-block;
  padding-left: clamp(0px, 16 / 1440 * 100vw, 16px);
}
.page-about__content-container .page-about__section-title {
  width: 40%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (max-width: 768px) {
  .page-about__content-container .page-about__section-title {
    width: auto;
    font-size: calc(13 / var(--view-size-sp) * 100vw);
    margin-bottom: calc(24 / var(--view-size-sp) * 100vw);
    padding-left: calc(16 / var(--view-size-sp) * 100vw);
  }
}
.page-about__member-container .page-about__section-title {
  width: auto;
}
@media (max-width: 768px) {
  .page-about__member-container .page-about__section-title {
    margin-bottom: 0;
    font-size: calc(13 / var(--view-size-sp) * 100vw);
    padding-left: calc(16 / var(--view-size-sp) * 100vw);
  }
}
.page-about__section-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 42%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: clamp(0px, 5 / 1440 * 100vw, 5px);
  height: clamp(0px, 5 / 1440 * 100vw, 5px);
  border-radius: 50%;
  background-color: rgb(229, 70, 78);
  -webkit-animation: pulse 1.5s ease-in-out infinite;
          animation: pulse 1.5s ease-in-out infinite;
}
@media (max-width: 768px) {
  .page-about__section-title::before {
    width: calc(5 / var(--view-size-sp) * 100vw);
    height: calc(5 / var(--view-size-sp) * 100vw);
  }
}
.page-about__profile {
  list-style: none;
  padding: 0;
  margin: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 100%;
}
.page-about__profile-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(0px, 40 / 1440 * 100vw, 40px);
  padding: clamp(0px, 40 / 1440 * 100vw, 40px) 0;
}
@media (max-width: 768px) {
  .page-about__profile-item {
    gap: calc(20 / var(--view-size-sp) * 100vw);
    padding: calc(20 / var(--view-size-sp) * 100vw) 0;
  }
}
.page-about__profile-item:not(:last-child) {
  border-bottom: 1px dotted #e0e0e0;
}
.page-about__profile-item:first-child {
  padding-top: 0;
}
@media (max-width: 768px) {
  .page-about__profile-item:first-child {
    padding-top: calc(20 / var(--view-size-sp) * 100vw);
  }
}
.page-about__profile-label {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: clamp(0px, 200 / 1440 * 100vw, 200px);
  font-family: "A+EqpB-游ゴシック体 Pr6N B", yugothic, sans-serif;
  font-size: clamp(0px, 16 / 1440 * 100vw, 16px);
  line-height: 1.8;
}
@media (max-width: 768px) {
  .page-about__profile-label {
    width: calc(100 / var(--view-size-sp) * 100vw);
    font-size: calc(14 / var(--view-size-sp) * 100vw);
  }
}
.page-about__profile-value {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: clamp(0px, 16 / 1440 * 100vw, 16px);
  line-height: 1.8;
}
@media (max-width: 768px) {
  .page-about__profile-value {
    font-size: calc(14 / var(--view-size-sp) * 100vw);
  }
}
.page-about__member {
  padding: clamp(0px, 60 / 1440 * 100vw, 60px) clamp(0px, 40 / 1440 * 100vw, 40px) clamp(0px, 120 / 1440 * 100vw, 120px);
  max-width: 1080px;
  margin: auto;
}
@media (max-width: 768px) {
  .page-about__member {
    padding: calc(40 / var(--view-size-sp) * 100vw) calc(20 / var(--view-size-sp) * 100vw) calc(80 / var(--view-size-sp) * 100vw);
  }
}
.page-about__member-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(0px, 40 / 1440 * 100vw, 40px);
}
@media (max-width: 768px) {
  .page-about__member-container {
    gap: calc(24 / var(--view-size-sp) * 100vw);
  }
}
.page-about__member-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(0px, 60 / 1440 * 100vw, 60px);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 768px) {
  .page-about__member-content {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: calc(20 / var(--view-size-sp) * 100vw);
  }
}
.page-about__member-image {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 28%;
}
@media (max-width: 768px) {
  .page-about__member-image {
    width: 48%;
  }
}
.page-about__member-image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: clamp(0px, 10 / 1440 * 100vw, 10px);
}
@media (max-width: 768px) {
  .page-about__member-image img {
    border-radius: calc(14 / var(--view-size-sp) * 100vw);
  }
}
.page-about__member-info {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(0px, 16 / 1440 * 100vw, 16px);
}
@media (max-width: 768px) {
  .page-about__member-info {
    width: 100%;
    gap: calc(8 / var(--view-size-sp) * 100vw);
  }
}
@media (max-width: 768px) {
  .page-about__member-header-sp {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.page-about__member-company {
  font-size: clamp(0px, 14 / 1440 * 100vw, 14px);
  line-height: 1.8;
  margin: 0;
}
@media (max-width: 768px) {
  .page-about__member-company {
    font-size: calc(11 / var(--view-size-sp) * 100vw);
  }
}
.page-about__member-name {
  font-size: clamp(0px, 24 / 1440 * 100vw, 24px);
  font-weight: bold;
  line-height: 1.6;
  color: #333;
  margin: 0;
}
@media (max-width: 768px) {
  .page-about__member-name {
    font-size: calc(20 / var(--view-size-sp) * 100vw);
  }
}
.page-about__member-bio {
  font-size: clamp(0px, 16 / 1440 * 100vw, 16px);
  line-height: 1.8;
  color: #000;
  margin: 0;
}
@media (max-width: 768px) {
  .page-about__member-bio {
    display: none;
  }
}
.page-about__member-bio__sp {
  display: none;
  font-size: clamp(0px, 16 / 1440 * 100vw, 16px);
  line-height: 1.8;
  color: #000;
  margin: 0;
}
@media (max-width: 768px) {
  .page-about__member-bio__sp {
    display: block;
    font-size: calc(14 / var(--view-size-sp) * 100vw);
    width: 100%;
  }
}

@keyframes pulse {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  10% {
    -webkit-transform: scale(1.4);
            transform: scale(1.4);
  }
  20% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  30% {
    -webkit-transform: scale(1.4);
            transform: scale(1.4);
  }
  40% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
.page-works__content {
  padding: clamp(0px, 60 / 1440 * 100vw, 60px) clamp(0px, 40 / 1440 * 100vw, 40px) 0;
  max-width: 1440px;
  margin: auto;
  overflow: hidden;
}
@media (max-width: 768px) {
  .page-works__content {
    padding: calc(40 / var(--view-size-sp) * 100vw) calc(20 / var(--view-size-sp) * 100vw) calc(0 / var(--view-size-sp) * 100vw);
  }
}
.page-works__container {
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(0px, 24 / 1440 * 100vw, 24px);
}
@media (min-width: 769px) {
  .page-works__container {
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(0px, 24 / 1440 * 100vw, 24px);
  }
}
@media (max-width: 768px) {
  .page-works__container {
    gap: calc(24 / var(--view-size-sp) * 100vw);
  }
}
.page-works__note {
  margin-top: clamp(0px, 64 / 1440 * 100vw, 64px);
  text-decoration: underline;
  text-align: center;
  font-size: clamp(0px, 14 / 1440 * 100vw, 14px);
}
@media (max-width: 768px) {
  .page-works__note {
    margin-top: calc(32 / var(--view-size-sp) * 100vw);
    font-size: calc(12 / var(--view-size-sp) * 100vw);
  }
}

.page-all__content {
  padding: clamp(0px, 60 / 1440 * 100vw, 60px) clamp(0px, 40 / 1440 * 100vw, 40px) 0;
  max-width: 1440px;
  margin: auto;
}
@media (max-width: 768px) {
  .page-all__content {
    padding: 0 calc(20 / var(--view-size-sp) * 100vw);
  }
}
.page-all__container {
  max-width: 800px;
  margin: 0 auto;
}
.page-all__list {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0;
}
@media (max-width: 768px) {
  .page-all__list {
    gap: 0;
  }
}
@media (min-width: 769px) {
  .page-all__list:hover .page-all__item {
    opacity: 0.5;
  }
  .page-all__list:hover .page-all__item:hover {
    opacity: 1;
  }
}
.page-all__item {
  position: relative;
  display: block;
  text-decoration: none;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  padding-top: clamp(0px, 24 / 1440 * 100vw, 24px);
  padding-bottom: clamp(0px, 40 / 1440 * 100vw, 40px);
}
.page-all__item:not(:last-child) {
  border-bottom: 1px dotted #e0e0e0;
}
@media (max-width: 768px) {
  .page-all__item {
    padding-top: calc(24 / var(--view-size-sp) * 100vw);
    padding-bottom: calc(40 / var(--view-size-sp) * 100vw);
  }
}
.page-all__item:not(.is-animated) {
  opacity: 0;
}
.page-all__item-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(0px, 16 / 1440 * 100vw, 16px);
  margin-bottom: clamp(0px, 12 / 1440 * 100vw, 12px);
}
@media (max-width: 768px) {
  .page-all__item-header {
    gap: calc(16 / var(--view-size-sp) * 100vw);
    margin-bottom: calc(12 / var(--view-size-sp) * 100vw);
  }
}
.page-all__date {
  font-family: "Unbounded", sans-serif;
  font-size: clamp(0px, 12 / 1440 * 100vw, 12px);
  font-weight: 300;
  color: #333;
}
@media (max-width: 768px) {
  .page-all__date {
    font-size: calc(12 / var(--view-size-sp) * 100vw);
  }
}
.page-all__category {
  display: inline-block;
  padding: clamp(0px, 2 / 1440 * 100vw, 2px) clamp(0px, 14 / 1440 * 100vw, 14px);
  background-color: #333;
  border-radius: clamp(0px, 50 / 1440 * 100vw, 50px);
  font-size: clamp(0px, 12 / 1440 * 100vw, 12px);
  color: white;
}
@media (max-width: 768px) {
  .page-all__category {
    padding: calc(2 / var(--view-size-sp) * 100vw) calc(14 / var(--view-size-sp) * 100vw);
    border-radius: calc(50 / var(--view-size-sp) * 100vw);
    font-size: calc(12 / var(--view-size-sp) * 100vw);
    background-color: #333;
    color: white;
  }
}
.page-all__item-title {
  font-size: clamp(0px, 16 / 1440 * 100vw, 16px);
  font-weight: 500;
  color: #333;
  margin: 0;
  position: relative;
  display: inline;
  background-image: -webkit-gradient(linear, left top, right top, from(currentcolor), to(currentcolor));
  background-image: linear-gradient(90deg, currentcolor, currentcolor);
  background-repeat: no-repeat;
  background-size: 0% 1px;
  background-position: right bottom 0px;
  -webkit-transition: background-size 0.32s ease;
  transition: background-size 0.32s ease;
  padding-bottom: clamp(0px, 4 / 1440 * 100vw, 4px);
}
@media (max-width: 768px) {
  .page-all__item-title {
    font-size: calc(14 / var(--view-size-sp) * 100vw);
    background-size: 100% 1px;
    background-position: left bottom 0px;
    padding-bottom: clamp(0px, 4 / var(--view-size-sp) * 100vw, 4px);
  }
}
@media (min-width: 769px) {
  .page-all__item:hover .page-all__item-title {
    background-size: 100% 1px;
    background-position: left bottom 0px;
  }
}
.page-all__pagination {
  margin-top: clamp(0px, 60 / 1440 * 100vw, 60px);
  text-align: center;
}
@media (max-width: 768px) {
  .page-all__pagination {
    margin-top: calc(40 / var(--view-size-sp) * 100vw);
  }
}
.page-all__pagination:not(.is-animated) {
  opacity: 0;
}
.page-all__pagination .page-numbers {
  display: inline-block;
  padding: clamp(0px, 8 / 1440 * 100vw, 8px) clamp(0px, 12 / 1440 * 100vw, 12px);
  margin: 0 clamp(0px, 4 / 1440 * 100vw, 4px);
  text-decoration: none;
  color: #333;
  border-bottom: 1px solid #e2e2e2;
  border-radius: 0;
  -webkit-transition: background-color 0.3s ease, color 0.3s ease;
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media (max-width: 768px) {
  .page-all__pagination .page-numbers {
    padding: calc(8 / var(--view-size-sp) * 100vw) calc(12 / var(--view-size-sp) * 100vw);
    margin: 0 calc(4 / var(--view-size-sp) * 100vw);
  }
}
.page-all__pagination .page-numbers.current {
  border-color: #333;
}
.page-all__pagination .page-numbers:hover:not(.current) {
  background-color: #f9f9f9;
}
.page-all__pagination .page-numbers.prev, .page-all__pagination .page-numbers.next {
  border-bottom: none;
  padding: clamp(0px, 20 / 1440 * 100vw, 20px) clamp(0px, 12 / 1440 * 100vw, 12px) 0;
}
@media (max-width: 768px) {
  .page-all__pagination .page-numbers.prev, .page-all__pagination .page-numbers.next {
    padding: calc(12 / var(--view-size-sp) * 100vw) calc(4 / var(--view-size-sp) * 100vw) 0;
  }
}
.page-all__pagination .page-numbers.prev img, .page-all__pagination .page-numbers.next img {
  width: clamp(0px, 12 / 1440 * 100vw, 12px);
  height: auto;
  display: block;
}
@media (max-width: 768px) {
  .page-all__pagination .page-numbers.prev img, .page-all__pagination .page-numbers.next img {
    width: calc(12 / var(--view-size-sp) * 100vw);
  }
}
.page-all__pagination .page-numbers.prev img {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.page-contact__content {
  padding: clamp(0px, 60 / 1440 * 100vw, 60px) clamp(0px, 40 / 1440 * 100vw, 40px) 0;
  max-width: 1440px;
  margin: auto;
}
@media (max-width: 768px) {
  .page-contact__content {
    padding: calc(40 / var(--view-size-sp) * 100vw) calc(20 / var(--view-size-sp) * 100vw) calc(0 / var(--view-size-sp) * 100vw);
  }
}
.page-contact__container {
  max-width: 800px;
  margin: 0 auto;
}
.page-contact__intro {
  font-size: clamp(0px, 16 / 1440 * 100vw, 16px);
  line-height: 1.8;
  text-align: left;
  margin-bottom: clamp(0px, 60 / 1440 * 100vw, 60px);
}
@media (max-width: 768px) {
  .page-contact__intro {
    font-size: calc(14 / var(--view-size-sp) * 100vw);
    margin-bottom: calc(40 / var(--view-size-sp) * 100vw);
  }
}
.page-contact__form .wpcf7-form table.inquiry {
  display: block;
  width: 100%;
  border: none;
}
.page-contact__form .wpcf7-form table.inquiry tbody {
  display: block;
}
.page-contact__form .wpcf7-form table.inquiry tr {
  display: block;
  margin-bottom: clamp(0px, 32 / 1440 * 100vw, 32px);
}
@media (max-width: 768px) {
  .page-contact__form .wpcf7-form table.inquiry tr {
    margin-bottom: calc(24 / var(--view-size-sp) * 100vw);
  }
}
.page-contact__form .wpcf7-form table.inquiry th,
.page-contact__form .wpcf7-form table.inquiry td {
  display: block;
  width: 100%;
  padding: 0;
  border: none;
}
.page-contact__form .wpcf7-form table.inquiry th {
  margin-bottom: clamp(0px, 12 / 1440 * 100vw, 12px);
}
@media (max-width: 768px) {
  .page-contact__form .wpcf7-form table.inquiry th {
    margin-bottom: calc(8 / var(--view-size-sp) * 100vw);
  }
}
.page-contact__form .wpcf7-form table.inquiry th p {
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(0px, 8 / 1440 * 100vw, 8px);
}
.page-contact__form .wpcf7-form table.inquiry th p span:first-child {
  font-size: clamp(0px, 16 / 1440 * 100vw, 16px);
  font-family: "A+EqpB-游ゴシック体 Pr6N B", yugothic, sans-serif;
  color: #333;
  font-weight: normal;
}
@media (max-width: 768px) {
  .page-contact__form .wpcf7-form table.inquiry th p span:first-child {
    font-size: calc(14 / var(--view-size-sp) * 100vw);
  }
}
.page-contact__form .wpcf7-form table.inquiry th p .haveto {
  font-size: clamp(0px, 12 / 1440 * 100vw, 12px);
  font-weight: bold;
  color: #db3300;
}
@media (max-width: 768px) {
  .page-contact__form .wpcf7-form table.inquiry th p .haveto {
    font-size: calc(10 / var(--view-size-sp) * 100vw);
  }
}
.page-contact__form .wpcf7-form table.inquiry td p {
  margin: 0;
}
.page-contact__form .wpcf7-form input[type=text],
.page-contact__form .wpcf7-form input[type=email],
.page-contact__form .wpcf7-form textarea {
  width: 100%;
  padding: clamp(0px, 20 / 1440 * 100vw, 20px) clamp(0px, 20 / 1440 * 100vw, 20px);
  font-size: clamp(0px, 16 / 1440 * 100vw, 16px);
  border: 1px solid #ddd;
  border-radius: clamp(0px, 8 / 1440 * 100vw, 8px);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: border-color 0.3s ease;
  transition: border-color 0.3s ease;
}
@media (max-width: 768px) {
  .page-contact__form .wpcf7-form input[type=text],
  .page-contact__form .wpcf7-form input[type=email],
  .page-contact__form .wpcf7-form textarea {
    padding: calc(16 / var(--view-size-sp) * 100vw);
    font-size: calc(14 / var(--view-size-sp) * 100vw);
    border-radius: calc(6 / var(--view-size-sp) * 100vw);
  }
}
.page-contact__form .wpcf7-form input[type=text]:focus,
.page-contact__form .wpcf7-form input[type=email]:focus,
.page-contact__form .wpcf7-form textarea:focus {
  outline: none;
}
.page-contact__form .wpcf7-form input[type=text]::-webkit-input-placeholder,
.page-contact__form .wpcf7-form input[type=email]::-webkit-input-placeholder,
.page-contact__form .wpcf7-form textarea::-webkit-input-placeholder {
  color: #999;
}
.page-contact__form .wpcf7-form input[type=text]::-moz-placeholder,
.page-contact__form .wpcf7-form input[type=email]::-moz-placeholder,
.page-contact__form .wpcf7-form textarea::-moz-placeholder {
  color: #999;
}
.page-contact__form .wpcf7-form input[type=text]::-ms-input-placeholder,
.page-contact__form .wpcf7-form input[type=email]::-ms-input-placeholder,
.page-contact__form .wpcf7-form textarea::-ms-input-placeholder {
  color: #999;
}
.page-contact__form .wpcf7-form input[type=text]::placeholder,
.page-contact__form .wpcf7-form input[type=email]::placeholder,
.page-contact__form .wpcf7-form textarea::placeholder {
  color: #999;
}
.page-contact__form .wpcf7-form textarea {
  min-height: clamp(0px, 200 / 1440 * 100vw, 200px);
  resize: vertical;
}
@media (max-width: 768px) {
  .page-contact__form .wpcf7-form textarea {
    min-height: calc(160 / var(--view-size-sp) * 100vw);
  }
}
.page-contact__form .wpcf7-form .form-box {
  margin-top: clamp(0px, 40 / 1440 * 100vw, 40px);
}
@media (max-width: 768px) {
  .page-contact__form .wpcf7-form .form-box {
    margin-top: calc(32 / var(--view-size-sp) * 100vw);
  }
}
.page-contact__form .wpcf7-form .form-box p {
  position: relative;
  width: 100%;
  margin: 0;
}
.page-contact__form .wpcf7-form .form-box input[type=submit] {
  background-color: #000;
  color: #fff;
  font-size: clamp(0px, 16 / 1440 * 100vw, 16px);
  font-weight: bold;
  padding: clamp(0px, 20 / 1440 * 100vw, 20px) clamp(0px, 40 / 1440 * 100vw, 40px);
  border: none;
  border-radius: clamp(0px, 50 / 1440 * 100vw, 50px);
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
  width: 100%;
  font-family: "A+EqpB-游ゴシック体 Pr6N B", yugothic, sans-serif;
  font-weight: normal;
  height: clamp(0px, 66 / 1440 * 100vw, 66px);
}
@media (max-width: 768px) {
  .page-contact__form .wpcf7-form .form-box input[type=submit] {
    font-size: calc(14 / var(--view-size-sp) * 100vw);
    padding: v calc(32 / var(--view-size-sp) * 100vw);
    border-radius: calc(40 / var(--view-size-sp) * 100vw);
    height: calc(60 / var(--view-size-sp) * 100vw);
  }
}
.page-contact__form .wpcf7-form .form-box input[type=submit]:hover {
  background-color: #333;
}
.page-contact__form .wpcf7-form .form-box input[type=submit]:active {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.page-contact__form .wpcf7-form .form-box p::after {
  content: "";
  position: absolute;
  right: clamp(0px, 8 / 1440 * 100vw, 8px);
  top: clamp(0px, 8 / 1440 * 100vw, 8px);
  width: clamp(0px, 50 / 1440 * 100vw, 50px);
  height: clamp(0px, 50 / 1440 * 100vw, 50px);
  background-color: #fff;
  background-image: url(../images/arrow.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: clamp(0px, 15 / 1440 * 100vw, 15px);
  border-radius: 50%;
  pointer-events: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (max-width: 768px) {
  .page-contact__form .wpcf7-form .form-box p::after {
    width: calc(44 / var(--view-size-sp) * 100vw);
    height: calc(44 / var(--view-size-sp) * 100vw);
    right: calc(8 / var(--view-size-sp) * 100vw);
    top: calc(8 / var(--view-size-sp) * 100vw);
    background-size: calc(15 / var(--view-size-sp) * 100vw);
  }
}
.page-contact__form .wpcf7-form .wpcf7-not-valid-tip {
  font-size: clamp(0px, 14 / 1440 * 100vw, 14px);
  color: #0b264a;
  margin-top: clamp(0px, 8 / 1440 * 100vw, 8px);
  font-family: "A+EqpB-游ゴシック体 Pr6N B", yugothic, sans-serif;
}
@media (max-width: 768px) {
  .page-contact__form .wpcf7-form .wpcf7-not-valid-tip {
    font-size: calc(12 / var(--view-size-sp) * 100vw);
    margin-top: calc(6 / var(--view-size-sp) * 100vw);
  }
}
.page-contact__form .wpcf7-form .wpcf7-response-output {
  margin-top: clamp(0px, 24 / 1440 * 100vw, 24px);
  padding: clamp(0px, 16 / 1440 * 100vw, 16px);
  border-radius: clamp(0px, 8 / 1440 * 100vw, 8px);
  font-size: clamp(0px, 14 / 1440 * 100vw, 14px);
}
@media (max-width: 768px) {
  .page-contact__form .wpcf7-form .wpcf7-response-output {
    margin-top: calc(20 / var(--view-size-sp) * 100vw);
    padding: calc(12 / var(--view-size-sp) * 100vw);
    font-size: calc(12 / var(--view-size-sp) * 100vw);
  }
}
.page-contact__form .wpcf7-form .wpcf7-response-output.wpcf7-validation-errors {
  background-color: #fff0f0;
  border: 1px solid #0b264a;
  color: #0b264a;
}
.page-contact__form .wpcf7-form .wpcf7-response-output.wpcf7-mail-sent-ok {
  background-color: #f0fdf4;
  border: 1px solid #22c55e;
  color: #16a34a;
}

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

.page-privacy__content {
  padding: clamp(0px, 200 / 1440 * 100vw, 200px) clamp(0px, 40 / 1440 * 100vw, 40px) 0;
  max-width: 1200px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .page-privacy__content {
    padding: calc(160 / var(--view-size-sp) * 100vw) calc(20 / var(--view-size-sp) * 100vw) 0;
  }
}
.page-privacy__container {
  max-width: 800px;
  margin: 0 auto;
}
.page-privacy__header {
  margin-bottom: clamp(0px, 60 / 1440 * 100vw, 60px);
}
@media (max-width: 768px) {
  .page-privacy__header {
    margin-bottom: calc(40 / var(--view-size-sp) * 100vw);
  }
}
.page-privacy__title {
  font-size: clamp(0px, 48 / 1440 * 100vw, 48px);
  font-weight: 400;
  color: #333;
  font-family: "Unbounded", sans-serif;
}
@media (max-width: 768px) {
  .page-privacy__title {
    font-size: calc(26 / var(--view-size-sp) * 100vw);
  }
}
.page-privacy__subtitle {
  font-size: clamp(0px, 18 / 1440 * 100vw, 18px);
  font-weight: normal;
  margin: 0;
  color: #666;
  font-family: "A+EqpB-游ゴシック体 Pr6N B", yugothic, sans-serif;
}
@media (max-width: 768px) {
  .page-privacy__subtitle {
    font-size: calc(14 / var(--view-size-sp) * 100vw);
  }
}
.page-privacy__intro {
  margin-bottom: clamp(0px, 60 / 1440 * 100vw, 60px);
  padding: 0;
  background: transparent;
  border: none;
}
@media (max-width: 768px) {
  .page-privacy__intro {
    margin-bottom: calc(40 / var(--view-size-sp) * 100vw);
  }
}
.page-privacy__intro p {
  margin: 0;
  line-height: 1.8;
  font-size: clamp(0px, 15 / 1440 * 100vw, 15px);
}
@media (max-width: 768px) {
  .page-privacy__intro p {
    font-size: calc(14 / var(--view-size-sp) * 100vw);
  }
}
.page-privacy__article {
  margin-bottom: clamp(0px, 48 / 1440 * 100vw, 48px);
}
@media (max-width: 768px) {
  .page-privacy__article {
    margin-bottom: calc(40 / var(--view-size-sp) * 100vw);
  }
}
.page-privacy__article:last-child {
  margin-bottom: 0;
}
.page-privacy__article-title {
  font-size: clamp(0px, 20 / 1440 * 100vw, 20px);
  margin: 0 0 clamp(0px, 16 / 1440 * 100vw, 16px);
  color: #333;
  font-family: "A+EqpB-游ゴシック体 Pr6N B", yugothic, sans-serif;
  font-weight: normal;
}
@media (max-width: 768px) {
  .page-privacy__article-title {
    font-size: calc(18 / var(--view-size-sp) * 100vw);
    margin: 0 0 calc(12 / var(--view-size-sp) * 100vw);
  }
}
.page-privacy__article-text {
  line-height: 1.8;
  margin: 0 0 clamp(0px, 16 / 1440 * 100vw, 16px);
  font-size: clamp(0px, 15 / 1440 * 100vw, 15px);
  color: #555;
}
@media (max-width: 768px) {
  .page-privacy__article-text {
    font-size: calc(14 / var(--view-size-sp) * 100vw);
    margin: 0 0 calc(12 / var(--view-size-sp) * 100vw);
  }
}
.page-privacy__article-text:last-child {
  margin-bottom: 0;
}
.page-privacy__article-text a {
  text-decoration: underline;
}
.page-privacy__list {
  list-style: none;
  padding: 0;
  margin: 0 0 clamp(0px, 16 / 1440 * 100vw, 16px);
}
@media (max-width: 768px) {
  .page-privacy__list {
    margin: 0 0 calc(12 / var(--view-size-sp) * 100vw);
  }
}
.page-privacy__list:last-child {
  margin-bottom: 0;
}
.page-privacy__list li {
  position: relative;
  padding-left: clamp(0px, 20 / 1440 * 100vw, 20px);
  margin-bottom: clamp(0px, 8 / 1440 * 100vw, 8px);
  line-height: 1.8;
  font-size: clamp(0px, 15 / 1440 * 100vw, 15px);
  color: #555;
}
@media (max-width: 768px) {
  .page-privacy__list li {
    padding-left: calc(16 / var(--view-size-sp) * 100vw);
    margin-bottom: calc(8 / var(--view-size-sp) * 100vw);
    font-size: calc(14 / var(--view-size-sp) * 100vw);
  }
}
.page-privacy__list li::before {
  content: "・";
  position: absolute;
  left: 0;
  color: #333;
}
.page-privacy__list li:last-child {
  margin-bottom: 0;
}

.page-404__hero {
  padding: clamp(0px, 200 / 1440 * 100vw, 200px) clamp(0px, 40 / 1440 * 100vw, 40px) clamp(0px, 40 / 1440 * 100vw, 40px);
  max-width: 1440px;
  margin: auto;
}
@media (max-width: 768px) {
  .page-404__hero {
    padding: calc(160 / var(--view-size-sp) * 100vw) calc(20 / var(--view-size-sp) * 100vw) calc(20 / var(--view-size-sp) * 100vw);
  }
}
.page-404__hero-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0;
}
@media (max-width: 768px) {
  .page-404__hero-container {
    gap: 0;
  }
}
.page-404__title {
  margin: 0;
  line-height: 1;
}
.page-404__title-image {
  width: clamp(0px, 400 / 1440 * 100vw, 400px);
  height: auto;
  display: block;
  margin: auto;
}
@media (max-width: 768px) {
  .page-404__title-image {
    width: calc(200 / var(--view-size-sp) * 100vw);
  }
}
.page-404__subtitle {
  font-family: "A+EqpB-游ゴシック体 Pr6N B", yugothic, sans-serif;
  font-weight: normal;
  font-size: clamp(0px, 18 / 1440 * 100vw, 18px);
  line-height: 2;
  margin: 0;
  text-align: center;
  margin-top: clamp(0px, 20 / 1440 * 100vw, 20px);
}
@media (max-width: 768px) {
  .page-404__subtitle {
    font-size: calc(14 / var(--view-size-sp) * 100vw);
    margin-top: calc(20 / var(--view-size-sp) * 100vw);
  }
}
.page-404__content {
  padding: clamp(0px, 0 / 1440 * 100vw, 0px) clamp(0px, 40 / 1440 * 100vw, 40px) clamp(0px, 120 / 1440 * 100vw, 120px);
  max-width: 1080px;
  margin: auto;
}
@media (max-width: 768px) {
  .page-404__content {
    padding: calc(0 / var(--view-size-sp) * 100vw) calc(20 / var(--view-size-sp) * 100vw) calc(80 / var(--view-size-sp) * 100vw);
  }
}
.page-404__content-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(0px, 40 / 1440 * 100vw, 40px);
  text-align: center;
}
@media (max-width: 768px) {
  .page-404__content-container {
    gap: calc(32 / var(--view-size-sp) * 100vw);
  }
}
.page-404__message {
  font-size: clamp(0px, 16 / 1440 * 100vw, 16px);
  line-height: 1.8;
  margin: 0;
}
@media (max-width: 768px) {
  .page-404__message {
    font-size: calc(14 / var(--view-size-sp) * 100vw);
  }
}
.page-404__button {
  display: inline-block;
  padding: clamp(0px, 16 / 1440 * 100vw, 16px) clamp(0px, 48 / 1440 * 100vw, 48px);
  background-color: #000;
  color: #fff;
  text-decoration: none;
  border-radius: 10000px;
  font-size: clamp(0px, 16 / 1440 * 100vw, 16px);
  -webkit-transition: background-color 0.3s ease, -webkit-transform 0.2s ease;
  transition: background-color 0.3s ease, -webkit-transform 0.2s ease;
  transition: background-color 0.3s ease, transform 0.2s ease;
  transition: background-color 0.3s ease, transform 0.2s ease, -webkit-transform 0.2s ease;
  font-family: "A+EqpB-游ゴシック体 Pr6N B", yugothic, sans-serif;
}
@media (max-width: 768px) {
  .page-404__button {
    padding: calc(14 / var(--view-size-sp) * 100vw) calc(40 / var(--view-size-sp) * 100vw);
    font-size: calc(14 / var(--view-size-sp) * 100vw);
  }
}

.single-all__wrapper {
  max-width: 1080px;
  margin: 0 auto;
  padding: clamp(0px, 160 / 1440 * 100vw, 160px) clamp(0px, 40 / 1440 * 100vw, 40px) 0;
}
@media (max-width: 768px) {
  .single-all__wrapper {
    padding: calc(120 / var(--view-size-sp) * 100vw) 0 0;
  }
}
.single-all__breadcrumb {
  max-width: 800px;
  margin: 0 auto clamp(0px, 0.8333333333vw, 12px);
  padding: 0 clamp(0px, 40 / 1440 * 100vw, 40px);
  font-size: clamp(0px, 12 / 1440 * 100vw, 12px);
  color: #666;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(0px, 8 / 1440 * 100vw, 8px);
  overflow: scroll;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .single-all__breadcrumb {
    margin: 0 auto calc(8 / var(--view-size-sp) * 100vw);
    padding: 0 calc(20 / var(--view-size-sp) * 100vw);
    font-size: calc(11 / var(--view-size-sp) * 100vw);
    gap: calc(6 / var(--view-size-sp) * 100vw);
  }
}
.single-all__breadcrumb a {
  color: #333;
  text-decoration: underline;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.single-all__breadcrumb a:hover {
  opacity: 0.7;
}
.single-all__breadcrumb-separator {
  width: clamp(0px, 8 / 1440 * 100vw, 8px);
  height: clamp(0px, 8 / 1440 * 100vw, 8px);
  background: url('data:image/svg+xml;charset=utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 8"%3E%3Cpath d="M2 1L6 4L2 7" fill="none" stroke="%23999" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/%3E%3C/svg%3E') no-repeat center;
  background-size: contain;
}
@media (max-width: 768px) {
  .single-all__breadcrumb-separator {
    width: calc(8 / var(--view-size-sp) * 100vw);
    height: calc(8 / var(--view-size-sp) * 100vw);
  }
}
.single-all__breadcrumb-current {
  color: #333;
  opacity: 0.6;
}
.single-all__wrapper__cont {
  max-width: 800px;
  margin: 0 auto;
  background: inherit;
  padding: 0;
  padding-top: clamp(0px, 20 / 1440 * 100vw, 20px);
  border-radius: clamp(0px, 20 / 1440 * 100vw, 20px);
}
@media (max-width: 768px) {
  .single-all__wrapper__cont {
    padding: calc(20 / var(--view-size-sp) * 100vw) calc(20 / var(--view-size-sp) * 100vw) 0;
    border-radius: calc(14 / var(--view-size-sp) * 100vw);
  }
}
.single-all__thumbnail {
  width: 100%;
  margin-bottom: clamp(0px, 32 / 1440 * 100vw, 32px);
  border-radius: clamp(0px, 12 / 1440 * 100vw, 12px);
  overflow: hidden;
}
@media (max-width: 768px) {
  .single-all__thumbnail {
    margin-bottom: calc(24 / var(--view-size-sp) * 100vw);
    border-radius: calc(12 / var(--view-size-sp) * 100vw);
  }
}
.single-all__thumbnail img {
  width: 100%;
  height: auto;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
.single-all__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(0px, 16 / 1440 * 100vw, 16px);
  margin-bottom: clamp(0px, 16 / 1440 * 100vw, 16px);
}
@media (max-width: 768px) {
  .single-all__meta {
    gap: calc(16 / var(--view-size-sp) * 100vw);
    margin-bottom: calc(12 / var(--view-size-sp) * 100vw);
  }
}
.single-all__date {
  font-family: "Unbounded", sans-serif;
  font-size: clamp(0px, 12 / 1440 * 100vw, 12px);
  font-weight: 300;
  color: #333;
}
@media (max-width: 768px) {
  .single-all__date {
    font-size: calc(12 / var(--view-size-sp) * 100vw);
  }
}
.single-all__category {
  display: inline-block;
  padding: clamp(0px, 2 / 1440 * 100vw, 2px) clamp(0px, 14 / 1440 * 100vw, 14px);
  background-color: #333;
  border-radius: clamp(0px, 50 / 1440 * 100vw, 50px);
  font-size: clamp(0px, 12 / 1440 * 100vw, 12px);
  color: white;
}
@media (max-width: 768px) {
  .single-all__category {
    padding: calc(2 / var(--view-size-sp) * 100vw) calc(14 / var(--view-size-sp) * 100vw);
    border-radius: calc(50 / var(--view-size-sp) * 100vw);
    font-size: calc(12 / var(--view-size-sp) * 100vw);
  }
}
.single-all__category a {
  color: white;
  text-decoration: none;
}
.single-all__title {
  font-size: clamp(0px, 24 / 1440 * 100vw, 24px);
  font-weight: normal;
  color: #333;
  line-height: 1.6;
  margin: 0 0 clamp(0px, 20 / 1440 * 100vw, 20px);
}
@media (max-width: 768px) {
  .single-all__title {
    font-size: calc(20 / var(--view-size-sp) * 100vw);
    margin: 0 0 calc(20 / var(--view-size-sp) * 100vw);
  }
}
.single-all__content {
  font-size: clamp(0px, 16 / 1440 * 100vw, 16px);
  line-height: 1.8;
  color: #333;
}
@media (max-width: 768px) {
  .single-all__content {
    font-size: calc(15 / var(--view-size-sp) * 100vw);
  }
}
.single-all__content img {
  max-width: 100%;
  height: auto;
  border-radius: clamp(0px, 8 / 1440 * 100vw, 8px);
  margin: clamp(0px, 32 / 1440 * 100vw, 32px) 0;
}
@media (max-width: 768px) {
  .single-all__content img {
    border-radius: calc(8 / var(--view-size-sp) * 100vw);
    margin: calc(24 / var(--view-size-sp) * 100vw) 0;
  }
}
.single-all__content p:last-child {
  margin-bottom: 0;
}
.single-all__content h2,
.single-all__content h3,
.single-all__content h4 {
  margin: clamp(0px, 40 / 1440 * 100vw, 40px) 0 clamp(0px, 20 / 1440 * 100vw, 20px);
  font-weight: 600;
}
@media (max-width: 768px) {
  .single-all__content h2,
  .single-all__content h3,
  .single-all__content h4 {
    margin: calc(32 / var(--view-size-sp) * 100vw) 0 calc(16 / var(--view-size-sp) * 100vw);
  }
}
.single-all__post-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(0px, 32 / 1440 * 100vw, 32px);
  margin-top: clamp(0px, 80 / 1440 * 100vw, 80px);
  border-top: 1px solid #e2e2e2;
  padding: clamp(0px, 24 / 1440 * 100vw, 24px) clamp(0px, 8 / 1440 * 100vw, 8px);
}
@media (max-width: 768px) {
  .single-all__post-links {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(20 / var(--view-size-sp) * 100vw);
    margin-top: calc(60 / var(--view-size-sp) * 100vw);
    padding: calc(24 / var(--view-size-sp) * 100vw) calc(8 / var(--view-size-sp) * 100vw);
  }
}
.single-all__post-link {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.single-all__post-link a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(0px, 16 / 1440 * 100vw, 16px);
  text-decoration: none;
  color: #333;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (max-width: 768px) {
  .single-all__post-link a {
    gap: calc(12 / var(--view-size-sp) * 100vw);
  }
}
.single-all__post-link a:hover {
  opacity: 0.7;
}
.single-all__post-link:first-child a {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
.single-all__post-link:last-child a {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.single-all__post-link-content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(0px, 8 / 1440 * 100vw, 8px);
}
@media (max-width: 768px) {
  .single-all__post-link-content {
    gap: calc(6 / var(--view-size-sp) * 100vw);
  }
}
.single-all__post-link:last-child .single-all__post-link-content {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  text-align: right;
}
.single-all__post-link-label {
  font-size: clamp(0px, 12 / 1440 * 100vw, 12px);
  color: #999;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(0px, 8 / 1440 * 100vw, 8px);
}
@media (max-width: 768px) {
  .single-all__post-link-label {
    font-size: calc(12 / var(--view-size-sp) * 100vw);
    gap: calc(6 / var(--view-size-sp) * 100vw);
  }
}
.single-all__post-link-title {
  font-size: clamp(0px, 14 / 1440 * 100vw, 14px);
  font-weight: 500;
  color: #333;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (max-width: 768px) {
  .single-all__post-link-title {
    font-size: calc(13 / var(--view-size-sp) * 100vw);
  }
}
.single-all__arrow--left, .single-all__arrow--right {
  display: inline-block;
  width: clamp(0px, 8 / 1440 * 100vw, 8px);
  height: clamp(0px, 8 / 1440 * 100vw, 8px);
  position: relative;
}
@media (max-width: 768px) {
  .single-all__arrow--left, .single-all__arrow--right {
    width: calc(10 / var(--view-size-sp) * 100vw);
    height: calc(10 / var(--view-size-sp) * 100vw);
  }
}
.single-all__arrow--left::before, .single-all__arrow--right::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  border-top: 2px solid #999;
  border-right: 2px solid #999;
}
.single-all__arrow--left::before {
  -webkit-transform: translate(-25%, -50%) rotate(-135deg);
          transform: translate(-25%, -50%) rotate(-135deg);
}
.single-all__arrow--right::before {
  -webkit-transform: translate(-75%, -50%) rotate(45deg);
          transform: translate(-75%, -50%) rotate(45deg);
}
.single-all__back {
  text-align: center;
  margin-top: clamp(0px, 30 / 1440 * 100vw, 30px);
}
@media (max-width: 768px) {
  .single-all__back {
    margin-top: calc(20 / var(--view-size-sp) * 100vw);
  }
}
.single-all__back a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(0px, 12 / 1440 * 100vw, 12px);
  text-decoration: underline;
  color: #333;
  font-size: clamp(0px, 14 / 1440 * 100vw, 14px);
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (max-width: 768px) {
  .single-all__back a {
    gap: calc(12 / var(--view-size-sp) * 100vw);
    font-size: calc(14 / var(--view-size-sp) * 100vw);
  }
}
.single-all__back a:hover {
  opacity: 0.7;
}

.p-single-works__wrapper {
  max-width: 1440px;
  margin: 0 auto;
  padding: clamp(0px, 200 / 1440 * 100vw, 200px) clamp(0px, 40 / 1440 * 100vw, 40px) clamp(0px, 0vw, 0px);
}
@media (max-width: 768px) {
  .p-single-works__wrapper {
    padding: calc(140 / var(--view-size-sp) * 100vw) calc(0 / var(--view-size-sp) * 100vw) 0;
  }
}
.p-single-works__hero-image {
  position: relative;
  width: 100%;
  height: clamp(0px, 600 / 1440 * 100vw, 600px);
  overflow: hidden;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
@media (max-width: 768px) {
  .p-single-works__hero-image {
    height: calc(320 / var(--view-size-sp) * 100vw);
    background-size: 132%;
  }
}
.p-single-works__overlay {
  width: 100%;
  margin-bottom: clamp(0px, 48 / 1440 * 100vw, 48px);
}
.p-single-works__overlay-inner {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media (max-width: 768px) {
  .p-single-works__overlay-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: calc(20 / var(--view-size-sp) * 100vw);
    padding: 0 calc(20 / var(--view-size-sp) * 100vw);
  }
}
.p-single-works__info {
  text-align: left;
  color: #000;
  pointer-events: auto;
  width: 100%;
}
.p-single-works__headline {
  font-size: clamp(0px, 16 / 1440 * 100vw, 16px);
  margin-bottom: clamp(0px, 16 / 1440 * 100vw, 16px);
  font-weight: normal;
}
@media (max-width: 768px) {
  .p-single-works__headline {
    font-size: calc(13 / var(--view-size-sp) * 100vw);
  }
}
.p-single-works__english {
  font-family: "Unbounded", sans-serif;
  font-size: clamp(0px, 72 / 1440 * 100vw, 72px);
  line-height: 1.2;
  font-weight: 400;
}
@media (max-width: 768px) {
  .p-single-works__english {
    font-size: calc(36 / var(--view-size-sp) * 100vw);
    margin: calc(8 / var(--view-size-sp) * 100vw) 0;
  }
}
.p-single-works__japanese {
  font-family: "A+EqpB-游ゴシック体 Pr6N B", yugothic, sans-serif;
  font-size: clamp(0px, 18 / 1440 * 100vw, 18px);
  line-height: 1.2;
  margin: clamp(0px, 12 / 1440 * 100vw, 12px) 0 clamp(0px, 20 / 1440 * 100vw, 20px);
}
@media (max-width: 768px) {
  .p-single-works__japanese {
    font-size: calc(14 / var(--view-size-sp) * 100vw);
    margin: calc(8 / var(--view-size-sp) * 100vw) 0 0;
  }
}
.p-single-works__scope {
  font-family: "Unbounded", sans-serif;
  font-size: clamp(0px, 12 / 1440 * 100vw, 12px);
  opacity: 0.5;
  font-weight: 300;
}
.p-single-works__scope a {
  text-decoration: underline;
}
@media (max-width: 768px) {
  .p-single-works__scope {
    font-size: calc(10 / var(--view-size-sp) * 100vw);
    line-height: 2;
    margin-top: calc(20 / var(--view-size-sp) * 100vw);
    text-align: right;
  }
}
.p-single-works__btn-wrapper {
  pointer-events: auto;
  z-index: 10;
}
@media (max-width: 768px) {
  .p-single-works__btn-wrapper {
    -ms-flex-item-align: end;
        align-self: flex-end;
  }
}
.p-single-works__visit-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(0px, 160 / 1440 * 100vw, 160px);
  height: clamp(0px, 160 / 1440 * 100vw, 160px);
  border-radius: 50%;
  color: #fff;
  text-decoration: none;
  gap: clamp(0px, 8 / 1440 * 100vw, 8px);
}
@media (max-width: 768px) {
  .p-single-works__visit-btn {
    width: calc(108 / var(--view-size-sp) * 100vw);
    height: calc(108 / var(--view-size-sp) * 100vw);
    position: fixed;
    bottom: calc(12 / var(--view-size-sp) * 100vw);
    right: calc(12 / var(--view-size-sp) * 100vw);
    z-index: 10000;
    gap: calc(6 / var(--view-size-sp) * 100vw);
    -webkit-transform: scale(0);
            transform: scale(0);
    opacity: 0;
    -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
    transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
    transition: opacity 0.3s ease, transform 0.3s ease;
    transition: opacity 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
  }
  .p-single-works__visit-btn.is-visible {
    -webkit-animation: bounceIn 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards;
            animation: bounceIn 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards;
  }
  .p-single-works__visit-btn.is-hidden {
    -webkit-animation: bounceOut 0.3s ease forwards;
            animation: bounceOut 0.3s ease forwards;
  }
  body.menu-open .p-single-works__visit-btn {
    -webkit-animation: bounceOut 0.3s ease forwards;
            animation: bounceOut 0.3s ease forwards;
  }
  body:not(.menu-open) .p-single-works__visit-btn.is-visible {
    -webkit-animation: bounceIn 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards;
            animation: bounceIn 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards;
  }
}
.p-single-works__visit-btn:hover {
  /* No scale on hover */
}
@-webkit-keyframes bounceIn {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
    opacity: 0;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
@keyframes bounceIn {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
    opacity: 0;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
@-webkit-keyframes bounceOut {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(0);
            transform: scale(0);
    opacity: 0;
  }
}
@keyframes bounceOut {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(0);
            transform: scale(0);
    opacity: 0;
  }
}
.p-single-works__visit-text {
  font-family: "Unbounded", sans-serif;
  font-size: clamp(0px, 14 / 1440 * 100vw, 14px);
  color: #fff;
}
@media (max-width: 768px) {
  .p-single-works__visit-text {
    font-size: calc(11 / var(--view-size-sp) * 100vw);
  }
}
.p-single-works__visit-arrow {
  width: clamp(0px, 16 / 1440 * 100vw, 16px);
  height: clamp(0px, 16 / 1440 * 100vw, 16px);
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1" /><feFuncG type="linear" slope="1" /><feFuncB type="linear" slope="1" /></feComponentTransfer><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="table" tableValues="1 0" /><feFuncG type="table" tableValues="1 0" /><feFuncB type="table" tableValues="1 0" /></feComponentTransfer></filter></svg>#filter');
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}
@media (max-width: 768px) {
  .p-single-works__visit-arrow {
    width: calc(11 / var(--view-size-sp) * 100vw);
    height: calc(11 / var(--view-size-sp) * 100vw);
  }
}
.p-single-works__outline {
  max-width: 1000px;
  margin: auto;
}
.p-single-works__outline-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding-top: clamp(0px, 56 / 1440 * 100vw, 56px);
}
@media (max-width: 768px) {
  .p-single-works__outline-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(12 / var(--view-size-sp) * 100vw);
    padding: calc(40 / var(--view-size-sp) * 100vw) calc(20 / var(--view-size-sp) * 100vw) 0;
  }
}
.p-single-works__outline-title {
  width: 30%;
  font-family: "Unbounded", sans-serif;
  font-size: clamp(0px, 14 / 1440 * 100vw, 14px);
  font-weight: 300;
  opacity: 0.6;
}
@media (max-width: 768px) {
  .p-single-works__outline-title {
    width: 100%;
    font-size: calc(13 / var(--view-size-sp) * 100vw);
  }
}
.p-single-works__outline-content {
  width: 60%;
  font-size: clamp(0px, 16 / 1440 * 100vw, 16px);
  line-height: 2;
  text-align: justify;
}
@media (max-width: 768px) {
  .p-single-works__outline-content {
    width: 100%;
    font-size: calc(14 / var(--view-size-sp) * 100vw);
  }
}
.p-single-works__credit {
  max-width: 1000px;
  margin: auto;
}
.p-single-works__credit-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding-top: clamp(0px, 40 / 1440 * 100vw, 40px);
}
@media (max-width: 768px) {
  .p-single-works__credit-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(12 / var(--view-size-sp) * 100vw);
    padding: calc(40 / var(--view-size-sp) * 100vw) calc(20 / var(--view-size-sp) * 100vw) 0;
  }
}
.p-single-works__credit-title {
  width: 30%;
  font-family: "Unbounded", sans-serif;
  font-size: clamp(0px, 14 / 1440 * 100vw, 14px);
  font-weight: 300;
  opacity: 0.6;
}
@media (max-width: 768px) {
  .p-single-works__credit-title {
    width: 100%;
    font-size: calc(13 / var(--view-size-sp) * 100vw);
  }
}
.p-single-works__credit-content {
  width: 60%;
  font-size: clamp(0px, 16 / 1440 * 100vw, 16px);
  line-height: 2;
  text-align: justify;
}
@media (max-width: 768px) {
  .p-single-works__credit-content {
    width: 100%;
    font-size: calc(14 / var(--view-size-sp) * 100vw);
  }
}
.p-single-works__credit-content a {
  text-decoration: underline;
}
.p-single-works__credit-content .en {
  font-family: "Unbounded", sans-serif;
  opacity: 0.4;
  font-weight: 300;
}
.p-single-works__credit-content .space {
  margin-top: clamp(0px, 12 / 1440 * 100vw, 12px);
  display: inline-block;
}
@media (max-width: 768px) {
  .p-single-works__credit-content .space {
    margin-top: calc(12 / var(--view-size-sp) * 100vw);
  }
}
.p-single-works__other {
  max-width: 1440px;
  margin: 0 auto;
  padding: clamp(0px, 200 / 1440 * 100vw, 200px) clamp(0px, 40 / 1440 * 100vw, 40px) clamp(0px, 0 / 1440 * 100vw, 0px);
  overflow: hidden;
}
@media (max-width: 768px) {
  .p-single-works__other {
    padding: calc(120 / var(--view-size-sp) * 100vw) calc(20 / var(--view-size-sp) * 100vw) calc(0 / var(--view-size-sp) * 100vw);
  }
}
.p-single-works__other-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: clamp(0px, 24 / 1440 * 100vw, 24px);
}
@media (max-width: 768px) {
  .p-single-works__other-header {
    margin-bottom: calc(20 / var(--view-size-sp) * 100vw);
  }
}
.p-single-works__other-title {
  font-family: "Unbounded", sans-serif;
  font-size: clamp(0px, 32 / 1440 * 100vw, 32px);
  font-weight: 400;
}
@media (max-width: 768px) {
  .p-single-works__other-title {
    font-size: calc(20 / var(--view-size-sp) * 100vw);
  }
}
.p-single-works__other-more {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(0px, 12 / 1440 * 100vw, 12px);
  text-decoration: none;
  color: #333;
  font-family: "Unbounded", sans-serif;
  font-size: clamp(0px, 14 / 1440 * 100vw, 14px);
  white-space: nowrap;
}
@media (max-width: 768px) {
  .p-single-works__other-more {
    display: none;
  }
}
.p-single-works__other-more span {
  display: inline-block;
  position: relative;
}
.p-single-works__other-more span::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #333;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
@media (min-width: 769px) {
  .p-single-works__other-more:hover span::after {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-transform-origin: left;
            transform-origin: left;
  }
  .p-single-works__other-more:not(:hover) span::after {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transform-origin: right;
            transform-origin: right;
  }
}
.p-single-works__other-more-arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(0px, 50 / 1440 * 100vw, 50px);
  height: clamp(0px, 50 / 1440 * 100vw, 50px);
  background-color: #000;
  border-radius: 50%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  overflow: hidden;
}
@media (max-width: 768px) {
  .p-single-works__other-more-arrow {
    width: calc(50 / var(--view-size-sp) * 100vw);
    height: calc(50 / var(--view-size-sp) * 100vw);
  }
}
.p-single-works__other-more-arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: clamp(0px, 15 / 1440 * 100vw, 15px);
  height: clamp(0px, 15 / 1440 * 100vw, 15px);
  background-image: url("../images/arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1" /><feFuncG type="linear" slope="1" /><feFuncB type="linear" slope="1" /></feComponentTransfer><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="table" tableValues="1 0" /><feFuncG type="table" tableValues="1 0" /><feFuncB type="table" tableValues="1 0" /></feComponentTransfer></filter></svg>#filter');
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}
@media (max-width: 768px) {
  .p-single-works__other-more-arrow::before {
    width: calc(15 / var(--view-size-sp) * 100vw);
    height: calc(15 / var(--view-size-sp) * 100vw);
  }
}
@media (min-width: 769px) {
  .p-single-works__other-more:hover .p-single-works__other-more-arrow::before {
    -webkit-animation: arrowBounceOtherWorks 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
            animation: arrowBounceOtherWorks 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  }
}
@-webkit-keyframes arrowBounceOtherWorks {
  0% {
    -webkit-transform: translate(-50%, -50%) translateX(0);
            transform: translate(-50%, -50%) translateX(0);
  }
  50% {
    -webkit-transform: translate(-50%, -50%) translateX(250%);
            transform: translate(-50%, -50%) translateX(250%);
  }
  51% {
    -webkit-transform: translate(-50%, -50%) translateX(-250%);
            transform: translate(-50%, -50%) translateX(-250%);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) translateX(0);
            transform: translate(-50%, -50%) translateX(0);
  }
}
@keyframes arrowBounceOtherWorks {
  0% {
    -webkit-transform: translate(-50%, -50%) translateX(0);
            transform: translate(-50%, -50%) translateX(0);
  }
  50% {
    -webkit-transform: translate(-50%, -50%) translateX(250%);
            transform: translate(-50%, -50%) translateX(250%);
  }
  51% {
    -webkit-transform: translate(-50%, -50%) translateX(-250%);
            transform: translate(-50%, -50%) translateX(-250%);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) translateX(0);
            transform: translate(-50%, -50%) translateX(0);
  }
}
.p-single-works__other-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(0px, 40 / 1440 * 100vw, 40px);
}
@media (max-width: 768px) {
  .p-single-works__other-list {
    grid-template-columns: 1fr;
    gap: calc(24 / var(--view-size-sp) * 100vw);
    padding: 0;
  }
}
@media (max-width: 768px) {
  .p-single-works .p-works__mobile-all-btn {
    margin: calc(36 / var(--view-size-sp) * 100vw) 0 0 0;
  }
}

.p-works__title-en.p-works__title-en--single-works {
  margin: 0;
  color: #000;
}

.sp-only {
  display: none;
}
@media (max-width: 768px) {
  .sp-only {
    display: inline;
  }
}

.pc-only {
  display: inline;
}
@media (max-width: 768px) {
  .pc-only {
    display: none;
  }
}

@media (max-width: 768px) {
  .p-article-list__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: calc(32 / var(--view-size-sp) * 100vw) calc(16 / var(--view-size-sp) * 100vw);
  }
}
/*# sourceMappingURL=style.css.map */
