@charset "UTF-8";
/*--------------------------------------*
 * foundation
 *--------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500&family=Noto+Serif+JP:wght@500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Sofia&display=swap");
@import url("https://fonts.googleapis.com/css2?family=League+Spartan:wght@100..900&family=Noto+Sans+JP:wght@100..900&display=swap");
/*!
 * ress.css • v3.0.1
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # =================================================================
   # Global selectors
   # ================================================================= */
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  /* Prevent adjustments of font size after orientation changes in iOS */
  word-break: normal;
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
}

*,
::before,
::after {
  background-repeat: no-repeat;
  /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  box-sizing: inherit;
}

::before,
::after {
  text-decoration: inherit;
  /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

* {
  padding: 0;
  /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

/* # =================================================================
	 # General elements
	 # ================================================================= */
hr {
  overflow: visible;
  /* Show the overflow in Edge and IE */
  height: 0;
  /* Add the correct box sizing in Firefox */
}

details,
main {
  display: block;
  /* Render the `main` element consistently in IE. */
}

summary {
  display: list-item;
  /* Add the correct display in all browsers */
}

small {
  font-size: 80%;
  /* Set font-size to 80% in `small` elements */
}

[hidden] {
  display: none;
  /* Add the correct display in IE */
}

abbr[title] {
  border-bottom: none;
  /* Remove the bottom border in Chrome 57 */
  /* Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari */
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

a {
  background-color: transparent;
  /* Remove the gray background on active links in IE 10 */
  color: inherit;
  text-decoration: none;
}

a:active,
a:hover {
  outline-width: 0;
  /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  /* Specify the font family of code elements */
}

pre {
  font-size: 1em;
  /* Correct the odd `em` font sizing in all browsers */
}

b,
strong {
  font-weight: bolder;
  /* Add the correct font weight in Chrome, Edge, and Safari */
}

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Style select like a standard input */
select {
  outline: none;
  background-color: #fff;
  border: #707070 solid 1px;
  border-radius: 3px;
  display: inline-block;
  padding: 0.2em 0.5em;
  width: 100%;
}

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

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

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

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

/* # =================================================================
	 # Specify media element style
	 # ================================================================= */
img {
  border-style: none;
  /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
  vertical-align: baseline;
}

/* # =================================================================
	 # Accessibility
	 # ================================================================= */
/* Hide content from screens but not screenreaders */
@media screen {
  [hidden~=screen] {
    display: inherit;
  }
  [hidden~=screen]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
}
/* Specify the progress cursor of updating elements */
[aria-busy=true] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] {
  cursor: default;
}

/*original*/
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;
  font-weight: inherit;
  border-collapse: collapse;
}

@keyframes kv-grad {}
@keyframes container-wave {
  0% {
    -webkit-mask-position: 0vw top;
            mask-position: 0vw top;
  }
  100% {
    -webkit-mask-position: 100vw top;
            mask-position: 100vw top;
  }
}
@keyframes swim {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-20px);
  }
}
@keyframes group {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(20px);
  }
}
@keyframes jump {
  0% {
    transform: translateY(0);
  }
  10% {
    transform: translateY(-10px);
  }
  20% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(0px);
  }
}
@keyframes footer-ticker {
  0% {
    background-position: 0px top;
  }
  100% {
    background-position: -1875px top;
  }
}
@keyframes footer-ticker-sp {
  0% {
    background-position: 0vw top;
  }
  100% {
    background-position: -208.354667vw top;
  }
}
/* base
--------------------------- */
*,
*::before,
*::after {
  box-sizing: border-box;
  letter-spacing: 0.05em;
}

html {
  overflow-x: hidden;
  scroll-behavior: smooth;
  scroll-padding-top: 10vh;
}
@media (min-width: 768px) {
  html {
    scroll-padding-top: min(100px, 6.9444444444vw);
  }
}

html,
body {
  margin: 0;
  padding: 0;
}

body {
  font-size: 4.2666666667vw;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  color: #253033;
  line-height: 2.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: clip;
  overflow-wrap: break-word;
  letter-spacing: 0.05em;
}
@media (min-width: 768px) {
  body {
    font-size: 1.125rem;
  }
}
@media (min-width: 960px) {
  body {
    font-size: 1.125rem;
  }
}
@media (min-width: 768px) {
  body {
    font-size: 16px;
  }
}
@media (max-width: 767.98px) {
  body {
    font-size: 3.73vw;
  }
}

p {
  line-height: 2;
}

h2 {
  margin: 0;
}

li {
  list-style: none;
}

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

em {
  font-style: initial;
}

address {
  font-style: normal;
}

strong {
  font-weight: bold;
}

sup {
  font-size: 0.7em;
}

span svg {
  vertical-align: middle;
  line-height: 1;
  height: auto;
}

@media (min-width: 768px) {
  a {
    transition: opacity 0.3s ease-out;
  }
}
@media (min-width: 768px) {
  p a {
    transition: opacity 0.2s ease-out;
  }
  p a:focus-visible {
    opacity: 0.5;
  }
}
@media (min-width: 768px) and (hover: hover) {
  p a:hover {
    opacity: 0.5;
  }
}

@media (min-width: 768px) {
  .is-sp {
    display: none;
  }
}

@media (max-width: 767.98px) {
  .is-pc {
    display: none;
  }
}

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

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

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

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

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

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

.splide__progress__bar {
  width: 0;
}

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

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

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

.splide__slide img {
  vertical-align: bottom;
}

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

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

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

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

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

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

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

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

.splide--rtl {
  direction: rtl;
}

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

.splide__arrow {
  align-items: center;
  background: #ccc;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  height: 2em;
  justify-content: center;
  opacity: 0.7;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2em;
  z-index: 1;
}

.splide__arrow svg {
  fill: #000;
  height: 1.2em;
  width: 1.2em;
}

.splide__arrow:hover:not(:disabled) {
  opacity: 0.9;
}

.splide__arrow:disabled {
  opacity: 0.3;
}

.splide__arrow:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__arrow--prev {
  left: 1em;
}

.splide__arrow--prev svg {
  transform: scaleX(-1);
}

.splide__arrow--next {
  right: 1em;
}

.splide.is-focus-in .splide__arrow:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__pagination {
  bottom: 0.5em;
  left: 0;
  padding: 0 1em;
  position: absolute;
  right: 0;
  z-index: 1;
}

.splide__pagination__page {
  background: #ccc;
  border: 0;
  border-radius: 50%;
  display: inline-block;
  height: 8px;
  margin: 3px;
  opacity: 0.7;
  padding: 0;
  position: relative;
  transition: transform 0.2s linear;
  width: 8px;
}

.splide__pagination__page.is-active {
  background: #fff;
  transform: scale(1.4);
  z-index: 1;
}

.splide__pagination__page:hover {
  cursor: pointer;
  opacity: 0.9;
}

.splide__pagination__page:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__pagination__page:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__progress__bar {
  background: #ccc;
  height: 3px;
}

.splide__slide {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.splide__slide:focus {
  outline: 0;
}

@supports (outline-offset: -3px) {
  .splide__slide:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
@media screen and (-ms-high-contrast: none) {
  .splide__slide:focus-visible {
    border: 3px solid #0bf;
  }
}
@supports (outline-offset: -3px) {
  .splide.is-focus-in .splide__slide:focus {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
@media screen and (-ms-high-contrast: none) {
  .splide.is-focus-in .splide__slide:focus {
    border: 3px solid #0bf;
  }
  .splide.is-focus-in .splide__track > .splide__list > .splide__slide:focus {
    border-color: #0bf;
  }
}
.splide__toggle {
  cursor: pointer;
}

.splide__toggle:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__toggle:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__track--nav > .splide__list > .splide__slide {
  border: 3px solid transparent;
  cursor: pointer;
}

.splide__track--nav > .splide__list > .splide__slide.is-active {
  border: 3px solid #000;
}

.splide__arrows--rtl .splide__arrow--prev {
  left: auto;
  right: 1em;
}

.splide__arrows--rtl .splide__arrow--prev svg {
  transform: scaleX(1);
}

.splide__arrows--rtl .splide__arrow--next {
  left: 1em;
  right: auto;
}

.splide__arrows--rtl .splide__arrow--next svg {
  transform: scaleX(-1);
}

.splide__arrows--ttb .splide__arrow {
  left: 50%;
  transform: translate(-50%);
}

.splide__arrows--ttb .splide__arrow--prev {
  top: 1em;
}

.splide__arrows--ttb .splide__arrow--prev svg {
  transform: rotate(-90deg);
}

.splide__arrows--ttb .splide__arrow--next {
  bottom: 1em;
  top: auto;
}

.splide__arrows--ttb .splide__arrow--next svg {
  transform: rotate(90deg);
}

.splide__pagination--ttb {
  bottom: 0;
  display: flex;
  flex-direction: column;
  left: auto;
  padding: 1em 0;
  right: 0.5em;
  top: 0;
}

/*--------------------------------------*
 * layout
 *--------------------------------------*/
@media (min-width: 768px) {
  .l-bread {
    position: absolute;
    left: 0;
    top: 0;
  }
}
@media (max-width: 767.98px) {
  .l-bread {
    margin-bottom: 0.5em;
  }
}
.l-bread__list {
  width: -moz-max-content;
  width: max-content;
  display: flex;
  font-size: 12px;
}
@media (max-width: 767.98px) {
  .l-bread__list {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0.05em;
    width: 89.33%;
    font-size: 3.46vw;
    flex-wrap: wrap;
  }
}
@media (min-width: 768px) {
  .l-bread__list {
    padding: 0.5em 2em;
    text-align: right;
    background-color: #F9F7F7;
    border-radius: 0 0 2em 0;
  }
}
.l-bread__item {
  position: relative;
}
.l-bread__item + .l-bread__item::before {
  content: ">";
  padding-left: 0.3em;
  padding-right: 0.3em;
}
.l-bread__link {
  color: #0191B4;
}

.l-footer__ticker {
  width: 100%;
  height: 0;
  position: relative;
  z-index: 3;
}
.l-footer__ticker::before {
  content: "";
  margin: auto;
  width: 100%;
  height: min(90px, 6.25vw);
  display: block;
  position: absolute;
  left: 0;
  bottom: min(65px, 4.5138888889vw);
  background-position: 0% top;
  background-repeat: repeat;
  background-size: min(1875px, 130.2083333333vw);
  background-image: url(../images/common/footer__ticker.png);
  animation: footer-ticker 20s linear infinite;
}
@media (max-width: 767.98px) {
  .l-footer__ticker::before {
    height: 10vw;
    bottom: 5.6vw;
    background-size: 208.3546666667vw;
    animation: footer-ticker-sp 20s linear infinite;
  }
}
.l-footer__container {
  margin-top: calc(-1 * var(--height));
  width: 100%;
  --height:96px;
  padding-top: min(137px, 9.5138888889vw);
  position: relative;
  z-index: 2;
  color: #fff;
  -webkit-mask-size: 100%;
          mask-size: 100%;
  -webkit-mask-image: url(../images/common/wave.png), linear-gradient(to bottom, transparent 0%, transparent var(--height), #000 var(--height), #000 100%);
          mask-image: url(../images/common/wave.png), linear-gradient(to bottom, transparent 0%, transparent var(--height), #000 var(--height), #000 100%);
  -webkit-mask-position: 0vw top;
          mask-position: 0vw top;
  background: linear-gradient(to bottom, rgb(68, 187, 239) 0%, rgb(156, 241, 252) 100%);
}
@media (max-width: 767.98px) {
  .l-footer__container {
    margin-top: -7.5413333333vw;
    --height:vw(28.28);
    padding-top: 29.3333333333vw;
    -webkit-mask-image: url(../images/common/wave.png), linear-gradient(to bottom, transparent 0%, transparent 7.5413333333vw, #000 7.5413333333vw, #000 100%);
            mask-image: url(../images/common/wave.png), linear-gradient(to bottom, transparent 0%, transparent 7.5413333333vw, #000 7.5413333333vw, #000 100%);
    -webkit-mask-position: left top;
            mask-position: left top;
  }
}
.l-footer__container::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0.4;
  pointer-events: none;
  background-repeat: repeat;
  background-image: url(../images/common/noise.svg);
  mix-blend-mode: multiply;
}
.l-footer__button {
  margin-left: auto;
  margin-right: auto;
  width: min(600px, 41.6666666667vw);
  height: min(160px, 11.1111111111vw);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: pc_cw(9);
  position: relative;
  text-align: center;
  line-height: 1;
  background: linear-gradient(135deg, rgb(1, 145, 180) 0%, rgb(211, 221, 24) 50%, rgb(1, 145, 180) 100%);
  background-size: 200%;
  background-position: 100% center;
  border-radius: 80px;
  transition: background-position 0.2s ease-out;
}
.l-footer__button:hover {
  background-position: 0% center;
}
@media (max-width: 767.98px) {
  .l-footer__button {
    width: 89.3333333333vw;
    height: 29.3333333333vw;
    border-radius: 14.6666666667vw;
  }
}
.l-footer__button-text {
  color: #fff;
  font-size: min(16px, 1.1111111111vw);
}
@media (max-width: 767.98px) {
  .l-footer__button-text {
    font-size: 3.2vw;
  }
}
.l-footer__button-title {
  position: relative;
  color: #fff;
  font-size: min(63.85px, 4.4340277778vw);
  font-weight: bold;
  line-height: 1;
}
@media (max-width: 767.98px) {
  .l-footer__button-title {
    font-size: 10.896vw;
  }
}
.l-footer__button-title::before, .l-footer__button-title::after {
  content: "";
  position: absolute;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.l-footer__button-title::before {
  width: min(67.77px, 4.70625vw);
  height: min(38px, 2.6388888889vw);
  left: max(-91px, -6.3194444444vw);
  top: 0px;
  background-image: url(../images/common/footer__button-bg.svg);
}
@media (max-width: 767.98px) {
  .l-footer__button-title::before {
    width: 13.0106666667vw;
    height: 7.296vw;
    left: -14.9333333333vw;
  }
}
.l-footer__button-title::after {
  width: min(22.98px, 1.5958333333vw);
  height: min(20.98px, 1.4569444444vw);
  right: max(-44.52px, -3.0916666667vw);
  top: max(-21.1px, -1.4652777778vw);
  background-image: url(../images/common/icon-blank.svg);
}
.l-footer__box {
  margin-top: min(100px, 6.9444444444vw);
  width: 100%;
  height: min(335px, 23.2638888889vw);
  padding-left: min(40px, 2.7777777778vw);
  padding-right: min(40px, 2.7777777778vw);
  padding-bottom: min(44px, 3.0555555556vw);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative;
  background-image: url(../images/common/footer__bg.svg);
  background-position: center bottom;
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
@media (max-width: 767.98px) {
  .l-footer__box {
    margin-top: 25.3333333333vw;
    height: 98.6666666667vw;
    padding: 0 0 17.5306666667vw;
    background-position: center top;
    background-size: 200vw 100%;
  }
}
.l-footer__box::before {
  content: "";
  margin: auto;
  width: 91.88194444%;
  aspect-ratio: 1323.12/201.34;
  display: block;
  position: absolute;
  bottom: min(230px, 15.9722222222vw);
  left: auto;
  right: auto;
  z-index: -1;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url(../images/common/footer__sango.svg);
}
@media (max-width: 767.98px) {
  .l-footer__box::before {
    width: 100%;
    aspect-ratio: 379.12/86.75;
    bottom: auto;
    top: -16.2666666667vw;
    background-position: left bottom;
    background-image: url(../images/common/footer__sango-sp.svg);
  }
}
@media (max-width: 767.98px) {
  .l-footer__logo {
    margin-left: auto;
    margin-right: auto;
    width: 83.1093333333vw;
  }
}
.l-footer__column {
  margin-top: min(23.31px, 1.61875vw);
  width: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
@media (max-width: 767.98px) {
  .l-footer__column {
    margin-top: 11.2133333333vw;
    display: block;
    text-align: center;
  }
}
.l-footer__text {
  font-size: min(13px, 0.9027777778vw);
}
@media (max-width: 767.98px) {
  .l-footer__text {
    font-size: 3.2vw;
  }
}
.l-footer__copyright {
  font-size: min(10px, 0.6944444444vw);
  font-weight: 500;
}
@media (max-width: 767.98px) {
  .l-footer__copyright {
    margin-top: 7.7333333333vw;
    font-size: 2.4vw;
  }
}
.l-footer .c-fish-kani {
  margin: auto;
  height: -moz-max-content;
  height: max-content;
  position: absolute;
  inset: 0;
}
@media (min-width: 768px) {
  .l-footer .c-fish-kani {
    width: min(83.28px, 5.7833333333vw);
    translate: max(-456px, -31.6666666667vw) max(-78px, -5.4166666667vw);
  }
}
@media (max-width: 767.98px) {
  .l-footer .c-fish-kani {
    width: 13.3253333333vw;
    translate: -28.8vw -37.3333333333vw;
  }
}
.l-footer .c-fish-hirame {
  margin: auto;
  width: min(137.84px, 9.5722222222vw);
  height: -moz-max-content;
  height: max-content;
  position: absolute;
  inset: 0;
  translate: min(278px, 19.3055555556vw) max(-70px, -4.8611111111vw);
}
@media (max-width: 767.98px) {
  .l-footer .c-fish-hirame {
    width: 18.5946666667vw;
    translate: 26.6666666667vw -28.2666666667vw;
  }
}
.l-footer .c-fish-ebi {
  margin: auto;
  width: min(54.88px, 3.8111111111vw);
  height: -moz-max-content;
  height: max-content;
  position: absolute;
  inset: 0;
  translate: min(550px, 38.1944444444vw) max(-115px, -7.9861111111vw);
}
@media (max-width: 767.98px) {
  .l-footer .c-fish-ebi {
    width: 8.7813333333vw;
    translate: 40vw -42.6666666667vw;
  }
}

.l-footer-pagetop {
  width: 13.3333333333vw;
  height: 13.3333333333vw;
  border-radius: 50%;
  position: fixed;
  bottom: 13.6vw;
  right: 2.6666666667vw;
  z-index: 11;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.2s ease-out;
}
@media (min-width: 768px) {
  .l-footer-pagetop {
    width: min(70px, 4.8611111111vw);
    height: min(70px, 4.8611111111vw);
    bottom: min(75px, 5.2083333333vw);
    right: min(20px, 1.3888888889vw);
  }
  .l-footer-pagetop:hover::before {
    scale: 1.1;
  }
}
.l-footer-pagetop::before {
  content: "";
  margin: auto;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: #0191B4;
  border-radius: 50%;
  transition: scale 0.2s ease-out;
}
.l-footer-pagetop.is-fadeout {
  opacity: 0;
  pointer-events: none;
}
.l-footer-pagetop img {
  width: 6.3413333333vw;
  height: -moz-max-content;
  height: max-content;
}
@media (min-width: 768px) {
  .l-footer-pagetop img {
    width: min(29.72px, 2.0638888889vw);
  }
}

.l-header {
  margin: auto;
  width: 100%;
  height: min(90px, 6.25vw);
  padding-left: min(40px, 2.7777777778vw);
  padding-right: min(43.32px, 3.0083333333vw);
  position: fixed;
  z-index: 101;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(40px, 2.7777777778vw);
}
@media (max-width: 767.98px) {
  .l-header {
    height: 16vw;
    padding-left: 4.2666666667vw;
    padding-right: 4.2666666667vw;
    justify-content: space-between;
    gap: 2.6666666667vw;
  }
}
.l-header::before {
  content: "";
  margin: auto;
  width: 100vw;
  height: min(90px, 6.25vw);
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  z-index: -1;
  background-color: #fff;
  opacity: 0;
  transition: opacity 0.2s ease-out;
}
@media (max-width: 767.98px) {
  .l-header::before {
    height: 16vw;
  }
}
.l-header.is-fixed::before {
  opacity: 1;
}
.l-header__logo {
  width: min(290.79px, 20.19375vw);
  position: relative;
  z-index: 1;
  line-height: 1;
  transition: opacity 0.2s ease-out;
}
@media (max-width: 767.98px) {
  .l-header__logo {
    width: 53vw;
  }
}
.l-header__logo:hover {
  opacity: 0.6;
}
@media (max-width: 767.98px) {
  .l-header__list {
    width: 100vw;
    height: 100vh;
    overflow-y: scroll;
    padding: 24.2666666667vw 10.6666666667vw 26.6666666667vw;
    position: fixed;
    right: -100vw;
    top: 0;
    z-index: 0;
    background: linear-gradient(135deg, rgb(131, 225, 237) 27%, rgb(131, 225, 237) 27%, rgb(165, 228, 255) 100%);
    transition: right 0.3s ease-out;
  }
  .l-header__list.is-menuOpen {
    right: 0;
  }
}
@media (min-width: 768px) {
  .l-header__list {
    margin-left: auto;
    margin-right: 0;
    width: -moz-max-content;
    width: max-content;
    display: flex;
    gap: min(20px, 1.3888888889vw);
  }
}
.l-header__item {
  width: -moz-max-content;
  width: max-content;
  line-height: 1;
  font-size: min(14px, 0.9722222222vw);
  font-weight: bold;
  color: #006077;
}
@media (max-width: 767.98px) {
  .l-header__item {
    width: 100%;
    font-size: 4.2666666667vw;
  }
}
@media (min-width: 768px) {
  .l-header__box {
    display: none;
  }
}
@media (max-width: 767.98px) {
  .l-header__link {
    width: 100%;
    padding-top: 6.1333333333vw;
    padding-bottom: 6.1333333333vw;
    display: block;
    position: relative;
    font-size: 4.2666666667vw;
    letter-spacing: 0;
    border-bottom: 0.2666666667vw solid #47B2CB;
  }
  .l-header__box .l-header__link {
    padding-left: 4.2666666667vw;
    font-weight: 400;
    font-size: 3.7333333333vw;
  }
  .l-header__link::before {
    content: "";
    margin: auto;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    background-repeat: no-repeat;
    background-position: center;
  }
  .l-header__link.js-spAccordion-trigger::before {
    width: 2.4vw;
    height: 2.4vw;
    border-top: 0.5333333333vw solid #0191B4;
    border-right: 0.5333333333vw solid #0191B4;
    rotate: 135deg;
    right: 5.8666666667vw;
    transition: rotate 0.2s ease-out;
  }
  .l-header__link.js-spAccordion-trigger.is-active::before {
    rotate: -45deg;
  }
}
@media (max-width: 767.98px) and (max-width: 767.98px) {
  .l-header__link:not(.js-spAccordion-trigger) {
    line-height: 1.6;
  }
}
@media (max-width: 767.98px) {
  .l-header__link:not(.js-spAccordion-trigger)::before {
    width: 8vw;
    height: 8vw;
    right: 3.2vw;
    background-size: 2.2666666667vw;
    background-image: url(../images/common/icon-arrow.svg);
    background-color: #0191B4;
    border-radius: 50%;
  }
  .l-header__box .l-header__link:not(.js-spAccordion-trigger) {
    padding-top: 4.8vw;
    padding-bottom: 4.8vw;
  }
  .l-header__box .l-header__link:not(.js-spAccordion-trigger)::before {
    width: 6.4vw;
    height: 6.4vw;
    right: 3.7333333333vw;
  }
  .l-header__link[target=_blank]::before {
    background-size: 2.68vw;
    background-image: url(../images/common/icon-blank.svg);
  }
}
@media (min-width: 768px) {
  .l-header__link {
    transition: color 0.2s ease-out;
  }
  .l-header__link:hover {
    color: #0191B4;
  }
}
body:has(.p-top) .is-top .l-header__link, body:has(.p-about) .is-business .l-header__link, body:has(.p-story) .is-story .l-header__link, body:has(.p-single, .p-archive) .is-people .l-header__link, body:has(.p-understanding) .is-understanding .l-header__link, body:has(.p-requirements) .is-requirements .l-header__link {
  color: #0191B4;
}
@media (max-width: 767.98px) {
  .l-header__banner {
    margin-top: 13.3333333333vw;
    margin-left: auto;
    margin-right: auto;
    width: 78.6666666667vw;
    height: 26.6666666667vw;
  }
}
@media (min-width: 768px) {
  .l-header__banner {
    display: none;
  }
}
.l-header__banner-link {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 1.3973333333vw;
  position: relative;
  text-align: center;
  line-height: 1;
  background: linear-gradient(135deg, rgb(211, 221, 24) 0%, rgb(1, 145, 180) 100%);
  border-radius: 2.6666666667vw;
}
.l-header__banner-text {
  color: #fff;
  font-size: 3.2vw;
}
.l-header__banner-title {
  position: relative;
  color: #fff;
  font-size: 10.896vw;
  font-weight: bold;
  line-height: 1;
}
.l-header__banner-title::before, .l-header__banner-title::after {
  content: "";
  position: absolute;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.l-header__banner-title::before {
  width: 13.0106666667vw;
  height: 7.296vw;
  left: -14.6853333333vw;
  top: 0px;
  background-image: url(../images/common/footer__button-bg.svg);
}
.l-header__banner-title::after {
  width: 3.5813333333vw;
  height: 3.5813333333vw;
  right: -6.1333333333vw;
  top: 0;
  background-image: url(../images/common/icon-blank.svg);
}
.l-header__button {
  margin: 0;
  width: -moz-max-content;
  width: max-content;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: min(12px, 0.8333333333vw);
  position: relative;
  font-weight: 700;
  font-size: min(22px, 1.5277777778vw);
  color: #fff;
  background: linear-gradient(to right, rgb(1, 145, 180) 0%, rgb(211, 221, 24) 25%, rgb(211, 221, 24) 75%, rgb(1, 145, 180) 100%);
  background-position: 100%;
  background-size: 300%;
  border-radius: 30px;
  transition: all 0.2s ease-out;
}
@media (max-width: 767.98px) {
  .l-header__button {
    margin-left: auto;
    width: 26.6666666667vw;
    height: 10.6666666667vw;
    padding-left: 4.2666666667vw;
    padding-right: 4.2666666667vw;
    gap: 1.4533333333vw;
    font-size: 3.52vw;
  }
}
@media (min-width: 768px) {
  .l-header__button {
    max-width: min(160px, 11.1111111111vw);
    padding-left: min(28px, 1.9444444444vw);
    padding-right: min(28px, 1.9444444444vw);
    height: min(50px, 3.4722222222vw);
    transition: background-position 0.5s ease-in-out;
  }
}
.l-header__button:hover {
  background-position: 0%;
}
.l-header__button::after {
  content: "";
  margin: auto;
  width: 15.6px;
  height: 15.6px;
  display: block;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../images/common/icon-blank.svg);
}
@media (max-width: 767.98px) {
  .l-header__button::after {
    width: 2.8vw;
    height: 2.6666666667vw;
  }
}
@media (max-width: 767.98px) {
  .l-header__menu {
    width: 6.4vw;
    height: 3.2vw;
    display: block;
    position: relative;
    z-index: 2;
    border-top: 0.5333333333vw solid #006077;
    border-bottom: 0.5333333333vw solid #006077;
  }
  :where(.l-header):has(.is-menuOpen) .l-header__menu {
    border: 0vw solid transparent;
  }
  :where(.l-header):has(.is-menuOpen) .l-header__menu::before, :where(.l-header):has(.is-menuOpen) .l-header__menu::after {
    content: "";
    margin: auto;
    width: 6.4vw;
    height: 0.5333333333vw;
    display: block;
    position: absolute;
    inset: 0;
    background-color: #0191B4;
    translate: -1.3333333333vw;
  }
  :where(.l-header):has(.is-menuOpen) .l-header__menu::before {
    rotate: 30deg;
  }
  :where(.l-header):has(.is-menuOpen) .l-header__menu::after {
    rotate: -30deg;
  }
}
@media (min-width: 768px) {
  .l-header__menu {
    display: none;
  }
}

.l-nav {
  width: 100%;
}
@media (min-width: 768px) {
  .l-nav {
    margin-top: min(12px, 0.8333333333vw);
    width: min(200px, 13.8888888889vw);
    height: -moz-max-content;
    height: max-content;
    position: sticky;
    top: min(200px, 13.8888888889vw);
  }
}
.l-nav__list {
  width: 100%;
  display: flex;
  gap: 4.2666666667vw 4.8vw;
}
@media (max-width: 767.98px) {
  .l-nav__list {
    flex-wrap: wrap;
  }
}
@media (min-width: 768px) {
  .l-nav__list {
    flex-direction: column;
    gap: min(27px, 1.875vw);
  }
}
.l-nav__link {
  line-height: 1.6;
  font-weight: 700;
  font-size: 4.2666666667vw;
  letter-spacing: 0.05em;
  color: #0191B4;
  position: relative;
}
@media (max-width: 767.98px) {
  .l-nav__link {
    width: 100%;
    padding-right: 8.2666666667vw;
  }
  .l-nav__link::after {
    content: "";
    margin: auto;
    width: 4vw;
    height: 2.6666666667vw;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1.3333333333vw;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-image: url(../images/common/icon-anchor.svg);
            mask-image: url(../images/common/icon-anchor.svg);
    background-color: #0191B4;
  }
}
@media (min-width: 768px) {
  .l-nav__link {
    padding-left: min(23px, 1.5972222222vw);
    font-size: min(20px, 1.3888888889vw);
    transition: opacity 0.2s ease-out;
  }
  .l-nav__link:hover {
    opacity: 0.5;
  }
  .l-nav__link::before {
    content: "";
    width: min(8px, 0.5555555556vw);
    height: min(8px, 0.5555555556vw);
    display: block;
    position: absolute;
    top: min(12px, 0.8333333333vw);
    left: 0;
    background-color: #0191B4;
    border-radius: 50%;
    transition: scale 0.2s ease-out;
    scale: 0;
  }
}
.l-nav__link.is-active::before {
  scale: 1;
}

.l-hero {
  width: 100%;
  height: 71.4666666667vw;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  position: relative;
  background: linear-gradient(180deg, #CEF3EC 0%, #EEFFF4 50%, #E6FBDF 100%);
}
@media (min-width: 768px) {
  .l-hero {
    height: min(471px, 32.7083333333vw);
    padding-bottom: min(80px, 5.5555555556vw);
  }
}
.l-hero::before {
  content: "";
  margin: auto;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100%;
  background-image: url(../images/common/title_bg-sp.svg);
}
@media (min-width: 768px) {
  .l-hero::before {
    background-size: 100% min(101px, 7.0138888889vw), min(410.12px, 28.4805555556vw), min(244.02px, 16.9458333333vw), min(58.09px, 4.0340277778vw), min(160.75px, 11.1631944444vw), min(1269px, 88.125vw);
    background-position: left bottom, left calc(50% + min(530px, 36.8055555556vw)) top min(161px, 11.1805555556vw), left calc(50% + min(561px, 38.9583333333vw)) bottom min(68px, 4.7222222222vw), left calc(50% + min(136px, 9.4444444444vw)) bottom min(84px, 5.8333333333vw), left calc(50% + max(-634px, -44.0277777778vw)) bottom min(34px, 2.3611111111vw), center;
    background-image: url(../images/common/title_wave.svg), url(../images/common/title_fish1.png), url(../images/common/title_bg1.svg), url(../images/common/title_bg2.svg), url(../images/common/title_bg3.svg), url(../images/common/title_bubble.svg);
  }
}
.l-hero__title {
  font-weight: 500;
  line-height: 1.6;
  font-size: 8vw;
  letter-spacing: 0.05em;
  color: #006077;
  position: relative;
  text-stroke: 0.8vw #fff;
  -webkit-text-stroke: 0.8vw #fff;
  paint-order: stroke;
  -webkit-paint-order: stroke;
}
@media (min-width: 768px) {
  .l-hero__title {
    text-stroke: min(5px, 0.3472222222vw) #fff;
    -webkit-text-stroke: min(5px, 0.3472222222vw) #fff;
  }
}
@media (min-width: 768px) {
  .l-hero__title {
    font-size: min(60px, 4.1666666667vw);
  }
}

.l-section {
  width: 100%;
  position: relative;
}
.l-section__title {
  font-weight: 500;
  line-height: 1.8;
  color: #006077;
  font-size: 6.9333333333vw;
}
@media (min-width: 768px) {
  .l-section__title {
    line-height: 2;
    font-size: min(36px, 2.5vw);
  }
}
.l-section__title::before {
  content: "";
  width: 10.6666666667vw;
  height: 10.6666666667vw;
  display: block;
  position: absolute;
  left: -3.7333333333vw;
  top: -3.7333333333vw;
  z-index: -1;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(../images/common/illust/bubble.svg);
}
@media (min-width: 768px) {
  .l-section__title::before {
    width: min(70px, 4.8611111111vw);
    height: min(70px, 4.8611111111vw);
    left: max(-31px, -2.1527777778vw);
    top: max(-22px, -1.5277777778vw);
  }
}
.l-section__description {
  margin-top: 4.2666666667vw;
  font-size: 4.2666666667vw;
  line-height: 2;
  color: #253033;
  font-weight: 400;
}
@media (min-width: 768px) {
  .l-section__description {
    margin-top: min(18px, 1.25vw);
    font-size: min(18px, 1.25vw);
  }
}

.l-sns {
  margin: auto;
  width: 11.4666666667vw;
  height: -moz-max-content;
  height: max-content;
  position: fixed;
  right: 0;
  bottom: 40vw;
  z-index: 10;
}
@media (min-width: 768px) {
  .l-sns {
    width: min(65px, 4.5138888889vw);
    top: 0;
    bottom: 0;
  }
}
.l-sns__list {
  width: 100%;
  padding: 4.832vw 2.2933333333vw 5.8186666667vw;
  display: flex;
  flex-direction: column;
  gap: 4.4vw;
  background-color: #0191B4;
  border-radius: 1.76vw 0 0 1.76vw;
}
@media (min-width: 768px) {
  .l-sns__list {
    padding: min(32px, 2.2222222222vw) min(17px, 1.1805555556vw) min(32px, 2.2222222222vw) min(18px, 1.25vw);
    gap: min(25px, 1.7361111111vw);
    border-radius: min(10px, 0.6944444444vw) 0 0 min(10px, 0.6944444444vw);
  }
}
.l-sns__link {
  display: block;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: #fff;
  transition: background-color 0.2s ease-out;
}
@media (min-width: 768px) {
  .l-sns__link:hover {
    background-color: rgba(255, 255, 255, 0.5);
  }
}
.l-sns__link.is-instagram {
  width: 6.88vw;
  height: 6.8533333333vw;
  -webkit-mask-image: url(../images/common/icon_instagram.svg);
          mask-image: url(../images/common/icon_instagram.svg);
}
@media (min-width: 768px) {
  .l-sns__link.is-instagram {
    width: min(30px, 2.0833333333vw);
    height: min(30px, 2.0833333333vw);
  }
}
.l-sns__link.is-youtube {
  width: 6.88vw;
  height: 5.296vw;
  -webkit-mask-image: url(../images/common/icon_youtube.svg);
          mask-image: url(../images/common/icon_youtube.svg);
}
@media (min-width: 768px) {
  .l-sns__link.is-youtube {
    width: min(30px, 2.0833333333vw);
    height: min(21px, 1.4583333333vw);
  }
}

.l-list {
  margin-left: auto;
  margin-right: auto;
  width: 89.3333333333vw;
  position: relative;
}
@media (min-width: 768px) {
  .l-list {
    width: min(1240px, 86.1111111111vw);
  }
}
.l-list__title {
  color: #006077;
  line-height: 2;
  font-weight: 500;
  text-align: center;
  font-size: 6.9333333333vw;
}
@media (min-width: 768px) {
  .l-list__title {
    font-size: min(40px, 2.7777777778vw);
  }
}
.l-list__column {
  margin-top: 5.3333333333vw;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 8vw;
  position: relative;
}
@media (min-width: 768px) {
  .l-list__column {
    margin-top: min(33px, 2.2916666667vw);
    flex-direction: row;
    flex-wrap: wrap;
    gap: min(60px, 4.1666666667vw) min(20px, 1.3888888889vw);
  }
}
.l-list__column::before {
  content: "";
  margin: auto;
  width: 19.08vw;
  height: 17.0053333333vw;
  display: block;
  position: absolute;
  top: 1.136vw;
  left: -13.376vw;
  z-index: 1;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(../images/archive/list_fish1.svg);
}
@media (min-width: 768px) {
  .l-list__column::before {
    width: min(119.24px, 8.2805555556vw);
    height: min(106.28px, 7.3805555556vw);
    left: max(-89px, -6.1805555556vw);
    top: min(0px, 0vw);
  }
}
.l-list__item {
  width: 100%;
  position: relative;
}
@media (min-width: 768px) {
  .l-list__item {
    width: min(610px, 42.3611111111vw);
  }
}
.l-list__link {
  width: 100%;
  height: 46.864vw;
  padding: 0 3.7333333333vw 3.7333333333vw;
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 4.2666666667vw;
}
@media (min-width: 768px) {
  .l-list__link {
    height: min(320px, 22.2222222222vw);
    padding: 0 min(22px, 1.5277777778vw) min(20px, 1.3888888889vw);
    border-radius: min(20px, 1.3888888889vw);
  }
}
.l-list__link::before {
  content: "";
  margin: auto;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 58.33%, rgba(255, 255, 255, 0.7) 68%, #FFF 100.15%);
}
@media (min-width: 768px) {
  .l-list__link::before {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 55%, #FFF 100%);
  }
}
.l-list__link > * {
  transition: all 0.3s ease-out;
}
.l-list__img {
  margin: auto;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  inset: 0;
  transition: scale 0.3s ease-out;
}
@media (min-width: 768px) {
  a:hover .l-list__img {
    scale: 1.05;
  }
}
.l-list__img img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.l-list__text {
  margin-top: auto;
  width: 100%;
  position: relative;
  z-index: 2;
  color: #006077;
  font-size: 4vw;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0em;
}
@media (min-width: 768px) {
  .l-list__text {
    font-size: min(24px, 1.6666666667vw);
    letter-spacing: 0.05em;
  }
}
.l-list__caption {
  margin-top: 2.6666666667vw;
  margin-left: auto;
  margin-right: auto;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  text-align: center;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #006077;
  font-size: 3.7333333333vw;
}
@media (min-width: 768px) {
  .l-list__caption {
    margin-top: min(16px, 1.1111111111vw);
    font-size: min(18px, 1.25vw);
  }
}
.l-list .c-button {
  margin-top: 8vw;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 768px) {
  .l-list .c-button {
    margin-top: min(97px, 6.7361111111vw);
  }
}

/*--------------------------------------*
 * component
 *--------------------------------------*/
.c-bubble {
  position: relative;
  z-index: 1;
}
.c-bubble__wrap {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: block;
  z-index: 1;
  opacity: 0.4;
  pointer-events: none;
}

.c-button {
  width: -moz-max-content;
  width: max-content;
  min-width: min(300px, 20.8333333333vw);
  max-width: 100%;
  height: min(60px, 4.1666666667vw);
  padding-left: min(30px, 2.0833333333vw);
  padding-right: min(30px, 2.0833333333vw);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
  font-weight: 700;
  font-size: min(16px, 1.1111111111vw);
  color: #fff;
  background: linear-gradient(to right, rgb(255, 141, 54) 0%, rgb(251, 217, 15) 40%, rgb(251, 217, 15) 60%, rgb(255, 141, 54) 100%);
  background-size: 200%;
  background-position: 100% center;
  border-radius: 30px;
  transition: all 0.2s ease-out;
}
@media (max-width: 767.98px) {
  .c-button {
    margin-left: auto;
    margin-right: auto;
    min-width: 64vw;
    height: 12.8vw;
    padding-left: 6.4vw;
    padding-right: 6.4vw;
    font-size: 3.4133333333vw;
    border-radius: 6.4vw;
  }
}
.c-button:hover {
  background-position: 0%;
}
.c-button::after {
  content: "";
  margin: auto;
  width: min(40px, 2.7777777778vw);
  height: min(40px, 2.7777777778vw);
  display: block;
  position: absolute;
  right: min(14px, 0.9722222222vw);
  top: 0;
  bottom: 0;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../images/common/circle-arrow.svg);
}
@media (max-width: 767.98px) {
  .c-button::after {
    width: 8.5333333333vw;
    height: 8.5333333333vw;
    right: 2.9866666667vw;
  }
}
.c-button.is-back::after {
  scale: -1 1;
}

.c-container {
  margin-top: calc(-1 * var(--height));
  width: 100%;
  --height:96px;
  position: relative;
  -webkit-mask-size: 100%;
          mask-size: 100%;
  -webkit-mask-image: url(../images/common/wave.png), linear-gradient(to bottom, transparent 0%, transparent var(--height), #000 var(--height), #000 100%);
          mask-image: url(../images/common/wave.png), linear-gradient(to bottom, transparent 0%, transparent var(--height), #000 var(--height), #000 100%);
  -webkit-mask-position: 30vw top;
          mask-position: 30vw top;
  will-change: mask-position;
}
@media (max-width: 767.98px) {
  .c-container {
    margin-top: -7.5413333333vw;
    --height:vw(28.28);
    -webkit-mask-image: url(../images/common/wave.png), linear-gradient(to bottom, transparent 0%, transparent 7.5413333333vw, #000 7.5413333333vw, #000 100%);
            mask-image: url(../images/common/wave.png), linear-gradient(to bottom, transparent 0%, transparent 7.5413333333vw, #000 7.5413333333vw, #000 100%);
    -webkit-mask-position: left top;
            mask-position: left top;
  }
}
main .c-container:nth-child(even) {
  animation-duration: 10s;
}
.c-container::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0.4;
  pointer-events: none;
  background-repeat: repeat;
  background-image: url(../images/common/noise.svg);
  mix-blend-mode: multiply;
}

.c-container-filter {
  display: none;
}

.c-fish-katsuo {
  width: min(225.82px, 15.6819444444vw);
  pointer-events: none;
  animation: swim 1s ease-in-out infinite alternate;
  rotate: -25deg;
}
@media (max-width: 767.98px) {
  .c-fish-katsuo {
    width: 30.1093333333vw;
  }
}

.c-fish-aji {
  width: min(83.12px, 5.7722222222vw);
  pointer-events: none;
  animation: swim 1s ease-in-out infinite alternate;
  rotate: 15.05deg;
}
@media (max-width: 767.98px) {
  .c-fish-aji {
    width: 15.0906666667vw;
  }
}

.c-fish-iwaba {
  width: min(239.06px, 16.6013888889vw);
  pointer-events: none;
}

.c-fish-ebi {
  width: min(54.88px, 3.8111111111vw);
  pointer-events: none;
  animation: jump 5s ease-in-out infinite alternate;
}
@media (max-width: 767.98px) {
  .c-fish-ebi {
    width: 7.672vw;
  }
}

.c-fish-kani {
  width: min(116.35px, 8.0798611111vw);
  pointer-events: none;
}
@media (max-width: 767.98px) {
  .c-fish-kani {
    width: 16.264vw;
  }
}

.c-fish-ika {
  width: min(65.05px, 4.5173611111vw);
  rotate: 30.91deg;
  pointer-events: none;
  animation: swim 1s ease-in-out infinite alternate;
}
@media (max-width: 767.98px) {
  .c-fish-ika {
    width: 9.1573333333vw;
  }
}

.c-fish-iwashi {
  width: min(66.57px, 4.6229166667vw);
  pointer-events: none;
  animation: swim 1s ease-in-out infinite alternate;
}
@media (max-width: 767.98px) {
  .c-fish-iwashi {
    width: 10.6506666667vw;
  }
}

.c-fish-sake {
  width: min(183.29px, 12.7284722222vw);
  pointer-events: none;
  animation: swim 1s ease-in-out infinite alternate;
}
@media (max-width: 767.98px) {
  .c-fish-sake {
    width: 23.4613333333vw;
  }
}

:where(.c-text) a {
  color: #0191B4;
  text-decoration: underline;
}
.c-text strong {
  color: #0191B4;
  font-weight: 700;
}
.c-text.is-color {
  color: #0191B4;
}
.c-text.is-bold {
  font-weight: 700;
}
.c-text.is-center {
  text-align: center;
}
:where(.c-title--large) + .c-text, :where(.c-title--middle) + .c-text, :where(.c-title--small) + .c-text {
  margin-top: min(40px, 2.7777777778vw);
}
@media (max-width: 767.98px) {
  :where(.c-title--large) + .c-text, :where(.c-title--middle) + .c-text, :where(.c-title--small) + .c-text {
    margin-top: 9.3vw;
  }
}
.c-text.is-underline {
  background: linear-gradient(transparent 60%, #FFFB9B 40%);
  display: inline;
}
.c-text--large {
  font-size: min(20px, 1.3888888889vw);
}
:where(.c-text--large) a {
  color: #0191B4;
  text-decoration: underline;
}
.c-text--large strong {
  color: #0191B4;
  font-weight: 700;
}
.c-text--large.is-color {
  color: #0191B4;
}
.c-text--large.is-bold {
  font-weight: 700;
}
.c-text--large.is-center {
  text-align: center;
}
:where(.c-title--large) + .c-text--large, :where(.c-title--middle) + .c-text--large, :where(.c-title--small) + .c-text--large {
  margin-top: min(40px, 2.7777777778vw);
}
@media (max-width: 767.98px) {
  :where(.c-title--large) + .c-text--large, :where(.c-title--middle) + .c-text--large, :where(.c-title--small) + .c-text--large {
    margin-top: 9.3vw;
  }
}
@media (min-width: 768px) {
  .c-text--large {
    font-size: min(20px, 1.3888888889vw);
  }
}
.c-text--small {
  font-size: min(13px, 0.9027777778vw);
}
:where(.c-text--small) a {
  color: #0191B4;
  text-decoration: underline;
}
.c-text--small strong {
  color: #0191B4;
  font-weight: 700;
}
.c-text--small.is-color {
  color: #0191B4;
}
.c-text--small.is-bold {
  font-weight: 700;
}
.c-text--small.is-center {
  text-align: center;
}
:where(.c-title--large) + .c-text--small, :where(.c-title--middle) + .c-text--small, :where(.c-title--small) + .c-text--small {
  margin-top: min(40px, 2.7777777778vw);
}
@media (max-width: 767.98px) {
  :where(.c-title--large) + .c-text--small, :where(.c-title--middle) + .c-text--small, :where(.c-title--small) + .c-text--small {
    margin-top: 9.3vw;
  }
}
@media (max-width: 767.98px) {
  .c-text--small {
    font-size: 3.46vw;
  }
}

.c-text-caption {
  font-size: min(12px, 0.8333333333vw);
  color: #7E7E7E;
}
@media (max-width: 767.98px) {
  .c-text-caption {
    font-size: 3.2vw;
  }
}

.c-text-annotation {
  font-size: min(12px, 0.8333333333vw);
}
:where(.c-text-annotation) a {
  color: #0191B4;
  text-decoration: underline;
}
.c-text-annotation strong {
  color: #0191B4;
  font-weight: 700;
}
.c-text-annotation.is-color {
  color: #0191B4;
}
.c-text-annotation.is-bold {
  font-weight: 700;
}
.c-text-annotation.is-center {
  text-align: center;
}
:where(.c-title--large) + .c-text-annotation, :where(.c-title--middle) + .c-text-annotation, :where(.c-title--small) + .c-text-annotation {
  margin-top: min(40px, 2.7777777778vw);
}
@media (max-width: 767.98px) {
  :where(.c-title--large) + .c-text-annotation, :where(.c-title--middle) + .c-text-annotation, :where(.c-title--small) + .c-text-annotation {
    margin-top: 9.3vw;
  }
}
@media (max-width: 767.98px) {
  .c-text-annotation {
    font-size: 3.2vw;
  }
}

.c-text-list__item {
  padding-left: 1em;
  position: relative;
}
.c-text-list__item::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}

.c-title, .c-title--small, .c-title--middle, .c-title--large {
  margin-left: auto;
  margin-right: auto;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  text-align: center;
  color: #0191B4;
  font-weight: 600;
  line-height: 1.6;
}
@media (max-width: 767.98px) {
  .c-title--large {
    font-size: 6.93vw;
  }
}
@media (min-width: 768px) {
  .c-title--large {
    font-size: min(40px, 2.7777777778vw);
    letter-spacing: 0.05em;
  }
}
@media (max-width: 767.98px) {
  .c-title--middle {
    font-size: 6.13vw;
  }
}
@media (min-width: 768px) {
  .c-title--middle {
    font-size: min(32px, 2.2222222222vw);
    letter-spacing: 0.05em;
  }
}
@media (max-width: 767.98px) {
  .c-title--small {
    font-size: 5.33vw;
  }
}
@media (min-width: 768px) {
  .c-title--small {
    font-size: min(24px, 1.6666666667vw);
  }
}

.c-title-section {
  color: #0191B4;
  font-size: min(24px, 1.6666666667vw);
  font-weight: 600;
  line-height: 1.6;
}
@media (max-width: 767.98px) {
  .c-title-section {
    font-size: 5.33vw;
  }
}
.c-title-section__caption {
  color: #0191B4;
  font-size: min(16px, 1.1111111111vw);
  font-weight: 600;
  line-height: inherit;
}
@media (max-width: 767.98px) {
  .c-title-section__caption {
    font-size: 3.2vw;
  }
}

.c-title-number {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: min(30px, 2.0833333333vw);
  width: -moz-max-content;
  width: max-content;
  position: relative;
  font-size: min(42px, 2.9166666667vw);
  color: #0191B4;
}
@media (max-width: 767.98px) {
  .c-title-number {
    margin-bottom: 4vw;
    font-size: 6.2vw;
  }
}
.c-title-number::after {
  content: "";
  margin-left: auto;
  margin-right: auto;
  width: 0.75em;
  height: 2px;
  display: block;
  background-color: #0191B4;
}

.c-wrap, .c-wrap--bg {
  width: 100%;
  position: relative;
}
.c-wrap--bg {
  padding-top: min(100px, 6.9444444444vw);
  padding-bottom: min(100px, 6.9444444444vw);
  background-color: #F9F7F7;
}
@media (max-width: 767.98px) {
  .c-wrap--bg {
    padding-top: 12vw;
    padding-bottom: 12vw;
  }
}

.c-wrap-container, .c-wrap-container--bg, .c-wrap-container--small {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  position: relative;
}
@media (max-width: 767.98px) {
  .c-wrap-container, .c-wrap-container--bg, .c-wrap-container--small {
    padding-left: 5.3333333333vw;
    padding-right: 5.3333333333vw;
  }
}
@media (min-width: 768px) {
  .c-wrap-container, .c-wrap-container--bg, .c-wrap-container--small {
    max-width: 1440px;
    padding-left: min(100px, 6.9444444444vw);
    padding-right: min(100px, 6.9444444444vw);
  }
}
@media (min-width: 768px) {
  .c-wrap-container--small {
    max-width: 960px;
  }
}
.c-wrap-container--bg {
  padding-top: min(70px, 4.8611111111vw);
  padding-bottom: min(92px, 6.3888888889vw);
  background-color: #F9F7F7;
}
@media (max-width: 767.98px) {
  .c-wrap-container--bg {
    padding-top: 12vw;
    padding-bottom: 12vw;
  }
}

.c-wrap-inner {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  position: relative;
}
@media (max-width: 767.98px) {
  .c-wrap-inner {
    max-width: 89.33333333%;
  }
}
@media (min-width: 768px) {
  .c-wrap-inner {
    max-width: 960px;
  }
}
.c-wrap-inner--large {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  position: relative;
}
@media (max-width: 767.98px) {
  .c-wrap-inner--large {
    max-width: 89.33333333%;
  }
}
@media (min-width: 768px) {
  .c-wrap-inner--large {
    max-width: 1160px;
  }
}

.c-wrap-nav {
  margin-left: auto;
  margin-right: auto;
  width: 89.3333333333vw;
  padding-top: 19.7333333333vw;
  position: relative;
  display: flex;
  flex-direction: column;
}
@media (max-width: 767.98px) {
  .c-wrap-nav {
    gap: 15.2vw;
  }
}
@media (min-width: 768px) {
  .c-wrap-nav {
    width: 100%;
    max-width: 1440px;
    padding-top: min(174px, 12.0833333333vw);
    padding-left: min(100px, 6.9444444444vw);
    padding-right: min(100px, 6.9444444444vw);
    flex-direction: row;
    justify-content: space-between;
  }
}
.c-wrap-nav__inner {
  position: relative;
}
@media (min-width: 768px) {
  .c-wrap-nav__inner {
    width: min(900px, 62.5vw);
  }
}

.c-wrap-column {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  .c-wrap-column {
    gap: min(50px, 3.4722222222vw) min(40px, 2.7777777778vw);
  }
}
@media (max-width: 767.98px) {
  .c-wrap-column {
    flex-direction: column;
    gap: 12vw;
  }
}
@media (min-width: 768px) {
  .c-wrap-column__item {
    width: calc(50% - 20px);
  }
}

/*--------------------------------------*
 * project
 *--------------------------------------*/
.p-top .c-bubble {
  z-index: 2;
}
.p-top .is-container1 {
  -webkit-mask-position: 50% top;
          mask-position: 50% top;
  background: linear-gradient(180deg, #CEF3EC 0%, #EEFFF4 50%, #E6FBDF 100%);
}
.p-top .is-container2 {
  -webkit-mask-position: -50vw 0%;
          mask-position: -50vw 0%;
  background: linear-gradient(0deg, #E4FFF3 45.76%, #CCFDED 100.87%), linear-gradient(0deg, #E4FFF3 45.76%, #B3F6E0 100.87%), linear-gradient(270deg, #AEE7E5 0%, #DCFFEB 50%, #C4F3C1 100%), #FFF;
}
@media (min-width: 768px) {
  .p-top .is-container2 .p-top-title {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    text-align: center;
  }
  .p-top .is-container2 .p-top-title__deco {
    margin-left: auto;
    margin-right: auto;
  }
}
.p-top .is-container3 {
  -webkit-mask-position: 0vw 0vw;
          mask-position: 0vw 0vw;
  background: linear-gradient(0deg, #D5FFFC 11.68%, #BFF9F4 100.6%), linear-gradient(0deg, #D2FDFA 11.68%, #98EEE6 100.6%), linear-gradient(180deg, #CEF3EC 0%, #EEFFF4 44.16%), linear-gradient(270deg, #CEF3EC 0%, #EEFFF4 50%, #E6FBDF 100%);
}
.p-top .is-container4 {
  -webkit-mask-position: -50vw 0vw;
          mask-position: -50vw 0vw;
  background: linear-gradient(0deg, #B8F8F8 1.9%, #A9EFFF 100.85%), linear-gradient(0deg, #93E1E1 6.72%, #7FE2F8 100.81%), linear-gradient(0deg, #E4FFF3 -38.89%, #B3F6E0 102.23%), linear-gradient(270deg, #AEE7E5 0%, #DCFFEB 50%, #C4F3C1 100%), #FFF;
}
.p-top .is-container5 {
  -webkit-mask-position: 0vw 0vw;
          mask-position: 0vw 0vw;
  background: linear-gradient(to bottom, rgb(68, 187, 239) 0%, rgb(156, 241, 252) 100%);
}
.p-top .is-container6 {
  -webkit-mask-position: 0vw 0vw;
          mask-position: 0vw 0vw;
  background: linear-gradient(to bottom, rgb(85, 141, 214) 0%, rgb(91, 168, 209) 100%);
}
.p-top .c-button {
  letter-spacing: 0.2em;
}

.p-top-title {
  color: #006077;
}
.p-top-title__deco {
  width: -moz-max-content;
  width: max-content;
  padding-left: 1.2em;
  position: relative;
  display: block;
  font-weight: 700;
  letter-spacing: 0.15em;
  font-size: min(14px, 0.9722222222vw);
  line-height: 1;
}
@media (max-width: 767.98px) {
  .p-top-title__deco {
    font-size: 3.2vw;
  }
}
.p-top-title__deco::before {
  content: "";
  width: 0.6em;
  height: 0.6em;
  margin: auto;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  background-color: #0191B4;
  border-radius: 50%;
}
.p-top-title__text {
  display: block;
  font-size: min(50px, 3.4722222222vw);
  font-weight: 500;
  letter-spacing: 0.05em;
  text-stroke: 0.8vw #fff;
  -webkit-text-stroke: 0.8vw #fff;
  paint-order: stroke;
  -webkit-paint-order: stroke;
}
@media (min-width: 768px) {
  .p-top-title__text {
    text-stroke: min(5px, 0.3472222222vw) #fff;
    -webkit-text-stroke: min(5px, 0.3472222222vw) #fff;
  }
}
@media (max-width: 767.98px) {
  .p-top-title__text {
    margin-top: 2.6666666667vw;
    font-size: 8.5333333333vw;
    line-height: 1.8;
  }
}
.p-top-title__description {
  color: #253033;
  font-weight: 400;
}
@media (max-width: 767.98px) {
  .p-top-title__description {
    margin-top: 4.8vw;
  }
}

.p-top-subtitle {
  font-size: min(40px, 2.7777777778vw);
  font-weight: 500;
  line-height: 2;
}
@media (max-width: 767.98px) {
  .p-top-subtitle {
    font-size: 5.8666666667vw;
  }
}

.p-top-text {
  color: #253033;
  font-weight: 400;
}
.p-top-text__link {
  color: #0191B4;
  text-decoration: none;
}
.p-top-text__link:hover {
  text-decoration: underline;
}
.p-top-text + .p-top-text {
  margin-top: min(30px, 2.0833333333vw);
}
@media (max-width: 767.98px) {
  .p-top-text + .p-top-text {
    margin-top: 5.3333333333vw;
  }
}
.p-top-subtitle + .p-top-text {
  margin-top: min(30px, 2.0833333333vw);
}
@media (max-width: 767.98px) {
  .p-top-subtitle + .p-top-text {
    margin-top: 5.3333333333vw;
  }
}
.p-top-text + .c-button {
  margin-top: min(60px, 4.1666666667vw);
}
@media (max-width: 767.98px) {
  .p-top-text + .c-button {
    margin-top: 10.6666666667vw;
  }
}

@keyframes ship-translate {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(max(10px, 0.6944444444vw));
  }
}
@keyframes ship-translate-sp {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(1.3333333333vw);
  }
}
@keyframes ship-rotate {
  0% {
    rotate: 0deg;
  }
  100% {
    rotate: -4deg;
  }
}
@keyframes ship-scale {
  0% {
    transform: translateY(0);
    scale: 1 1;
  }
  100% {
    transform: translateY(max(5px, 0.3472222222vw));
    scale: 1 0.7;
  }
}
.p-top-kv {
  width: 100%;
  aspect-ratio: 1440/957;
  padding-top: 38.6666%;
  position: relative;
  background: linear-gradient(to right, rgb(242, 184, 200) 0%, rgb(131, 225, 237) 50%, rgb(165, 228, 255) 100%);
  background-size: 200vw;
  background-position: 100vw top;
  animation: kv-grad 3s linear infinite alternate;
}
@media (max-width: 767.98px) {
  .p-top-kv {
    min-height: 83dvh;
    aspect-ratio: 375/643;
    padding-top: 106.6666666667vw;
  }
}
.p-top-kv::before {
  content: "";
  margin: auto;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  inset: 0;
  z-index: 1;
  background-repeat: no-repeat;
  background-position: center min(28px, 1.9444444444vw);
  background-size: contain;
  background-image: url(../images/top/kv.svg);
}
@media (max-width: 767.98px) {
  .p-top-kv::before {
    background-position: center -26.6666666667vw;
    background-size: 100vw;
    background-image: url(../images/top/kv-sp.svg);
  }
}
.p-top-kv::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  z-index: 2;
  opacity: 0.4;
  pointer-events: none;
  background-repeat: repeat;
  background-image: url(../images/common/noise.svg);
  mix-blend-mode: multiply;
}
.p-top-kv__title {
  margin: auto;
  width: -moz-max-content;
  width: max-content;
  display: block;
  z-index: 3;
  text-align: center;
  color: #006077;
  font-size: min(50px, 3.4722222222vw);
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.7;
  text-stroke: 0.8vw #fff;
  -webkit-text-stroke: 0.8vw #fff;
  paint-order: stroke;
  -webkit-paint-order: stroke;
}
@media (min-width: 768px) {
  .p-top-kv__title {
    text-stroke: min(5px, 0.3472222222vw) #fff;
    -webkit-text-stroke: min(5px, 0.3472222222vw) #fff;
  }
}
@media (min-width: 768px) {
  .p-top-kv__title {
    position: relative;
  }
}
@media (max-width: 767.98px) {
  .p-top-kv__title {
    font-size: 9.6vw;
    position: absolute;
    left: 0;
    right: 0;
    top: 87.4666666667vw;
  }
}
.p-top-kv__cloud {
  margin: auto;
  width: 100%;
  aspect-ratio: 1440/820;
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  right: 0;
}
@media (max-width: 767.98px) {
  .p-top-kv__cloud {
    aspect-ratio: 375/690;
  }
}
.p-top-kv__ship {
  margin: auto;
  width: 11.7333333333vw;
  height: 10.5146666667vw;
  position: absolute;
  left: 38.9333333333vw;
  top: 43.4666666667vw;
  z-index: 0;
}
@media (min-width: 768px) {
  .p-top-kv__ship {
    width: min(137.04px, 9.5166666667vw);
    height: min(122.79px, 8.5270833333vw);
    top: max(280.86px, 19.5041666667vw);
    right: 0;
    left: 0;
    translate: min(-40px, -2.7777777778vw);
  }
}
.p-top-kv__ship-img {
  position: absolute;
  width: 11.5093333333vw;
  height: 9.2vw;
  right: 0;
  top: 0;
  z-index: 2;
  animation: ship-translate-sp 1.5s ease-in-out infinite alternate, ship-rotate 1.5s ease-out infinite alternate;
}
@media (min-width: 768px) {
  .p-top-kv__ship-img {
    width: min(135.16px, 9.3861111111vw);
    height: min(107.43px, 7.4604166667vw);
    animation: ship-translate 3s ease-in-out infinite alternate, ship-rotate 3s ease-out infinite alternate;
  }
}
.p-top-kv__ship-shadow {
  width: 10.2773333333vw;
  height: 6.4426666667vw;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
  transform-origin: bottom;
}
@media (min-width: 768px) {
  .p-top-kv__ship-shadow {
    width: min(120.02px, 8.3347222222vw);
    height: min(75.25px, 5.2256944444vw);
    animation: ship-scale 3s ease-in-out infinite alternate;
  }
}

.p-top-about {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  position: relative;
  z-index: 2;
  padding-top: min(170px, 11.8055555556vw);
  padding-bottom: min(540px, 37.5vw);
}
@media (max-width: 767.98px) {
  .p-top-about {
    padding-left: 5.3333333333vw;
    padding-right: 5.3333333333vw;
  }
}
@media (min-width: 768px) {
  .p-top-about {
    max-width: 1440px;
    padding-left: 100px;
    padding-right: 100px;
  }
}
@media (max-width: 767.98px) {
  .p-top-about {
    padding-top: 23.2vw;
    padding-bottom: 30.6666666667vw;
  }
}
.p-top-about__inner {
  width: min(680px, 47.2222222222vw);
  position: relative;
}
@media (max-width: 767.98px) {
  .p-top-about__inner {
    width: 89.3333333333vw;
  }
}
.p-top-about .p-top-text {
  font-size: min(20px, 1.3888888889vw);
  line-height: 2.2;
}
@media (max-width: 767.98px) {
  .p-top-about .p-top-text {
    font-size: 4.2666666667vw;
  }
}
@media (max-width: 767.98px) {
  .p-top-about .c-button {
    margin-top: 180.8vw;
  }
}
.p-top-about__img-set {
  width: min(732px, 50.8333333333vw);
}
@media (max-width: 767.98px) {
  .p-top-about__img-set {
    margin-left: auto;
    margin-right: auto;
    width: 89.6vw;
    height: 121.6853333333vw;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 90.1333333333vw;
  }
}
@media (min-width: 768px) {
  .p-top-about__img-set {
    position: absolute;
    top: min(404px, 28.0555555556vw);
    height: min(596px, 41.3888888889vw);
    right: 0;
  }
}
.p-top-about__img {
  margin: auto;
  position: absolute;
  transition: all 0.3s ease-out;
}
.p-top-about__img.is-img1 {
  width: min(295px, 20.4861111111vw);
  top: min(159px, 11.0416666667vw);
  left: 0;
}
@media (max-width: 767.98px) {
  .p-top-about__img.is-img1 {
    width: 50.6586666667vw;
    top: 26.9626666667vw;
    left: 0vw;
  }
}
.p-top-about__img.is-img2 {
  width: min(224px, 15.5555555556vw);
  top: 0px;
  left: min(158px, 10.9722222222vw);
}
@media (max-width: 767.98px) {
  .p-top-about__img.is-img2 {
    width: 38.4666666667vw;
    top: 0vw;
    left: 27.1333333333vw;
  }
}
.p-top-about__img.is-img3 {
  width: min(181px, 12.5694444444vw);
  top: min(38px, 2.6388888889vw);
  left: min(458px, 31.8055555556vw);
}
@media (max-width: 767.98px) {
  .p-top-about__img.is-img3 {
    width: 23.168vw;
    top: 40.3466666667vw;
    left: 55.4666666667vw;
  }
}
.p-top-about__img.is-img4 {
  width: min(135px, 9.375vw);
  top: min(191px, 13.2638888889vw);
  right: 0;
}
@media (max-width: 767.98px) {
  .p-top-about__img.is-img4 {
    width: 17.28vw;
    top: 60.8053333333vw;
    left: 72.352vw;
  }
}
.p-top-about__img.is-img5 {
  width: min(165px, 11.4583333333vw);
  bottom: min(120px, 8.3333333333vw);
  right: min(82px, 5.6944444444vw);
}
@media (max-width: 767.98px) {
  .p-top-about__img.is-img5 {
    width: 27.9493333333vw;
    top: 76.4vw;
    left: 51.824vw;
  }
}
.p-top-about__img.is-img6 {
  width: min(224px, 15.5555555556vw);
  bottom: max(-3px, -0.2083333333vw);
  left: min(305px, 21.1805555556vw);
}
@media (max-width: 767.98px) {
  .p-top-about__img.is-img6 {
    width: 37.944vw;
    top: 83.7413333333vw;
    left: 19.7333333333vw;
  }
}
.p-top-about__fish {
  position: absolute;
  animation: swim 1s ease-in-out infinite alternate;
}
.p-top-about__fish.is-fish1 {
  width: min(100px, 6.9444444444vw);
  left: min(980px, 68.0555555556vw);
  scale: -1 1;
  animation-direction: 3s;
}
@media (max-width: 767.98px) {
  .p-top-about__fish.is-fish1 {
    width: 14.4vw;
    left: 11.4666666667vw;
    bottom: 197.3333333333vw;
  }
}
@media (min-width: 768px) {
  .p-top-about__fish.is-fish1 {
    top: min(330px, 22.9166666667vw);
  }
}
.p-top-about__fish.is-fish2 {
  width: min(171px, 11.875vw);
  right: min(65px, 4.5138888889vw);
  animation-delay: 0.2s;
}
@media (max-width: 767.98px) {
  .p-top-about__fish.is-fish2 {
    width: 24.624vw;
    right: 2.576vw;
    bottom: 170.6666666667vw;
  }
}
@media (min-width: 768px) {
  .p-top-about__fish.is-fish2 {
    top: min(385px, 26.7361111111vw);
  }
}
.p-top-about__group {
  width: min(1004.45px, 69.7534722222vw);
  height: min(335.04px, 23.2666666667vw);
  position: absolute;
  bottom: min(240px, 16.6666666667vw);
  right: max(-170px, -11.8055555556vw);
  rotate: -25deg;
  animation: group 1s ease-in-out infinite alternate;
}
@media (max-width: 767.98px) {
  .p-top-about__group {
    width: 105.8426666667vw;
    height: 60.2906666667vw;
    bottom: 61.3333333333vw;
    left: 1.4666666667vw;
    rotate: -20deg;
    transform-origion: right;
  }
}
.p-top-about__group .c-fish-katsuo {
  position: absolute;
  rotate: 0deg;
}
.p-top-about__group .c-fish-katsuo.is-katsuo1 {
  top: min(124.95px, 8.6770833333vw);
  left: 0;
  z-index: 1;
  animation-delay: 0.2s;
}
@media (max-width: 767.98px) {
  .p-top-about__group .c-fish-katsuo.is-katsuo1 {
    top: 39.7573333333vw;
    left: 0vw;
  }
}
.p-top-about__group .c-fish-katsuo.is-katsuo2 {
  top: min(71.7px, 4.9791666667vw);
  left: min(185.16px, 12.8583333333vw);
  animation-delay: 0.4s;
}
@media (max-width: 767.98px) {
  .p-top-about__group .c-fish-katsuo.is-katsuo2 {
    top: 26.424vw;
    left: 14.1333333333vw;
  }
}
.p-top-about__group .c-fish-katsuo.is-katsuo3 {
  bottom: 0;
  left: min(208.9px, 14.5069444444vw);
  animation-delay: 0.6s;
}
@media (max-width: 767.98px) {
  .p-top-about__group .c-fish-katsuo.is-katsuo3 {
    top: 44.824vw;
    left: 28.5333333333vw;
  }
}
.p-top-about__group .c-fish-katsuo.is-katsuo4 {
  top: min(146.88px, 10.2vw);
  left: min(393.08px, 27.2972222222vw);
  animation-delay: 0.8s;
}
@media (max-width: 767.98px) {
  .p-top-about__group .c-fish-katsuo.is-katsuo4 {
    top: 33.624vw;
    left: 49.8666666667vw;
  }
}
.p-top-about__group .c-fish-katsuo.is-katsuo5 {
  top: min(59.01px, 4.0979166667vw);
  left: min(510.56px, 35.4555555556vw);
  animation-delay: 1s;
}
@media (max-width: 767.98px) {
  .p-top-about__group .c-fish-katsuo.is-katsuo5 {
    top: 44.024vw;
    left: 70.6666666667vw;
  }
}
.p-top-about__group .c-fish-katsuo.is-katsuo6 {
  top: min(189.68px, 13.1722222222vw);
  left: min(658.65px, 45.7395833333vw);
  animation-delay: 0.2s;
}
@media (max-width: 767.98px) {
  .p-top-about__group .c-fish-katsuo.is-katsuo6 {
    width: 25.72vw;
    top: 24vw;
    left: 83.136vw;
  }
}
.p-top-about__group .c-fish-katsuo.is-katsuo7 {
  top: 0;
  right: max(-30px, -2.0833333333vw);
  animation-delay: 0.4s;
}
@media (max-width: 767.98px) {
  .p-top-about__group .c-fish-katsuo.is-katsuo7 {
    display: none;
  }
}
.p-top-about .p-top-subtitle {
  margin-top: min(52px, 3.6111111111vw);
}
@media (max-width: 767.98px) {
  .p-top-about .p-top-subtitle {
    margin-top: 6.6666666667vw;
  }
}

.p-top-message {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  position: relative;
  z-index: 2;
  padding-top: min(154px, 10.6944444444vw);
}
@media (max-width: 767.98px) {
  .p-top-message {
    padding-left: 5.3333333333vw;
    padding-right: 5.3333333333vw;
  }
}
@media (min-width: 768px) {
  .p-top-message {
    max-width: 1440px;
    padding-left: 100px;
    padding-right: 100px;
  }
}
@media (max-width: 767.98px) {
  .p-top-message {
    padding-top: 24.8vw;
  }
}
.p-top-message__content {
  margin-top: min(38px, 2.6388888889vw);
  margin-left: auto;
  margin-right: auto;
  width: min(1000px, 69.4444444444vw);
  padding: min(50px, 3.4722222222vw) min(40px, 2.7777777778vw);
  text-align: center;
  background-color: #fff;
  border-radius: min(20px, 1.3888888889vw);
}
@media (max-width: 767.98px) {
  .p-top-message__content {
    margin-top: 5.8666666667vw;
    width: 100%;
    padding: 6.4vw;
    text-align: left;
    border-radius: 4.2666666667vw;
  }
}
.p-top-message__content .p-top-text {
  line-height: 2.2;
  font-size: 4.2666666667vw;
}
@media (min-width: 768px) {
  .p-top-message__content .p-top-text {
    font-size: min(18px, 1.25vw);
  }
}
.p-top-message__name {
  margin-top: min(30px, 2.0833333333vw);
  font-size: min(22px, 1.5277777778vw);
  line-height: 2.2;
  font-weight: 600;
}
@media (max-width: 767.98px) {
  .p-top-message__name {
    margin-top: 5.3333333333vw;
    font-size: 4.8vw;
  }
}
.p-top-message .p-top-subtitle {
  font-size: min(34px, 2.3611111111vw);
  line-height: 2;
}
@media (max-width: 767.98px) {
  .p-top-message .p-top-subtitle {
    font-size: 5.8666666667vw;
  }
}
.p-top-message .c-fish-katsuo {
  position: absolute;
  top: min(120px, 8.3333333333vw);
}
@media (max-width: 767.98px) {
  .p-top-message .c-fish-katsuo {
    top: 8.5333333333vw;
    right: 5.3333333333vw;
  }
}
@media (min-width: 768px) {
  .p-top-message .c-fish-katsuo {
    left: 0px;
  }
}
@media (max-width: 767.98px) {
  .p-top-message__group {
    width: 48.888vw;
    height: 32.9146666667vw;
    position: absolute;
    right: 1.2453333333vw;
    bottom: -24vw;
  }
}
.p-top-message .c-fish-iwaba {
  position: absolute;
  right: min(119px, 8.2638888889vw);
  bottom: max(-27px, -1.875vw);
}
@media (max-width: 767.98px) {
  .p-top-message .c-fish-iwaba {
    width: 33.4186666667vw;
    right: 0vw;
    bottom: 5.12vw;
  }
}
.p-top-message .c-fish-ebi {
  position: absolute;
}
.p-top-message .c-fish-ebi.is-ebi1 {
  right: min(189px, 13.125vw);
  bottom: min(61px, 4.2361111111vw);
  scale: -1 1;
  rotate: -15deg;
  animation-delay: 0.2s;
}
@media (max-width: 767.98px) {
  .p-top-message .c-fish-ebi.is-ebi1 {
    right: 10.1333333333vw;
    bottom: 17.6vw;
  }
}
.p-top-message .c-fish-ebi.is-ebi2 {
  right: min(128px, 8.8888888889vw);
  bottom: max(-29px, -2.0138888889vw);
  animation-delay: 0.4s;
}
@media (max-width: 767.98px) {
  .p-top-message .c-fish-ebi.is-ebi2 {
    right: 1.0666666667vw;
    bottom: 3.2533333333vw;
  }
}
.p-top-message .c-fish-kani {
  position: absolute;
  right: min(333px, 23.125vw);
  bottom: max(-53px, -3.6805555556vw);
}
@media (max-width: 767.98px) {
  .p-top-message .c-fish-kani {
    right: 29.9573333333vw;
    bottom: 0;
  }
}

.p-top-business {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  position: relative;
  z-index: 2;
  margin-top: min(240px, 16.6666666667vw);
  padding-bottom: min(270px, 18.75vw);
}
@media (max-width: 767.98px) {
  .p-top-business {
    padding-left: 5.3333333333vw;
    padding-right: 5.3333333333vw;
  }
}
@media (min-width: 768px) {
  .p-top-business {
    max-width: 1440px;
    padding-left: 100px;
    padding-right: 100px;
  }
}
@media (max-width: 767.98px) {
  .p-top-business {
    margin-top: 49.8666666667vw;
    padding-bottom: 65.3333333333vw;
  }
}
.p-top-business__box {
  margin-top: min(83px, 5.7638888889vw);
  width: 100%;
  position: relative;
}
@media (max-width: 767.98px) {
  .p-top-business__box {
    margin-top: 13.0666666667vw;
  }
}
.p-top-business__list {
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: min(20px, 1.3888888889vw);
  justify-content: center;
}
@media (max-width: 767.98px) {
  .p-top-business__list {
    flex-direction: column;
    gap: 11.7333333333vw;
  }
}
.p-top-business__item {
  width: calc(33.3333333333% - min(20px, 1.3888888889vw) * 2 / 3);
}
@media (max-width: 767.98px) {
  .p-top-business__item {
    width: 100%;
  }
}
.p-top-business__link {
  width: 100%;
  display: block;
  position: relative;
}
.p-top-business__img {
  width: 100%;
  height: min(350px, 24.3055555556vw);
  display: block;
  background-position: center;
  background-size: 100%;
  background-repeat: no-repeat;
  border-radius: 20px;
  transition: background-size 0.3s ease-out;
}
@media (max-width: 767.98px) {
  .p-top-business__img {
    height: 53.3333333333vw;
    border-radius: 3.6053333333vw;
  }
}
a:hover .p-top-business__img {
  background-size: 110%;
}
.is-item1 .p-top-business__img {
  background-image: url(../images/top/business__img1.jpg);
}
.is-item2 .p-top-business__img {
  background-image: url(../images/top/business__img2.jpg);
}
.is-item3 .p-top-business__img {
  background-image: url(../images/top/business__img3.jpg);
}
.p-top-business__link-text {
  margin-top: min(27px, 1.875vw);
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  min-height: 4em;
  padding: min(10px, 0.6944444444vw) min(20px, 1.3888888889vw);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(20px, 1.3888888889vw);
  position: relative;
  line-height: 1.6;
  font-size: min(20px, 1.3888888889vw);
  font-weight: 500;
  text-align: center;
  color: #fff;
  background-color: #0191B4;
  border-radius: 4em;
  transition: opacity 0.2s ease-out;
}
@media (max-width: 767.98px) {
  .p-top-business__link-text {
    margin-top: 3.2vw;
    min-height: 12.8vw;
    padding: 2.6666666667vw 5.3333333333vw;
    gap: 3.7333333333vw;
    font-size: 4.2666666667vw;
  }
}
a:hover .p-top-business__link-text {
  opacity: 0.6;
}
.p-top-business__link-text::after {
  content: "";
  margin: auto;
  width: min(40px, 2.7777777778vw);
  height: min(40px, 2.7777777778vw);
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: min(20px, 1.3888888889vw);
  background-repeat: no-repeat;
  background-position: center;
  background-size: min(15px, 1.0416666667vw);
  background-image: url(../images/common/icon-arrow-blue.svg);
  background-color: #fff;
  border-radius: 50%;
}
@media (max-width: 767.98px) {
  .p-top-business__link-text::after {
    width: 8.8vw;
    height: 8.8vw;
    right: 2.9866666667vw;
    background-size: 3.7333333333vw;
  }
}
a[target=_blank] .p-top-business__link-text::after {
  background-image: url(../images/common/icon-blank-blue.svg);
}
.p-top-business__tako {
  width: min(167.85px, 11.65625vw);
  position: absolute;
  z-index: 0;
  top: min(18.6px, 1.2916666667vw);
  left: max(-93.65px, -6.5034722222vw);
  rotate: -28.89deg;
  animation: swim 1s ease-in-out infinite alternate;
}
@media (max-width: 767.98px) {
  .p-top-business__tako {
    width: 26.856vw;
    top: -9.0586666667vw;
    left: -13.0666666667vw;
    rotate: -28.89deg;
  }
}
.p-top-business__sake {
  width: min(173.63px, 12.0576388889vw);
  position: absolute;
  z-index: 2;
  left: max(-86.34px, -5.9958333333vw);
  top: min(223.11px, 15.49375vw);
  pointer-events: none;
}
@media (max-width: 767.98px) {
  .p-top-business__sake {
    width: 24.232vw;
    right: -10.1386666667vw;
    left: auto;
    top: 78.7226666667vw;
  }
}
.p-top-business__sake .c-fish-sake {
  width: 100%;
  rotate: 11.82deg;
  position: absolute;
}
.p-top-business__sake .c-fish-sake.is-sake1 {
  top: 0;
  left: 0;
}
.p-top-business__sake .c-fish-sake.is-sake2 {
  top: min(54px, 3.75vw);
  left: min(14px, 0.9722222222vw);
}
@media (max-width: 767.98px) {
  .p-top-business__sake .c-fish-sake.is-sake2 {
    top: 8.3013333333vw;
    left: 2.0053333333vw;
  }
}
.p-top-business__iwashi {
  width: min(113.12px, 7.8555555556vw);
  position: absolute;
  right: max(-84.51px, -5.86875vw);
  top: min(42.94px, 2.9819444444vw);
  z-index: 2;
  pointer-events: none;
  scale: -1 1;
}
@media (max-width: 767.98px) {
  .p-top-business__iwashi {
    width: 18.0986666667vw;
    left: -6.6666666667vw;
    right: auto;
    top: 160.3093333333vw;
  }
}
.p-top-business__iwashi .c-fish-iwashi {
  position: absolute;
}
.p-top-business__iwashi .c-fish-iwashi.is-iwashi1 {
  width: min(85.09px, 5.9090277778vw);
  top: 0;
  right: 0;
  rotate: 17.38deg;
}
@media (max-width: 767.98px) {
  .p-top-business__iwashi .c-fish-iwashi.is-iwashi1 {
    width: 13.6133333333vw;
  }
}
.p-top-business__iwashi .c-fish-iwashi.is-iwashi2 {
  width: min(106.12px, 7.3694444444vw);
  top: min(44px, 3.0555555556vw);
  left: min(37px, 2.5694444444vw);
  rotate: 11.6deg;
}
@media (max-width: 767.98px) {
  .p-top-business__iwashi .c-fish-iwashi.is-iwashi2 {
    width: 16.3093333333vw;
    top: 7.0533333333vw;
  }
}
.p-top-business__ika {
  width: min(65.05px, 4.5173611111vw);
  position: absolute;
  z-index: 2;
  right: max(-78.22px, -5.4319444444vw);
  bottom: min(32.63px, 2.2659722222vw);
  rotate: 19.24deg;
}
@media (min-width: 768px) {
  .p-top-business__ika {
    transform-origin: right top;
  }
}
@media (max-width: 767.98px) {
  .p-top-business__ika {
    width: 11.448vw;
    right: -2.9973333333vw;
    bottom: 7.0266666667vw;
  }
}
.p-top-business__group {
  margin: auto;
  width: min(396.63px, 27.54375vw);
  height: min(149.25px, 10.3645833333vw);
  position: absolute;
  bottom: min(156px, 10.8333333333vw);
  rotate: -19deg;
}
@media (max-width: 767.98px) {
  .p-top-business__group {
    width: 108.32vw;
    height: 43.2346666667vw;
    left: 51.1466666667vw;
    bottom: 14.632vw;
  }
}
@media (min-width: 768px) {
  .p-top-business__group {
    left: 0;
    right: 0;
    translate: min(640px, 44.4444444444vw);
  }
}
.p-top-business__group .c-fish-iwashi {
  position: absolute;
}
.p-top-business__group .c-fish-iwashi.is-iwashi1 {
  top: min(7.38px, 0.5125vw);
  left: 0;
}
@media (max-width: 767.98px) {
  .p-top-business__group .c-fish-iwashi.is-iwashi1 {
    top: 11.528vw;
    left: 0vw;
  }
}
.p-top-business__group .c-fish-iwashi.is-iwashi2 {
  top: min(19.42px, 1.3486111111vw);
  left: min(34.51px, 2.3965277778vw);
}
@media (max-width: 767.98px) {
  .p-top-business__group .c-fish-iwashi.is-iwashi2 {
    top: 15.032vw;
    left: 17.5533333333vw;
  }
}
.p-top-business__group .c-fish-iwashi.is-iwashi3 {
  top: min(16.34px, 1.1347222222vw);
  left: min(74.7px, 5.1875vw);
}
@media (max-width: 767.98px) {
  .p-top-business__group .c-fish-iwashi.is-iwashi3 {
    top: 7.6666666667vw;
    left: 23.192vw;
  }
}
.p-top-business__group .c-fish-iwashi.is-iwashi4 {
  top: 0px;
  left: min(119.45px, 8.2951388889vw);
}
@media (max-width: 767.98px) {
  .p-top-business__group .c-fish-iwashi.is-iwashi4 {
    top: 1.9866666667vw;
    left: 27.7186666667vw;
  }
}
.p-top-business__group .c-fish-iwashi.is-iwashi5 {
  top: min(19.63px, 1.3631944444vw);
  left: min(151.83px, 10.54375vw);
}
@media (max-width: 767.98px) {
  .p-top-business__group .c-fish-iwashi.is-iwashi5 {
    top: 7.4106666667vw;
    left: 31.4586666667vw;
  }
}
.p-top-business__group .c-fish-iwashi.is-iwashi6 {
  top: min(24.11px, 1.6743055556vw);
  left: min(189.42px, 13.1541666667vw);
}
@media (max-width: 767.98px) {
  .p-top-business__group .c-fish-iwashi.is-iwashi6 {
    top: 16.208vw;
    left: 29.98vw;
  }
}
.p-top-business__group .c-fish-iwashi.is-iwashi7 {
  top: min(49.4px, 3.4305555556vw);
  left: min(219.85px, 15.2673611111vw);
}
@media (max-width: 767.98px) {
  .p-top-business__group .c-fish-iwashi.is-iwashi7 {
    top: 4.5666666667vw;
    left: 33.848vw;
  }
}
.p-top-business__group .c-fish-iwashi.is-iwashi8 {
  top: min(107px, 7.4305555556vw);
  left: min(202.13px, 14.0368055556vw);
}
@media (max-width: 767.98px) {
  .p-top-business__group .c-fish-iwashi.is-iwashi8 {
    top: 9.6866666667vw;
    left: 35.6106666667vw;
  }
}
.p-top-business__group .c-fish-iwashi.is-iwashi9 {
  top: min(48.2px, 3.3472222222vw);
  left: min(259.39px, 18.0131944444vw);
}
@media (max-width: 767.98px) {
  .p-top-business__group .c-fish-iwashi.is-iwashi9 {
    top: 18.2733333333vw;
    left: 38.4346666667vw;
  }
}
.p-top-business__group .c-fish-iwashi.is-iwashi10 {
  top: min(122.49px, 8.50625vw);
  left: min(265.54px, 18.4402777778vw);
}
@media (max-width: 767.98px) {
  .p-top-business__group .c-fish-iwashi.is-iwashi10 {
    top: 0vw;
    left: 41.3573333333vw;
  }
}
.p-top-business__group .c-fish-iwashi.is-iwashi11 {
  top: min(81.05px, 5.6284722222vw);
  right: min(41.99px, 2.9159722222vw);
}
@media (max-width: 767.98px) {
  .p-top-business__group .c-fish-iwashi.is-iwashi11 {
    top: 6.2386666667vw;
    right: 0vw;
  }
}
.p-top-business__group .c-fish-iwashi.is-iwashi12 {
  top: min(72.3px, 5.0208333333vw);
  right: 0px;
}
@media (max-width: 767.98px) {
  .p-top-business__group .c-fish-iwashi.is-iwashi12 {
    top: 12.9506666667vw;
    left: 42.6666666667vw;
  }
}
.p-top-business__group .c-fish-iwashi:nth-child(1) {
  animation-delay: 0.1s;
}
.p-top-business__group .c-fish-iwashi:nth-child(2) {
  animation-delay: 0.2s;
}
.p-top-business__group .c-fish-iwashi:nth-child(3) {
  animation-delay: 0.3s;
}
.p-top-business__group .c-fish-iwashi:nth-child(4) {
  animation-delay: 0.4s;
}
.p-top-business__group .c-fish-iwashi:nth-child(5) {
  animation-delay: 0.5s;
}
.p-top-business__group .c-fish-iwashi:nth-child(6) {
  animation-delay: 0.6s;
}
.p-top-business__group .c-fish-iwashi:nth-child(7) {
  animation-delay: 0.7s;
}
.p-top-business__group .c-fish-iwashi:nth-child(8) {
  animation-delay: 0.8s;
}
.p-top-business__group .c-fish-iwashi:nth-child(9) {
  animation-delay: 0.9s;
}
.p-top-business__group .c-fish-iwashi:nth-child(10) {
  animation-delay: 1s;
}
.p-top-business__group .c-fish-iwashi:nth-child(11) {
  animation-delay: 1.1s;
}
.p-top-business__group .c-fish-iwashi:nth-child(12) {
  animation-delay: 1.2s;
}

.p-top-mark {
  margin-top: min(98px, 6.8055555556vw);
  margin-left: auto;
  margin-right: auto;
  width: min(700px, 48.6111111111vw);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: min(48px, 3.3333333333vw) min(39px, 2.7083333333vw);
}
@media (max-width: 767.98px) {
  .p-top-mark {
    margin-top: 16.8vw;
    width: 100%;
    flex-direction: column;
    gap: 12.2666666667vw;
  }
}
.p-top-mark__inner {
  padding-top: min(20px, 1.3888888889vw);
  padding-bottom: min(20px, 1.3888888889vw);
  background-color: rgba(255, 255, 255, 0.6);
  border-radius: min(20px, 1.3888888889vw);
}
@media (max-width: 767.98px) {
  .p-top-mark__inner {
    padding-top: 5.3333333333vw;
    padding-bottom: 5.3333333333vw;
    border-radius: 2.1333333333vw;
  }
}
.p-top-mark__inner.is-fssc {
  width: min(700px, 48.6111111111vw);
}
@media (max-width: 767.98px) {
  .p-top-mark__inner.is-fssc {
    width: 100%;
  }
}
.p-top-mark__inner.is-msc, .p-top-mark__inner.is-mel {
  width: min(311px, 21.5972222222vw);
}
@media (max-width: 767.98px) {
  .p-top-mark__inner.is-msc, .p-top-mark__inner.is-mel {
    width: 100%;
  }
}
.p-top-mark__title {
  width: -moz-max-content;
  width: max-content;
  margin-left: auto;
  margin-right: auto;
  display: block;
  text-align: center;
  font-size: min(26px, 1.8055555556vw);
  letter-spacing: 0em;
  font-weight: 700;
  color: #0191B4;
}
@media (max-width: 767.98px) {
  .p-top-mark__title {
    font-size: 5.3333333333vw;
  }
}
.p-top-mark__box {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 767.98px) {
  .p-top-mark__box {
    height: 16vw;
  }
}
.is-fssc .p-top-mark__img {
  width: min(491.5px, 34.1319444444vw);
}
@media (max-width: 767.98px) {
  .is-fssc .p-top-mark__img {
    width: 55.7866666667vw;
  }
}
.is-msc .p-top-mark__img, .is-mel .p-top-mark__img {
  width: min(213.58px, 14.8319444444vw);
}
@media (max-width: 767.98px) {
  .is-msc .p-top-mark__img, .is-mel .p-top-mark__img {
    width: 28.4773333333vw;
  }
}
.p-top-mark__list {
  margin-top: min(20px, 1.3888888889vw);
  width: 100%;
  display: flex;
  justify-content: center;
  gap: min(25.5px, 1.7708333333vw);
}
@media (max-width: 767.98px) {
  .p-top-mark__list {
    margin-top: 2.6666666667vw;
    flex-direction: column;
    gap: 2.1333333333vw;
    text-align: center;
    align-items: center;
  }
}
.p-top-mark__item a {
  width: -moz-max-content;
  width: max-content;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(20px, 1.3888888889vw);
  font-size: min(16px, 1.1111111111vw);
}
@media (max-width: 767.98px) {
  .p-top-mark__item a {
    gap: 3.7333333333vw;
    font-size: 3.7333333333vw;
  }
}
.p-top-mark__item a::after {
  content: "";
  width: min(40px, 2.7777777778vw);
  height: min(40px, 2.7777777778vw);
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: min(15px, 1.0416666667vw);
  background-image: url(../images/common/icon-arrow.svg);
  background-color: #0191B4;
  border-radius: 50%;
}
@media (max-width: 767.98px) {
  .p-top-mark__item a::after {
    width: 8.5333333333vw;
    height: 8.5333333333vw;
    background-size: 3.2vw;
  }
}
.p-top-mark__item a[target=_blank]::after {
  background-image: url(../images/common/icon-blank.svg);
}
.p-top-mark__item a {
  transition: color 0.2s ease-out;
}
.p-top-mark__item a:hover {
  color: #0191B4;
}

@keyframes people-ticker {
  0% {
    background-position: 0px top;
  }
  100% {
    background-position: max(-1377px, -95.625vw) top;
  }
}
@keyframes people-ticker-sp {
  0% {
    background-position: 0vw top;
  }
  100% {
    background-position: -183.6026666667vw top;
  }
}
.p-top-people {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  position: relative;
  z-index: 2;
}
@media (max-width: 767.98px) {
  .p-top-people {
    padding-left: 5.3333333333vw;
    padding-right: 5.3333333333vw;
  }
}
@media (min-width: 768px) {
  .p-top-people {
    max-width: 1440px;
    padding-left: 100px;
    padding-right: 100px;
  }
}
@media (max-width: 767.98px) {
  .p-top-people {
    padding: 30.1333333333vw 5.3333333333vw 0;
  }
}
@media (min-width: 768px) {
  .p-top-people {
    padding: min(160px, 11.1111111111vw) min(60px, 4.1666666667vw) min(160px, 11.1111111111vw);
  }
}
.p-top-people__ticker {
  width: 100%;
  height: 0;
  position: relative;
  z-index: 3;
}
.p-top-people__ticker::before {
  content: "";
  margin: auto;
  width: 100%;
  height: min(70px, 4.8611111111vw);
  display: block;
  position: absolute;
  left: 0;
  bottom: min(53px, 3.6805555556vw);
  background-position: 0% top;
  background-repeat: repeat;
  background-size: min(1377px, 95.625vw);
  background-image: url(../images/top/people__ticker.png);
  animation: people-ticker 20s linear infinite;
}
@media (max-width: 767.98px) {
  .p-top-people__ticker::before {
    height: 9.1306666667vw;
    bottom: 4vw;
    background-size: 183.6026666667vw;
    animation: people-ticker-sp 20s linear infinite;
  }
}
.p-top-people__box {
  margin-top: 5.3333333333vw;
  width: 100%;
}
@media (min-width: 768px) {
  .p-top-people__box {
    margin-top: min(8px, 0.5555555556vw);
    padding-left: min(40px, 2.7777777778vw);
    padding-right: min(40px, 2.7777777778vw);
    display: flex;
    align-items: center;
    gap: min(20px, 1.3888888889vw);
  }
}
@media (min-width: 768px) {
  .p-top-people__box .p-top-text {
    flex: 1;
  }
}
@media (min-width: 768px) {
  .p-top-people__box .c-button {
    margin-top: 0;
  }
}
.p-top-people__table {
  margin-top: 16.5333333333vw;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 5.3333333333vw;
}
@media (min-width: 768px) {
  .p-top-people__table {
    margin-top: min(70px, 4.8611111111vw);
    padding-left: min(40px, 2.7777777778vw);
    padding-right: min(40px, 2.7777777778vw);
    gap: min(30px, 2.0833333333vw);
  }
}
.p-top-people__table-item {
  width: 100%;
}
.p-top-people__table-title {
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  position: relative;
  font-size: min(22px, 1.5277777778vw);
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #006077;
  text-stroke: 0.8vw #fff;
  -webkit-text-stroke: 0.8vw #fff;
  paint-order: stroke;
  -webkit-paint-order: stroke;
}
@media (min-width: 768px) {
  .p-top-people__table-title {
    text-stroke: min(5px, 0.3472222222vw) #fff;
    -webkit-text-stroke: min(5px, 0.3472222222vw) #fff;
  }
}
@media (max-width: 767.98px) {
  .p-top-people__table-title {
    font-size: 4.8vw;
    line-height: 1.8;
  }
}
.p-top-people__table-text {
  margin-top: min(14px, 0.9722222222vw);
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2;
}
@media (max-width: 767.98px) {
  .p-top-people__table-text {
    margin-top: 2.6666666667vw;
    font-size: 3.7333333333vw;
  }
}
.p-top-people__list {
  margin-top: min(82px, 5.6944444444vw);
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: min(20px, 1.3888888889vw);
}
@media (max-width: 767.98px) {
  .p-top-people__list {
    margin-top: 11.7333333333vw;
    width: 100vw;
    translate: -5.3333333333vw;
    flex-direction: column;
    gap: 16vw;
  }
}
.p-top-people__item {
  width: min(650px, 45.1388888889vw);
}
@media (max-width: 767.98px) {
  .p-top-people__item {
    width: 100%;
  }
}
.p-top-people__item .c-button {
  margin-top: min(28px, 1.9444444444vw);
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767.98px) {
  .p-top-people__item .c-button {
    margin-top: 8vw;
  }
}
.p-top-people__title {
  margin-left: auto;
  margin-right: auto;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  text-align: center;
}
.p-top-people__title span {
  line-height: 2;
  font-size: min(26px, 1.8055555556vw);
  font-weight: 500;
  text-stroke: 0.8vw #fff;
  -webkit-text-stroke: 0.8vw #fff;
  paint-order: stroke;
  -webkit-paint-order: stroke;
}
@media (min-width: 768px) {
  .p-top-people__title span {
    text-stroke: min(5px, 0.3472222222vw) #fff;
    -webkit-text-stroke: min(5px, 0.3472222222vw) #fff;
  }
}
@media (max-width: 767.98px) {
  .p-top-people__title span {
    font-size: 5.3333333333vw;
    line-height: 1.8;
  }
}
.p-top-people__subtitle {
  text-align: center;
}
.p-top-people__link {
  margin-top: min(18px, 1.25vw);
  width: 100%;
  height: min(480px, 33.3333333333vw);
  font-weight: 500;
  position: relative;
  display: block;
  overflow: hidden;
  position: relative;
  border-radius: min(20px, 1.3888888889vw);
  transition: background-size 0.3s ease-out;
}
@media (max-width: 767.98px) {
  .p-top-people__link {
    margin-top: 5.3333333333vw;
    width: 94.6666666667vw;
    height: 69.3333333333vw;
  }
  .is-item1 .p-top-people__link, .is-item3 .p-top-people__link {
    margin-right: auto;
    border-radius: 0 4.2666666667vw 4.2666666667vw 0;
  }
  .is-item2 .p-top-people__link {
    margin-left: auto;
    border-radius: 4.2666666667vw 0 0 4.2666666667vw;
  }
}
.p-top-people__link::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 65%, rgba(255, 255, 255, 0.8) 79%, white 100%);
}
.p-top-people__img {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.p-top-people__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: scale 0.3s ease-out;
}
.p-top-people__link:hover .p-top-people__img img {
  scale: 1.05;
}
.p-top-people__caption {
  margin: auto;
  width: 100%;
  height: -moz-max-content;
  height: max-content;
  padding: 0 min(40px, 2.7777777778vw);
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: min(30px, 2.0833333333vw);
  z-index: 2;
  font-weight: 500;
  line-height: 1.6;
  font-size: min(26px, 1.8055555556vw);
  color: #006077;
}
@media (max-width: 767.98px) {
  .p-top-people__caption {
    padding: 0vw 4vw;
    bottom: 5.3333333333vw;
    font-size: 4vw;
  }
}
.p-top-people__text {
  margin-top: min(18px, 1.25vw);
  width: 100%;
  text-align: center;
  line-height: 1.6;
  font-size: min(24px, 1.6666666667vw);
  font-weight: 500;
  color: #006077;
  text-stroke: 0.8vw #fff;
  -webkit-text-stroke: 0.8vw #fff;
  paint-order: stroke;
  -webkit-paint-order: stroke;
}
@media (min-width: 768px) {
  .p-top-people__text {
    text-stroke: min(5px, 0.3472222222vw) #fff;
    -webkit-text-stroke: min(5px, 0.3472222222vw) #fff;
  }
}
@media (max-width: 767.98px) {
  .p-top-people__text {
    margin-top: 2.9333333333vw;
    font-size: 4.8vw;
  }
}
.p-top-people .p-top-title {
  width: -moz-max-content;
  width: max-content;
}
@media (min-width: 768px) {
  .p-top-people .p-top-title {
    padding-left: min(40px, 2.7777777778vw);
    padding-right: min(40px, 2.7777777778vw);
  }
}
@media (max-width: 767.98px) {
  :where(.p-top-people) > .p-top-text {
    margin-top: 5.3333333333vw;
  }
}
@media (min-width: 768px) {
  :where(.p-top-people) > .p-top-text {
    padding-left: min(40px, 2.7777777778vw);
    padding-right: min(40px, 2.7777777778vw);
  }
}

.p-top-product {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  position: relative;
  z-index: 2;
  margin-top: min(103px, 7.1527777778vw);
  min-height: min(960px, 66.6666666667vw);
  padding-bottom: min(160px, 11.1111111111vw);
  padding-right: min(740px, 51.3888888889vw);
  position: relative;
}
@media (max-width: 767.98px) {
  .p-top-product {
    padding-left: 5.3333333333vw;
    padding-right: 5.3333333333vw;
  }
}
@media (min-width: 768px) {
  .p-top-product {
    max-width: 1440px;
    padding-left: 100px;
    padding-right: 100px;
  }
}
@media (max-width: 767.98px) {
  .p-top-product {
    margin-top: 53.8666666667vw;
    min-height: auto;
    padding-bottom: 40vw;
    padding-right: 0;
  }
}
.p-top-product .p-top-text {
  margin-top: min(40px, 2.7777777778vw);
}
@media (max-width: 767.98px) {
  .p-top-product .p-top-text {
    margin-top: 6.6666666667vw;
    width: 100%;
    padding-right: 8vw;
    line-height: 2.2;
  }
}
.p-top-product .p-top-title {
  width: -moz-max-content;
  width: max-content;
}
.p-top-product__inner {
  padding-top: min(193px, 13.4027777778vw);
  position: relative;
}
@media (max-width: 767.98px) {
  .p-top-product__inner {
    padding-top: 0;
  }
}
.p-top-product__track {
  border-radius: min(20px, 1.3888888889vw);
}
@media (max-width: 767.98px) {
  .p-top-product__track {
    border-radius: 4.2666666667vw;
  }
}
.p-top-product__slider {
  margin: auto;
  width: min(740px, 51.3888888889vw);
  position: absolute;
  right: max(-44px, -3.0555555556vw);
  top: 0;
}
@media (min-width: 768px) {
  .p-top-product__slider {
    overflow: hidden;
  }
}
@media (max-width: 767.98px) {
  .p-top-product__slider {
    margin-top: 12vw;
    width: 100vw;
    position: relative;
    right: 5vw;
  }
}
.p-top-product__list {
  width: 100%;
  height: min(820px, 56.9444444444vw);
}
@media (max-width: 767.98px) {
  .p-top-product__list {
    height: 106.6666666667vw;
  }
}
.p-top-product__item {
  width: 100%;
  display: block;
  position: relative;
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  border-radius: min(20px, 1.3888888889vw);
  transition: background-size 0.3s ease-out;
}
@media (min-width: 768px) {
  .p-top-product__item {
    height: min(380px, 26.3888888889vw) !important;
  }
  .p-top-product__item:hover {
    background-size: 105%;
  }
}
@media (max-width: 767.98px) {
  .p-top-product__item {
    width: 78.6666666667vw;
    height: 106.6666666667vw;
    border-radius: 4.2666666667vw;
    background-size: cover;
  }
}
.p-top-product__item.is-item1 {
  background-image: url(../images/top/product__img1.jpg);
}
.p-top-product__item.is-item2 {
  background-image: url(../images/top/product__img2.jpg);
}
.p-top-product__item.is-item3 {
  background-image: url(../images/top/product__img3.jpg);
}
.p-top-product__item.is-item4 {
  background-image: url(../images/top/product__img4.jpg);
}
.p-top-product__item.is-item5 {
  background-image: url(../images/top/product__img5.jpg);
}
.p-top-product__item::before {
  content: "";
  margin: auto;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  z-index: 0;
  inset: 0;
  background: linear-gradient(to bottom, rgba(1, 145, 180, 0) 0%, rgba(1, 145, 180, 0.08) 60%, rgba(1, 145, 180, 0.1) 71%, rgb(1, 145, 180) 100%);
}
@media (max-width: 767.98px) {
  .p-top-product__item::before {
    background: linear-gradient(to bottom, rgba(1, 145, 180, 0) 0%, rgba(1, 145, 180, 0.08) 30%, rgba(1, 145, 180, 0.1) 51%, rgb(1, 145, 180) 100%);
  }
}
.p-top-product__link {
  width: 100%;
  height: 100%;
  padding: min(26px, 1.8055555556vw) min(20px, 1.3888888889vw) min(10px, 0.6944444444vw);
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 1;
}
@media (max-width: 767.98px) {
  .p-top-product__link {
    padding: 6.1333333333vw 5.3333333333vw;
  }
}
.p-top-product__num {
  display: block;
}
.is-item1 .p-top-product__num {
  width: min(61px, 4.2361111111vw);
}
@media (max-width: 767.98px) {
  .is-item1 .p-top-product__num {
    width: 11.7333333333vw;
  }
}
.is-item2 .p-top-product__num {
  width: min(77px, 5.3472222222vw);
}
@media (max-width: 767.98px) {
  .is-item2 .p-top-product__num {
    width: 14.9333333333vw;
  }
}
.is-item3 .p-top-product__num {
  width: min(75px, 5.2083333333vw);
}
@media (max-width: 767.98px) {
  .is-item3 .p-top-product__num {
    width: 14.4vw;
  }
}
.is-item4 .p-top-product__num {
  width: min(76px, 5.2777777778vw);
}
@media (max-width: 767.98px) {
  .is-item4 .p-top-product__num {
    width: 14.6666666667vw;
  }
}
.is-item5 .p-top-product__num {
  width: min(76px, 5.2777777778vw);
}
@media (max-width: 767.98px) {
  .is-item5 .p-top-product__num {
    width: 14.6666666667vw;
  }
}
.p-top-product__num img {
  width: 100%;
}
.p-top-product__box {
  margin-top: auto;
  width: 100%;
  display: flex;
  align-items: center;
  gap: min(28px, 1.9444444444vw);
  color: #fff;
  line-height: 2;
}
@media (max-width: 767.98px) {
  .p-top-product__box {
    flex-direction: column;
    gap: 0;
  }
}
.p-top-product__title {
  width: -moz-max-content;
  width: max-content;
  font-size: min(40px, 2.7777777778vw);
  font-weight: 700;
}
@media (max-width: 767.98px) {
  .p-top-product__title {
    width: 100%;
    font-size: 7.4666666667vw;
  }
}
.p-top-product__caption {
  flex: 1;
  font-size: min(14px, 0.9722222222vw);
}
@media (max-width: 767.98px) {
  .p-top-product__caption {
    width: 100%;
    font-size: 3.4666666667vw;
  }
}
@media (max-width: 767.98px) {
  .p-top-product .splide__pagination {
    bottom: -7.0933333333vw;
    gap: 3.2vw;
  }
}
@media (max-width: 767.98px) {
  .p-top-product .splide__pagination__page {
    width: 1.9733333333vw;
    height: 1.9733333333vw;
    background-color: transparent;
    border: 1px solid #0191B4;
    scale: 1;
  }
  .p-top-product .splide__pagination__page.is-active {
    transform: scale(1);
    background-color: #0191B4;
  }
}
.p-top-product__group {
  width: min(554px, 38.4722222222vw);
  height: min(223.91px, 15.5493055556vw);
  position: absolute;
  left: min(22px, 1.5277777778vw);
  top: max(-74px, -5.1388888889vw);
  z-index: 2;
}
@media (max-width: 767.98px) {
  .p-top-product__group {
    width: 63.2vw;
    height: 29.8586666667vw;
    left: 40.5333333333vw;
    top: -32vw;
  }
}
.p-top-product__group .c-fish-aji:nth-child(1) {
  animation-delay: 0.1s;
}
.p-top-product__group .c-fish-aji:nth-child(2) {
  animation-delay: 0.2s;
}
.p-top-product__group .c-fish-aji:nth-child(3) {
  animation-delay: 0.3s;
}
.p-top-product__group .c-fish-aji:nth-child(4) {
  animation-delay: 0.4s;
}
.p-top-product__group .c-fish-aji:nth-child(5) {
  animation-delay: 0.5s;
}
.p-top-product__group .c-fish-aji:nth-child(6) {
  animation-delay: 0.6s;
}
.p-top-product__group .c-fish-aji:nth-child(7) {
  animation-delay: 0.7s;
}
.p-top-product__group .c-fish-aji:nth-child(8) {
  animation-delay: 0.8s;
}
.p-top-product__group .c-fish-aji:nth-child(9) {
  animation-delay: 0.9s;
}
.p-top-product .c-fish-aji {
  position: absolute;
  transform-origin: left top;
}
.p-top-product .c-fish-aji.is-aji1 {
  left: max(-21px, -1.4583333333vw);
  top: max(-1.4px, -0.0972222222vw);
}
@media (max-width: 767.98px) {
  .p-top-product .c-fish-aji.is-aji1 {
    left: -4vw;
    top: -2.6666666667vw;
  }
}
.p-top-product .c-fish-aji.is-aji2 {
  left: 0;
  top: min(51.6px, 3.5833333333vw);
}
@media (max-width: 767.98px) {
  .p-top-product .c-fish-aji.is-aji2 {
    left: -1.8666666667vw;
    top: 5.6vw;
  }
}
.p-top-product .c-fish-aji.is-aji3 {
  left: min(58.24px, 4.0444444444vw);
  top: min(24.6px, 1.7083333333vw);
}
@media (max-width: 767.98px) {
  .p-top-product .c-fish-aji.is-aji3 {
    left: 8vw;
    top: 0.8vw;
  }
}
.p-top-product .c-fish-aji.is-aji4 {
  left: min(105.12px, 7.3vw);
  top: 0;
}
@media (max-width: 767.98px) {
  .p-top-product .c-fish-aji.is-aji4 {
    left: 15.2vw;
    top: -3.2vw;
  }
}
.p-top-product .c-fish-aji.is-aji5 {
  left: min(109.24px, 7.5861111111vw);
  top: min(92.6px, 6.4305555556vw);
}
@media (max-width: 767.98px) {
  .p-top-product .c-fish-aji.is-aji5 {
    left: 23.4666666667vw;
    top: 5.0666666667vw;
  }
}
.p-top-product .c-fish-aji.is-aji6 {
  left: min(156.24px, 10.85vw);
  top: min(49.6px, 3.4444444444vw);
}
@media (max-width: 767.98px) {
  .p-top-product .c-fish-aji.is-aji6 {
    left: 15.7333333333vw;
    top: 12vw;
  }
}
.p-top-product .c-fish-aji.is-aji7 {
  left: min(198.24px, 13.7666666667vw);
  top: min(125.6px, 8.7222222222vw);
}
@media (max-width: 767.98px) {
  .p-top-product .c-fish-aji.is-aji7 {
    left: 29.8666666667vw;
    top: 17.6vw;
  }
}
.p-top-product .c-fish-aji.is-aji8 {
  left: min(273.24px, 18.975vw);
  top: min(68.6px, 4.7638888889vw);
}
@media (max-width: 767.98px) {
  .p-top-product .c-fish-aji.is-aji8 {
    left: 41.8666666667vw;
    top: 8vw;
  }
}
.p-top-product .c-fish-aji.is-aji9 {
  left: min(281.24px, 19.5305555556vw);
  top: min(116.6px, 8.0972222222vw);
}
@media (max-width: 767.98px) {
  .p-top-product .c-fish-aji.is-aji9 {
    left: 43.2vw;
    top: 16vw;
  }
}
.p-top-product .c-fish-aji.is-aji10 {
  right: min(20px, 1.3888888889vw);
  bottom: 0;
}
@media (max-width: 767.98px) {
  .p-top-product .c-fish-aji.is-aji10 {
    display: none;
  }
}
.p-top-product .c-button {
  margin-top: min(64px, 4.4444444444vw);
}
@media (max-width: 767.98px) {
  .p-top-product .c-button {
    margin-top: 20.5333333333vw;
  }
}

.p-top-benefits {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  position: relative;
  z-index: 2;
  padding-top: min(139px, 9.6527777778vw);
  padding-bottom: min(287px, 19.9305555556vw);
}
@media (max-width: 767.98px) {
  .p-top-benefits {
    padding-left: 5.3333333333vw;
    padding-right: 5.3333333333vw;
  }
}
@media (min-width: 768px) {
  .p-top-benefits {
    max-width: 1440px;
    padding-left: 100px;
    padding-right: 100px;
  }
}
@media (max-width: 767.98px) {
  .p-top-benefits {
    padding-top: 33.3333333333vw;
    padding-bottom: 45.3333333333vw;
  }
}
.p-top-benefits .p-top-title {
  width: -moz-max-content;
  width: max-content;
}
.p-top-benefits__box {
  margin-top: min(67px, 4.6527777778vw);
  width: 100%;
  position: relative;
}
@media (max-width: 767.98px) {
  .p-top-benefits__box {
    margin-top: 10.6666666667vw;
  }
}
.p-top-benefits__list {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: min(30px, 2.0833333333vw);
}
@media (max-width: 767.98px) {
  .p-top-benefits__list {
    gap: 3.7333333333vw;
  }
}
.p-top-benefits__item {
  width: calc(50% - min(15px, 1.0416666667vw));
  height: min(176px, 12.2222222222vw);
}
@media (max-width: 767.98px) {
  .p-top-benefits__item {
    width: 100%;
    height: 26.6666666667vw;
  }
}
.p-top-benefits__link {
  width: 100%;
  height: 100%;
  padding-left: min(64px, 4.4444444444vw);
  position: relative;
  display: flex;
  align-items: center;
  font-size: min(26px, 1.8055555556vw);
  font-weight: 500;
  background: linear-gradient(to right, rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0.5) 100%);
  border-radius: min(20px, 1.3888888889vw);
  transition: color 0.2s ease-out;
}
.p-top-benefits__link:hover {
  color: #0191B4;
}
@media (max-width: 767.98px) {
  .p-top-benefits__link {
    padding-left: 10.6666666667vw;
    font-size: 4.8vw;
    background: linear-gradient(to right, rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0.5) 100%);
    border-radius: 4.2666666667vw;
  }
}
.p-top-benefits__link::after {
  content: "";
  margin: auto;
  width: min(100px, 6.9444444444vw);
  height: min(100px, 6.9444444444vw);
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: min(360px, 25vw);
  background-repeat: no-repeat;
  background-size: 100px;
}
@media (max-width: 767.98px) {
  .p-top-benefits__link::after {
    width: 18.6666666667vw;
    height: 18.6666666667vw;
    left: 52.2666666667vw;
    background-size: 100%;
  }
}
.is-item1 .p-top-benefits__link::after {
  background-image: url(../images/top/benefits__link1.svg);
}
.is-item2 .p-top-benefits__link::after {
  background-image: url(../images/top/benefits__link2.svg);
}
.is-item3 .p-top-benefits__link::after {
  background-image: url(../images/top/benefits__link3.svg);
}
.is-item4 .p-top-benefits__link::after {
  background-image: url(../images/top/benefits__link4.svg);
}
.p-top-benefits__link::before {
  content: "";
  width: min(40px, 2.7777777778vw);
  height: min(40px, 2.7777777778vw);
  display: block;
  position: absolute;
  right: min(20px, 1.3888888889vw);
  bottom: min(20px, 1.3888888889vw);
  background-repeat: no-repeat;
  background-size: min(14px, 0.9722222222vw);
  background-position: center;
  background-image: url(../images/common/icon-arrow.svg);
  background-color: #0191B4;
  border-radius: 50%;
}
@media (max-width: 767.98px) {
  .p-top-benefits__link::before {
    width: 8.504vw;
    height: 8.504vw;
    right: 3.36vw;
    bottom: 3.4293333333vw;
    background-size: 2.9333333333vw;
  }
}
.p-top-benefits__imgset {
  margin: auto;
  width: min(1240px, 86.1111111111vw);
  height: 0;
  position: relative;
  z-index: 2;
}
@media (max-width: 767.98px) {
  .p-top-benefits__imgset {
    width: 100%;
  }
}
.p-top-benefits__iwaba {
  position: absolute;
  width: min(284.88px, 19.7833333333vw);
  top: max(-228px, -15.8333333333vw);
  left: max(-58px, -4.0277777778vw);
}
@media (max-width: 767.98px) {
  .p-top-benefits__iwaba {
    width: 37.6746666667vw;
    top: -21.6vw;
    left: 3.4666666667vw;
  }
}
.p-top-benefits__ika {
  position: absolute;
  top: max(-112px, -7.7777777778vw);
  right: min(10px, 0.6944444444vw);
}
@media (max-width: 767.98px) {
  .p-top-benefits__ika {
    top: -10.6666666667vw;
    right: 9.3333333333vw;
  }
}
.p-top-benefits__iwashi {
  width: min(146.57px, 10.1784722222vw);
  height: min(85.18px, 5.9152777778vw);
  position: absolute;
  z-index: 2;
  right: max(-41.57px, -2.8868055556vw);
  top: max(-49px, -3.4027777778vw);
}
@media (max-width: 767.98px) {
  .p-top-benefits__iwashi {
    width: 23.4506666667vw;
    height: 13.6293333333vw;
    right: -7.7173333333vw;
    top: -8.2666666667vw;
  }
}
.p-top-benefits__iwashi .c-fish-iwashi {
  width: min(66.57px, 4.6229166667vw);
  position: absolute;
}
@media (max-width: 767.98px) {
  .p-top-benefits__iwashi .c-fish-iwashi {
    width: 10.6506666667vw;
  }
}
.p-top-benefits__iwashi .c-fish-iwashi.is-iwashi1 {
  top: min(34px, 2.3611111111vw);
  left: 0;
}
@media (max-width: 767.98px) {
  .p-top-benefits__iwashi .c-fish-iwashi.is-iwashi1 {
    top: 4vw;
  }
}
.p-top-benefits__iwashi .c-fish-iwashi.is-iwashi2 {
  top: 0;
  left: min(32px, 2.2222222222vw);
}
@media (max-width: 767.98px) {
  .p-top-benefits__iwashi .c-fish-iwashi.is-iwashi2 {
    top: -1.3333333333vw;
    left: 5.6vw;
  }
}
.p-top-benefits__iwashi .c-fish-iwashi.is-iwashi3 {
  top: min(26px, 1.8055555556vw);
  right: 0;
}
@media (max-width: 767.98px) {
  .p-top-benefits__iwashi .c-fish-iwashi.is-iwashi3 {
    top: 2.6666666667vw;
  }
}
.p-top-benefits__iwashi .c-fish-iwashi.is-iwashi4 {
  bottom: 0;
  left: min(46px, 3.1944444444vw);
}
@media (max-width: 767.98px) {
  .p-top-benefits__iwashi .c-fish-iwashi.is-iwashi4 {
    left: 8vw;
    bottom: -2.6666666667vw;
  }
}
.p-top-benefits__iwashi .c-fish-iwashi.is-iwashi1 {
  animation-delay: 0.1s;
}
.p-top-benefits__iwashi .c-fish-iwashi.is-iwashi2 {
  animation-delay: 0.2s;
}
.p-top-benefits__iwashi .c-fish-iwashi.is-iwashi3 {
  animation-delay: 0.3s;
}
.p-top-benefits__iwashi .c-fish-iwashi.is-iwashi4 {
  animation-delay: 0.4s;
}
.p-top-benefits__sake {
  position: absolute;
  z-index: 2;
  left: max(-79.13px, -5.4951388889vw);
  bottom: max(-25.47px, -1.76875vw);
}
@media (max-width: 767.98px) {
  .p-top-benefits__sake {
    left: -2.6666666667vw;
    bottom: -6.6666666667vw;
  }
}

.p-about::before {
  content: "";
  margin: auto;
  width: 16.5333333333vw;
  height: 13.6186666667vw;
  display: block;
  top: 54.3573333333vw;
  left: 5.4586666667vw;
  position: absolute;
  z-index: 3;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(../images/common/illust/kani.svg);
}
@media (min-width: 768px) {
  .p-about::before {
    width: min(139px, 9.6527777778vw);
    height: min(113.5px, 7.8819444444vw);
    top: min(300px, 20.8333333333vw);
    left: 0;
    right: 0;
    translate: max(-426px, -29.5833333333vw);
  }
}
.p-about .c-container {
  padding-bottom: 48vw;
  background-color: #F4FCFF;
  -webkit-mask-position: 53vw top;
          mask-position: 53vw top;
}
@media (min-width: 768px) {
  .p-about .c-container {
    margin-top: -7.3611111111vw;
    padding-bottom: min(262px, 18.1944444444vw);
    -webkit-mask-position: 54vw top;
            mask-position: 54vw top;
  }
}
@media (min-width: 768px) {
  .p-about .l-nav {
    width: -moz-max-content;
    width: max-content;
    height: calc(100vh - min(200px, 13.8888888889vw));
    z-index: 3;
  }
  .p-about .l-nav::before {
    content: "";
    margin: auto;
    width: min(246.18px, 17.0958333333vw);
    height: min(289.39px, 20.0965277778vw);
    display: block;
    position: absolute;
    left: max(-41px, -2.8472222222vw);
    bottom: min(41px, 2.8472222222vw);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: contain;
    background-image: url(../images/understanding/nav_img.svg);
  }
}

.p-about-movie {
  margin-top: 9.8666666667vw;
  width: 100%;
  position: relative;
}
@media (min-width: 768px) {
  .p-about-movie {
    margin-top: min(53px, 3.6805555556vw);
  }
}
.p-about-movie::before, .p-about-movie::after {
  content: "";
  margin: auto;
  display: block;
  position: absolute;
  z-index: 2;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  pointer-events: none;
}
.p-about-movie::before {
  width: 26.8586666667vw;
  height: 21.944vw;
  right: -9.2933333333vw;
  top: -8.2293333333vw;
  background-image: url(../images/common/illust/tako.svg);
  rotate: 11.4deg;
}
@media (min-width: 768px) {
  .p-about-movie::before {
    width: min(167.85px, 11.65625vw);
    height: min(137.15px, 9.5243055556vw);
    right: max(-58.75px, -4.0798611111vw);
    top: max(-65.77px, -4.5673611111vw);
  }
}
.p-about-movie::after {
  width: 25.2106666667vw;
  height: 19.416vw;
  left: -15.96vw;
  bottom: 0.912vw;
  background-image: url(../images/about/movie_fish.svg);
}
@media (min-width: 768px) {
  .p-about-movie::after {
    width: min(196.95px, 13.6770833333vw);
    height: min(151.69px, 10.5340277778vw);
    left: max(-117px, -8.125vw);
    top: min(272px, 18.8888888889vw);
  }
}
.p-about-movie__button {
  width: 100%;
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: 4.2666666667vw;
}
@media (min-width: 768px) {
  .p-about-movie__button {
    height: min(520px, 36.1111111111vw);
    border-radius: min(20px, 1.3888888889vw);
  }
}
.p-about-movie__button::before, .p-about-movie__button::after {
  content: "";
  margin: auto;
  width: 13.3333333333vw;
  height: 13.3333333333vw;
  display: block;
  position: absolute;
  right: 4.016vw;
  bottom: 4.3493333333vw;
}
@media (min-width: 768px) {
  .p-about-movie__button::before, .p-about-movie__button::after {
    width: min(80px, 5.5555555556vw);
    height: min(80px, 5.5555555556vw);
    right: min(30px, 2.0833333333vw);
    bottom: min(25.31px, 1.7576388889vw);
  }
}
.p-about-movie__button::before {
  z-index: 2;
  background: linear-gradient(to right, rgb(255, 141, 54) 0%, rgb(251, 217, 15) 50%, rgb(251, 217, 15) 60%, rgb(255, 141, 54) 100%);
  background-size: 200%;
  background-position: 100% center;
  border-radius: 50%;
  transition: all 0.2s ease-out;
}
.p-about-movie__button::after {
  z-index: 3;
  -webkit-mask-size: 3.4986666667vw;
          mask-size: 3.4986666667vw;
  -webkit-mask-position: 55% 50%;
          mask-position: 55% 50%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-image: url(../images/common/icon_arrow.svg);
          mask-image: url(../images/common/icon_arrow.svg);
  background-color: #fff;
}
@media (min-width: 768px) {
  .p-about-movie__button::after {
    -webkit-mask-size: min(21px, 1.4583333333vw);
            mask-size: min(21px, 1.4583333333vw);
  }
}
.p-about-movie__button * {
  transition: all 0.2s ease-out;
}
@media (min-width: 768px) {
  .p-about-movie__button:hover img {
    scale: 1.05;
  }
  .p-about-movie__button:hover::before {
    background-position: 0% center;
  }
}
.p-about-movie__content {
  margin: auto;
  width: 100%;
  height: 100vh;
  position: fixed;
  inset: 0;
  z-index: -1;
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  background-color: #0191B4;
  transition: all 0.2s ease-out;
}
.p-about-movie__content::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  inset: 0;
  background-repeat: repeat;
  background-image: url(../images/common/noise.svg);
  mix-blend-mode: multiply;
}
.p-about-movie__content.is-active {
  opacity: 1;
  z-index: 1002;
  pointer-events: auto;
  visibility: visible;
}
.p-about-movie__inner {
  margin: auto;
  width: min(1440px, 100vw);
  max-width: 100%;
  height: -moz-max-content;
  height: max-content;
  display: block;
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 768px) {
  .p-about-movie__inner {
    max-width: min(100vh, 90%);
  }
}
.p-about-movie__inner video {
  margin: auto;
  width: 100%;
}
.p-about-movie__inner::before {
  content: "";
  width: 7.4666666667vw;
  height: 7.4666666667vw;
  display: block;
  position: absolute;
  top: -12.5333333333vw;
  right: 5.8666666667vw;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: url(../images/common/icon_close.svg);
          mask-image: url(../images/common/icon_close.svg);
  background-color: #fff;
  cursor: pointer;
  transition: all 0.2s ease-out;
}
@media (min-width: 768px) {
  .p-about-movie__inner::before {
    width: min(34.6px, 2.4027777778vw);
    height: min(34.6px, 2.4027777778vw);
    top: max(-64.6px, -4.4861111111vw);
    right: 0;
  }
  .p-about-movie__inner::before:hover {
    background-color: rgba(255, 255, 255, 0.3);
  }
}

.p-about-workflow {
  margin-top: 36.8vw;
}
@media (min-width: 768px) {
  .p-about-workflow {
    margin-top: min(178px, 12.3611111111vw);
  }
}
.p-about-workflow::before {
  content: "";
  margin: auto;
  width: 38.2826666667vw;
  height: 23.8906666667vw;
  display: block;
  position: absolute;
  right: -0.9546666667vw;
  top: -20.472vw;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(../images/about/workflow_fish1-sp.svg);
}
@media (min-width: 768px) {
  .p-about-workflow::before {
    width: min(255.15px, 17.71875vw);
    height: min(169.7px, 11.7847222222vw);
    right: max(-27.15px, -1.8854166667vw);
    top: max(-105px, -7.2916666667vw);
    background-image: url(../images/about/workflow_fish1.svg);
  }
}
.p-about-workflow__img {
  margin-top: 9.8666666667vw;
  width: 100%;
  position: relative;
}
@media (max-width: 767.98px) {
  .p-about-workflow__img {
    margin-left: auto;
    margin-right: auto;
  }
  .p-about-workflow__img img {
    width: 100%;
  }
}
@media (min-width: 768px) {
  .p-about-workflow__img {
    margin-top: min(50px, 3.4722222222vw);
  }
}
.p-about-workflow__map {
  position: absolute;
  display: block;
  background: rgba(255, 255, 255, 0);
  border-radius: 1.3333333333vw;
}
@media (min-width: 768px) {
  .p-about-workflow__map {
    border-radius: min(5px, 0.3472222222vw);
    transition: background-color 0.3s ease-out;
  }
  .p-about-workflow__map:hover {
    background-color: rgba(255, 255, 255, 0.3);
  }
}
.p-about-workflow__map.is-map1 {
  width: 30.6666666667vw;
  height: 19.7333333333vw;
  top: 97.8666666667vw;
  left: 2.6666666667vw;
}
@media (min-width: 768px) {
  .p-about-workflow__map.is-map1 {
    width: min(332px, 23.0555555556vw);
    height: min(155px, 10.7638888889vw);
    top: min(659px, 45.7638888889vw);
    left: min(20px, 1.3888888889vw);
  }
}
.p-about-workflow__map.is-map2 {
  width: 30.6666666667vw;
  height: 19.7333333333vw;
  top: 97.8666666667vw;
  left: 56vw;
}
@media (min-width: 768px) {
  .p-about-workflow__map.is-map2 {
    width: min(332px, 23.0555555556vw);
    height: min(155px, 10.7638888889vw);
    top: min(659px, 45.7638888889vw);
    left: min(548px, 38.0555555556vw);
  }
}
.p-about-workflow__map.is-map3 {
  width: 89.3333333333vw;
  height: 15.4666666667vw;
  top: 156vw;
  left: 0vw;
}
@media (min-width: 768px) {
  .p-about-workflow__map.is-map3 {
    width: min(900px, 62.5vw);
    height: min(103px, 7.1527777778vw);
    top: min(1050px, 72.9166666667vw);
    left: min(0px, 0vw);
  }
}
.p-about-workflow__list {
  margin-top: 13.3333333333vw;
  width: 100%;
  padding: 5.3333333333vw 0 4.8vw;
  display: flex;
  flex-direction: column;
  gap: 3.7333333333vw;
  border-top: 1px solid #0191B4;
  border-bottom: 1px solid #0191B4;
}
@media (min-width: 768px) {
  .p-about-workflow__list {
    margin-top: min(59px, 4.0972222222vw);
    padding: min(30px, 2.0833333333vw) min(20px, 1.3888888889vw) min(35px, 2.4305555556vw);
    flex-direction: row;
    justify-content: space-between;
    gap: min(39px, 2.7083333333vw);
  }
}
.p-about-workflow__item {
  width: 100%;
}
@media (min-width: 768px) {
  .p-about-workflow__item {
    width: min(260px, 18.0555555556vw);
  }
}
.p-about-workflow__item-title {
  margin-right: auto;
  width: -moz-max-content;
  width: max-content;
  min-height: 10.6666666667vw;
  padding-left: 13.3333333333vw;
  display: flex;
  position: relative;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
  font-size: 4.2666666667vw;
}
@media (max-width: 767.98px) {
  .p-about-workflow__item-title {
    align-items: center;
  }
}
@media (min-width: 768px) {
  .p-about-workflow__item-title {
    margin-left: auto;
    min-height: min(80px, 5.5555555556vw);
    padding-left: min(93px, 6.4583333333vw);
    font-size: min(20px, 1.3888888889vw);
    justify-content: center;
    flex-direction: column;
  }
}
.is-item1 .p-about-workflow__item-title::before {
  background-image: url(../images/about/workflow__icon1.svg);
}
.is-item2 .p-about-workflow__item-title::before {
  background-image: url(../images/about/workflow__icon2.svg);
}
.is-item3 .p-about-workflow__item-title::before {
  background-image: url(../images/about/workflow__icon3.svg);
}
.p-about-workflow__item-title::before {
  content: "";
  margin-top: auto;
  margin-bottom: auto;
  width: 10.6666666667vw;
  height: 10.6666666667vw;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media (min-width: 768px) {
  .p-about-workflow__item-title::before {
    width: min(80px, 5.5555555556vw);
    height: min(80px, 5.5555555556vw);
  }
}
.p-about-workflow__item-title span {
  font-size: 3.2vw;
}
@media (min-width: 768px) {
  .p-about-workflow__item-title span {
    font-size: min(14px, 0.9722222222vw);
  }
}
.p-about-workflow__item-description {
  margin-top: 2.1333333333vw;
  line-height: 2;
  font-weight: 400;
  letter-spacing: 0.05em;
  font-size: 3.2vw;
}
@media (min-width: 768px) {
  .p-about-workflow__item-description {
    margin-top: min(14px, 0.9722222222vw);
    font-size: min(14px, 0.9722222222vw);
  }
}
.p-about-workflow__box {
  margin-top: 24.8vw;
  width: 100%;
  position: relative;
}
@media (min-width: 768px) {
  .p-about-workflow__box {
    margin-top: min(102px, 7.0833333333vw);
  }
}
.p-about-workflow__box::before {
  content: "";
  width: 38.9333333333vw;
  height: 17.3333333333vw;
  display: block;
  position: absolute;
  right: -12.2666666667vw;
  top: -19.4666666667vw;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(../images/about/workflow_fish2.svg);
}
@media (min-width: 768px) {
  .p-about-workflow__box::before {
    width: min(242px, 16.8055555556vw);
    height: min(116.46px, 8.0875vw);
    right: max(-65px, -4.5138888889vw);
    top: max(-58px, -4.0277777778vw);
  }
}
.p-about-workflow__description {
  font-weight: 400;
  line-height: 2;
  font-size: 4.2666666667vw;
}
@media (min-width: 768px) {
  .p-about-workflow__description {
    font-size: min(18px, 1.25vw);
  }
}

.p-about-aside {
  margin-top: 8vw;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 5.0213333333vw;
}
@media (min-width: 768px) {
  .p-about-aside {
    margin-top: min(51px, 3.5416666667vw);
    flex-direction: row-reverse;
    align-items: center;
    gap: min(79px, 5.4861111111vw);
  }
}
.p-about-aside__box {
  width: 100%;
}
@media (min-width: 768px) {
  .p-about-aside__box {
    width: min(300px, 20.8333333333vw);
  }
}
.p-about-aside__title {
  line-height: 2;
  font-weight: 500;
  letter-spacing: 0.05em;
  font-size: 5.3333333333vw;
}
@media (min-width: 768px) {
  .p-about-aside__title {
    font-size: min(26px, 1.8055555556vw);
  }
}
.p-about-aside__img {
  overflow: hidden;
  border-radius: 4.2666666667vw;
}
@media (min-width: 768px) {
  .p-about-aside__img {
    width: min(520px, 36.1111111111vw);
    border-radius: min(20px, 1.3888888889vw);
  }
}
.p-about-aside .c-button {
  margin-top: 4vw;
  width: 64vw;
}
@media (max-width: 767.98px) {
  .p-about-aside .c-button {
    margin-left: 0;
  }
}
@media (min-width: 768px) {
  .p-about-aside .c-button {
    margin-top: min(28px, 1.9444444444vw);
    width: 100%;
  }
}

.p-about-vocabulary {
  margin-top: 48.2666666667vw;
  position: relative;
}
@media (min-width: 768px) {
  .p-about-vocabulary {
    margin-top: min(243px, 16.875vw);
  }
}
.p-about-vocabulary::before {
  content: "";
  width: 58.344vw;
  height: 42.0586666667vw;
  display: block;
  position: absolute;
  right: -11.0506666667vw;
  top: -43.4506666667vw;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(../images/about/vocabulary_fish1.svg);
}
@media (min-width: 768px) {
  .p-about-vocabulary::before {
    width: min(434.1px, 30.1458333333vw);
    height: min(312.93px, 21.73125vw);
    right: max(-181.2px, -12.5833333333vw);
    top: max(-123px, -8.5416666667vw);
  }
}
.p-about-vocabulary__list {
  margin-top: 10.4vw;
  width: 100%;
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .p-about-vocabulary__list {
    margin-top: min(48px, 3.3333333333vw);
    flex-direction: row;
    flex-wrap: wrap;
  }
}
.p-about-vocabulary__item {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4.2666666667vw;
  background: radial-gradient(50% 50% at 50% 50%, rgba(255, 255, 255, 0.3) 0%, #FFF 100%);
  border-radius: 50%;
}
.p-about-vocabulary__item::before, .p-about-vocabulary__item::after {
  display: block;
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media (min-width: 768px) {
  .p-about-vocabulary__item {
    gap: min(24px, 1.6666666667vw);
  }
  .p-about-vocabulary__item.is-item1 {
    margin-left: min(98px, 6.8055555556vw);
    width: min(288px, 20vw);
    height: min(288px, 20vw);
  }
  .p-about-vocabulary__item.is-item2 {
    margin-top: min(13px, 0.9027777778vw);
    margin-left: min(55px, 3.8194444444vw);
    width: min(395px, 27.4305555556vw);
    height: min(395px, 27.4305555556vw);
  }
  .p-about-vocabulary__item.is-item2::before {
    content: "";
    width: min(171px, 11.875vw);
    height: min(62.51px, 4.3409722222vw);
    right: max(-60px, -4.1666666667vw);
    top: min(319px, 22.1527777778vw);
    background-image: url(../images/common/illust/sake.svg);
  }
  .p-about-vocabulary__item.is-item3 {
    margin-top: max(-86.43px, -6.0020833333vw);
    width: min(425px, 29.5138888889vw);
    height: min(425px, 29.5138888889vw);
  }
  .p-about-vocabulary__item.is-item4 {
    margin-top: min(35px, 2.4305555556vw);
    margin-left: min(9px, 0.625vw);
    width: min(464px, 32.2222222222vw);
    height: min(464px, 32.2222222222vw);
  }
  .p-about-vocabulary__item.is-item5 {
    margin-top: max(-139px, -9.6527777778vw);
    margin-left: min(150px, 10.4166666667vw);
    width: min(326px, 22.6388888889vw);
    height: min(326px, 22.6388888889vw);
  }
  .p-about-vocabulary__item.is-item5::before {
    content: "";
    width: min(171.79px, 11.9298611111vw);
    height: min(132.61px, 9.2090277778vw);
    left: max(-129px, -8.9583333333vw);
    top: min(206px, 14.3055555556vw);
    background-image: url(../images/about/vocabulary_fish2.svg);
  }
  .p-about-vocabulary__item.is-item6 {
    margin-top: max(-96.46px, -6.6986111111vw);
    margin-left: min(426px, 29.5833333333vw);
    width: min(439px, 30.4861111111vw);
    height: min(439px, 30.4861111111vw);
  }
  .p-about-vocabulary__item.is-item6::before {
    content: "";
    width: min(243.79px, 16.9298611111vw);
    height: min(116.61px, 8.0979166667vw);
    left: min(9px, 0.625vw);
    top: max(-80px, -5.5555555556vw);
    background-image: url(../images/about/vocabulary_fish3.svg);
  }
  .p-about-vocabulary__item.is-item6::after {
    content: "";
    width: min(167.85px, 11.65625vw);
    height: min(137.15px, 9.5243055556vw);
    right: max(-60.46px, -4.1986111111vw);
    top: min(334.91px, 23.2576388889vw);
    rotate: -17.35deg;
    background-image: url(../images/common/illust/tako.svg);
  }
  .p-about-vocabulary__item.is-item7 {
    margin-top: max(-315.43px, -21.9048611111vw);
    margin-left: min(15px, 1.0416666667vw);
    width: min(375px, 26.0416666667vw);
    height: min(375px, 26.0416666667vw);
  }
}
@media (max-width: 767.98px) {
  .p-about-vocabulary__item {
    padding-bottom: 5.3333333333vw;
  }
  .p-about-vocabulary__item.is-item1 {
    width: 53.76vw;
    height: 53.76vw;
  }
  .p-about-vocabulary__item.is-item2 {
    margin-top: -2.9333333333vw;
    margin-left: auto;
    width: 73.7333333333vw;
    height: 73.7333333333vw;
  }
  .p-about-vocabulary__item.is-item2::before {
    content: "";
    width: 24vw;
    height: 8.8vw;
    right: -0.2666666667vw;
    bottom: 1.2vw;
    background-image: url(../images/common/illust/sake.svg);
  }
  .p-about-vocabulary__item.is-item3 {
    margin-top: 1.0666666667vw;
    width: 79.4666666667vw;
    height: 79.4666666667vw;
  }
  .p-about-vocabulary__item.is-item4 {
    margin-top: 2.4vw;
    width: 89.3333333333vw;
    height: 89.3333333333vw;
  }
  .p-about-vocabulary__item.is-item5 {
    margin-top: 1.6vw;
    margin-left: 5.6vw;
    width: 55.7333333333vw;
    height: 55.7333333333vw;
  }
  .p-about-vocabulary__item.is-item5::before {
    content: "";
    width: 40.9573333333vw;
    height: 19.592vw;
    right: -30.5573333333vw;
    top: 8.5333333333vw;
    background-image: url(../images/about/vocabulary_fish3.svg);
  }
  .p-about-vocabulary__item.is-item5::after {
    content: "";
    width: 28.8613333333vw;
    height: 22.28vw;
    left: -18.6666666667vw;
    bottom: -7.3466666667vw;
    background-image: url(../images/about/vocabulary_fish2.svg);
  }
  .p-about-vocabulary__item.is-item6 {
    margin-top: 1.8666666667vw;
    margin-left: auto;
    width: 84.8vw;
    height: 84.8vw;
  }
  .p-about-vocabulary__item.is-item6::before {
    content: "";
    width: 26.6666666667vw;
    height: 21.7893333333vw;
    right: -3.176vw;
    bottom: -7.1386666667vw;
    rotate: -17.35deg;
    background-image: url(../images/common/illust/tako.svg);
  }
  .p-about-vocabulary__item.is-item7 {
    margin-top: 1.8666666667vw;
    margin-left: 2.6666666667vw;
    width: 70.1333333333vw;
    height: 70.1333333333vw;
  }
}
.p-about-vocabulary__item-title {
  font-weight: 500;
  line-height: 2;
  font-size: 5.3333333333vw;
  background-repeat: repeat-x;
  background-position: left bottom;
  background-size: auto 0.5333333333vw;
  background-image: url(../images/about/border.png);
}
@media (min-width: 768px) {
  .p-about-vocabulary__item-title {
    font-size: min(28px, 1.9444444444vw);
    background-size: auto 2px;
  }
}
.p-about-vocabulary__description {
  display: block;
  line-height: 2;
  font-weight: 400;
  letter-spacing: 0.05em;
  font-size: 3.4666666667vw;
}
@media (min-width: 768px) {
  .p-about-vocabulary__description {
    font-size: min(16px, 1.1111111111vw);
  }
  .is-item1 .p-about-vocabulary__description {
    width: min(160px, 11.1111111111vw);
  }
  .is-item2 .p-about-vocabulary__description {
    width: min(283px, 19.6527777778vw);
  }
  .is-item3 .p-about-vocabulary__description {
    width: min(308px, 21.3888888889vw);
  }
  .is-item4 .p-about-vocabulary__description {
    width: min(308px, 21.3888888889vw);
  }
  .is-item5 .p-about-vocabulary__description {
    width: min(203px, 14.0972222222vw);
  }
  .is-item6 .p-about-vocabulary__description {
    width: min(308px, 21.3888888889vw);
  }
  .is-item7 .p-about-vocabulary__description {
    width: min(240px, 16.6666666667vw);
  }
}
@media (max-width: 767.98px) {
  .is-item1 .p-about-vocabulary__description {
    width: 29.8666666667vw;
  }
  .is-item2 .p-about-vocabulary__description {
    width: 52.8vw;
  }
  .is-item3 .p-about-vocabulary__description {
    width: 57.4933333333vw;
  }
  .is-item4 .p-about-vocabulary__description {
    width: 57.4933333333vw;
  }
  .is-item5 .p-about-vocabulary__description {
    width: 37.8933333333vw;
  }
  .is-item6 .p-about-vocabulary__description {
    width: 57.4933333333vw;
  }
  .is-item7 .p-about-vocabulary__description {
    width: 44.8vw;
  }
}

.p-understanding::before {
  content: "";
  margin: auto;
  width: 16.5333333333vw;
  height: 13.6186666667vw;
  display: block;
  top: 54.3573333333vw;
  left: 5.4586666667vw;
  position: absolute;
  z-index: 3;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(../images/common/illust/kani.svg);
}
@media (min-width: 768px) {
  .p-understanding::before {
    width: min(139px, 9.6527777778vw);
    height: min(113.5px, 7.8819444444vw);
    top: min(300px, 20.8333333333vw);
    left: 0;
    right: 0;
    translate: max(-426px, -29.5833333333vw);
  }
}
.p-understanding .c-container {
  padding-bottom: 48vw;
  background-color: #F4FCFF;
  -webkit-mask-position: 53vw top;
          mask-position: 53vw top;
}
@media (min-width: 768px) {
  .p-understanding .c-container {
    margin-top: -7.3611111111vw;
    padding-bottom: min(262px, 18.1944444444vw);
    -webkit-mask-position: 54vw top;
            mask-position: 54vw top;
  }
}
@media (min-width: 768px) {
  .p-understanding .l-nav {
    width: min(235px, 16.3194444444vw);
    height: calc(100vh - min(200px, 13.8888888889vw));
    z-index: 3;
  }
  .p-understanding .l-nav::before {
    content: "";
    margin: auto;
    width: min(246.18px, 17.0958333333vw);
    height: min(289.39px, 20.0965277778vw);
    display: block;
    position: absolute;
    left: max(-41px, -2.8472222222vw);
    bottom: min(41px, 2.8472222222vw);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: contain;
    background-image: url(../images/about/nav_img.svg);
  }
}

.p-understanding-data::after {
  content: "";
  width: 22.3786666667vw;
  height: 18.2853333333vw;
  display: block;
  position: absolute;
  right: 2.152vw;
  bottom: -27.2853333333vw;
  rotate: -5.33deg;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(../images/common/illust/tako.svg);
}
@media (min-width: 768px) {
  .p-understanding-data::after {
    width: min(167.85px, 11.65625vw);
    height: min(137.15px, 9.5243055556vw);
    right: max(-57.86px, -4.0180555556vw);
    bottom: max(-198.65px, -13.7951388889vw);
  }
}
.p-understanding-data__list {
  margin-top: 6.6666666667vw;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 4.2666666667vw;
}
@media (min-width: 768px) {
  .p-understanding-data__list {
    margin-top: min(62px, 4.3055555556vw);
    flex-direction: row;
    flex-wrap: wrap;
    gap: min(20px, 1.3888888889vw) min(14px, 0.9722222222vw);
  }
}
.p-understanding-data__item {
  position: relative;
}
.p-understanding-data__item::before {
  display: block;
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media (max-width: 767.98px) {
  .p-understanding-data__item.is-item7::before {
    content: "";
    width: 21.3333333333vw;
    height: 17.4186666667vw;
    right: -5.9226666667vw;
    bottom: -0.4826666667vw;
    rotate: 12.72deg;
    background-image: url(../images/common/illust/kani.svg);
  }
}
@media (min-width: 768px) {
  .p-understanding-data__item.is-item1 {
    margin-right: auto;
    width: min(440px, 30.5555555556vw);
  }
  .p-understanding-data__item.is-item2 {
    width: min(440px, 30.5555555556vw);
  }
  .p-understanding-data__item.is-item3 {
    margin-right: auto;
    width: min(440px, 30.5555555556vw);
  }
  .p-understanding-data__item.is-item3::before {
    content: "";
    width: min(128.28px, 8.9083333333vw);
    height: min(99.28px, 6.8944444444vw);
    left: max(-103px, -7.1527777778vw);
    top: min(112px, 7.7777777778vw);
    background-image: url(../images/understanding/data_fish1.svg);
  }
  .p-understanding-data__item.is-item4 {
    width: min(440px, 30.5555555556vw);
  }
  .p-understanding-data__item.is-item5 {
    width: min(290px, 20.1388888889vw);
  }
  .p-understanding-data__item.is-item6 {
    width: min(290px, 20.1388888889vw);
  }
  .p-understanding-data__item.is-item7 {
    width: min(290px, 20.1388888889vw);
  }
  .p-understanding-data__item.is-item7::before {
    content: "";
    width: min(116.35px, 8.0798611111vw);
    height: min(95px, 6.5972222222vw);
    right: max(-70.38px, -4.8875vw);
    bottom: min(7.35px, 0.5104166667vw);
    background-image: url(../images/common/illust/kani.svg);
    rotate: 12.72deg;
  }
  .p-understanding-data__item.is-item8 {
    margin-right: auto;
    width: min(440px, 30.5555555556vw);
  }
  .p-understanding-data__item.is-item8::before {
    content: "";
    width: min(117.34px, 8.1486111111vw);
    height: min(55.42px, 3.8486111111vw);
    left: max(-86px, -5.9722222222vw);
    bottom: min(3.5px, 0.2430555556vw);
    background-image: url(../images/understanding/data_fish2.svg);
  }
  .p-understanding-data__item.is-item9 {
    width: min(440px, 30.5555555556vw);
  }
}
.p-understanding-data__item img {
  width: 100%;
}
.p-understanding-data__card {
  margin-top: 13.3333333333vw;
  width: 100%;
  padding: 6.4vw;
  display: block;
  background-color: #FFF;
  border-radius: 4.2666666667vw;
}
@media (min-width: 768px) {
  .p-understanding-data__card {
    margin-top: min(60px, 4.1666666667vw);
    padding: min(40px, 2.7777777778vw);
    border-radius: min(20px, 1.3888888889vw);
  }
}
.p-understanding-data__box {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 2.6666666667vw;
  position: relative;
}
@media (min-width: 768px) {
  .p-understanding-data__box {
    flex-direction: row;
    align-items: flex-start;
    gap: min(48px, 3.3333333333vw);
  }
}
.p-understanding-data__box + .p-understanding-data__box {
  margin-top: 10.6666666667vw;
}
@media (min-width: 768px) {
  .p-understanding-data__box + .p-understanding-data__box {
    margin-top: min(50px, 3.4722222222vw);
  }
}
@media (min-width: 768px) {
  .p-understanding-data__box::before {
    display: block;
    position: absolute;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }
  .p-understanding-data__box.is-item11::before {
    content: "";
    width: min(188.53px, 13.0923611111vw);
    height: min(150.92px, 10.4805555556vw);
    right: max(-142.35px, -9.8854166667vw);
    bottom: max(-79.78px, -5.5402777778vw);
    background-image: url(../images/understanding/data_fish3.svg);
  }
  .p-understanding-data__box.is-item13::before {
    content: "";
    width: min(225.82px, 15.6819444444vw);
    height: min(130px, 9.0277777778vw);
    left: max(-153.14px, -10.6347222222vw);
    bottom: min(41.82px, 2.9041666667vw);
    rotate: -14.8deg;
    background-image: url(../images/common/illust/maguro.svg);
  }
  .p-understanding-data__box.is-item14::before {
    content: "";
    width: min(151.12px, 10.4944444444vw);
    height: min(86.88px, 6.0333333333vw);
    left: min(5px, 0.3472222222vw);
    bottom: min(9.12px, 0.6333333333vw);
    background-image: url(../images/understanding/data_fish4.svg);
  }
}
.p-understanding-data__inner {
  width: 100%;
}
@media (min-width: 768px) {
  .p-understanding-data__inner {
    width: min(240px, 16.6666666667vw);
  }
}
.p-understanding-data__tag {
  width: 22.1333333333vw;
}
@media (min-width: 768px) {
  .p-understanding-data__tag {
    width: min(103px, 7.1527777778vw);
  }
}
.p-understanding-data__subtitle {
  margin-top: 0.5333333333vw;
  font-size: 5.3333333333vw;
  color: #0191B4;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media (min-width: 768px) {
  .p-understanding-data__subtitle {
    margin-top: min(6px, 0.4166666667vw);
    font-size: min(30px, 2.0833333333vw);
  }
}
.p-understanding-data__description {
  font-size: 3.7333333333vw;
  line-height: 2;
  font-weight: 400;
  letter-spacing: 0.05em;
}
@media (min-width: 768px) {
  .p-understanding-data__description {
    margin-top: min(12px, 0.8333333333vw);
    font-size: min(16px, 1.1111111111vw);
  }
}
.p-understanding-data__card-list {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 2.6666666667vw;
}
@media (min-width: 768px) {
  .p-understanding-data__card-list {
    gap: min(10px, 0.6944444444vw);
  }
}
.p-understanding-data__card-item {
  width: -moz-max-content;
  width: max-content;
  padding: 2.6666666667vw 5.3333333333vw;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #0191B4;
  font-size: 3.7333333333vw;
  background-color: #EEF6F8;
  border-radius: 1.6vw;
}
@media (min-width: 768px) {
  .p-understanding-data__card-item {
    padding: min(14px, 0.9722222222vw) min(30px, 2.0833333333vw);
    font-size: min(18px, 1.25vw);
    border-radius: min(6px, 0.4166666667vw);
  }
}

.p-understanding-keyword {
  margin-top: 38.1333333333vw;
}
@media (min-width: 768px) {
  .p-understanding-keyword {
    margin-top: min(180px, 12.5vw);
  }
}
.p-understanding-keyword__list {
  margin-top: 8.5946666667vw;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 8vw;
}
@media (min-width: 768px) {
  .p-understanding-keyword__list {
    margin-top: min(62px, 4.3055555556vw);
    flex-direction: row;
    flex-wrap: wrap;
    gap: min(60px, 4.1666666667vw) min(19px, 1.3194444444vw);
  }
}
.p-understanding-keyword__item {
  width: 100%;
  position: relative;
  background-color: #fff;
  border-radius: 4.2666666667vw;
}
@media (min-width: 768px) {
  .p-understanding-keyword__item {
    width: min(440px, 30.5555555556vw);
    border-radius: min(20px, 1.3888888889vw);
  }
}
.p-understanding-keyword__item::before {
  display: block;
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media (min-width: 768px) {
  ul .p-understanding-keyword__item:nth-child(1)::before {
    content: "";
    width: min(180.54px, 12.5375vw);
    height: min(149.37px, 10.3729166667vw);
    left: max(-133px, -9.2361111111vw);
    top: max(-24px, -1.6666666667vw);
    background-image: url(../images/understanding/keyword_fish1.svg);
  }
  ul .p-understanding-keyword__item:nth-child(4)::before {
    content: "";
    width: min(171px, 11.875vw);
    height: min(62.51px, 4.3409722222vw);
    right: max(-123px, -8.5416666667vw);
    top: min(311px, 21.5972222222vw);
    background-image: url(../images/common/illust/sake.svg);
  }
  ul .p-understanding-keyword__item:nth-child(5)::before {
    content: "";
    width: min(65.05px, 4.5173611111vw);
    height: min(157.73px, 10.9534722222vw);
    left: max(-52.11px, -3.61875vw);
    top: min(204.21px, 14.18125vw);
    rotate: 32.9deg;
    background-image: url(../images/common/illust/ika.svg);
  }
}
.p-understanding-keyword__img {
  width: 100%;
  overflow: hidden;
  border-radius: 4.2666666667vw 4.2666666667vw 0 0;
}
@media (min-width: 768px) {
  .p-understanding-keyword__img {
    border-radius: min(20px, 1.3888888889vw) min(20px, 1.3888888889vw) 0 0;
  }
}
.is-item6 .p-understanding-keyword__img {
  border-bottom: 1px solid #0191B4;
}
.p-understanding-keyword__inner {
  width: 100%;
  padding: 4vw 6.4vw 5.3333333333vw;
}
@media (min-width: 768px) {
  .p-understanding-keyword__inner {
    padding: min(30px, 2.0833333333vw) min(40px, 2.7777777778vw);
  }
}
.p-understanding-keyword__item-title {
  font-size: 5.2vw;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media (min-width: 768px) {
  .p-understanding-keyword__item-title {
    font-size: min(26px, 1.8055555556vw);
  }
}
.p-understanding-keyword__item-title.is-english {
  font-family: "League Spartan", sans-serif;
  font-size: 9vw;
}
@media (min-width: 768px) {
  .p-understanding-keyword__item-title.is-english {
    font-size: min(40px, 2.7777777778vw);
  }
}
.p-understanding-keyword__item-title span {
  color: #0191B4;
}
.is-item2 .p-understanding-keyword__item-title span, .is-item4 .p-understanding-keyword__item-title span, .is-item5 .p-understanding-keyword__item-title span {
  font-size: 6.8vw;
}
@media (min-width: 768px) {
  .is-item2 .p-understanding-keyword__item-title span, .is-item4 .p-understanding-keyword__item-title span, .is-item5 .p-understanding-keyword__item-title span {
    font-size: min(34px, 2.3611111111vw);
  }
}
.p-understanding-keyword__item-title strong {
  color: #0191B4;
  font-weight: 700;
  font-size: 6.8vw;
}
@media (min-width: 768px) {
  .p-understanding-keyword__item-title strong {
    font-size: min(34px, 2.3611111111vw);
  }
}
.p-understanding-keyword__item-title strong.is-english {
  font-size: 9vw;
  font-family: "League Spartan", sans-serif;
}
@media (min-width: 768px) {
  .p-understanding-keyword__item-title strong.is-english {
    font-size: min(40px, 2.7777777778vw);
  }
}
.p-understanding-keyword__description {
  margin-top: 1.0666666667vw;
  line-height: 2;
  font-weight: 400;
  letter-spacing: 0.05em;
  font-size: 3.7333333333vw;
}
@media (min-width: 768px) {
  .p-understanding-keyword__description {
    margin-top: min(18px, 1.25vw);
    font-size: min(16px, 1.1111111111vw);
  }
}

.p-requirements::before {
  content: "";
  margin: auto;
  width: 16.5333333333vw;
  height: 13.6186666667vw;
  display: block;
  top: 54.3573333333vw;
  left: 5.4586666667vw;
  position: absolute;
  z-index: 3;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(../images/common/illust/kani.svg);
}
@media (min-width: 768px) {
  .p-requirements::before {
    width: min(139px, 9.6527777778vw);
    height: min(113.5px, 7.8819444444vw);
    top: min(300px, 20.8333333333vw);
    left: 0;
    right: 0;
    translate: max(-426px, -29.5833333333vw);
  }
}
.p-requirements .c-container {
  padding-bottom: 48vw;
  background-color: #F4FCFF;
  -webkit-mask-position: 53vw top;
          mask-position: 53vw top;
}
@media (min-width: 768px) {
  .p-requirements .c-container {
    margin-top: -7.3611111111vw;
    padding-bottom: min(262px, 18.1944444444vw);
    -webkit-mask-position: 54vw top;
            mask-position: 54vw top;
  }
}
@media (min-width: 768px) {
  .p-requirements .l-nav {
    height: calc(100vh - min(200px, 13.8888888889vw));
  }
}
.p-requirements .l-nav::before {
  content: "";
  margin: auto;
  display: block;
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(../images/requirements/information_fish1.svg);
}
@media (min-width: 768px) {
  .p-requirements .l-nav::before {
    width: min(246.18px, 17.0958333333vw);
    height: min(289.39px, 20.0965277778vw);
    left: max(-41px, -2.8472222222vw);
    bottom: min(20px, 1.3888888889vw);
  }
}
@media (max-width: 767.98px) {
  .p-requirements .l-nav__list .l-nav__link:nth-child(even) {
    width: 46.6666666667vw;
  }
}
@media (max-width: 767.98px) {
  .p-requirements .l-nav__list .l-nav__link:nth-child(odd) {
    width: 37.8666666667vw;
  }
}
.p-requirements .l-nav__link {
  display: flex;
  align-items: center;
}

.p-requirements-information {
  position: relative;
}
.p-requirements-information::after {
  content: "";
  margin: auto;
  width: 30.1093333333vw;
  height: 17.3333333333vw;
  right: -2.4826666667vw;
  bottom: -38.8746666667vw;
  display: block;
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(../images/common/illust/maguro.svg);
  rotate: -13.33deg;
  scale: -1 1;
}
@media (min-width: 768px) {
  .p-requirements-information::after {
    width: min(225.82px, 15.6819444444vw);
    height: min(130px, 9.0277777778vw);
    right: max(-36.77px, -2.5534722222vw);
    bottom: max(-265.28px, -18.4222222222vw);
  }
}
.p-requirements-information__section {
  margin-top: 7.4666666667vw;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 2.6666666667vw;
}
@media (min-width: 768px) {
  .p-requirements-information__section {
    margin-top: min(63px, 4.375vw);
    gap: min(10px, 0.6944444444vw);
  }
}
.p-requirements-information__card {
  width: 100%;
  padding: 4.2666666667vw 6.4vw;
  display: flex;
  flex-direction: column;
  background-color: #fff;
  border-radius: 1.6vw;
}
@media (min-width: 768px) {
  .p-requirements-information__card {
    padding: min(29px, 2.0138888889vw) min(40px, 2.7777777778vw);
    flex-direction: row;
    gap: min(60px, 4.1666666667vw);
    border-radius: min(6px, 0.4166666667vw);
  }
}
.p-requirements-information__text-title {
  margin-top: 5.3333333333vw;
  display: flex;
  align-items: center;
  font-weight: 500;
  letter-spacing: 0.05em;
  font-size: 4.8vw;
  line-height: 1;
}
@media (min-width: 768px) {
  .p-requirements-information__text-title {
    margin-top: 0;
    font-size: min(20px, 1.3888888889vw);
  }
  .p-requirements-information__text + .p-requirements-information__text-title {
    margin-top: min(30px, 2.0833333333vw);
  }
}
.p-requirements-information__text-title::before {
  content: "○";
}
.p-requirements-information__subtitle {
  color: #0191B4;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.05em;
  font-size: 4.8vw;
}
@media (min-width: 768px) {
  .p-requirements-information__subtitle {
    width: min(150px, 10.4166666667vw);
    font-size: min(22px, 1.5277777778vw);
  }
}
.p-requirements-information__content {
  flex: 1;
}
@media (max-width: 767.98px) {
  .p-requirements-information__content {
    width: 100%;
    margin-top: 0.5333333333vw;
  }
}
.p-requirements-information__text {
  line-height: 2;
  font-weight: 400;
  letter-spacing: 0.05em;
  font-size: 3.7333333333vw;
}
@media (min-width: 768px) {
  .p-requirements-information__text {
    font-size: min(16px, 1.1111111111vw);
  }
}
.p-requirements-information__text strong {
  display: block;
  font-weight: 500;
  font-size: 4.2666666667vw;
}
@media (min-width: 768px) {
  .p-requirements-information__text strong {
    font-size: min(18px, 1.25vw);
  }
}
:where(.p-requirements-information__content) .p-requirements-information__text:not(:nth-of-type(1)) {
  margin-top: 5.3333333333vw;
}
@media (min-width: 768px) {
  :where(.p-requirements-information__content) .p-requirements-information__text:not(:nth-of-type(1)) {
    margin-top: min(20px, 1.3888888889vw);
  }
}
.p-requirements-information__content ul + .p-requirements-information__text {
  margin-top: 0;
}
.p-requirements-information__text-title + .p-requirements-information__text {
  margin-top: 5.3333333333vw;
}
@media (min-width: 768px) {
  .p-requirements-information__text-title + .p-requirements-information__text {
    margin-top: min(20px, 1.3888888889vw);
  }
}
.p-requirements-information__text a {
  color: #0191B4;
  text-decoration: underline;
}
.p-requirements-information__text.is-caption {
  font-size: 2.6666666667vw;
}
@media (min-width: 768px) {
  .p-requirements-information__text.is-caption {
    font-size: min(12px, 0.8333333333vw);
  }
}
.p-requirements-information__list {
  display: flex;
  flex-direction: column;
  gap: 0.2666666667vw;
}
@media (min-width: 768px) {
  .p-requirements-information__list {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0 min(40px, 2.7777777778vw);
  }
}
.p-requirements-information__item {
  padding-left: 5.3333333333vw;
  position: relative;
  line-height: 2;
  font-weight: 400;
  letter-spacing: 0.05em;
  font-size: 3.7333333333vw;
}
@media (min-width: 768px) {
  .p-requirements-information__item {
    min-width: min(208px, 14.4444444444vw);
    padding-left: min(25px, 1.7361111111vw);
    font-size: min(16px, 1.1111111111vw);
  }
}
.p-requirements-information__item::before {
  content: "";
  margin: auto;
  width: 1.0666666667vw;
  height: 1.0666666667vw;
  display: block;
  position: absolute;
  left: 2.1333333333vw;
  top: 3.4666666667vw;
  background-color: #253033;
  border-radius: 50%;
}
@media (min-width: 768px) {
  .p-requirements-information__item::before {
    width: min(4px, 0.2777777778vw);
    height: min(4px, 0.2777777778vw);
    left: min(10px, 0.6944444444vw);
    top: min(15px, 1.0416666667vw);
  }
}
.p-requirements-information__caption {
  line-height: 2;
  font-weight: 400;
  letter-spacing: 0.05em;
  font-size: 2.6666666667vw;
}
@media (min-width: 768px) {
  .p-requirements-information__caption {
    font-size: min(12px, 0.8333333333vw);
  }
}

.p-requirements-schedule {
  margin-top: 37.3333333333vw;
}
@media (min-width: 768px) {
  .p-requirements-schedule {
    margin-top: min(190px, 13.1944444444vw);
  }
}
.p-requirements-schedule::before, .p-requirements-schedule::after {
  content: "";
  margin: auto;
  display: block;
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(../images/common/illust/ika.svg);
}
.p-requirements-schedule::before {
  width: 9.5413333333vw;
  height: 23.1386666667vw;
  bottom: -29.0826666667vw;
  right: 21.536vw;
  rotate: -28.35deg;
}
@media (min-width: 768px) {
  .p-requirements-schedule::before {
    width: min(65.05px, 4.5173611111vw);
    height: min(157.73px, 10.9534722222vw);
    bottom: max(-129.71px, -9.0076388889vw);
    right: min(89.4px, 6.2083333333vw);
  }
}
.p-requirements-schedule::after {
  width: 8.4986666667vw;
  height: 20.608vw;
  bottom: -42.3306666667vw;
  right: 5.992vw;
  rotate: 18.33deg;
}
@media (min-width: 768px) {
  .p-requirements-schedule::after {
    width: min(57.93px, 4.0229166667vw);
    height: min(140.48px, 9.7555555556vw);
    bottom: max(-218px, -15.1388888889vw);
    right: max(-18.56px, -1.2888888889vw);
  }
}
.p-requirements-schedule__list {
  margin-top: 6.1333333333vw;
  width: 100%;
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .p-requirements-schedule__list {
    margin-top: min(55px, 3.8194444444vw);
    margin-bottom: min(18px, 1.25vw);
    flex-direction: row;
    flex-wrap: wrap;
    gap: min(52px, 3.6111111111vw) 0;
    overflow-x: hidden;
  }
}
@media (max-width: 767.98px) {
  .p-requirements-schedule__list::before {
    content: "";
    width: 0.4vw;
    height: calc(100% - 37.3333333333vw);
    display: block;
    position: absolute;
    left: 9.3333333333vw;
    top: 18.6666666667vw;
    background-color: #0191B4;
  }
}
.p-requirements-schedule__item {
  width: 100%;
  position: relative;
  z-index: 1;
}
@media (max-width: 767.98px) {
  .p-requirements-schedule__item {
    padding-left: 24vw;
    min-height: 18.6666666667vw;
  }
}
@media (min-width: 768px) {
  .p-requirements-schedule__item {
    width: 25%;
  }
  .p-requirements-schedule__item:not(.is-item7)::before {
    content: "";
    margin: auto;
    width: 100%;
    height: min(1.5px, 0.1041666667vw);
    display: block;
    position: absolute;
    left: min(100px, 6.9444444444vw);
    top: min(50px, 3.4722222222vw);
    z-index: -1;
    background-color: #0191B4;
  }
}
@media (max-width: 767.98px) {
  .p-requirements-schedule__item.is-item1 {
    padding-top: 2.1333333333vw;
  }
  .p-requirements-schedule__item.is-item2 {
    padding-top: 5.0666666667vw;
  }
  .p-requirements-schedule__item.is-item3 {
    margin-top: 5.0666666667vw;
    padding-top: 1.8666666667vw;
  }
  .p-requirements-schedule__item.is-item4 {
    margin-top: 4.5333333333vw;
    padding-top: 5.0666666667vw;
  }
  .p-requirements-schedule__item.is-item5 {
    margin-top: 8vw;
    padding-top: 5.0666666667vw;
  }
  .p-requirements-schedule__item.is-item6 {
    margin-top: 8vw;
    padding-top: 5.0666666667vw;
  }
  .p-requirements-schedule__item.is-item7 {
    margin-top: 8vw;
    padding-top: 1.8666666667vw;
  }
}
.p-requirements-schedule__item.is-item2::after {
  content: "";
  width: 11.2vw;
  height: 5.9173333333vw;
  display: block;
  position: absolute;
  left: -2.4vw;
  top: 13.44vw;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(../images/common/illust/ebi.svg);
}
@media (min-width: 768px) {
  .p-requirements-schedule__item.is-item2::after {
    width: min(54.88px, 3.8111111111vw);
    height: min(29px, 2.0138888889vw);
    left: max(-21px, -1.4583333333vw);
    top: min(72px, 5vw);
  }
}
.p-requirements-schedule__item.is-item4::after {
  content: "";
  display: block;
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(../images/common/illust/iwashi.svg);
}
@media (min-width: 768px) {
  .p-requirements-schedule__item.is-item4::after {
    width: min(66.57px, 4.6229166667vw);
    height: min(26.18px, 1.8180555556vw);
    left: min(79.05px, 5.4895833333vw);
    top: min(74.93px, 5.2034722222vw);
    rotate: 12.56deg;
  }
}
@media (min-width: 768px) {
  .p-requirements-schedule__item.is-item6 .p-requirements-schedule__title {
    width: min(100px, 6.9444444444vw);
    text-align: center;
  }
}
.p-requirements-schedule__item.is-item7::after {
  content: "";
  width: 8.5786666667vw;
  height: 8.208vw;
  display: block;
  position: absolute;
  left: 11.856vw;
  top: 11.376vw;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(../images/common/illust/hitode.png);
  rotate: 15.13deg;
}
@media (min-width: 768px) {
  .p-requirements-schedule__item.is-item7::after {
    width: min(43.51px, 3.0215277778vw);
    height: min(41.64px, 2.8916666667vw);
    left: min(78.68px, 5.4638888889vw);
    top: min(59.96px, 4.1638888889vw);
  }
}
@media (min-width: 768px) {
  .p-requirements-schedule__item.is-item7 .p-requirements-schedule__title {
    width: min(100px, 6.9444444444vw);
    text-align: center;
  }
}
.p-requirements-schedule__nth {
  width: 18.6666666667vw;
  height: 18.6666666667vw;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border-radius: 50%;
}
@media (max-width: 767.98px) {
  .p-requirements-schedule__nth {
    position: absolute;
    left: 0;
    top: 0;
  }
}
@media (min-width: 768px) {
  .p-requirements-schedule__nth {
    width: min(100px, 6.9444444444vw);
    height: min(100px, 6.9444444444vw);
  }
}
.p-requirements-schedule__nth img {
  width: 7.44vw;
}
@media (min-width: 768px) {
  .p-requirements-schedule__nth img {
    width: min(30.66px, 2.1291666667vw);
  }
}
.p-requirements-schedule__title {
  line-height: 2;
  font-weight: 500;
  letter-spacing: 0.05em;
  font-size: 4.8vw;
}
@media (min-width: 768px) {
  .p-requirements-schedule__title {
    margin-top: min(18px, 1.25vw);
    font-size: min(22px, 1.5277777778vw);
  }
}
.p-requirements-schedule__title span {
  font-size: 3.7333333333vw;
}
@media (min-width: 768px) {
  .p-requirements-schedule__title span {
    font-size: min(16px, 1.1111111111vw);
  }
}
.is-item2 .p-requirements-schedule__title span {
  display: block;
}
.p-requirements-schedule__text {
  line-height: 2;
  font-weight: 400;
  letter-spacing: 0.05em;
  font-size: 3.7333333333vw;
}
@media (min-width: 768px) {
  .p-requirements-schedule__text {
    font-size: min(16px, 1.1111111111vw);
  }
}
.p-requirements-schedule__caption {
  line-height: 2;
  font-weight: 400;
  letter-spacing: 0.05em;
  font-size: 2.6666666667vw;
}
@media (min-width: 768px) {
  .p-requirements-schedule__caption {
    font-size: min(12px, 0.8333333333vw);
  }
}

.p-requirements-benefits {
  margin-top: 36.8vw;
}
@media (min-width: 768px) {
  .p-requirements-benefits {
    margin-top: min(185px, 12.8472222222vw);
  }
}
@media (max-width: 767.98px) {
  .p-requirements-benefits::before {
    content: "";
    width: 34.9893333333vw;
    height: 19.4666666667vw;
    display: block;
    position: absolute;
    right: -3.2vw;
    bottom: -36.1813333333vw;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url(../images/requirements/benefits_fish1.png);
  }
}
.p-requirements-benefits__list {
  margin-top: 8vw;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 2.6666666667vw;
}
@media (min-width: 768px) {
  .p-requirements-benefits__list {
    margin-top: min(46px, 3.1944444444vw);
    flex-direction: row;
    flex-wrap: wrap;
    gap: min(14px, 0.9722222222vw);
  }
}
.p-requirements-benefits__item {
  width: 100%;
  padding: 6.4vw;
  display: flex;
  flex-direction: column;
  position: relative;
  background-repeat: no-repeat;
  background-color: #fff;
  border-radius: 4.2666666667vw;
}
@media (min-width: 768px) {
  .p-requirements-benefits__item {
    width: min(290px, 20.1388888889vw);
    padding: min(144px, 10vw) min(0px, 0vw) min(33px, 2.2916666667vw);
    flex-wrap: wrap;
    gap: min(10px, 0.6944444444vw);
    background-size: min(90px, 6.25vw);
    background-position: center min(40px, 2.7777777778vw);
    border-radius: min(20px, 1.3888888889vw);
  }
  .p-requirements-benefits__item.is-item1 {
    background-image: url(../images/requirements/benefits_icon1.svg);
  }
  .p-requirements-benefits__item.is-item2 {
    background-image: url(../images/requirements/benefits_icon2.svg);
  }
  .p-requirements-benefits__item.is-item3 {
    background-image: url(../images/requirements/benefits_icon3.svg);
  }
  .p-requirements-benefits__item.is-item4 {
    background-image: url(../images/requirements/benefits_icon4.svg);
  }
  .p-requirements-benefits__item.is-item5 {
    background-image: url(../images/requirements/benefits_icon5.svg);
  }
  .p-requirements-benefits__item.is-item6 {
    background-image: url(../images/requirements/benefits_icon6.svg);
  }
  .p-requirements-benefits__item.is-item7 {
    background-image: url(../images/requirements/benefits_icon7.svg);
  }
  .p-requirements-benefits__item.is-item8 {
    background-image: url(../images/requirements/benefits_icon8.svg);
  }
  .p-requirements-benefits__item.is-item9 {
    background-image: url(../images/requirements/benefits_icon9.svg);
  }
  .p-requirements-benefits__item.is-item10 {
    background-image: url(../images/requirements/benefits_icon10.svg);
  }
  .p-requirements-benefits__item.is-item11 {
    background-image: url(../images/requirements/benefits_icon11.svg);
  }
  .p-requirements-benefits__item.is-item12 {
    background-image: url(../images/requirements/benefits_icon12.svg);
  }
  .p-requirements-benefits__item.is-item13 {
    background-image: url(../images/requirements/benefits_icon13.svg);
  }
  .p-requirements-benefits__item.is-item14 {
    background-image: url(../images/requirements/benefits_icon14.svg);
  }
  .p-requirements-benefits__item.is-item15 {
    background-image: url(../images/requirements/benefits_icon15.svg);
  }
}
@media (min-width: 768px) {
  .p-requirements-benefits__item.is-item11::before {
    content: "";
    display: block;
    position: absolute;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url(../images/common/illust/sake.svg);
    width: min(171px, 11.875vw);
    height: min(62.51px, 4.3409722222vw);
    right: max(-131px, -9.0972222222vw);
    top: min(50px, 3.4722222222vw);
    rotate: 15.15deg;
  }
  .p-requirements-benefits__item.is-item15::before {
    content: "";
    display: block;
    position: absolute;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url(../images/requirements/benefits_fish1.png);
    width: min(198.79px, 13.8048611111vw);
    height: min(110.61px, 7.68125vw);
    left: max(-132px, -9.1666666667vw);
    top: min(41.39px, 2.8743055556vw);
  }
}
.p-requirements-benefits__title {
  text-align: center;
  color: #0191B4;
  font-weight: 500;
  letter-spacing: 0.05em;
  font-size: 4.8vw;
}
@media (min-width: 768px) {
  .p-requirements-benefits__title {
    margin-left: auto;
    margin-right: auto;
    font-size: min(22px, 1.5277777778vw);
  }
  .is-item7 .p-requirements-benefits__title, .is-item8 .p-requirements-benefits__title, .is-item9 .p-requirements-benefits__title {
    min-height: min(66px, 4.5833333333vw);
  }
}
@media (max-width: 767.98px) {
  .p-requirements-benefits__title {
    margin-bottom: 2.6666666667vw;
    width: -moz-max-content;
    width: max-content;
    min-height: 18.6666666667vw;
    max-width: 100%;
    padding-left: 21.0666666667vw;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: left;
  }
  .p-requirements-benefits__title::before {
    content: "";
    width: 18.6666666667vw;
    height: 18.6666666667vw;
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }
  .is-item1 .p-requirements-benefits__title::before {
    background-image: url(../images/requirements/benefits_icon1.svg);
  }
  .is-item2 .p-requirements-benefits__title::before {
    background-image: url(../images/requirements/benefits_icon2.svg);
  }
  .is-item3 .p-requirements-benefits__title::before {
    background-image: url(../images/requirements/benefits_icon3.svg);
  }
  .is-item4 .p-requirements-benefits__title::before {
    background-image: url(../images/requirements/benefits_icon4.svg);
  }
  .is-item5 .p-requirements-benefits__title::before {
    background-image: url(../images/requirements/benefits_icon5.svg);
  }
  .is-item6 .p-requirements-benefits__title::before {
    background-image: url(../images/requirements/benefits_icon6.svg);
  }
  .is-item7 .p-requirements-benefits__title::before {
    background-image: url(../images/requirements/benefits_icon7.svg);
  }
  .is-item8 .p-requirements-benefits__title::before {
    background-image: url(../images/requirements/benefits_icon8.svg);
  }
  .is-item9 .p-requirements-benefits__title::before {
    background-image: url(../images/requirements/benefits_icon9.svg);
  }
  .is-item10 .p-requirements-benefits__title::before {
    background-image: url(../images/requirements/benefits_icon10.svg);
  }
  .is-item11 .p-requirements-benefits__title::before {
    background-image: url(../images/requirements/benefits_icon11.svg);
  }
  .is-item12 .p-requirements-benefits__title::before {
    background-image: url(../images/requirements/benefits_icon12.svg);
  }
  .is-item13 .p-requirements-benefits__title::before {
    background-image: url(../images/requirements/benefits_icon13.svg);
  }
  .is-item14 .p-requirements-benefits__title::before {
    background-image: url(../images/requirements/benefits_icon14.svg);
  }
  .is-item15 .p-requirements-benefits__title::before {
    background-image: url(../images/requirements/benefits_icon15.svg);
  }
}
.p-requirements-benefits__title span {
  display: block;
  line-height: 1;
}
@media (min-width: 768px) {
  .p-requirements-benefits__title span {
    font-size: min(16px, 1.1111111111vw);
  }
}
.p-requirements-benefits__description, .p-requirements-benefits__caption {
  font-weight: 400;
}
@media (min-width: 768px) {
  .p-requirements-benefits__description, .p-requirements-benefits__caption {
    padding-left: min(30px, 2.0833333333vw);
    padding-right: min(30px, 2.0833333333vw);
  }
}
@media (max-width: 767.98px) {
  .p-requirements-benefits__description {
    font-size: 3.7333333333vw;
  }
}
.p-requirements-benefits__description strong {
  display: block;
  font-weight: 500;
  font-size: 4.2666666667vw;
}
@media (min-width: 768px) {
  .p-requirements-benefits__description strong {
    font-size: min(18px, 1.25vw);
  }
}
@media (max-width: 767.98px) {
  .p-requirements-benefits__description + .p-requirements-benefits__description {
    margin-top: 2.6666666667vw;
  }
}
.p-requirements-benefits__caption {
  font-size: 3.2vw;
}
@media (min-width: 768px) {
  .p-requirements-benefits__caption {
    font-size: min(12px, 0.8333333333vw);
  }
}

.p-requirements-questions {
  margin-top: 37.0666666667vw;
}
@media (min-width: 768px) {
  .p-requirements-questions {
    margin-top: min(186px, 12.9166666667vw);
  }
}
.p-requirements-questions__section {
  margin-top: 8vw;
  width: 100%;
}
@media (min-width: 768px) {
  .p-requirements-questions__section {
    margin-top: min(55px, 3.8194444444vw);
  }
}
.p-requirements-questions__card {
  width: 100%;
  padding: 6.4vw;
  background-color: #fff;
  border-radius: 1.6vw;
}
@media (min-width: 768px) {
  .p-requirements-questions__card {
    padding: min(30px, 2.0833333333vw) min(40px, 2.7777777778vw) min(30px, 2.0833333333vw) min(120px, 8.3333333333vw);
    border-radius: min(6px, 0.4166666667vw);
  }
}
.p-requirements-questions__card + .p-requirements-questions__card {
  margin-top: 2.6666666667vw;
}
@media (min-width: 768px) {
  .p-requirements-questions__card + .p-requirements-questions__card {
    margin-top: min(10px, 0.6944444444vw);
  }
}
.p-requirements-questions__title {
  width: 100%;
  display: flex;
  align-items: center;
  position: relative;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.05em;
  font-size: 4.8vw;
}
@media (max-width: 767.98px) {
  .p-requirements-questions__title {
    padding-left: 13.3333333333vw;
  }
}
@media (min-width: 768px) {
  .p-requirements-questions__title {
    min-height: min(60px, 4.1666666667vw);
    line-height: 2;
    font-size: min(22px, 1.5277777778vw);
  }
}
.p-requirements-questions__title::before {
  content: "";
  margin: auto;
  display: block;
  position: absolute;
  top: 2.6666666667vw;
  left: 0;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
@media (min-width: 768px) {
  .p-requirements-questions__title::before {
    top: 0;
    bottom: 0;
  }
}
.is-item1 .p-requirements-questions__title::before {
  width: 8.4666666667vw;
  height: 6.0026666667vw;
}
@media (min-width: 768px) {
  .is-item1 .p-requirements-questions__title::before {
    width: min(36.63px, 2.54375vw);
    height: min(26.01px, 1.80625vw);
    left: max(-73.32px, -5.0916666667vw);
  }
}
.is-item2 .p-requirements-questions__title::before {
  width: 10.9173333333vw;
  height: 8.6853333333vw;
}
@media (min-width: 768px) {
  .is-item2 .p-requirements-questions__title::before {
    width: min(47.24px, 3.2805555556vw);
    height: min(26.04px, 1.8083333333vw);
    left: max(-74.36px, -5.1638888889vw);
  }
}
.is-item3 .p-requirements-questions__title::before {
  width: 10.5813333333vw;
  height: 8.6773333333vw;
}
@media (min-width: 768px) {
  .is-item3 .p-requirements-questions__title::before {
    width: min(45.78px, 3.1791666667vw);
    height: min(26.01px, 1.80625vw);
    left: max(-72.6px, -5.0416666667vw);
  }
}
.is-item4 .p-requirements-questions__title::before {
  width: 10.9306666667vw;
  height: 8.6773333333vw;
}
@media (min-width: 768px) {
  .is-item4 .p-requirements-questions__title::before {
    width: min(47.3px, 3.2847222222vw);
    height: min(26.01px, 1.80625vw);
    left: max(-73.13px, -5.0784722222vw);
  }
}
.is-item5 .p-requirements-questions__title::before {
  width: 10.6853333333vw;
  height: 8.6773333333vw;
}
@media (min-width: 768px) {
  .is-item5 .p-requirements-questions__title::before {
    width: min(46.23px, 3.2104166667vw);
    height: min(26.01px, 1.80625vw);
    left: max(-73.26px, -5.0875vw);
  }
}
.is-item6 .p-requirements-questions__title::before {
  width: 10.928vw;
  height: 6.0106666667vw;
}
@media (min-width: 768px) {
  .is-item6 .p-requirements-questions__title::before {
    width: min(47.28px, 3.2833333333vw);
    height: min(26.01px, 1.80625vw);
    left: max(-73.52px, -5.1055555556vw);
  }
}
.is-item7 .p-requirements-questions__title::before {
  width: 10.928vw;
  height: 6.0106666667vw;
}
@media (min-width: 768px) {
  .is-item7 .p-requirements-questions__title::before {
    width: min(46.94px, 3.2597222222vw);
    height: min(26.01px, 1.80625vw);
    left: max(-73.52px, -5.1055555556vw);
  }
}
.is-item8 .p-requirements-questions__title::before {
  width: 10.928vw;
  height: 6.0106666667vw;
}
@media (min-width: 768px) {
  .is-item8 .p-requirements-questions__title::before {
    width: min(46.89px, 3.25625vw);
    height: min(26.01px, 1.80625vw);
    left: max(-73.52px, -5.1055555556vw);
  }
}
.is-item9 .p-requirements-questions__title::before {
  width: 10.928vw;
  height: 6.0106666667vw;
}
@media (min-width: 768px) {
  .is-item9 .p-requirements-questions__title::before {
    width: min(47.17px, 3.2756944444vw);
    height: min(26.04px, 1.8083333333vw);
    left: max(-73.52px, -5.1055555556vw);
  }
}
.is-item10 .p-requirements-questions__title::before {
  width: 14.304vw;
  height: 6.0106666667vw;
  left: -4vw;
}
@media (min-width: 768px) {
  .is-item10 .p-requirements-questions__title::before {
    width: min(61.89px, 4.2979166667vw);
    height: min(26.01px, 1.80625vw);
    left: max(-83.52px, -5.8vw);
  }
}
.is-item11 .p-requirements-questions__title::before {
  width: 11.3573333333vw;
  height: 6.0106666667vw;
  left: -1.3333333333vw;
}
@media (min-width: 768px) {
  .is-item11 .p-requirements-questions__title::before {
    width: min(49.14px, 3.4125vw);
    height: min(26.01px, 1.80625vw);
    left: max(-73.52px, -5.1055555556vw);
  }
}
.is-item12 .p-requirements-questions__title::before {
  width: 13.808vw;
  height: 6.0106666667vw;
  left: -4vw;
}
@media (min-width: 768px) {
  .is-item12 .p-requirements-questions__title::before {
    width: min(59.74px, 4.1486111111vw);
    height: min(26.04px, 1.8083333333vw);
    left: max(-83.52px, -5.8vw);
  }
}
.is-item13 .p-requirements-questions__title::before {
  width: 13.472vw;
  height: 6.0106666667vw;
  left: -4vw;
}
@media (min-width: 768px) {
  .is-item13 .p-requirements-questions__title::before {
    width: min(58.29px, 4.0479166667vw);
    height: min(26.01px, 1.80625vw);
    left: max(-83.52px, -5.8vw);
  }
}
.is-item14 .p-requirements-questions__title::before {
  width: 13.8213333333vw;
  height: 6.0106666667vw;
  left: -4vw;
}
@media (min-width: 768px) {
  .is-item14 .p-requirements-questions__title::before {
    width: min(59.8px, 4.1527777778vw);
    height: min(26.01px, 1.80625vw);
    left: max(-83.52px, -5.8vw);
  }
}
.is-item15 .p-requirements-questions__title::before {
  width: 13.576vw;
  height: 6.0106666667vw;
  left: -4vw;
}
@media (min-width: 768px) {
  .is-item15 .p-requirements-questions__title::before {
    width: min(58.74px, 4.0791666667vw);
    height: min(26.01px, 1.80625vw);
    left: max(-83.52px, -5.8vw);
  }
}
.is-item1 .p-requirements-questions__title::before {
  background-image: url(../images/requirements/questions_nth1.svg);
}
.is-item2 .p-requirements-questions__title::before {
  background-image: url(../images/requirements/questions_nth2.svg);
}
.is-item3 .p-requirements-questions__title::before {
  background-image: url(../images/requirements/questions_nth3.svg);
}
.is-item4 .p-requirements-questions__title::before {
  background-image: url(../images/requirements/questions_nth4.svg);
}
.is-item5 .p-requirements-questions__title::before {
  background-image: url(../images/requirements/questions_nth5.svg);
}
.is-item6 .p-requirements-questions__title::before {
  background-image: url(../images/requirements/questions_nth6.svg);
}
.is-item7 .p-requirements-questions__title::before {
  background-image: url(../images/requirements/questions_nth7.svg);
}
.is-item8 .p-requirements-questions__title::before {
  background-image: url(../images/requirements/questions_nth8.svg);
}
.is-item9 .p-requirements-questions__title::before {
  background-image: url(../images/requirements/questions_nth9.svg);
}
.is-item10 .p-requirements-questions__title::before {
  background-image: url(../images/requirements/questions_nth10.svg);
}
.is-item11 .p-requirements-questions__title::before {
  background-image: url(../images/requirements/questions_nth11.svg);
}
.is-item12 .p-requirements-questions__title::before {
  background-image: url(../images/requirements/questions_nth12.svg);
}
.is-item13 .p-requirements-questions__title::before {
  background-image: url(../images/requirements/questions_nth13.svg);
}
.is-item14 .p-requirements-questions__title::before {
  background-image: url(../images/requirements/questions_nth14.svg);
}
.is-item15 .p-requirements-questions__title::before {
  background-image: url(../images/requirements/questions_nth15.svg);
}
.p-requirements-questions__box {
  width: 100%;
  font-weight: 400;
}
@media (max-width: 767.98px) {
  .p-requirements-questions__box {
    padding-top: 2.6666666667vw;
  }
}
@media (min-width: 768px) {
  .p-requirements-questions__box {
    padding-top: min(5px, 0.3472222222vw);
  }
}
.p-requirements-questions__list {
  margin-top: 5.3333333333vw;
  display: flex;
  flex-direction: column;
  line-height: 2;
  letter-spacing: 0.05em;
  gap: 4.2666666667vw;
}
@media (min-width: 768px) {
  .p-requirements-questions__list {
    margin-top: min(28px, 1.9444444444vw);
    padding-left: min(18px, 1.25vw);
    gap: min(15px, 1.0416666667vw);
  }
}
.p-requirements-questions__item strong {
  display: block;
  font-weight: 500;
  font-size: 4.2666666667vw;
}
@media (min-width: 768px) {
  .p-requirements-questions__item strong {
    text-indent: -1em;
    font-size: min(18px, 1.25vw);
  }
}
.p-requirements-questions__text {
  font-weight: 400;
}

.p-requirements-step {
  margin-top: 46.6666666667vw;
  position: relative;
}
@media (min-width: 768px) {
  .p-requirements-step {
    margin-top: min(180px, 12.5vw);
  }
}
.p-requirements-step::before {
  content: "";
  width: 29.4453333333vw;
  height: 17.7093333333vw;
  display: block;
  position: absolute;
  right: -3.3573333333vw;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(../images/requirements/step_fish-sp.png);
}
@media (max-width: 767.98px) {
  .p-requirements-step::before {
    bottom: -23.1146666667vw;
  }
}
@media (min-width: 768px) {
  .p-requirements-step::before {
    width: min(224.12px, 15.5638888889vw);
    height: min(124.88px, 8.6722222222vw);
    top: min(566px, 39.3055555556vw);
    right: max(-90px, -6.25vw);
    background-image: url(../images/requirements/step_fish.png);
  }
}
.p-requirements-step__inner {
  margin-top: 7.2vw;
  width: 100%;
  position: relative;
}
@media (min-width: 768px) {
  .p-requirements-step__inner {
    margin-top: min(86px, 5.9722222222vw);
  }
}
.p-requirements-step__section {
  width: 100%;
  padding-left: 24vw;
  position: relative;
}
@media (min-width: 768px) {
  .p-requirements-step__section {
    padding-left: min(137px, 9.5138888889vw);
  }
}
.p-requirements-step__section + .p-requirements-step__section {
  margin-top: 8vw;
}
@media (min-width: 768px) {
  .p-requirements-step__section + .p-requirements-step__section {
    margin-top: min(68px, 4.7222222222vw);
  }
}
.p-requirements-step__section.is-section1::before, .p-requirements-step__section.is-section2::before {
  content: "";
  width: 0.4vw;
  height: calc(100% + 8vw);
  display: block;
  position: absolute;
  left: 9.0666666667vw;
  background-color: #0191B4;
}
@media (min-width: 768px) {
  .p-requirements-step__section.is-section1::before, .p-requirements-step__section.is-section2::before {
    width: min(1.5px, 0.1041666667vw);
    height: calc(100% + min(68px, 4.7222222222vw));
    left: min(50px, 3.4722222222vw);
  }
}
.p-requirements-step__section.is-section1::after, .p-requirements-step__section.is-section3::after {
  content: "";
  display: block;
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.p-requirements-step__section.is-section1::after {
  width: 11.5493333333vw;
  height: 4.3706666667vw;
  left: -2.2133333333vw;
  top: -4vw;
  rotate: -20deg;
  scale: -1 1;
  background-image: url(../images/common/illust/aji.svg);
}
@media (min-width: 768px) {
  .p-requirements-step__section.is-section1::after {
    width: min(60px, 4.1666666667vw);
    height: min(23.8px, 1.6527777778vw);
    left: max(-17px, -1.1805555556vw);
    top: max(-15px, -1.0416666667vw);
  }
}
.p-requirements-step__section.is-section3::after {
  width: 11.2vw;
  height: 5.9173333333vw;
  left: 8.5333333333vw;
  top: 16.5333333333vw;
  background-image: url(../images/common/illust/ebi.svg);
}
@media (min-width: 768px) {
  .p-requirements-step__section.is-section3::after {
    width: min(54.88px, 3.8111111111vw);
    height: min(29px, 2.0138888889vw);
    left: min(52px, 3.6111111111vw);
    top: min(61px, 4.2361111111vw);
  }
}
.p-requirements-step__title {
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  height: -moz-max-content;
  height: max-content;
  position: relative;
  font-weight: 500;
  line-height: 2;
  font-size: 5.3333333333vw;
  color: #0191B4;
  background-repeat: repeat-x;
  background-position: left bottom;
  background-size: auto 0.5333333333vw;
  background-image: url(../images/about/border.png);
}
@media (min-width: 768px) {
  .p-requirements-step__title {
    font-size: min(28px, 1.9444444444vw);
    background-size: auto 2px;
  }
}
.p-requirements-step__title::before {
  content: "";
  margin: auto;
  width: 18.6666666667vw;
  height: 18.6666666667vw;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -24vw;
  background-repeat: no-repeat;
  background-position: center;
  background-color: #fff;
  background-size: 6.0746666667vw;
  border-radius: 50%;
}
@media (min-width: 768px) {
  .p-requirements-step__title::before {
    width: min(100px, 6.9444444444vw);
    height: min(100px, 6.9444444444vw);
    left: max(-138px, -9.5833333333vw);
    background-size: min(29.45px, 2.0451388889vw);
  }
}
.is-section1 .p-requirements-step__title::before {
  background-image: url(../images/requirements/step_num1.svg);
}
.is-section2 .p-requirements-step__title::before {
  background-image: url(../images/requirements/step_num2.svg);
}
.is-section3 .p-requirements-step__title::before {
  background-image: url(../images/requirements/step_num3.svg);
}
.p-requirements-step__list {
  margin-top: 2.6666666667vw;
  width: 100%;
}
@media (min-width: 768px) {
  .p-requirements-step__list {
    margin-top: min(26px, 1.8055555556vw);
  }
}
.p-requirements-step__item {
  padding-left: 1em;
  position: relative;
}
.p-requirements-step__item::before {
  content: "・";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
}
.p-story::before {
  content: "";
  margin: auto;
  width: 16.5333333333vw;
  height: 13.6186666667vw;
  display: block;
  top: 54.3573333333vw;
  left: 5.4586666667vw;
  position: absolute;
  z-index: 3;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(../images/common/illust/kani.svg);
}
@media (min-width: 768px) {
  .p-story::before {
    width: min(139px, 9.6527777778vw);
    height: min(113.5px, 7.8819444444vw);
    top: min(300px, 20.8333333333vw);
    left: 0;
    right: 0;
    translate: max(-426px, -29.5833333333vw);
  }
}
.p-story .c-container {
  padding-bottom: 48vw;
  background-color: #F4FCFF;
  -webkit-mask-position: 53vw top;
          mask-position: 53vw top;
}
@media (min-width: 768px) {
  .p-story .c-container {
    margin-top: -7.3611111111vw;
    padding-bottom: min(262px, 18.1944444444vw);
    -webkit-mask-position: 54vw top;
            mask-position: 54vw top;
  }
}
.p-story .c-wrap-nav {
  padding-top: 7.2vw;
}
@media (min-width: 768px) {
  .p-story .c-wrap-nav {
    padding-top: min(75px, 5.2083333333vw);
  }
}
.p-story .l-nav {
  z-index: 3;
}
@media (min-width: 768px) {
  .p-story .l-nav {
    width: min(234px, 16.25vw);
    height: calc(100vh - min(200px, 13.8888888889vw));
  }
}
.p-story__inner {
  width: 100%;
  background-color: #fff;
  border-radius: 4.2666666667vw;
}
@media (min-width: 768px) {
  .p-story__inner {
    border-radius: min(20px, 1.3888888889vw);
  }
}
.p-story__box {
  width: 100%;
  padding: 1.184vw 6.4vw 6.4vw;
}
@media (min-width: 768px) {
  .p-story__box {
    padding: 0 min(40px, 2.7777777778vw) min(50px, 3.4722222222vw);
  }
}
.p-story__title {
  width: -moz-max-content;
  width: max-content;
  display: flex;
  flex-direction: column;
  gap: 0vw;
  font-size: 8vw;
  line-height: 2;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #0191B4;
}
@media (min-width: 768px) {
  .p-story__title {
    flex-direction: row;
    align-items: center;
    gap: min(19px, 1.3194444444vw);
    font-size: min(60px, 4.1666666667vw);
    line-height: 1;
  }
}
.p-story__title-img {
  width: 26.0906666667vw;
  height: -moz-max-content;
  height: max-content;
  display: flex;
  align-items: center;
}
@media (min-width: 768px) {
  .p-story__title-img {
    width: min(125.41px, 8.7090277778vw);
  }
}
.p-story__description {
  margin-top: 5.3333333333vw;
  font-weight: 400;
}
@media (min-width: 768px) {
  .p-story__description {
    margin-top: min(30px, 2.0833333333vw);
  }
}
.p-story__explanation {
  margin-top: 5.3333333333vw;
  width: 100%;
}
@media (min-width: 768px) {
  .p-story__explanation {
    margin-top: min(18px, 1.25vw);
  }
}
.p-story__explanation-title {
  font-size: 4.8vw;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #0191B4;
}
@media (min-width: 768px) {
  .p-story__explanation-title {
    font-size: min(22px, 1.5277777778vw);
  }
}
.p-story__explanation-list {
  margin-top: 2.6666666667vw;
  display: flex;
  flex-direction: column;
  gap: 2.6666666667vw;
}
@media (min-width: 768px) {
  .p-story__explanation-list {
    margin-top: min(20px, 1.3888888889vw);
    gap: min(15px, 1.0416666667vw);
  }
}
.p-story__explanation-item {
  width: 100%;
}
.p-story__explanation-subtitle {
  font-size: 4.2666666667vw;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media (min-width: 768px) {
  .p-story__explanation-subtitle {
    font-size: min(18px, 1.25vw);
  }
}
.p-story__explanation-description {
  padding-left: 4.2666666667vw;
  line-height: 2;
  font-weight: 400;
  letter-spacing: 0.05em;
}
@media (min-width: 768px) {
  .p-story__explanation-description {
    padding-left: min(18px, 1.25vw);
  }
}

.p-story-title {
  padding-top: 21.8666666667vw;
  width: 100%;
  text-align: center;
}
@media (min-width: 768px) {
  .p-story-title {
    padding-top: min(174px, 12.0833333333vw);
  }
}
.p-story-title__text {
  margin-left: auto;
  margin-right: auto;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  position: relative;
  font-weight: 500;
  line-height: 1.6;
  color: #006077;
  letter-spacing: 0.05em;
  font-size: 6.9333333333vw;
}
@media (min-width: 768px) {
  .p-story-title__text {
    line-height: 2;
    font-size: min(36px, 2.5vw);
  }
}
.p-story-title__text::before {
  content: "";
  width: 10.6666666667vw;
  height: 10.6666666667vw;
  display: block;
  position: absolute;
  left: -3.7333333333vw;
  top: -3.7333333333vw;
  z-index: -1;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(../images/common/illust/bubble.svg);
}
@media (min-width: 768px) {
  .p-story-title__text::before {
    width: min(70px, 4.8611111111vw);
    height: min(70px, 4.8611111111vw);
    left: max(-31px, -2.1527777778vw);
    top: max(-22px, -1.5277777778vw);
  }
}
.p-story-title__description {
  margin-top: 4.2666666667vw;
  font-size: 4.2666666667vw;
  line-height: 2;
  font-weight: 400;
  letter-spacing: 0.05em;
}
@media (max-width: 767.98px) {
  .p-story-title__description {
    margin-left: auto;
    margin-right: auto;
    width: 89.3333333333vw;
    text-align: left;
  }
}
@media (min-width: 768px) {
  .p-story-title__description {
    margin-top: min(23px, 1.5972222222vw);
    font-size: min(18px, 1.25vw);
  }
}

.p-story-nav {
  width: 100%;
}
.p-story-nav__list {
  display: flex;
}
@media (max-width: 767.98px) {
  .p-story-nav__list {
    flex-wrap: wrap;
    gap: 2.6666666667vw 0;
  }
}
@media (min-width: 768px) {
  .p-story-nav__list {
    gap: min(34px, 2.3611111111vw);
    flex-direction: column;
  }
}
.p-story-nav__item {
  width: 50%;
  position: relative;
  display: flex;
  align-items: center;
  gap: 2.1333333333vw;
}
@media (min-width: 768px) {
  .p-story-nav__item {
    width: 100%;
    gap: min(14px, 0.9722222222vw);
  }
}
.p-story-nav__item::before {
  content: "";
  width: 9.3333333333vw;
  height: 9.3333333333vw;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media (max-width: 767.98px) {
  .p-story-nav__item::before {
    margin-right: 1vw;
  }
}
@media (min-width: 768px) {
  .p-story-nav__item::before {
    width: min(70px, 4.8611111111vw);
    height: min(70px, 4.8611111111vw);
  }
}
.p-story-nav__item.is-item1::before {
  background-image: url(../images//story/icon_product1.png);
}
.p-story-nav__item.is-item2::before {
  background-image: url(../images//story/icon_product2.png);
}
.p-story-nav__item.is-item3::before {
  background-image: url(../images//story/icon_product3.png);
}
.p-story-nav__item.is-item4::before {
  background-image: url(../images//story/icon_product4.png);
}
.p-story-nav__item.is-item5::before {
  background-image: url(../images//story/icon_product5.png);
}
@media (max-width: 767.98px) {
  .p-story-nav__item::after {
    content: "";
    margin: auto;
    width: 3.4186666667vw;
    height: 2.088vw;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 2.6666666667vw;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url(../images/common/icon-anchor2.svg);
  }
}
.p-story-nav__link {
  display: flex;
  align-items: center;
  gap: 1.0666666667vw;
  position: relative;
  font-size: 4.2666666667vw;
  color: #0191B4;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media (min-width: 768px) {
  .p-story-nav__link {
    flex: 1;
    padding-left: min(26px, 1.8055555556vw);
    min-height: min(70px, 4.8611111111vw);
    gap: min(4px, 0.2777777778vw);
    font-size: min(20px, 1.3888888889vw);
  }
}
.p-story-nav__link::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.is-item1 .p-story-nav__link::before {
  width: 7.4586666667vw;
  height: 4.1093333333vw;
}
@media (min-width: 768px) {
  .is-item1 .p-story-nav__link::before {
    width: min(34.19px, 2.3743055556vw);
    height: min(18.83px, 1.3076388889vw);
  }
}
.is-item2 .p-story-nav__link::before {
  width: 8.936vw;
  height: 4.1146666667vw;
}
@media (min-width: 768px) {
  .is-item2 .p-story-nav__link::before {
    width: min(38.76px, 2.6916666667vw);
    height: min(18.85px, 1.3090277778vw);
  }
}
.is-item3 .p-story-nav__link::before {
  width: 8.6933333333vw;
  height: 4.1093333333vw;
}
@media (min-width: 768px) {
  .is-item3 .p-story-nav__link::before {
    width: min(37.64px, 2.6138888889vw);
    height: min(18.83px, 1.3076388889vw);
  }
}
.is-item4 .p-story-nav__link::before {
  width: 8.8613333333vw;
  height: 4.1093333333vw;
}
@media (min-width: 768px) {
  .is-item4 .p-story-nav__link::before {
    width: min(38.41px, 2.6673611111vw);
    height: min(18.83px, 1.3076388889vw);
  }
}
.is-item5 .p-story-nav__link::before {
  width: 8.744vw;
  height: 4.1093333333vw;
}
@media (min-width: 768px) {
  .is-item5 .p-story-nav__link::before {
    width: min(37.88px, 2.6305555556vw);
    height: min(18.83px, 1.3076388889vw);
  }
}
.is-item1 .p-story-nav__link::before {
  background-image: url(../images/story/text_01.svg);
}
.is-item2 .p-story-nav__link::before {
  background-image: url(../images/story/text_02.svg);
}
.is-item3 .p-story-nav__link::before {
  background-image: url(../images/story/text_03.svg);
}
.is-item4 .p-story-nav__link::before {
  background-image: url(../images/story/text_04.svg);
}
.is-item5 .p-story-nav__link::before {
  background-image: url(../images/story/text_05.svg);
}
.is-active .p-story-nav__link::after {
  content: "";
  margin: auto;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  background-color: #0191B4;
  border-radius: 50%;
}
@media (min-width: 768px) {
  .is-active .p-story-nav__link::after {
    width: min(8px, 0.5555555556vw);
    height: min(8px, 0.5555555556vw);
    left: min(3px, 0.2083333333vw);
  }
}

.p-story-flow {
  margin-top: 38.1333333333vw;
  position: relative;
}
@media (min-width: 768px) {
  .p-story-flow {
    margin-top: min(186px, 12.9166666667vw);
  }
}
.p-story-flow::before {
  content: "";
  margin: auto;
  width: 24.1706666667vw;
  height: 19.7493333333vw;
  display: block;
  position: absolute;
  right: 3.1813333333vw;
  top: -27.9386666667vw;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(../images/common/illust/tako.svg);
  rotate: 11.4deg;
}
@media (min-width: 768px) {
  .p-story-flow::before {
    width: min(167.85px, 11.65625vw);
    height: min(137.15px, 9.5243055556vw);
    right: max(-34.29px, -2.38125vw);
    top: max(-41.36px, -2.8722222222vw);
    rotate: 17.06deg;
  }
}
.p-story-flow__card {
  margin-top: 7.4666666667vw;
  width: 100%;
  padding: 6.4vw 6.4vw 6.4vw 3.7333333333vw;
  display: block;
  background-color: #fff;
  border-radius: 4.2666666667vw;
}
@media (min-width: 768px) {
  .p-story-flow__card {
    margin-top: min(65px, 4.5138888889vw);
    padding: min(40px, 2.7777777778vw);
    border-radius: min(20px, 1.3888888889vw);
  }
}
.p-story-flow__inner {
  width: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
  gap: 4.2666666667vw;
}
@media (max-width: 767.98px) {
  .p-story-flow__inner {
    padding-left: 17.0666666667vw;
  }
}
@media (min-width: 768px) {
  .p-story-flow__inner {
    flex-direction: row;
    gap: min(30px, 2.0833333333vw);
  }
}
.p-story-flow__inner + .p-story-flow__inner {
  margin-top: 8vw;
}
@media (min-width: 768px) {
  .p-story-flow__inner + .p-story-flow__inner {
    margin-top: min(60px, 4.1666666667vw);
  }
}
.p-story-flow__card .p-story-flow__inner:not(:last-child)::before {
  content: "";
  width: 0.4vw;
  height: calc(100% + 8vw - 13.3333333333vw);
  display: block;
  position: absolute;
  left: 6.6666666667vw;
  top: 13.3333333333vw;
  background-color: #0191B4;
}
@media (min-width: 768px) {
  .p-story-flow__card .p-story-flow__inner:not(:last-child)::before {
    width: min(1.5px, 0.1041666667vw);
    height: calc(100% + min(60px, 4.1666666667vw) - min(70px, 4.8611111111vw));
    left: min(34px, 2.3611111111vw);
    top: min(70px, 4.8611111111vw);
  }
}
.p-story-flow__nth {
  width: 13.3333333333vw;
}
@media (max-width: 767.98px) {
  .p-story-flow__nth {
    position: absolute;
    top: 0;
    left: 0;
  }
}
@media (min-width: 768px) {
  .p-story-flow__nth {
    width: min(70px, 4.8611111111vw);
  }
}
.p-story-flow__box {
  width: 100%;
}
@media (min-width: 768px) {
  .p-story-flow__box {
    flex: 1;
    padding-right: min(6px, 0.4166666667vw);
  }
}
@media (min-width: 768px) {
  .p-story-flow__inner:has(.p-story-flow__img) .p-story-flow__box {
    max-width: min(359px, 24.9305555556vw);
  }
}
.p-story-flow__img-list {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1.6vw;
}
@media (min-width: 768px) {
  .p-story-flow__img-list {
    width: min(330px, 22.9166666667vw);
    gap: min(10px, 0.6944444444vw);
  }
}
.p-story-flow__title {
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  padding-bottom: 1.0666666667vw;
  color: #0191B4;
  font-size: 5.3333333333vw;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.05em;
  background-repeat: repeat-x;
  background-position: left bottom;
  background-size: auto 0.4vw;
  background-image: url(../images/about/border.svg);
}
@media (min-width: 768px) {
  .p-story-flow__title {
    padding-bottom: min(5px, 0.3472222222vw);
    font-size: min(28px, 1.9444444444vw);
    background-size: auto min(1.5px, 0.1041666667vw);
  }
}
.p-story-flow .c-text {
  margin-top: 2.6666666667vw;
  font-weight: 400;
}
@media (min-width: 768px) {
  .p-story-flow .c-text {
    margin-top: min(23px, 1.5972222222vw);
  }
}

.p-story-other {
  margin-top: 34.6666666667vw;
  width: 100%;
}
@media (min-width: 768px) {
  .p-story-other {
    margin-top: min(183px, 12.7083333333vw);
  }
}
.p-story-other__card {
  margin-top: 6.4vw;
  width: 100%;
  padding: 6.4vw;
  background-color: #fff;
  border-radius: 4.2666666667vw;
}
@media (min-width: 768px) {
  .p-story-other__card {
    margin-top: min(58px, 4.0277777778vw);
    padding: min(30px, 2.0833333333vw) min(40px, 2.7777777778vw);
    border-radius: min(6px, 0.4166666667vw);
  }
}
.p-story-other .p-story__text {
  font-size: 4.2666666667vw;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media (min-width: 768px) {
  .p-story-other .p-story__text {
    font-size: min(18px, 1.25vw);
  }
}

.p-single {
  width: 100%;
  background-color: #F4FCFF;
}
.p-single .c-container {
  padding-bottom: 53.3333333333vw;
}
@media (min-width: 768px) {
  .p-single .c-container {
    padding-bottom: min(300px, 20.8333333333vw);
  }
}
.p-single .c-container .c-button.is-back {
  margin-top: 10.72vw;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 768px) {
  .p-single .c-container .c-button.is-back {
    margin-top: min(80px, 5.5555555556vw);
  }
}
.p-single .l-list {
  margin-top: 34.6666666667vw;
  padding-bottom: 48vw;
}
@media (min-width: 768px) {
  .p-single .l-list {
    margin-top: min(181px, 12.5694444444vw);
    padding-bottom: min(350px, 24.3055555556vw);
  }
}
.p-single__text {
  margin-top: 5.3333333333vw;
}
@media (min-width: 768px) {
  .p-single__text {
    margin-top: min(30px, 2.0833333333vw);
  }
}
.p-single .wp-block-buttons {
  margin-left: auto;
  margin-right: auto;
  margin-top: 10.6666666667vw;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  flex-wrap: wrap;
  justify-content: center;
}
@media (min-width: 768px) {
  .p-single .wp-block-buttons {
    margin-top: min(90px, 6.25vw);
  }
}
.p-single .wp-block-buttons .wp-block-button {
  margin: 0;
}
.p-single .wp-block-image img {
  overflow: hidden;
  border-radius: 4.2666666667vw;
}
@media (min-width: 768px) {
  .p-single .wp-block-image img {
    border-radius: min(20px, 1.3888888889vw);
  }
}
.p-single .wp-block-image .wp-element-caption {
  font-size: 3.2vw;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media (min-width: 768px) {
  .p-single .wp-block-image .wp-element-caption {
    font-size: min(13px, 0.9027777778vw);
  }
}

.p-single-index {
  margin-left: auto;
  margin-right: auto;
  width: 89.3333333333vw;
  padding-top: 32vw;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 2;
  gap: 13.3333333333vw;
}
@media (min-width: 768px) {
  .p-single-index {
    width: min(1240px, 86.1111111111vw);
    padding-top: min(272px, 18.8888888889vw);
    flex-direction: row;
    gap: min(89px, 6.1805555556vw);
  }
}
@media (min-width: 768px) {
  .p-single-index__box {
    width: min(340px, 23.6111111111vw);
  }
}
.p-single-index__title {
  width: 100%;
  padding-bottom: 5.3333333333vw;
  display: block;
  color: #006077;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.05em;
  font-size: 5.3333333333vw;
  border-bottom: 1px solid #0191B4;
}
@media (min-width: 768px) {
  .p-single-index__title {
    padding-bottom: min(24px, 1.6666666667vw);
    font-size: min(28px, 1.9444444444vw);
  }
}
.p-single-index__subtitle {
  margin-top: 5.3333333333vw;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.05em;
  color: #006077;
  font-size: 4.8vw;
}
@media (min-width: 768px) {
  .p-single-index__subtitle {
    margin-top: min(30px, 2.0833333333vw);
    font-size: min(24px, 1.6666666667vw);
  }
}
.p-single-index__list {
  margin-top: 1.8666666667vw;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 1.3333333333vw 5.3333333333vw;
}
@media (min-width: 768px) {
  .p-single-index__list {
    margin-top: min(30px, 2.0833333333vw);
    flex-direction: column;
    gap: min(20px, 1.3888888889vw);
  }
}
@media (max-width: 767.98px) {
  .p-single-index__item {
    width: -moz-max-content;
    width: max-content;
    display: flex;
    align-items: center;
    gap: 2.6666666667vw;
  }
}
.p-single-index__year {
  letter-spacing: 0.05em;
  line-height: 1.6;
  font-size: 3.2vw;
}
@media (min-width: 768px) {
  .p-single-index__year {
    font-size: min(14px, 0.9722222222vw);
  }
}
.p-single-index__name {
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.05em;
  font-size: 4.2666666667vw;
}
@media (min-width: 768px) {
  .p-single-index__name {
    font-size: min(20px, 1.3888888889vw);
  }
}
.p-single-index__img {
  width: 100%;
  overflow: hidden;
  border-radius: 4.2666666667vw;
}
@media (min-width: 768px) {
  .p-single-index__img {
    width: min(810px, 56.25vw);
    border-radius: min(20px, 1.3888888889vw);
  }
}
.p-single-index__thumb {
  width: 100%;
}
.p-single-index__button {
  width: 100%;
  height: 46.6666666667vw;
  overflow: hidden;
  border-radius: 4.2666666667vw;
}
@media (min-width: 768px) {
  .p-single-index__button {
    width: min(810px, 56.25vw);
    height: min(468px, 32.5vw);
    border-radius: min(20px, 1.3888888889vw);
  }
}
.p-single-index__button img,
.p-single-index__button iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.p-single-index__button * {
  transition: all 0.2s ease-out;
}
@media (min-width: 768px) {
  .p-single-index__button:hover img {
    scale: 1.05;
  }
  .p-single-index__button:hover::before {
    background-position: 0% center;
  }
}

.p-single-article {
  margin-top: 13.3333333333vw;
  margin-left: auto;
  margin-right: auto;
  width: 89.3333333333vw;
}
@media (min-width: 768px) {
  .p-single-article {
    margin-top: min(90px, 6.25vw);
    width: min(900px, 62.5vw);
  }
}
.p-single-article__title {
  color: #006077;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.05em;
  font-size: 5.3333333333vw;
}
@media (min-width: 768px) {
  .p-single-article__title {
    font-size: min(28px, 1.9444444444vw);
  }
}
.p-single-article .wp-block-button {
  margin-left: auto;
  margin-right: auto;
  margin-top: 10.6666666667vw;
}
@media (min-width: 768px) {
  .p-single-article .wp-block-button {
    margin-top: min(90px, 6.25vw);
  }
}

.p-single-section {
  width: 100%;
  position: relative;
  display: block;
  font-weight: 400;
  letter-spacing: 0.05em;
}
.p-single-section__title {
  color: #006077;
  line-height: 1.6;
  font-weight: 500;
  font-size: 5.3333333333vw;
}
@media (min-width: 768px) {
  .p-single-section__title {
    font-size: min(24px, 1.6666666667vw);
  }
}
*:not(.p-single__text) + .p-single-section__title {
  margin-top: 10.6666666667vw;
}
@media (min-width: 768px) {
  *:not(.p-single__text) + .p-single-section__title {
    margin-top: min(90px, 6.25vw);
  }
}
.p-single-section__text {
  margin-top: 4.2666666667vw;
  line-height: 2;
  font-size: 3.7333333333vw;
}
@media (min-width: 768px) {
  .p-single-section__text {
    margin-top: min(24px, 1.6666666667vw);
    font-size: min(16px, 1.1111111111vw);
  }
}
.p-single-section__img {
  margin-top: 13.3333333333vw;
  width: 100%;
  height: -moz-max-content;
  height: max-content;
  display: block;
}
@media (min-width: 768px) {
  .p-single-section__img {
    margin-top: min(100px, 6.9444444444vw);
  }
}
.p-single-section__img img {
  width: 100%;
  height: -moz-max-content;
  height: max-content;
  display: block;
  overflow: hidden;
  border-radius: 4.2666666667vw;
}
@media (min-width: 768px) {
  .p-single-section__img img {
    border-radius: min(20px, 1.3888888889vw);
  }
}
.p-single-section__img .p-single-section__caption {
  margin-top: 2.1333333333vw;
}
@media (min-width: 768px) {
  .p-single-section__img .p-single-section__caption {
    margin-top: min(12px, 0.8333333333vw);
  }
}
.p-single-section__caption {
  line-height: 2;
  font-size: 3.2vw;
}
@media (min-width: 768px) {
  .p-single-section__caption {
    font-size: min(13px, 0.9027777778vw);
  }
}
.p-single-section__img-column {
  margin-top: 13.3333333333vw;
  width: 69.3333333333vw;
  display: flex;
  flex-direction: column;
  gap: 5.3333333333vw;
}
@media (max-width: 767.98px) {
  .p-single-section__img-column {
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 768px) {
  .p-single-section__img-column {
    margin-top: min(100px, 6.9444444444vw);
    width: 100%;
    flex-direction: row;
    gap: min(20px, 1.3888888889vw);
  }
}
.p-single-section__img-column > * {
  margin-top: 0;
}
@media (min-width: 768px) {
  .p-single-section__img-column > * {
    width: calc(50% - min(10px, 0.6944444444vw));
  }
}

.p-single-movie__content {
  margin: auto;
  width: 100%;
  height: 100vh;
  position: fixed;
  inset: 0;
  z-index: -1;
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  background-color: #0191B4;
  transition: all 0.2s ease-out;
}
.p-single-movie__content::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  inset: 0;
  background-repeat: repeat;
  background-image: url(../images/common/noise.svg);
  mix-blend-mode: multiply;
}
.p-single-movie__content.is-active {
  opacity: 1;
  z-index: 1002;
  pointer-events: auto;
  visibility: visible;
}
.p-single-movie__inner {
  margin: auto;
  width: min(1440px, 100vw);
  max-width: 100%;
  height: -moz-max-content;
  height: max-content;
  display: block;
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 768px) {
  .p-single-movie__inner {
    max-width: min(100vh, 90%);
  }
}
.p-single-movie__inner::before {
  content: "";
  width: 7.4666666667vw;
  height: 7.4666666667vw;
  display: block;
  position: absolute;
  top: -12.5333333333vw;
  right: 5.8666666667vw;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: url(../images/common/icon_close.svg);
          mask-image: url(../images/common/icon_close.svg);
  background-color: #fff;
  cursor: pointer;
  transition: all 0.2s ease-out;
}
@media (min-width: 768px) {
  .p-single-movie__inner::before {
    width: min(34.6px, 2.4027777778vw);
    height: min(34.6px, 2.4027777778vw);
    top: max(-64.6px, -4.4861111111vw);
    right: 0;
  }
  .p-single-movie__inner::before:hover {
    background-color: rgba(255, 255, 255, 0.3);
  }
}
.p-single-movie__video {
  width: 100%;
  aspect-ratio: 16/9;
}
.p-single-movie__video iframe {
  margin: auto;
  width: 100%;
  height: 100%;
}

.p-archive::before {
  content: "";
  margin: auto;
  width: 16.5333333333vw;
  height: 13.6186666667vw;
  display: block;
  top: 54.3573333333vw;
  left: 5.4586666667vw;
  position: absolute;
  z-index: 3;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(../images/common/illust/kani.svg);
}
@media (min-width: 768px) {
  .p-archive::before {
    width: min(139px, 9.6527777778vw);
    height: min(113.5px, 7.8819444444vw);
    top: min(300px, 20.8333333333vw);
    left: 0;
    right: 0;
    translate: max(-426px, -29.5833333333vw);
  }
}
html:has(.p-archive) {
  scroll-padding-top: 26.6666666667vw;
}
@media (min-width: 768px) {
  html:has(.p-archive) {
    scroll-padding-top: min(0px, 0vw);
  }
}
.p-archive .c-container {
  padding-bottom: 48vw;
  background-color: #F4FCFF;
  -webkit-mask-position: 53vw top;
          mask-position: 53vw top;
}
@media (max-width: 767.98px) {
  .p-archive .c-container {
    padding-top: 16.8vw;
  }
}
@media (min-width: 768px) {
  .p-archive .c-container {
    margin-top: -7.3611111111vw;
    padding-bottom: min(262px, 18.1944444444vw);
    -webkit-mask-position: 54vw top;
            mask-position: 54vw top;
  }
}
.p-archive .l-list {
  margin-top: 0;
}
@media (min-width: 768px) {
  .p-archive .l-list {
    padding-top: min(175px, 12.1527777778vw);
  }
}
@media (max-width: 767.98px) {
  .p-archive .l-list__title {
    line-height: 1.8;
  }
}
@media (min-width: 768px) {
  .p-archive .l-list__column {
    margin-top: min(50px, 3.4722222222vw);
  }
}
@media (max-width: 767.98px) {
  .p-archive :where(.is-careerstory).l-list {
    margin-top: 13.3333333333vw;
  }
}
@media (max-width: 767.98px) {
  .p-archive :where(.is-toprunner).l-list {
    padding-top: 0vw;
    margin-top: 38.9333333333vw;
  }
}
@media (min-width: 768px) {
  .p-archive :where(.is-toprunner).l-list {
    padding-top: min(135px, 9.375vw);
    margin-top: min(50px, 3.4722222222vw);
  }
}
.p-archive :where(.is-toprunner).l-list::before {
  content: "";
  width: 32.5173333333vw;
  height: 18.72vw;
  display: block;
  position: absolute;
  right: -3vw;
  top: -20.2266666667vw;
  background-image: url(../images/common/illust/maguro.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  scale: -1 1;
  rotate: 14.8deg;
}
@media (min-width: 768px) {
  .p-archive :where(.is-toprunner).l-list::before {
    width: min(225.82px, 15.6819444444vw);
    height: min(130px, 9.0277777778vw);
    right: max(-76.68px, -5.325vw);
    top: max(-63.32px, -4.3972222222vw);
  }
}
.p-archive :where(.is-toprunner) .l-list__column::before {
  width: 18.1013333333vw;
  height: 18.0613333333vw;
  top: -7.008vw;
  left: -11.0933333333vw;
  background-image: url(../images/archive/list_fish2.svg);
}
@media (min-width: 768px) {
  .p-archive :where(.is-toprunner) .l-list__column::before {
    width: min(113.12px, 7.8555555556vw);
    height: min(112.88px, 7.8388888889vw);
    top: max(-41px, -2.8472222222vw);
    left: max(-83px, -5.7638888889vw);
  }
}
.p-archive :where(.is-toprunner) .l-list__column .l-list__item:nth-child(4)::before {
  content: "";
  width: 26.856vw;
  height: 21.944vw;
  display: block;
  position: absolute;
  bottom: -0.6506666667vw;
  right: -12.3386666667vw;
  z-index: 2;
  rotate: -14.21deg;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(../images/common/illust/tako.svg);
}
@media (min-width: 768px) {
  .p-archive :where(.is-toprunner) .l-list__column .l-list__item:nth-child(4)::before {
    width: min(167.85px, 11.65625vw);
    height: min(137.15px, 9.5243055556vw);
    bottom: max(-11.77px, -0.8173611111vw);
    right: max(-83.91px, -5.8270833333vw);
  }
}

.p-archive-button {
  margin-top: 26.6666666667vw;
  margin-left: auto;
  margin-right: auto;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  text-align: center;
}
@media (min-width: 768px) {
  .p-archive-button {
    margin-top: min(100px, 6.9444444444vw);
  }
}
.p-archive-button .c-button {
  width: 100%;
  height: 16vw;
  font-size: 4.2666666667vw;
  padding-right: 13.3333333333vw;
  border-radius: 8vw;
}
@media (min-width: 768px) {
  .p-archive-button .c-button {
    height: min(80px, 5.5555555556vw);
    font-size: min(20px, 1.3888888889vw);
    padding-right: min(70px, 4.8611111111vw);
    border-radius: min(40px, 2.7777777778vw);
  }
}

.p-404::before {
  content: "";
  margin: auto;
  width: 16.5333333333vw;
  height: 13.6186666667vw;
  display: block;
  top: 54.3573333333vw;
  left: 5.4586666667vw;
  position: absolute;
  z-index: 3;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(../images/common/illust/kani.svg);
}
@media (min-width: 768px) {
  .p-404::before {
    width: min(139px, 9.6527777778vw);
    height: min(113.5px, 7.8819444444vw);
    top: min(300px, 20.8333333333vw);
    left: 0;
    right: 0;
    translate: max(-426px, -29.5833333333vw);
  }
}
.p-404 .c-container {
  padding-top: 21.8666666667vw;
  padding-bottom: 48vw;
  background-color: #F4FCFF;
  -webkit-mask-position: 53vw top;
          mask-position: 53vw top;
}
@media (min-width: 768px) {
  .p-404 .c-container {
    margin-top: -7.3611111111vw;
    padding-top: min(180px, 12.5vw);
    padding-bottom: min(262px, 18.1944444444vw);
    -webkit-mask-position: 54vw top;
            mask-position: 54vw top;
  }
}
.p-404__inner {
  margin-left: auto;
  margin-right: auto;
  width: 89.3333333333vw;
}
.p-404__title {
  max-width: 100%;
  position: relative;
  font-weight: 500;
  line-height: 1.6;
  color: #006077;
  font-size: 6.9333333333vw;
}
@media (min-width: 768px) {
  .p-404__title {
    margin-left: auto;
    margin-right: auto;
    width: -moz-max-content;
    width: max-content;
    line-height: 2;
    font-size: min(36px, 2.5vw);
  }
}
.p-404__title::before {
  content: "";
  width: 10.6666666667vw;
  height: 10.6666666667vw;
  display: block;
  position: absolute;
  left: -3.7333333333vw;
  top: -3.7333333333vw;
  z-index: -1;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(../images/common/illust/bubble.svg);
}
@media (min-width: 768px) {
  .p-404__title::before {
    width: min(70px, 4.8611111111vw);
    height: min(70px, 4.8611111111vw);
    left: max(-31px, -2.1527777778vw);
    top: max(-22px, -1.5277777778vw);
  }
}
.p-404__description {
  margin-top: 4.2666666667vw;
  font-weight: 400;
  line-height: 2;
  font-size: 4.2666666667vw;
}
@media (min-width: 768px) {
  .p-404__description {
    margin-top: min(23px, 1.5972222222vw);
    text-align: center;
    font-size: min(18px, 1.25vw);
  }
}
.p-404 .c-button {
  margin-top: 10.6666666667vw;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 768px) {
  .p-404 .c-button {
    margin-top: min(69px, 4.7916666667vw);
  }
}

/*--------------------------------------*
 * helper
 *--------------------------------------*/
.has-black-background-color {
  background-color: #000;
}

.has-black-color {
  color: #000;
}

.has-red-background-color {
  background-color: #FF0404;
}

.has-red-color {
  color: #FF0404;
}

.has-green-background-color {
  background-color: #287547;
}

.has-green-color {
  color: #287547;
}

.has-light-green-background-color {
  background-color: #35A662;
}

.has-light-green-color {
  color: #35A662;
}

.has-white-background-color {
  background-color: #FFF;
}

.has-white-color {
  color: #FFF;
}

.grid {
  display: grid;
  gap: 8vw;
}
@media (min-width: 768px) {
  .grid {
    gap: 30px;
  }
}

.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.grid-cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

@media (min-width: 768px) {
  .pc-grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 768px) {
  .pc-grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .sp-grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .sp-grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.gap-0 {
  gap: 0vw;
}
@media (min-width: 768px) {
  .gap-0 {
    gap: 0px;
  }
}

@media (min-width: 768px) {
  .pc-gap-0 {
    gap: 0px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-0 {
    gap: 0vw !important;
  }
}

.gap-x-0x {
  -moz-column-gap: 0vw;
       column-gap: 0vw;
}
@media (min-width: 768px) {
  .gap-x-0x {
    -moz-column-gap: 0px;
         column-gap: 0px;
  }
}

@media (min-width: 768px) {
  .pc-gap-x-0 {
    -moz-column-gap: 0px !important;
         column-gap: 0px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-x-0 {
    -moz-column-gap: 0vw !important;
         column-gap: 0vw !important;
  }
}

.gap-10 {
  gap: 2.6666666667vw;
}
@media (min-width: 768px) {
  .gap-10 {
    gap: 10px;
  }
}

@media (min-width: 768px) {
  .pc-gap-10 {
    gap: 10px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-10 {
    gap: 2.6666666667vw !important;
  }
}

.gap-x-10x {
  -moz-column-gap: 2.6666666667vw;
       column-gap: 2.6666666667vw;
}
@media (min-width: 768px) {
  .gap-x-10x {
    -moz-column-gap: 10px;
         column-gap: 10px;
  }
}

@media (min-width: 768px) {
  .pc-gap-x-10 {
    -moz-column-gap: 10px !important;
         column-gap: 10px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-x-10 {
    -moz-column-gap: 2.6666666667vw !important;
         column-gap: 2.6666666667vw !important;
  }
}

.gap-20 {
  gap: 5.3333333333vw;
}
@media (min-width: 768px) {
  .gap-20 {
    gap: 20px;
  }
}

@media (min-width: 768px) {
  .pc-gap-20 {
    gap: 20px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-20 {
    gap: 5.3333333333vw !important;
  }
}

.gap-x-20x {
  -moz-column-gap: 5.3333333333vw;
       column-gap: 5.3333333333vw;
}
@media (min-width: 768px) {
  .gap-x-20x {
    -moz-column-gap: 20px;
         column-gap: 20px;
  }
}

@media (min-width: 768px) {
  .pc-gap-x-20 {
    -moz-column-gap: 20px !important;
         column-gap: 20px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-x-20 {
    -moz-column-gap: 5.3333333333vw !important;
         column-gap: 5.3333333333vw !important;
  }
}

.gap-30 {
  gap: 8vw;
}
@media (min-width: 768px) {
  .gap-30 {
    gap: 30px;
  }
}

@media (min-width: 768px) {
  .pc-gap-30 {
    gap: 30px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-30 {
    gap: 8vw !important;
  }
}

.gap-x-30x {
  -moz-column-gap: 8vw;
       column-gap: 8vw;
}
@media (min-width: 768px) {
  .gap-x-30x {
    -moz-column-gap: 30px;
         column-gap: 30px;
  }
}

@media (min-width: 768px) {
  .pc-gap-x-30 {
    -moz-column-gap: 30px !important;
         column-gap: 30px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-x-30 {
    -moz-column-gap: 8vw !important;
         column-gap: 8vw !important;
  }
}

.gap-40 {
  gap: 10.6666666667vw;
}
@media (min-width: 768px) {
  .gap-40 {
    gap: 40px;
  }
}

@media (min-width: 768px) {
  .pc-gap-40 {
    gap: 40px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-40 {
    gap: 10.6666666667vw !important;
  }
}

.gap-x-40x {
  -moz-column-gap: 10.6666666667vw;
       column-gap: 10.6666666667vw;
}
@media (min-width: 768px) {
  .gap-x-40x {
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
}

@media (min-width: 768px) {
  .pc-gap-x-40 {
    -moz-column-gap: 40px !important;
         column-gap: 40px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-x-40 {
    -moz-column-gap: 10.6666666667vw !important;
         column-gap: 10.6666666667vw !important;
  }
}

.gap-50 {
  gap: 13.3333333333vw;
}
@media (min-width: 768px) {
  .gap-50 {
    gap: 50px;
  }
}

@media (min-width: 768px) {
  .pc-gap-50 {
    gap: 50px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-50 {
    gap: 13.3333333333vw !important;
  }
}

.gap-x-50x {
  -moz-column-gap: 13.3333333333vw;
       column-gap: 13.3333333333vw;
}
@media (min-width: 768px) {
  .gap-x-50x {
    -moz-column-gap: 50px;
         column-gap: 50px;
  }
}

@media (min-width: 768px) {
  .pc-gap-x-50 {
    -moz-column-gap: 50px !important;
         column-gap: 50px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-x-50 {
    -moz-column-gap: 13.3333333333vw !important;
         column-gap: 13.3333333333vw !important;
  }
}

.gap-60 {
  gap: 16vw;
}
@media (min-width: 768px) {
  .gap-60 {
    gap: 60px;
  }
}

@media (min-width: 768px) {
  .pc-gap-60 {
    gap: 60px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-60 {
    gap: 16vw !important;
  }
}

.gap-x-60x {
  -moz-column-gap: 16vw;
       column-gap: 16vw;
}
@media (min-width: 768px) {
  .gap-x-60x {
    -moz-column-gap: 60px;
         column-gap: 60px;
  }
}

@media (min-width: 768px) {
  .pc-gap-x-60 {
    -moz-column-gap: 60px !important;
         column-gap: 60px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-gap-x-60 {
    -moz-column-gap: 16vw !important;
         column-gap: 16vw !important;
  }
}

/* display
========================================================================== */
.none {
  display: none !important;
}

.block {
  display: block !important;
}

@media (min-width: 768px) {
  .pc-block {
    display: block !important;
  }
}

@media (max-width: 767.98px) {
  .sp-block {
    display: block !important;
  }
}

.inline {
  display: inline !important;
}

.inline-block {
  display: inline-block !important;
}

@media (min-width: 768px) {
  .pc-table-cell {
    display: table-cell !important;
  }
}

.flex {
  display: flex !important;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

/* width
========================================================================== */
.w-0p {
  width: 0% !important;
}

.w-5p {
  width: 5% !important;
}

.w-10p {
  width: 10% !important;
}

.w-15p {
  width: 15% !important;
}

.w-20p {
  width: 20% !important;
}

.w-25p {
  width: 25% !important;
}

.w-30p {
  width: 30% !important;
}

.w-35p {
  width: 35% !important;
}

.w-40p {
  width: 40% !important;
}

.w-45p {
  width: 45% !important;
}

.w-50p {
  width: 50% !important;
}

.w-55p {
  width: 55% !important;
}

.w-60p {
  width: 60% !important;
}

.w-65p {
  width: 65% !important;
}

.w-70p {
  width: 70% !important;
}

.w-75p {
  width: 75% !important;
}

.w-80p {
  width: 80% !important;
}

.w-85p {
  width: 85% !important;
}

.w-90p {
  width: 90% !important;
}

.w-95p {
  width: 95% !important;
}

.w-100p {
  width: 100% !important;
}

.w-max {
  width: 100%;
}

.w-full {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
}

.max-w-886 {
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto;
}

/* centering
========================================================================== */
.centering {
  margin-right: auto;
  margin-left: auto;
}

/* text
========================================================================== */
.text-left {
  text-align: left !important;
}

.text-center {
  text-align: center !important;
}

.text-right {
  text-align: right !important;
}

.text-justify {
  text-align: justify !important;
}

.uppearcase {
  text-transform: uppercase;
}

.nowrap {
  white-space: nowrap;
}

.text-indent {
  text-indent: -1.5em;
  padding-left: 1.5em;
}

/* bg
========================================================================== */
.border-none {
  border: none !important;
}

.border-bottom-none {
  border-bottom: none !important;
}

/* PC
========================================================================== */
@media (max-width: 767.98px) {
  .pc-only {
    display: none !important;
  }
}

/* SP
========================================================================== */
@media (min-width: 768px) {
  .sp-only {
    display: none !important;
  }
}

/* padding margin
========================================================================== */
.px-0 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.m-0 {
  margin: 0vw !important;
}
@media (min-width: 768px) {
  .m-0 {
    margin: 0px !important;
  }
}

.mt-0 {
  margin-top: 0vw !important;
}
@media (min-width: 768px) {
  .mt-0 {
    margin-top: 0px !important;
  }
}

.mb-0 {
  margin-bottom: 0vw !important;
}
@media (min-width: 768px) {
  .mb-0 {
    margin-bottom: 0px !important;
  }
}

.ml-0 {
  margin-left: 0vw !important;
}
@media (min-width: 768px) {
  .ml-0 {
    margin-left: 0px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-0 {
    margin-top: 0px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-0 {
    margin-bottom: 0px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-0 {
    margin-top: 0vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-0 {
    margin-bottom: 0vw !important;
  }
}

.p-0 {
  padding: 0vw !important;
}
@media (min-width: 768px) {
  .p-0 {
    padding: 0px !important;
  }
}

.pt-0 {
  padding-top: 0vw !important;
}
@media (min-width: 768px) {
  .pt-0 {
    padding-top: 0px !important;
  }
}

.pb-0 {
  padding-bottom: 0vw !important;
}
@media (min-width: 768px) {
  .pb-0 {
    padding-bottom: 0px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-0 {
    padding-top: 0px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-0 {
    padding-bottom: 0px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-0 {
    padding-top: 0vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-0 {
    padding-bottom: 0vw !important;
  }
}

.m-10 {
  margin: 2.6666666667vw !important;
}
@media (min-width: 768px) {
  .m-10 {
    margin: 10px !important;
  }
}

.mt-10 {
  margin-top: 5.3333333333vw !important;
}
@media (min-width: 768px) {
  .mt-10 {
    margin-top: 10px !important;
  }
}

.mb-10 {
  margin-bottom: 2.6666666667vw !important;
}
@media (min-width: 768px) {
  .mb-10 {
    margin-bottom: 10px !important;
  }
}

.ml-10 {
  margin-left: 2.6666666667vw !important;
}
@media (min-width: 768px) {
  .ml-10 {
    margin-left: 10px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-10 {
    margin-top: 10px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-10 {
    margin-bottom: 10px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-10 {
    margin-top: 2.6666666667vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-10 {
    margin-bottom: 2.6666666667vw !important;
  }
}

.p-10 {
  padding: 2.6666666667vw !important;
}
@media (min-width: 768px) {
  .p-10 {
    padding: 10px !important;
  }
}

.pt-10 {
  padding-top: 2.6666666667vw !important;
}
@media (min-width: 768px) {
  .pt-10 {
    padding-top: 10px !important;
  }
}

.pb-10 {
  padding-bottom: 2.6666666667vw !important;
}
@media (min-width: 768px) {
  .pb-10 {
    padding-bottom: 10px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-10 {
    padding-top: 10px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-10 {
    padding-bottom: 10px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-10 {
    padding-top: 2.6666666667vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-10 {
    padding-bottom: 2.6666666667vw !important;
  }
}

.m-20 {
  margin: 5.3333333333vw !important;
}
@media (min-width: 768px) {
  .m-20 {
    margin: 20px !important;
  }
}

.mt-20 {
  margin-top: 10.6666666667vw !important;
}
@media (min-width: 768px) {
  .mt-20 {
    margin-top: 20px !important;
  }
}

.mb-20 {
  margin-bottom: 5.3333333333vw !important;
}
@media (min-width: 768px) {
  .mb-20 {
    margin-bottom: 20px !important;
  }
}

.ml-20 {
  margin-left: 5.3333333333vw !important;
}
@media (min-width: 768px) {
  .ml-20 {
    margin-left: 20px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-20 {
    margin-top: 20px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-20 {
    margin-bottom: 20px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-20 {
    margin-top: 5.3333333333vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-20 {
    margin-bottom: 5.3333333333vw !important;
  }
}

.p-20 {
  padding: 5.3333333333vw !important;
}
@media (min-width: 768px) {
  .p-20 {
    padding: 20px !important;
  }
}

.pt-20 {
  padding-top: 5.3333333333vw !important;
}
@media (min-width: 768px) {
  .pt-20 {
    padding-top: 20px !important;
  }
}

.pb-20 {
  padding-bottom: 5.3333333333vw !important;
}
@media (min-width: 768px) {
  .pb-20 {
    padding-bottom: 20px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-20 {
    padding-top: 20px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-20 {
    padding-bottom: 20px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-20 {
    padding-top: 5.3333333333vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-20 {
    padding-bottom: 5.3333333333vw !important;
  }
}

.m-30 {
  margin: 8vw !important;
}
@media (min-width: 768px) {
  .m-30 {
    margin: 30px !important;
  }
}

.mt-30 {
  margin-top: 16vw !important;
}
@media (min-width: 768px) {
  .mt-30 {
    margin-top: 30px !important;
  }
}

.mb-30 {
  margin-bottom: 8vw !important;
}
@media (min-width: 768px) {
  .mb-30 {
    margin-bottom: 30px !important;
  }
}

.ml-30 {
  margin-left: 8vw !important;
}
@media (min-width: 768px) {
  .ml-30 {
    margin-left: 30px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-30 {
    margin-top: 30px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-30 {
    margin-bottom: 30px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-30 {
    margin-top: 8vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-30 {
    margin-bottom: 8vw !important;
  }
}

.p-30 {
  padding: 8vw !important;
}
@media (min-width: 768px) {
  .p-30 {
    padding: 30px !important;
  }
}

.pt-30 {
  padding-top: 8vw !important;
}
@media (min-width: 768px) {
  .pt-30 {
    padding-top: 30px !important;
  }
}

.pb-30 {
  padding-bottom: 8vw !important;
}
@media (min-width: 768px) {
  .pb-30 {
    padding-bottom: 30px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-30 {
    padding-top: 30px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-30 {
    padding-bottom: 30px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-30 {
    padding-top: 8vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-30 {
    padding-bottom: 8vw !important;
  }
}

.m-40 {
  margin: 10.6666666667vw !important;
}
@media (min-width: 768px) {
  .m-40 {
    margin: 40px !important;
  }
}

.mt-40 {
  margin-top: 21.3333333333vw !important;
}
@media (min-width: 768px) {
  .mt-40 {
    margin-top: 40px !important;
  }
}

.mb-40 {
  margin-bottom: 10.6666666667vw !important;
}
@media (min-width: 768px) {
  .mb-40 {
    margin-bottom: 40px !important;
  }
}

.ml-40 {
  margin-left: 10.6666666667vw !important;
}
@media (min-width: 768px) {
  .ml-40 {
    margin-left: 40px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-40 {
    margin-top: 40px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-40 {
    margin-bottom: 40px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-40 {
    margin-top: 10.6666666667vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-40 {
    margin-bottom: 10.6666666667vw !important;
  }
}

.p-40 {
  padding: 10.6666666667vw !important;
}
@media (min-width: 768px) {
  .p-40 {
    padding: 40px !important;
  }
}

.pt-40 {
  padding-top: 10.6666666667vw !important;
}
@media (min-width: 768px) {
  .pt-40 {
    padding-top: 40px !important;
  }
}

.pb-40 {
  padding-bottom: 10.6666666667vw !important;
}
@media (min-width: 768px) {
  .pb-40 {
    padding-bottom: 40px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-40 {
    padding-top: 40px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-40 {
    padding-bottom: 40px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-40 {
    padding-top: 10.6666666667vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-40 {
    padding-bottom: 10.6666666667vw !important;
  }
}

.m-50 {
  margin: 13.3333333333vw !important;
}
@media (min-width: 768px) {
  .m-50 {
    margin: 50px !important;
  }
}

.mt-50 {
  margin-top: 26.6666666667vw !important;
}
@media (min-width: 768px) {
  .mt-50 {
    margin-top: 50px !important;
  }
}

.mb-50 {
  margin-bottom: 13.3333333333vw !important;
}
@media (min-width: 768px) {
  .mb-50 {
    margin-bottom: 50px !important;
  }
}

.ml-50 {
  margin-left: 13.3333333333vw !important;
}
@media (min-width: 768px) {
  .ml-50 {
    margin-left: 50px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-50 {
    margin-top: 50px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-50 {
    margin-bottom: 50px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-50 {
    margin-top: 13.3333333333vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-50 {
    margin-bottom: 13.3333333333vw !important;
  }
}

.p-50 {
  padding: 13.3333333333vw !important;
}
@media (min-width: 768px) {
  .p-50 {
    padding: 50px !important;
  }
}

.pt-50 {
  padding-top: 13.3333333333vw !important;
}
@media (min-width: 768px) {
  .pt-50 {
    padding-top: 50px !important;
  }
}

.pb-50 {
  padding-bottom: 13.3333333333vw !important;
}
@media (min-width: 768px) {
  .pb-50 {
    padding-bottom: 50px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-50 {
    padding-top: 50px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-50 {
    padding-bottom: 50px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-50 {
    padding-top: 13.3333333333vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-50 {
    padding-bottom: 13.3333333333vw !important;
  }
}

.m-60 {
  margin: 16vw !important;
}
@media (min-width: 768px) {
  .m-60 {
    margin: 60px !important;
  }
}

.mt-60 {
  margin-top: 32vw !important;
}
@media (min-width: 768px) {
  .mt-60 {
    margin-top: 60px !important;
  }
}

.mb-60 {
  margin-bottom: 16vw !important;
}
@media (min-width: 768px) {
  .mb-60 {
    margin-bottom: 60px !important;
  }
}

.ml-60 {
  margin-left: 16vw !important;
}
@media (min-width: 768px) {
  .ml-60 {
    margin-left: 60px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-60 {
    margin-top: 60px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-60 {
    margin-bottom: 60px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-60 {
    margin-top: 16vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-60 {
    margin-bottom: 16vw !important;
  }
}

.p-60 {
  padding: 16vw !important;
}
@media (min-width: 768px) {
  .p-60 {
    padding: 60px !important;
  }
}

.pt-60 {
  padding-top: 16vw !important;
}
@media (min-width: 768px) {
  .pt-60 {
    padding-top: 60px !important;
  }
}

.pb-60 {
  padding-bottom: 16vw !important;
}
@media (min-width: 768px) {
  .pb-60 {
    padding-bottom: 60px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-60 {
    padding-top: 60px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-60 {
    padding-bottom: 60px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-60 {
    padding-top: 16vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-60 {
    padding-bottom: 16vw !important;
  }
}

.m-70 {
  margin: 18.6666666667vw !important;
}
@media (min-width: 768px) {
  .m-70 {
    margin: 70px !important;
  }
}

.mt-70 {
  margin-top: 37.3333333333vw !important;
}
@media (min-width: 768px) {
  .mt-70 {
    margin-top: 70px !important;
  }
}

.mb-70 {
  margin-bottom: 18.6666666667vw !important;
}
@media (min-width: 768px) {
  .mb-70 {
    margin-bottom: 70px !important;
  }
}

.ml-70 {
  margin-left: 18.6666666667vw !important;
}
@media (min-width: 768px) {
  .ml-70 {
    margin-left: 70px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-70 {
    margin-top: 70px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-70 {
    margin-bottom: 70px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-70 {
    margin-top: 18.6666666667vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-70 {
    margin-bottom: 18.6666666667vw !important;
  }
}

.p-70 {
  padding: 18.6666666667vw !important;
}
@media (min-width: 768px) {
  .p-70 {
    padding: 70px !important;
  }
}

.pt-70 {
  padding-top: 18.6666666667vw !important;
}
@media (min-width: 768px) {
  .pt-70 {
    padding-top: 70px !important;
  }
}

.pb-70 {
  padding-bottom: 18.6666666667vw !important;
}
@media (min-width: 768px) {
  .pb-70 {
    padding-bottom: 70px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-70 {
    padding-top: 70px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-70 {
    padding-bottom: 70px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-70 {
    padding-top: 18.6666666667vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-70 {
    padding-bottom: 18.6666666667vw !important;
  }
}

.m-80 {
  margin: 21.3333333333vw !important;
}
@media (min-width: 768px) {
  .m-80 {
    margin: 80px !important;
  }
}

.mt-80 {
  margin-top: 42.6666666667vw !important;
}
@media (min-width: 768px) {
  .mt-80 {
    margin-top: 80px !important;
  }
}

.mb-80 {
  margin-bottom: 21.3333333333vw !important;
}
@media (min-width: 768px) {
  .mb-80 {
    margin-bottom: 80px !important;
  }
}

.ml-80 {
  margin-left: 21.3333333333vw !important;
}
@media (min-width: 768px) {
  .ml-80 {
    margin-left: 80px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-80 {
    margin-top: 80px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-80 {
    margin-bottom: 80px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-80 {
    margin-top: 21.3333333333vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-80 {
    margin-bottom: 21.3333333333vw !important;
  }
}

.p-80 {
  padding: 21.3333333333vw !important;
}
@media (min-width: 768px) {
  .p-80 {
    padding: 80px !important;
  }
}

.pt-80 {
  padding-top: 21.3333333333vw !important;
}
@media (min-width: 768px) {
  .pt-80 {
    padding-top: 80px !important;
  }
}

.pb-80 {
  padding-bottom: 21.3333333333vw !important;
}
@media (min-width: 768px) {
  .pb-80 {
    padding-bottom: 80px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-80 {
    padding-top: 80px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-80 {
    padding-bottom: 80px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-80 {
    padding-top: 21.3333333333vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-80 {
    padding-bottom: 21.3333333333vw !important;
  }
}

.m-90 {
  margin: 24vw !important;
}
@media (min-width: 768px) {
  .m-90 {
    margin: 90px !important;
  }
}

.mt-90 {
  margin-top: 48vw !important;
}
@media (min-width: 768px) {
  .mt-90 {
    margin-top: 90px !important;
  }
}

.mb-90 {
  margin-bottom: 24vw !important;
}
@media (min-width: 768px) {
  .mb-90 {
    margin-bottom: 90px !important;
  }
}

.ml-90 {
  margin-left: 24vw !important;
}
@media (min-width: 768px) {
  .ml-90 {
    margin-left: 90px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-90 {
    margin-top: 90px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-90 {
    margin-bottom: 90px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-90 {
    margin-top: 24vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-90 {
    margin-bottom: 24vw !important;
  }
}

.p-90 {
  padding: 24vw !important;
}
@media (min-width: 768px) {
  .p-90 {
    padding: 90px !important;
  }
}

.pt-90 {
  padding-top: 24vw !important;
}
@media (min-width: 768px) {
  .pt-90 {
    padding-top: 90px !important;
  }
}

.pb-90 {
  padding-bottom: 24vw !important;
}
@media (min-width: 768px) {
  .pb-90 {
    padding-bottom: 90px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-90 {
    padding-top: 90px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-90 {
    padding-bottom: 90px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-90 {
    padding-top: 24vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-90 {
    padding-bottom: 24vw !important;
  }
}

.m-100 {
  margin: 26.6666666667vw !important;
}
@media (min-width: 768px) {
  .m-100 {
    margin: 100px !important;
  }
}

.mt-100 {
  margin-top: 53.3333333333vw !important;
}
@media (min-width: 768px) {
  .mt-100 {
    margin-top: 100px !important;
  }
}

.mb-100 {
  margin-bottom: 26.6666666667vw !important;
}
@media (min-width: 768px) {
  .mb-100 {
    margin-bottom: 100px !important;
  }
}

.ml-100 {
  margin-left: 26.6666666667vw !important;
}
@media (min-width: 768px) {
  .ml-100 {
    margin-left: 100px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-100 {
    margin-top: 100px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-100 {
    margin-bottom: 100px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-100 {
    margin-top: 26.6666666667vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-100 {
    margin-bottom: 26.6666666667vw !important;
  }
}

.p-100 {
  padding: 26.6666666667vw !important;
}
@media (min-width: 768px) {
  .p-100 {
    padding: 100px !important;
  }
}

.pt-100 {
  padding-top: 26.6666666667vw !important;
}
@media (min-width: 768px) {
  .pt-100 {
    padding-top: 100px !important;
  }
}

.pb-100 {
  padding-bottom: 26.6666666667vw !important;
}
@media (min-width: 768px) {
  .pb-100 {
    padding-bottom: 100px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-100 {
    padding-top: 100px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-100 {
    padding-bottom: 100px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-100 {
    padding-top: 26.6666666667vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-100 {
    padding-bottom: 26.6666666667vw !important;
  }
}

.m-110 {
  margin: 29.3333333333vw !important;
}
@media (min-width: 768px) {
  .m-110 {
    margin: 110px !important;
  }
}

.mt-110 {
  margin-top: 58.6666666667vw !important;
}
@media (min-width: 768px) {
  .mt-110 {
    margin-top: 110px !important;
  }
}

.mb-110 {
  margin-bottom: 29.3333333333vw !important;
}
@media (min-width: 768px) {
  .mb-110 {
    margin-bottom: 110px !important;
  }
}

.ml-110 {
  margin-left: 29.3333333333vw !important;
}
@media (min-width: 768px) {
  .ml-110 {
    margin-left: 110px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-110 {
    margin-top: 110px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-110 {
    margin-bottom: 110px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-110 {
    margin-top: 29.3333333333vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-110 {
    margin-bottom: 29.3333333333vw !important;
  }
}

.p-110 {
  padding: 29.3333333333vw !important;
}
@media (min-width: 768px) {
  .p-110 {
    padding: 110px !important;
  }
}

.pt-110 {
  padding-top: 29.3333333333vw !important;
}
@media (min-width: 768px) {
  .pt-110 {
    padding-top: 110px !important;
  }
}

.pb-110 {
  padding-bottom: 29.3333333333vw !important;
}
@media (min-width: 768px) {
  .pb-110 {
    padding-bottom: 110px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-110 {
    padding-top: 110px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-110 {
    padding-bottom: 110px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-110 {
    padding-top: 29.3333333333vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-110 {
    padding-bottom: 29.3333333333vw !important;
  }
}

.m-120 {
  margin: 32vw !important;
}
@media (min-width: 768px) {
  .m-120 {
    margin: 120px !important;
  }
}

.mt-120 {
  margin-top: 64vw !important;
}
@media (min-width: 768px) {
  .mt-120 {
    margin-top: 120px !important;
  }
}

.mb-120 {
  margin-bottom: 32vw !important;
}
@media (min-width: 768px) {
  .mb-120 {
    margin-bottom: 120px !important;
  }
}

.ml-120 {
  margin-left: 32vw !important;
}
@media (min-width: 768px) {
  .ml-120 {
    margin-left: 120px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-120 {
    margin-top: 120px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-120 {
    margin-bottom: 120px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-120 {
    margin-top: 32vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-120 {
    margin-bottom: 32vw !important;
  }
}

.p-120 {
  padding: 32vw !important;
}
@media (min-width: 768px) {
  .p-120 {
    padding: 120px !important;
  }
}

.pt-120 {
  padding-top: 32vw !important;
}
@media (min-width: 768px) {
  .pt-120 {
    padding-top: 120px !important;
  }
}

.pb-120 {
  padding-bottom: 32vw !important;
}
@media (min-width: 768px) {
  .pb-120 {
    padding-bottom: 120px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-120 {
    padding-top: 120px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-120 {
    padding-bottom: 120px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-120 {
    padding-top: 32vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-120 {
    padding-bottom: 32vw !important;
  }
}

.m-130 {
  margin: 34.6666666667vw !important;
}
@media (min-width: 768px) {
  .m-130 {
    margin: 130px !important;
  }
}

.mt-130 {
  margin-top: 69.3333333333vw !important;
}
@media (min-width: 768px) {
  .mt-130 {
    margin-top: 130px !important;
  }
}

.mb-130 {
  margin-bottom: 34.6666666667vw !important;
}
@media (min-width: 768px) {
  .mb-130 {
    margin-bottom: 130px !important;
  }
}

.ml-130 {
  margin-left: 34.6666666667vw !important;
}
@media (min-width: 768px) {
  .ml-130 {
    margin-left: 130px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-130 {
    margin-top: 130px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-130 {
    margin-bottom: 130px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-130 {
    margin-top: 34.6666666667vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-130 {
    margin-bottom: 34.6666666667vw !important;
  }
}

.p-130 {
  padding: 34.6666666667vw !important;
}
@media (min-width: 768px) {
  .p-130 {
    padding: 130px !important;
  }
}

.pt-130 {
  padding-top: 34.6666666667vw !important;
}
@media (min-width: 768px) {
  .pt-130 {
    padding-top: 130px !important;
  }
}

.pb-130 {
  padding-bottom: 34.6666666667vw !important;
}
@media (min-width: 768px) {
  .pb-130 {
    padding-bottom: 130px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-130 {
    padding-top: 130px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-130 {
    padding-bottom: 130px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-130 {
    padding-top: 34.6666666667vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-130 {
    padding-bottom: 34.6666666667vw !important;
  }
}

.m-140 {
  margin: 37.3333333333vw !important;
}
@media (min-width: 768px) {
  .m-140 {
    margin: 140px !important;
  }
}

.mt-140 {
  margin-top: 74.6666666667vw !important;
}
@media (min-width: 768px) {
  .mt-140 {
    margin-top: 140px !important;
  }
}

.mb-140 {
  margin-bottom: 37.3333333333vw !important;
}
@media (min-width: 768px) {
  .mb-140 {
    margin-bottom: 140px !important;
  }
}

.ml-140 {
  margin-left: 37.3333333333vw !important;
}
@media (min-width: 768px) {
  .ml-140 {
    margin-left: 140px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-140 {
    margin-top: 140px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-140 {
    margin-bottom: 140px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-140 {
    margin-top: 37.3333333333vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-140 {
    margin-bottom: 37.3333333333vw !important;
  }
}

.p-140 {
  padding: 37.3333333333vw !important;
}
@media (min-width: 768px) {
  .p-140 {
    padding: 140px !important;
  }
}

.pt-140 {
  padding-top: 37.3333333333vw !important;
}
@media (min-width: 768px) {
  .pt-140 {
    padding-top: 140px !important;
  }
}

.pb-140 {
  padding-bottom: 37.3333333333vw !important;
}
@media (min-width: 768px) {
  .pb-140 {
    padding-bottom: 140px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-140 {
    padding-top: 140px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-140 {
    padding-bottom: 140px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-140 {
    padding-top: 37.3333333333vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-140 {
    padding-bottom: 37.3333333333vw !important;
  }
}

.m-150 {
  margin: 40vw !important;
}
@media (min-width: 768px) {
  .m-150 {
    margin: 150px !important;
  }
}

.mt-150 {
  margin-top: 80vw !important;
}
@media (min-width: 768px) {
  .mt-150 {
    margin-top: 150px !important;
  }
}

.mb-150 {
  margin-bottom: 40vw !important;
}
@media (min-width: 768px) {
  .mb-150 {
    margin-bottom: 150px !important;
  }
}

.ml-150 {
  margin-left: 40vw !important;
}
@media (min-width: 768px) {
  .ml-150 {
    margin-left: 150px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-150 {
    margin-top: 150px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-150 {
    margin-bottom: 150px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-150 {
    margin-top: 40vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-150 {
    margin-bottom: 40vw !important;
  }
}

.p-150 {
  padding: 40vw !important;
}
@media (min-width: 768px) {
  .p-150 {
    padding: 150px !important;
  }
}

.pt-150 {
  padding-top: 40vw !important;
}
@media (min-width: 768px) {
  .pt-150 {
    padding-top: 150px !important;
  }
}

.pb-150 {
  padding-bottom: 40vw !important;
}
@media (min-width: 768px) {
  .pb-150 {
    padding-bottom: 150px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-150 {
    padding-top: 150px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-150 {
    padding-bottom: 150px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-150 {
    padding-top: 40vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-150 {
    padding-bottom: 40vw !important;
  }
}

.m-160 {
  margin: 42.6666666667vw !important;
}
@media (min-width: 768px) {
  .m-160 {
    margin: 160px !important;
  }
}

.mt-160 {
  margin-top: 85.3333333333vw !important;
}
@media (min-width: 768px) {
  .mt-160 {
    margin-top: 160px !important;
  }
}

.mb-160 {
  margin-bottom: 42.6666666667vw !important;
}
@media (min-width: 768px) {
  .mb-160 {
    margin-bottom: 160px !important;
  }
}

.ml-160 {
  margin-left: 42.6666666667vw !important;
}
@media (min-width: 768px) {
  .ml-160 {
    margin-left: 160px !important;
  }
}

@media (min-width: 768px) {
  .pc-mt-160 {
    margin-top: 160px !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-160 {
    margin-bottom: 160px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-160 {
    margin-top: 42.6666666667vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-160 {
    margin-bottom: 42.6666666667vw !important;
  }
}

.p-160 {
  padding: 42.6666666667vw !important;
}
@media (min-width: 768px) {
  .p-160 {
    padding: 160px !important;
  }
}

.pt-160 {
  padding-top: 42.6666666667vw !important;
}
@media (min-width: 768px) {
  .pt-160 {
    padding-top: 160px !important;
  }
}

.pb-160 {
  padding-bottom: 42.6666666667vw !important;
}
@media (min-width: 768px) {
  .pb-160 {
    padding-bottom: 160px !important;
  }
}

@media (min-width: 768px) {
  .pc-pt-160 {
    padding-top: 160px !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-160 {
    padding-bottom: 160px !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-160 {
    padding-top: 42.6666666667vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-160 {
    padding-bottom: 42.6666666667vw !important;
  }
}

.mt-1em {
  margin-top: 1em !important;
}

.mb-1em {
  margin-bottom: 1em !important;
}

@media (min-width: 768px) {
  .pc-mt-1em {
    margin-top: 1em !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-1em {
    margin-bottom: 1em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-1em {
    margin-top: 0.2666666667vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-1em {
    margin-bottom: 0.2666666667vw !important;
  }
}

.pt-1em {
  padding-top: 1em !important;
}

.pb-1em {
  padding-bottom: 1em !important;
}

@media (min-width: 768px) {
  .pc-pt-1em {
    padding-top: 1em !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-1em {
    padding-bottom: 1em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-1em {
    padding-top: 1em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-1em {
    padding-bottom: 1em !important;
  }
}

.mt-2em {
  margin-top: 2em !important;
}

.mb-2em {
  margin-bottom: 2em !important;
}

@media (min-width: 768px) {
  .pc-mt-2em {
    margin-top: 2em !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-2em {
    margin-bottom: 2em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-2em {
    margin-top: 0.5333333333vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-2em {
    margin-bottom: 0.5333333333vw !important;
  }
}

.pt-2em {
  padding-top: 2em !important;
}

.pb-2em {
  padding-bottom: 2em !important;
}

@media (min-width: 768px) {
  .pc-pt-2em {
    padding-top: 2em !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-2em {
    padding-bottom: 2em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-2em {
    padding-top: 2em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-2em {
    padding-bottom: 2em !important;
  }
}

.mt-3em {
  margin-top: 3em !important;
}

.mb-3em {
  margin-bottom: 3em !important;
}

@media (min-width: 768px) {
  .pc-mt-3em {
    margin-top: 3em !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-3em {
    margin-bottom: 3em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-3em {
    margin-top: 0.8vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-3em {
    margin-bottom: 0.8vw !important;
  }
}

.pt-3em {
  padding-top: 3em !important;
}

.pb-3em {
  padding-bottom: 3em !important;
}

@media (min-width: 768px) {
  .pc-pt-3em {
    padding-top: 3em !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-3em {
    padding-bottom: 3em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-3em {
    padding-top: 3em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-3em {
    padding-bottom: 3em !important;
  }
}

.mt-4em {
  margin-top: 4em !important;
}

.mb-4em {
  margin-bottom: 4em !important;
}

@media (min-width: 768px) {
  .pc-mt-4em {
    margin-top: 4em !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-4em {
    margin-bottom: 4em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-4em {
    margin-top: 1.0666666667vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-4em {
    margin-bottom: 1.0666666667vw !important;
  }
}

.pt-4em {
  padding-top: 4em !important;
}

.pb-4em {
  padding-bottom: 4em !important;
}

@media (min-width: 768px) {
  .pc-pt-4em {
    padding-top: 4em !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-4em {
    padding-bottom: 4em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-4em {
    padding-top: 4em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-4em {
    padding-bottom: 4em !important;
  }
}

.mt-5em {
  margin-top: 5em !important;
}

.mb-5em {
  margin-bottom: 5em !important;
}

@media (min-width: 768px) {
  .pc-mt-5em {
    margin-top: 5em !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-5em {
    margin-bottom: 5em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-5em {
    margin-top: 1.3333333333vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-5em {
    margin-bottom: 1.3333333333vw !important;
  }
}

.pt-5em {
  padding-top: 5em !important;
}

.pb-5em {
  padding-bottom: 5em !important;
}

@media (min-width: 768px) {
  .pc-pt-5em {
    padding-top: 5em !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-5em {
    padding-bottom: 5em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-5em {
    padding-top: 5em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-5em {
    padding-bottom: 5em !important;
  }
}

.mt-6em {
  margin-top: 6em !important;
}

.mb-6em {
  margin-bottom: 6em !important;
}

@media (min-width: 768px) {
  .pc-mt-6em {
    margin-top: 6em !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-6em {
    margin-bottom: 6em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-6em {
    margin-top: 1.6vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-6em {
    margin-bottom: 1.6vw !important;
  }
}

.pt-6em {
  padding-top: 6em !important;
}

.pb-6em {
  padding-bottom: 6em !important;
}

@media (min-width: 768px) {
  .pc-pt-6em {
    padding-top: 6em !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-6em {
    padding-bottom: 6em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-6em {
    padding-top: 6em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-6em {
    padding-bottom: 6em !important;
  }
}

.mt-7em {
  margin-top: 7em !important;
}

.mb-7em {
  margin-bottom: 7em !important;
}

@media (min-width: 768px) {
  .pc-mt-7em {
    margin-top: 7em !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-7em {
    margin-bottom: 7em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-7em {
    margin-top: 1.8666666667vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-7em {
    margin-bottom: 1.8666666667vw !important;
  }
}

.pt-7em {
  padding-top: 7em !important;
}

.pb-7em {
  padding-bottom: 7em !important;
}

@media (min-width: 768px) {
  .pc-pt-7em {
    padding-top: 7em !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-7em {
    padding-bottom: 7em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-7em {
    padding-top: 7em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-7em {
    padding-bottom: 7em !important;
  }
}

.mt-8em {
  margin-top: 8em !important;
}

.mb-8em {
  margin-bottom: 8em !important;
}

@media (min-width: 768px) {
  .pc-mt-8em {
    margin-top: 8em !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-8em {
    margin-bottom: 8em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-8em {
    margin-top: 2.1333333333vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-8em {
    margin-bottom: 2.1333333333vw !important;
  }
}

.pt-8em {
  padding-top: 8em !important;
}

.pb-8em {
  padding-bottom: 8em !important;
}

@media (min-width: 768px) {
  .pc-pt-8em {
    padding-top: 8em !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-8em {
    padding-bottom: 8em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-8em {
    padding-top: 8em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-8em {
    padding-bottom: 8em !important;
  }
}

.mt-9em {
  margin-top: 9em !important;
}

.mb-9em {
  margin-bottom: 9em !important;
}

@media (min-width: 768px) {
  .pc-mt-9em {
    margin-top: 9em !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-9em {
    margin-bottom: 9em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-9em {
    margin-top: 2.4vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-9em {
    margin-bottom: 2.4vw !important;
  }
}

.pt-9em {
  padding-top: 9em !important;
}

.pb-9em {
  padding-bottom: 9em !important;
}

@media (min-width: 768px) {
  .pc-pt-9em {
    padding-top: 9em !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-9em {
    padding-bottom: 9em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-9em {
    padding-top: 9em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-9em {
    padding-bottom: 9em !important;
  }
}

.mt-10em {
  margin-top: 10em !important;
}

.mb-10em {
  margin-bottom: 10em !important;
}

@media (min-width: 768px) {
  .pc-mt-10em {
    margin-top: 10em !important;
  }
}

@media (min-width: 768px) {
  .pc-mb-10em {
    margin-bottom: 10em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mt-10em {
    margin-top: 2.6666666667vw !important;
  }
}

@media (max-width: 767.98px) {
  .sp-mb-10em {
    margin-bottom: 2.6666666667vw !important;
  }
}

.pt-10em {
  padding-top: 10em !important;
}

.pb-10em {
  padding-bottom: 10em !important;
}

@media (min-width: 768px) {
  .pc-pt-10em {
    padding-top: 10em !important;
  }
}

@media (min-width: 768px) {
  .pc-pb-10em {
    padding-bottom: 10em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pt-10em {
    padding-top: 10em !important;
  }
}

@media (max-width: 767.98px) {
  .sp-pb-10em {
    padding-bottom: 10em !important;
  }
}

@media (min-width: 768px) {
  .pc-pl-2em {
    padding-left: 2em !important;
  }
}

.pr-0 {
  padding-right: 0 !important;
}

.spacer-s {
  margin-top: 8vw !important;
}
@media (min-width: 768px) {
  .spacer-s {
    margin-top: 30px !important;
  }
}

.spacer {
  margin-top: 16vw !important;
}
@media (min-width: 768px) {
  .spacer {
    margin-top: 60px !important;
  }
}

.spacer-l {
  padding-top: 26.6666666667vw !important;
}
@media (min-width: 768px) {
  .spacer-l {
    padding-top: 100px !important;
  }
}

/* Aspect
========================================================================== */
.aspect-auto {
  aspect-ratio: auto;
}

.aspect-video {
  aspect-ratio: 16/9;
}

.visually-hidden {
  position: fixed !important;
  /* keep it on viewport */
  top: 0px !important;
  left: 0px !important;
  /* give it non-zero size, VoiceOver on Safari requires at least 2 pixels
     before allowing buttons to be activated. */
  width: 4px !important;
  height: 4px !important;
  /* visually hide it with overflow and opacity */
  opacity: 0 !important;
  overflow: hidden !important;
  /* remove any margin or padding */
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  /* ensure no other style sets display to none */
  display: block !important;
  visibility: visible !important;
}

/* ClearFix
========================================================================== */
.clearfix::after {
  clear: both;
  content: "";
  display: block;
}

/* layout
========================================================================== */
.extend-x {
  margin: 0 -6%;
}

.u-fontcolor_key {
  color: #0191B4;
}

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

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

@media (min-width: 768px) {
  .u-ta_l-pc {
    text-align: left;
  }
}

.u-fz_110p {
  font-size: 110%;
}

.u-fz_125p {
  font-size: 125%;
}

@keyframes purun {
  0% {
    transform: scale(1, 1) translate(0%, 0%);
  }
  15% {
    transform: scale(0.9, 0.9) translate(0%, 5%);
  }
  30% {
    transform: scale(1.3, 0.8) translate(0%, 10%);
  }
  50% {
    transform: scale(0.8, 1.1) translate(0%, -10%);
  }
  100% {
    transform: scale(1, 1) translate(0%, 0%);
  }
}
@keyframes slideDown {
  0% {
    display: block;
    height: 0;
    opacity: 0;
  }
  1% {
    display: block;
    height: 0;
    opacity: 0;
  }
  100% {
    display: block;
    height: 100vh;
    opacity: 1;
  }
}
@keyframes slideUp {
  0% {
    display: block;
    height: 100vh;
    opacity: 1;
  }
  99% {
    display: block;
    height: 0;
    opacity: 0;
  }
  100% {
    display: none;
    height: 0;
    opacity: 0;
  }
}
@keyframes headerShow {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes headerHide {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-100%);
  }
}