@charset "UTF-8";
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------

#1 foundation
#2 layout
#3 component
#4 javascript
#5 project
#6 utility

--------------------------------------------------------------*/
/* foundation
--------------------------------------------- */
:root {
  --clr-gray-50: #f5f5f5;
  --clr-gray-100: #cfcfcf;
  --clr-gray-200: #a9a9a9;
  --clr-gray-300: #848484;
  --clr-gray-400: #5e5e5e;
  --clr-gray-500: #393939;
  --clr-gray-600: #2d2d2d;
  --clr-gray-700: #222;
  --clr-gray-800: #161616;
  --clr-gray-900: #0b0b0b;
  --clr-gray--a500: rgb(245 245 245 / 0.4);
  --clr-white: #ffffff;
  --clr-white-a50: rgb(255 255 255 / 0.04);
  --clr-white-a100: rgb(255 255 255 / 0.08);
  --clr-white-a200: rgb(255 255 255 / 0.16);
  --clr-white-a300: rgb(255 255 255 / 0.24);
  --clr-white-a400: rgb(255 255 255 / 0.32);
  --clr-white-a500: rgb(255 255 255 / 0.4);
  --clr-white-a600: rgb(255 255 255 / 0.8);
  --clr-white-a700: rgb(255 255 255 / 0.88);
  --clr-white-a800: rgb(255 255 255 / 0.92);
  --clr-white-a900: rgb(255 255 255 / 0.96);
  --clr-black: #000000;
  --clr-black-a50: rgb(0 0 0 / 0.04);
  --clr-black-a100: rgb(0 0 0 / 0.08);
  --clr-black-a200: rgb(0 0 0 / 0.16);
  --clr-black-a300: rgb(0 0 0 / 0.24);
  --clr-black-a400: rgb(0 0 0 / 0.32);
  --clr-black-a500: rgb(0 0 0 / 0.4);
  --clr-black-a600: rgb(0 0 0 / 0.8);
  --clr-black-a700: rgb(0 0 0 / 0.88);
  --clr-black-a800: rgb(0 0 0 / 0.92);
  --clr-black-a900: rgb(0 0 0 / 0.96);
  --clr-red-50: #fff2f2;
  --clr-red-100: #ffc1c1;
  --clr-red-200: #ff9191;
  --clr-red-300: #ff6060;
  --clr-red-400: #ff3030;
  --clr-red-500: #ff0000;
  --clr-red-600: #cc0000;
  --clr-red-700: #990000;
  --clr-red-800: #660000;
  --clr-red-900: #320000;
  --clr-yellow-50: #fffff2;
  --clr-yellow-100: #ffffc1;
  --clr-yellow-200: #ffff91;
  --clr-yellow-300: #ffff60;
  --clr-yellow-400: #ffff30;
  --clr-yellow-500: #ffff00;
  --clr-yellow-600: #cccc00;
  --clr-yellow-700: #999900;
  --clr-yellow-800: #666600;
  --clr-yellow-900: #323200;
  --clr-green-50: #f2fff2;
  --clr-green-100: #c1ffc1;
  --clr-green-200: #91ff91;
  --clr-green-300: #60ff60;
  --clr-green-400: #30ff30;
  --clr-green-500: #00ff00;
  --clr-green-600: #00cc00;
  --clr-green-700: #009900;
  --clr-green-800: #006600;
  --clr-green-900: #003200;
  --clr-site-blue: #2a70e0;
  --clr-site-blue--a500: rgb(42 112 224 / 0.4);
  --clr-site-blue--a600: rgb(42 112 224 / 0.8);
  --clr-site-light-blue: #136ef6;
  --clr-site-light-blue-100: #cbdcf7;
  --clr-site-dark-blue: #212536;
  --clr-site-marine-blue: #37445c;
  --clr-site-marine-blue--a50: rgb(55 68 92 / 0.05);
  --clr-site-marine-blue--a200: rgb(55 68 92 / 0.15);
  --clr-site-marine-blue--a300: rgb(55 68 92 / 0.25);
  --clr-site-marine-blue--a400: rgb(55 68 92 / 0.4);
  --clr-site-orange: #e58220;
  --clr-site-vivid-orange: #ff9400;
  --clr-site-red: #e02a48;
  --clr-site-light-red: #f61339;
  --clr-site-dark-red: #362125;
  --clr-site-red--a300: rgb(54 33 37 / 0.25);
  --clr-site-primary: var(--clr-site-blue);
  --clr-site-primary--bright: var(--clr-site-light-blue);
  --clr-site-secondary: var(--clr-site-dark-blue);
  --clr-site-secondary--bright: var(--clr-site-marine-blue);
  --clr-site-tertiary: var(--clr-site-orange);
  --clr-site-tertiary--bright: var(--clr-site-vivid-orange);
  --clr-site-assort: var(--clr-site-red);
  --clr-site-assort--bright: var(--clr-site-light-red);
  --clr-site-assort--dark: var(--clr-site-dark-red);
  --clr-bg-dark: var(--clr-site-secondary);
  --clr-bg-light: var(--clr-white);
  --clr-bg-gray: var(--clr-gray-500);
  --clr-bg-gray--a40: var(--clr-gray--a500);
  --clr-bg-light-gray: var(--clr-gray-50);
  --clr-bg-header-dark: var(--clr-site-marine-blue--a300);
  --clr-bg-header-assort: var(--clr-site-red--a300);
  --clr-bg-heading: var(--clr-site-marine-blue--a200);
  --clr-border-ui: var(--clr-gray-200);
  --clr-border-card--blue: #04256d;
  --clr-border-card--red: #860414;
  --clr-notice-link: var(--clr-site-light-blue-100);
  --clr-border-button: var(--clr-site-marine-blue--a200);
  --clr-overlay--bright: var(--clr-white-a400);
  --clr-overlay--dark: var(--clr-black-a400);
  --clr-error: var(--red-500);
  --clr-success: var(--green-500);
  --clr-warning: var(--yellow-500);
  --clr-gradient-red: linear-gradient(180deg, #f84462 0%, #bb1b36 100%);
  --clr-text-primary: var(--clr-site-secondary);
  --clr-text-ui: var(--clr-black);
  --clr-text-ui--hover: var(--clr-site-primary--bright);
  --clr-text-ui-dark: var(--clr-white);
  --clr-text-ui-dark--hover: var(--clr-site-primary--bright);
  --clr-text-link: var(--clr-site-primary);
  --clr-text-link--hover: var(--clr-site-primary--bright);
  --unit-4: 0.25rem;
  --unit-8: 0.5rem;
  --unit-11: 0.6875rem;
  --unit-12: 0.75rem;
  --unit-14: 0.875rem;
  --unit-15: 0.9375rem;
  --unit-16: 1rem;
  --unit-18: 1.125rem;
  --unit-20: 1.25rem;
  --unit-21: 1.3125rem;
  --unit-22: 1.375rem;
  --unit-24: 1.5rem;
  --unit-28: 1.75rem;
  --unit-32: 2rem;
  --unit-36: 2.25rem;
  --unit-40: 2.5rem;
  --unit-42: 2.625rem;
  --unit-44: 2.75rem;
  --unit-48: 3rem;
  --unit-56: 3.5rem;
  --unit-64: 4rem;
  --unit-72: 4.5rem;
  --unit-80: 5rem;
  --unit-96: 6rem;
  --unit-128: 8rem;
  --unit-160: 10rem;
  --unit-240: 15rem;
  --unit-320: 20rem;
  --spacing-xs: var(--unit-4);
  --spacing-sm: var(--unit-8);
  --spacing-md: var(--unit-16);
  --spacing-lg: var(--unit-24);
  --spacing-xl: var(--unit-32);
  --spacing-2xl: var(--unit-48);
  --spacing-3xl: var(--unit-64);
  --spacing-4xl: var(--unit-80);
  --spacing-5xl: var(--unit-96);
  --spacing-6xl: var(--unit-128);
  --spacing-7xl: var(--unit-160);
  --spacing-8xl: var(--unit-240);
  --spacing: var(--spacing-md);
  --margin-page: var(--spacing-6xl);
  --margin-section: var(--spacing-5xl);
  --margin-block: var(--spacing-xl);
  --margin-object: var(--spacing-md);
  --width-site-max: 1920px;
  --width-desktop-large: 1440px;
  --width-desktop-content: 1040px;
  --width-laptop-content: calc(1024px - (var(--spacing-xl) * 2));
  --width-tablet-content: calc(768px - (var(--spacing-xl) * 2));
  --width-mobile-content: calc(430px - (var(--spacing-md) * 2));
  --f-family-body: 'Open Sans', 'Noto Sans JP', sans-serif;
  --f-family-lato: 'Lato', sans-serif;
  --f-family-open-sans: 'Open Sans', sans-serif;
  --flow-xs: 0.25em;
  --flow-sm: 0.5em;
  --flow-md: 1em;
  --flow-lg: 1.5em;
  --flow-xl: 2em;
  --f-size-en-title: var(--unit-20);
  --f-size-en-catch1: clamp(var(--unit-64), 3.574rem + 1.58vw, var(--unit-80));
  --f-size-en-catch2: clamp(var(--unit-48), 2.574rem + 1.58vw, var(--unit-64));
  --f-size-en-catch3: clamp(var(--unit-36), 1.931rem + 1.19vw, var(--unit-48));
  --f-size-en-hl1: clamp(var(--unit-32), 1.734rem + 0.99vw, var(--unit-42));
  --f-size-en-hl2: clamp(var(--unit-24), 1.181rem + 1.19vw, var(--unit-36));
  --f-size-en-hl3: clamp(var(--unit-20), 1.037rem + 0.79vw, var(--unit-28));
  --f-size-en-subhead: clamp(var(--unit-16), 0.894rem + 0.4vw, var(--unit-20));
  --f-size-en-lead: clamp(var(--unit-16), 0.947rem + 0.2vw, var(--unit-18));
  --f-size-en-body1: var(--unit-16);
  --f-size-en-body2: var(--unit-14);
  --f-size-en-caption: var(--unit-12);
  --f-size-en-button: var(--unit-14);
  --f-size-ja-title: var(--unit-18);
  --f-size-ja-catch1: clamp(var(--unit-56), 3.074rem + 1.58vw, var(--unit-72));
  --f-size-ja-catch2: clamp(var(--unit-64), 2.252rem + 1.39vw, var(--unit-56));
  --f-size-ja-catch3: clamp(var(--unit-32), 1.787rem + 0.79vw, var(--unit-40));
  --f-size-ja-hl1: clamp(var(--unit-28), 1.537rem + 0.79vw, var(--unit-36));
  --f-size-ja-hl2: clamp(var(--unit-22), 1.215rem + 0.59vw, var(--unit-28));
  --f-size-ja-hl3: clamp(var(--unit-18), 1.072rem + 0.2vw, var(--unit-20));
  --f-size-ja-subhead: clamp(var(--unit-16), 0.947rem + 0.2vw, var(--unit-18));
  --f-size-ja-lead: clamp(var(--unit-15), 0.911rem + 0.1vw, var(--unit-16));
  --f-size-ja-body1: clamp(var(--unit-15), 0.911rem + 0.1vw, var(--unit-16));
  --f-size-ja-body2: var(--unit-14);
  --f-size-ja-caption: var(--unit-12);
  --f-size-ja-button: var(--unit-14);
  --f-weight-regular: 400;
  --f-weight-medium: 500;
  --f-weight-bold: 700;
  --lineheight-xl: 3;
  --lineheight-lg: 2;
  --lineheight-md: 1.65;
  --lineheight-sm: 1.5;
  --lineheight-xs: 1.25;
  --lineheight-2xs: 1;
  --lineheight-none: 0;
  --radius-xs: 0.125rem;
  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;
  --radius-lg: 1rem;
  --radius-xl: 1.5rem;
  --radius-2xl: 2rem;
  --radius-full: 9999px;
  --box-elevation-8: 0px 4px 12px 0px rgba(0, 0, 0, 0.1), 0px 0px 0px 1px rgba(0, 0, 0, 0.02);
  --trns-primary: all 0.3s ease;
  --trns-secondary: all 0.6s cubic-bezier(0.19, 1, 0.88, 1);
}

/***
    The new CSS reset - version 1.11.3 (last updated 25.08.2024)
    GitHub page: https://github.com/elad2412/the-new-css-reset
***/
/*
    Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
    - The "symbol *" part is to solve Firefox SVG sprite bug
    - The "html" element is excluded, otherwise a bug in Chrome breaks the CSS hyphens property (https://github.com/elad2412/the-new-css-reset/issues/36)
 */
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

/* Preferred box-sizing value */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Fix mobile Safari increase font-size on landscape mode */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  -ms-text-size-adjust: none;
      text-size-adjust: none;
}

/* Reapply the pointer cursor for anchor tags */
a,
button {
  cursor: revert;
}

/* Remove list styles (bullets/numbers) */
ol,
ul,
menu,
summary {
  list-style: none;
}

/* Firefox: solve issue where nested ordered lists continue numbering from parent (https://bugzilla.mozilla.org/show_bug.cgi?id=1881517) */
ol {
  counter-reset: revert;
}

/* For images to not be able to exceed their container */
img {
  max-inline-size: 100%;
  max-block-size: 100%;
}

/* removes spacing between cells in tables */
table {
  border-collapse: collapse;
}

/* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
input,
textarea {
  -webkit-user-select: auto;
}

/* revert the 'white-space' property for textarea elements on Safari */
textarea {
  white-space: revert;
}

/* minimum style to allow to style meter element */
meter {
  -webkit-appearance: revert;
  -moz-appearance: revert;
       appearance: revert;
}

/* preformatted text - use only for this feature */
:where(pre) {
  all: revert;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* reset default text opacity of input placeholder */
::-webkit-input-placeholder {
  color: unset;
}
::-moz-placeholder {
  color: unset;
}
:-ms-input-placeholder {
  color: unset;
}
::-ms-input-placeholder {
  color: unset;
}
::placeholder {
  color: unset;
}

/* fix the feature of 'hidden' attribute.
   display:revert; revert to element instead of attribute */
:where([hidden]) {
  display: none;
}

/* revert for bug in Chromium browsers
   - fix for the content editable attribute will work properly.
   - webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element*/
:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

/* apply back the draggable feature - exist only in Chromium and Safari */
:where([draggable=true]) {
  -webkit-user-drag: element;
}

/* Revert Modal native behavior */
:where(dialog:modal) {
  all: revert;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Remove details summary webkit styles */
::-webkit-details-marker {
  display: none;
}

html,
body {
  font-family: var(--f-family-body);
  font-size: var(--f-size-ja-body1);
  font-weight: var(--f-weight-regular);
  line-height: var(--lineheight-md);
}

html {
  scroll-behavior: smooth;
}

body {
  color: var(--clr-text-primary);
  background-color: var(--clr-bg-light);
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

.page {
  position: relative;
  overflow-x: hidden;
}

.page-en {
  font-family: var(--f-family-open-sans);
  font-size: var(--f-size-en-body1);
}

/* layout
--------------------------------------------- */
.header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
  padding-top: env(safe-area-inset-top);
}
.header__inner {
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: var(--spacing-md, 16px) var(--spacing-xl, 32px);
  background-color: var(--clr-bg-header-dark);
}
@media screen and (min-width: 769px) {
  .header__inner {
    padding-block: 0;
    background-color: transparent;
  }
}
.header__site-branding {
  width: 160px;
  height: auto;
  aspect-ratio: 160/35;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
}
@media screen and (min-width: 769px) {
  .header__site-branding {
    width: 176px;
    aspect-ratio: 22/17;
  }
}
.header__site-logo {
  display: block;
  width: 160px;
  height: 48px;
  background-image: url(../images/logo_partner_reverse.webp);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .header__site-logo {
    height: 108px;
    background-image: url(../images/logo_partner_reverse.webp);
  }
}
.header__site-logo:hover {
  opacity: 0.8;
}
.header.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 900;
  -webkit-box-shadow: var(--box-elevation-8);
          box-shadow: var(--box-elevation-8);
}
.header.is-fixed .header__inner {
  background-color: var(--clr-white);
}
@media screen and (min-width: 769px) {
  .header.is-fixed .header__inner {
    padding-block: var(--spacing-md, 16px);
  }
}
@media screen and (min-width: 769px) {
  .header.is-fixed .header__site-branding {
    width: 160px;
    aspect-ratio: 160/35;
  }
}
.header.is-fixed .header__site-logo {
  height: 48px;
  background-image: url(../images/logo_partner.webp);
}
@media screen and (min-width: 769px) {
  .header.is-fixed .header__site-logo {
    background-image: url(../images/logo_partner.webp);
  }
}
@media screen and (min-width: 769px) {
  .header.is-fixed .site-nav-pc .site-nav-pc__link {
    color: var(--clr-text-ui);
    font-size: var(--f-size-en-lead);
  }
}

.site-nav-toggle {
  position: absolute;
  right: var(--unit-32);
  top: var(--unit-24);
  width: 41px;
  height: 32px;
  border: none;
  background: transparent;
  cursor: pointer;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  z-index: 1051;
}
@media screen and (min-width: 1025px) {
  .site-nav-toggle {
    display: none;
  }
}
.site-nav-toggle span {
  display: block;
  width: 100%;
  height: 3px;
  background-color: var(--clr-white);
}
.site-nav-toggle span:nth-child(1) {
  -webkit-transform-origin: 0% 0%;
          transform-origin: 0% 0%;
  -webkit-transition: -webkit-transform 0.6s ease-in-out;
  transition: -webkit-transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;
}
.site-nav-toggle span:nth-child(2) {
  -webkit-transition: -webkit-transform 0.2s ease-in-out;
  transition: -webkit-transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
}
.site-nav-toggle span:nth-child(3) {
  -webkit-transform-origin: 0% 100%;
          transform-origin: 0% 100%;
  -webkit-transition: -webkit-transform 0.6s ease-in-out;
  transition: -webkit-transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;
}
.site-nav-toggle.is-open span:nth-child(1) {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.site-nav-toggle.is-open span:nth-child(2) {
  -webkit-transform: scaleY(0);
          transform: scaleY(0);
}
.site-nav-toggle.is-open span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.header.is-fixed .site-nav-toggle span {
  background-color: var(--clr-text-ui);
  -webkit-transition: background-color 0.6s ease;
  transition: background-color 0.6s ease;
}
.header.is-fixed .site-nav-toggle span:nth-child(1) {
  -webkit-transition: -webkit-transform 0.6s ease-in-out;
  transition: -webkit-transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;
}
.header.is-fixed .site-nav-toggle span:nth-child(2) {
  -webkit-transition: -webkit-transform 0.2s ease-in-out;
  transition: -webkit-transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
}
.header.is-fixed .site-nav-toggle span:nth-child(3) {
  -webkit-transition: -webkit-transform 0.6s ease-in-out;
  transition: -webkit-transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;
}
.header.is-fixed .site-nav-toggle.is-open span {
  background-color: var(--clr-white);
}

.site-nav-pc {
  display: none;
}
@media screen and (min-width: 1025px) {
  .site-nav-pc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -ms-grid-column-align: center;
        justify-self: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.site-nav-pc__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: var(--spacing-2xl);
  -webkit-box-flex: 1;
      -ms-flex: 1 0 0px;
          flex: 1 0 0;
  padding: 0 var(--spacing-4xl);
}
@media screen and (min-width: 1441px) {
  .site-nav-pc__list {
    gap: var(--spacing-3xl);
  }
}
.site-nav-pc__link {
  font-size: var(--f-size-en-subhead);
  font-family: var(--f-family-open-sans);
  font-weight: var(--f-weight-bold);
  letter-spacing: 0.05em;
  color: var(--clr-text-ui-dark);
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
.site-nav-pc__link:hover {
  color: var(--clr-text-ui-dark--hover);
}

.header.is-fixed .site-nav-pc__link {
  font-size: var(--f-size-en-subhead);
  font-family: var(--f-family-open-sans);
  font-weight: var(--f-weight-bold);
  letter-spacing: 0.05em;
  color: var(--clr-text-ui-dark);
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
.header.is-fixed .site-nav-pc__link:hover {
  color: var(--clr-text-ui-dark--hover);
}
.header.is-fixed .c-lang-switch-button {
  --lang-switch-button-color: var(--clr-text-ui);
}
@media not all and (min-width: 1025px) {
  .header.is-fixed .c-lang-switch-button {
    --lang-switch-button-color: var(--clr-text-ui-dark);
  }
}
.header.is-fixed .c-lang-switch-button:hover {
  --lang-switch-button-color: var(--clr-text-ui--hover);
}

.site-nav-mobile {
  width: 80%;
  max-width: 320px;
  height: 100%;
  position: fixed;
  right: 0;
  top: 0;
  background: var(--clr-bg-dark);
  padding-inline: var(--spacing-xl);
  -webkit-padding-before: calc(130px + var(--spacing-lg));
          padding-block-start: calc(130px + var(--spacing-lg));
  z-index: 1050;
  -webkit-transform: translateX(150%);
          transform: translateX(150%);
  -webkit-transition: -webkit-transform 0.5s ease-in-out;
  transition: -webkit-transform 0.5s ease-in-out;
  transition: transform 0.5s ease-in-out;
  transition: transform 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out;
}
@media screen and (min-width: 1025px) {
  .site-nav-mobile {
    display: none;
  }
}
.site-nav-mobile.is-open {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
.site-nav-mobile__list * + * {
  -webkit-margin-before: 2em;
          margin-block-start: 2em;
}
.site-nav-mobile__item {
  font-family: var(--f-family-open-sans);
  font-size: var(--f-size-en-subhead);
  padding-inline: var(--spacing-sm);
}
.site-nav-mobile__item a:not(.c-button-primary) {
  display: block;
  width: 100%;
  letter-spacing: 0.05em;
  font-weight: var(--f-weight-medium);
  border-bottom: 1px solid var(--clr-white-a100);
  color: var(--clr-text-ui-dark);
  -webkit-transition: color 0.3s ease, border-color 0.3s ease;
  transition: color 0.3s ease, border-color 0.3s ease;
}
.site-nav-mobile__item a:not(.c-button-primary):hover {
  color: var(--clr-text-ui-dark--hover);
  border-color: var(--clr-white-a400);
}
.site-nav-mobile__item .c-button-primary {
  --button-ff: var(--f-family-open-sans);
}

.header__contact-button.c-button-primary {
  display: none;
}
@media screen and (min-width: 1025px) {
  .header__contact-button.c-button-primary {
    display: block;
  }
}

.site-notice-wrapper {
  position: relative;
}

.site-notice__checkbox {
  display: none;
}
.site-notice__checkbox:checked + .site-notice {
  display: none;
}

.site-notice {
  --notice-bg-clr: var(--clr-black);
  --notice-text-clr: var(--clr-white);
  display: block;
  background-color: var(--notice-bg-clr);
  padding: var(--spacing-md);
  position: relative;
}
.site-notice > * + * {
  -webkit-margin-before: var(--spacing-sm);
          margin-block-start: var(--spacing-sm);
}
.site-notice__close {
  position: absolute;
  top: 50%;
  right: var(--spacing-md);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 24px;
  height: 24px;
  color: var(--notice-text-clr);
  font-size: 24px;
  font-family: var(--f-family-open-sans);
  line-height: 1;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.site-notice__close:hover {
  opacity: 0.7;
}
.site-notice__text {
  font-size: var(--f-size-ja-caption);
  color: var(--notice-text-clr);
  text-align: center;
  line-height: var(--lineheight-sm);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: var(--width-mobile-content);
  margin: 0 auto;
  padding: 0;
  padding-right: calc(24px + var(--spacing-md) * 2);
}
@media screen and (min-width: 769px) {
  .site-notice__text {
    max-width: var(--width-desktop-content);
    font-size: var(--f-size-ja-body1);
  }
}
.site-notice__text > a {
  color: var(--clr-notice-link);
  text-decoration: underline;
}
.site-notice__text > a:hover {
  text-decoration: none;
}
.site-notice__text--jp {
  display: block;
}
.site-notice__text--en {
  display: none;
}
.site-notice--warning {
  --notice-bg-clr: var(--clr-border-card--red);
}
.site-notice--urgent {
  --notice-bg-clr: var(--clr-border-card--blue);
}

.page-template-page-en .site-notice__text--jp {
  display: none;
}
.page-template-page-en .site-notice__text--en {
  display: block;
}

.page-campaign .header__inner {
  background-color: var(--clr-bg-header-assort);
}

.page-privacy-policy .header__inner {
  background-color: var(--clr-bg-header-dark);
}

#hu-revoke.hu-position-bottom-right {
  --hu-revokeMarginX: 8px;
  --hu-revokeMarginY: 100px;
}

.l-footer {
  display: -ms-grid;
  display: grid;
  place-items: center;
  background-color: var(--clr-bg-dark);
  background-image: url(../images/top-hero-bg-sp@2x.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: var(--clr-white);
  -webkit-margin-before: var(--margin-section);
          margin-block-start: var(--margin-section);
  -webkit-padding-before: var(--spacing-5xl);
          padding-block-start: var(--spacing-5xl);
  -webkit-padding-after: var(--spacing-2xl);
          padding-block-end: var(--spacing-2xl);
}
@media screen and (min-width: 431px) {
  .l-footer {
    background-image: url(../images/top-hero-bg-pc.webp);
  }
}
@media screen and (min-width: 769px) {
  .l-footer {
    -webkit-margin-before: var(--spacing-6xl);
            margin-block-start: var(--spacing-6xl);
    -webkit-padding-before: var(--spacing-6xl);
            padding-block-start: var(--spacing-6xl);
  }
}

.site-footer__contact {
  -webkit-padding-after: var(--spacing-3xl);
          padding-block-end: var(--spacing-3xl);
}
.site-footer__contact .p-contact-form__text, .site-footer__contact .p-contact-form__textarea {
  color: var(--clr-text-ui-dark);
  background-color: var(--clr-white-a50);
  -webkit-transition: color 0.3s, background-color 0.3s;
  transition: color 0.3s, background-color 0.3s;
}
.site-footer__contact .p-contact-form__text:focus, .site-footer__contact .p-contact-form__textarea:focus {
  color: var(--clr-text-primary);
  background-color: var(--clr-white-a800);
}

.site-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: var(--lineheight-md);
  font-weight: var(--f-weight-bold);
  font-family: var(--f-family-open-sans);
  color: var(--clr-white-a700);
}
.site-info__logo {
  display: block;
  width: 180px;
  height: auto;
  aspect-ratio: 3005/647;
  background-image: url("../images/logo_partner_reverse.webp");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.site-info__logo:hover {
  opacity: 0.7;
}
.site-info__domain {
  -webkit-margin-before: var(--spacing-md);
          margin-block-start: var(--spacing-md);
  font-size: var(--f-size-ja-lead);
}
.site-info__copyright {
  font-size: var(--f-size-ja-caption);
}

.l-section {
  padding-inline: var(--spacing-md);
}
@media screen and (min-width: 769px) {
  .l-section {
    width: 100%;
    max-width: var(--width-laptop-content);
    margin-inline: auto;
  }
}
@media screen and (min-width: 1441px) {
  .l-section {
    max-width: var(--width-desktop-content);
    padding-inline: var(--spacing-lg);
  }
}

/* component
--------------------------------------------- */
.c-button-primary {
  --button-ff: var(--f-family-body);
  --button-fs: var(--f-size-en-body2);
  --button-fw: var(--f-weight-medium);
  --button-clr: var(--clr-text-ui-dark);
  --button-bg-clr: var(--clr-site-primary);
  --button-radius: var(--radius-full);
  border-bottom: none;
  padding: var(--spacing-md) var(--spacing-lg);
  border-radius: var(--button-radius);
  background-color: var(--button-bg-clr);
  line-height: 1;
  letter-spacing: 0.05em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: var(--button-clr);
  font-family: var(--button-ff);
  font-size: var(--button-fs);
  font-weight: var(--button-fw);
  -webkit-transform: scale(1) rotate(0deg);
          transform: scale(1) rotate(0deg);
  -webkit-transition: background-color 0.3s ease, -webkit-transform 0.3s ease;
  transition: background-color 0.3s ease, -webkit-transform 0.3s ease;
  transition: background-color 0.3s ease, transform 0.3s ease;
  transition: background-color 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
  display: -ms-grid;
  display: grid;
  place-items: center;
}
.c-button-primary:hover {
  --button-bg-clr: var(--clr-site-primary--bright);
  --button-clr: var(--clr-white);
  -webkit-transform: scale(1.05) rotate(0.0001deg);
          transform: scale(1.05) rotate(0.0001deg);
  cursor: pointer;
}
.c-button-primary.c-button-icon {
  padding: var(--spacing-md) calc(var(--spacing-xl) + 32px);
  position: relative;
  overflow: hidden;
}

.c-button-primary--medium {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-edge: cap;
  font-size: var(--unit-18);
  line-height: var(--lineheight-2xs);
}

.c-button-assort {
  --button-ff: var(--f-family-body);
  --button-fs: var(--f-size-en-body2);
  --button-fw: var(--f-weight-medium);
  --button-clr: var(--clr-text-ui-dark);
  --button-bg-clr: var(--clr-site-assort--dark);
  --button-radius: var(--radius-full);
  border-bottom: none;
  padding: var(--spacing-md) var(--spacing-lg);
  border-radius: var(--button-radius);
  background-color: var(--button-bg-clr);
  background-image: url(../images/button-assort-bg.webp);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
  line-height: 1;
  letter-spacing: 0.05em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: var(--button-clr);
  font-family: var(--button-ff);
  font-size: var(--button-fs);
  font-weight: var(--button-fw);
  -webkit-transform: scale(1) rotate(0deg);
          transform: scale(1) rotate(0deg);
  -webkit-transition: background-color 0.3s ease, background-size 0.3s ease, -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
  transition: background-color 0.3s ease, background-size 0.3s ease, -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
  transition: background-color 0.3s ease, transform 0.3s ease, filter 0.3s ease, background-size 0.3s ease;
  transition: background-color 0.3s ease, transform 0.3s ease, filter 0.3s ease, background-size 0.3s ease, -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
  display: -ms-grid;
  display: grid;
  place-items: center;
}
.c-button-assort:hover {
  --button-bg-clr: var(--clr-site-assort--bright);
  --button-clr: var(--clr-white);
  -webkit-transform: scale(1.05) rotate(0.0001deg);
          transform: scale(1.05) rotate(0.0001deg);
  background-size: 125% 125%;
  -webkit-filter: brightness(1.2);
          filter: brightness(1.2);
  cursor: pointer;
}
.c-button-assort:active {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-filter: brightness(0.9);
          filter: brightness(0.9);
}
.c-button-assort--extra-large {
  --button-fs: var(--unit-24);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: var(--spacing-lg) var(--spacing-3xl);
  leading-trim: both;
  text-edge: cap;
}
@media screen and (min-width: 1025px) {
  .c-button-assort--extra-large {
    --button-fs: var(--unit-32);
  }
}

.c-button-icon::before {
  content: "\e163";
  font-family: "Material Icons";
  font-size: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  top: 0;
  right: 0;
  width: 32px;
  height: 100%;
  background-color: var(--clr-overlay--bright);
  border-radius: 0 var(--button-radius) var(--button-radius) 0;
  text-align: center;
  -webkit-transform: translateX(32px);
          transform: translateX(32px);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.c-button-icon:hover::before {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.c-link-external {
  --external-icon-size: var(--unit-16);
  color: var(--clr-site-primary);
  text-decoration: none;
  display: inline-block;
  position: relative;
  -webkit-margin-end: var(--external-icon-size);
          margin-inline-end: var(--external-icon-size);
  opacity: 1;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.c-link-external:hover {
  opacity: 0.7;
}
.c-link-external::after {
  content: "\e89e";
  font-family: "Material Icons";
  font-size: var(--external-icon-size);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  top: 0;
  right: 0;
  width: var(--external-icon-size);
  height: var(--external-icon-size);
  -webkit-transform: translateX(var(--external-icon-size)) translateY(calc(var(--external-icon-size) / 2.5));
          transform: translateX(var(--external-icon-size)) translateY(calc(var(--external-icon-size) / 2.5));
}

.c-lang-switch-button {
  --lang-switch-button-color: var(--clr-text-ui-dark);
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: var(--f-size-en-body2);
  font-weight: var(--f-weight-bold);
  color: var(--lang-switch-button-color);
  padding: var(--spacing-xs) var(--spacing-sm);
  border: 1px solid var(--lang-switch-button-color);
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
  cursor: pointer;
}
.c-lang-switch-button:hover {
  --lang-switch-button-color: var(--clr-text-ui-dark--hover);
}
.c-lang-switch-button span {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.c-lang-switch-button span::before {
  content: "\e894";
  font-family: "Material Icons";
  font-size: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  top: 0;
  left: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 100%;
  -webkit-padding-end: var(--spacing-sm);
          padding-inline-end: var(--spacing-sm);
  text-align: center;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.c-section-title {
  font-size: var(--f-size-ja-hl1);
  font-weight: var(--f-weight-medium);
  line-height: var(--lineheight-sm);
}
@media not all and (min-width: 376px) {
  .c-section-title {
    font-size: var(--f-size-ja-hl2);
  }
}

.c-section-sub-title {
  font-size: var(--f-size-ja-subhead);
  line-height: var(--lineheight-sm);
}
@media not all and (min-width: 376px) {
  .c-section-sub-title {
    font-size: var(--f-size-ja-lead);
  }
}

.c-page-hero {
  display: -ms-grid;
  display: grid;
  place-items: center;
  background-color: var(--clr-bg-dark);
  background-image: url(../images/site-bg-01.webp);
  background-size: cover;
  background-position: left top;
  background-repeat: no-repeat;
  color: var(--clr-white);
  -webkit-padding-before: calc(78px + var(--spacing-xl));
          padding-block-start: calc(78px + var(--spacing-xl));
}
@media screen and (min-width: 431px) {
  .c-page-hero {
    height: 100%;
    -webkit-padding-before: var(--spacing-6xl, 128px);
            padding-block-start: var(--spacing-6xl, 128px);
  }
}
@media screen and (min-width: 769px) {
  .c-page-hero {
    -webkit-padding-before: var(--spacing-7xl, 160px);
            padding-block-start: var(--spacing-7xl, 160px);
  }
}
.c-page-hero__inner {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -ms-grid-rows: -webkit-max-content var(--spacing-xl) 1fr;
  -ms-grid-rows: max-content var(--spacing-xl) 1fr;
  grid-template-rows: -webkit-max-content 1fr;
  grid-template-rows: max-content 1fr;
      grid-template-areas: "text" "image";
  gap: var(--spacing-xl);
  width: 100%;
  -webkit-padding-before: 78px;
          padding-block-start: 78px;
}
@media screen and (min-width: 431px) {
  .c-page-hero__inner {
    gap: var(--spacing-2xl, 48px);
  }
}
@media screen and (min-width: 769px) {
  .c-page-hero__inner {
    width: 100%;
    margin-inline: auto;
  }
}
@media screen and (min-width: 1025px) {
  .c-page-hero__inner {
    -ms-grid-columns: -webkit-max-content 1fr;
    -ms-grid-columns: max-content 1fr;
    grid-template-columns: -webkit-max-content 1fr;
    grid-template-columns: max-content 1fr;
    -ms-grid-rows: -webkit-max-content;
    -ms-grid-rows: max-content;
    grid-template-rows: -webkit-max-content;
    grid-template-rows: max-content;
        grid-template-areas: "text image";
  }
}
@media screen and (min-width: 1441px) {
  .c-page-hero__inner {
    max-width: var(--width-desktop-large);
    -webkit-padding-after: var(--margin-block);
            padding-block-end: var(--margin-block);
  }
}
.c-page-hero__text-container, .c-page-hero__price {
  width: 90%;
  margin-inline: auto;
  padding-inline: var(--spacing);
}
@media screen and (min-width: 431px) {
  .c-page-hero__text-container, .c-page-hero__price {
    padding-inline: var(--spacing-xl);
  }
}
.c-page-hero__text-container {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: var(--spacing, 16px);
  grid-area: text;
}
.c-page-hero__title {
  font-family: var(--f-family-lato);
  font-size: var(--f-size-en-catch1);
  font-weight: var(--f-weight-medium);
  line-height: var(--lineheight-2xs);
}
@media screen and (min-width: 769px) {
  .c-page-hero__title {
    width: 10ch;
  }
}
.c-page-hero__text {
  font-size: var(--f-size-ja-subhead);
  line-height: var(--lineheight-md);
}
@media screen and (min-width: 769px) {
  .c-page-hero__text {
    width: 38ch;
  }
}
.c-page-hero__image-container {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -ms-grid-rows: 1fr var(--spacing-sm, 8px) -webkit-max-content;
  -ms-grid-rows: 1fr var(--spacing-sm, 8px) max-content;
  grid-template-rows: 1fr -webkit-max-content;
  grid-template-rows: 1fr max-content;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--spacing-sm, 8px);
  width: 100%;
  padding-inline: var(--spacing, 16px);
  margin-inline: auto;
  grid-area: image;
}
@media screen and (min-width: 1025px){
  .c-page-hero__text-container {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .c-page-hero__image-container {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
}
.c-page-hero__image-container > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
.c-page-hero__image-container > *:nth-child(2) {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
}
@media screen and (min-width: 431px) {
  .c-page-hero__image-container {
    padding-inline: var(--spacing-xl);
  }
}
@media screen and (min-width: 769px) {
  .c-page-hero__image-container {
    padding-inline: var(--spacing-2xl);
  }
}
@media screen and (min-width: 1025px) {
  .c-page-hero__image-container {
    padding-inline: 0 var(--spacing-2xl);
  }
}
.c-page-hero__image {
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 3561/2642;
}
@media screen and (min-width: 769px) {
  .c-page-hero__image {
    -ms-grid-column-align: end;
        justify-self: end;
  }
}
.c-page-hero--secondary {
  -webkit-padding-before: calc(72px + var(--spacing-xl));
          padding-block-start: calc(72px + var(--spacing-xl));
}
@media screen and (min-width: 431px) {
  .c-page-hero--secondary {
    height: 100%;
    -webkit-padding-before: var(--spacing-5xl);
            padding-block-start: var(--spacing-5xl);
  }
}
@media screen and (min-width: 769px) {
  .c-page-hero--secondary {
    -webkit-padding-before: var(--spacing-6xl);
            padding-block-start: var(--spacing-6xl);
  }
}
.c-page-hero--secondary .c-page-hero__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-block: var(--spacing-4xl) var(--spacing-xl);
}
@media screen and (min-width: 431px) {
  .c-page-hero--secondary .c-page-hero__inner {
    padding-block: var(--spacing-5xl) var(--spacing-2xl);
  }
}
@media screen and (min-width: 769px) {
  .c-page-hero--secondary .c-page-hero__inner {
    padding-block: var(--spacing-6xl) var(--spacing-3xl);
  }
}
.c-page-hero--secondary .c-page-hero__title {
  font-size: var(--f-size-en-catch3);
  line-height: var(--lineheight-2xs);
}
@media screen and (min-width: 769px) {
  .c-page-hero--secondary .c-page-hero__title {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

/* javascript
--------------------------------------------- */
/* project
--------------------------------------------- */
.top-hero {
  height: 100%;
  display: -ms-grid;
  display: grid;
  place-items: center;
  background-color: var(--clr-bg-dark);
  background-image: url(../images/site-bg-01.webp);
  background-size: cover;
  background-position: left top;
  background-repeat: no-repeat;
  color: var(--clr-white);
  -webkit-padding-before: calc(78px + var(--spacing-lg));
          padding-block-start: calc(78px + var(--spacing-lg));
}
@media screen and (min-width: 431px) {
  .top-hero {
    height: 100%;
    -webkit-padding-before: var(--spacing-6xl, 128px);
            padding-block-start: var(--spacing-6xl, 128px);
  }
}
@media screen and (min-width: 769px) {
  .top-hero {
    -webkit-padding-before: var(--spacing-7xl, 160px);
            padding-block-start: var(--spacing-7xl, 160px);
  }
}
.top-hero__inner {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -ms-grid-rows: -webkit-max-content var(--spacing-3xl) 1fr;
  -ms-grid-rows: max-content var(--spacing-3xl) 1fr;
  grid-template-rows: -webkit-max-content 1fr;
  grid-template-rows: max-content 1fr;
  row-gap: var(--spacing-3xl);
  width: 100%;
  -webkit-padding-before: calc(var(--margin-object) + 78px);
          padding-block-start: calc(var(--margin-object) + 78px);
}
.top-hero__inner > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
.top-hero__inner > *:nth-child(2) {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
}
@media screen and (min-width: 431px) {
  .top-hero__inner {
    row-gap: var(--spacing-5xl);
  }
}
@media screen and (min-width: 769px) {
  .top-hero__inner {
    width: 100%;
    margin-inline: auto;
    -webkit-padding-before: 78px;
            padding-block-start: 78px;
  }
}
@media screen and (min-width: 1025px) {
  .top-hero__inner {
    -ms-grid-columns: -webkit-max-content 1fr;
    -ms-grid-columns: max-content 1fr;
    grid-template-columns: -webkit-max-content 1fr;
    grid-template-columns: max-content 1fr;
    -ms-grid-rows: -webkit-max-content;
    -ms-grid-rows: max-content;
    grid-template-rows: -webkit-max-content;
    grid-template-rows: max-content;
    -webkit-padding-before: var(--spacing-3xl);
            padding-block-start: var(--spacing-3xl);
  }
  .top-hero__inner > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .top-hero__inner > *:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
}
@media screen and (min-width: 1441px) {
  .top-hero__inner {
    max-width: var(--width-desktop-large);
    -webkit-padding-after: var(--margin-section);
            padding-block-end: var(--margin-section);
  }
}
.top-hero__text-container {
  width: 90%;
  margin-inline: auto;
  padding-inline: var(--spacing);
}
@media screen and (min-width: 431px) {
  .top-hero__text-container {
    padding-inline: var(--spacing-xl);
  }
}
.top-hero__text-container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: var(--spacing, 16px);
}
.top-hero__title {
  font-family: var(--f-family-lato);
  font-size: var(--f-size-en-catch1);
  font-weight: var(--f-weight-medium);
  line-height: var(--lineheight-2xs);
}
@media screen and (min-width: 769px) {
  .top-hero__title {
    width: 10ch;
  }
}
.top-hero__text {
  font-size: var(--f-size-ja-subhead);
  line-height: var(--lineheight-md);
}
@media not all and (min-width: 376px) {
  .top-hero__text {
    font-size: var(--f-size-ja-lead);
  }
}
@media screen and (min-width: 769px) {
  .top-hero__text {
    width: 38ch;
  }
}
.top-hero__price {
  -ms-grid-column-align: start;
      justify-self: start;
  font-size: var(--f-size-en-hl2);
  font-weight: var(--f-weight-bold);
  font-family: var(--f-family-lato);
  line-height: var(--lineheight-2xs);
  -webkit-margin-before: var(--margin-object);
          margin-block-start: var(--margin-object);
}
.top-hero__price > span {
  font-size: var(--f-size-en-catch2);
}
.top-hero__image-container {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -ms-grid-rows: 1fr var(--spacing-sm, 8px) -webkit-max-content;
  -ms-grid-rows: 1fr var(--spacing-sm, 8px) max-content;
  grid-template-rows: 1fr -webkit-max-content;
  grid-template-rows: 1fr max-content;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--spacing-sm, 8px);
  width: 100%;
  padding-inline: var(--spacing, 16px);
  margin-inline: auto;
  -webkit-transform: translateX(16px);
          transform: translateX(16px);
}
.top-hero__image-container > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
.top-hero__image-container > *:nth-child(2) {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
}
@media screen and (min-width: 431px) {
  .top-hero__image-container {
    padding-inline: var(--spacing-xl);
  }
}
@media screen and (min-width: 769px) {
  .top-hero__image-container {
    padding-inline: var(--spacing-2xl);
  }
}
@media screen and (min-width: 1025px) {
  .top-hero__image-container {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
.top-hero__image {
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 4167/3017;
}
@media screen and (min-width: 769px) {
  .top-hero__image {
    -ms-grid-column-align: end;
        justify-self: end;
  }
}

.p-top-main {
  color: var(--clr-text-primary);
  -webkit-margin-before: var(--margin-section);
          margin-block-start: var(--margin-section);
}
.p-top-main > * + * {
  -webkit-margin-before: var(--margin-section);
          margin-block-start: var(--margin-section);
}

.p-top-recommend > * + * {
  -webkit-margin-before: var(--margin-block);
          margin-block-start: var(--margin-block);
}
.p-top-recommend__header {
  text-align: center;
}
.p-top-recommend__header > * + * {
  -webkit-margin-before: var(--flow-md);
          margin-block-start: var(--flow-md);
}
.p-top-recommend__title {
  font-size: var(--f-size-en-catch2);
  font-weight: var(--f-weight-bold);
  line-height: var(--lineheight-xs);
  font-family: var(--f-family-lato);
  color: var(--clr-site-primary);
}
.p-top-recommend__sub-title {
  font-size: var(--f-size-ja-hl2);
  line-height: var(--lineheight-sm);
}
.p-top-recommend__annotation {
  font-size: var(--f-size-ja-caption);
  line-height: var(--lineheight-xs);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.p-top-recommend__free-list {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--spacing-md);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  font-family: var(--f-family-lato);
  font-size: var(--f-size-en-hl3);
  font-weight: var(--f-weight-bold);
  line-height: var(--lineheight-xs);
}
.p-top-recommend__free-list::before, .p-top-recommend__free-list::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: calc((16px + var(--spacing-lg)) * -1);
  width: 16px;
  height: 100%;
  background: url(../images/deco-bar-hor-grad.svg) no-repeat center center/contain;
}
@media screen and (min-width: 1025px) {
  .p-top-recommend__free-list::before, .p-top-recommend__free-list::after {
    left: calc((16px + var(--spacing-3xl)) * -1);
  }
}
.p-top-recommend__free-list::after {
  left: auto;
  right: calc((16px + var(--spacing-lg)) * -1);
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}
@media screen and (min-width: 1025px) {
  .p-top-recommend__free-list::after {
    right: calc((16px + var(--spacing-3xl)) * -1);
  }
}
.p-top-recommend__free-item span {
  color: var(--clr-site-primary);
}
.p-top-recommend__footer {
  text-align: center;
}
.p-top-recommend__footer-text {
  font-size: var(--f-size-ja-hl2);
  line-height: var(--lineheight-sm);
}
@media not all and (min-width: 376px) {
  .p-top-recommend__footer-text {
    font-size: var(--f-size-ja-hl3);
  }
}

.p-top-movie {
  width: 100%;
  background-color: var(--clr-bg-dark);
  padding-block: var(--spacing-3xl);
  margin-inline: auto;
}
.p-top-movie__inner {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  aspect-ratio: 16/9;
  position: relative;
  cursor: pointer;
}
.p-top-movie__video {
  width: 100%;
  max-width: var(--width-desktop-content);
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
.p-top-movie__video:hover {
  cursor: pointer;
  opacity: 0.7;
}
.p-top-movie__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100% - 70px);
  display: block;
  background: var(--clr-white);
  opacity: 0;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
.p-top-movie__overlay:hover {
  opacity: 0.1;
  background-blend-mode: overlay;
}

.p-top-payment > * + * {
  -webkit-margin-before: var(--margin-block);
          margin-block-start: var(--margin-block);
}
.p-top-payment__header {
  text-align: center;
}
.p-top-payment__header > * + * {
  -webkit-margin-before: var(--flow-md);
          margin-block-start: var(--flow-md);
}
.p-top-payment__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--margin-block);
}

.p-top-payment-card {
  --card-clr: var(--clr-border-card--blue);
  background-color: var(--clr-white);
  border: 4px solid var(--card-clr);
  border-radius: var(--radius-lg);
  -webkit-padding-after: var(--spacing-xl);
          padding-block-end: var(--spacing-xl);
}
.p-top-payment-card__name {
  font-size: var(--f-size-en-hl2);
  font-weight: var(--f-weight-bold);
  line-height: var(--lineheight-xs);
  font-family: var(--f-family-lato);
  color: var(--clr-white);
  background-color: var(--card-clr);
  background-image: url(../images/site-bg-01.webp);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
  padding: var(--spacing-md) var(--spacing-lg);
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  margin: -4px;
  text-align: center;
}
.p-top-payment-card__description {
  font-size: var(--f-size-ja-body1);
  line-height: var(--lineheight-md);
  -webkit-margin-before: calc(var(--spacing-md) + 4px);
          margin-block-start: calc(var(--spacing-md) + 4px);
  padding-inline: var(--spacing-md);
}
@media screen and (min-width: 769px) {
  .p-top-payment-card__description {
    padding-inline: var(--spacing-2xl);
  }
}
@media screen and (min-width: 1025px) {
  .p-top-payment-card__description {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  }
}
.p-top-payment-card__description > .u-emphasis {
  --emphasis-display: inline;
  --emphasis-color: var(--card-clr);
}
.p-top-payment-card__body {
  -webkit-margin-before: var(--margin-object);
          margin-block-start: var(--margin-object);
}
.p-top-payment-card__example {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: var(--spacing-md);
  padding-inline: var(--spacing-md);
}
@media screen and (min-width: 1025px) {
  .p-top-payment-card__example {
    -ms-grid-columns: 1fr var(--spacing-lg) -webkit-max-content var(--spacing-lg) 1fr;
    -ms-grid-columns: 1fr var(--spacing-lg) max-content var(--spacing-lg) 1fr;
    grid-template-columns: 1fr -webkit-max-content 1fr;
    grid-template-columns: 1fr max-content 1fr;
    gap: var(--spacing-lg);
    padding-inline: 0;
    -webkit-padding-after: 0;
            padding-block-end: 0;
  }
}
.p-top-payment-card__expense, .p-top-payment-card__check {
  text-align: center;
  padding-inline: var(--spacing-md);
}
.p-top-payment-card__label {
  display: block;
  margin-inline: auto;
  font-size: var(--f-size-ja-hl3);
  line-height: var(--lineheight-xs);
  padding: var(--spacing-sm) var(--spacing-xl);
  background-color: var(--card-clr);
  background-image: url(../images/site-bg-01.webp);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  color: var(--clr-white);
  text-align: center;
}
.p-top-payment-card__expense-amount {
  display: block;
  -webkit-margin-before: var(--spacing-md);
          margin-block-start: var(--spacing-md);
  font-size: var(--f-size-en-hl2);
  font-weight: var(--f-weight-bold);
  line-height: var(--lineheight-xs);
  font-family: var(--f-family-lato);
}
.p-top-payment-card__icon {
  position: relative;
  width: 30px;
  height: 42px;
  margin-inline: auto;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='42' viewBox='0 0 30 42' fill='none'%3E%3Cpath d='M3 39L27 21L3 3' stroke='%2304256d' stroke-width='6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center center/contain;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
@media screen and (min-width: 1025px) {
  .p-top-payment-card__icon {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
.p-top-payment-card__cash, .p-top-payment-card__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: var(--f-size-ja-hl3);
  line-height: var(--lineheight-xs);
  font-weight: var(--f-weight-medium);
  letter-spacing: 0.05em;
  -webkit-padding-end: var(--spacing-3xl);
          padding-inline-end: var(--spacing-3xl);
}
@media screen and (min-width: 1025px) {
  .p-top-payment-card__cash, .p-top-payment-card__card {
    -webkit-padding-end: var(--spacing-5xl);
            padding-inline-end: var(--spacing-5xl);
  }
}
.p-top-payment-card__cash {
  -webkit-margin-before: var(--spacing-md);
          margin-block-start: var(--spacing-md);
}
.p-top-payment-card__card {
  -webkit-margin-before: var(--spacing-sm);
          margin-block-start: var(--spacing-sm);
}
.p-top-payment-card__amount {
  font-size: var(--f-size-en-hl2);
  font-weight: var(--f-weight-bold);
  line-height: var(--lineheight-xs);
  font-family: var(--f-family-lato);
}
.p-top-payment-card__discount, .p-top-payment-card__fee {
  position: relative;
}
.p-top-payment-card__discount .p-top-payment-card__amount, .p-top-payment-card__fee .p-top-payment-card__amount {
  color: var(--card-clr);
}
.p-top-payment-card__discount::after, .p-top-payment-card__fee::after {
  position: absolute;
  top: 0;
  right: calc((var(--spacing-xl) + 4px) * -1);
  content: "値引き";
  font-size: var(--f-size-ja-subhead);
  line-height: var(--lineheight-xs);
  font-weight: var(--f-weight-medium);
  color: var(--clr-white);
  background-color: var(--card-clr);
  padding: var(--spacing-sm) var(--spacing-md);
}
@media screen and (min-width: 1025px) {
  .p-top-payment-card__discount::after, .p-top-payment-card__fee::after {
    right: calc((var(--spacing-md) + 4px) * -1);
  }
}
.p-top-payment-card__fee::after {
  content: "手数料";
}
.p-top-payment-card__discount--en::after {
  content: "Discount";
  font-size: var(--f-size-en-body2);
}
.p-top-payment-card__fee--en::after {
  content: "Fee";
  font-size: var(--f-size-en-body2);
}
.p-top-payment-card.p-top-payment__dual-pricing {
  --card-clr: var(--clr-border-card--red);
}
.p-top-payment-card.p-top-payment__dual-pricing .p-top-payment-card__name {
  background-image: url(../images/site-bg-02.webp);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
}
.p-top-payment-card.p-top-payment__dual-pricing .p-top-payment-card__label {
  background-image: url(../images/site-bg-02.webp);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.p-top-payment-card.p-top-payment__dual-pricing .p-top-payment-card__icon {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='42' viewBox='0 0 30 42' fill='none'%3E%3Cpath d='M3 39L27 21L3 3' stroke='%23860414' stroke-width='6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center center/contain;
}

.p-top-rating {
  background-color: var(--clr-bg-light-gray);
  padding-block: var(--spacing-3xl);
}
.p-top-rating > * + * {
  -webkit-margin-before: var(--margin-block);
          margin-block-start: var(--margin-block);
}
.p-top-rating__header {
  text-align: center;
}
.p-top-rating__header > * + * {
  -webkit-margin-before: var(--flow-md);
          margin-block-start: var(--flow-md);
}
.p-top-rating__review {
  -webkit-margin-before: var(--margin-block);
          margin-block-start: var(--margin-block);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--spacing-xl);
}
@media screen and (min-width: 769px) {
  .p-top-rating__review {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.p-top-rating__review-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--spacing-sm);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-top-rating__review-image {
  width: 100%;
  max-width: 180px;
  height: auto;
  aspect-ratio: 293/139;
}

.p-top-features > * + * {
  -webkit-margin-before: var(--margin-block);
          margin-block-start: var(--margin-block);
}
.p-top-features__header {
  text-align: center;
}
.p-top-features__header > * + * {
  -webkit-margin-before: var(--flow-md);
          margin-block-start: var(--flow-md);
}
.p-top-features__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  row-gap: var(--spacing-lg);
}
.p-top-features__list-item {
  width: 40%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--spacing-sm);
  cursor: inherit;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.p-top-features__list-item:hover {
  cursor: pointer;
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
@media screen and (min-width: 431px) {
  .p-top-features__list-item {
    width: 30%;
  }
}
@media screen and (min-width: 769px) {
  .p-top-features__list-item {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.p-top-features__list-item-image {
  width: 100%;
  max-width: 85px;
  height: auto;
  aspect-ratio: 1/1;
}
.p-top-features__list-item-caption {
  font-size: var(--unit-16);
  font-family: var(--f-family-open-sans);
  font-weight: var(--f-weight-medium);
  line-height: var(--lineheight-sm);
  text-align: center;
  -webkit-transition: color 0.1s ease;
  transition: color 0.1s ease;
}
.p-top-features__list-item:hover .p-top-features__list-item-caption {
  color: var(--clr-site-primary);
}

.p-top-platform {
  background-color: var(--clr-bg-light-gray);
  padding-block: var(--spacing-3xl);
}
.p-top-platform > * + * {
  -webkit-margin-before: var(--margin-block);
          margin-block-start: var(--margin-block);
}
.p-top-platform__header {
  text-align: center;
}
.p-top-platform__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--spacing-xl);
}
@media screen and (min-width: 769px) {
  .p-top-platform__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    width: 100%;
    max-width: var(--width-desktop-large);
    margin-inline: auto;
  }
}
.p-top-platform__visual {
  margin-inline: auto;
}
.p-top-platform__visual-image {
  width: 100%;
  max-width: 860px;
  height: auto;
  aspect-ratio: 430/267;
}
@media screen and (min-width: 769px) {
  .p-top-platform__visual-image {
    border-top-left-radius: 32px;
  }
}
.p-top-platform__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  row-gap: var(--spacing-lg);
}
.p-top-platform__list-item {
  width: 40%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--spacing-sm);
}
@media screen and (min-width: 1441px) {
  .p-top-platform__list-item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.p-top-platform__list-item-image {
  width: 100%;
  max-width: 85px;
  height: auto;
  aspect-ratio: 1/1;
}
@media screen and (min-width: 431px) {
  .p-top-platform__list-item-image {
    width: 48px;
    max-width: 48px;
  }
}
.p-top-platform__list-item-caption {
  font-size: var(--unit-16);
  font-family: var(--f-family-open-sans);
  font-weight: var(--f-weight-medium);
  line-height: var(--lineheight-sm);
  text-align: center;
}
@media screen and (min-width: 431px) {
  .p-top-platform__list-item-caption {
    font-size: var(--unit-14);
  }
}
.p-top-platform__button {
  --button-fs: var(--f-size-ja-subhead);
  margin-inline: auto;
  -webkit-margin-before: var(--margin-block);
          margin-block-start: var(--margin-block);
}
@media screen and (min-width: 769px) {
  .p-top-platform__button {
    margin-inline: auto var(--spacing-xl);
  }
}
@media screen and (min-width: 1025px) {
  .p-top-platform__button {
    margin-inline: auto var(--spacing-3xl);
  }
}
@media screen and (min-width: 1441px) {
  .p-top-platform__button {
    margin-inline: auto 24%;
  }
}

.p-top-hardware > * + * {
  -webkit-margin-before: var(--margin-block);
          margin-block-start: var(--margin-block);
}
.p-top-hardware__header {
  text-align: center;
}
.p-top-hardware__header > * + * {
  -webkit-margin-before: var(--flow-md);
          margin-block-start: var(--flow-md);
}
.p-top-hardware__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -ms-grid-rows: -webkit-max-content var(--margin-block) -webkit-max-content var(--margin-block) -webkit-max-content;
  -ms-grid-rows: max-content var(--margin-block) max-content var(--margin-block) max-content;
  grid-template-rows: repeat(3, -webkit-max-content);
  grid-template-rows: repeat(3, max-content);
  row-gap: var(--margin-block);
  padding-inline: var(--spacing-lg);
}
.p-top-hardware__list > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
.p-top-hardware__list > *:nth-child(2) {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
}
.p-top-hardware__list > *:nth-child(3) {
  -ms-grid-row: 5;
  -ms-grid-column: 1;
}
@media screen and (min-width: 769px) {
  .p-top-hardware__list {
    -ms-grid-columns: 1fr var(--margin-block) 1fr var(--margin-block) 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--margin-block);
  }
}
.p-top-hardware__list-item {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -ms-grid-rows: -webkit-max-content var(--margin-object) -webkit-max-content var(--margin-object) 1fr;
  -ms-grid-rows: max-content var(--margin-object) max-content var(--margin-object) 1fr;
  grid-template-rows: -webkit-max-content -webkit-max-content 1fr;
  grid-template-rows: max-content max-content 1fr;
  gap: var(--margin-object);
  width: 100%;
  margin-inline: auto;
}
.p-top-hardware__list-item > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
.p-top-hardware__list-item > *:nth-child(2) {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
}
.p-top-hardware__list-item > *:nth-child(3) {
  -ms-grid-row: 5;
  -ms-grid-column: 1;
}
@media screen and (min-width: 769px) {
  .p-top-hardware__list-item {
    -ms-grid-columns: subgrid;
    grid-template-columns: subgrid;
    -ms-grid-rows: subgrid;
    grid-template-rows: subgrid;
    -ms-grid-row-span: 3;
    grid-row: span 3;
  }
  .p-top-hardware__list-item > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
}
.p-top-hardware__list-item > * + * {
  padding-inline: var(--spacing-md);
}
.p-top-hardware__list-item-image {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
}
.p-top-hardware__list-item-title {
  position: relative;
  font-size: var(--f-size-en-hl3);
  font-weight: var(--f-weight-bold);
  line-height: var(--lineheight-sm);
  font-family: var(--f-family-open-sans);
}
.p-top-hardware__list-item-title::after {
  content: "";
  display: block;
  width: 50%;
  height: 2px;
  background-color: var(--clr-site-tertiary);
  -webkit-margin-before: var(--spacing-sm);
          margin-block-start: var(--spacing-sm);
}
.p-top-hardware__list-item-caption {
  font-size: var(--f-size-ja-body2);
  line-height: var(--lineheight-sm);
}
.p-top-hardware__footer {
  text-align: center;
}
.p-top-hardware__footer-caption {
  font-size: var(--f-size-ja-hl3);
  font-weight: var(--f-weight-medium);
  line-height: var(--lineheight-lg);
  letter-spacing: 0.05em;
}
.p-top-hardware__button {
  margin-inline: auto;
  -webkit-margin-before: var(--margin-block);
          margin-block-start: var(--margin-block);
}

.p-top-payment--en .p-top-payment-card__cash, .p-top-payment--en .p-top-payment-card__card {
  font-size: var(--f-size-en-subhead);
}

.p-features-main {
  color: var(--clr-text-primary);
  -webkit-margin-before: var(--margin-section);
          margin-block-start: var(--margin-section);
}
.p-features-main > * + * {
  -webkit-margin-before: var(--margin-section);
          margin-block-start: var(--margin-section);
}

.p-features-list {
  width: 100%;
  margin-inline: auto;
}
.p-features-list__inner {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -ms-grid-rows: -webkit-max-content;
  -ms-grid-rows: max-content;
  grid-template-rows: -webkit-max-content;
  grid-template-rows: max-content;
  gap: 0;
}
.p-features-list__inner > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
.p-features-list__item {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -ms-grid-rows: -webkit-max-content 0 1fr;
  -ms-grid-rows: max-content 0 1fr;
  grid-template-rows: -webkit-max-content 1fr;
  grid-template-rows: max-content 1fr;
      grid-template-areas: "first" "second";
  gap: 0;
  background-color: var(--clr-bg-light);
  color: var(--clr-text-primary);
}
@media screen and (min-width: 431px) {
  .p-features-list__item {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    -ms-grid-rows: -webkit-max-content;
    -ms-grid-rows: max-content;
    grid-template-rows: -webkit-max-content;
    grid-template-rows: max-content;
        grid-template-areas: "second first";
  }
}
.p-features-list__item .p-features-list__first-cell {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  grid-area: second;
  -webkit-padding-after: var(--spacing-3xl);
          padding-block-end: var(--spacing-3xl);
}
@media screen and (min-width: 431px) {
  .p-features-list__item .p-features-list__first-cell {
    -webkit-padding-after: 0;
            padding-block-end: 0;
  }
}
.p-features-list__item .p-features-list__second-cell {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: first;
  padding-block: 0;
}
@media screen and (min-width: 431px){
  .p-features-list__item .p-features-list__first-cell {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-features-list__item .p-features-list__second-cell {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
}
@media screen and (min-width: 431px) {
  .p-features-list__item:nth-child(even) {
    direction: rtl;
  }
}
.p-features-list__item--gray {
  background-color: var(--clr-bg-light-gray);
}
.p-features-list__item--dark {
  background-color: var(--clr-bg-dark);
  color: var(--clr-text-ui-dark);
}
.p-features-list__cell {
  display: -ms-grid;
  display: grid;
  place-content: center start;
  padding-block: var(--spacing-xl);
}
@media screen and (min-width: 1025px) {
  .p-features-list__cell {
    padding-block: var(--spacing-2xl);
  }
}
.p-features-list__first-cell {
  padding-inline: var(--spacing-2xl);
}
@media screen and (min-width: 769px) {
  .p-features-list__first-cell {
    padding-inline: var(--spacing-xl);
  }
}
@media screen and (min-width: 1025px) {
  .p-features-list__first-cell {
    padding-inline: var(--spacing-3xl);
  }
}
.p-features-list__title {
  font-size: var(--f-size-en-hl3);
  font-weight: var(--f-weight-bold);
  line-height: var(--lineheight-xs);
  font-family: var(--f-family-lato);
  direction: ltr;
}
@media screen and (min-width: 1025px) {
  .p-features-list__title {
    font-size: var(--f-size-en-hl1);
  }
}
.p-features-list__description, .p-features-list__features {
  font-size: var(--f-size-ja-body1);
  line-height: var(--lineheight-md);
  direction: ltr;
  -webkit-margin-before: var(--spacing-md);
          margin-block-start: var(--spacing-md);
}
@media screen and (min-width: 769px) {
  .p-features-list__description {
    font-size: var(--f-size-ja-subhead);
  }
}
.p-features-list__features {
  list-style: none;
}
.p-features-list__features li {
  padding-left: 1.5em;
  text-indent: -1.5em;
}
@media not all and (min-width: 376px) {
  .p-features-list__features li {
    font-size: var(--f-size-ja-body2);
  }
}
.p-features-list__features li::before {
  content: "•";
  color: var(--clr-site-primary);
  padding-right: 0.5em;
}
.p-features-list__image {
  width: 100%;
  height: auto;
  aspect-ratio: 9/8;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-features-list__image--air {
  aspect-ratio: 75/71;
}

@media screen and (min-width: 769px) {
  .p-pricing-hero__image-container {
    -webkit-padding-after: var(--spacing-2xl);
            padding-block-end: var(--spacing-2xl);
  }
}

.p-pricing-main {
  color: var(--clr-text-primary);
  -webkit-margin-before: var(--margin-section);
          margin-block-start: var(--margin-section);
}
.p-pricing-main > * + * {
  -webkit-margin-before: var(--margin-section);
          margin-block-start: var(--margin-section);
}

.p-pricing-list {
  width: 100%;
  margin-inline: auto;
}
.p-pricing-list__inner {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -ms-grid-rows: -webkit-max-content;
  -ms-grid-rows: max-content;
  grid-template-rows: -webkit-max-content;
  grid-template-rows: max-content;
  gap: 0;
}
.p-pricing-list__inner > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
.p-pricing-list__inner > * + * {
  -webkit-margin-before: var(--spacing-3xl);
          margin-block-start: var(--spacing-3xl);
}
@media screen and (min-width: 769px) {
  .p-pricing-list__inner > * + * {
    -webkit-margin-before: 0;
            margin-block-start: 0;
  }
}
.p-pricing-list__item {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -ms-grid-rows: -webkit-max-content var(--spacing-xl) 1fr;
  -ms-grid-rows: max-content var(--spacing-xl) 1fr;
  grid-template-rows: -webkit-max-content 1fr;
  grid-template-rows: max-content 1fr;
  gap: var(--spacing-xl);
  background-color: var(--clr-bg-light);
  color: var(--clr-text-primary);
}
.p-pricing-list__item > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
.p-pricing-list__item > *:nth-child(2) {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
}
@media screen and (min-width: 769px) {
  .p-pricing-list__item {
    -ms-grid-columns: 1fr 0 1fr;
    grid-template-columns: repeat(2, 1fr);
    -ms-grid-rows: -webkit-max-content;
    -ms-grid-rows: max-content;
    grid-template-rows: -webkit-max-content;
    grid-template-rows: max-content;
    gap: 0;
  }
  .p-pricing-list__item > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-pricing-list__item > *:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
}
@media screen and (min-width: 769px) {
  .p-pricing-list__item:nth-child(even) {
    direction: rtl;
  }
}
.p-pricing-list__cell {
  display: -ms-grid;
  display: grid;
}
.p-pricing-list__second-cell {
  padding-inline: var(--spacing-2xl);
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -ms-grid-rows: -webkit-max-content;
  -ms-grid-rows: max-content;
  grid-template-rows: -webkit-max-content;
  grid-template-rows: max-content;
  gap: var(--spacing-xl);
  place-content: center;
  direction: ltr;
}
.p-pricing-list__second-cell > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
@media screen and (min-width: 1025px) {
  .p-pricing-list__second-cell {
    padding-inline: var(--spacing-3xl);
  }
}
.p-pricing-list__image {
  width: 100%;
  height: auto;
  aspect-ratio: 720/480;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-pricing-list__detail > * + * {
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
}
.p-pricing-list__title {
  font-family: var(--f-family-lato);
  font-size: var(--f-size-en-catch3);
  font-weight: var(--f-weight-bold);
  line-height: var(--lineheight-xs);
}
@media screen and (min-width: 1441px) {
  .p-pricing-list__title {
    font-size: var(--f-size-en-catch2);
  }
}
.p-pricing-list__text {
  font-size: var(--f-size-ja-body1);
  line-height: var(--lineheight-sm);
}
@media screen and (min-width: 1441px) {
  .p-pricing-list__text {
    font-size: var(--f-size-ja-hl3);
  }
}
.p-pricing-list__price {
  font-family: var(--f-family-lato);
  font-size: var(--f-size-en-hl3);
  font-weight: var(--f-weight-bold);
  line-height: var(--lineheight-xs);
  text-align: right;
}
.p-pricing-list__price > span {
  font-size: var(--f-size-en-catch3);
}
.p-pricing-list__button {
  -webkit-margin-start: auto;
          margin-inline-start: auto;
}

.p-contact-hero__image {
  -ms-grid-column-align: center;
      justify-self: center;
}
@media screen and (min-width: 769px) {
  .p-contact-hero__image {
    -ms-grid-column-align: end;
        justify-self: end;
  }
}

.p-contact-main {
  color: var(--clr-text-primary);
  -webkit-margin-before: var(--margin-section);
          margin-block-start: var(--margin-section);
}
.p-contact-main > * + * {
  -webkit-margin-before: var(--margin-section);
          margin-block-start: var(--margin-section);
}

.p-contact-form__title {
  font-size: var(--f-size-ja-catch3);
  font-weight: var(--f-weight-medium);
  line-height: var(--lineheight-xs);
  text-align: center;
}
.p-contact-form__inner {
  width: 100%;
  padding-inline: var(--padding-inline-md);
  max-width: var(--width-inner);
  margin-inline: auto;
  -webkit-margin-before: var(--spacing-3xl);
          margin-block-start: var(--spacing-3xl);
}
.p-contact-form__form {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -ms-grid-rows: -webkit-max-content;
  -ms-grid-rows: max-content;
  grid-template-rows: -webkit-max-content;
  grid-template-rows: max-content;
  row-gap: var(--margin-block);
  -webkit-column-gap: var(--margin-object);
     -moz-column-gap: var(--margin-object);
          column-gap: var(--margin-object);
  margin-inline: auto;
}
.p-contact-form__form > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
@media screen and (min-width: 769px) {
  .p-contact-form__form {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }
}
.p-contact-form__form > p {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.p-contact-form__form > p:last-child {
  width: 100%;
  grid-column: 1/-1;
}
.p-contact-form__label {
  font-size: var(--f-size-ja-subhead);
  font-weight: var(--f-weight-bold);
  line-height: var(--lineheight-lg);
}
.p-contact-form__required {
  display: inline-block;
  -webkit-margin-start: var(--spacing-xs);
          margin-inline-start: var(--spacing-xs);
  padding: var(--spacing-xs) var(--spacing-sm);
  border-radius: var(--radius-md);
  font-size: var(--f-size-ja-caption);
  font-weight: var(--f-weight-bold);
  line-height: var(--lineheight-xs);
  color: var(--clr-text-ui-dark);
  background-color: var(--clr-site-tertiary);
  -webkit-transform: translateY(-0.25em);
          transform: translateY(-0.25em);
}
.p-contact-form__text, .p-contact-form__textarea {
  width: 32ch;
  font-size: var(--f-size-ja-body2);
  line-height: var(--lineheight-sm);
  padding: var(--spacing-sm);
  border: 1px solid var(--clr-border-ui);
  color: var(--clr-site-secondary--bright);
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
.p-contact-form__text:focus, .p-contact-form__textarea:focus {
  color: var(--clr-text-primary);
}
.p-contact-form__textarea {
  width: 100%;
  height: 18ch;
}
.p-contact-form__submit {
  -webkit-margin-before: var(--margin-block);
          margin-block-start: var(--margin-block);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.p-contact-form__submit > p {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.wpcf7-form-control-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--spacing-xs);
  -webkit-margin-before: var(--spacing-sm);
          margin-block-start: var(--spacing-sm);
}

.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output {
  margin: var(--margin-block) auto;
  padding: var(--spacing-sm) var(--spacing);
  width: 80vw;
}
@media screen and (min-width: 769px) {
  .wpcf7 form.init .wpcf7-response-output,
  .wpcf7 form.resetting .wpcf7-response-output,
  .wpcf7 form.submitting .wpcf7-response-output {
    width: 60vw;
  }
}

.site-main--en .p-contact-form__label {
  font-size: var(--f-size-en-subhead);
}

.p-campaign-hero {
  background-image: url(../images/site-bg-02.webp);
}
@media screen and (min-width: 1025px) {
  .p-campaign-hero > .wp-block-group__inner-container {
    width: 100%;
    position: relative;
  }
}
.p-campaign-hero__inner {
  -webkit-padding-before: var(--margin-block);
          padding-block-start: var(--margin-block);
}
@media screen and (min-width: 1025px) {
  .p-campaign-hero__inner {
    -ms-grid-columns: 1fr 0 -webkit-max-content;
    -ms-grid-columns: 1fr 0 max-content;
    grid-template-columns: 1fr -webkit-max-content;
    grid-template-columns: 1fr max-content;
    gap: 0;
    position: relative;
  }
}
.p-campaign-hero__text-container {
  z-index: 1;
}
@media screen and (min-width: 769px) {
  .p-campaign-hero__text-container {
    width: 100%;
    -webkit-padding-after: var(--spacing-2xl);
            padding-block-end: var(--spacing-2xl);
  }
}
@media screen and (min-width: 1281px) {
  .p-campaign-hero__text-container {
    padding-inline: var(--margin-section);
  }
}
.p-campaign-hero__title {
  width: 100%;
  font-size: var(--f-size-ja-hl2);
  font-family: var(--f-family-body);
  line-height: var(--lineheight-sm);
  letter-spacing: 0.025em;
}
@media screen and (min-width: 769px) {
  .p-campaign-hero__title {
    font-size: var(--f-size-ja-catch3);
    line-height: var(--lineheight-xs);
  }
}
.p-campaign-hero__title > span {
  font-size: var(--f-size-ja-hl1);
}
@media screen and (min-width: 769px) {
  .p-campaign-hero__title > span {
    font-size: var(--f-size-ja-catch2);
  }
}
.p-campaign-hero__annotation {
  font-size: var(--f-size-ja-caption);
  line-height: var(--lineheight-sm);
  color: var(--clr-white-a700);
}
.p-campaign-hero__button {
  -webkit-margin-before: var(--spacing-lg);
          margin-block-start: var(--spacing-lg);
}
@media screen and (min-width: 769px) {
  .p-campaign-hero__button {
    -webkit-margin-before: var(--margin-block);
            margin-block-start: var(--margin-block);
  }
}
.p-campaign-hero__image-container {
  -webkit-transform: translateX(16px) translateY(0);
          transform: translateX(16px) translateY(0);
  z-index: 0;
}
@media screen and (min-width: 1025px) {
  .p-campaign-hero__image-container {
    width: 44vw;
    max-width: 640px;
    position: absolute;
    top: 0;
    right: 0;
    -webkit-transform: translateX(-64px) translateY(96px);
            transform: translateX(-64px) translateY(96px);
  }
}
@media screen and (min-width: 1281px) {
  .p-campaign-hero__image-container {
    -webkit-transform: translateX(-64px) translateY(64px);
            transform: translateX(-64px) translateY(64px);
  }
}

.p-campaign-main {
  color: var(--clr-text-primary);
  -webkit-margin-before: var(--margin-section);
          margin-block-start: var(--margin-section);
}
@media screen and (min-width: 1025px) {
  .p-campaign-main {
    -webkit-margin-before: calc(var(--margin-section) + var(--margin-block));
            margin-block-start: calc(var(--margin-section) + var(--margin-block));
  }
}
@media screen and (min-width: 1281px) {
  .p-campaign-main {
    -webkit-margin-before: calc(var(--margin-section) + var(--spacing-3xl));
            margin-block-start: calc(var(--margin-section) + var(--spacing-3xl));
  }
}
.p-campaign-main > * + * {
  -webkit-margin-before: var(--margin-section);
          margin-block-start: var(--margin-section);
}

.p-campaign-issue__list {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 300px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--spacing-md);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  font-size: var(--f-size-ja-body1);
  font-weight: var(--f-weight-bold);
  line-height: var(--lineheight-xs);
}
@media screen and (min-width: 376px) {
  .p-campaign-issue__list {
    max-width: 100%;
    font-size: var(--f-size-ja-lead);
  }
}
@media screen and (min-width: 769px) {
  .p-campaign-issue__list {
    font-size: var(--f-size-ja-hl3);
  }
}
.p-campaign-issue__list::before, .p-campaign-issue__list::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: calc((8px + var(--spacing-lg)) * -1);
  width: 16px;
  height: 100%;
  background: url(../images/deco-bar-hor-grad.svg) no-repeat center center/contain;
}
@media screen and (min-width: 769px) {
  .p-campaign-issue__list::before, .p-campaign-issue__list::after {
    left: calc((16px + var(--spacing-lg)) * -1);
  }
}
@media screen and (min-width: 1025px) {
  .p-campaign-issue__list::before, .p-campaign-issue__list::after {
    left: calc((16px + var(--spacing-3xl)) * -1);
  }
}
.p-campaign-issue__list::after {
  left: auto;
  right: calc((8px + var(--spacing-lg)) * -1);
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}
@media screen and (min-width: 769px) {
  .p-campaign-issue__list::after {
    right: calc((16px + var(--spacing-lg)) * -1);
  }
}
@media screen and (min-width: 1025px) {
  .p-campaign-issue__list::after {
    right: calc((16px + var(--spacing-3xl)) * -1);
  }
}
.p-campaign-issue__item span {
  color: var(--clr-site-primary);
}

.p-campaign-cta {
  -webkit-margin-before: var(--margin-block);
          margin-block-start: var(--margin-block);
  text-align: center;
}
.p-campaign-cta__text {
  font-size: var(--f-size-ja-hl1);
  font-weight: var(--f-weight-bold);
  line-height: var(--lineheight-sm);
}
.p-campaign-cta__button {
  -webkit-margin-before: var(--margin-block);
          margin-block-start: var(--margin-block);
  margin-inline: auto;
}
.p-campaign-cta__terms {
  -webkit-margin-before: var(--margin-block);
          margin-block-start: var(--margin-block);
}

.p-privacy-policy-main {
  color: var(--clr-text-primary);
  -webkit-margin-before: var(--margin-block);
          margin-block-start: var(--margin-block);
}
@media screen and (min-width: 769px) {
  .p-privacy-policy-main {
    -webkit-margin-before: var(--margin-section);
            margin-block-start: var(--margin-section);
  }
}
@media screen and (min-width: 1025px) {
  .p-privacy-policy-main {
    -webkit-margin-before: calc(var(--margin-section) + var(--margin-block));
            margin-block-start: calc(var(--margin-section) + var(--margin-block));
  }
}
@media screen and (min-width: 1281px) {
  .p-privacy-policy-main {
    -webkit-margin-before: calc(var(--margin-section) + var(--spacing-3xl));
            margin-block-start: calc(var(--margin-section) + var(--spacing-3xl));
  }
}
.p-privacy-policy-main > * + * {
  -webkit-margin-before: var(--spacing-2xl);
          margin-block-start: var(--spacing-2xl);
}
@media screen and (min-width: 769px) {
  .p-privacy-policy-main > * + * {
    -webkit-margin-before: var(--spacing-3xl);
            margin-block-start: var(--spacing-3xl);
  }
}
.p-privacy-policy-main__section > .wp-block-group__inner-container > * + * {
  -webkit-margin-before: var(--margin-object);
          margin-block-start: var(--margin-object);
}
.p-privacy-policy-main h2 {
  font-size: var(--f-size-en-hl3);
  font-weight: var(--f-weight-bold);
  line-height: var(--lineheight-xs);
  background-color: var(--clr-bg-heading);
  padding: var(--spacing-sm) var(--spacing-md);
}
.p-privacy-policy-main p {
  font-size: var(--f-size-ja-body1);
  line-height: var(--lineheight-md);
  padding-inline: var(--spacing-md);
}
.p-privacy-policy-main ul {
  font-size: var(--f-size-ja-body2);
  line-height: var(--lineheight-md);
  padding-inline: var(--spacing-md);
}
.p-privacy-policy-main ul li {
  padding-left: 1.5em;
  text-indent: -1.5em;
}
.p-privacy-policy-main ul li::before {
  content: "•";
  color: var(--clr-site-primary);
  padding-right: 0.5em;
}
.p-privacy-policy-main a {
  color: var(--clr-text-link);
}
.p-privacy-policy-main a:hover {
  color: var(--clr-text-link--hover);
}

/* utility
--------------------------------------------- */
.u-scroll-lock {
  overflow: hidden;
  /* iOS Safariでのスクロールを防ぐ */
  position: fixed;
  width: 100%;
  height: 100%;
}

.u-break-word {
  word-break: break-word;
  overflow-wrap: break-word;
}

.u-break {
  display: block;
}
@media screen and (min-width: 769px) {
  .u-break {
    display: none;
  }
}

.u-break-tablet {
  display: none;
}
@media screen and (min-width: 1025px) {
  .u-break-tablet {
    display: block;
  }
}

.u-emphasis {
  --emphasis-display: inline-block;
  --emphasis-font-weight: var(--f-weight-bold);
  --emphasis-font-size: 1.1em;
  --emphasis-color: var(--clr-white);
  --emphasis-bg-color: transparent;
  --emphasis-padding: 0;
  --emphasis-margin: 0;
  display: var(--emphasis-display);
  font-weight: var(--emphasis-font-weight);
  font-size: var(--emphasis-font-size);
  color: var(--emphasis-color);
  background-color: var(--emphasis-bg-color);
  padding: var(--emphasis-padding);
  margin: var(--emphasis-margin);
}
/*# sourceMappingURL=style.css.map */