@charset "UTF-8";
:root {
  --color-bg-primary: #1E4AA4;
  --color-bg-light-grey: #EAECEF;
  --color-bg-lightest-blue: #F5F8FB;
  --color-bg-darkblue: #222A38;
  --color-bg-white: #FFFFFF;
  --color-bg-white-transparent: rgba(255, 255, 255, 0.2);
  --color-border-base: rgba(51, 51, 51, 0.1);
  --color-border-dc: #dcdcdc;
  --color-border-white-transparent: rgba(255, 255, 255, 0.2);
  --color-progress-bar-background: rgba(255, 255, 255, 0.25);
  --color-text-base: #49515F;
  --color-text-base-transparent: rgba(73, 81, 95, 0.5);
  --color-text-placeholder: rgba(73, 81, 95, 0.6);
  --color-text-primary: #1E4AA4;
  --color-text-white: #FFFFFF;
  --color-text-light-base: #9A9EAC;
  --color-other-logo-primary: #06235E;
  --color-other-logo-grey: #E5EBF0;
  --color-other-link: #497FDF;
  --color-sep-lightgrey: #EEEEEE;
  --color-news-single-kv-date: #333;
  --color-form-required: #C82828;
  --color-bg-cta: linear-gradient(180deg, #254DA0 126.2%, #0772D1 -20.47%);
  --color-bg-kv: linear-gradient(180deg,
          color-mix(in srgb, #00143d, transparent 100%) 32.13%,
          color-mix(in srgb, #00143d, transparent 30%) 100%);
}

/*!
global > content-width
------------------------------
*/
:root {
  --width-content: 1000rem;
  --width-content-l: 1300rem;
}

/*!
global > font
------------------------------
*/
:root {
  --font-family-base: "Zen Kaku Gothic New", sans-serif;
  --font-family-en: "Play", sans-serif;
}

/*!
global > z-index
------------------------------
*/
:root {
  --z-index-modal: 100;
  --z-index-header: 30;
  --z-index-menu: 10;
  --z-index-image: 7;
  --z-index-default: 5;
  --z-index-background: 1;
}

/*!
foundation > reset
------------------------------
*/
html {
  color: #000;
  background: #fff;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
textarea,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

fieldset,
img {
  border: 0;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-style: normal;
  font-weight: normal;
}

ol,
ul {
  list-style: none;
}

caption,
th {
  text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal;
}

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

abbr,
acronym {
  border: 0;
  font-variant: normal;
}

input,
textarea,
select,
button {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  font-size: 100%;
  border-radius: 0;
  border: none;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  background-color: inherit;
}

textarea {
  resize: vertical;
  display: block;
}

select {
  cursor: pointer;
}

button {
  padding: 0;
  cursor: pointer;
}

legend {
  color: inherit;
}

tbody {
  -webkit-text-size-adjust: 100%;
}

main {
  display: block;
}

a {
  text-decoration: none;
  color: inherit;
}

img,
svg {
  width: 100%;
  height: auto;
  display: block;
}

dialog {
  max-width: 100%;
  max-height: 100%;
  padding: 0;
  color: inherit;
  border: none;
}

iframe {
  vertical-align: bottom;
}

* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

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

/*!
foundation > base
------------------------------
*/
:root {
  --base-vw: 380;
}
@media screen and (min-width: 768px) {
  :root {
    --base-vw: 1440;
  }
}

html {
  font-size: calc(100vw / var(--base-vw));
}

body {
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0;
  color: var(--color-text-base);
  font-family: var(--font-family-base);
  z-index: var(--z-index-default);
}

/*!
utility > utility
------------------------------
*/
.u-visually-hidden {
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  border: 0 !important;
  padding: 0 !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  margin: -1px !important;
}

.u-ptb {
  padding: 80rem 0;
}
@media screen and (min-width: 768px) {
  .u-ptb {
    padding: 120rem 0;
  }
}

.u-hidden-sp {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-hidden-sp {
    display: inline-block;
  }
}

.u-hidden-pc {
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .u-hidden-pc {
    display: none;
  }
}

/*!
component > page-kv
------------------------------
*/
.c-page-kv {
  background-color: var(--color-bg-lightest-blue);
  padding: 121rem 0 40rem 0;
}
@media screen and (min-width: 768px) {
  .c-page-kv {
    padding: 183rem 0 0 0;
    height: 432rem;
  }
}
.c-page-kv--level-02 {
  height: 250rem;
}
@media screen and (min-width: 768px) {
  .c-page-kv--level-02 {
    height: 408rem;
  }
}

@media screen and (min-width: 768px) {
  .c-page-kv-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: 40rem;
  }
}
.c-page-kv-wrapper--level-02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8rem;
}
@media screen and (min-width: 768px) {
  .c-page-kv-wrapper--level-02 {
    gap: 16rem;
  }
}

.c-page-kv-image {
  aspect-ratio: 338/169;
  border-radius: 0 0 0 56rem;
  width: 338rem;
  height: 169rem;
  overflow: hidden;
  border: 1px solid var(--color-sep-lightgrey);
  display: inline-block;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .c-page-kv-image {
    aspect-ratio: 498/323;
    width: 484rem;
    height: 323rem;
    position: relative;
    z-index: var(--z-index-image);
  }
}
.c-page-kv-image img {
  width: 100%;
  height: 100%;
}

.c-page-kv-content-wrapper {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .c-page-kv-content-wrapper {
    width: 760rem;
  }
}

.c-page-kv-top-wrapper {
  margin-top: 10rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media screen and (min-width: 768px) {
  .c-page-kv-top-wrapper {
    margin-top: 24rem;
    width: 755rem;
  }
}

.c-page-kv-top-wrapper-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8rem;
}

.c-page-kv-en {
  font-family: var(--font-family-en);
  color: var(--color-text-primary);
  text-transform: uppercase;
}
.c-page-kv-en--level-01 {
  font-size: 20rem;
  line-height: 1.16;
}
@media screen and (min-width: 768px) {
  .c-page-kv-en--level-01 {
    font-size: 24rem;
  }
}
.c-page-kv-en--level-02 {
  font-size: 50rem;
  line-height: 1.15;
}
@media screen and (min-width: 768px) {
  .c-page-kv-en--level-02 {
    font-size: 72rem;
  }
}

.c-page-kv-ja {
  letter-spacing: 0.05em;
  line-height: 1.46;
  font-size: 15rem;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .c-page-kv-ja {
    font-size: 18rem;
  }
}
.c-page-kv-ja--level-01 {
  color: var(--color-text-light-base);
}
.c-page-kv-ja--level-02 {
  color: var(--color-text-base);
}

.c-page-kv-date {
  font-family: var(--font-family-en);
  font-size: 17rem;
  color: var(--color-news-single-kv-date);
  line-height: 1.17;
}

.c-page-kv-title {
  margin-top: 14rem;
  font-size: 28rem;
  line-height: 1.46;
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .c-page-kv-title {
    margin-top: 16rem;
    font-size: 44rem;
    line-height: 1.45;
  }
}

/*!
component > cta
------------------------------
*/
.c-cta {
  background-color: var(--color-bg-lightest-blue);
  padding: 98.91rem 0 70rem 0;
  position: relative;
  border-radius: 32rem 32rem 0 0;
  z-index: var(--z-index-default);
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .c-cta {
    padding: 147.67rem 0 100.7rem 0;
    border-radius: 56rem 56rem 0 0;
  }
}

.c-cta-background {
  position: absolute;
  top: 51%;
  left: 50%;
  width: 380rem;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: var(--z-index-background);
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .c-cta-background {
    top: 54%;
    width: 1440rem;
  }
}
.c-cta-background .splide__track {
  overflow: visible;
}
.c-cta-background .splide__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-cta-background .splide__slide {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.c-cta-background-image {
  width: auto;
  height: 80rem;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.c-cta-background-image img {
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .c-cta-background-image {
    height: 125rem;
  }
}

.c-cta-button {
  position: relative;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-radius: 100vh;
  color: var(--color-text-white);
  background-image: var(--color-bg-cta);
  width: 218.18rem;
  height: 218.18rem;
  text-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8rem;
  z-index: var(--z-index-default);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media (any-hover: hover) {
  .c-cta-button:hover {
    scale: 1.05;
  }
}
@media screen and (min-width: 768px) {
  .c-cta-button {
    width: 280rem;
    height: 280rem;
  }
}
.c-cta-button::after {
  position: absolute;
  content: "";
  display: block;
  width: 240rem;
  height: 240rem;
  border-radius: 100vh;
  border: 1rem solid var(--color-text-primary);
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media screen and (min-width: 768px) {
  .c-cta-button::after {
    width: 308rem;
    height: 308rem;
  }
}

.c-cta-button-en {
  font-family: var(--font-family-en);
  font-size: 32rem;
  line-height: 1.6;
  margin-top: 11rem;
}
@media screen and (min-width: 768px) {
  .c-cta-button-en {
    font-size: 40rem;
    margin-top: -1rem;
  }
}

.c-cta-button-ja {
  font-size: 13rem;
  line-height: 1.6;
  margin-bottom: 8rem;
}
@media screen and (min-width: 768px) {
  .c-cta-button-ja {
    font-size: 16rem;
    margin-bottom: 17rem;
  }
}

/*!
component > breadcrumbs
------------------------------
*/
.c-breadcrumb {
  margin-top: 16rem;
}
@media screen and (min-width: 768px) {
  .c-breadcrumb {
    margin-top: 28rem;
  }
}
.c-breadcrumb span {
  color: var(--color-text-base);
  font-size: 14rem;
  letter-spacing: 0.05em;
}
.c-breadcrumb .home {
  padding: 1rem 0;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media (any-hover: hover) {
  .c-breadcrumb .home:hover {
    opacity: 0.5;
  }
}
.c-breadcrumb .current-item {
  color: var(--color-text-primary);
}

.c-breadcrumb-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.c-breadcrumb-arrow {
  display: inline-block;
  width: 9rem;
  height: 9rem;
  background-image: url(../img/arrow/arrow-primary.svg);
  background-size: contain;
  background-repeat: no-repeat;
  margin: 2rem 16rem 0 16rem;
}

/*!
component > pagination
------------------------------
*/
.c-pagination {
  margin-top: 40rem;
}
@media screen and (min-width: 768px) {
  .c-pagination {
    margin-top: 80rem;
  }
}
.c-pagination .nav-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8rem;
}
@media screen and (min-width: 768px) {
  .c-pagination .nav-links {
    gap: 16rem;
  }
}
.c-pagination .page-numbers {
  width: 40rem;
  height: 40rem;
  display: grid;
  place-items: center;
  background-color: var(--color-bg-white);
  border: 1px solid var(--color-border-base);
  border-radius: 100vh;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  font-size: 14rem;
}
@media screen and (min-width: 768px) {
  .c-pagination .page-numbers {
    width: 60rem;
    height: 60rem;
    font-size: 20rem;
  }
}
@media (any-hover: hover) {
  .c-pagination .page-numbers:hover {
    background-color: var(--color-bg-primary);
    color: var(--color-text-white);
  }
  .c-pagination .page-numbers:hover::before {
    border-color: var(--color-text-white);
  }
}
.c-pagination .current {
  background-color: var(--color-bg-primary);
  color: var(--color-text-white);
  pointer-events: none;
}
.c-pagination .dots {
  border: none;
  pointer-events: none;
}
.c-pagination .prev,
.c-pagination .next {
  position: relative;
}
.c-pagination .prev::before {
  content: "";
  position: absolute;
  top: 42%;
  left: 47%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 10rem;
  height: 10rem;
  border-top: 1rem solid var(--color-text-base);
  border-right: 1rem solid var(--color-text-base);
  -webkit-transform: rotate(225deg);
          transform: rotate(225deg);
}
.c-pagination .next::before {
  content: "";
  position: absolute;
  top: 40%;
  left: 38%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 10rem;
  height: 10rem;
  border-top: 1rem solid var(--color-text-base);
  border-right: 1rem solid var(--color-text-base);
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

/*!
layout > container
------------------------------
*/
.l-container {
  width: min(90%, var(--width-content));
  margin-inline: auto;
}

.l-container-l {
  width: min(90%, var(--width-content-l));
  margin-inline: auto;
}

/*!
layout > header
------------------------------
*/
.l-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: var(--z-index-header);
  padding: 32rem 20rem 32rem 20rem;
}
@media screen and (min-width: 768px) {
  .l-header {
    padding: 47rem 69rem 25rem 70rem;
  }
}
.l-header.is-active {
  /* スクロールしたときのスタイル */
  width: 380rem;
  position: fixed;
  padding: 10rem 20rem 15rem 20rem;
  background-color: var(--color-bg-primary);
}
.l-header.is-active .l-header-logo-default {
  opacity: 0;
}
.l-header.is-active .l-header-logo-active {
  opacity: 1;
}
@media screen and (min-width: 768px) {
  .l-header.is-active {
    padding: 8rem 78rem 8rem 70rem;
    width: 1440rem;
  }
  .l-header.is-active .l-header-item a,
  .l-header.is-active .l-header-item button,
  .l-header.is-active .l-header-item-business a,
  .l-header.is-active .l-header-item-business button {
    color: var(--color-text-white);
  }
  .l-header.is-active .l-header-item a::before,
  .l-header.is-active .l-header-item button::before,
  .l-header.is-active .l-header-item-business a::before,
  .l-header.is-active .l-header-item-business button::before {
    background-color: var(--color-text-white);
  }
  .l-header.is-active .l-header-item-business::after {
    background-image: url(../img/arrow/arrow-white-right.svg);
  }
  .l-header.is-active .l-header-modal-dialog {
    inset: 70rem 0 0 730rem;
  }
}

.l-header-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative;
}

.l-header-logo {
  display: block;
  width: 160rem;
  height: auto;
  position: relative;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.l-header-logo img {
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .l-header-logo {
    width: 246.67rem;
  }
}

.l-header-logo-active {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  opacity: 0;
  pointer-events: none;
  width: 160rem;
  height: auto;
}
@media screen and (min-width: 768px) {
  .l-header-logo-active {
    width: 180rem;
  }
}

.l-header-menu-button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 56rem;
  height: 56rem;
  background-color: var(--color-bg-primary);
  border-radius: 100vh;
  cursor: pointer;
  position: relative;
}
@media screen and (min-width: 768px) {
  .l-header-menu-button {
    display: none;
  }
}
.l-header-menu-button.is-active {
  border: 1rem solid var(--color-text-white);
}
.l-header-menu-button span {
  position: absolute;
  display: inline-block;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 32rem;
  height: 1rem;
  background-color: var(--color-text-white);
}
.l-header-menu-button span:nth-child(1) {
  top: 20rem;
}
.l-header-menu-button span:nth-child(2) {
  top: 28rem;
}
.l-header-menu-button span:nth-child(3) {
  top: 36rem;
}

.l-header-nav-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 768px) {
  .l-header-nav-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 40rem;
  }
}

.l-header-nav {
  display: none;
}
@media screen and (min-width: 768px) {
  .l-header-nav {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .l-header-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: 40rem;
  }
}

.l-header-item {
  color: var(--color-text-white);
  display: inline-block;
  font-size: 16rem;
  line-height: 1.9;
}
.l-header-item a {
  position: relative;
  padding: 6rem 0;
}
.l-header-item a::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1rem;
  background-color: var(--color-text-white);
  bottom: 3rem;
  left: 0;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
@media (any-hover: hover) {
  .l-header-item:hover a::before {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
}
.l-header-item--sub a {
  color: var(--color-text-base);
}
.l-header-item--sub a::before {
  background-color: var(--color-text-base);
}

.l-header-item-business {
  color: var(--color-text-white);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6rem;
}
.l-header-item-business button {
  position: relative;
  padding: 6rem 0;
}
.l-header-item-business button::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1rem;
  background-color: var(--color-text-white);
  bottom: 3rem;
  left: 0;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
@media (any-hover: hover) {
  .l-header-item-business button:hover::before {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
}
.l-header-item-business::after {
  content: "";
  display: block;
  width: 9rem;
  height: 9rem;
  background-image: url(../img/arrow/arrow-white-right.svg);
  margin-top: 5rem;
  rotate: 90deg;
  background-size: contain;
  background-repeat: no-repeat;
}
.l-header-item-business--sub::after {
  background-image: url(../img/arrow/arrow-primary.svg);
}
.l-header-item-business--sub button {
  color: var(--color-text-base);
}
.l-header-item-business--sub button::before {
  background-color: var(--color-text-base);
}

.l-header-dropdown-menu {
  display: none;
}
@media screen and (min-width: 768px) {
  .l-header-dropdown-menu {
    display: block;
    visibility: hidden;
    opacity: 0;
    position: absolute;
    top: 65rem;
    left: 690rem;
    border-radius: 16rem;
    background-color: var(--color-bg-primary);
    width: 312rem;
    height: 172rem;
    -webkit-box-shadow: 0 0 10rem 0 rgba(0, 0, 0, 0.1);
            box-shadow: 0 0 10rem 0 rgba(0, 0, 0, 0.1);
    color: var(--color-text-white);
  }
}
.l-header-dropdown-menu.is-active {
  top: 65rem;
}

.l-header-dropdown-menu-inner {
  padding: 0 5rem;
}

/* モーダルを開いたときの背景色 */
#js-dropdown-menu::-ms-backdrop {
  background-color: transparent;
}
#js-dropdown-menu::backdrop {
  background-color: transparent;
}

.l-header-dropdown-menu-nav {
  padding: 8rem;
}

.l-header-dropdown-menu-item {
  padding: 15rem 8rem 13rem 11rem;
  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;
}
.l-header-dropdown-menu-item:not(:last-child) {
  border-bottom: 1rem solid var(--color-border-white-transparent);
}
.l-header-dropdown-menu-item:after {
  content: "";
  background-image: url(../img/arrow/arrow-white-right.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 9rem;
  height: 9rem;
}

.l-header-dropdown-menu-link {
  font-size: 14rem;
  letter-spacing: 0.05em;
  text-wrap: nowrap;
}

.l-header-button-contact {
  display: none;
}
@media screen and (min-width: 768px) {
  .l-header-button-contact {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 163rem;
    height: 54rem;
    color: var(--color-text-white);
    background-color: var(--color-bg-primary);
    border-radius: 100vh;
    -webkit-transition: color 0.3s, background 0.3s;
    transition: color 0.3s, background 0.3s;
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  .l-header-button-contact:hover {
    color: var(--color-text-primary);
    background: var(--color-bg-white);
    border: 1px solid var(--color-text-primary);
  }
}
@media screen and (min-width: 768px) {
  .l-header-button-contact.is-active {
    border: 1rem solid var(--color-text-white);
  }
}

.l-header-button-contact-text {
  line-height: 1.9;
}

/*!
layout > footer
------------------------------
*/
.l-footer {
  background-color: var(--color-bg-lightest-blue);
  color: var(--color-text-white);
  position: relative;
}

.l-footer-inner {
  border-radius: 32rem 32rem 0 0;
  padding: 80rem 0;
  background-color: var(--color-bg-darkblue);
}
@media screen and (min-width: 768px) {
  .l-footer-inner {
    border-radius: 56rem 56rem 0 0;
  }
}

@media screen and (min-width: 768px) {
  .l-footer-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}

.l-footer-content-wrapper {
  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;
}
@media screen and (min-width: 768px) {
  .l-footer-content-wrapper {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.l-footer-button {
  position: absolute;
  top: 25rem;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 80rem;
  height: 80rem;
  border-radius: 100vh;
  background-color: var(--color-bg-darkblue);
  z-index: var(--z-index-default);
}
.l-footer-button img {
  display: block;
  width: 14rem;
  height: 12rem;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.l-footer-nav-logo {
  display: block;
  width: 160rem;
  height: auto;
}
.l-footer-nav-logo img {
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .l-footer-nav-logo {
    width: 246.67rem;
  }
}

.l-footer-content {
  margin-top: 32rem;
  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: 5rem;
}
@media screen and (min-width: 768px) {
  .l-footer-content {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-top: 34rem;
    gap: 4rem;
  }
}

.l-footer-content-address {
  font-size: 13rem;
  line-height: 1.6;
}

.l-footer-content-tel {
  font-family: var(--font-family-en);
}

.l-footer-content-tel-en {
  font-size: 13rem;
  line-height: 1.6;
}

.l-footer-content-tel-number {
  font-size: 21rem;
  line-height: 1.6;
  font-weight: 400;
  margin-left: 6rem;
}

.l-footer-copyright {
  margin-top: 50rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .l-footer-copyright {
    margin-top: 113rem;
    text-align: left;
  }
}

.l-footer-copyright-text {
  font-family: var(--font-family-en);
  font-size: 13rem;
  line-height: 1.6;
}

.l-footer-nav {
  display: none;
}
@media screen and (min-width: 768px) {
  .l-footer-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 96rem;
  }
}

@media screen and (min-width: 768px) {
  .l-footer-nav-list-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 96rem;
  }
}

@media screen and (min-width: 768px) {
  .l-footer-nav-list01,
  .l-footer-nav-list02,
  .l-footer-nav-list03 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    font-size: 15rem;
    line-height: 1.6;
  }
}

@media screen and (min-width: 768px) {
  .l-footer-nav-list01-item-gaiyou {
    margin-top: 40rem;
  }
}

@media screen and (min-width: 768px) {
  .l-footer-nav-list01-item-aisatu,
  .l-footer-nav-list01-item-access {
    margin-top: 13rem;
  }
}

@media screen and (min-width: 768px) {
  .l-footer-nav-list02-item-sub {
    font-size: 13rem;
    margin-top: 10rem;
  }
}

@media screen and (min-width: 768px) {
  .l-footer-nav-list02-item + .l-footer-nav-list02-item-sub {
    margin-top: 14rem;
  }
}

@media screen and (min-width: 768px) {
  .l-footer-nav-list02-item-product {
    margin-top: 38rem;
  }
}

@media screen and (min-width: 768px) {
  .l-footer-nav-list03 {
    gap: 21rem;
  }
}

/*!
layout > sidebar
------------------------------
*/
@media screen and (min-width: 768px) {
  .l-sidebar-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  .l-sidebar-wrapper--business-single {
    gap: 155rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  .l-sidebar-wrapper--archive-news {
    gap: 80rem;
  }
}

.l-sidebar-main-content {
  margin-top: 80rem;
}
@media screen and (min-width: 768px) {
  .l-sidebar-main-content--business-single {
    margin-top: 150rem;
    margin-bottom: 201rem;
    width: 905rem;
  }
}
@media screen and (min-width: 768px) {
  .l-sidebar-main-content--archive-news {
    margin-top: 120rem;
    margin-bottom: 120rem;
    width: 980rem;
  }
}

.l-sidebar {
  margin: 80rem 0;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .l-sidebar {
    position: sticky;
    top: 120rem;
    height: 650rem;
    width: 240rem;
    margin: 118rem 0 0 0;
  }
}
@media screen and (min-width: 768px) {
  .l-sidebar--business-single {
    margin-top: 150rem;
  }
}

.l-sidebar-title-en {
  font-family: var(--font-family-en);
  text-transform: uppercase;
  color: var(--color-text-primary);
  line-height: 1.15;
  font-size: 40rem;
}

.l-sidebar-title-ja {
  font-size: 15rem;
  color: var(--color-text-light-base);
  line-height: 1.47;
  margin-top: 5rem;
}

.l-sidebar-nav-list {
  margin-top: 32rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 18rem;
}

.l-sidebar-nav-list-item {
  color: var(--color-text-base-transparent);
}
.l-sidebar-nav-list-item.is-active {
  color: var(--color-text-base);
}

.l-sidebar-nav-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative;
  width: 100%;
  height: 22rem;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  line-height: 1.5;
}
.l-sidebar-nav-link:hover {
  color: var(--color-text-primary);
}
.l-sidebar-nav-link::after {
  content: "";
  display: block;
  height: 9rem;
  width: 9rem;
  background-image: url(../img/arrow/arrow-primary.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.l-sidebar-nav-link-en {
  font-family: var(--font-family-en);
  font-size: 19rem;
  line-height: 1.16;
}

/*!
component > hamburger-menu
------------------------------
*/
.l-hamburger-menu-dialog {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  color: var(--color-text-white);
  background-color: var(--color-bg-primary);
  z-index: var(--z-index-modal);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  border: none;
  margin: 0;
  padding: 0;
  max-width: none;
  max-height: none;
}
@media screen and (min-width: 768px) {
  .l-hamburger-menu-dialog {
    display: none;
  }
}
.l-hamburger-menu-dialog {
  /* スクロールしたときのスタイル */
}
.l-hamburger-menu-dialog.is-active .l-hamburger-menu-dialog-header {
  padding: 10rem 17rem 15rem 20rem;
}

.l-hamburger-menu-dialog-header {
  padding: 32rem 20rem 0 20rem;
  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;
}

.l-hamburger-menu-button {
  width: 56rem;
  height: 56rem;
  border-radius: 100vh;
  border: 1rem solid var(--color-text-white);
  position: relative;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .l-hamburger-menu-button {
    display: none;
  }
}
.l-hamburger-menu-button span {
  position: absolute;
  display: inline-block;
  left: 17%;
  width: 35.78rem;
  height: 1rem;
  background-color: var(--color-text-white);
}
.l-hamburger-menu-button span:nth-child(1) {
  rotate: 26.57deg;
}
.l-hamburger-menu-button span:nth-child(2) {
  rotate: -26.57deg;
}
.l-hamburger-menu-button::after {
  content: "";
  position: absolute;
  top: 55%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  color: var(--color-font-base);
  font-family: var(--font-family-en);
  font-size: 12rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.l-hamburger-menu-content {
  padding: 0 69rem 0 20rem;
  margin-top: 30rem;
  width: 100%;
}

.l-hamburger-menu-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.l-hamburger-menu-item {
  border-top: 1rem solid rgba(255, 255, 255, 0.2);
  position: relative;
}
.l-hamburger-menu-item:last-child {
  border-bottom: 1rem solid rgba(255, 255, 255, 0.2);
}
.l-hamburger-menu-item a {
  padding: 20rem 0;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 296rem;
  height: 100%;
  position: relative;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media (any-hover: hover) {
  .l-hamburger-menu-item a:hover .l-hamburger-menu-item-text::before {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
}

.l-hamburger-menu-item-business {
  padding: 20rem 0;
  margin-left: 16rem;
}

.l-hamburger-menu-item-business-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-top: 1rem solid rgba(255, 255, 255, 0.2);
}
.l-hamburger-menu-item-business-item a {
  padding: 16rem 0;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 296rem;
  height: 100%;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media (any-hover: hover) {
  .l-hamburger-menu-item-business-item a:hover .l-hamburger-menu-item-text-business::before {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
}
.l-hamburger-menu-item-business-item::after {
  content: "";
  display: block;
  width: 9rem;
  height: 9rem;
  margin-right: 16rem;
  background-image: url(../img/arrow/arrow-white-top.svg);
  rotate: 90deg;
  background-size: contain;
  background-repeat: no-repeat;
}

.l-hamburger-menu-item-text {
  margin-left: 16rem;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.l-hamburger-menu-item-text::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1rem;
  background-color: var(--color-text-white);
  bottom: 0;
  left: 0;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
}

.l-hamburger-menu-item-text-en {
  font-family: var(--font-family-en);
  font-size: 24rem;
  line-height: 1.16;
  text-transform: uppercase;
}

.l-hamburger-menu-item-text-ja {
  margin-top: 5rem;
  font-size: 15rem;
  line-height: 1.46;
  margin-left: 8rem;
}

.l-hamburger-menu-item-text-business {
  margin-left: 16rem;
  font-size: 14rem;
  line-height: 1.16;
  letter-spacing: 0.05em;
  position: relative;
}
.l-hamburger-menu-item-text-business::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1rem;
  background-color: var(--color-text-white);
  bottom: 0;
  left: 0;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
}
@media (any-hover: hover) {
  .l-hamburger-menu-item-text-business:hover::before {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
}

/*!
page > top > kv
------------------------------
*/
.top-kv {
  position: relative;
  width: 100%;
  height: 675rem;
}
@media screen and (min-width: 768px) {
  .top-kv {
    height: 795rem;
  }
}

.top-kv-image {
  display: inline-block;
  width: 100%;
  height: 675rem;
  aspect-ratio: 360/680;
  -o-object-fit: contain;
     object-fit: contain;
  z-index: 1;
  overflow: hidden;
}
.top-kv-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-kv-image::after {
  content: "";
  position: absolute;
  background-image: var(--color-bg-kv);
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .top-kv-image {
    width: 100%;
    height: 795rem;
  }
}

.top-kv-wrapper {
  position: absolute;
  bottom: 102rem;
  left: 0;
  padding: 0 20rem;
  z-index: var(--z-index-default);
}
@media screen and (min-width: 768px) {
  .top-kv-wrapper {
    padding: 0 68rem 0 72rem;
    bottom: 101rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}

.top-kv-circle {
  position: relative;
  width: 104rem;
  height: 104rem;
}
@media screen and (min-width: 768px) {
  .top-kv-circle {
    width: 146rem;
    height: 146rem;
  }
}

.top-kv-circle-svg {
  width: 100%;
  height: 100%;
  display: block;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}

.top-kv-circle-svg-circle {
  stroke: var(--color-progress-bar-background);
  fill: transparent;
  stroke-width: 1.42;
}
@media screen and (min-width: 768px) {
  .top-kv-circle-svg-circle {
    stroke-width: 2;
  }
}

.top-kv-circle-svg-circle-moving {
  stroke: var(--color-text-white);
  fill: transparent;
  stroke-width: 1.42;
}
@media screen and (min-width: 768px) {
  .top-kv-circle-svg-circle-moving {
    stroke-width: 2;
  }
}

.top-kv-circle-number {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  font-family: var(--font-family-en);
  font-size: 25.64rem;
  color: var(--color-text-white);
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .top-kv-circle-number {
    font-size: 36rem;
  }
}

.top-kv-content-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.top-kv-content-ja {
  margin-top: 30rem;
  font-size: 30rem;
  color: var(--color-text-white);
  line-height: 1.43;
}
@media screen and (min-width: 768px) {
  .top-kv-content-ja {
    font-size: 55rem;
    margin-top: 0;
  }
}
.top-kv-content-ja span {
  display: block;
}

.top-kv-content-en {
  margin-top: 7rem;
  font-family: var(--font-family-en);
  font-size: 18rem;
  color: var(--color-text-white);
  letter-spacing: 0.05em;
  line-height: 1.5;
}
.top-kv-content-en span {
  display: block;
}
@media screen and (min-width: 768px) {
  .top-kv-content-en {
    font-size: 20rem;
    margin-top: 24rem;
  }
  .top-kv-content-en span {
    display: inline;
  }
}

/*!
page > top > news
------------------------------
*/
.top-news {
  padding: 26rem 0 64rem 22rem;
  position: relative;
}
.top-news::before {
  content: "";
  position: absolute;
  top: -26rem;
  right: -18rem;
  width: 360rem;
  height: 40rem;
  background-color: var(--color-bg-white);
  z-index: var(--z-index-default);
  border-radius: 32rem 0 0 0;
}
@media screen and (min-width: 768px) {
  .top-news::before {
    right: -71rem;
    width: 1355rem;
    height: 60rem;
    border-radius: 500rem 0 0 0;
  }
}
@media screen and (min-width: 768px) {
  .top-news {
    padding: 36rem 0 64rem 80rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 80rem;
  }
}

.top-news-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.top-news-title-en {
  font-family: var(--font-family-en);
  font-size: 40rem;
  text-transform: uppercase;
  color: var(--color-text-primary);
}
@media screen and (min-width: 768px) {
  .top-news-title-en {
    line-height: 1.15;
  }
}

.top-news-title-ja {
  font-size: 15rem;
  color: var(--color-text-light-base);
}
@media screen and (min-width: 768px) {
  .top-news-title-ja {
    margin-top: 8rem;
  }
}

.top-news-content-wrapper {
  margin-top: 38rem;
}
@media screen and (min-width: 768px) {
  .top-news-content-wrapper {
    margin-top: 0;
    width: 100%;
  }
}

.top-news-content-item {
  display: block;
  border-top: 1rem solid var(--color-sep-lightgrey);
}
.top-news-content-item a {
  padding: 17rem 0 18rem 16rem;
}
.top-news-content-item:last-child {
  border-bottom: 1rem solid var(--color-sep-lightgrey);
}
@media screen and (min-width: 768px) {
  .top-news-content-item a {
    padding: 32rem 0 32rem 16rem;
  }
}

.top-news-content-item-link {
  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: 4rem;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media screen and (min-width: 768px) {
  .top-news-content-item-link {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 47rem;
  }
}
@media (any-hover: hover) {
  .top-news-content-item-link:hover {
    color: var(--color-text-primary);
  }
}

.top-news-content-item-date {
  font-family: var(--font-family-en);
  font-size: 17rem;
}

.top-news-content-item-title {
  font-size: 15rem;
  line-height: 1.9;
  width: 288rem;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .top-news-content-item-title {
    font-size: 16rem;
    width: auto;
  }
}

.top-news-button-pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .top-news-button-pc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 200rem;
    height: 51rem;
    border-radius: 100vh;
    padding: 16rem 24rem;
    background: var(--color-bg-lightest-blue);
    margin-top: auto;
    margin-left: 0;
    -webkit-transition: 0.5s;
    transition: 0.5s;
  }
  .top-news-button-pc::after {
    content: "";
    display: block;
    width: 12rem;
    height: 11rem;
    background-image: url(../img/arrow/arrow-primary.svg);
    background-size: contain;
    background-repeat: no-repeat;
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  .top-news-button-pc:hover {
    background-color: var(--color-bg-primary);
    color: var(--color-text-white);
  }
  .top-news-button-pc:hover::after {
    background-image: url(../img/arrow/arrow-white-right.svg);
  }
}

.top-news-button-sp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 200rem;
  height: 51rem;
  border-radius: 100vh;
  padding: 16rem 24rem 16rem 22rem;
  background: var(--color-bg-lightest-blue);
  margin-top: 40rem;
  margin-left: auto;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media screen and (min-width: 768px) {
  .top-news-button-sp {
    display: none;
  }
}
.top-news-button-sp::after {
  content: "";
  display: block;
  width: 12rem;
  height: 11rem;
  background-image: url(../img/arrow/arrow-primary.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
@media (any-hover: hover) {
  .top-news-button-sp:hover {
    background-color: var(--color-bg-primary);
    color: var(--color-text-white);
  }
  .top-news-button-sp:hover::after {
    background-image: url(../img/arrow/arrow-white-right.svg);
  }
}

.top-news-button-text {
  font-family: var(--font-family-en);
  text-transform: uppercase;
}

/*!
page > top > business
------------------------------
*/
.top-business {
  padding-bottom: 80rem;
  position: relative;
  overflow: hidden;
  z-index: var(--z-index-default);
}
.top-business::after {
  position: absolute;
  content: "Business";
  font-family: var(--font-family-en);
  font-size: 120rem;
  line-height: 1.6;
  text-transform: uppercase;
  color: var(--color-text-base);
  white-space: nowrap;
  opacity: 0.028;
  display: block;
  bottom: -70rem;
  left: 80rem;
}
@media screen and (min-width: 768px) {
  .top-business {
    padding-top: 120rem;
    padding-bottom: 144rem;
  }
  .top-business::after {
    font-size: 240rem;
    bottom: -140rem;
    left: 625rem;
    z-index: var(--z-index-background);
  }
}

@media screen and (min-width: 768px) {
  .top-business-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 56rem;
  }
}

.top-business-image {
  aspect-ratio: 340/227;
  width: 340rem;
  height: 227rem;
  display: block;
}
.top-business-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .top-business-image {
    aspect-ratio: 580/600;
    width: 580rem;
    height: 600rem;
  }
}

@media screen and (min-width: 768px) {
  .top-business-wrapper {
    width: 664rem;
  }
}

.top-business-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6rem;
  margin-top: 56rem;
}
@media screen and (min-width: 768px) {
  .top-business-header {
    margin-top: 0;
  }
}

.top-business-title-en {
  font-size: 20rem;
  text-transform: uppercase;
  color: var(--color-text-primary);
  line-height: 1.15;
}

.top-business-title-ja {
  font-size: 15rem;
  color: var(--color-text-light-base);
  font-weight: 500;
  line-height: 1.46;
}

.top-business-content-title {
  margin-top: 8rem;
  font-size: 28rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 500;
}
.top-business-content-title span {
  display: block;
}
@media screen and (min-width: 768px) {
  .top-business-content-title span.is-no-break-pc {
    display: inline;
  }
}
@media screen and (min-width: 768px) {
  .top-business-content-title {
    margin-top: 13rem;
    font-size: 32rem;
  }
}

.top-business-content-text {
  margin-top: 21rem;
  line-height: 1.9;
  font-size: 15rem;
}
@media screen and (min-width: 768px) {
  .top-business-content-text {
    margin-top: 38rem;
    font-size: 16rem;
  }
}
.top-business-content-text span {
  display: block;
}
@media screen and (min-width: 768px) {
  .top-business-content-text span.is-no-break-pc {
    display: inline;
  }
}

.top-business-link-wrapper {
  margin-top: 45rem;
}
@media screen and (min-width: 768px) {
  .top-business-link-wrapper {
    margin-top: 56rem;
  }
}

.top-business-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 16rem;
  padding: 20rem 20rem 10rem 17rem;
  border-top: 1rem solid var(--color-sep-lightgrey);
  position: relative;
  z-index: var(--z-index-default);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media screen and (min-width: 768px) {
  .top-business-link {
    padding: 29rem 15rem 18rem 16rem;
    gap: 0;
  }
}
.top-business-link:last-child {
  border-bottom: 1rem solid var(--color-sep-lightgrey);
}
@media (any-hover: hover) {
  .top-business-link:hover .top-business-link-text {
    color: var(--color-text-primary);
  }
  .top-business-link:hover .top-business-link-icon {
    background-color: var(--color-bg-primary);
  }
  .top-business-link:hover .top-business-link-icon::after {
    background-image: url(../img/arrow/arrow-white-right.svg);
  }
}

.top-business-link-text {
  font-size: 18rem;
  letter-spacing: 0.05em;
  width: 230rem;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media screen and (min-width: 768px) {
  .top-business-link-text {
    font-size: 20rem;
    width: auto;
  }
}

.top-business-link-icon {
  margin-top: 5rem;
  position: relative;
  width: 40rem;
  height: 40rem;
  border-radius: 100vh;
  background: var(--color-bg-lightest-blue);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media screen and (min-width: 768px) {
  .top-business-link-icon {
    margin-top: -1rem;
    width: 44rem;
    height: 44rem;
  }
}
.top-business-link-icon::after {
  position: absolute;
  content: "";
  display: block;
  top: 50%;
  left: 56%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-image: url(../img/arrow/arrow-primary.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 12rem;
  height: 11rem;
}

/*!
page > top > top-product
------------------------------
*/
.top-product {
  background-image: url(../img/top/product-bg-img-sp.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 83rem 0 86rem 0;
  border-radius: 32rem;
  color: var(--color-text-white);
}
@media screen and (min-width: 768px) {
  .top-product {
    background-image: url(../img/top/product-bg-img-pc.jpg);
    border-radius: 56rem;
    padding: 83rem 0;
  }
}

.top-product-header-wrapper-inner {
  padding: 0 20rem;
}
@media screen and (min-width: 768px) {
  .top-product-header-wrapper-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    padding: 0 70rem;
  }
}

.top-product-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8rem;
}
@media screen and (min-width: 768px) {
  .top-product-header {
    gap: 6rem;
  }
}

.top-product-title-en {
  font-family: var(--font-family-en);
  font-size: 20rem;
  line-height: 1.6;
  text-transform: uppercase;
}

.top-product-title-ja {
  line-height: 1.6;
  font-size: 15rem;
}

.top-product-sub-title {
  margin-top: 5rem;
  font-size: 28rem;
  line-height: 1.46;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .top-product-sub-title {
    margin-top: 9rem;
    font-size: 32rem;
  }
}

.top-product-text {
  margin-top: 38rem;
  line-height: 1.9;
  font-size: 15rem;
}
.top-product-text span {
  display: block;
}
@media screen and (min-width: 768px) {
  .top-product-text {
    margin-top: 40rem;
  }
}

.top-product-item-wrapper {
  margin-top: 40rem;
}
@media screen and (min-width: 768px) {
  .top-product-item-wrapper {
    margin-top: 56rem;
    margin-left: 70rem;
  }
}

.top-product-item {
  width: 300rem;
}
@media screen and (min-width: 768px) {
  .top-product-item {
    width: 404rem;
  }
}

.top-product-item-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16rem;
  overflow: hidden;
  width: 100%;
  height: contain;
  padding-bottom: 4rem;
}
@media (any-hover: hover) {
  .top-product-item-link:hover img {
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
  }
  .top-product-item-link:hover .top-product-item-sub-title {
    background-color: var(--color-bg-white);
    color: var(--color-text-primary);
    border-color: var(--color-text-primary);
  }
  .top-product-item-link:hover .top-product-item-title::before {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
}

.top-product-item-image {
  width: 300rem;
  height: 200rem;
  overflow: hidden;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0 0 0 32rem;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  border-left: 1px solid var(--color-text-primary);
}
.top-product-item-image img {
  -webkit-transition: 0.5s;
  transition: 0.5s;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .top-product-item-image {
    width: 404rem;
    height: 269rem;
  }
}

.top-product-item-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8rem;
}

.top-product-item-sub-title {
  color: var(--color-text-white);
  line-height: 1.5;
  border: 1px solid var(--color-text-white);
  border-radius: 16rem;
  padding: 1rem 7rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media screen and (min-width: 768px) {
  .top-product-item-sub-title {
    font-size: 16rem;
  }
}

.top-product-item-title {
  color: var(--color-text-white);
  font-size: 18rem;
  letter-spacing: 0.05em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
}
.top-product-item-title::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1rem;
  background-color: var(--color-text-white);
  bottom: 0rem;
  left: 0;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
@media screen and (min-width: 768px) {
  .top-product-item-title {
    font-size: 20rem;
  }
}

.top-product-top-button-wrapper {
  display: none;
}
@media screen and (min-width: 768px) {
  .top-product-top-button-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 32rem;
  }
}

.top-product-bottom-button-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24rem;
  margin: 28rem auto 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .top-product-bottom-button-wrapper {
    display: none;
  }
}

.top-product-button-prev {
  border: 1px solid var(--color-text-white);
  border-radius: 100vh;
  width: 64rem;
  height: 64rem;
  position: relative;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media (any-hover: hover) {
  .top-product-button-prev:hover {
    background-color: var(--color-bg-white-transparent);
  }
}
.top-product-button-prev::after {
  position: absolute;
  content: "";
  display: block;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 18rem;
  height: 16.5rem;
  background-image: url(../img/arrow/arrow-white-left.svg);
  background-size: contain;
  background-repeat: no-repeat;
}

.top-product-button-next {
  border: 1px solid var(--color-text-white);
  border-radius: 100vh;
  width: 64rem;
  height: 64rem;
  position: relative;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media (any-hover: hover) {
  .top-product-button-next:hover {
    background-color: var(--color-bg-white-transparent);
  }
}
.top-product-button-next::after {
  position: absolute;
  content: "";
  display: block;
  top: 50%;
  left: 55%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 18rem;
  height: 16.5rem;
  background-image: url(../img/arrow/arrow-white-right.svg);
  background-size: contain;
  background-repeat: no-repeat;
}

.top-product-button-view-more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border: 1px solid var(--color-text-white);
  border-radius: 36rem;
  padding: 23rem 31rem;
  width: 272rem;
  height: 69rem;
  margin: 40rem auto 0;
  background-color: var(--color-bg-white-transparent);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media (any-hover: hover) {
  .top-product-button-view-more:hover {
    background-color: var(--color-bg-white);
    color: var(--color-text-primary);
  }
  .top-product-button-view-more:hover .top-product-button-view-more-icon {
    background-image: url(../img/arrow/arrow-primary.svg);
  }
}
@media screen and (min-width: 768px) {
  .top-product-button-view-more {
    margin-top: 64rem;
    padding: 23rem 29rem 23rem 31rem;
  }
}

.top-product-button-view-more-en {
  font-size: 18rem;
  font-family: var(--font-family-en);
  text-transform: uppercase;
}

.top-product-button-view-more-icon {
  background-image: url(../img/arrow/arrow-white-right.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 12rem;
  height: 11rem;
}

/*!
page > top > sub-pages
------------------------------
*/
.top-sub-pages {
  padding: 75rem 0;
}
@media screen and (min-width: 768px) {
  .top-sub-pages {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 80rem 0;
  }
}

.top-sub-pages-content:not(:last-child) {
  border-bottom: 1rem solid var(--color-sep-lightgrey);
}
.top-sub-pages-content:not(:last-child) .top-sub-pages-link {
  padding-bottom: 30rem;
}
@media screen and (min-width: 768px) {
  .top-sub-pages-content:not(:last-child) {
    border-bottom: 0;
    border-right: 1rem solid var(--color-sep-lightgrey);
  }
}
.top-sub-pages-content:not(:first-child) .top-sub-pages-link {
  padding-top: 22rem;
}
@media screen and (min-width: 768px) {
  .top-sub-pages-content {
    height: 276rem;
  }
  .top-sub-pages-content:not(:first-child) .top-sub-pages-link {
    padding-left: 45rem;
  }
  .top-sub-pages-content:not(:last-child) .top-sub-pages-link {
    padding-right: 45rem;
  }
}

.top-sub-pages-link {
  margin: 0 18rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15rem;
}
@media screen and (min-width: 768px) {
  .top-sub-pages-link {
    margin: 0;
    padding-top: 16rem;
    gap: 29rem;
  }
}
@media (any-hover: hover) {
  .top-sub-pages-link:hover .top-sub-pages-button {
    background: var(--color-bg-primary);
    position: relative;
    -webkit-transition: 0.5s;
    transition: 0.5s;
  }
  .top-sub-pages-link:hover .top-sub-pages-button::after {
    position: relative;
    content: "";
    width: 12rem;
    height: 12rem;
    background-image: url(../img/arrow/arrow-white-right.svg);
    background-size: contain;
    background-repeat: no-repeat;
    top: 50%;
    left: 55%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}

.top-sub-pages-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .top-sub-pages-title {
    gap: 0rem;
  }
}

.top-sub-pages-title-en {
  font-family: var(--font-family-en);
  font-size: 40rem;
  font-weight: 400;
  color: var(--color-text-primary);
  text-transform: uppercase;
}

.top-sub-pages-title-ja {
  font-size: 15rem;
  color: var(--color-text-light-base);
}

.top-sub-pages-text {
  font-size: 15rem;
  line-height: 1.9;
}
@media screen and (min-width: 768px) {
  .top-sub-pages-text {
    font-size: 16rem;
  }
}

.top-sub-pages-button {
  background: var(--color-bg-lightest-blue);
  width: 40rem;
  height: 40rem;
  border-radius: 100vh;
  position: relative;
  margin-left: auto;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media screen and (min-width: 768px) {
  .top-sub-pages-button {
    width: 44rem;
    height: 44rem;
  }
}
.top-sub-pages-button::after {
  position: absolute;
  content: "";
  display: block;
  width: 12rem;
  height: 12rem;
  background-image: url(../img/arrow/arrow-primary.svg);
  background-size: contain;
  background-repeat: no-repeat;
  top: 50%;
  left: 55%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

/*!
page > news-single
------------------------------
*/
.news-single {
  margin-top: 80rem;
  margin-bottom: 80rem;
}
@media screen and (min-width: 768px) {
  .news-single {
    margin-top: 140rem;
    margin-bottom: 120rem;
  }
}

.news-single-content-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16rem;
}
.news-single-content-wrapper h2 {
  font-size: 20rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .news-single-content-wrapper h2 {
    font-size: 24rem;
  }
}
.news-single-content-wrapper h3 {
  font-size: 18rem;
  line-height: 1.44;
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .news-single-content-wrapper h3 {
    font-size: 20rem;
  }
}
.news-single-content-wrapper p {
  font-size: 15rem;
  line-height: 1.9;
}
@media screen and (min-width: 768px) {
  .news-single-content-wrapper p {
    font-size: 16rem;
  }
}
.news-single-content-wrapper ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10rem;
  list-style: disc;
}
.news-single-content-wrapper ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12rem;
  font-size: 15rem;
  font-weight: 700;
}
.news-single-content-wrapper ul li::before {
  display: inline-block;
  content: "";
  width: 8rem;
  height: 8rem;
  border-radius: 100vh;
  background-color: var(--color-text-primary);
}
@media screen and (min-width: 768px) {
  .news-single-content-wrapper ul li {
    font-size: 16rem;
  }
}
.news-single-content-wrapper ol {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3rem;
}
.news-single-content-wrapper ol li {
  counter-increment: list-counter;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 700;
  line-height: 1.9;
  gap: 8rem;
}
.news-single-content-wrapper ol li::before {
  content: counter(list-counter, decimal-leading-zero) ".";
  font-size: 20rem;
  color: var(--color-text-primary);
  font-family: var(--font-family-en);
  line-height: 1.15;
  font-weight: 500;
}
.news-single-content-wrapper a {
  display: inline-block;
  font-size: 15rem;
  line-height: 1.9;
  color: var(--color-text-primary);
  text-decoration: underline;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
@media (any-hover: hover) {
  .news-single-content-wrapper a:hover {
    opacity: 0.5;
  }
}

.news-single-button-wrapper .nav-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 80rem;
}

.news-single-prev-button,
.news-single-next-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0 22rem;
  width: 144rem;
  height: 51rem;
  border-radius: 32rem;
  background-color: var(--color-bg-light-grey);
  font-family: var(--font-family-en);
  text-transform: uppercase;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  cursor: pointer;
}
@media (any-hover: hover) {
  .news-single-prev-button:hover,
  .news-single-next-button:hover {
    color: var(--color-text-white);
    background-color: var(--color-bg-primary);
  }
  .news-single-prev-button:hover::before, .news-single-prev-button:hover::after,
  .news-single-next-button:hover::before,
  .news-single-next-button:hover::after {
    background-image: url(../img/arrow/arrow-white-right.svg);
  }
}

.news-single-prev-button::before {
  content: "";
  display: block;
  width: 12rem;
  height: 11rem;
  background-image: url(../img/arrow/arrow-primary.svg);
  background-size: contain;
  background-repeat: no-repeat;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.news-single-next-button::after {
  content: "";
  display: block;
  width: 12rem;
  height: 11rem;
  background-image: url(../img/arrow/arrow-primary.svg);
  background-size: contain;
  background-repeat: no-repeat;
}

/*!
page > error
------------------------------
*/
.error-text {
  text-align: center;
  font-size: 16rem;
  letter-spacing: 0.05em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .error-text {
    font-size: 24rem;
  }
}

.error-button {
  margin-top: 40rem;
  margin-inline: auto;
  font-size: 16rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  border-radius: 100vh;
  background-color: var(--color-bg-primary);
  color: var(--color-text-white);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 320rem;
  height: 74rem;
  -webkit-transition: color 0.5s, background-color 0.5s;
  transition: color 0.5s, background-color 0.5s;
}
@media (any-hover: hover) {
  .error-button:hover {
    background-color: var(--color-bg-white);
    border: 1px solid var(--color-bg-primary);
    color: var(--color-text-primary);
  }
}
@media screen and (min-width: 768px) {
  .error-button {
    margin-top: 80rem;
    font-size: 20rem;
  }
}

/*!
page > message
------------------------------
*/
@media screen and (min-width: 768px) {
  .message-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 56rem;
  }
}

.message-image {
  display: block;
  aspect-ratio: 340/228;
  width: 340rem;
  height: 228rem;
}
@media screen and (min-width: 768px) {
  .message-image {
    aspect-ratio: 400/530;
    width: 400rem;
    height: 530rem;
    border-radius: 0 0 0 32rem;
  }
}
.message-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.message-content {
  margin-top: 32rem;
}
@media screen and (min-width: 768px) {
  .message-content {
    margin-top: 0;
  }
}

.message-content-title {
  font-size: 28rem;
  line-height: 1.46;
  letter-spacing: 0.05em;
  font-weight: 500;
}
.message-content-title--primary {
  color: var(--color-text-primary);
}
@media screen and (min-width: 768px) {
  .message-content-title {
    font-size: 32rem;
    line-height: 1.43;
  }
}

.message-content-text-wrapper {
  margin-top: 16rem;
}
@media screen and (min-width: 768px) {
  .message-content-text-wrapper {
    margin-top: 24rem;
  }
}
.message-content-text-wrapper p {
  font-size: 15rem;
  line-height: 1.9;
}
@media screen and (min-width: 768px) {
  .message-content-text-wrapper p {
    font-size: 16rem;
  }
}
.message-content-text-wrapper p:nth-child(2) {
  margin-top: 12rem;
}

.message-content-text-position {
  margin-top: 32rem;
  font-size: 15rem;
  line-height: 1.9;
}
@media screen and (min-width: 768px) {
  .message-content-text-position {
    margin-top: 40rem;
    font-size: 16rem;
  }
}

.message-content-text-name {
  font-size: 28rem;
  line-height: 1.46;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .message-content-text-name {
    font-size: 32rem;
  }
}

/*!
page > access
------------------------------
*/
@media screen and (min-width: 768px) {
  .access-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 70rem 40rem;
  }
}

.access-content {
  padding: 40rem 0;
  border-bottom: 1px solid var(--color-border-base);
}
.access-content:first-child {
  padding-top: 0;
}
.access-content:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
@media screen and (min-width: 768px) {
  .access-content {
    padding: 0;
    border-bottom: none;
  }
  .access-content .access-content-map {
    margin-top: 16rem;
    width: 100%;
    height: 320rem;
  }
  .access-content:first-child {
    grid-column: 1/3;
  }
  .access-content:first-child .access-content-wrapper {
    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;
  }
  .access-content:first-child .access-content-map {
    margin-top: 20rem;
    width: 100%;
    height: 408rem;
  }
}

.access-content-title {
  font-size: 20rem;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .access-content-title {
    font-size: 24rem;
    line-height: 1.45;
  }
}

.access-content-address {
  margin-top: 8rem;
  font-size: 15rem;
  line-height: 1.9;
}
@media screen and (min-width: 768px) {
  .access-content-address {
    margin-top: 9rem;
    font-size: 16rem;
  }
}

.access-content-button {
  margin-top: 14rem;
  font-family: var(--font-family-en);
  background-color: var(--color-bg-lightest-blue);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 16rem 20rem 16rem 23rem;
  border-radius: 100vh;
  width: 200rem;
  height: 51rem;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  text-transform: uppercase;
}
.access-content-button::after {
  content: "";
  display: block;
  width: 12rem;
  height: 11rem;
  background-image: url(../img/arrow/arrow-primary.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
@media (any-hover: hover) {
  .access-content-button:hover {
    background-color: var(--color-bg-primary);
    color: var(--color-text-white);
  }
  .access-content-button:hover::after {
    background-image: url(../img/arrow/arrow-white-right.svg);
  }
}

.access-content-map {
  margin-top: 16rem;
  display: block;
  width: 340rem;
  height: 226rem;
  border-radius: 0 0 0 32rem;
  overflow: hidden;
}
.access-content-map iframe {
  width: 100%;
  height: 100%;
}

/*!
page > company
------------------------------
*/
.company-image {
  display: block;
  aspect-ratio: 340/226;
  width: 340rem;
  height: 226rem;
  -o-object-fit: cover;
     object-fit: cover;
}
.company-image img {
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .company-image {
    aspect-ratio: 2/1;
    width: 1000rem;
    height: 500rem;
  }
}

.company-content {
  margin-top: 34rem;
}
@media screen and (min-width: 768px) {
  .company-content {
    margin-top: 50rem;
  }
}
.company-content tr {
  padding: 25rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-bottom: 1px solid var(--color-border-base);
  line-height: 1.47;
  font-size: 15rem;
}
.company-content tr:first-child {
  border-top: 1px solid var(--color-border-base);
}
@media screen and (min-width: 768px) {
  .company-content tr {
    font-size: 16rem;
    padding: 31rem 0;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.company-content td {
  padding: 0 !important;
  border: none !important;
}
.company-content td:first-child {
  font-weight: 700;
  margin-bottom: 4rem;
}
@media screen and (min-width: 768px) {
  .company-content td:first-child {
    width: 224rem;
    margin-bottom: 0;
  }
}

.company-content-list-item dt {
  line-height: 1.46;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .company-content-list-item {
    font-size: 16rem;
    padding: 31rem 0;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .company-content-list-item dt {
    width: 160rem;
  }
}

/*!
page > business-single > problem
------------------------------
*/
@media screen and (min-width: 768px) {
  .business-single-problem {
    padding-bottom: 80rem;
    scroll-margin-top: 128rem;
  }
}

.business-single-problem-title-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.business-single-problem-title-en {
  font-family: var(--font-family-en);
  text-transform: uppercase;
  color: var(--color-text-primary);
  line-height: 1.18;
}
@media screen and (min-width: 768px) {
  .business-single-problem-title-en {
    font-size: 20rem;
  }
}

.business-single-problem-title-ja {
  font-size: 24rem;
  line-height: 1.46;
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .business-single-problem-title-ja {
    font-size: 32rem;
  }
}

.business-single-problem-text {
  margin-top: 16rem;
  line-height: 2;
}

.business-single-problem-list {
  margin-top: 24rem;
  background-color: var(--color-bg-lightest-blue);
  padding: 32rem 24rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24rem;
}
@media screen and (min-width: 768px) {
  .business-single-problem-list {
    padding: 48rem 40rem;
  }
}

.business-single-problem-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16rem;
}

.business-single-problem-list-item-icon {
  display: block;
  aspect-ratio: 21/24;
  width: 21rem;
  height: 24rem;
}
.business-single-problem-list-item-icon img {
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .business-single-problem-list-item-icon {
    aspect-ratio: 1/1;
    width: 27rem;
    height: 27rem;
  }
}

.business-single-problem-list-item-text {
  line-height: 1.43;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .business-single-problem-list-item-text {
    font-size: 18rem;
    line-height: 1.5;
  }
}

/*!
page > business-single > feature
------------------------------
*/
.business-single-feature {
  scroll-margin-top: 128rem;
  margin-top: 80rem;
}
@media screen and (min-width: 768px) {
  .business-single-feature {
    margin-top: 0;
    padding-bottom: 80rem;
  }
}

.business-single-feature-title-en {
  font-family: var(--font-family-en);
  text-transform: uppercase;
  color: var(--color-text-primary);
  line-height: 1.18;
}
@media screen and (min-width: 768px) {
  .business-single-feature-title-en {
    font-size: 20rem;
  }
}

.business-single-feature-title-ja {
  font-size: 24rem;
  line-height: 1.46;
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .business-single-feature-title-ja {
    font-size: 32rem;
  }
}

.business-single-feature-content {
  margin-top: 24rem;
}
@media screen and (min-width: 768px) {
  .business-single-feature-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 32rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.business-single-feature-content-image {
  display: block;
  aspect-ratio: 340/170;
  width: 340rem;
  height: 170rem;
  overflow: hidden;
  border-radius: 0 0 0 40rem;
}
.business-single-feature-content-image img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .business-single-feature-content-image {
    aspect-ratio: 240/160;
    width: 240rem;
    height: 160rem;
  }
}

.business-single-feature-content-title {
  margin-top: 18rem;
  font-size: 18rem;
  line-height: 1.44;
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .business-single-feature-content-title {
    margin-top: 0;
    font-size: 24rem;
  }
}

.business-single-feature-content-text {
  margin-top: 10rem;
  font-size: 15rem;
  line-height: 1.9;
}
@media screen and (min-width: 768px) {
  .business-single-feature-content-text {
    font-size: 16rem;
    line-height: 1.7;
  }
}

/*!
page > business-single > flow
------------------------------
*/
.business-single-flow {
  scroll-margin-top: 128rem;
  margin: 80rem 0;
}
@media screen and (min-width: 768px) {
  .business-single-flow {
    margin: 0;
  }
}

.business-single-flow-title-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.business-single-flow-title-en {
  font-family: var(--font-family-en);
  text-transform: uppercase;
  color: var(--color-text-primary);
  line-height: 1.18;
}
@media screen and (min-width: 768px) {
  .business-single-flow-title-en {
    font-size: 20rem;
  }
}

.business-single-flow-title-ja {
  font-size: 24rem;
  line-height: 1.46;
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .business-single-flow-title-ja {
    font-size: 32rem;
  }
}

.business-single-flow-content-wrapper {
  margin-top: 24rem;
}
@media screen and (min-width: 768px) {
  .business-single-flow-content-wrapper {
    margin-top: 30rem;
  }
}

.business-single-flow-content-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32rem;
}
@media screen and (min-width: 768px) {
  .business-single-flow-content-list {
    gap: 26rem;
  }
}

.business-single-flow-content-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16rem;
}
@media screen and (min-width: 768px) {
  .business-single-flow-content-list-item {
    gap: 32rem;
  }
}

.business-single-flow-content-list-item-icon-wrapper {
  background-color: var(--color-bg-lightest-blue);
  border-radius: 100vh;
  width: 100rem;
  height: 100rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .business-single-flow-content-list-item-icon-wrapper {
    width: 150rem;
    height: 150rem;
  }
}

.business-single-flow-content-list-item-icon {
  width: 80rem;
  height: 80rem;
  aspect-ratio: 1/1;
}
.business-single-flow-content-list-item-icon img {
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .business-single-flow-content-list-item-icon {
    width: 134rem;
    height: 134rem;
  }
}

.business-single-flow-content-list-item-content {
  width: 224rem;
}
@media screen and (min-width: 768px) {
  .business-single-flow-content-list-item-content {
    width: auto;
  }
}

.business-single-flow-content-list-item-number {
  font-family: var(--font-family-en);
  letter-spacing: 0.05em;
  line-height: 1.19;
  color: var(--color-text-primary);
}
@media screen and (min-width: 768px) {
  .business-single-flow-content-list-item-number {
    font-size: 24rem;
  }
}

.business-single-flow-content-list-item-title {
  font-size: 18rem;
  line-height: 1.44;
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .business-single-flow-content-list-item-title {
    font-size: 24rem;
    line-height: 1.46;
  }
}

.business-single-flow-content-list-item-text {
  margin-top: 3rem;
  font-size: 14rem;
  line-height: 1.43;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .business-single-flow-content-list-item-text {
    margin-top: 7rem;
    font-size: 16rem;
    line-height: 1.9;
  }
}

/*!
page > archive-product > archive-product
------------------------------
*/
.archive-product {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24rem 20rem;
}
@media screen and (min-width: 768px) {
  .archive-product {
    grid-template-columns: repeat(3, 1fr);
    gap: 64rem 44rem;
  }
}

.archive-product-item {
  width: 160rem;
}
@media screen and (min-width: 768px) {
  .archive-product-item {
    width: 404rem;
  }
}

.archive-product-item-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8rem;
  overflow: hidden;
}
.archive-product-item-link img {
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media screen and (min-width: 768px) {
  .archive-product-item-link {
    gap: 16rem;
  }
}
@media (any-hover: hover) {
  .archive-product-item-link:hover img {
    scale: 1.03;
  }
  .archive-product-item-link:hover .archive-product-item-sub-title {
    background-color: var(--color-bg-primary);
    color: var(--color-text-white);
    border: 1px solid var(--color-text-primary);
  }
  .archive-product-item-link:hover .archive-product-item-title {
    color: var(--color-text-primary);
  }
}

.archive-product-item-image {
  width: 160rem;
  height: 106rem;
  -o-object-fit: cover;
     object-fit: cover;
  overflow: hidden;
  border-radius: 0 0 0 24rem;
  border: 1px solid var(--color-border-dc);
}
.archive-product-item-image img {
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .archive-product-item-image {
    width: 404rem;
    height: 269rem;
    border-radius: 0 0 0 32rem;
  }
}

.archive-product-item-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4rem;
}
@media screen and (min-width: 768px) {
  .archive-product-item-content {
    gap: 8rem;
  }
}

.archive-product-item-sub-title {
  font-size: 13rem;
  line-height: 1.46;
  border: 1px solid var(--color-text-base);
  border-radius: 16rem;
  padding: 1rem 7rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media screen and (min-width: 768px) {
  .archive-product-item-sub-title {
    font-size: 16rem;
  }
}

.archive-product-item-title {
  font-size: 15rem;
  line-height: 1.46;
  font-weight: 500;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media screen and (min-width: 768px) {
  .archive-product-item-title {
    font-size: 20rem;
  }
}

/*!
page > product-single > product-single
------------------------------
*/
.product-single {
  margin-top: 80rem;
  margin-bottom: 80rem;
}
@media screen and (min-width: 768px) {
  .product-single {
    margin-top: 140rem;
    margin-bottom: 120rem;
  }
}

.product-single-image {
  aspect-ratio: 340/227;
  width: 340rem;
  height: 227rem;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  overflow: hidden;
  border-radius: 0 0 0 56rem;
  border: 1px solid var(--color-border-dc);
}
.product-single-image img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .product-single-image {
    aspect-ratio: 2/1;
    width: 1000rem;
    height: 500rem;
  }
}

.product-single-sub-slider {
  margin-top: 16rem;
}
@media screen and (min-width: 768px) {
  .product-single-sub-slider {
    margin-top: 24rem;
  }
}
.product-single-sub-slider .splide__slide {
  opacity: 0.4;
}
.product-single-sub-slider .splide__slide.is-active {
  opacity: 1;
}

.product-single-image-sub-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .product-single-image-sub-wrapper {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 16rem;
  }
}

.product-single-image-sub {
  aspect-ratio: 1/1;
  width: 72rem !important;
  height: 72rem !important;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  border: 1px solid var(--color-border-dc);
  cursor: pointer;
}
.product-single-image-sub img {
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .product-single-image-sub {
    width: 104rem !important;
    height: 104rem !important;
  }
}

.product-single-content {
  margin-top: 56rem;
}

.product-single-content-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.product-single-content-list-item {
  padding: 25rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-bottom: 1px solid var(--color-border-base);
  line-height: 1.9;
  font-size: 15rem;
}
.product-single-content-list-item:first-child {
  border-top: 1px solid var(--color-border-base);
}
.product-single-content-list-item dt {
  line-height: 1.46;
  font-weight: 700;
  width: 224rem;
}
@media screen and (min-width: 768px) {
  .product-single-content-list-item {
    font-size: 16rem;
    padding: 31rem 0;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

/*!
page > contact > contact
------------------------------
*/
.contact-text {
  font-size: 15rem;
  line-height: 1.9;
}
@media screen and (min-width: 768px) {
  .contact-text {
    font-size: 16rem;
  }
}

.contact-form {
  margin-top: 40rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24rem;
}
@media screen and (min-width: 768px) {
  .contact-form {
    gap: 33rem;
  }
}

.contact-form-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: 6rem;
}
@media screen and (min-width: 768px) {
  .contact-form-item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 20rem;
  }
}
.contact-form-item input {
  width: 100%;
  background-color: var(--color-bg-lightest-blue);
  border-radius: 4rem;
  padding: 13rem 19rem;
  outline: none;
  font-size: 15rem;
  display: block;
}
.contact-form-item input::-webkit-input-placeholder {
  color: var(--color-text-placeholder);
}
.contact-form-item input::-moz-placeholder {
  color: var(--color-text-placeholder);
}
.contact-form-item input:-ms-input-placeholder {
  color: var(--color-text-placeholder);
}
.contact-form-item input::-ms-input-placeholder {
  color: var(--color-text-placeholder);
}
.contact-form-item input::placeholder {
  color: var(--color-text-placeholder);
}
.contact-form-item input:focus {
  -webkit-box-shadow: 0 0 0 1rem var(--color-text-primary), 0 0 0 4rem var(--color-border-base);
          box-shadow: 0 0 0 1rem var(--color-text-primary), 0 0 0 4rem var(--color-border-base);
}
@media screen and (min-width: 768px) {
  .contact-form-item input {
    width: 784rem;
  }
}
.contact-form-item textarea {
  width: 100%;
  height: 120rem;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  field-sizing: content;
  resize: vertical;
  width: 100%;
  background-color: var(--color-bg-lightest-blue);
  border-radius: 4rem;
  padding: 13rem 19rem;
  outline: none;
  font-size: 15rem;
  display: block;
}
.contact-form-item textarea::-webkit-input-placeholder {
  color: var(--color-text-placeholder);
}
.contact-form-item textarea::-moz-placeholder {
  color: var(--color-text-placeholder);
}
.contact-form-item textarea:-ms-input-placeholder {
  color: var(--color-text-placeholder);
}
.contact-form-item textarea::-ms-input-placeholder {
  color: var(--color-text-placeholder);
}
.contact-form-item textarea::placeholder {
  color: var(--color-text-placeholder);
}
.contact-form-item textarea:focus {
  -webkit-box-shadow: 0 0 0 1rem var(--color-text-primary), 0 0 0 4rem var(--color-border-base);
          box-shadow: 0 0 0 1rem var(--color-text-primary), 0 0 0 4rem var(--color-border-base);
}
@media screen and (min-width: 768px) {
  .contact-form-item textarea {
    height: 160rem;
    width: 784rem;
  }
}

.contact-form-item-title {
  font-weight: 700;
  width: 200rem;
  display: block;
}
@media screen and (min-width: 768px) {
  .contact-form-item-title {
    margin-top: 16rem;
  }
}

.contact-form-item-required {
  font-weight: 500;
  margin-left: 4rem;
  color: var(--color-form-required);
}

.contact-form-privacy-text {
  font-size: 15rem;
  line-height: 1.9;
  margin-top: 48rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .contact-form-privacy-text {
    margin-top: 80rem;
    font-size: 16rem;
  }
}
.contact-form-privacy-text a {
  color: var(--color-text-primary);
  text-decoration: underline;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media (any-hover: hover) {
  .contact-form-privacy-text a:hover {
    opacity: 0.7;
  }
}
.contact-form-privacy-text a:focus {
  -webkit-box-shadow: 0 0 0 1rem var(--color-text-primary);
          box-shadow: 0 0 0 1rem var(--color-text-primary);
}

.contact-form-button {
  display: block;
  padding: 24rem 122.5rem;
  border-radius: 100vh;
  background-color: var(--color-bg-primary);
  color: var(--color-text-white);
  width: 320rem;
  height: 74rem;
  -webkit-transition: color 0.3s, background-color 0.3s;
  transition: color 0.3s, background-color 0.3s;
  outline: none;
  margin: 24rem auto 0 auto;
}
@media (any-hover: hover) {
  .contact-form-button:hover {
    background-color: var(--color-bg-white);
    border: 1px solid var(--color-bg-primary);
    color: var(--color-text-primary);
  }
}
.contact-form-button:focus {
  -webkit-box-shadow: 0 0 0 1rem var(--color-text-primary), 0 0 0 4rem var(--color-border-base);
          box-shadow: 0 0 0 1rem var(--color-text-primary), 0 0 0 4rem var(--color-border-base);
}

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

.wpcf7-response-output {
  border: none !important;
  color: var(--color-form-required);
  text-align: center;
  margin: 0 !important;
  padding: 0 !important;
}

/*!
page > archive-news > archive-news
------------------------------
*/
.archive-news-list-item {
  border-top: 1rem solid var(--color-sep-lightgrey);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
.archive-news-list-item:last-child {
  border-bottom: 1rem solid var(--color-sep-lightgrey);
}
.archive-news-list-item span {
  display: block;
}
.archive-news-list-item a {
  display: block;
  padding: 20rem 16rem;
}
@media (any-hover: hover) {
  .archive-news-list-item:hover {
    color: var(--color-text-primary);
    cursor: pointer;
  }
}
@media screen and (min-width: 768px) {
  .archive-news-list-item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 16rem;
    padding: 31rem 16rem;
  }
  .archive-news-list-item span {
    display: inline-block;
  }
}

.archive-news-list-item-date {
  font-size: 17rem;
  line-height: 1.18;
  font-family: var(--font-family-en);
  width: 120rem;
}

.archive-news-list-item-title {
  font-size: 15rem;
  line-height: 1.9;
}
@media screen and (min-width: 768px) {
  .archive-news-list-item-title {
    font-size: 16rem;
  }
}

/*!
page > privacy > privacy
------------------------------
*/
.privacy p {
  margin-top: 8rem;
  font-size: 15rem;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .privacy p {
    margin-top: 8rem;
    font-size: 16rem;
  }
}
.privacy h2 {
  margin-top: 40rem;
  font-size: 20rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .privacy h2 {
    font-size: 24rem;
  }
}
.privacy ul {
  margin-top: 10rem;
  font-size: 15rem;
  letter-spacing: 0.05em;
  line-height: 1.4;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4rem;
}
@media screen and (min-width: 768px) {
  .privacy ul {
    margin-top: 20rem;
    font-size: 16rem;
    gap: 10rem;
  }
}
.privacy li {
  counter-increment: list;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding-left: 4rem;
  gap: 4rem;
}
.privacy li::before {
  content: counter(list) ". ";
  display: inline-block;
  font-size: 15rem;
  font-weight: 500;
  padding-left: 8rem;
}
@media screen and (min-width: 768px) {
  .privacy li {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    padding-left: 4rem;
  }
  .privacy li::before {
    font-size: 17rem;
  }
}

.privacy-list {
  margin-top: 10rem;
  font-size: 15rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10rem;
}
@media screen and (min-width: 768px) {
  .privacy-list {
    font-size: 16rem;
    line-height: 1.8;
  }
}

.privacy-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 2rem;
}

.wp-block-list-item {
  margin-top: 8rem;
}