@charset "UTF-8";
/* ==========================================================================
   Foundation
   ========================================================================== */
/*!
 * ress.css • v4.0.0
 * MIT License
 * github.com/filipelinhares/ress
 */
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  word-break: normal;
  -moz-tab-size: 4;
  tab-size: 4;
}

*, :after, :before {
  background-repeat: no-repeat;
  box-sizing: inherit;
}

:after, :before {
  text-decoration: inherit;
  vertical-align: inherit;
}

* {
  padding: 0;
  margin: 0;
}

hr {
  overflow: visible;
  height: 0;
  color: inherit;
}

details, main {
  display: block;
}

summary {
  display: list-item;
}

small {
  font-size: 80%;
}

[hidden] {
  display: none;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

a {
  background-color: transparent;
}

a:active, a:hover {
  outline-width: 0;
}

code, kbd, pre, samp {
  font-family: monospace, monospace;
}

pre {
  font-size: 1em;
}

b, strong {
  font-weight: bolder;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  border-color: inherit;
  text-indent: 0;
}

input {
  border-radius: 0;
}

[disabled] {
  cursor: default;
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

textarea {
  overflow: auto;
  resize: vertical;
}

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

optgroup {
  font-weight: 700;
}

button {
  overflow: visible;
}

button, select {
  text-transform: none;
}

[role=button], [type=button], [type=reset], [type=submit], button {
  cursor: pointer;
  color: inherit;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

[type=reset], [type=submit], button, html [type=button] {
  -webkit-appearance: button;
}

button, input, select, textarea {
  background-color: transparent;
  border-style: none;
}

a:focus, button:focus, input:focus, select:focus, textarea:focus {
  outline-width: 0;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
}

select::-ms-expand {
  display: none;
}

select::-ms-value {
  color: currentColor;
}

legend {
  border: 0;
  color: inherit;
  display: table;
  white-space: normal;
  max-width: 100%;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit;
}

img {
  border-style: none;
}

progress {
  vertical-align: baseline;
}

[aria-busy=true] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled=true] {
  cursor: default;
}

/* Base
   ----------------------------------------------------------------- */
/* ==========================================================================
   Global
   ========================================================================== */
/* ==========================================================================
   Global
   ========================================================================== */
/* Mixin
   ----------------------------------------------------------------- */
:root {
  --spacing: 0;
  --leading-trim: calc((1em - 1lh) / 2);
}

@supports not (top: 1lh) {
  :root {
    --leading-trim: 0px;
  }
}
* {
  letter-spacing: var(--spacing);
}

html {
  font-size: 10px;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  min-height: 100vh;
  padding: 0;
  margin: 0;
  overflow-x: clip;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", meiryo, メイリオ, sans-serif;
  font-size: 1.4rem;
  line-height: 1.5;
  color: #303030;
  word-break: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body.no-scroll {
  overflow: hidden;
}

/* Noto Sans使用時 IEはメイリオに変更 */
/* stylelint-disable-next-line selector-type-no-unknown, selector-pseudo-class-no-unknown */
_:input-placeholder,
:root body {
  font-family: Meiryo, "メイリオ", sans-serif;
}

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

table {
  border-collapse: collapse;
}

a {
  color: #303030;
  text-decoration: none;
}
ul,
li {
  list-style-type: none;
}

::selection {
  color: #303030;
  text-shadow: none;
  background-color: #A8A8A8; /* Required when declaring ::selection */
}

/* ==========================================================================
   Layout
   ========================================================================== */
/* Base
   ----------------------------------------------------------------- */
/* Layout
   ----------------------------------------------------------------- */
.l-main {
  overflow: clip;
}

/* Base
   ----------------------------------------------------------------- */
/* Header
   ----------------------------------------------------------------- */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  opacity: 1;
  transition: all 0.4s ease;
}
body.is-open-menu .l-header .l-header__inner {
  z-index: 95;
  background: linear-gradient(97.7deg, #0065D1 0%, #7554FF 100%);
}
body.is-open-menu .l-header .l-header__button.is-contact {
  background: #FFF;
}
body.is-open-menu .l-header .l-header__button.is-contact::before {
  background: linear-gradient(128.31deg, #0165D1 0%, #7554FF 100%);
}
body.is-open-menu .l-header .l-header__button.is-contact::after {
  opacity: 0;
}
body.is-open-menu .l-header .l-header__button.is-contact span {
  background: linear-gradient(90deg, #0065D1 0%, #7554FF 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
body.is-open-menu .l-header .l-header__menu span {
  height: 0;
}
body.is-open-menu .l-header .l-header__menu span::before, body.is-open-menu .l-header .l-header__menu span::after {
  top: 0;
  transition: top 0.175s ease 0.025s, transform 0.2s ease 0.2s;
}
body.is-open-menu .l-header .l-header__menu span::before {
  transform: rotate(45deg);
}
body.is-open-menu .l-header .l-header__menu span::after {
  width: 100%;
  transform: rotate(-45deg);
}
body.is-open-menu .l-header .l-header__gnav {
  opacity: 1;
  visibility: visible;
}
.l-header__inner {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  column-gap: 3rem;
  height: 6rem;
  margin: 1rem;
  padding: 2rem 2.6666666667vw;
  background: transparent;
  border-radius: 1rem;
  transition: background-color 0.175s ease 0.025s, box-shadow 0.175s ease 0.025s;
}
@media screen and (min-width: 992px) {
  .l-header__inner {
    height: clamp(80px, 100 / 1559 * 100vw, 100px);
    margin: clamp(20px, 20 / 1559 * 100vw, 20px) clamp(30px, 30 / 1559 * 100vw, 30px) 0 clamp(30px, 30 / 1559 * 100vw, 30px);
    padding: clamp(25px, 25 / 1559 * 100vw, 25px) 1.6035920462vw;
    border-radius: 2rem;
  }
}
body.is-subpage .l-header__inner {
  background: #FFF;
  box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.05);
}
body.is-subpage.is-open-search .l-header__inner {
  background: transparent;
  box-shadow: none;
}
.l-header__inner {
  transition-duration: 0.2s;
}
.l-header__inner:before {
  content: "";
  display: block;
  position: absolute;
  top: -10px;
  left: -10px;
  right: -10px;
  bottom: 0px;
  z-index: -1;
  transition-duration: 0.2s;
}
body.is-open-menu .l-header__inner:before {
  background: linear-gradient(97.7deg, #0065D1 0%, #7554FF 100%);
}
.l-header__logo {
  z-index: 100;
  font-size: 0;
}
.l-header__logo img {
  width: 13.4rem;
}
@media screen and (min-width: 768px) {
  .l-header__logo img {
    width: clamp(170px, 240 / 1559 * 100vw, 240px);
  }
}
.l-header__logo-white {
  display: block;
}
body.is-subpage .l-header__logo-white {
  display: none;
}
body.is-subpage.is-open-search .l-header__logo-white {
  display: block;
}
body.is-subpage.is-open-menu .l-header__logo-white {
  display: block;
}
.l-header__logo-color {
  display: none;
}
body.is-subpage .l-header__logo-color {
  display: block;
}
body.is-subpage.is-open-search .l-header__logo-color {
  display: none;
}
body.is-subpage.is-open-menu .l-header__logo-color {
  display: none;
}
.l-header__layout {
  position: relative;
  z-index: 100;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  column-gap: 0.6rem;
}
@media screen and (min-width: 992px) {
  .l-header__layout {
    column-gap: clamp(10px, 20 / 1559 * 100vw, 20px);
  }
}
.l-header .l-hnav {
  display: none;
}
@media screen and (min-width: 992px) {
  .l-header .l-hnav {
    display: block;
    margin-right: clamp(10px, 20 / 1559 * 100vw, 20px);
  }
}
.l-header .l-hnav__list {
  display: flex;
  gap: 0 clamp(10px, 25 / 1559 * 100vw, 25px);
}
.l-header .l-hnav__item {
  font-size: clamp(13px, 16 / 1559 * 100vw, 16px);
  font-weight: 700;
}
@media screen and (min-width: 992px) {
  .l-header .l-hnav__item {
    white-space: nowrap;
  }
}
.l-header .l-hnav__item > a {
  color: #FFF;
  transition: opacity 0.4s ease;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .l-header .l-hnav__item > a:hover {
    opacity: 0.6;
  }
}
@media screen and (min-width: 992px) {
  body.is-subpage .l-header .l-hnav__item > a {
    color: #303030;
  }
}
@media screen and (min-width: 992px) {
  body.is-subpage.is-open-search .l-header .l-hnav__item > a {
    color: #FFF;
  }
}
.l-header__button {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #FFF;
  height: 4rem;
  border-radius: 0.5rem;
  overflow: hidden;
  transition: opacity 0.4s ease;
}
@media screen and (min-width: 768px) {
  .l-header__button {
    height: 5rem;
  }
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .l-header__button:hover {
    opacity: 0.6;
  }
}
.l-header__button.is-search {
  display: none;
}
@media screen and (min-width: 992px) {
  .l-header__button.is-search {
    display: flex;
    width: 5rem;
    background: rgba(255, 255, 255, 0.2);
    transition: background-color 0.4s ease, opacity 0.4s ease;
  }
}
@media screen and (min-width: 992px) {
  body.is-open-search .l-header__button.is-search {
    background: #FFF;
  }
  body.is-open-search .l-header__button.is-search::before {
    background: #0464D3;
  }
}
.l-header__button.is-search::before {
  display: block;
  width: 2rem;
  height: 2rem;
  content: "";
  background: #FFF;
  mask-image: url("/img/common/icon_search.svg");
  mask-repeat: no-repeat;
  mask-position: 0 0;
  mask-size: contain;
  transition: background-color 0.4s ease;
}
@media screen and (min-width: 992px) {
  body.is-subpage .l-header__button.is-search {
    background: #F2F6FA;
  }
  body.is-subpage .l-header__button.is-search::before {
    background: #0464D3;
  }
}
@media screen and (min-width: 992px) {
  body.is-subpage.is-open-search .l-header__button.is-search {
    background: #FFF;
  }
  body.is-subpage.is-open-search .l-header__button.is-search::before {
    background: #0464D3;
  }
}
.l-header__button.is-contact {
  width: 4rem;
  background: transparent;
  transition: background-color 0.175s 0.025s;
}
@media screen and (min-width: 768px) {
  .l-header__button.is-contact {
    width: clamp(100px, 136 / 1559 * 100vw, 136px);
  }
}
.l-header__button.is-contact::before {
  position: relative;
  z-index: 2;
  display: block;
  width: 1.8rem;
  height: 1.6rem;
  content: "";
  background: #FFF;
  mask-image: url("/img/common/icon_mail.svg");
  mask-repeat: no-repeat;
  mask-position: 0 0;
  mask-size: contain;
  transition: background-color 0.175s 0.025s;
}
@media screen and (min-width: 768px) {
  .l-header__button.is-contact::before {
    display: none;
  }
}
body.is-subpage .l-header__button.is-contact::before {
  background: #FFF;
}
body.is-subpage.is-open-search .l-header__button.is-contact::before {
  background: #FFF;
}
.l-header__button.is-contact::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  content: "";
  background: linear-gradient(97.7deg, #0065D1 0%, #7554FF 100%);
  transition: opacity 0.175s 0.025s;
}
.l-header__button.is-contact span {
  display: none;
}
@media screen and (min-width: 768px) {
  .l-header__button.is-contact span {
    position: relative;
    z-index: 2;
    display: flex;
    font-size: clamp(13px, 15 / 1559 * 100vw, 15px);
    font-weight: 700;
  }
}
.l-header__menu {
  position: relative;
  z-index: 120;
  width: 4rem;
  height: 4rem;
  background: #303030;
  border-radius: 0.5rem;
  cursor: pointer;
  backface-visibility: hidden;
  transition: background-color 0.175s ease 0.025s;
}
@media screen and (min-width: 768px) {
  .l-header__menu {
    width: 5rem;
    height: 5rem;
  }
}
@media screen and (min-width: 992px) {
  .l-header__menu {
    display: none;
  }
}
body.is-subpage.is-open-search .l-header__menu {
  background: #303030;
}
.l-header__menu span {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10;
  width: 2rem;
  height: 1px;
  margin: auto;
  background-color: #FFF;
  transition: height 0.01s ease 0.2s, background-color 0.175s ease 0.025s;
}
@media screen and (min-width: 768px) {
  .l-header__menu span {
    width: 2.4rem;
  }
}
.l-header__menu span::before, .l-header__menu span::after {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-color: #FFF;
  transition: top 0.2s ease 0.2s, transform 0.175s ease 0.025s, background-color 0.175s ease 0.025s;
}
.l-header__menu span::before {
  top: -0.5rem;
}
@media screen and (min-width: 768px) {
  .l-header__menu span::before {
    top: -0.5rem;
  }
}
.l-header__menu span::after {
  top: 0.5rem;
}
@media screen and (min-width: 768px) {
  .l-header__menu span::after {
    top: 0.5rem;
  }
}
.l-header .l-search {
  display: none;
}
@media screen and (min-width: 992px) {
  .l-header .l-search {
    position: fixed;
    z-index: 80;
    inset: 0;
    display: block;
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s ease;
  }
}
@media screen and (min-width: 992px) {
  body.is-open-search .l-header .l-search {
    opacity: 1;
    visibility: visible;
  }
}
@media screen and (min-width: 992px) {
  .l-header .l-search__inner {
    padding-block: calc(10rem + clamp(30px, 45 / 1559 * 100vw, 45px)) clamp(60px, 80 / 1559 * 100vw, 80px);
    height: auto;
    background: #303030;
  }
}
@media screen and (min-width: 992px) {
  .l-header .l-search__block {
    display: flex;
    justify-content: flex-end;
    max-width: 188rem;
    margin-inline: auto;
    padding: 0 2.5657472739%;
  }
}
@media screen and (min-width: 992px) {
  .l-header .l-search__box {
    display: inline-block;
    margin-right: clamp(110px, 156 / 1559 * 100vw, 156px);
    padding: clamp(18px, 20 / 1559 * 100vw, 20px);
    background: rgba(255, 255, 255, 0.2);
    border-radius: 1rem;
    overflow: hidden;
  }
}
.l-header .l-search__form {
  display: flex;
  align-items: center;
  height: 4rem;
  border-radius: 0.6rem;
  overflow: hidden;
}
@media screen and (min-width: 992px) {
  .l-header .l-search__form {
    height: clamp(34px, 40 / 1559 * 100vw, 40px);
  }
}
.l-header .l-search__form > input[type=text] {
  padding: 0 1.5rem;
  width: 100%;
  height: 100%;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", meiryo, メイリオ, sans-serif;
  font-size: 14px;
  line-height: normal;
  background-color: #FFF;
  border: none;
  transition: all 0.4s ease;
}
@media screen and (min-width: 992px) {
  .l-header .l-search__form > input[type=text] {
    width: 24rem;
    font-size: clamp(12px, 14 / 1559 * 100vw, 14px);
  }
}
.l-header .l-search__form > input[type=text]::placeholder {
  color: #999;
}
.l-header .l-search__form > input[type=text]:focus {
  outline: 0;
}
.l-header .l-search__button {
  display: inline-block;
  transition: opacity 0.4s ease;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .l-header .l-search__button:hover {
    opacity: 0.6;
  }
}
.l-header .l-search__button > input[type=submit] {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 6rem;
  height: 4rem;
  color: #FFF;
  font-size: 14px;
  background: #303030;
  border: none;
}
@media screen and (min-width: 992px) {
  .l-header .l-search__button > input[type=submit] {
    height: clamp(34px, 40 / 1559 * 100vw, 40px);
    font-size: clamp(12px, 14 / 1559 * 100vw, 14px);
  }
}
.l-header__gnav {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 90;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.175s 0.025s, visibility 0.175s 0.025s;
}
.l-header__gnav-inner {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  padding: 7.2rem 5.3333333333% 3rem;
  margin-left: auto;
  overflow: hidden;
  overflow-y: auto;
  background: #222;
}
@media screen and (min-width: 768px) {
  .l-header__gnav-inner {
    padding: 15rem 6rem 2rem;
  }
}
.l-header .l-gnav__nav {
  position: relative;
}
@media screen and (min-width: 768px) {
  .l-header .l-gnav__nav {
    max-width: 60rem;
    margin: 0 auto;
  }
}
.l-header .l-gnav__nav-unit {
  border-bottom: 1px solid #333;
}
.l-header .l-gnav__nav-ttl.is-open > span::before {
  opacity: 0;
  transform: rotate(90deg);
}
.l-header .l-gnav__nav-ttl > a, .l-header .l-gnav__nav-ttl > span {
  position: relative;
  display: flex;
  align-items: center;
  padding-right: 3rem;
  width: 100%;
  height: 4.8rem;
  color: #888;
  font-size: 12px;
  font-weight: 700;
}
.l-header .l-gnav__nav-ttl > span {
  cursor: pointer;
}
.l-header .l-gnav__nav-ttl > span::before {
  position: absolute;
  top: calc(50% - 0.5rem);
  right: 1.5rem;
  width: 1px;
  height: 1.1rem;
  content: "";
  background-color: #888;
  transition: all 0.2s;
}
.l-header .l-gnav__nav-ttl > span::after {
  position: absolute;
  top: 50%;
  right: 1rem;
  display: block;
  width: 1.1rem;
  height: 1px;
  content: "";
  background-color: #888;
  transition: all 0.2s;
}
.l-header .l-gnav__nav-list {
  position: relative;
  height: 0;
  opacity: 0;
  visibility: hidden;
  overflow: hidden;
  transition: height 0.4s ease, opacity 0.4s ease 0.4s, visibility 0.4s ease 0.4s;
}
.l-header .l-gnav__nav-list.is-open {
  margin-bottom: 2.2rem;
  opacity: 1;
  visibility: visible;
  transition: height 0.4s ease;
}
.l-header .l-gnav__nav-item {
  position: relative;
}
.l-header .l-gnav__nav-item:not(:last-child) {
  margin-bottom: 0.8rem;
}
.l-header .l-gnav__nav-item > a {
  position: relative;
  color: #FFF;
  font-size: 12px;
}
.l-header .l-gnav__search {
  margin: 3rem auto 0;
  max-width: 60rem;
}
.l-header .l-gnav__search .l-search__box input[type=text] {
  width: calc(100% - 6rem);
}
.l-header .l-gnav__search .l-search__button > input[type=submit] {
  background: #888;
}
.l-header .l-gnav__sns {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 clamp(20px, 30 / 1559 * 100vw, 30px);
  margin-top: 4rem;
}
.l-header .l-gnav__sns > a {
  width: clamp(21px, 29 / 1559 * 100vw, 29px);
  transition: opacity 0.4s ease;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .l-header .l-gnav__sns > a:hover {
    opacity: 0.6;
  }
}
.l-header .l-gnav__subNav {
  margin-top: 5rem;
}
.l-header .l-gnav__subNav-list {
  display: flex;
  justify-content: center;
  gap: 0 1.5em;
  align-items: center;
  font-size: clamp(10px, 14 / 1559 * 100vw, 14px);
}
.l-header .l-gnav__subNav-item {
  position: relative;
  color: #888;
  font-size: clamp(10px, 14 / 1559 * 100vw, 14px);
  line-height: 1.8;
}
.l-header .l-gnav__subNav-item:not(:first-child)::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -1.25em;
  margin-block: auto;
  content: "｜";
}
.l-header .l-gnav__subNav-item > a {
  color: #888;
}

/* Base
   ----------------------------------------------------------------- */
/* Footer
   ----------------------------------------------------------------- */
.l-footer {
  position: relative;
  background: #222;
  color: #888;
  margin-top: calc(clamp(40px, 80 / 1559 * 100vw, 80px) * -1);
  border-radius: clamp(40px, 80 / 1559 * 100vw, 80px) clamp(40px, 80 / 1559 * 100vw, 80px) 0 0;
}
@media screen and (min-width: 768px) {
  .l-footer {
    padding-top: clamp(60px, 100 / 1559 * 100vw, 100px);
    padding-bottom: clamp(40px, 60 / 1559 * 100vw, 60px);
  }
}
@media screen and (max-width: 767px) {
  .l-footer {
    padding-top: clamp(60px, 60 / 1559 * 100vw, 60px);
    padding-bottom: clamp(60px, 60 / 1559 * 100vw, 60px);
  }
}
.l-footer__inner {
  position: relative;
}
.l-footer__pagetop {
  position: absolute;
  top: calc(clamp(80px, 130 / 1559 * 100vw, 130px) * -1);
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: clamp(40px, 60 / 1559 * 100vw, 60px);
  height: clamp(40px, 60 / 1559 * 100vw, 60px);
  background: #888888;
  border-radius: 100vh;
}
.l-footer__pagetop span {
  display: block;
  width: clamp(12px, 18 / 1559 * 100vw, 18px);
  height: fit-content;
  aspect-ratio: 18/10;
  background-color: #FFF;
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 10"><path fill-rule="evenodd" clip-rule="evenodd" d="M9.99984 0.397604L18 8.07979L16.0003 10L9 3.27791L1.99969 10L0 8.07979L8.00016 0.397604C8.26536 0.143018 8.625 5.76663e-07 9 5.60272e-07C9.375 5.4388e-07 9.73464 0.143018 9.99984 0.397604Z"/></svg>');
  mask-repeat: no-repeat;
  mask-position: 0 0;
  mask-size: contain;
}
@media screen and (min-width: 768px) {
  .l-footer__block-top {
    padding-bottom: clamp(54px, 72 / 1559 * 100vw, 72px);
  }
}
.l-footer__logo {
  margin-bottom: 2rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .l-footer__logo {
    margin-bottom: clamp(15px, 20 / 1559 * 100vw, 20px);
  }
}
.l-footer__logo img {
  width: clamp(150px, 300 / 1559 * 100vw, 300px);
}
.l-footer__text {
  margin-bottom: 4rem;
  font-size: clamp(12px, 14 / 1559 * 100vw, 14px);
  text-align: center;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .l-footer__text {
    margin-bottom: clamp(20px, 30 / 1559 * 100vw, 30px);
    line-height: 1.8;
  }
}
@media screen and (min-width: 768px) {
  .l-footer__text .zipcode {
    margin-right: 0.5em;
  }
}
.l-footer__sns {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 clamp(20px, 30 / 1559 * 100vw, 30px);
  margin-bottom: clamp(40px, 80 / 1559 * 100vw, 80px);
}
.l-footer__sns > a {
  width: clamp(21px, 29 / 1559 * 100vw, 29px);
  transition: opacity 0.4s ease;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .l-footer__sns > a:hover {
    opacity: 0.6;
  }
}
.l-footer__nav-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0 clamp(15px, 25 / 1559 * 100vw, 25px);
  align-items: bottom;
  margin-bottom: -1.5rem;
}
@media screen and (min-width: 768px) {
  .l-footer__nav-list {
    justify-content: center;
    margin-bottom: 0;
  }
}
.l-footer__nav-item {
  margin-bottom: 18px;
  width: calc((100% - 15px) / 2);
  font-size: clamp(12px, 16 / 1559 * 100vw, 16px);
  font-weight: 700;
  line-height: 1;
  border-bottom: 1px solid #333;
}
@media screen and (min-width: 768px) {
  .l-footer__nav-item {
    margin-bottom: 0;
    width: auto;
    line-height: 1.5;
    border-bottom: none;
  }
}
.l-footer__nav-item > a {
  display: block;
  padding-bottom: 15px;
  color: #888;
  transition: opacity 0.4s ease;
}
@media screen and (min-width: 768px) {
  .l-footer__nav-item > a {
    padding-bottom: 0;
  }
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .l-footer__nav-item > a:hover {
    opacity: 0.6;
  }
}
.l-footer__block-bottom {
  display: grid;
  grid-template-columns: 100%;
  gap: 1rem;
  padding-top: 5rem;
}
@media screen and (min-width: 768px) {
  .l-footer__block-bottom {
    justify-content: space-between;
    grid-template-columns: repeat(2, max-content);
    padding-top: clamp(30px, 40 / 1559 * 100vw, 40px);
    border-top: 1px solid #333;
  }
}
.l-footer__subNav-list {
  display: flex;
  gap: 0 1.5em;
  align-items: center;
  font-size: clamp(10px, 14 / 1559 * 100vw, 14px);
}
.l-footer__subNav-item {
  position: relative;
  font-size: clamp(10px, 14 / 1559 * 100vw, 14px);
  line-height: 1.8;
}
.l-footer__subNav-item:not(:first-child)::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -1.25em;
  margin-block: auto;
  content: "｜";
}
.l-footer__subNav-item > a {
  color: #888;
  transition: opacity 0.4s ease;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .l-footer__subNav-item > a:hover {
    opacity: 0.6;
  }
}
.l-footer__copy {
  color: #555;
  font-size: clamp(10px, 14 / 1559 * 100vw, 14px);
  line-height: 1.8;
}

/* ==========================================================================
   Object
   ========================================================================== */
/* Base
   ----------------------------------------------------------------- */
/* Project
   ----------------------------------------------------------------- */
/* Base
   ----------------------------------------------------------------- */
.p-container {
  box-sizing: border-box;
  width: 100%;
  /* stylelint-disable-next-line scss/no-global-function-names */
  max-width: 156rem;
  margin: 0 auto;
  padding-inline: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  .p-container {
    padding-inline: 5.1314945478%;
  }
}
@media screen and (min-width: 1560px) {
  .p-container {
    padding-inline: 8rem;
  }
}

/* Base
   ----------------------------------------------------------------- */
.p-common-section {
  position: relative;
  margin: 0 auto;
  margin-top: calc(clamp(40px, 80 / 1559 * 100vw, 80px) * -1);
  padding-top: clamp(60px, 120 / 1559 * 100vw, 120px);
  padding-bottom: clamp(140px, 280 / 1559 * 100vw, 280px);
  border-radius: 0 clamp(40px, 80 / 1559 * 100vw, 80px) 0 0;
  background: #E6EDF6;
}
.p-common-section.is-wh {
  background-color: #fff;
}
.p-common-section.is-gray {
  background-color: #F6F6F6;
}
.p-common-section__container {
  box-sizing: border-box;
  width: 100%;
  /* stylelint-disable-next-line scss/no-global-function-names */
  max-width: 156rem;
  margin: 0 auto;
  padding-inline: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  .p-common-section__container {
    padding-inline: 5.1314945478%;
  }
}
@media screen and (min-width: 1560px) {
  .p-common-section__container {
    padding-inline: 8rem;
  }
}
.p-common-section__box {
  position: relative;
  padding-top: clamp(40px, 120 / 1559 * 100vw, 120px);
  padding-right: clamp(20px, 160 / 1559 * 100vw, 160px);
  padding-bottom: clamp(35px, 160 / 1559 * 100vw, 160px);
  padding-left: clamp(20px, 160 / 1559 * 100vw, 160px);
}
@media screen and (max-width: 767px) {
  .p-common-section__box {
    padding-top: 40px;
    padding-right: 20px;
    padding-bottom: 35px;
    padding-left: 20px;
  }
}
.p-common-section__box {
  background: linear-gradient(101deg, #fff 0%, #f1f7ff 100%);
  border-radius: clamp(10px, 20 / 1559 * 100vw, 20px);
}
.p-common-section__box-mini {
  padding: clamp(40px, 80 / 1559 * 100vw, 80px) 0 clamp(60px, 80 / 1559 * 100vw, 80px) 0;
  background: linear-gradient(101deg, #fff 0%, #f1f7ff 100%);
  border-radius: clamp(10px, 20 / 1559 * 100vw, 20px);
}
.p-common-section--white {
  background: #FFF;
}
.p-common-section--secondary {
  background: #f6f6f6;
}
.p-common-section--flush {
  margin-top: 0;
  border-radius: 0;
}

/* Base
   ----------------------------------------------------------------- */
.p-section-title {
  margin-bottom: clamp(55px, 82 / 1559 * 100vw, 82px);
}
.p-section-title__jp {
  margin-bottom: clamp(15px, 24 / 1559 * 100vw, 24px);
  color: #0464D3;
  font-size: clamp(12px, 16 / 1559 * 100vw, 16px);
  font-weight: 700;
  line-height: 1.4;
}
.p-section-title__en {
  position: relative;
  font-family: "Schibsted Grotesk", sans-serif;
  font-size: clamp(40px, 96 / 1559 * 100vw, 96px);
  font-weight: 600;
  line-height: 1.1;
}
.p-section-title__en::before, .p-section-title__en::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.p-section-title__en::before {
  margin-block-end: var(--leading-trim);
}
.p-section-title__en::after {
  margin-block-start: var(--leading-trim);
}
.p-section-title__en span {
  display: inline-block;
  background: linear-gradient(90deg, #0065D1 0%, #7554FF 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Base
   ----------------------------------------------------------------- */
.p-page-header {
  position: relative;
  padding: clamp(90px, 180 / 1559 * 100vw, 180px) 0 clamp(60px, 120 / 1559 * 100vw, 120px);
  color: #FFF;
  background: linear-gradient(180deg, #0065D1 0%, #433095 100%);
  overflow: hidden;
}
.p-page-header ol.c-breadcrumb {
  color: #fff;
}
.p-page-header::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.15), transparent 60%);
  pointer-events: none;
}
.p-page-header__extra {
  height: clamp(40px, 80 / 1559 * 100vw, 80px);
}
.p-page-header__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: clamp(75px, 100 / 1559 * 100vw, 100px);
}
.p-page-header__breadcrumb {
  text-align: right;
}
.p-page-header__shoulder {
  font-size: clamp(14px, 20 / 1559 * 100vw, 20px);
  font-weight: 700;
  letter-spacing: 0.08em;
}
.p-page-header__title {
  font-family: "Schibsted Grotesk", sans-serif;
  margin-top: clamp(15px, 20 / 1559 * 100vw, 20px);
  font-size: clamp(48px, 96 / 1559 * 100vw, 96px);
  font-weight: 600;
  line-height: 1;
  height: clamp(40px, 84 / 1559 * 100vw, 84px);
  color: #FFF;
}
.p-page-header__lead {
  margin-top: clamp(30px, 60 / 1559 * 100vw, 60px);
  font-size: clamp(14px, 16 / 1559 * 100vw, 16px);
  font-weight: 400;
  line-height: 1.8;
  color: #FFF;
}

.p-page-header-news {
  position: relative;
  padding: clamp(90px, 180 / 1559 * 100vw, 180px) 0 clamp(60px, 120 / 1559 * 100vw, 120px);
  background: #E6EDF6;
  overflow: hidden;
}
.p-page-header-news::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.15), transparent 60%);
  pointer-events: none;
}
.p-page-header-news__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-page-header-news__inner {
    gap: clamp(40px, 64 / 1559 * 100vw, 64px);
  }
}
@media screen and (max-width: 767px) {
  .p-page-header-news__inner {
    gap: clamp(80px, 80 / 1559 * 100vw, 80px);
  }
}
.p-page-header-news__breadcrumb {
  text-align: right;
}
.p-page-header-news__label {
  display: flex;
  gap: 1rem;
  align-items: center;
}
.p-page-header-news__date {
  color: #0464D3;
  font-size: clamp(14px, 18 / 1559 * 100vw, 18px);
  font-weight: 400;
  line-height: 1.8;
}
.p-page-header-news__title {
  font-family: "Schibsted Grotesk", sans-serif;
  margin-top: clamp(20px, 40 / 1559 * 100vw, 40px);
  font-size: clamp(24px, 56 / 1559 * 100vw, 56px);
  font-weight: 700;
  line-height: 1.4;
}

.p-page-header-service {
  position: relative;
  padding: clamp(90px, 180 / 1559 * 100vw, 180px) 0 clamp(60px, 120 / 1559 * 100vw, 120px);
  background: #E6EDF6;
  overflow: hidden;
}
.p-page-header-service::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.15), transparent 60%);
  pointer-events: none;
}
.p-page-header-service__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: clamp(80px, 100 / 1559 * 100vw, 100px);
}
.p-page-header-service__breadcrumb {
  text-align: right;
}
.p-page-header-service__title {
  font-family: "Schibsted Grotesk", sans-serif;
  font-size: clamp(24px, 56 / 1559 * 100vw, 56px);
  font-weight: 700;
  line-height: 1.4;
  color: #0464D3;
}
.p-page-header-service__lead {
  margin-top: clamp(25px, 40 / 1559 * 100vw, 40px);
  padding-bottom: clamp(7px, 10 / 1559 * 100vw, 10px);
  font-size: clamp(14px, 16 / 1559 * 100vw, 16px);
  font-weight: 400;
  line-height: 1.8;
}

/* Base
   ----------------------------------------------------------------- */
.p-layout-2col__container {
  box-sizing: border-box;
  width: 100%;
  /* stylelint-disable-next-line scss/no-global-function-names */
  max-width: 156rem;
  margin: 0 auto;
  padding-inline: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  .p-layout-2col__container {
    padding-inline: 5.1314945478%;
  }
}
@media screen and (min-width: 1560px) {
  .p-layout-2col__container {
    padding-inline: 8rem;
  }
}
.p-layout-2col__container {
  display: flex;
  flex-direction: column;
}

.p-layout-2col__section:nth-child(1) {
  border-top: none;
  padding-top: 0;
}
.p-layout-2col__section:nth-last-child(1) {
  padding-bottom: 0;
}
.p-layout-2col__section {
  border-top: 1px solid rgba(190, 210, 236, 0.5);
  padding: clamp(40px, 80 / 1559 * 100vw, 80px) 0;
}
.p-layout-2col__section.is-line-color {
  border-top: 1px solid #bed2ec;
}
.p-layout-2col.is-line-top {
  border-top: 1px solid rgba(190, 210, 236, 0.5);
  padding-top: clamp(40px, 80 / 1559 * 100vw, 80px);
}
.p-layout-2col__two-col {
  display: flex;
  flex-direction: column;
  gap: clamp(10px, 60 / 1559 * 100vw, 60px);
}
@media screen and (min-width: 992px) {
  .p-layout-2col__two-col {
    flex-direction: row;
  }
  .p-layout-2col__two-col.is-center {
    align-items: center;
  }
}
@media screen and (min-width: 768px) {
  .p-layout-2col__col-left {
    width: clamp(280px, 420 / 1559 * 100vw, 420px);
  }
}
.p-layout-2col__col-right {
  flex: 1;
}
.p-layout-2col__footer {
  border-top: 1px solid rgba(190, 210, 236, 0.5);
  padding: clamp(20px, 30 / 1559 * 100vw, 30px) 0;
}
@media screen and (min-width: 768px) {
  .p-layout-2col__note {
    padding: clamp(20px, 30 / 1559 * 100vw, 30px) 0 0 clamp(335px, 480 / 1559 * 100vw, 480px);
  }
}
/* Base
   ----------------------------------------------------------------- */
.p-section-cta {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-section-cta {
    padding-top: clamp(100px, 200 / 1559 * 100vw, 200px);
    padding-bottom: clamp(100px, 280 / 1559 * 100vw, 280px);
  }
}
@media screen and (max-width: 767px) {
  .p-section-cta {
    padding-top: clamp(100px, 100 / 1559 * 100vw, 100px);
    padding-bottom: clamp(140px, 140 / 1559 * 100vw, 140px);
  }
}
.p-section-cta {
  background-color: #FFF;
  margin-top: calc(clamp(40px, 80 / 1559 * 100vw, 80px) * -1);
  border-radius: 0 clamp(40px, 80 / 1559 * 100vw, 80px) 0 0;
}
.p-section-cta.is-gray {
  background-color: #F6F6F6;
}
.p-section-cta__link {
  position: relative;
  display: block;
  padding: clamp(28px, 62 / 1559 * 100vw, 62px) clamp(20px, 80 / 1559 * 100vw, 80px);
  color: #FFF;
  background: linear-gradient(97.7deg, #0065D1 0%, #7554FF 50%, #0065D1 100%);
  background-size: 200% 100%;
  background-position: 100% 0;
  border-radius: clamp(15px, 30 / 1559 * 100vw, 30px);
  transition: background-position 0.4s ease;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .p-section-cta__link:hover {
    background-position: 0 0;
  }
}
.p-section-cta__title {
  position: relative;
  margin-bottom: clamp(10px, 20 / 1559 * 100vw, 20px);
  font-family: "Schibsted Grotesk", sans-serif;
  font-size: clamp(24px, 56 / 1559 * 100vw, 56px);
  font-weight: 600;
  line-height: 1.1;
}
.p-section-cta__title::before, .p-section-cta__title::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.p-section-cta__title::before {
  margin-block-end: var(--leading-trim);
}
.p-section-cta__title::after {
  margin-block-start: var(--leading-trim);
}
.p-section-cta__text {
  font-size: clamp(12px, 16 / 1559 * 100vw, 16px);
  line-height: 1.8;
  font-weight: 400;
}
.p-section-cta__arrow {
  position: relative;
  z-index: 1;
  display: block;
  margin: 2rem 0 0 auto;
  width: clamp(26px, 44 / 1559 * 100vw, 44px);
  height: fit-content;
  aspect-ratio: 44/31;
  content: "";
  background-color: #FFF;
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 31"><path d="M27,30.25c-.3418,0-.6826-.1396-.9287-.4141-.4619-.5127-.4209-1.3037.0928-1.7646l12.5781-11.3213H2c-.6904,0-1.25-.5596-1.25-1.25s.5596-1.25,1.25-1.25h36.7422L26.1641,2.9292c-.5137-.4619-.5547-1.2524-.0928-1.7656.46-.5137,1.2539-.5537,1.7646-.0928l14.9873,13.4883c.0205.0186.041.0371.0605.0571.1025.1025.1836.2188.2432.3433.0146.0303.0283.0615.04.0928.042.1094.0693.2266.0791.3486h0v.0015c.0029.0322.0039.0649.0039.0977h0c0,.0327-.001.0654-.0039.0977v.0015h0c-.0098.1221-.0371.2393-.0791.3486-.0117.0312-.0254.062-.04.0933-.0596.124-.1406.2402-.2432.3428-.0195.0195-.04.0391-.0605.0566l-14.9873,13.4883c-.2383.2158-.5381.3213-.8359.3213Z"/></svg>');
  mask-repeat: no-repeat;
  mask-position: 0 0;
  mask-size: contain;
}
@media screen and (min-width: 768px) {
  .p-section-cta__arrow {
    position: absolute;
    top: 0;
    bottom: 0;
    right: clamp(20px, 80 / 1559 * 100vw, 80px);
    margin-block: auto;
  }
}

/* Base
   ----------------------------------------------------------------- */
/* Component
   ----------------------------------------------------------------- */
/* Base
   ----------------------------------------------------------------- */
.c-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding-inline: clamp(20px, 30 / 1559 * 100vw, 30px) 6rem;
  width: clamp(260px, 300 / 1559 * 100vw, 300px);
  height: clamp(50px, 60 / 1559 * 100vw, 60px);
  color: #FFF;
  background: linear-gradient(97.7deg, #0065D1 0%, #7554FF 50%, #0065D1 100%);
  background-size: 200% 100%;
  background-position: 100% 0;
  border-radius: 0.8rem;
  transition: background-position 0.4s ease;
}
@media (hover: hover) and (pointer: fine) and (min-width: clamp(510px, 768 / 1559 * 100vw, 768px)) {
  .c-button:hover {
    background-position: 0 0;
  }
}
.c-button.is-no-icon {
  justify-content: center;
  align-items: center;
  padding-inline: 0;
}
.c-button.is-white {
  background: #FFF;
}
@media (hover: hover) and (pointer: fine) and (min-width: clamp(510px, 768 / 1559 * 100vw, 768px)) {
  .c-button.is-white:hover .c-button__text {
    background-position: 0 0;
  }
}
.c-button.is-white .c-button__text {
  background: linear-gradient(90deg, #7554FF 0%, #0065D1 50%, #7554FF 100%);
  background-size: 200% 100%;
  background-position: 100% 0;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: background-position 0.4s ease;
}
.c-button__text {
  font-size: clamp(14px, 16 / 1559 * 100vw, 16px);
  font-weight: 700;
}

.c-button-minimal {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0 1.2rem;
}
.c-button-minimal:hover .c-button-minimal__text {
  opacity: 0.6;
}
.c-button-minimal__text {
  font-size: clamp(14px, 16 / 1559 * 100vw, 16px);
  font-weight: 700;
  transition: opacity 0.4s ease;
}
.c-button-minimal__arrow {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-block: auto;
  width: 3.6rem;
  height: 2.4rem;
  border-radius: 0.4rem;
  overflow: hidden;
}
.c-button-minimal__arrow::before {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(113.96deg, #7554FF 0%, #0065D1 100%);
  transition: opacity 0.4s ease;
}
.c-button-minimal__arrow > span {
  position: relative;
  z-index: 1;
  display: block;
  width: 1.4rem;
  height: fit-content;
  aspect-ratio: 14/10;
  content: "";
  mask-image: url("/img/common/icon_arrow2.svg");
  mask-repeat: no-repeat;
  mask-position: 0 0;
  mask-size: contain;
  mask-mode: alpha;
}
.c-button-minimal__arrow > span::after {
  position: absolute;
  inset: 0;
  content: "";
  background: #FFF;
  opacity: 1;
  transition: opacity 0.4s ease;
}

/* Base
   ----------------------------------------------------------------- */
.c-button-arrow {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin-left: auto;
  overflow: hidden;
  transition: transform 0.3s ease;
  margin-block: auto;
  width: 3.6rem;
  height: 2.4rem;
  border-radius: 0.4rem;
  border-color: transparent;
}
.c-button-arrow::before {
  opacity: 0.2;
}
.c-button-arrow.is-big {
  width: clamp(36px, 46 / 1559 * 100vw, 46px);
  height: clamp(24px, 30 / 1559 * 100vw, 30px);
}
.c-button-arrow > span {
  width: 1.4rem;
}
.c-button-arrow > span::before {
  opacity: 0;
}
.c-button-arrow > span::after {
  background: #FFF;
  opacity: 1;
}
.c-button-arrow::before {
  position: absolute;
  inset: 0;
  content: "";
  background: rgba(255, 255, 255, 0.85);
  transition: opacity 0.4s ease, background 0.4s ease;
  opacity: 0.4;
}
.c-button-arrow > span {
  position: relative;
  z-index: 1;
  display: block;
  width: 1.6rem;
  height: fit-content;
  aspect-ratio: 14/10;
  mask-image: url("/img/common/icon_arrow2.svg");
  mask-repeat: no-repeat;
  mask-position: 0 0;
  mask-size: contain;
  mask-mode: alpha;
}
.c-button-arrow > span::before, .c-button-arrow > span::after {
  position: absolute;
  inset: 0;
  content: "";
  transition: opacity 0.4s ease;
}
.c-button-arrow > span::before {
  background: linear-gradient(90deg, #0065D1 0%, #7554FF 100%);
  opacity: 1;
}
.c-button-arrow > span::after {
  background: #FFF;
  opacity: 0;
}
.c-button-arrow.is-button {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 2rem;
}
.c-button-arrow.is-outline {
  border-color: rgba(4, 100, 211, 0.4);
}
.c-button-arrow.is-outline::before {
  background: rgba(255, 255, 255, 0.8);
  opacity: 0.8;
}
.c-button-arrow.is-outline > span::before {
  background: linear-gradient(90deg, #0065D1 0%, #7554FF 100%);
}
.c-button-arrow.is-outline > span::after {
  background: #0464D3;
  opacity: 0.6;
}
.c-button-arrow.is-dark span::before {
  background: #FFF;
}
.c-button-arrow.is-white::before {
  background: #2A44AC;
  opacity: 0.1;
}
.c-button-arrow.is-white::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(113.96deg, #7554FF 0%, #0065D1 100%);
  opacity: 0;
  transition: opacity 0.4s ease;
}
.c-button-arrow.is-white > span::before {
  opacity: 1;
}
.c-button-arrow.is-white > span::after {
  opacity: 0;
}
.c-button-arrow.is-pagelink {
  width: clamp(30px, 50 / 1559 * 100vw, 50px);
  height: clamp(30px, 50 / 1559 * 100vw, 50px);
  border-radius: 50%;
  border: 1px solid #0065D1;
}
.c-button-arrow.is-pagelink > span {
  width: clamp(12px, 20 / 1559 * 100vw, 20px);
  transform: rotate(90deg);
}

a[target=_blank] .c-button-arrow > span {
  width: 1.3rem;
  mask-image: url("/img/common/icon_blank.svg");
  aspect-ratio: 10/10;
}

a:hover .c-button-arrow.is-dark::before, button:hover .c-button-arrow.is-dark::before {
  background-color: #fff;
  opacity: 1;
}
a:hover .c-button-arrow.is-dark > span::before, button:hover .c-button-arrow.is-dark > span::before {
  background: linear-gradient(113.96deg, #7554FF 0%, #0065D1 100%);
}
a:hover .c-button-arrow.is-white::before, button:hover .c-button-arrow.is-white::before {
  background: linear-gradient(113.96deg, #7554FF 0%, #0065D1 100%);
  opacity: 1;
}
a:hover .c-button-arrow.is-white > span::before, button:hover .c-button-arrow.is-white > span::before {
  opacity: 0.2;
}
a:hover .c-button-arrow.is-white > span::after, button:hover .c-button-arrow.is-white > span::after {
  opacity: 1;
  background: #fff;
}

/* Base
   ----------------------------------------------------------------- */
.c-card,
.c-card-mini,
.c-card-text,
.c-card-visual,
.c-card-horizontal {
  position: relative;
  text-decoration: none;
  color: #303030;
  background: linear-gradient(103deg, #FFF 0%, #F1F7FF 100%);
  border-radius: clamp(10px, 20 / 1559 * 100vw, 20px);
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.c-card:hover,
.c-card-mini:hover,
.c-card-text:hover,
.c-card-visual:hover,
.c-card-horizontal:hover {
  box-shadow: 0 0.4rem 0.4rem rgba(48, 48, 48, 0.08);
}
.c-card .c-h3,
.c-card-mini .c-h3,
.c-card-text .c-h3,
.c-card-visual .c-h3,
.c-card-horizontal .c-h3 {
  font-size: clamp(16px, 30 / 1559 * 100vw, 30px);
}
.c-card__thumb,
.c-card-mini__thumb,
.c-card-text__thumb,
.c-card-visual__thumb,
.c-card-horizontal__thumb {
  position: relative;
  width: 100%;
  border-radius: clamp(10px, 20 / 1559 * 100vw, 20px);
  overflow: hidden;
}
.c-card__thumb img,
.c-card-mini__thumb img,
.c-card-text__thumb img,
.c-card-visual__thumb img,
.c-card-horizontal__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-card-mini {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: clamp(20px, 30 / 1559 * 100vw, 30px);
  padding: clamp(15px, 20 / 1559 * 100vw, 20px) clamp(25px, 40 / 1559 * 100vw, 40px) clamp(15px, 20 / 1559 * 100vw, 20px) clamp(20px, 30 / 1559 * 100vw, 30px);
  height: clamp(80px, 180 / 1559 * 100vw, 180px);
}
.c-card-mini .c-card__body {
  display: flex;
  justify-content: space-between;
}
.c-card-mini .c-card__title {
  font-size: clamp(16px, 24 / 1559 * 100vw, 24px);
  font-style: normal;
  font-weight: 700;
  line-height: 1;
}
.c-card-text {
  display: flex;
  flex-direction: column;
  gap: clamp(10px, 30 / 1559 * 100vw, 30px);
  padding: clamp(30px, 60 / 1559 * 100vw, 60px) clamp(20px, 40 / 1559 * 100vw, 40px);
  height: clamp(240px, 322 / 1559 * 100vw, 322px);
}
.c-card-text .c-card__body {
  display: flex;
  flex-direction: column;
  gap: clamp(10px, 20 / 1559 * 100vw, 20px);
}
.c-card-text .c-button-arrow {
  position: absolute;
  bottom: clamp(20px, 40 / 1559 * 100vw, 40px);
  right: clamp(20px, 40 / 1559 * 100vw, 40px);
}

.c-card-visual {
  padding: clamp(25px, 40 / 1559 * 100vw, 40px) clamp(25px, 40 / 1559 * 100vw, 40px) clamp(75px, 110 / 1559 * 100vw, 110px) clamp(25px, 40 / 1559 * 100vw, 40px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: clamp(20px, 30 / 1559 * 100vw, 30px);
}
.c-card-visual .c-card__thumb {
  aspect-ratio: 16/9;
}
.c-card-visual .c-card__body {
  gap: 1.2rem;
}
.c-card-visual .c-button-arrow {
  position: absolute;
  bottom: clamp(40px, 60 / 1559 * 100vw, 60px);
  left: clamp(25px, 40 / 1559 * 100vw, 40px);
}

.c-card-horizontal {
  padding: clamp(20px, 40 / 1559 * 100vw, 40px);
  border-radius: clamp(10px, 20 / 1559 * 100vw, 20px);
  background: linear-gradient(103deg, #FFF 0%, #F1F7FF 100%);
  display: flex;
  gap: clamp(10px, 60 / 1559 * 100vw, 60px);
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .c-card-horizontal {
    flex-direction: row;
    align-items: center;
  }
}
@media screen and (min-width: 768px) {
  .c-card-horizontal .c-card__thumb {
    width: clamp(265px, 400 / 1559 * 100vw, 400px);
  }
}
@media screen and (min-width: 768px) {
  .c-card-horizontal .c-card__body {
    padding-top: clamp(10px, 20 / 1559 * 100vw, 20px);
    padding-right: clamp(80px, 120 / 1559 * 100vw, 120px);
  }
}
.c-card-horizontal .c-card__body {
  flex: 1;
  display: flex;
  gap: clamp(8px, 20 / 1559 * 100vw, 20px);
  flex-direction: column;
}

.c-card-list {
  display: flex;
  gap: clamp(15px, 30 / 1559 * 100vw, 30px);
  flex-direction: column;
}

/* Base
   ----------------------------------------------------------------- */
.c-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: clamp(70px, 70 / 1559 * 100vw, 70px);
  height: clamp(24px, 24 / 1559 * 100vw, 24px);
  line-height: 1;
  padding: clamp(4px, 4 / 1559 * 100vw, 4px);
  font-family: "Schibsted Grotesk", sans-serif;
  font-size: clamp(12px, 12 / 1559 * 100vw, 12px);
  font-weight: 400;
  letter-spacing: 0.08em;
  border-radius: clamp(5px, 8 / 1559 * 100vw, 8px);
  text-transform: uppercase;
  color: #0464D3;
  background: #FFF;
  border: 1px solid #0464D3;
}
.c-tag.is-large {
  font-size: clamp(12px, 16 / 1559 * 100vw, 16px);
  height: clamp(24px, 36 / 1559 * 100vw, 36px);
  letter-spacing: 0em;
  min-width: clamp(66px, 100 / 1559 * 100vw, 100px);
}
.c-tag.is-white {
  color: #FFF;
  background: transparent;
  border: 1px solid #FFF;
}

/* Base
   ----------------------------------------------------------------- */
.c-table-wrapper.is-light {
  border: 1px solid #D3DCE7;
  border-radius: clamp(10px, 20 / 1559 * 100vw, 20px);
  overflow: hidden;
}

.c-table {
  width: 100%;
  border-collapse: collapse;
  line-height: 1.8;
}
.c-table.is-normal th,
.c-table.is-normal td {
  text-align: left;
  vertical-align: top;
}
@media screen and (min-width: 768px) {
  .c-table.is-normal th,
  .c-table.is-normal td {
    padding-top: clamp(20px, 30 / 1559 * 100vw, 30px);
    padding-bottom: clamp(20px, 32 / 1559 * 100vw, 32px);
  }
}
@media screen and (max-width: 767px) {
  .c-table.is-normal th,
  .c-table.is-normal td {
    display: block;
  }
  .c-table.is-normal th {
    padding-top: clamp(20px, 30 / 1559 * 100vw, 30px);
  }
  .c-table.is-normal td {
    padding-top: clamp(5px, 5 / 1559 * 100vw, 5px);
    padding-bottom: clamp(20px, 32 / 1559 * 100vw, 32px);
  }
}
@media screen and (min-width: 768px) {
  .c-table.is-normal th {
    width: clamp(clamp(80px, 120 / 1559 * 100vw, 120px), 11.5458627325vw, clamp(135px, 200 / 1559 * 100vw, 200px));
  }
}
.c-table.is-normal th {
  font-size: clamp(14px, 16 / 1559 * 100vw, 16px);
  font-weight: 700;
  line-height: 1.8;
}
.c-table.is-normal td {
  font-size: clamp(14px, 16 / 1559 * 100vw, 16px);
  font-weight: 400;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .c-table.is-normal th,
  .c-table.is-normal td {
    border-bottom: 1px solid #BED2EC;
  }
}
@media screen and (max-width: 767px) {
  .c-table.is-normal tr {
    border-bottom: 1px solid #BED2EC;
  }
}
.c-table.is-light tr:nth-child(1) th,
.c-table.is-light tr:nth-child(1) td {
  border-top: none;
}
@media screen and (max-width: 767px) {
  .c-table.is-light th,
  .c-table.is-light td {
    display: block;
  }
  .c-table.is-light th {
    padding-top: clamp(20px, 30 / 1559 * 100vw, 30px);
  }
  .c-table.is-light td {
    padding-top: clamp(5px, 5 / 1559 * 100vw, 5px);
    padding-bottom: clamp(20px, 32 / 1559 * 100vw, 32px);
  }
}
.c-table.is-light th,
.c-table.is-light td {
  padding-left: clamp(20px, 30 / 1559 * 100vw, 30px);
  padding-right: clamp(20px, 30 / 1559 * 100vw, 30px);
  text-align: left;
  vertical-align: top;
  border-top: 1px solid #D3DCE7;
}
.c-table.is-light th {
  padding-top: clamp(17px, 25 / 1559 * 100vw, 25px);
  padding-bottom: clamp(17px, 25 / 1559 * 100vw, 25px);
}
@media screen and (min-width: 768px) {
  .c-table.is-light th {
    width: clamp(clamp(80px, 120 / 1559 * 100vw, 120px), 11.5458627325vw, clamp(135px, 200 / 1559 * 100vw, 200px));
  }
}
.c-table.is-light th {
  font-size: clamp(14px, 16 / 1559 * 100vw, 16px);
  font-weight: 400;
  line-height: 1.8;
  background: #E6EDF6;
  z-index: -1;
}
.c-table.is-light td {
  padding-top: clamp(20px, 25 / 1559 * 100vw, 25px);
  padding-bottom: clamp(20px, 25 / 1559 * 100vw, 25px);
}
@media screen and (min-width: 768px) {
  .c-table.is-light td {
    border-left: 1px solid #D3DCE7;
  }
}
.c-table.is-light td {
  font-size: clamp(14px, 16 / 1559 * 100vw, 16px);
  font-weight: 400;
  line-height: 1.8;
}

/* Base
   ----------------------------------------------------------------- */
.c-h2 {
  font-size: clamp(20px, 44 / 1559 * 100vw, 44px);
  line-height: 1.4;
  font-weight: 700;
  position: relative;
}

.c-h3 {
  font-size: clamp(18px, 30 / 1559 * 100vw, 30px);
  line-height: 1.4;
  font-weight: 700;
}

.c-h4 {
  font-size: clamp(16px, 20 / 1559 * 100vw, 20px);
  line-height: 1.8;
  font-weight: 700;
}
.c-h4.is-lg {
  font-size: clamp(16px, 24 / 1559 * 100vw, 24px);
  line-height: 1.4;
  font-weight: 700;
}
.c-h4.is-deco {
  font-size: clamp(16px, 20 / 1559 * 100vw, 20px);
  line-height: 1.8;
  font-weight: 700;
  position: relative;
  padding-left: clamp(20px, 30 / 1559 * 100vw, 30px);
}
.c-h4.is-deco::after {
  position: absolute;
  top: clamp(10px, 15 / 1559 * 100vw, 15px);
  left: clamp(3px, 5 / 1559 * 100vw, 5px);
  width: clamp(7px, 10 / 1559 * 100vw, 10px);
  height: clamp(7px, 10 / 1559 * 100vw, 10px);
  display: block;
  content: "";
  background: #BED2EC;
  border-radius: 50%;
}

/* Base
   ----------------------------------------------------------------- */
:root {
  --grad: linear-gradient(90deg, #0065D1 0%, #7554FF 100%);
}

.c-copy {
  font-size: clamp(24px, 48 / 1559 * 100vw, 48px);
  line-height: 1.4;
  font-weight: 700;
}
.c-copy.is-gradient {
  background: var(--grad);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.c-message {
  font-size: clamp(14px, 20 / 1559 * 100vw, 20px);
  line-height: 2.4;
  font-weight: 400;
}

.c-text-large {
  font-size: clamp(18px, 24 / 1559 * 100vw, 24px);
  line-height: 1.8;
  font-weight: 700;
}
.c-text-large a {
  font-weight: 700;
  text-decoration: underline;
}

.c-text {
  font-size: clamp(14px, 16 / 1559 * 100vw, 16px);
  line-height: 1.8;
  font-weight: 400;
}
.c-text a {
  font-weight: 700;
  text-decoration: underline;
}
.c-text a[target=_blank]:after {
  margin-left: 5px;
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url("/img/common/icon_blank.svg");
}

td a {
  font-weight: 700;
  text-decoration: underline;
}

.c-text-note {
  font-size: clamp(12px, 12 / 1559 * 100vw, 12px);
  font-weight: 400;
  line-height: 1.8;
}

.c-box-list {
  display: flex;
  gap: clamp(15px, 20 / 1559 * 100vw, 20px);
  flex-direction: column;
}

.c-box.is-colored {
  padding: clamp(20px, 30 / 1559 * 100vw, 30px);
  border-radius: clamp(10px, 20 / 1559 * 100vw, 20px);
  border: 1px solid #D3DCE7;
  background: #E6EDF6;
}

/* Base
   ----------------------------------------------------------------- */
.c-grid {
  display: grid;
  gap: clamp(15px, 24 / 1559 * 100vw, 24px);
  width: 100%;
}
.c-grid.is-sp-narrow {
  gap: clamp(10px, 24 / 1559 * 100vw, 24px);
}
.c-grid__card {
  padding: clamp(15px, 24 / 1559 * 100vw, 24px);
  border-radius: 1.2rem;
  background: #FFF;
  border: 1px solid rgba(48, 48, 48, 0.08);
  box-shadow: 0 1rem 3rem rgba(48, 48, 48, 0.05);
  font-size: clamp(14px, 16 / 1559 * 100vw, 16px);
  line-height: 1.8;
}
.c-grid.is-col-4 {
  grid-template-columns: 1fr;
}
@media screen and (min-width: 554px) {
  .c-grid.is-col-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (min-width: 768px) {
  .c-grid.is-col-4 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media screen and (min-width: 1280px) {
  .c-grid.is-col-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.c-grid.is-col-3 {
  grid-template-columns: 1fr;
}
@media screen and (min-width: 768px) {
  .c-grid.is-col-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.c-grid.is-col-2 {
  grid-template-columns: 1fr;
}
@media screen and (min-width: 554px) {
  .c-grid.is-col-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Base
   ----------------------------------------------------------------- */
.c-news__list {
  display: flex;
  flex-direction: column;
  gap: clamp(10px, 20 / 1559 * 100vw, 20px);
  margin: 0;
  padding: 0;
  list-style: none;
}
.c-news__item {
  list-style: none;
}
.c-news__link {
  display: flex;
}
@media screen and (min-width: 768px) {
  .c-news__link {
    align-items: center;
    gap: clamp(5px, 20 / 1559 * 100vw, 20px);
  }
}
@media screen and (max-width: 767px) {
  .c-news__link {
    flex-direction: column;
    gap: clamp(5px, 5 / 1559 * 100vw, 5px);
  }
}
.c-news__link {
  padding: clamp(20px, 26 / 1559 * 100vw, 26px) clamp(20px, 40 / 1559 * 100vw, 40px);
  width: 100%;
  border-radius: clamp(10px, 20 / 1559 * 100vw, 20px);
  background: linear-gradient(103deg, #FFF 0%, #F1F7FF 100%);
  cursor: pointer;
  transition-duration: 0.2s;
}
.c-news__link:hover .c-news__title {
  text-decoration: none;
}
.c-news__date {
  font-size: clamp(14px, 15 / 1559 * 100vw, 15px);
  font-weight: 600;
  letter-spacing: 0.08em;
  color: #555;
}
.c-news__meta {
  width: 170px;
  display: flex;
  align-items: center;
  gap: clamp(10px, 20 / 1559 * 100vw, 20px);
}
.c-news__title {
  flex: 1;
  font-size: clamp(14px, 16 / 1559 * 100vw, 16px);
  font-weight: 500;
  line-height: 1.7;
  text-decoration: underline;
}

/* Base
   ----------------------------------------------------------------- */
.c-filelist__list {
  display: flex;
  flex-direction: column;
  gap: clamp(10px, 20 / 1559 * 100vw, 20px);
  margin: 0;
  padding: 0;
  list-style: none;
}
.c-filelist__item {
  list-style: none;
}
.c-filelist__link {
  display: flex;
  align-items: center;
  gap: clamp(10px, 20 / 1559 * 100vw, 20px);
  padding: clamp(20px, 26 / 1559 * 100vw, 26px) clamp(20px, 40 / 1559 * 100vw, 40px);
  width: 100%;
  border-radius: clamp(10px, 20 / 1559 * 100vw, 20px);
  background: linear-gradient(103deg, #FFF 0%, #F1F7FF 100%);
  cursor: pointer;
  transition-duration: 0.2s;
}
.c-filelist__link:hover .c-filelist__title {
  text-decoration: none;
}
.c-filelist__title {
  flex: 1;
  font-size: clamp(14px, 16 / 1559 * 100vw, 16px);
  font-weight: 500;
  line-height: 1.7;
  text-decoration: underline;
}

/* Base
   ----------------------------------------------------------------- */
.c-page-link {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: clamp(10px, 20 / 1559 * 100vw, 20px);
  height: clamp(128px, 240 / 1559 * 100vw, 240px);
  padding: clamp(20px, 40 / 1559 * 100vw, 40px);
  background: linear-gradient(103deg, #FFF 0%, #F1F7FF 100%);
  border-radius: clamp(10px, 20 / 1559 * 100vw, 20px);
  color: inherit;
  text-decoration: none;
  transition: box-shadow 0.3s ease, transform 0.3s ease, border-color 0.3s ease;
}
.c-page-link:hover {
  box-shadow: 0 0.4rem 0.4rem rgba(48, 48, 48, 0.08);
}
.c-page-link__eyebrow {
  font-size: clamp(12px, 24 / 1559 * 100vw, 24px);
  font-weight: 600;
  color: #0464D3;
}
.c-page-link__title {
  font-size: clamp(18px, 30 / 1559 * 100vw, 30px);
  line-height: 1.5;
  font-weight: 700;
  color: #303030;
}
.c-page-link .c-button-arrow {
  position: absolute;
  right: clamp(20px, 40 / 1559 * 100vw, 40px);
  bottom: clamp(20px, 40 / 1559 * 100vw, 40px);
}

/* Base
   ----------------------------------------------------------------- */
.c-list-note li {
  position: relative;
  padding-left: clamp(15px, 20 / 1559 * 100vw, 20px);
  font-size: clamp(12px, 14 / 1559 * 100vw, 14px);
  line-height: 1.8;
  font-weight: 400;
}
.c-list-note li::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: "※";
}

.c-list-normal li {
  position: relative;
  padding-left: clamp(20px, 30 / 1559 * 100vw, 30px);
  font-size: clamp(14px, 16 / 1559 * 100vw, 16px);
  line-height: 1.8;
  font-weight: 400;
}
.c-list-normal li::after {
  position: absolute;
  top: clamp(8px, 10 / 1559 * 100vw, 10px);
  left: clamp(3px, 6 / 1559 * 100vw, 6px);
  width: clamp(10px, 10 / 1559 * 100vw, 10px);
  height: clamp(10px, 10 / 1559 * 100vw, 10px);
  display: block;
  content: "";
  background: #BED2EC;
  border-radius: 50%;
}

.c-list-number {
  counter-reset: c-number;
  display: flex;
  gap: clamp(10px, 18 / 1559 * 100vw, 18px);
  flex-direction: column;
}
.c-list-number li {
  position: relative;
  padding-left: clamp(15px, 25 / 1559 * 100vw, 25px);
  font-size: clamp(14px, 16 / 1559 * 100vw, 16px);
  line-height: 1.8;
  font-weight: 400;
}
.c-list-number li::before {
  counter-increment: c-number;
  content: counter(c-number) ".";
  position: absolute;
  top: 0;
  left: clamp(3px, 5 / 1559 * 100vw, 5px);
  font-size: clamp(14px, 16 / 1559 * 100vw, 16px);
  line-height: 1.8;
  font-weight: 400;
}

/* Base
   ----------------------------------------------------------------- */
ol.c-breadcrumb {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.8rem;
  font-size: clamp(12px, 14 / 1559 * 100vw, 14px);
  font-weight: 700;
  line-height: 1.2;
}
ol.c-breadcrumb.is-dark li:not(:last-child)::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10' fill='none'%3E%3Cpath opacity='0.5' fill-rule='evenodd' clip-rule='evenodd' d='M5.76144 5.55547L1.15213 10L0 8.88906L4.03325 5L0 1.11094L1.15212 0L5.76144 4.44453C5.91419 4.59187 6 4.79167 6 5C6 5.20833 5.91419 5.40813 5.76144 5.55547Z' fill='%23303030'/%3E%3C/svg%3E");
}
ol.c-breadcrumb li {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
}
ol.c-breadcrumb li:not(:last-child)::after {
  width: 0.6rem;
  height: 1rem;
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10' fill='none'%3E%3Cpath opacity='0.5' fill-rule='evenodd' clip-rule='evenodd' d='M5.76144 5.55547L1.15213 10L0 8.88906L4.03325 5L0 1.11094L1.15212 0L5.76144 4.44453C5.91419 4.59187 6 4.79167 6 5C6 5.20833 5.91419 5.40813 5.76144 5.55547Z' fill='white'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}
ol.c-breadcrumb li {
  word-break: keep-all;
}
ol.c-breadcrumb li br {
  display: none;
}
ol.c-breadcrumb a {
  color: inherit;
  text-decoration: underline;
  font-weight: 400;
}
ol.c-breadcrumb span {
  color: #FFF;
  font-weight: 600;
}

/* Base
   ----------------------------------------------------------------- */
.c-video {
  position: relative;
}
.c-video picture {
  display: block;
  border-radius: 2rem;
  overflow: hidden;
}
.c-video__icon {
  position: absolute;
  top: 50%;
  left: 50%;
  width: clamp(65px, 100 / 1559 * 100vw, 100px);
  height: clamp(65px, 100 / 1559 * 100vw, 100px);
  transform: translate(-50%, -50%);
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-video__icon::before {
  content: "";
  display: block;
  width: clamp(65px, 100 / 1559 * 100vw, 100px);
  height: clamp(65px, 100 / 1559 * 100vw, 100px);
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100' fill='none'><path d='M50 0C77.6142 0 100 22.3858 100 50C100 77.6142 77.6142 100 50 100C22.3858 100 0 77.6142 0 50C0 22.3858 22.3858 0 50 0ZM39.999 67.5L68.332 50L39.999 32.5V67.5Z' fill='url(%23paint0_linear_638_2387)'/><defs><linearGradient id='paint0_linear_638_2387' x1='0' y1='0' x2='100' y2='100' gradientUnits='userSpaceOnUse'><stop stop-color='%230065D1'/><stop offset='1' stop-color='%237554FF'/></linearGradient></defs></svg>");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

/* Base
   ----------------------------------------------------------------- */
.c-img picture {
  display: block;
  border-radius: clamp(10px, 20 / 1559 * 100vw, 20px);
  overflow: hidden;
}
.c-img figcaption {
  margin-top: clamp(10px, 16 / 1559 * 100vw, 16px);
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.8;
}

.c-img-grid {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .c-img-grid {
    flex-direction: row;
    gap: clamp(15px, 20 / 1559 * 100vw, 20px);
    flex-wrap: wrap;
  }
  .c-img-grid > * {
    width: calc((100% - clamp(15px, 20 / 1559 * 100vw, 20px) * 1) / 2);
  }
}

/* Base
   ----------------------------------------------------------------- */
.c-tab-wrapper {
  padding-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .c-tab-wrapper {
    overflow-x: auto;
    margin-left: -2rem;
    margin-right: -2rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

.c-tab {
  display: flex;
  gap: clamp(6px, 10 / 1559 * 100vw, 10px);
}
@media screen and (min-width: 768px) {
  .c-tab {
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 767px) {
  .c-tab {
    width: 110vw;
  }
}
.c-tab__item {
  display: block;
  position: relative;
  text-align: center;
  font-family: "Schibsted Grotesk", sans-serif;
  width: clamp(80px, 100 / 1559 * 100vw, 100px);
  height: clamp(30px, 36 / 1559 * 100vw, 36px);
}
.c-tab__item.is-all {
  width: clamp(60px, 100 / 1559 * 100vw, 100px);
}
.c-tab__item {
  line-height: clamp(30px, 36 / 1559 * 100vw, 36px);
  font-size: clamp(14px, 16 / 1559 * 100vw, 16px);
  padding: 0 5px;
  color: #0464D3;
  background: #FFF;
  border: 1px solid #0464D3;
  border-radius: 0.6rem;
  cursor: pointer;
  transition: all 0.3s ease;
  white-space: nowrap;
}
.c-tab__item:hover {
  opacity: 0.8;
}
.c-tab__item.is-active {
  color: #FFF;
  background: #0464D3;
  border-color: #0464D3;
}
.c-tab__item.is-disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

/* Base
   ----------------------------------------------------------------- */
.c-cms > * + * {
  margin-top: clamp(20px, 32 / 1559 * 100vw, 32px);
}
.c-cms > h2 + *,
.c-cms > h3 + *,
.c-cms > h4 + * {
  margin-top: clamp(12px, 20 / 1559 * 100vw, 20px);
}
.c-cms h2 {
  font-size: clamp(20px, 32 / 1559 * 100vw, 32px);
  font-weight: 700;
  line-height: 1.4;
  padding-bottom: clamp(10px, 14 / 1559 * 100vw, 14px);
  border-bottom: 2px solid #BED2EC;
  margin-top: clamp(40px, 64 / 1559 * 100vw, 64px);
}
.c-cms h2:first-child {
  margin-top: 0;
}
.c-cms h3 {
  font-size: clamp(16px, 24 / 1559 * 100vw, 24px);
  font-weight: 700;
  line-height: 1.4;
  padding-left: clamp(12px, 18 / 1559 * 100vw, 18px);
  border-left: 3px solid #0464D3;
  margin-top: clamp(32px, 48 / 1559 * 100vw, 48px);
}
.c-cms h3:first-child {
  margin-top: 0;
}
.c-cms h4 {
  font-size: clamp(15px, 18 / 1559 * 100vw, 18px);
  font-weight: 700;
  line-height: 1.8;
}
.c-cms p {
  font-size: clamp(14px, 16 / 1559 * 100vw, 16px);
  line-height: 2;
  font-weight: 400;
}
.c-cms a {
  font-weight: 700;
  text-decoration: underline;
  color: #0464D3;
}
.c-cms a[target=_blank]::after {
  margin-left: 5px;
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  background-image: url("/img/common/icon_blank.svg");
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}
.c-cms ul {
  padding-left: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: clamp(6px, 10 / 1559 * 100vw, 10px);
}
.c-cms ul li {
  position: relative;
  padding-left: clamp(20px, 28 / 1559 * 100vw, 28px);
  font-size: clamp(14px, 16 / 1559 * 100vw, 16px);
  line-height: 1.8;
  font-weight: 400;
}
.c-cms ul li::before {
  position: absolute;
  top: clamp(8px, 10 / 1559 * 100vw, 10px);
  left: clamp(3px, 6 / 1559 * 100vw, 6px);
  width: clamp(8px, 10 / 1559 * 100vw, 10px);
  height: clamp(8px, 10 / 1559 * 100vw, 10px);
  display: block;
  content: "";
  background: #BED2EC;
  border-radius: 50%;
}
.c-cms ol {
  padding-left: 0;
  list-style: none;
  counter-reset: cms-number;
  display: flex;
  flex-direction: column;
  gap: clamp(6px, 10 / 1559 * 100vw, 10px);
}
.c-cms ol li {
  position: relative;
  padding-left: clamp(22px, 30 / 1559 * 100vw, 30px);
  font-size: clamp(14px, 16 / 1559 * 100vw, 16px);
  line-height: 1.8;
  font-weight: 400;
  counter-increment: cms-number;
}
.c-cms ol li::before {
  content: counter(cms-number) ".";
  position: absolute;
  top: 0;
  left: 0;
  font-size: clamp(14px, 16 / 1559 * 100vw, 16px);
  line-height: 1.8;
  font-weight: 400;
  color: #0464D3;
}
.c-cms table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  line-height: 1.8;
  border: 1px solid #D3DCE7;
  border-radius: clamp(8px, 12 / 1559 * 100vw, 12px);
  overflow: hidden;
}
.c-cms table th,
.c-cms table td {
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid #D3DCE7;
  font-size: clamp(14px, 16 / 1559 * 100vw, 16px);
  line-height: 1.8;
}
.c-cms table tr:last-child th, .c-cms table tr:last-child td {
  border-bottom: none;
}
.c-cms table th {
  font-weight: 700;
  background: #E6EDF6;
  padding: clamp(14px, 20 / 1559 * 100vw, 20px) clamp(16px, 24 / 1559 * 100vw, 24px);
}
@media screen and (min-width: 768px) {
  .c-cms table th {
    width: clamp(120px, 200 / 1559 * 100vw, 200px);
    border-right: 1px solid #D3DCE7;
  }
}
.c-cms table td {
  font-weight: 400;
  padding: clamp(14px, 20 / 1559 * 100vw, 20px) clamp(16px, 24 / 1559 * 100vw, 24px);
}
@media screen and (max-width: 767px) {
  .c-cms table th,
  .c-cms table td {
    display: block;
  }
  .c-cms table th {
    padding-bottom: clamp(4px, 8 / 1559 * 100vw, 8px);
    border-bottom: none;
  }
  .c-cms table td {
    padding-top: clamp(4px, 8 / 1559 * 100vw, 8px);
  }
}
.c-cms img {
  max-width: 100%;
  height: auto;
  display: block;
}
.c-cms video {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  display: block;
}
.c-cms figure img {
  max-width: 100%;
  height: auto;
  display: block;
}
.c-cms figure figcaption,
.c-cms figure p {
  font-size: clamp(12px, 13 / 1559 * 100vw, 13px);
  line-height: 1.6;
  color: #888;
  margin-top: clamp(6px, 10 / 1559 * 100vw, 10px);
}

/* Base
   ----------------------------------------------------------------- */
/* Utility
   ----------------------------------------------------------------- */
.u-ta-center {
  text-align: center !important;
}

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

@media screen and (min-width: 768px) {
  .u-ta-center-pc {
    text-align: center !important;
  }
}
.u-gap-10 {
  display: flex;
  gap: clamp(7px, 10 / 1559 * 100vw, 10px);
  flex-direction: column;
}

.u-gap-15 {
  display: flex;
  gap: clamp(10px, 15 / 1559 * 100vw, 15px);
  flex-direction: column;
}

.u-gap-20 {
  display: flex;
  gap: clamp(15px, 20 / 1559 * 100vw, 20px);
  flex-direction: column;
}

.u-gap-30 {
  display: flex;
  gap: clamp(20px, 30 / 1559 * 100vw, 30px);
  flex-direction: column;
}

.u-gap-40 {
  display: flex;
  gap: clamp(25px, 40 / 1559 * 100vw, 40px);
  flex-direction: column;
}

.u-gap-60 {
  display: flex;
  gap: clamp(40px, 60 / 1559 * 100vw, 60px);
  flex-direction: column;
}

.u-mt-10 {
  margin-top: clamp(5px, 10 / 1559 * 100vw, 10px);
}

.u-mt-15 {
  margin-top: clamp(7px, 15 / 1559 * 100vw, 15px);
}

.u-mt-20 {
  margin-top: clamp(10px, 20 / 1559 * 100vw, 20px);
}

.u-mt-30 {
  margin-top: clamp(15px, 30 / 1559 * 100vw, 30px);
}

.u-mt-40 {
  margin-top: clamp(20px, 40 / 1559 * 100vw, 40px);
}

.u-mt-50 {
  margin-top: clamp(25px, 50 / 1559 * 100vw, 50px);
}

.u-mt-60 {
  margin-top: clamp(30px, 60 / 1559 * 100vw, 60px);
}

.u-mt-80 {
  margin-top: clamp(40px, 80 / 1559 * 100vw, 80px);
}

.u-mt-100 {
  margin-top: clamp(50px, 100 / 1559 * 100vw, 100px);
}

.u-mt-120 {
  margin-top: clamp(60px, 120 / 1559 * 100vw, 120px);
}

.u-mt-160 {
  margin-top: clamp(80px, 160 / 1559 * 100vw, 160px);
}

@media screen and (max-width: 767px) {
  .u-mt-0-sp {
    margin-top: 0;
  }
}

@media screen and (min-width: 390px) {
  .u-hidden-up-xs {
    display: none !important;
  }
}
@media screen and (min-width: 554px) {
  .u-hidden-up-sm {
    display: none !important;
  }
}
@media screen and (min-width: 768px) {
  .u-hidden-up-md {
    display: none !important;
  }
}
@media screen and (min-width: 992px) {
  .u-hidden-up-lg {
    display: none !important;
  }
}
@media screen and (min-width: 1280px) {
  .u-hidden-up-xl {
    display: none !important;
  }
}

@media screen and (max-width: 389px) {
  .u-hidden-down-xs {
    display: none !important;
  }
}
@media screen and (max-width: 553px) {
  .u-hidden-down-sm {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .u-hidden-down-md {
    display: none !important;
  }
}
@media screen and (max-width: 991px) {
  .u-hidden-down-lg {
    display: none !important;
  }
}
@media screen and (max-width: 1279px) {
  .u-hidden-down-xl {
    display: none !important;
  }
}

/* ==========================================================================
   Pages
   ========================================================================== */
/* Base
   ----------------------------------------------------------------- */
.front .front-mv {
  position: relative;
  z-index: 1;
  height: calc(100svh + clamp(40px, 80 / 1559 * 100vw, 80px));
  overflow: clip;
}
.front .front-mv__container {
  margin: 0 auto;
  padding-inline: 4vw;
  max-width: 1680px;
}
@media screen and (min-width: 768px) {
  .front .front-mv__container {
    padding-inline: 2.5657472739%;
  }
}
.front .front-mv__container {
  height: 100%;
}
.front .front-mv__inner {
  position: relative;
  height: 100%;
}
.front .front-mv__heading {
  position: absolute;
  z-index: 1;
  bottom: 180px;
  left: 0;
  margin-block: auto;
  width: 100%;
  height: fit-content;
  color: #FFF;
}
@media screen and (min-width: 768px) {
  .front .front-mv__heading {
    top: auto;
    bottom: calc(18.5185185185vh + clamp(40px, 80 / 1559 * 100vw, 80px));
  }
}
.front .front-mv__heading-logo {
  width: 70px;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .front .front-mv__heading-logo {
    position: absolute;
    top: 0;
    right: 3.7037037037vh;
    width: 16.6666666667vh;
  }
}
.front .front-mv__heading-jp {
  margin-bottom: clamp(25px, 50 / 1559 * 100vw, 50px);
  font-size: clamp(13px, 32 / 1559 * 100vw, 32px);
  font-weight: 700;
  line-height: 1.4;
  --spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .front .front-mv__heading-jp {
    margin-bottom: 10px;
  }
}
@media screen and (min-width: 768px) {
  .front .front-mv__heading-jp {
    margin-bottom: 20px;
  }
}
.front .front-mv__heading-en {
  position: relative;
  font-family: "Schibsted Grotesk", sans-serif;
  font-size: clamp(8px, 24 / 1559 * 100vw, 24px);
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .front .front-mv__heading-en {
    margin-bottom: 10px;
  }
}
.front .front-mv__heading-en::before, .front .front-mv__heading-en::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.front .front-mv__heading-en::before {
  margin-block-end: var(--leading-trim);
}
.front .front-mv__heading-en::after {
  margin-block-start: var(--leading-trim);
}
.front .front-mv__pickup {
  position: absolute;
  z-index: 1;
  bottom: clamp(60px, 140 / 1559 * 100vw, 140px);
  width: 100%;
}
.front .front-mv__pickup-inner {
  position: relative;
  padding: clamp(15px, 25 / 1559 * 100vw, 25px) clamp(20px, 30 / 1559 * 100vw, 30px);
  background: rgba(255, 255, 255, 0.2);
  border-radius: 1rem;
}
.front .front-mv__pickup-item:not(:last-child) {
  margin-bottom: 1.5rem;
}
@media screen and (min-width: 992px) {
  .front .front-mv__pickup-item:not(:last-child) {
    margin-bottom: clamp(10px, 12 / 1559 * 100vw, 12px);
  }
}
.front .front-mv__pickup-item .item-inner {
  color: #FFF;
}
@media screen and (min-width: 992px) {
  .front .front-mv__pickup-item .item-inner {
    display: flex;
    align-items: start;
    gap: 0 clamp(15px, 30 / 1559 * 100vw, 30px);
  }
}
.front .front-mv__pickup-item .meta {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0 clamp(6px, 18 / 1559 * 100vw, 18px);
  margin-bottom: 0.8rem;
}
@media screen and (min-width: 992px) {
  .front .front-mv__pickup-item .meta {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 992px) {
  .front .front-mv__pickup-item .meta::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: calc(clamp(8px, 16 / 1559 * 100vw, 16px) * -1);
    margin-block: auto;
    width: 1px;
    height: clamp(10px, 12 / 1559 * 100vw, 12px);
    content: "";
    background: #FFF;
    opacity: 0.5;
  }
}
.front .front-mv__pickup-item .time {
  position: relative;
  display: inline-block;
  font-size: clamp(14px, 16 / 1559 * 100vw, 16px);
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .front .front-mv__pickup-item .time {
    line-height: 1.8;
  }
}
.front .front-mv__pickup-item .title {
  display: -webkit-box;
  font-size: 1.2rem;
  line-height: 1.4;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .front .front-mv__pickup-item .title {
    font-size: clamp(14px, 16 / 1559 * 100vw, 16px);
    line-height: 1.8;
    -webkit-line-clamp: 1;
  }
}
.front .front-mv__pickup-item .title a {
  color: #FFF;
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .front .front-mv__pickup-item .title a:hover {
    text-decoration: none;
  }
}
.front .front-mv__bg {
  position: absolute;
  z-index: -1;
  inset: 0;
}
.front .front-mv__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.front .front-news {
  position: relative;
  z-index: 2;
  margin-top: calc(clamp(40px, 80 / 1559 * 100vw, 80px) * -1);
  padding: clamp(40px, 80 / 1559 * 100vw, 80px) 0 clamp(80px, 120 / 1559 * 100vw, 120px);
  background: #E6EDF6;
  border-radius: 0 clamp(40px, 80 / 1559 * 100vw, 80px) 0 0;
}
.front .front-news__inner {
  position: relative;
  padding: clamp(20px, 40 / 1559 * 100vw, 40px) clamp(25px, 50 / 1559 * 100vw, 50px);
  background: rgba(255, 255, 255, 0.5);
  border-radius: clamp(10px, 20 / 1559 * 100vw, 20px);
}
.front .front-news__title {
  margin-bottom: clamp(15px, 20 / 1559 * 100vw, 20px);
  font-size: clamp(16px, 20 / 1559 * 100vw, 20px);
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .front .front-news__list {
    padding-right: clamp(140px, 160 / 1559 * 100vw, 160px);
  }
}
.front .front-news__item {
  border-bottom: 1px solid rgba(147, 175, 214, 0.25);
}
@media screen and (min-width: 992px) {
  .front .front-news__item {
    border-bottom: none;
  }
}
.front .front-news__item:not(:last-child) {
  margin-bottom: 1.5rem;
}
@media screen and (min-width: 992px) {
  .front .front-news__item:not(:last-child) {
    margin-bottom: clamp(10px, 12 / 1559 * 100vw, 12px);
  }
}
.front .front-news__item .item-inner {
  padding-bottom: 1rem;
}
@media screen and (min-width: 992px) {
  .front .front-news__item .item-inner {
    display: flex;
    align-items: start;
    gap: 0 clamp(15px, 30 / 1559 * 100vw, 30px);
    padding-bottom: 0;
  }
}
.front .front-news__item .meta {
  display: flex;
  align-items: center;
  gap: 0 clamp(6px, 18 / 1559 * 100vw, 18px);
  margin-bottom: 0.8rem;
}
@media screen and (min-width: 992px) {
  .front .front-news__item .meta {
    margin-bottom: 0;
  }
}
.front .front-news__item .time {
  position: relative;
  display: inline-block;
  font-size: clamp(14px, 16 / 1559 * 100vw, 16px);
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .front .front-news__item .time {
    line-height: 1.8;
  }
}
.front .front-news__item .title {
  display: -webkit-box;
  font-size: clamp(14px, 16 / 1559 * 100vw, 16px);
  line-height: 1.4;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .front .front-news__item .title {
    line-height: 1.8;
    -webkit-line-clamp: 1;
  }
}
.front .front-news__item .title a {
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .front .front-news__item .title a:hover {
    text-decoration: none;
  }
}
.front .front-news__action {
  margin-top: 1.5rem;
  text-align: right;
}
@media screen and (min-width: 992px) {
  .front .front-news__action {
    position: absolute;
    bottom: clamp(20px, 40 / 1559 * 100vw, 40px);
    right: clamp(25px, 50 / 1559 * 100vw, 50px);
  }
}
.front .front-feature {
  position: relative;
  padding-bottom: clamp(140px, 280 / 1559 * 100vw, 280px);
  background: #E6EDF6;
}
@media screen and (min-width: 768px) {
  .front .front-feature__inner {
    display: grid;
    grid-template: "title image" auto "copy image" auto "text image" auto "button image" 1fr/auto 40%;
    justify-content: space-between;
    gap: 0 5.7142857143%;
  }
}
@media screen and (min-width: 768px) {
  .front .front-feature .p-section-title {
    grid-area: title;
  }
}
.front .front-feature__copy {
  margin-bottom: clamp(15px, 30 / 1559 * 100vw, 30px);
  font-size: clamp(24px, 48 / 1559 * 100vw, 48px);
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .front .front-feature__copy {
    grid-area: copy;
  }
}
.front .front-feature__text {
  margin-bottom: 3rem;
}
@media screen and (min-width: 768px) {
  .front .front-feature__text {
    grid-area: text;
    margin-bottom: 0;
  }
}
@media screen and (min-width: 768px) {
  .front .front-feature__image {
    grid-area: image;
  }
}
.front .front-feature__action {
  margin-top: clamp(30px, 60 / 1559 * 100vw, 60px);
}
@media screen and (min-width: 768px) {
  .front .front-feature__action {
    grid-area: button;
  }
}
.front .front-service {
  position: relative;
  z-index: 1;
  margin-block: calc(clamp(40px, 80 / 1559 * 100vw, 80px) * -1);
  padding: clamp(100px, 200 / 1559 * 100vw, 200px) 0;
  color: #FFF;
  background: linear-gradient(164.09deg, #0065D1 0%, #433095 88.91%);
  border-radius: clamp(40px, 80 / 1559 * 100vw, 80px) 0 0 clamp(40px, 80 / 1559 * 100vw, 80px);
}
.front .front-service .p-section-title__jp {
  color: #FFF;
}
.front .front-service .p-section-title__en {
  color: #FFF;
}
.front .front-service .p-section-title__en span {
  -webkit-text-fill-color: unset;
}
.front .front-service__copy {
  margin-bottom: clamp(15px, 30 / 1559 * 100vw, 30px);
  font-size: clamp(24px, 48 / 1559 * 100vw, 48px);
  font-weight: 700;
  line-height: 1.4;
}
.front .front-service__action {
  margin-top: clamp(30px, 60 / 1559 * 100vw, 60px);
}
.front .front-service__list {
  margin-top: clamp(80px, 120 / 1559 * 100vw, 120px);
  padding-top: clamp(50px, 140 / 1559 * 100vw, 140px);
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}
.front .front-service__item {
  display: grid;
  gap: 3rem 0;
}
@media screen and (min-width: 768px) {
  .front .front-service__item {
    justify-content: space-between;
    align-items: start;
    gap: 0 5.7142857143%;
  }
}
.front .front-service__item:not(:last-child) {
  margin-bottom: clamp(80px, 160 / 1559 * 100vw, 160px);
}
@media screen and (min-width: 768px) {
  .front .front-service__item:nth-child(odd) {
    grid-template-columns: 45.7142857143% auto;
  }
}
@media screen and (min-width: 768px) {
  .front .front-service__item:nth-child(even) {
    grid-template-columns: auto 45.7142857143%;
  }
}
@media screen and (min-width: 768px) {
  .front .front-service__item:nth-child(even) .item-image {
    order: 2;
  }
}
@media screen and (min-width: 768px) {
  .front .front-service__item:nth-child(even) .item-desc {
    order: 1;
  }
}
.front .front-service__item .item-image {
  border-radius: clamp(10px, 20 / 1559 * 100vw, 20px);
  overflow: hidden;
}
.front .front-service__item .item-image img {
  width: 100%;
}
.front .front-service__item .item-title {
  margin-bottom: clamp(20px, 40 / 1559 * 100vw, 40px);
  font-size: clamp(16px, 20 / 1559 * 100vw, 20px);
  font-weight: 700;
  line-height: 1.4;
}
.front .front-service__item .item-copy {
  margin-bottom: clamp(10px, 20 / 1559 * 100vw, 20px);
  font-size: clamp(20px, 36 / 1559 * 100vw, 36px);
  font-weight: 700;
  line-height: 1.4;
}
.front .front-service__item .item-action {
  margin-top: clamp(30px, 60 / 1559 * 100vw, 60px);
}
.front .front-customers {
  position: relative;
  padding: clamp(140px, 280 / 1559 * 100vw, 280px) 0;
  background: #f6f6f6;
}
.front .front-customers__inner {
  position: relative;
}
@media screen and (min-width: 768px) {
  .front .front-customers__inner {
    display: grid;
    grid-template: "title button" auto "image image" 1fr/1fr min-content;
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) {
  .front .front-customers .p-section-title {
    grid-area: title;
  }
}
@media screen and (min-width: 768px) {
  .front .front-customers__slide {
    grid-area: image;
  }
}
.front .front-customers__slide.swiper {
  overflow: visible;
}
.front .front-customers__list {
  display: flex;
}
.front .front-customers__list.swiper-wrapper {
  transition-timing-function: linear;
}
.front .front-customers__item {
  margin-right: clamp(20px, 30 / 1559 * 100vw, 30px);
  width: 68.6567164179%;
  border-radius: 1rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .front .front-customers__item {
    width: 25.7142857143%;
  }
}
.front .front-customers__item img {
  width: 100%;
}
.front .front-customers__action {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .front .front-customers__action {
    grid-area: button;
    align-self: end;
    margin: 0 0 clamp(48px, 96 / 1559 * 100vw, 96px);
  }
}
.front .front-company {
  position: relative;
  z-index: 1;
  margin-top: calc(clamp(40px, 80 / 1559 * 100vw, 80px) * -1);
  padding: clamp(100px, 200 / 1559 * 100vw, 200px) 0 clamp(45px, 90 / 1559 * 100vw, 90px);
  background: #FFF;
  border-radius: 0 clamp(40px, 80 / 1559 * 100vw, 80px) 0 0;
}
.front .front-company__block {
  display: grid;
  gap: 1.5rem 0;
}
@media screen and (min-width: 768px) {
  .front .front-company__block {
    grid-template-columns: auto 42.8571428571%;
    justify-content: space-between;
    gap: 0 5.7142857143%;
  }
}
.front .front-company__copy {
  font-size: clamp(24px, 48 / 1559 * 100vw, 48px);
  font-weight: 700;
  line-height: 1.4;
}
.front .front-company__action {
  margin-top: clamp(30px, 60 / 1559 * 100vw, 60px);
}
/* Base
   ----------------------------------------------------------------- */
.components {
  padding-bottom: clamp(105px, 160 / 1559 * 100vw, 160px);
}
.components .p-container {
  max-width: clamp(785px, 1180 / 1559 * 100vw, 1180px);
}

.components-hero {
  padding: clamp(95px, 140 / 1559 * 100vw, 140px) 0 clamp(55px, 80 / 1559 * 100vw, 80px);
  background: linear-gradient(135deg, rgba(0, 101, 209, 0.06), rgba(117, 84, 255, 0.08));
}
.components-hero__container {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.components-hero__eyebrow {
  font-size: clamp(12px, 16 / 1559 * 100vw, 16px);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #888;
}
.components-hero__title {
  font-size: clamp(32px, 52 / 1559 * 100vw, 52px);
  line-height: 1.3;
  font-weight: 700;
  color: #303030;
}
.components-hero__lead {
  font-size: clamp(16px, 20 / 1559 * 100vw, 20px);
  line-height: 2;
  color: #555;
}

.components-list {
  padding: clamp(80px, 120 / 1559 * 100vw, 120px) 0 clamp(55px, 80 / 1559 * 100vw, 80px);
}
.components-list__intro {
  margin-bottom: clamp(40px, 60 / 1559 * 100vw, 60px);
  text-align: center;
}
.components-list__eyebrow {
  font-size: clamp(12px, 14 / 1559 * 100vw, 14px);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #A8A8A8;
}
.components-list__title {
  margin: 1rem 0;
  font-size: clamp(28px, 40 / 1559 * 100vw, 40px);
  font-weight: 700;
}
.components-list__lead {
  margin: 0 auto;
  max-width: clamp(480px, 720 / 1559 * 100vw, 720px);
  font-size: clamp(16px, 18 / 1559 * 100vw, 18px);
  line-height: 1.9;
  color: #555;
}
.components-list__group {
  padding: clamp(35px, 50 / 1559 * 100vw, 50px);
  margin-bottom: clamp(35px, 50 / 1559 * 100vw, 50px);
  background: #FFF;
  border: 1px solid rgba(48, 48, 48, 0.08);
  border-radius: 1.6rem;
  box-shadow: 0 2.4rem 4.8rem rgba(48, 48, 48, 0.08);
}
.components-list__group-header {
  margin-bottom: clamp(25px, 40 / 1559 * 100vw, 40px);
}
.components-list__label {
  display: inline-block;
  margin-bottom: 0.8rem;
  padding: 0.4rem 1.2rem;
  font-size: 1.2rem;
  font-weight: 600;
  color: #0464D3;
  background: rgba(4, 100, 211, 0.08);
  border-radius: 99.9rem;
}
.components-list__group-title {
  margin-bottom: 0.4rem;
  font-size: clamp(22px, 30 / 1559 * 100vw, 30px);
  font-weight: 700;
}
.components-list__description {
  font-size: 1.5rem;
  line-height: 1.8;
  color: #555;
}
.components-list__items {
  display: grid;
  gap: clamp(15px, 24 / 1559 * 100vw, 24px);
}
@media screen and (min-width: 768px) {
  .components-list__items {
    grid-template-columns: repeat(auto-fit, minmax(clamp(175px, 260 / 1559 * 100vw, 260px), 1fr));
  }
}
.components-list__item {
  padding: clamp(20px, 28 / 1559 * 100vw, 28px);
  border: 1px solid rgba(48, 48, 48, 0.08);
  border-radius: 1.2rem;
  background: #E6EDF6;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.components-list__class {
  font-family: "Schibsted Grotesk", sans-serif;
  font-size: 1.3rem;
  letter-spacing: 0.05em;
  color: #888;
}

.components-list__group--text .components-list__items {
  grid-template-columns: 1fr;
}
.components-list__group--text .components-list__item {
  background: #FFF;
  border-style: dashed;
}

.components-list__group--grid .components-list__items {
  grid-template-columns: 1fr;
  gap: clamp(20px, 32 / 1559 * 100vw, 32px);
}
.components-list__group--grid .components-list__item {
  background: #FFF;
}
.components-list__group--grid .c-grid {
  margin-top: 1.2rem;
}

.components-list__group--cards .components-list__items,
.components-list__group--news .components-list__items {
  grid-template-columns: 1fr;
}
.components-list__group--cards .components-list__item,
.components-list__group--news .components-list__item {
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}

.c-table-demo {
  padding: clamp(15px, 24 / 1559 * 100vw, 24px);
  border-radius: 2.4rem;
}
.c-table-demo.is-dark {
  background: linear-gradient(135deg, rgba(0, 0, 0, 0.8), rgba(12, 20, 40, 0.95));
}
.c-table-demo .c-table {
  margin: 0;
}

.components-list__item .c-button,
.components-list__item .c-button-minimal {
  width: 100%;
}
.components-list__item .c-button {
  justify-content: center;
}
.components-list__item .c-button-minimal {
  justify-content: space-between;
}
.components-list__item .c-list-note,
.components-list__item .c-list-normal {
  margin: 0;
}
.components-list__item .c-list-note {
  margin-bottom: 1rem;
}

/* Base
   ----------------------------------------------------------------- */
.contact-form__body {
  display: flex;
  flex-direction: column;
  gap: 1.8rem;
}
.contact-form__field {
  display: flex;
  flex-direction: column;
  gap: clamp(10px, 10 / 1559 * 100vw, 10px);
}
@media screen and (max-width: 767px) {
  .contact-form__field {
    gap: 13px;
  }
}
.contact-form__field--inline {
  gap: 1.2rem;
}
.contact-form__label {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: clamp(14px, 16 / 1559 * 100vw, 16px);
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .contact-form__label {
    flex-direction: column;
    align-items: flex-start;
  }
}
.contact-form__error {
  font-size: clamp(14px, 16 / 1559 * 100vw, 16px);
  line-height: 1.6;
  font-weight: 400;
  color: #C10003;
}
.contact-form__radio-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(20px, 20 / 1559 * 100vw, 20px);
}
.contact-form__radio {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  font-size: clamp(14px, 16 / 1559 * 100vw, 16px);
  line-height: 1.6;
  cursor: pointer;
  user-select: none;
}
.contact-form__consent-text {
  margin: clamp(15px, 24 / 1559 * 100vw, 24px) 0 1rem;
  font-size: clamp(14px, 16 / 1559 * 100vw, 16px);
  line-height: 1.8;
}
.contact-form__checkbox {
  margin-top: -1rem;
  display: flex;
  justify-content: center;
  gap: clamp(7px, 10 / 1559 * 100vw, 10px);
}
.contact-form__actions {
  display: flex;
  margin-top: clamp(15px, 24 / 1559 * 100vw, 24px);
}
@media screen and (min-width: 768px) {
  .contact-form__actions {
    justify-content: center;
  }
}
.contact-form__submit {
  gap: clamp(10px, 16 / 1559 * 100vw, 16px);
  justify-content: center;
  width: clamp(clamp(160px, 240 / 1559 * 100vw, 240px), 32vw, clamp(200px, 300 / 1559 * 100vw, 300px));
}
.contact-form__submit-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.6rem;
  height: 2.4rem;
  border-radius: 0.4rem;
  background: rgba(255, 255, 255, 0.2);
}
.contact-form__submit-icon::before {
  content: "";
  width: 1.4rem;
  height: 1rem;
  mask-image: url("/img/common/icon_arrow2.svg");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  background: #FFF;
}

.c-form-input {
  width: 100%;
  height: clamp(50px, 60 / 1559 * 100vw, 60px);
  padding: 0 1.6rem;
  font-size: clamp(14px, 16 / 1559 * 100vw, 16px);
  line-height: 1.6;
  color: #303030;
  background: #E6EDF6;
  border: 1px solid #d3dce7;
  border-radius: clamp(5px, 10 / 1559 * 100vw, 10px);
}
.c-form-input.is-textarea {
  min-height: clamp(240px, 240 / 1559 * 100vw, 240px);
  padding: 1.2rem 1.6rem;
  resize: vertical;
}
.c-form-input.is-error {
  border-color: #C10003;
}

/* Base
   ----------------------------------------------------------------- */
.access-embed {
  width: clamp(335px, 1400 / 1559 * 100vw, 1400px);
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: clamp(10px, 20 / 1559 * 100vw, 20px);
  padding: clamp(10px, 40 / 1559 * 100vw, 40px);
}
.access-embed iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}
.access-embed p {
  font-size: clamp(16px, 30 / 1559 * 100vw, 30px);
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
}

/* Base
   ----------------------------------------------------------------- */
.service-intro {
  display: flex;
  flex-direction: column;
  gap: clamp(50px, 75 / 1559 * 100vw, 75px);
  align-items: center;
}
@media screen and (min-width: 768px) {
  .service-intro {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}
.service-intro__logo {
  width: 100%;
  max-width: clamp(455px, 685 / 1559 * 100vw, 685px);
}
@media screen and (min-width: 768px) {
  .service-intro__logo {
    width: clamp(455px, 685 / 1559 * 100vw, 685px);
  }
}
.service-intro__title {
  font-size: clamp(18px, 36 / 1559 * 100vw, 36px);
  font-style: normal;
  font-weight: 700;
  line-height: 140%; /* 50.clampsize(3, 4) */
}
.service-intro__texts {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .service-intro__texts {
    flex: 1;
  }
}

/* Base
   ----------------------------------------------------------------- */
.sitemap__columns {
  display: flex;
}
@media screen and (min-width: 768px) {
  .sitemap__columns {
    gap: clamp(25px, 40 / 1559 * 100vw, 40px);
  }
  .sitemap__columns > div {
    flex: 1;
  }
}
@media screen and (max-width: 767px) {
  .sitemap__columns {
    flex-direction: column;
    gap: clamp(15px, 20 / 1559 * 100vw, 20px);
  }
}
.sitemap__list {
  display: flex;
  flex-direction: column;
  gap: clamp(15px, 20 / 1559 * 100vw, 20px);
}
.sitemap__link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: clamp(16px, 20 / 1559 * 100vw, 20px);
  font-weight: 700;
  letter-spacing: -0.2px;
}
.sitemap__link span {
  display: flex;
  align-items: center;
}
.sitemap__link .c-button-arrow.is-white.is-big {
  margin-left: clamp(5px, 8 / 1559 * 100vw, 8px);
}

.sitemap-sns__box {
  padding: clamp(20px, 44 / 1559 * 100vw, 44px) clamp(20px, 80 / 1559 * 100vw, 80px);
  border-radius: clamp(10px, 20 / 1559 * 100vw, 20px);
  background: linear-gradient(103deg, #fff 0%, #f1f7ff 100%);
}
@media screen and (min-width: 768px) {
  .sitemap-sns__box {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (max-width: 767px) {
  .sitemap-sns__box {
    display: flex;
    gap: clamp(12px, 20 / 1559 * 100vw, 20px);
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
}
.sitemap-sns__title {
  font-size: clamp(16px, 20 / 1559 * 100vw, 20px);
  font-weight: 700;
  line-height: 1.8;
}
.sitemap-sns__icons {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 clamp(20px, 30 / 1559 * 100vw, 30px);
}
.sitemap-sns__icons > a {
  width: clamp(21px, 29 / 1559 * 100vw, 29px);
  transition: opacity 0.4s ease;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .sitemap-sns__icons > a:hover {
    opacity: 0.6;
  }
}

/* Base
   ----------------------------------------------------------------- */
.advantage-customers {
  margin-top: clamp(80px, 160 / 1559 * 100vw, 160px);
}
.advantage-customers__inner {
  position: relative;
  border-top: 1px solid #DDDDDD;
  padding-top: clamp(70px, 140 / 1559 * 100vw, 140px);
}
@media screen and (min-width: 768px) {
  .advantage-customers__inner {
    display: grid;
    grid-template: "title button" auto "image image" 1fr/1fr min-content;
    justify-content: space-between;
  }
}
.advantage-customers__title {
  margin-bottom: clamp(55px, 5.2597819115vw, 82px);
}
@media screen and (min-width: 768px) {
  .advantage-customers__title {
    grid-area: title;
  }
}
@media screen and (min-width: 768px) {
  .advantage-customers__slide {
    grid-area: image;
  }
}
.advantage-customers__slide.swiper {
  overflow: visible;
}
.advantage-customers__list {
  display: flex;
}
.advantage-customers__list.swiper-wrapper {
  transition-timing-function: linear !important;
}
.advantage-customers__item.swiper-slide {
  margin-right: clamp(20px, 30 / 1559 * 100vw, 30px);
  width: 68.6567164179%;
  border-radius: 1rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .advantage-customers__item.swiper-slide {
    width: 25.7142857143%;
  }
}
.advantage-customers__item.swiper-slide img {
  width: 100%;
}
.advantage-customers__action {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .advantage-customers__action {
    grid-area: button;
    align-self: end;
    margin: 0 0 clamp(48px, 96 / 1559 * 100vw, 96px);
  }
}