@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;600&family=Noto+Serif:wght@400;600&display=swap&family=Poppins:wght@200;400;500&display=swap&family=Oswald:wght@500");
@import url('https://fonts.googleapis.com/css2?family=Zen+Old+Mincho:wght@400;500;600;700;900&display=swap');

:root {
  --grade--blue: linear-gradient(90deg, #46A9DA, #31338B);
  --color--white: #fff;
  --color--black: #222;


  --col-white: #fff;
  --col-red: #C52939;
  --col-blue: #003B87;
  --col-blue-sub: #476C9E;
  --col-blue-light: #eceff3;
  --col-blue-line: #CFD8E1;
  --col-gray-line: #D6DEE6;
  --col-orange: #ED6C1C;
  --col-yellow: #F99900;
  --col-default: #0A1523;
  --col-gray-deep: #728194;
  --col-gray-def: rgba(119, 119, 130, .25);
  --col-gray-light: rgba(119, 119, 130, .17);

  --size010: min(1vw, 10px);
  --size020: clamp(17px, 2vw, 20px);
  --size030: clamp(24px, 3vw, 30px);
  --size040: clamp(30px, 3.2vw, 40px);
  --size050: clamp(42px, 5vw, 50px);
  --size060: clamp(48px, 6vw, 60px);
  --size070: clamp(55px, 7vw, 70px);
  --size080: clamp(64px, 8vw, 80px);
  --size090: clamp(72px, 9vw, 90px);
  --size100: clamp(80px, 10vw, 100px);
  --size110: min(11vw, 110px);
  --size120: clamp(100px, 12vw, 120px);
  --size130: min(13vw, 130px);
  --size140: min(14vw, 140px);
  --size150: clamp(130px, 15vw, 150px);
  --size160: min(16vw, 160px);
  --size180: min(18vw, 180px);
  --size200: min(20vw, 200px);
  --size250: min(25vw, 250px);
  --size280: min(28vw, 280px);
  --size300: min(30vw, 300px);
  --size350: min(35vw, 350px);

  --size012: clamp(11px, 1.2vw, 12px);
  --size013: clamp(12.5px, 1.3vw, 13px);
  --size014: clamp(12.5px, 1.4vw, 14px);
  --size015: clamp(14px, 1.5vw, 15px);
  --size016: clamp(14px, 1.6vw, 16px);
  --size017: clamp(14px, 1.75vw, 17px);
  --size018: clamp(15px, 1.75vw, 18px);
  --size022: clamp(18px, 2vw, 22px);
  --size025: clamp(19px, 2.05vw, 25px);
  --size028: clamp(20px, 2.6vw, 28px);
  --size032: clamp(22px, 2.8vw, 32px);
  --size035: clamp(25px, 3.125vw, 35px);
  --size045: clamp(33px, 3.4vw, 45px);
  --size055: clamp(40px, 4.4vw, 55px);
  --size065: clamp(48px, 5.80vw, 65px);
  --size072: min(6.43vw, 72px);
  --size085: min(7.59vw, 85px);
  --size095: min(9.5vw, 95px);

  --width-semifull: min(90%, 1680px);
  --width-wide: min(86%, 1400px);
  --width-default: min(86%, 1200px);
  --width-middle: min(86%, 1000px);
  --width-narrow: min(86%, 880px);

  --ico-arrow: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2236%22%20height%3D%2236%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20class%3D%22ai%20ai-ChevronRight%22%3E%3Cpath%20d%3D%22M8%204l8%208-8%208%22%2F%3E%3C%2Fsvg%3E');
  --ico-arrow--blue: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2236%22%20height%3D%2236%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23003B87%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20class%3D%22ai%20ai-ChevronRight%22%3E%3Cpath%20d%3D%22M8%204l8%208-8%208%22%2F%3E%3C%2Fsvg%3E');
  --ico-arrow--blue_w1: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2236%22%20height%3D%2236%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23003B87%22%20stroke-width%3D%221%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20class%3D%22ai%20ai-ChevronRight%22%3E%3Cpath%20d%3D%22M8%204l8%208-8%208%22%2F%3E%3C%2Fsvg%3E');
  --ico-arrow2: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216.173%22%20height%3D%2216.828%22%20viewBox%3D%220%200%2016.173%2016.828%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_1%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%201%22%20transform%3D%22translate(-4.827%20-3.586)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_2%22%20data-name%3D%22%E3%83%91%E3%82%B9%202%22%20d%3D%22M4%2C12H18.173%22%20transform%3D%22translate(1.827)%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221.5%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_3%22%20data-name%3D%22%E3%83%91%E3%82%B9%203%22%20d%3D%22M13%2C5l7%2C7-7%2C7%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221.5%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E');
  --ico-arrow2--blue: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216.173%22%20height%3D%2216.828%22%20viewBox%3D%220%200%2016.173%2016.828%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_1%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%201%22%20transform%3D%22translate(-4.827%20-3.586)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_2%22%20data-name%3D%22%E3%83%91%E3%82%B9%202%22%20d%3D%22M4%2C12H18.173%22%20transform%3D%22translate(1.827)%22%20fill%3D%22none%22%20stroke%3D%22%23003B87%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221.5%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_3%22%20data-name%3D%22%E3%83%91%E3%82%B9%203%22%20d%3D%22M13%2C5l7%2C7-7%2C7%22%20fill%3D%22none%22%20stroke%3D%22%23003B87%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221.5%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E');
  --ico-blank: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2236%22%20height%3D%2236%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20class%3D%22ai%20ai-LinkOut%22%3E%3Cpath%20d%3D%22M13.5%2010.5L21%203%22%2F%3E%3Cpath%20d%3D%22M16%203h5v5%22%2F%3E%3Cpath%20d%3D%22M21%2014v5a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2V5a2%202%200%200%201%202-2h5%22%2F%3E%3C%2Fsvg%3E');
  --ico-blank--blue: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2236%22%20height%3D%2236%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23003B87%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20class%3D%22ai%20ai-LinkOut%22%3E%3Cpath%20d%3D%22M13.5%2010.5L21%203%22%2F%3E%3Cpath%20d%3D%22M16%203h5v5%22%2F%3E%3Cpath%20d%3D%22M21%2014v5a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2V5a2%202%200%200%201%202-2h5%22%2F%3E%3C%2Fsvg%3E');
  --ico-pdf--default: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216.002%22%20height%3D%2221%22%20viewBox%3D%220%200%2016.002%2021%22%3E%20%3Cpath%20id%3D%22%E5%90%88%E4%BD%93_241%22%20data-name%3D%22%E5%90%88%E4%BD%93%20241%22%20d%3D%22M-10813.75%2C13340a1.252%2C1.252%2C0%2C0%2C1-1.252-1.25v-17.5a1.253%2C1.253%2C0%2C0%2C1%2C1.252-1.252h10l3.747%2C3.752v15a1.251%2C1.251%2C0%2C0%2C1-1.25%2C1.25Zm0-1.25h12.5V13325h-1.875a1.875%2C1.875%2C0%2C0%2C1-1.873-1.873v-1.873h-8.752Zm10-15.625a.622.622%2C0%2C0%2C0%2C.622.627h1.356l-1.979-1.982Zm-9.388%2C12.73c-.414-.523-.256-1.758%2C1.735-2.686a13.107%2C13.107%2C0%2C0%2C1%2C1.6-.6%2C27.6%2C27.6%2C0%2C0%2C0%2C1.427-3.221%2C9.18%2C9.18%2C0%2C0%2C1-.97-2.492c-.093-.971.32-1.855%2C1.158-1.855%2C1.062%2C0%2C1.849%2C1.021.606%2C4.6a11.286%2C11.286%2C0%2C0%2C0%2C1.514%2C2.021%2C12.308%2C12.308%2C0%2C0%2C1%2C2.526-.234c1.5.088%2C1.808.791%2C1.854%2C1.322a1.454%2C1.454%2C0%2C0%2C1-1.8%2C1.227%2C6.431%2C6.431%2C0%2C0%2C1-2.645-1.7.267.267%2C0%2C0%2C0-.066-.014c-.135%2C0-1.649.438-2.8.762-1.239%2C2.217-2.475%2C3.266-3.354%2C3.266A.972.972%2C0%2C0%2C1-10813.135%2C13335.854Zm2.728-2.568a5.241%2C5.241%2C0%2C0%2C0-1.825.973c-.627.6-.58%2C1.135-.3%2C1.318s1.062-.371%2C1.548-.949a4.491%2C4.491%2C0%2C0%2C0%2C.811-1.25c0-.066-.023-.121-.105-.121A.347.347%2C0%2C0%2C0-10810.407%2C13333.286Zm4.907-1.182a6.2%2C6.2%2C0%2C0%2C0%2C1.873.926c.7.092.954-.209.954-.51s-.256-.6-.975-.65c-.044%2C0-.092%2C0-.146%2C0A5.222%2C5.222%2C0%2C0%2C0-10805.5%2C13332.1Zm-3.168.186c.46-.186%2C2.125-.557%2C2.125-.557s-1.082-1.293-1.226-1.549C-10807.769%2C13330.185-10808.416%2C13331.87-10808.668%2C13332.29Zm.369-6.643c-.486.07-.6.627-.553%2C1.205a4.779%2C4.779%2C0%2C0%2C0%2C.527%2C1.6s.1.229.188.162a7.507%2C7.507%2C0%2C0%2C0%2C.367-1.576c.179-.852-.021-1.395-.454-1.395A.5.5%2C0%2C0%2C0-10808.3%2C13325.647Z%22%20transform%3D%22translate(10815.502%20-13319.499)%22%20fill%3D%22%currentColorf%22%20stroke%3D%22rgba(0%2C0%2C0%2C0)%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%221%22%2F%3E%3C%2Fsvg%3E');
  --ico-pdf--blue: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216.002%22%20height%3D%2221%22%20viewBox%3D%220%200%2016.002%2021%22%3E%20%3Cpath%20id%3D%22%E5%90%88%E4%BD%93_241%22%20data-name%3D%22%E5%90%88%E4%BD%93%20241%22%20d%3D%22M-10813.75%2C13340a1.252%2C1.252%2C0%2C0%2C1-1.252-1.25v-17.5a1.253%2C1.253%2C0%2C0%2C1%2C1.252-1.252h10l3.747%2C3.752v15a1.251%2C1.251%2C0%2C0%2C1-1.25%2C1.25Zm0-1.25h12.5V13325h-1.875a1.875%2C1.875%2C0%2C0%2C1-1.873-1.873v-1.873h-8.752Zm10-15.625a.622.622%2C0%2C0%2C0%2C.622.627h1.356l-1.979-1.982Zm-9.388%2C12.73c-.414-.523-.256-1.758%2C1.735-2.686a13.107%2C13.107%2C0%2C0%2C1%2C1.6-.6%2C27.6%2C27.6%2C0%2C0%2C0%2C1.427-3.221%2C9.18%2C9.18%2C0%2C0%2C1-.97-2.492c-.093-.971.32-1.855%2C1.158-1.855%2C1.062%2C0%2C1.849%2C1.021.606%2C4.6a11.286%2C11.286%2C0%2C0%2C0%2C1.514%2C2.021%2C12.308%2C12.308%2C0%2C0%2C1%2C2.526-.234c1.5.088%2C1.808.791%2C1.854%2C1.322a1.454%2C1.454%2C0%2C0%2C1-1.8%2C1.227%2C6.431%2C6.431%2C0%2C0%2C1-2.645-1.7.267.267%2C0%2C0%2C0-.066-.014c-.135%2C0-1.649.438-2.8.762-1.239%2C2.217-2.475%2C3.266-3.354%2C3.266A.972.972%2C0%2C0%2C1-10813.135%2C13335.854Zm2.728-2.568a5.241%2C5.241%2C0%2C0%2C0-1.825.973c-.627.6-.58%2C1.135-.3%2C1.318s1.062-.371%2C1.548-.949a4.491%2C4.491%2C0%2C0%2C0%2C.811-1.25c0-.066-.023-.121-.105-.121A.347.347%2C0%2C0%2C0-10810.407%2C13333.286Zm4.907-1.182a6.2%2C6.2%2C0%2C0%2C0%2C1.873.926c.7.092.954-.209.954-.51s-.256-.6-.975-.65c-.044%2C0-.092%2C0-.146%2C0A5.222%2C5.222%2C0%2C0%2C0-10805.5%2C13332.1Zm-3.168.186c.46-.186%2C2.125-.557%2C2.125-.557s-1.082-1.293-1.226-1.549C-10807.769%2C13330.185-10808.416%2C13331.87-10808.668%2C13332.29Zm.369-6.643c-.486.07-.6.627-.553%2C1.205a4.779%2C4.779%2C0%2C0%2C0%2C.527%2C1.6s.1.229.188.162a7.507%2C7.507%2C0%2C0%2C0%2C.367-1.576c.179-.852-.021-1.395-.454-1.395A.5.5%2C0%2C0%2C0-10808.3%2C13325.647Z%22%20transform%3D%22translate(10815.502%20-13319.499)%22%20fill%3D%22%23003B87%22%20stroke%3D%22rgba(0%2C0%2C0%2C0)%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%221%22%2F%3E%3C%2Fsvg%3E');
}


body {
  font-family: "Zen Old Mincho", serif;
  font-size: 10px;
  font-weight: 400;
  color: var(--col-default);
  min-width: 320px;
}

html.is-fixed,
body.is-fixed {
  overflow: hidden;
}

* {
  box-sizing: border-box;
}

h1,
h2,
h3,
h4,
h5 {
  font-weight: normal;
}

strong,
b {
  font-weight: 600;
}

.ff-en {
  font-family: 'Poppins', sans-serif;
}

.ff-mincho {
  font-family: 'Noto+Serif', serif;
}

strong.ff-mincho,
b.ff-mincho {
  font-weight: 600;
}

strong.ff-en,
b.ff-en,
.ff-en b,
.ff-en strong,
.ff-en.-bold {
  font-weight: 600;
}

img {
  display: inline-block;
}

ul,
li,
dl,
dt,
dd {
  list-style: none;
  padding: 0;
  margin: 0;
}

@media only screen and (min-width: 768px) {
  .-view_sp {
    display: none !important;
  }

  a[href*="tel"] {
    pointer-events: none;
  }
}

@media only screen and (max-width: 767px) {

  .-view_over_sp,
  .-view_pc {
    display: none !important;
  }
}

.-align-center {
  text-align: center !important;
}

.-align-right {
  text-align: right !important;
}

@media screen and (max-width: 767px) {
  .-align-right:is(p) {
    text-align: left !important;
  }
}

.-indent {
  text-indent: -1em;
  padding-left: 1em;
}

.-indent:has(li) {
  line-height: 1.2;
}

.-indent:has(li) *+li {
  margin-top: .4em;
}

.w-indent {
  padding-left: 1.5em;
}

.-w-default {
  width: var(--width-default) !important;
}

/* margin */
.-mg_t0 {
  margin-top: 0 !important;
}

.-mg_t10 {
  margin-top: var(--size010) !important;
}

.-mg_t20 {
  margin-top: var(--size020) !important;
}

.-mg_t30 {
  margin-top: var(--size030) !important;
}

.-mg_t40 {
  margin-top: var(--size040) !important;
}

.-mg_t50 {
  margin-top: var(--size050) !important;
}

.-mg_t60 {
  margin-top: var(--size060) !important;
}

.-mg_t70 {
  margin-top: var(--size070) !important;
}

.-mg_t80 {
  margin-top: var(--size080) !important;
}

.-mg_t100 {
  margin-top: var(--size100) !important;
}

@media screen and (max-width: 767px) {
  .-mg_t100 {
    margin-top: var(--size080) !important;
  }
}

.-mg_t120 {
  margin-top: var(--size120) !important;
}

.fs-smaller {
  font-size: var(--size012) !important;
}

.fs-small {
  font-size: var(--size014) !important;
}

.fs-copy {
  font-size: var(--size040);
  line-height: 1.4 !important;
}

@media screen and (max-width: 767px) {
  .fs-copy {
    font-size: var(--size035);
  }
}

/* slick */
.js-slider {
  opacity: 0;
  transition: .3s;
}

.js-slider.slick-initialized {
  opacity: 1;
}

/* link */
.-textlink {
  transition: .3s;
  display: inline-flex;
  align-items: flex-start;
  gap: .3em;
  text-decoration: underline;
  color: var(--col-blue);
}

.-textlink[target="_blank"]::after {
  content: '';
  display: flex;
  background: var(--ico-blank--blue) 50% 50% no-repeat;
  background-size: cover;
  height: .75em;
  aspect-ratio: 1/1;
  position: relative;
  top: .3em;
}

@media screen and (max-width: 767px) {
  .-textlink[target="_blank"]::after {
    height: .6em;
  }
}

.-textlink:hover {
  text-decoration: none;
}

.-textlink span {
  flex: 1;
}

.-textlink--detail {
  transition: .3s;
  display: inline-flex;
  align-items: center;
  gap: .75em;
  color: var(--col-default);
  position: relative;
  transition: .3s color;
}

.-textlink--detail::before {
  content: '';
  display: flex;
  padding-left: 2em;
  border: 1px solid transparent;
  aspect-ratio: 1/1;
  background: var(--ico-arrow) 50% 50% no-repeat;
  background-size: 1em auto !important;
  filter: invert(1);
  position: relative;
  z-index: 2;
}

.-textlink--detail[target*="_blank"]::before {
  background: var(--ico-blank) 50% 50% no-repeat;
  background-size: .9em auto;
}

.-textlink--detail::after {
  content: '';
  display: flex;
  padding-left: 2em;
  border: 1px solid var(--col-blue);
  aspect-ratio: 1/1;
  background: var(--col-blue);
  border-radius: 50%;
  position: absolute;
  left: 0;
  z-index: 1;
  transition: .3s background;
}

.hl-lower_contents-title .-textlink--detail {
  flex-direction: row-reverse;
}

.hl-lower_contents-title .-textlink--detail::after {
  left: auto;
  right: 0;
}

.-textlink--detail.-line {
  text-decoration: none;
}

.-textlink--detail.-line::before {
  padding-left: var(--size025);
  background: var(--ico-arrow--blue) 60% 50% no-repeat;
  background-size: var(--size013) auto;
  filter: invert(0);
}

.-textlink--detail.-line::after {
  padding-left: var(--size025);
  background: none;
  border: 1px solid var(--col-gray-deep);
}

.-textlink--detail:hover {
  color: var(--col-blue);
}

.-textlink--detail:hover::before {
  background: var(--ico-arrow--blue) 50% 50% no-repeat;
  filter: invert(0);
}

.-textlink--detail:hover[target*="_blank"]::before {
  background: var(--ico-blank--blue) 50% 50% no-repeat;
}

.-textlink--detail:hover::after {
  background: transparent;
}

.file-pdf {
  color: var(--col-blue);
  display: inline-flex;
  line-height: 1;
  align-items: center;
  gap: 4px;
  margin-left: .5em;
  padding-left: 1em;
  border-left: 1px solid var(--col-gray-def);
  font-family: poppins, serif;
}

.file-pdf::before {
  content: '';
  display: flex;
  padding-left: 1em;
  aspect-ratio: 1/1;
  background: var(--ico-pdf--blue) 50% 50% no-repeat;
  background-size: contain;
}

@media screen and (max-width: 767px) {
  .file-pdf::before {
    height: max(3.4375vw, 22px);
  }
}

/* CSS Document */
body {
  border: 8px solid transparent;
  border-image: var(--grade--blue) 1;
}

@media screen and (max-width: 1024px) {
  body {
    border-width: 5px;
  }
}

@media screen and (max-width: 767px) {
  body {
    border-width: 0;
    border-top-width: 5px;
  }
}

body::before {
  content: '';
  display: flex;
  height: 8px;
  width: 100%;
  position: fixed;
  left: 0;
  top: 0;
  background: var(--grade--blue);
  z-index: 9999;
}

@media screen and (max-width: 1024px) {
  body::before {
    height: 5px;
  }
}

.l-conainer {
  overflow: clip;
  padding: calc(var(--size100) - 8px) 0 0;
}

body.dir-root .l-conainer {
  padding-top: min(88vw, 890px);
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .l-conainer {
    padding: calc(var(--size090) - 5px) 0 0;
  }

  body.dir-root .l-conainer {
    padding-top: calc(100vw * .86);
  }
}

@media screen and (max-width: 767px) {
  .l-conainer {
    padding: calc(70px - 5px) 0 0;
  }

  body.dir-root .l-conainer {
    padding-top: 0;
  }
}

/* crumb ------------------------------------------------------------------------------- */
.l-crumb-footer {
  position: relative;
  z-index: 2;
  padding-bottom: var(--size030);
}

.l-crumb-footer .p-crumb-list {
  margin: 0 auto;
  padding: var(--size100) 0 0;
  width: var(--width-wide);
}

@media screen and (max-width: 767px) {
  .l-crumb-footer .p-crumb-list {
    padding: 5em 0 0;
  }
}

.l-crumb-footer:is(.-slogan + .l-crumb-footer) {
  background: #fff;
}

.btn-pagetop {
  display: flex;
  width: var(--size060);
  aspect-ratio: 1/1;
  background: var(--col-blue);
  background-size: var(--size025) auto;
  transform: rotate(-90deg);
  position: absolute;
  right: 0;
  bottom: var(--size030);
  z-index: 10;
}

/* 下層subtop MV仕様 -------------------------------------------------------------- */
/* 画像あり */


@keyframes image-switch-animation {
  0% {
    clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  }

  5% {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }

  25% {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }

  30% {
    clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
  }

  100% {
    clip-path: polygon(0 0, 0 0, 100% 0, 100% 0);
  }
}

@keyframes image-switchfade-animation {
  0% {
    opacity: 0;
    scale: 1.11;
  }

  5% {
    opacity: 1;
  }

  50% {
    opacity: 1;
  }

  55% {
    opacity: 0;
  }

  100% {
    opacity: 0;
    scale: 1;
  }
}

/* 下層ドキュメント フレーム -------------------------------------------------------------- */
.l-title-content .c-inner {
  padding: var(--size100) 0 0;
}

.l-title_divisions .c-inner {
  padding: var(--size090) 0 var(--size045);
  width: var(--width-wide);
  margin: 0 auto;
}

.l-title_divisions .hl-lower-title strong {
  color: var(--col-blue);
}

.l-head-page-lower .c-inner {
  width: var(--width-wide);
  margin: 0 auto;
  padding: var(--size070) 0 var(--size060);
}

@media screen and (max-width: 767px) {
  .l-head-page-lower .c-inner {
    padding-bottom: var(--size055);
  }
}

.l-head-page-lower.-freelancers .c-inner {
  width: var(--width-middle);
  padding-bottom: var(--size040);
}

.l-head-page-lower.-freelancers .c-inner .hl-content-title b {
  padding-top: .5em;
}

@media screen and (min-width: 768px) {
  .l-head-page-lower.-freelancers .c-inner .hl-content-title b {
    font-size: clamp(32px, calc((42 / 1280) * 100vw), 42px);
  }
}

.l-head-page-lower.-news-detail .c-inner {
  width: var(--width-middle);
  padding-bottom: 4em;
}

.l-head-page-lower .hl-lower-title {
  color: var(--col-blue);
}

.l-head-page-lower .p-shoulder-dir {
  font-size: var(--size025);
  overflow: clip;
  position: relative;
  line-height: 1;
}

.l-head-page-lower .p-shoulder-dir a,
.l-head-page-lower .p-shoulder-dir span {
  color: var(--col-blue);
  display: inline-block;
  padding-right: 1em;
  position: relative;
  color: var(--col-gray-deep);
}

.l-head-page-lower .p-shoulder-dir a::before,
.l-head-page-lower .p-shoulder-dir span::before {
  content: '';
  display: flex;
  width: 5em;
  height: 1px;
  background: var(--col-blue-line);
  position: absolute;
  top: 50%;
  left: 100%;
  pointer-events: none;
}



.w-with-active_nav {
  position: relative;
  max-width: var(--width-wide);
  margin: 0 auto;
  padding: var(--size050) 0 var(--size100);
}

@media screen and (max-width: 1480px) {
  .-on-active_nav {
    padding-left: min(14vw, 20em);
    width: 86% !important;
  }
}

@media screen and (max-width: 1024px) {
  .-on-active_nav {
    padding-left: 0;
  }
}

.w-with-active_nav .-on-active_nav {
  padding-left: clamp(25em, 22vw, 30em);
}

.l-main-content>.c-inner {
  margin: 0 auto;
  width: var(--width-wide);
}

.l-main-content.-data>.c-inner {
  margin: 0 auto;
  width: var(--width-default);
}


.l-chapter-content {
  position: relative;
  padding-top: var(--size040);
  counter-reset: number 0;
  font-size: var(--size017);
}

.l-chapter-content p {
  line-height: 1.7;
}

@media screen and (max-width: 767px) {
  .l-chapter-content p {
    line-height: 1.5;
  }
}


.l-chapter-content+.l-chapter-content:not(.ch-faq-details) {
  margin-top: var(--size120);
}

@media screen and (max-width: 767px) {
  .l-chapter-content+.l-chapter-content:not(.ch-faq-details) {
    margin-top: var(--size080);
  }
}


.block-grid-lower+.l-chapter-content {
  padding-top: var(--size070);
}

.l-chapter-content *+p,
.l-chapter-content *+ul,
.l-chapter-content *+ol {
  margin-top: 1.6em;
}

@media screen and (max-width: 1024px) {

  .l-chapter-content *+p,
  .l-chapter-content *+ul,
  .l-chapter-content *+ol {
    margin-top: 1.2em;
  }
}

.l-chapter-content.-border-top {
  border-top: 1px solid var(--col-gray-light);
}

.l-chapter-content.-border-bottom {
  border-bottom: 1px solid var(--col-gray-light);
}

.l-chapter-content.-border-top-rich {
  padding: var(--size050) 2em 0 3em;
}

.l-chapter-content.-border-top-rich .hl-chapter {
  font-size: var(--size025);
}

@media screen and (max-width: 1024px) {
  .l-chapter-content.-border-top-rich {
    padding: var(--size035) 0 0 5vw;
    width: calc(100% + 4vw);
    position: relative;
    left: -4vw;
  }

  .l-chapter-content.-border-top-rich .hl-chapter {
    font-size: var(--size022);
  }
}

.l-chapter-content.-border-top-rich::before {
  content: '';
  display: flex;
  width: 100%;
  height: var(--size100);
  border: 1px solid var(--col-blue-line);
  border-bottom: none;
  border-right: none;
  position: absolute;
  left: 0;
  top: 0;
  opacity: .4;
}

.l-chapter-content.-border-top-rich::after {
  content: '';
  display: flex;
  width: var(--size020);
  height: var(--size020);
  border: 3px solid var(--col-blue);
  border-bottom: none;
  border-right: none;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}

*+.l-chapter-content.-border-top-rich {
  margin-top: var(--size100);
}

.l-chapter-content.-border-corner::before {
  content: '';
  display: flex;
  width: var(--size150);
  height: var(--size150);
  border: 1px solid var(--col-blue-line);
  border-bottom: none;
  border-right: none;
  position: absolute;
  left: 0;
  top: 0;
  opacity: .4;
}

.l-chapter-content.-border-corner::after {
  content: '';
  display: flex;
  width: var(--size020);
  height: var(--size020);
  border: 3px solid var(--col-blue);
  border-bottom: none;
  border-right: none;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}

@media screen and (max-width: 1024px) {
  .l-chapter-content.-border-corner {
    padding: var(--size035) 0 0 5vw;
    width: calc(100% + 4vw);
    position: relative;
    left: -4vw;
  }
}

.l-chapter-content .sec-news-detail+.box-btn {
  margin-top: var(--size100);
}

@media screen and (max-width: 767px) {
  .l-chapter-content .sec-news-detail+.box-btn {
    margin-top: var(--size080);
  }
}

.l-chapter-content hgroup {
  position: relative;
}

.l-chapter-content hgroup .hl-chapter {
  margin-bottom: .75em;
}


.l-chapter-content *+.box-link {
  margin-top: 2em;
}

.l-chapter-content+.box-btn {
  margin-top: var(--size100);
}

@media screen and (max-width: 767px) {
  .l-chapter-content+.box-btn {
    margin-top: var(--size060);
  }
}

.sec-news-detail {
  padding: 0 2em;
}

@media screen and (max-width: 767px) {
  .sec-news-detail {
    padding: 0;
  }
}

.sec-news-detail:is(div+.sec-news-detail) {
  margin-top: var(--size080);
}

.sec-news-detail .c-img:is(*+.c-img) {
  margin-top: 4em;
}


.-col-blue {
  color: var(--col-blue) !important;
}

.-col-gray {
  color: var(--col-gray-deep) !important;
}

.-col-orange {
  color: var(--col-orange) !important;
}

.-col-red {
  color: var(--col-red) !important;
}

.max-w1200 {
  max-width: 1200px;
}

.max-w1200.-right {
  margin-left: auto;
}

.max-w960 {
  max-width: 960px;
}

.max-w960.-right {
  margin-left: auto;
}

.w-semifull {
  width: var(--width-semifull) !important;
}

.l-title-content .c-inner {
  width: var(--width-wide);
  margin: 0 auto;
}

.p-lead {
  font-size: var(--size020);
  margin-top: 2.2em;
  line-height: 1.7;
}

@media screen and (max-width: 767px) {
  .p-lead {
    margin-top: 1.5em;
    font-size: var(--size016);
  }
}

.p-lead.-middle {
  font-size: var(--size018);
  opacity: .85;
  margin-top: 2em;
}

.p-crumb-list {
  display: flex;
  font-size: var(--size013);
  align-items: center;
  gap: 10px;
}

.p-crumb-list>*+li {
  display: flex;
  gap: .6em;
}

.p-crumb-list>*+li a {
  flex: 1;
}

@media screen and (max-width: 767px) {
  .p-crumb-list>*+li a {
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    max-width: 15em;
  }
}

.p-crumb-list>*+li::before {
  content: '';
  display: flex;
  width: 8px;
  aspect-ratio: 1/1;
  background: var(--ico-arrow--blue) 50% 50% no-repeat;
  background-size: contain;
  opacity: .5;
}

.hl-chapter--service span {
  opacity: .7;
  display: block;
  font-size: var(--size025);
}

.hl-chapter--service strong {
  color: var(--col-blue);
  display: block;
  font-size: var(--size045);
  font-weight: 600;
}

.p-list-text {
  /* font-size: var(--size017); */
}

.p-list-text>li {
  line-height: 1.4;
  display: flex;
  align-items: flex-start;
  gap: .75em;
}

.p-list-text>li>* {
  flex: 1;
}


.p-list-text.-circle li::before {
  content: '';
  display: flex;
  padding-left: 10px;
  aspect-ratio: 1/1;
  background: var(--col-gray-deep);
  border-radius: 50%;
  line-height: 1.4;
  position: relative;
  top: .4em;
  left: .1em;
}

.p-list-text.-circle *+li {
  margin-top: 1em;
}

.p-list-text.-dot li::before {
  content: '';
  display: flex;
  padding-left: 5px;
  aspect-ratio: 1/1;
  background: var(--col-blue-sub);
  border-radius: 50%;
  line-height: 1.4;
  position: relative;
  top: .55em;
  margin: 0 0 0 .3em;
}

.p-list-text.-dot *+li {
  margin-top: .7em;
}

table .p-list-text.-dot *+li {
  margin-top: .3em;
}

.p-list-text.-underline li {
  border-bottom: 1px dashed var(--col-gray-line);
  padding-bottom: .2em;
}

.p-list-text.-check li::before {
  content: '';
  display: flex;
  padding-left: 1.2em;
  aspect-ratio: 1/1;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2236%22%20height%3D%2236%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23003B87%22%20stroke-width%3D%221%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20class%3D%22ai%20ai-CircleCheck%22%3E%3Cpath%20d%3D%22M8%2012.5l3%203%205-6%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3C%2Fsvg%3E") 50% 50% no-repeat;
  background-size: cover;
  border-radius: 50%;
  line-height: 1.4;
  position: relative;
  top: 3px;
}

.p-list-text.-check *+li {
  margin-top: .7em;
}

.p-list-text.-number {
  counter-reset: number 0;
}

.p-list-text.-number>li {
  display: flex;
  gap: 1.5em;
}

.p-list-text.-number>li::before {
  width: 1.5em;
  text-align: right;
  counter-increment: number 1;
  content: counter(number) ".";
}

@media screen and (max-width: 767px) {
  .p-list-text.-number>li {
    gap: .75em;
  }
}

.p-list-text.-number>li span {
  flex: 1;
}

.p-list-text.-number>*+li {
  margin-top: 1.1em;
}

table .p-list-text.-number *+li {
  margin-top: .3em;
}

.p-list-text.-num_circle {
  counter-reset: number 0;
}

.p-list-text.-num_circle>li {
  display: flex;
  gap: .5em;
}

.p-list-text.-num_circle>li::before {
  display: flex;
  background: var(--col-default);
  justify-content: center;
  align-items: center;
  width: 1.5em;
  color: #fff;
  aspect-ratio: 1/1;
  border-radius: 50%;
  line-height: 1;
  counter-increment: number 1;
  content: counter(number);
  font-size: 75%;
  margin-top: .2em;
  font-weight: bold;
}

.p-list-text.-num_circle>li span {
  flex: 1;
}

.p-list-text.-num_circle>*+li {
  margin-top: 1.1em;
}

table .p-list-text.-num_circle *+li {
  margin-top: .3em;
}

.p-list-text.-flex {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(20em, 1fr));
  gap: 8px var(--size020);
}

.p-list-text.-flex>li {
  font-size: 90%;
}

.p-list-text.-flex *+li {
  margin-top: 0;
}

.-group .p-list-text.-flex {
  grid-template-columns: repeat(auto-fit, minmax(11em, 1fr));
}

.p-list-text.-lowgap *+li {
  margin-top: 0.5em !important;
}

.btn-round {
  display: inline-flex;
  padding: .96em 3em;
  border-radius: 100vmax;
  border: 1px solid var(--col-blue);
  line-height: 1;
  justify-content: center;
  font-size: var(--size017);
  width: min(80%, 400px);
  overflow: hidden;
  position: relative;
}

@media screen and (max-width: 767px) {
  .btn-round {
    font-size: 15px;
    padding: .75em 3em;
  }
}

.btn-round>span {
  display: inline-flex;
  align-items: center;
}

.btn-round>span::after {
  content: '';
  display: flex;
  width: .96em;
  aspect-ratio: 1/1;
  background: var(--ico-arrow2--blue);
  background-size: cover !important;
  position: absolute;
  right: 2em;
}



.btn-round:not(.-border)::before {
  content: '';
  display: flex;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: var(--col-blue);
  z-index: 0;
  transition: .3s background;
}

.btn-round:not(.-border)>span {
  color: #fff;
  z-index: 2;
  transition: .3s color;
}

.btn-round:not(.-border)>span::after {
  filter: invert(1) grayscale(1);
  transition: .3s filter;
}

.btn-round:not(.-border)>span:is(a[target*="_blank"] span)::after {
  width: .9em;
  background: var(--ico-blank);
  filter: invert(1);
}

@media (hover: hover) {
  .btn-round:not(.-border):hover::before {
    background: #fff !important;
  }

  .btn-round:not(.-border):hover span {
    color: var(--col-blue);
  }

  .btn-round:not(.-border):hover span::after {
    filter: invert(0) !important;
  }

  .btn-round:not(.-border):hover span:is(a[target*="_blank"]:hover span)::after {
    background: var(--ico-blank--blue);
  }
}

.btn-round.-border {
  border-color: currentColor;
}

.btn-round.-border>span {
  /* &::before {
	@include set-pseudo-selector;
	width: 1em;
	aspect-ratio: 1/1;
} */
}

.btn-round.-border>span::after {
  content: '';
  display: flex;
  width: 1em;
  aspect-ratio: 1/1;
  background: var(--ico-arrow);
  background-size: cover;
}

.btn-round.-border[target*="_blank"]>span::after {
  background: var(--ico-blank--blue);
}

.btn-round.-small {
  font-size: 75%;
  padding: .5em 1.5em;
  margin: 5px;
}

.btn-round.-wide {
  width: 90%;
  padding: 1em;
}

.l-footer .btn-round {
  width: 100%;
}

.l-footer .btn-round>span {
  font-size: var(--size016);
}

.btn-round .file-pdf {
  border-color: #fff;
  color: #fff;
}

.btn-round .file-pdf::before {
  background: var(--ico-pdf--default) 50% 50% no-repeat;
  background-size: contain;
  filter: invert(1);
}

.btn-round.btn-return {
  border-color: var(--col-default);
}

.btn-round.btn-return:not(.-border)::before {
  background: var(--col-default);
}

.btn-round.btn-return span::after {
  background: var(--ico-arrow2);
  right: auto;
  left: 2em;
  rotate: 180deg;
}

@media (hover: hover) {
  .btn-round.btn-return:hover span {
    color: var(--col-default);
  }
}

.btn-block {
  display: inline-flex;
  padding: 0 var(--size050);
  border: 1px solid currentColor;
  line-height: 1;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
  overflow: hidden;
  position: relative;
}

.btn-block>span {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: .4em 0;
  position: relative;
  z-index: 1;
}

.btn-block.-border {
  border-coor: currentColor;
}

.btn-block.-wide {
  width: 100%;
}

.btn-block.-wide>strong {
  font-size: var(--size020);
}

.btn-block.-wide>span {
  padding: var(--size025) 0;
}

.btn-block.-large {
  width: 100%;
  font-size: var(--size020);
  padding: var(--size010);
}

.btn-block.-fill {
  color: #fff;
  font-size: var(--size017);
  padding: .5em 0;
}

.btn-block.-fill::before {
  content: '';
  display: flex;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: var(--col-blue);
  z-index: 0;
}

.btn-block.-fill span {
  padding: .5em 3em;
  display: inline-flex;
  gap: 0;
}

.btn-block.-fill span::before {
  content: '';
  display: flex;
  width: .8em;
  aspect-ratio: 1/1;
  background: var(--ico-arrow2) 50% 50% no-repeat;
  background-size: cover;
  rotate: 180deg;
  filter: invert(1);
  position: relative;
  left: -1.2em;
  top: .1em;
}

.btn-block.-fill::after {
  content: '';
  display: flex;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #4194ff 0%, #003c89 100%);
  z-index: 0;
  scale: 0 1;
  transition: .3s scale;
  transform-origin: left center;
}

.btn-block.-fill:hover::after {
  scale: 1 1;
}

.btn-block.-return {
  font-size: var(--size017);
}

.btn-block.-return span {
  padding: .8em 2em;
  display: inline-flex;
  gap: 0;
}

.btn-block.-return span::before {
  content: '';
  display: flex;
  width: .8em;
  aspect-ratio: 1/1;
  background: var(--ico-arrow2) 50% 50% no-repeat;
  background-size: cover;
  rotate: 180deg;
  position: relative;
  left: -1.2em;
  top: .1em;
}

.btn-block.-contact {
  border-radius: 100vmax;
}

.btn-block.-contact span {
  display: inline-flex;
  gap: .7em;
  font-size: var(--size018);
}

.btn-block.-contact span::before {
  content: '';
  display: flex;
  width: 2em;
  aspect-ratio: 1/1;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2224px%22%20viewBox%3D%220%20-960%20960%20960%22%20width%3D%2224px%22%20fill%3D%22%23fff%22%3E%3Cpath%20d%3D%22M200-400v-40h280v40H200Zm0-160v-40h440v40H200Zm0-160v-40h440v40H200Zm329.23%20520v-88.38l213.31-212.31q5.92-5.93%2012.22-8%206.3-2.08%2012.6-2.08%206.87%200%2013.5%202.58%206.64%202.57%2012.06%207.73l37%2037.77q4.93%205.92%207.5%2012.31Q840-444%20840-437.62q0%206.39-2.46%2012.89-2.46%206.5-7.62%2012.42L617.62-200h-88.39Zm275.39-237.62-37-37.76%2037%2037.76Zm-240%20202.24h38l138.69-138.93-18.77-19-18.23-19.54-139.69%20139.47v38Zm157.92-157.93-18.23-19.54%2037%2038.54-18.77-19Z%22%2F%3E%3C%2Fsvg%3E") 50% 50% no-repeat;
  background-size: 130%;
  filter: invert(0);
}

/* loop slider */
@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-100%);
  }
}

@keyframes infinity-scroll-right {
  from {
    transform: translateX(-100%);
  }

  to {
    transform: translateX(0%);
  }
}

@keyframes infinity-scroll-up {
  from {
    transform: translateY(0);
  }

  to {
    transform: translateY(-100%);
  }
}

@keyframes infinity-scroll-down {
  from {
    transform: translateY(-100%);
  }

  to {
    transform: translateY(0);
  }
}


.hl-lower-title {
  font-size: var(--size050);
}

.hl-lower-title strong {
  letter-spacing: .05em;
}

.-news .hl-lower-title {
  font-size: var(--size040);
}

.-news .hl-lower-title strong {
  font-weight: normal;
  letter-spacing: 0;
}

.p-attribute-news {
  display: flex;
  align-items: center;
  margin-top: 2em;
  gap: 2em;
}

.p-attribute-news time {
  font-size: var(--size015);
  font-weight: 600;
  color: var(--col-gray-deep);
}

.p-attribute-news .c-label {
  font-size: var(--size013);
  border-radius: 50px;
  width: 9em;
  padding: 5px 10px;
  background: var(--col-gray-deep);
  text-align: center;
  color: var(--col-white);
  position: relative;
}

/* 見出し */
.hl-chapter {
  font-size: var(--size030);
  font-weight: 600;
  margin-bottom: 1.2em;
  position: relative;
}

@media screen and (max-width: 767px) {
  .hl-chapter {
    font-size: clamp(24px, 5.6vw, 28px);
  }
}

.hl-chapter>.fs-small {
  font-size: 40%;
  margin-left: 2em;
  font-weight: normal;
}

.hl-chapter.-underline {
  padding-bottom: .75em;
  border-bottom: 1px solid var(--col-gray-def);
}

.hl-chapter.-underline:after {
  content: '';
  display: flex;
  width: 2.5em;
  height: 2px;
  background: var(--col-blue);
  position: absolute;
  bottom: -2px;
  z-index: 2;
}




.hl-chapter.-centerline {
  text-align: center;
  margin-bottom: 1em;
}

.hl-chapter.-centerline>span::after {
  content: '';
  display: flex;
  width: 40px;
  height: 2px;
  background: var(--col-blue);
  margin: .75em auto 0;
}

.hl-chapter.-doubleline {
  border-top: 1px solid currentColor;
  border-bottom: 1px solid var(--col-gray-def);
  padding: .75em .5em;
  font-size: var(--size028);
}

.win-about-sdgs .hl-chapter {
  font-size: var(--size030);
}

.hl-chapter.-generic {
  font-size: var(--size028);
  color: var(--col-blue);
  filter: contrast(0.5);
  opacity: .85;
}

.hl-chapter .-small {
  font-size: 75%;
}

.hl-chapter.-small {
  font-size: var(--size028);
}

.hl-chapter.-smaller {
  font-size: var(--size020);
  margin-top: -1em;
}

.hl-chapter.-large {
  font-size: var(--size040);
  margin-bottom: .75em;
}

.hl-chapter.-border-short::after {
  content: '';
  display: flex;
  height: 1px;
  width: 1.5em;
  background: currentColor;
  margin-top: .85em;
}

.hl-chapter.-band {
  background: var(--col-blue);
  color: #fff;
  padding: .75em 1.5em;
  margin: -.5em 0 2em;
  position: sticky;
  top: 0;
}

@media screen and (max-width: 767px) {
  .hl-chapter.-band {
    margin: 0 0 1em;
  }
}

.hl-copy-message {
  line-height: 1.5;
  font-weight: 600;
  font-size: var(--size040);
  color: var(--col-blue);
}

@media screen and (max-width: 767px) {
  .hl-copy-message {
    font-size: var(--size028);
  }
}

.hl-copy-message+div {
  margin-left: 1em;
  padding-left: 4vw;
  border-left: 1px solid var(--col-gray-def);
  margin-bottom: var(--size050);
  position: relative;
}

.hl-copy-message+div *+* {
  margin-top: 1.5em;
}

.hl-copy-message+div p {
  line-height: 2;
  opacity: .9;
}

@media screen and (max-width: 767px) {
  .hl-copy-message+div p {
    line-height: 1.7;
  }
}

@media screen and (max-width: 767px) {
  .hl-copy-message+div {
    margin-left: .3em;
    padding-left: 2em;
  }
}

.hl-term {
  font-weight: 600;
  margin-bottom: 16px;
}

.box-term .hl-term {
  color: var(--col-blue);
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(0, 59, 135, 0.5);
}

.hl-term:is(*+.hl-term) {
  margin-top: 2em;
}

*+.box-term {
  margin-top: var(--size020);
}

.box-term.-bg {
  border-radius: 3px;
  background: var(--col-blue-light);
  padding: var(--size030) var(--size045);
}

*+.box-term.-bg {
  margin-top: var(--size020);
}

.box-term>*+*:not(.-indent) {
  margin-top: 1.6em;
}

.box-term>*+*.-indent {
  margin-top: .5em;
  font-size: .8em;
}

.box-term>.p-list-text>*+li {
  margin-top: .3em;
}


.p-list-executives {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 var(--size040);
}

@media screen and (max-width: 767px) {
  .p-list-executives {
    display: block;
  }
}

.p-list-executives>li {
  padding: var(--size030) 1em var(--size020);
  border-bottom: 1px solid var(--col-gray-light);
}

@media screen and (max-width: 767px) {
  .p-list-executives>li {
    padding: 1em .5em;
  }
}

.p-list-executives>li strong {
  font-size: var(--size030);
  display: block;
  margin-bottom: .3em;
}

@media screen and (max-width: 767px) {
  .p-list-executives>li strong {
    font-size: var(--size025);
  }
}

.p-list-executives>li span {
  font-size: var(--size015);
  display: block;
  color: var(--col-blue);
}

@media screen and (max-width: 767px) {
  .p-list-executives>li span {
    font-size: var(--size014);
  }

  .p-list-executives>li span br {
    display: none;
  }
}

.p-list-executives.-wide {
  display: block;
}

.p-list-executives.-wide>li {
  display: flex;
  width: 100%;
  padding: 8px 1em;
  gap: 20px;
  border-bottom: none;
}

@media screen and (max-width: 767px) {
  .p-list-executives.-wide>li {
    padding: 8px .5em;
    gap: 10px;
  }
}

.p-list-executives.-wide>li strong {
  margin-bottom: 0;
  font-weight: normal;
  font-size: var(--size017);
}

.p-list-executives.-wide>li span {
  display: block;
  flex: 1;
  font-size: var(--size014);
}

.p-list-executives.-wide>li:nth-of-type(2n+1) {
  background: #f9f9f9;
}


.hl-content-title b {
  font-size: var(--size045);
  display: block;
  letter-spacing: .1em;
  margin-top: .15em;
  color: var(--col-blue);
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .hl-content-title b {
    font-size: max(6.4vw, 32px);
    letter-spacing: 0;
    line-height: 1.2;
  }

  .hl-content-title b.-small {
    font-size: max(5vw, 25px);
  }
}

.hl-content-title b.-narrow,
.hl-content-title b.ff-en {
  letter-spacing: 0;
}

.hl-content-title b.ff-en {
  font-size: var(--size040);
}

.hl-content-title b .-lower-title {
  /* インタビュー, サステナ子ページ */
  display: inline-block;
  padding-left: .5em;
  margin-left: .5em;
  position: relative;
}

.hl-content-title b .-lower-title::before {
  content: '';
  display: flex;
  height: 70%;
  width: 1px;
  background: var(--col-blue-line);
  position: absolute;
  top: 15%;
  left: 0;
}

.hl-content-title b>.ff-en {
  font-size: 110%;
}

.hl-content-title>span.ff-en {
  color: var(--col-gray-deep);
  font-size: var(--size025);
  font-weight: 400;
}

@media screen and (max-width: 767px) {
  .hl-content-title>span.ff-en {
    font-size: min(5vw, 18px);
  }
}

.hl-content-title.-lower b {
  font-size: var(--size050);
}

@media screen and (max-width: 767px) {
  .hl-content-title.-lower b {
    font-size: max(6.4vw, 36px);
    letter-spacing: 0;
    line-height: 1.2;
  }
}

.hl-content-title.-news b {
  font-size: var(--size040);
  line-height: 1.4;
  color: var(--col-default);
}

.p-list-anchor_nav {
  display: flex;
  font-size: var(--size016);
  line-height: 1.2;
  justify-content: center;
}

.p-list-anchor_nav:is(* + ul) {
  margin: 5em 0 1em;
}

.p-list-anchor_nav>*+li {
  border-left: 1px solid var(--col-gray-def);
}

@media screen and (min-width: 1025px) {
  .p-list-anchor_nav.-left li {
    border-left: 1px solid var(--col-gray-deep);
  }

  .p-list-anchor_nav.-left li:last-of-type {
    border-right: 1px solid var(--col-gray-deep);
  }
}

.p-list-anchor_nav a {
  display: inline-flex;
  flex-direction: column;
  height: 100%;
  align-items: center;
  justify-content: center;
  padding: 0 min(2vw, 40px);
  transition: .3s;
  gap: .5em;
  padding-bottom: 2em;
  position: relative;
}

.p-list-anchor_nav a span {
  text-align: center;
  font-weight: 600;
}

.p-list-anchor_nav a::after {
  content: '';
  display: flex;
  padding-left: .8em;
  aspect-ratio: 1/1;
  background: var(--ico-arrow2--blue);
  background-size: cover;
  rotate: 90deg;
  position: absolute;
  bottom: 0;
  filter: grayscale(1);
  opacity: .7;
}

.p-list-anchor_nav a:is(.-left a) {
  gap: 1em;
  flex-direction: row;
  padding: 0 min(1.2vw, 30px) 0 min(2vw, 40px);
}

.p-list-anchor_nav a:is(.-left a)::after {
  content: '';
  display: flex;
  position: relative;
  bottom: auto;
  opacity: .7;
}

@media screen and (max-width: 1024px) {
  .p-list-anchor_nav {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5em 1.5em;
    margin: 3em 0;
  }

  .p-list-anchor_nav li {
    width: auto;
    border: none;
    border-bottom: 1px solid var(--col-gray-def);
  }

  .p-list-anchor_nav a {
    display: flex;
    padding: 0 0 0.5em !important;
    justify-content: space-between;
  }

  .p-list-anchor_nav a span {
    text-align: left;
  }

  .p-list-anchor_nav a::after {
    position: unset;
  }
}

@media screen and (max-width: 767px) {
  .p-list-anchor_nav {
    grid-template-columns: repeat(2, 1fr);
  }

  .p-list-anchor_nav li {
    font-size: var(--size014);
  }
}

@media screen and (max-width: 1280px) {
  .p-list-anchor_nav.-variable {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5em 1.5em;
    margin-top: 3em;
  }

  .p-list-anchor_nav.-variable li {
    width: auto;
    border: none;
    border-bottom: 1px solid var(--col-gray-def);
  }

  .p-list-anchor_nav.-variable a {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 0 0 .5em;
  }

  .p-list-anchor_nav.-variable a span {
    text-align: left;
  }

  .p-list-anchor_nav.-variable a::after {
    position: unset;
  }
}

@media screen and (max-width: 767px) {
  .p-list-anchor_nav.-variable {
    grid-template-columns: repeat(2, 1fr);
  }

  .p-list-anchor_nav.-variable li {
    font-size: var(--size013);
  }
}

.win-about-sdgs .c-inner {
  width: 84%;
  margin: 0 auto;
}

.win-about-sdgs .c-inner p {
  font-size: var(--size016);
  line-height: 1.6;
}

.win-about-sdgs .c-inner *+ul {
  margin-top: var(--size030);
}

.p-list-history {
  position: relative;
}

.p-list-history>li {
  padding: var(--size025) 0;
  margin-left: 2em;
}

@media screen and (max-width: 767px) {
  .p-list-history>li {
    padding: 1em 0;
  }
}

.p-list-history>li:not(:last-of-type) {
  border-bottom: 1px dotted var(--col-gray-def);
}

.p-list-history:after {
  content: '';
  display: flex;
  height: calc(100% - var(--size035));
  width: 3px;
  background: var(--col-gray-light);
  position: absolute;
  border-radius: 3px;
  left: 0;
  top: var(--size035);
  opacity: .5;
}

.p-list-lower_contents--large {
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: var(--size040) 0;
}

.p-list-lower_contents--large a {
  transition: .3s color;
}

.p-list-lower_contents--large a:is(.is-show) .c-img img:not(.c-brand_logo):not(.c-logo) {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

.p-list-lower_contents--large a:is(:hover) .hl-lower_contents-title {
  color: var(--col-blue);
}

.p-list-lower_contents--large a:is(:hover) .c-img {
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

.p-list-lower_contents--large a:is(:hover) .c-img img {
  opacity: .9;
}

.p-list-lower_contents--large .c-img {
  overflow: hidden;
  position: relative;
  background: var(--col-gray-def);
  transition: .3s;
}

.p-list-lower_contents--large .c-img>img:not(.c-brand_logo):not(.c-logo) {
  object-fit: cover;
  width: 100%;
  height: 100%;
  object-position: 50% 50%;
  position: relative;
  z-index: 1;
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  transition: .3s clip-path, .3s scale, .3s opacity;
}



.p-list-lower_contents--large p {
  font-size: var(--size016);
  line-height: 1.7;
}

@media screen and (max-width: 767px) {
  .p-list-lower_contents--large p {
    line-height: 1.5;
  }
}

.p-list-lower_contents--large p+p {
  margin-top: 1.5em;
}

.p-list-lower_contents--large:not(.-flex) li {
  width: 100%;
}

.p-list-lower_contents--large:not(.-flex) li a {
  display: flex;
  align-items: center;
  background: #fff;
  padding: var(--size050);
}

.p-list-lower_contents--large:not(.-flex) li .c-img {
  width: calc(100% / 3);
  aspect-ratio: 1.25 / 1;
}

.p-list-lower_contents--large:not(.-flex) li .c-text {
  width: calc((100% / 3) * 2);
}

.p-list-lower_contents--large.-flex>li {
  border-top: 1px solid var(--col-gray-def);
  border-left: 1px solid var(--col-gray-def);
}

@media screen and (max-width: 767px) {
  .p-list-lower_contents--large.-flex>li {
    width: 100%;
    border-right: 1px solid var(--col-gray-def);
  }
}

@media screen and (min-width: 768px) {
  .p-list-lower_contents--large.-flex>li {
    width: 50%;
  }
}

.p-list-lower_contents--large.-flex>li>a {
  display: block;
  padding: 0 var(--size050);
  height: 100%;
}

.p-list-lower_contents--large.-flex>li>a:hover .c-img {
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

@media screen and (max-width: 1024px) {
  .p-list-lower_contents--large.-flex>li>a {
    padding: 0 1.5em;
  }
}

@media screen and (max-width: 767px) {
  .p-list-lower_contents--large.-flex>li>a {
    padding: 0 4vw;
  }
}

.p-list-lower_contents--large.-flex>li>.w-item {
  display: block;
  padding: 0 var(--size040);
  height: 100%;
}

@media screen and (max-width: 1024px) {
  .p-list-lower_contents--large.-flex>li>.w-item {
    padding: 0 1.5em;
  }
}

@media screen and (max-width: 767px) {
  .p-list-lower_contents--large.-flex>li>.w-item {
    padding: 0 4vw;
  }
}

.p-list-lower_contents--large.-flex>li>.w-item.is-show .c-img img {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

.p-list-lower_contents--large.-flex>li .c-img {
  width: 100%;
  aspect-ratio: 4/3;
  margin-bottom: var(--size030);
}

.p-list-lower_contents--large.-flex>li .c-img:is(.-business .c-img) {
  aspect-ratio: 5/3;
}

@media screen and (max-width: 767px) {
  .p-list-lower_contents--large.-flex>li .c-img {
    margin-bottom: clamp(2em, 3vw, 30px);
  }
}

.p-list-lower_contents--large.-flex>li .c-text {
  width: 100%;
}

@media screen and (max-width: 1024px) {
  .p-list-lower_contents--large.-flex>li .c-text {
    padding: 0 1em;
  }
}

.p-list-lower_contents--large.-flex>li:last-of-type,
.p-list-lower_contents--large.-flex>li:nth-of-type(2n) {
  border-right: 1px solid var(--col-blue-line);
}

.p-list-lower_contents--large.-row3 {
  margin-bottom: var(--size070);
  gap: var(--size040) clamp(2px, 0.5vw, 5px);
}

.p-list-lower_contents--large.-row3>li {
  border: none;
  width: calc((100% - clamp(2px, .5vw, 5px) * 2) / 3);
}

@media screen and (max-width: 767px) {
  .p-list-lower_contents--large.-row3>li {
    width: calc((100% - clamp(2px, .5vw, 5px)) / 2);
  }
}

.p-list-lower_contents--large.-row3>li a {
  padding: 0;
  text-align: center;
}

.p-list-lower_contents--large.-row3>li a:is(:hover) .c-img img {
  opacity: 1;
  scale: 1.05;
}

.p-list-lower_contents--large.-row3>li a:is(:hover) p {
  color: var(--col-blue);
}

.p-list-lower_contents--large.-row3>li .c-img {
  aspect-ratio: 1/.95;
}

@media screen and (max-width: 767px) {
  .p-list-lower_contents--large.-row3>li .c-img {
    margin-bottom: 1.3em;
  }
}

.p-list-lower_contents--large.-row3>li:last-of-type {
  border: none;
}

.p-list-lower_contents--large.-row3>li p {
  transition: .3s color;
  font-size: var(--size022);
  line-height: 1.4;
  font-weight: 600;
}

@media screen and (max-width: 767px) {
  .p-list-lower_contents--large.-row3>li p {
    font-size: min(3vw, 20px);
  }
}

.p-list-lower_contents--large.-row3>li:nth-of-type(2n) {
  border-right: none;
}

.p-list-lower_contents--large.-business a:is(:hover) .c-img img:not(.c-brand_logo) {
  opacity: 1;
  scale: 1.05;
}

.p-list-lower_contents--large.-business .c-text {
  padding-right: var(--size055);
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-list-lower_contents--large.-business .c-text {
    padding-right: max(8.6vw, 55px);
  }
}

.p-list-lower_contents--large.-business .c-text .hl-lower_contents-title {
  font-size: var(--size025);
}

@media screen and (max-width: 767px) {
  .p-list-lower_contents--large.-business .c-text .hl-lower_contents-title {
    font-size: min(4.4vw, 25px);
  }
}

.p-list-lower_contents--large.-business .c-text p {
  font-size: var(--size017);
  line-height: 1.4;
}

.p-list-lower_contents--large.-business .c-text:after {
  content: '';
  display: flex;
  height: var(--size045);
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: var(--ico-arrow2--blue) 50% 50% no-repeat;
  background-size: var(--size017) auto;
  position: absolute;
  top: 0;
  right: 0;
  border: 1px solid var(--col-blue-light);
  filter: contrast(0.5);
}

@media screen and (max-width: 767px) {
  .p-list-lower_contents--large.-business .c-text:after {
    right: 1em;
    height: max(3.9vw, 22px);
    background-size: min(2.5vw, 14px) auto;
  }
}

@media screen and (max-width: 1024px) {
  .p-list-lower_contents--large.-group {
    flex-direction: column;
  }
}

@media screen and (max-width: 1024px) {
  .p-list-lower_contents--large.-group>li {
    width: 100%;
    border-right: 1px solid var(--col-gray-def);
  }
}

.p-list-lower_contents--large.-group>li .c-img {
  height: auto;
  aspect-ratio: 2/1.5;
  background: #f5f5f5;
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-list-lower_contents--large.-group>li .c-img {
    aspect-ratio: 3/2;
  }
}

.p-list-lower_contents--large.-group>li .c-img .c-logo {
  position: absolute;
  bottom: 1em;
  right: 1em;
  height: var(--size040);
  width: auto;
  z-index: 2;
}

.p-list-lower_contents--large.-group>li p+p {
  margin-top: 1.2em;
}

.p-list-lower_contents--large.-group .hl-lower_contents-title {
  font-size: var(--size020);
}

.p-list-lower_contents--large.-group .hl-middle {
  font-size: var(--size018);
  color: var(--col-blue);
  font-weight: 600;
  line-height: 1.2;
}

*+.p-list-lower_contents--large.-group .hl-middle {
  margin-top: 1.5em;
}

.p-list-lower_contents--large.-group .c-introduction {
  border-left: 1px solid var(--col-gray-def);
  padding-left: 1.2em;
  margin: 2em 0 2em;
  position: relative;
}

.p-list-lower_contents--large.-group .c-introduction .hl-middle {
  position: relative;
}

.p-list-lower_contents--large.-group .c-introduction .hl-middle::after {
  content: '';
  display: flex;
  height: 100%;
  width: 3px;
  background: var(--col-blue);
  position: absolute;
  left: -1.2em;
  top: 0;
  z-index: 2;
}

.p-list-lower_contents--large.-group p {
  font-size: var(--size015);
  line-height: 1.5;
}

.p-list-lower_contents--large.-group .p-list-text {
  margin: 1.5em 0 .5em;
  font-size: var(--size015);
}

.p-list-lower_contents--large.-group .p-list-text li {
  font-size: 100%;
}

.p-list-lower_contents--small {
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
}

.p-list-lower_contents--small li {
  border-top: 1px solid var(--col-gray-line);
  border-left: 1px solid var(--col-gray-line);
  width: calc(100% / 3);
  margin-bottom: var(--size050);
}

.p-list-lower_contents--small li a {
  display: block;
  padding: 0 var(--size035) var(--size010);
  transition: .3s color;
}

@media screen and (max-width: 767px) {
  .p-list-lower_contents--small li a {
    padding: 0 1em .5em;
  }
}

.p-list-lower_contents--small li a:is(:hover) {
  color: var(--col-blue);
}

.p-list-lower_contents--small li a:is(:hover) .c-img {
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

.p-list-lower_contents--small li a:is(:hover) .c-img img {
  scale: 1.05;
}

.p-list-lower_contents--small li .c-img {
  background: var(--col-gray-line);
  aspect-ratio: 1.5/1;
  margin-bottom: clamp(1em, 2vw, 20px);
  overflow: clip;
  transition: .3s box-shadow;
}

.p-list-lower_contents--small li .c-img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  object-position: 50% 50%;
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  transition: .3s clip-path, .3s scale;
}

.p-list-lower_contents--small li .c-img:is(.is-show .c-img) img {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

@media screen and (max-width: 767px) {
  .p-list-lower_contents--small li {
    width: calc(100% / 2);
    margin-bottom: max(5vw, 20px);
  }

  .p-list-lower_contents--small li:nth-of-type(2n),
  .p-list-lower_contents--small li:last-of-type {
    border-right: 1px solid var(--col-gray-line);
  }
}

@media screen and (min-width: 768px) {

  .p-list-lower_contents--small li:nth-of-type(3n),
  .p-list-lower_contents--small li:last-of-type {
    border-right: 1px solid var(--col-gray-line);
  }
}

.p-list-lower_contents--small.-text .hl-lower_contents-title a {
  display: flex;
  gap: 1em;
  justify-content: space-between;
  padding: 1.5em var(--size040);
}

@media screen and (max-width: 767px) {
  .p-list-lower_contents--small.-text .hl-lower_contents-title a {
    padding: 1em 1.5em;
  }
}

.p-list-lower_contents--small.-text .hl-lower_contents-title a::after {
  content: '';
  display: flex;
  height: 1em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: var(--ico-arrow2--blue) 50% 50% no-repeat;
  background-size: contain;
  position: relative;
  top: 2px;
}

.p-list-lower_contents--small:not(.-text) .hl-lower_contents-title {
  display: flex;
  gap: 12px;
}

.p-list-lower_contents--small:not(.-text) .hl-lower_contents-title::after {
  content: '';
  display: flex;
  height: .8em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: var(--ico-arrow2--blue) 50% 50% no-repeat;
  background-size: contain;
  position: relative;
  top: .2em;
}

.p-list-lower_contents--large+.p-list-lower_contents--small {
  margin-top: var(--size060);
}

.hl-lower_contents-title {
  font-weight: 600;
}

.p-list-lower_contents--large .hl-lower_contents-title {
  font-size: var(--size025);
  margin-bottom: .8em;
}

.l-event-subtop .hl-lower_contents-title {
  font-size: var(--size030);
  color: var(--col-blue);
  margin-bottom: .8em;
}

.p-list-lower_contents--small .hl-lower_contents-title {
  font-size: var(--size020);
}

@media screen and (max-width: 767px) {
  .p-list-lower_contents--small .hl-lower_contents-title {
    font-size: max(2.7vw, 14px);
  }
}

.hl-lower_contents-title.-centerline {
  text-align: center;
}

.hl-lower_contents-title.-centerline>b::after {
  content: '';
  display: flex;
  width: 40px;
  height: 1px;
  background: var(--col-blue);
  margin: .75em auto 0;
}

.p-box-sustainability {
  overflow: clip;
  position: relative;
  width: var(--width-semifull);
  border-radius: var(--size010);
  height: min(44.64vw, 520px);
  margin: var(--size080) auto 0;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.16);
  opacity: 0;
  translate: 0 50px;
  transition: .3s opacity, .3s translate;
}

@media screen and (max-width: 767px) {
  .p-box-sustainability {
    margin: 5em auto 0;
    height: 60vw;
    width: 100%;
  }
}

.p-box-sustainability a {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 2;
  color: #fff;
  padding: 0 var(--size120);
  height: 100%;
}

@media screen and (max-width: 1024px) {
  .p-box-sustainability a {
    padding: 0 7vw;
  }
}

@media screen and (max-width: 767px) {
  .p-box-sustainability a {
    padding: 0 0 0 8vw;
  }
}

.p-box-sustainability a:is(:hover) img {
  opacity: 1;
}

.p-box-sustainability .c-img {
  position: absolute;
  object-fit: cover;
  object-position: 50% 50%;
  object-position: 0% 30%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  opacity: .5;
  transition: .3s opacity;
}

@media screen and (max-width: 767px) {
  .p-box-sustainability .c-img {
    object-position: 90% 50%;
    opacity: .6;
  }
}

.p-box-sustainability .box-link {
  font-size: var(--size020);
}

@media screen and (max-width: 767px) {
  .p-box-sustainability .box-link {
    margin-top: 1.5em;
    font-size: 2.5vw;
  }
}

.p-box-sustainability .box-link .-textlink--detail {
  color: #fff;
}

.p-box-sustainability.is-show {
  opacity: 1;
  translate: 0 0;
}

.hl-sustainability {
  font-size: 24px;
  line-height: 1.3;
  text-shadow: 0 0 20px rgba(0, 0, 0, 0.8);
}

@media screen and (max-width: 767px) {
  .hl-sustainability {
    font-size: 3.8vw;
  }
}

.l-related-news {
  padding: var(--size100) 0 0;
}

.p-list-news {
  margin: 0 auto;
  font-size: var(--size017);
  border-top: 1px solid var(--col-gray-light);
}

.p-list-news li {
  border-bottom: 1px solid var(--col-gray-light);
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .l-chapter-news .p-list-news li:nth-child(n+4) {
    display: none;
  }
}

.p-list-news a {
  position: relative;
  display: flex;
  gap: 0 2em;
  align-items: flex-start;
  padding: 1.6em 4.5em 1.48em 0;
}

@media screen and (max-width: 767px) {
  .p-list-news a {
    flex-wrap: wrap;
    gap: 5px .7em;
    padding-right: 3.5em;
  }
}

.p-list-news a time {
  width: 5.5em;
  font-size: 90%;
  margin-top: .12em;
  color: var(--col-gray-deep);
  padding-left: .2em;
}

.p-list-news a .c-label {
  font-size: var(--size013);
  border-radius: 50px;
  width: 9em;
  padding: 6px 9px;
  background: #fff;
  text-align: center;
  position: relative;
  top: -4px;
}

@media screen and (max-width: 767px) {
  .p-list-news a .c-label {
    font-size: 10px;
    padding: 4px 9px;
    top: -3.5px;
  }
}



.p-list-news a .c-title {
  line-height: 1.2;
}

@media screen and (min-width: 768px) {
  .p-list-news a .c-title {
    flex: 1;
  }
}

@media screen and (max-width: 767px) {
  .p-list-news a .c-title {
    width: 100%;
    line-height: 1.4;
  }
}

.p-list-news a .c-title:is(a:hover .c-title) {
  text-decoration: underline;
}

.p-list-news a::after {
  content: '';
  display: flex;
  height: var(--size020);
  aspect-ratio: 1/1;
  background: var(--ico-arrow--blue) 50% 50% no-repeat;
  background-size: cover !important;
  position: absolute;
  top: var(--size030);
  top: 50%;
  transform: translate(0, -50%);
  right: 15px;
}

@media screen and (max-width: 767px) {
  .p-list-news a::after {
    height: 20px;
    right: 5px;
  }
}

.p-list-news a[target*="_blank"]::after {
  background: var(--ico-blank--blue) 50% 50% no-repeat;
}

.p-list-news a .c-label-site {
  display: inline-flex;
  margin-right: .5em;
  font-size: var(--size014);
  gap: 5px;
  align-items: center;
}

.p-list-news a .c-label-site::after {
  content: '｜';
}

.l-related-news .p-list-news {
  font-size: var(--size015);
  margin-bottom: 2em;
}

.l-related-news .p-list-news a {
  padding: var(--size020) 4.5em var(--size015) 0;
}

.l-related-news .p-list-news a .c-label {
  background: var(--col-gray-deep);
  color: #fff;
  padding: 5px 9px;
  top: -3px;
}

.p-list-topics {
  margin-bottom: var(--size030);
}

@media screen and (max-width: 767px) {
  .p-list-topics {
    margin-bottom: var(--size020);
  }
}

.p-list-topics a {
  display: block;
  margin: 0 var(--size020);
}

@media screen and (max-width: 767px) {
  .p-list-topics a {
    margin: 0 max(2.35vw, 15px);
  }
}

.p-list-topics .c-img {
  aspect-ratio: 1/1;
  border-radius: var(--size010);
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(72, 84, 99, 0.2);
  background: var(--col-blue-light);
  transition: .3s opacity;
}

.p-list-topics .c-img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  object-position: 50% 50%;
  border-radius: 8px;
}

@media screen and (max-width: 767px) {
  .p-list-topics .c-img img {
    border-radius: 5px;
  }
}

.p-list-topics .c-img:is(a:hover div) {
  opacity: .85;
}

.p-list-topics p {
  margin-top: 1.5em;
  font-size: var(--size016);
  line-height: 1.5;
  padding: 0 .5em;
}

@media screen and (max-width: 767px) {
  .p-list-topics p {
    font-size: max(2.1vw, 13px);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    line-height: 1.4;
  }
}

.p-list-topics .slick-arrow {
  display: none !important;
}

.p-list-topics.-sub a {
  display: block;
  margin: 0 4px;
}

@media screen and (max-width: 767px) {
  .p-list-topics.-sub a {
    margin: 0 3px;
  }
}

.p-list-topics.-sub .c-img {
  aspect-ratio: 102/55;
  border-radius: 0;
  overflow: hidden;
  box-shadow: 0 0 0 rgba(72, 84, 99, 0.2);
}

.p-list-topics.-sub .c-img img {
  border-radius: 0 !important;
}

.p-list-topics.-sub p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
  font-size: var(--size013);
}

.p-list-topics.-sub p br {
  display: none;
}

.p-list-topics.-sub .slick-arrow {
  width: var(--size040);
  aspect-ratio: 1/1;
  padding: 10px;
  display: block !important;
}

.p-list-topics.-sub .slick-arrow::before {
  border-color: var(--col-default);
  border-top-width: 2px;
  border-right-width: 2px;
}

.p-list-topics.-sub .slick-arrow.slick-prev {
  left: calc(-1 * var(--size045));
}

.p-list-topics.-sub .slick-arrow.slick-next {
  right: calc(-1 * var(--size045));
}

@media screen and (max-width: 767px) {
  .p-list-topics.-sub .slick-arrow.slick-prev {
    left: -10px;
  }

  .p-list-topics.-sub .slick-arrow.slick-next {
    right: -10px;
  }
}

.ui-arrows {
  display: none !important;
}

.ui-arrows .btn-arrow-slick {
  width: var(--size055);
  aspect-ratio: 1/1;
  position: relative;
  cursor: pointer;
  transition: .3s opacity;
}

.ui-arrows .btn-arrow-slick::after {
  content: '';
  display: flex;
  height: 100%;
  width: 100%;
  background: var(--ico-arrow) 50% 50% no-repeat;
  background-size: auto var(--size025);
  position: absolute;
  left: 0;
  top: 0;
}

.ui-arrows .btn-arrow-slick.-prev::after {
  transform: rotate(-180deg);
}

.ui-arrows .btn-arrow-slick:hover {
  opacity: .5;
}

.l-chapter-topics .box-nav {
  width: var(--width-middle);
  display: flex;
  align-items: center;
  gap: var(--size030);
  margin: 0 auto;
}

.l-chapter-topics .box-nav .box-dots {
  flex: 1;
}

.l-chapter-topics .ui-arrows {
  display: flex;
}

.b-bnr-sub .box-nav {
  margin: 0 auto;
}

.b-bnr-sub .box-nav .box-dots {
  width: 50%;
  margin: 0 auto;
}

.b-bnr-sub .ui-arrows {
  display: flex;
  justify-content: space-between;
  position: relative;
  margin: calc(-1 * (var(--size055) / 2 + min(4.5vw, 55px))) auto var(--size060);
}

@media screen and (max-width: 767px) {
  .b-bnr-sub .ui-arrows {
    margin: calc(-1 * (var(--size055) / 2 + min(7vw, 80px))) auto var(--size065);
  }
}

@media (max-width: 480px) {
  .b-bnr-sub .ui-arrows {
    margin: calc(-1 * (var(--size055) / 2 + 10.5vw)) auto var(--size060);
  }
}

.p-list-link-lower {
  display: grid;
  //grid-template-columns: repeat(2, 1fr);
  font-weight: 600;
  font-size: var(--size018);
  gap: 1em 2em;
}

@media screen and (max-width: 1024px) {
  .p-list-link-lower {
    margin-top: max(4.6875vw, 30px);
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .p-list-link-lower {
    font-size: var(--size020);
    grid-template-columns: repeat(1, 1fr);
  }
}

.p-list-link-lower a:not(.-textlink--detail) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: var(--size015);
  border-bottom: 1px solid var(--col-gray-line);
  position: relative;
  transition: .3s color;
}

.p-list-link-lower a:not(.-textlink--detail)::after {
  content: '';
  display: flex;
  height: var(--size035);
  aspect-ratio: 1/1;
  border: 1px solid transparent;
  background: var(--ico-arrow2--blue) 50% 50% no-repeat;
  background-size: var(--size017) !important;
  border-radius: 50%;
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .p-list-link-lower a:not(.-textlink--detail)::after {
    height: max(3.4375vw, 22px);
    background-size: max(2.343vw, 15px) !important;
  }
}

.p-list-link-lower a:not(.-textlink--detail)[target*="_blank"]::after {
  background: var(--ico-blank--blue) 50% 50% no-repeat;
  background-size: var(--size018);
}

@media screen and (max-width: 767px) {
  .p-list-link-lower a:not(.-textlink--detail)[target*="_blank"]::after {
    background-size: max(1.5625vw, 10px) !important;
  }
}

.p-list-link-lower a:not(.-textlink--detail)::before {
  content: '';
  display: flex;
  height: var(--size035);
  aspect-ratio: 1/1;
  border: 1px solid #fff;
  background: #fff;
  background-size: var(--size017);
  border-radius: 50%;
  position: absolute;
  z-index: 0;
  right: 0;
  top: 0;
  transition: .3s background, .3s border-color;
}

@media screen and (max-width: 767px) {
  .p-list-link-lower a:not(.-textlink--detail)::before {
    height: max(3.4375vw, 22px);
  }
}

.p-list-link-lower a:not(.-textlink--detail):hover {
  color: var(--col-blue);
}

.p-list-link-lower a:not(.-textlink--detail):hover::after {
  background: var(--ico-arrow2) 50% 50% no-repeat;
  filter: invert(1);
}

.p-list-link-lower a:not(.-textlink--detail):hover[target*="_blank"]::after {
  background: var(--ico-blank) 50% 50% no-repeat;
}

.p-list-link-lower a:not(.-textlink--detail):hover::before {
  border-color: var(--col-blue);
  background: var(--col-blue);
}

.hl-mv-root {
  position: fixed;
  top: 52%;
  transform: translate(0, -50%);
  font-weight: bold;
  left: 6.5vw;
  z-index: 2;
  color: var(--col-white);
  text-shadow: 5px 5px 40px #051428;
  filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.4));
  transition: color .2s, text-shadow .2s, scale .2s;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .hl-mv-root {
    top: calc(.65 * 100vw);
  }
}

@media screen and (max-width: 767px) {
  .hl-mv-root {
    position: absolute;
    top: calc((100vw * 1.3) * .8);
  }
}

.hl-mv-root b {
  font-size: var(--size080);
  display: block;
  margin-bottom: var(--size015);
  font-weight: normal;
}

@media screen and (max-width: 1280px) {
  .hl-mv-root b {
    font-size: min(6vw, 80px);
  }
}

@media screen and (max-width: 767px) {
  .hl-mv-root b {
    font-size: min(9vw, 80px);
  }
}

.hero-txt {
  font-size: var(--size020);
}

@media screen and (max-width: 767px) {
  .hero-txt {
    font-size: var(--size018);
  }
}

@media screen and (min-width: 768px) {
  .hl-mv-root.is-colorcahnge {
    //color: var(--col-blue);
    text-shadow: 0 0 0 rgba(10, 39, 75, 0);
    filter: drop-shadow(0 0 6px rgba(255, 255, 255, 0.6));
    background: linear-gradient(45deg, #46A9DA, #31338B);
    -webkit-background-clip: text;
    color: transparent;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1024px) {
  .hl-mv-root.is-colorcahnge {
    scale: .7;
    transform-origin: left center;
    position: absolute;
    top: calc(1.1* 100vw);
  }
}

.c-toggle-box {
  margin: var(--size040) 0;
  padding: var(--size020) 0;
  border-top: 1px solid var(--col-blue-line);
  border-bottom: 1px solid var(--col-blue-line);
}

.c-toggle-box dt {
  display: flex;
}

.c-toggle-box dt .ico-toggle {
  aspect-ratio: 1/1;
  height: 100%;
  background: #000;
}


.b-toggle-simple {
  border-top: 1px solid var(--col-blue-light);
  padding: var(--size);
}

.block-grid-lower {
  display: flex;
  justify-content: space-between;
  padding: var(--size050) 2em 0 5em;
  position: relative;
}

@media screen and (max-width: 1024px) {
  .block-grid-lower {
    flex-direction: column;
    padding: 0 0 0 5vw;
    width: calc(100% + 4vw);
    position: relative;
    left: -4vw;
  }
}

.block-grid-lower::before {
  content: '';
  display: flex;
  width: 100%;
  height: var(--size100);
  border: 1px solid var(--col-blue-line);
  border-bottom: none;
  border-right: none;
  position: absolute;
  left: 0;
  top: 0;
  opacity: .4;
}

.block-grid-lower::after {
  content: '';
  display: flex;
  width: var(--size020);
  height: var(--size020);
  border: 3px solid var(--col-blue);
  border-bottom: none;
  border-right: none;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}


.block-grid-lower.-border-top {
  border-top: 1px solid var(--col-gray-light);
}

.block-grid-lower.-border-bottom {
  border-bottom: 1px solid var(--col-gray-light);
}

*+.block-grid-lower {
  margin-top: var(--size100);
}



.p-list-grid {
  display: grid;
  margin: 0 auto;
}

.p-list-grid.-row2 {
  grid-template-columns: 1fr 1fr;
  gap: 2px;
}


.box-nav.-anchor {
  font-size: var(--size016);
  margin: var(--size060) auto 0;
}


.p-list-library {
  font-size: var(--size016);
}

@media screen and (max-width: 767px) {
  .p-list-library {
    font-size: var(--size015);
  }
}

.p-list-library li {
  padding-left: .5em;
}

@media screen and (max-width: 767px) {
  .p-list-library li {
    padding: .5em 0 0;
  }
}

.p-list-library li:not(:first-of-type) {
  margin-top: 1em;
}

@media screen and (max-width: 767px) {
  .p-list-library li:not(:first-of-type) {
    margin-top: .5em;
  }
}

.p-list-library li:not(:last-of-type) {
  background-image: linear-gradient(to right, var(--col-gray-def), var(--col-gray-def) 4px, transparent 1px, transparent 6px);
  background-size: 8px 1px;
  background-position: left bottom;
  background-repeat: repeat-x;
  padding-bottom: 1em;
}

@media screen and (max-width: 767px) {
  .p-list-library li:not(:last-of-type) {
    padding-bottom: .5em;
  }
}

.p-list-library a {
  display: flex;
  align-items: center;
  font-weight: 600;
}

.p-list-library a .file-pdf {
  margin-left: auto;
  font-size: 90%;
  border-left: none;
  filter: grayscale(1);
  font-weight: 400;
}

.p-list-library a .file-pdf::before {
  scale: .8;
}

@media screen and (max-width: 767px) {
  .p-list-library a .file-pdf {
    font-size: 80%;
  }
}

.p-list-library a time {
  padding-left: 1.5em;
  font-size: 90%;
  font-weight: 400;
}

@media screen and (max-width: 767px) {
  .p-list-library a time {
    font-size: 80%;
    padding-left: .3em;
  }
}

summary {
  display: block;
  cursor: pointer;
}

summary::-webkit-details-marker {
  display: none;
}


.p-list-elements dt {
  font-size: var(--size022);
  border-left: 3px solid var(--col-blue-sub);
  margin-bottom: .75em;
  padding-left: 1em;
}

.p-list-elements dd {
  padding: 0 0 0 1.6em;
}

.p-list-elements div {
  margin-top: 3em;
}

.ch-data {
  padding: var(--size040) 0 var(--size120);
}

@media screen and (max-width: 767px) {
  .ch-data {
    padding-bottom: var(--size060);
  }
}

.ch-data:not(:nth-child(1)) {
  padding: var(--size100) 0 var(--size120);
}

@media screen and (max-width: 767px) {
  .ch-data:not(:nth-child(1)) {
    padding: var(--size060) 0;
  }
}

@media screen and (max-width: 767px) {
  .ch-data {
    padding-bottom: var(--size060);
  }
}

.ch-data .c-inner>hgroup {
  text-align: center;
  margin-bottom: var(--size030);
}

.ch-data .c-inner>hgroup .hl-chapter {
  font-size: var(--size040);
  margin-bottom: 15px;
  color: var(--col-blue);
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .ch-data .c-inner>hgroup .hl-chapter {
    font-size: var(--size030);
  }
}

@media screen and (min-width: 768px) {
  .ch-data .c-inner>hgroup .hl-chapter span {
    padding: 0 1em;
    position: relative;
  }

  .ch-data .c-inner>hgroup .hl-chapter span::before {
    content: '';
    display: flex;
    width: 5em;
    height: 1px;
    background: var(--col-gray-deep);
    position: absolute;
    right: 100%;
    top: 50%;
    opacity: .5;
  }

  .ch-data .c-inner>hgroup .hl-chapter span::after {
    content: '';
    display: flex;
    width: 5em;
    height: 1px;
    background: var(--col-gray-deep);
    position: absolute;
    left: 100%;
    top: 50%;
    opacity: .5;
  }
}

.ch-data .c-inner>hgroup .c-note {
  font-size: var(--size014);
}

.ch-data .c-inner>hgroup p:not(.c-note) {
  font-size: var(--size016);
  margin-top: 1.5em;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .ch-data .c-inner>hgroup p:not(.c-note) {
    text-align: left;
  }

  .ch-data .c-inner>hgroup p:not(.c-note) br {
    display: none;
  }
}

.ch-data .c-inner {
  width: var(--width-wide);
  margin: 0 auto;
}

.ch-data:nth-child(2n) {
  background: #ECF4FF;
}



.p-img-business_area {
  padding: 0;
  text-align: center;
  overflow: clip;
  position: relative;
  /* &::after {
	@include set-pseudo-selector;
	width: 60%;
	aspect-ratio: 1/1;
	border-radius: 50%;
	background: #e5ebf3;
	position: absolute;
	left: 50%;
	top: 50%;
	translate: -50% -50%;
	z-index: 0;
	opacity: .5;
} */
}

.p-img-business_area img {
  width: 100%;
  max-width: 520px;
  height: auto;
  position: relative;
  z-index: 2;
}





@media screen and (max-width: 1024px) {
  .opt-sp_scroll {
    overflow-x: auto;
    -ms-overflow-style: none;
  }

  .opt-sp_scroll>table {
    width: 1000px;
  }

  .opt-sp_scroll>table.-co2 {
    width: 100%;
    min-width: 800px;
  }

  .opt-sp_scroll>.p-data-group,
  .opt-sp_scroll>.p-distribute {
    width: 680px;
  }

  .opt-sp_scroll>canvas,
  .opt-sp_scroll>iframe {
    width: 940px !important;
    height: 500px !important;
  }


}

.opt-sp_scroll::-webkit-scrollbar {
  width: 100%;
  height: 8px;
}

.opt-sp_scroll::-webkit-scrollbar-track {
  margin: 8px 0 0;
  background: #D6DEE6;
}

.opt-sp_scroll::-webkit-scrollbar-thumb {
  border-radius: 10px;
  background: #476C9E;
}

.p-list-business_area {
  display: flex;
  flex-wrap: wrap;
  gap: .5em 1em;
  font-size: var(--size014);
  margin-bottom: 1em;
}

.p-list-business_area span {
  display: inline-block;
  border: 1px solid currentColor;
  padding: 7px 1.5em;
  border-radius: 3px;
  font-weight: 600;
}

.p-list-business_area span.label-ths {
  color: #249550;
}

.p-list-business_area span.label-reused {
  color: #A7466A;
}

.p-list-business_area span.label-oversea {
  color: #2B4E92;
}

.remodal-wrapper {
  background: rgba(80, 115, 160, 0.3);
  backdrop-filter: blur(2px);
}

.p-list-progress {
  display: flex;
  justify-content: space-between;
  position: relative;
  line-height: 1;
  font-size: 1rem;
  margin: 0 auto 4em;
  width: 88%;
  max-width: 640px;
}

@media screen and (max-width: 767px) {
  .p-list-progress {
    margin: 0 auto 2em;
  }
}

.p-list-progress li {
  display: flex;
  flex-direction: column;
  gap: .64em;
  align-items: center;
  color: var(--col-gray-deep);
  position: relative;
  z-index: 1;
}

.p-list-progress li::after {
  content: '';
  display: flex;
  width: 2em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 13px solid var(--col-gray-def);
  background: #fff;
}

.p-list-progress li.is-active {
  color: var(--col-blue);
}

.p-list-progress li.is-active::after {
  content: '';
  display: flex;
  border: none;
  background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2236%22%20height%3D%2236%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23003B87%22%20stroke-width%3D%222%22%20class%3D%22ai%20ai-CircleCheckFill%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M12%201C5.925%201%201%205.925%201%2012s4.925%2011%2011%2011%2011-4.925%2011-11S18.075%201%2012%201zm4.768%209.14a1%201%200%201%200-1.536-1.28l-4.3%205.159-2.225-2.226a1%201%200%200%200-1.414%201.414l3%203a1%201%200%200%200%201.475-.067l5-6z%22%2F%3E%3C%2Fsvg%3E") 50% 50% no-repeat;
  background-size: cover;
}

.p-list-progress li.is-processed::after {
  content: '';
  display: flex;
  border: none;
  background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2236%22%20height%3D%2236%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23003B87%22%20stroke-width%3D%222%22%20class%3D%22ai%20ai-CircleCheckFill%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M12%201C5.925%201%201%205.925%201%2012s4.925%2011%2011%2011%2011-4.925%2011-11S18.075%201%2012%201zm4.768%209.14a1%201%200%201%200-1.536-1.28l-4.3%205.159-2.225-2.226a1%201%200%200%200-1.414%201.414l3%203a1%201%200%200%200%201.475-.067l5-6z%22%2F%3E%3C%2Fsvg%3E") 50% 50% no-repeat;
  background-size: cover;
}

.p-list-progress::after {
  content: '';
  display: flex;
  width: 100%;
  height: 4px;
  background: var(--col-gray-def);
  position: absolute;
  z-index: -2;
  bottom: calc(1em - 2px);
}

.p-list-progress::before {
  content: '';
  display: flex;
  width: 0;
  height: 4px;
  background: var(--col-blue);
  position: absolute;
  z-index: -1;
  bottom: calc(1em - 2px);
}

.p-list-progress.-step2::before {
  width: 50%;
}

.p-list-progress.-step3::before {
  width: 100%;
}

.p-box_error {
  padding: .64em 1.6em;
  background: var(--col-red);
  color: #fff;
  text-align: center;
  border-radius: 5px;
  position: sticky;
  top: 4vh;
  z-index: 1;
  display: none;
}

.p-box_error.is-active {
  display: block;
}

/* header ------------------------------------------------ */
.l-header {
  width: 100%;
  position: absolute;
  z-index: 100;
  left: 0;
  top: 30px;
}

.l-header>.c-inner {
  margin: 0 0 0 var(--size060);
  display: flex;
  align-items: center;
}

@media screen and (max-width: 1024px) {
  .l-header>.c-inner {
    margin: -4px 0 0 4vw;
  }
}

.l-header>.c-inner nav {
  position: relative;
  margin-left: auto;
  padding-right: var(--size130);
}

@media screen and (max-width: 767px) {
  .l-header>.c-inner nav {
    padding-right: max(12.5vw, 90px);
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .l-header {
    top: 25px;
  }
}

@media screen and (max-width: 767px) {
  .l-header {
    top: 22px;
  }
}

.p-logo-header {
  height: var(--size050);
  position: relative;
  z-index: 10;
}

.p-logo-header img {
  height: 100%;
  width: auto;
}

@media screen and (max-width: 767px) {
  .p-logo-header {
    height: max(5vw, 38px);
  }
}

.is-fixed .p-logo-header {
  position: fixed;
}

@media only screen and (min-width: 1321px) {
  h1.p-logo-header:is(body:not(.is-fixed) h1) {
    position: relative;
    top: 5px;
  }

  h1.p-logo-header:is(body:not(.is-fixed) h1) img {
    height: var(--size070);
  }
}

.p-box-megamenu {
  position: absolute;
  width: 100%;
  right: 20px;
  z-index: -1;
  transform: scale(1, 0);
  transform-origin: center top;
}

.p-box-megamenu .c-inner {
  display: flex;
  background: var(--col-white);
  border-radius: 5px;
  transition: .3s;
  margin-top: 1em;
  border: 1px solid var(--col-gray-def);
}

.p-box-megamenu .row-content {
  width: 100%;
  padding: var(--size040);
}

.hl-megamenu {
  font-size: var(--size022);
  margin-bottom: .7em;
  font-weight: 600;
}

.hl-megamenu a {
  display: inline-flex;
  gap: .75em;
  position: relative;
  transition: .3s color;
}

.hl-megamenu a::before {
  content: '';
  display: flex;
  height: 1em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 1px solid var(--col-blue);
  background: var(--col-blue);
  top: 2px;
  right: 0;
  z-index: 0;
  position: absolute;
  transition: .3s background;
}

.hl-megamenu a::after {
  content: '';
  display: flex;
  height: 1em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: var(--ico-arrow--blue) 50% 50% no-repeat;
  background-size: 65% auto;
  position: relative;
  top: 2px;
  filter: invert(1) grayscale(1);
  transition: .3s filter;
}

.hl-megamenu a:is(.hl-megamenu:hover a) {
  color: var(--col-blue);
}

.hl-megamenu a:is(.hl-megamenu:hover a)::before {
  background: #fff;
}

.hl-megamenu a:is(.hl-megamenu:hover a)::after {
  filter: invert(0) grayscale(0);
}

.p-list-sitemap--child {
  font-size: var(--size015);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 0 var(--size025);
}

.p-list-sitemap--child li {
  border-bottom: 1px solid var(--col-gray-def);
}

.p-list-sitemap--child li a {
  display: flex;
  padding: var(--size020) 0 var(--size010) 0.5em;
  gap: 1em;
  transition: .3s color;
}

.p-list-sitemap--child li a::after {
  content: '';
  display: flex;
  height: .8em;
  aspect-ratio: 1/1;
  /* border-radius: 50%; */
  background: var(--ico-arrow2--blue) 50% 50% no-repeat;
  background-size: cover;
  position: relative;
  top: 2px;
  margin: 0 5px 0 auto;
  transition: .3s right;
  right: 5px;
}

.p-list-sitemap--child li a[target*="_blank"]::after {
  background: var(--ico-blank--blue) 50% 50% no-repeat;
  background-size: cover;
}

.p-list-sitemap--child li a:is(a:hover) {
  color: var(--col-blue);
}

.p-list-sitemap--child li a:is(a:hover)::after {
  right: 0;
}


.p-conversion_header {
  margin-left: auto;
  display: flex;
  font-size: var(--size013);
  gap: var(--size015);
}


.btn-menu {
  position: fixed;
  right: 0;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: var(--size100);
  aspect-ratio: 1/1;
  background: var(--col-blue);
  padding: var(--size025);
  z-index: 10;
  cursor: pointer;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .btn-menu {
    width: var(--size090);
  }
}

@media screen and (max-width: 767px) {
  .btn-menu {
    width: 70px;
  }
}

.btn-menu span {
  display: block;
  width: min(50%, 50px);
  height: 2px;
  background: var(--col-white);
  position: absolute;
  left: 50%;
  top: 0;
  transition: .3s ease;
}

.btn-menu span:nth-of-type(1) {
  transform: translate(-50%, 0);
  top: 38%;
}

.btn-menu span:nth-of-type(2) {
  transform: translate(-50%, 0);
  top: 48%;
}

.btn-menu::after {
  content: 'MENU';
  font-size: var(--size015);
  color: #fff;
  position: absolute;
  left: 50%;
  bottom: var(--size025);
  transform: translate(-50%, 0);
}

@media screen and (max-width: 767px) {
  .btn-menu::after {
    font-size: 10px;
  }
}

.btn-menu:is(.is-active)::after {
  content: 'CLOSE';
}

/* menu */
.mdl-gnav {
  position: fixed;
  z-index: 9;
  background: #fff;
  width: calc(100% - 16px);
  left: 8px;
  top: calc(8px - 30px);
  padding: calc(var(--size100) - 8px);
  scale: 1 0;
  transition: .3s scale, .3s box-shadow;
  transform-origin: left top;
  box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  max-height: 100svh;
  overflow: auto;
}

.mdl-gnav.is-active {
  scale: 1 1;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.mdl-gnav a {
  transition: .3s color;
}

.mdl-gnav a:hover {
  color: var(--col-blue);
}

@media screen and (max-width: 1024px) {
  .mdl-gnav {
    width: calc(100% - 10px);
    left: 5px;
    top: calc(5px - 25px);
    padding: calc(var(--size090) - 5px);
  }
}

@media screen and (max-width: 767px) {
  .mdl-gnav {
    padding: calc(70px - 5px);
    top: calc(5px - 22px);
    width: 100%;
    left: 0;
  }
}

@media (max-width: 600px) {
  .mdl-gnav {
    padding: calc(70px - 5px) 7vw;
  }
}

.mdl-gnav .b-grid-gnav {
  margin: 3em auto 0;
  padding: 0 8vw;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 5em;
}

@media screen and (max-width: 1280px) {
  .mdl-gnav .b-grid-gnav {
    padding: 0;
  }
}

@media screen and (max-width: 767px) {
  .mdl-gnav .b-grid-gnav {
    display: block;
  }
}

.mdl-gnav .b-grid-gnav .item-gnav02 {
  grid-column: 2/3;
  grid-row: 1/3;
}

.mdl-gnav .b-grid-gnav .item-gnav04 {
  grid-column: 1/2;
  grid-row: 2/3;
}

.mdl-gnav .hl-summery {
  font-weight: 600;
  position: relative;
}

.mdl-gnav .hl-summery a {
  display: flex;
  gap: 1em;
  align-items: center;
}

.mdl-gnav .hl-summery a[target*="_blank"]::after {
  content: '';
  display: flex;
  height: .8em;
  aspect-ratio: 1/1;
  background: var(--ico-blank--blue) 50% 50% no-repeat;
  background-size: cover;
}

@media screen and (min-width: 768px) {
  .mdl-gnav .hl-summery {
    font-size: var(--size018);
    border-bottom: 1px solid var(--col-gray-def);
    padding-bottom: .75em;
  }

  .mdl-gnav .hl-summery::before {
    content: '';
    display: flex;
    height: 3px;
    width: 1em;
    background: var(--col-blue);
    position: absolute;
    bottom: -2px;
    right: 0;
  }
}

@media screen and (max-width: 767px) {
  .mdl-gnav .hl-summery {
    font-size: var(--size018);
    border-top: 1px solid var(--col-gray-def);
    display: flex;
    align-items: center;
    padding: 0 .2em;
  }

  .mdl-gnav .hl-summery a {
    display: flex;
    padding: 1em 0;
  }

  .mdl-gnav .hl-summery .ico-toggle {
    padding-left: 1.5em;
    aspect-ratio: 1/1;
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2236%22%20height%3D%2236%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23728194%22%20stroke-width%3D%221%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20class%3D%22ai%20ai-Plus%22%3E%3Cpath%20d%3D%22M12%2020v-8m0%200V4m0%208h8m-8%200H4%22%2F%3E%3C%2Fsvg%3E") 50% 50% no-repeat;
    background-size: cover;
    margin-left: auto;
    cursor: pointer;
  }

  .mdl-gnav .hl-summery.is-open .ico-toggle {
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2236%22%20height%3D%2236%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23728194%22%20stroke-width%3D%221%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20class%3D%22ai%20ai-Minus%22%3E%3Cpath%20d%3D%22M20%2012H4%22%2F%3E%3C%2Fsvg%3E") 50% 50% no-repeat;
    background-size: cover;
  }
}

.mdl-gnav .b-detail ul {
  font-size: var(--size016);
  line-height: 1.2;
}

@media screen and (min-width: 768px) {
  .mdl-gnav .b-detail ul {
    margin-top: 1.5em;
  }
}

@media screen and (max-width: 767px) {
  .mdl-gnav .b-detail ul {
    scale: 1 0;
    transform-origin: left top;
    max-height: 0;
    overflow: hidden;
    font-size: 1px;
    transition: .2s scale;
  }

  .mdl-gnav .b-detail ul:is(.hl-summery.is-open + ul) {
    max-height: none;
    font-size: var(--size015);
    scale: 1 1;
    margin: .5em .2em 1.5em;
  }
}

.mdl-gnav .b-detail li {
  padding-left: .1em;
}

.mdl-gnav .b-detail li:is(li+li) {
  margin-top: 1em;
}

.mdl-gnav .b-detail li a {
  align-items: center;
  display: flex;
  gap: .7em;
}

.mdl-gnav .b-detail li a::before {
  content: '';
  display: flex;
  height: 1px;
  width: .5em;
  background: currentColor;
  opacity: .5;
}

.mdl-gnav .b-detail li a[target*="_blank"]::after {
  content: '';
  display: flex;
  height: .8em;
  aspect-ratio: 1/1;
  background: var(--ico-blank--blue) 50% 50% no-repeat;
  background-size: cover;
}

.mdl-gnav .b-others {
  padding-top: 3em;
}

@media screen and (max-width: 767px) {
  .mdl-gnav .b-others {
    padding-top: 0;
    border-bottom: 1px solid var(--col-gray-def);
    margin-bottom: 3em;
  }
}

@media screen and (min-width: 768px) {
  .mdl-gnav .b-others p:is(p+p) {
    margin-top: 1em;
  }
}

.mdl-gnav .b-sub-gnav {
  display: flex;
  align-items: center;
  margin: 0 auto;
  padding: 0 8vw;
}

@media screen and (max-width: 1280px) {
  .mdl-gnav .b-sub-gnav {
    padding: 0;
  }
}

@media screen and (max-width: 1024px) {
  .mdl-gnav .b-sub-gnav {
    flex-direction: column;
  }
}

.mdl-gnav .b-sub-gnav ul {
  font-size: var(--size013);
  display: flex;
  gap: 1.5em;
  margin-left: auto;
}

@media screen and (max-width: 1024px) {
  .mdl-gnav .b-sub-gnav ul {
    margin: 2em auto 0;
  }
}

@media (max-width: 600px) {
  .mdl-gnav .b-sub-gnav ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5em 2em;
  }
}

.mdl-gnav .b-sub-gnav .btn-round {
  font-size: var(--size016);
  padding: var(--size015) 0;
  width: auto;
}

.mdl-gnav .b-sub-gnav .btn-round span {
  display: inline-block;
  padding: 0 4em 0 2em;
}

.mdl-gnav .b-sub-gnav .btn-round span::after {
  top: 50%;
  translate: 0 -50%;
}

.l-overlay {
  width: 100%;
  height: 100svh;
  left: 0;
  top: 0;
  position: absolute;
  z-index: -1;
  scale: 0 0;
  background: rgba(80, 115, 160, 0);
  backdrop-filter: blur(0);
  transition: .3s background, .3s backdrop-filter;
}

@media screen and (min-width: 1025px) {
  .l-overlay {
    position: fixed;
    width: calc(100% - 16px);
    height: calc(100svh - 8px);
    left: 8px;
    top: 8px;
  }
}

.l-overlay:is(.mdl-gnav.is-active + div) {
  background: rgba(80, 115, 160, 0.6);
  backdrop-filter: blur(6px);
  scale: 1 1;
}

.l-overlay.is-show {
  background: rgba(225, 225, 235, 0.5);
  backdrop-filter: blur(3px);
  scale: 1 1;
}

/* footer ------------------------------------------------ */
.l-footer {
  border-top: 1px solid var(--col-blue-line);
  position: relative;
  z-index: 2;
  background: #fff;
}

.l-footer .c-inner {
  width: var(--width-wide);
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  padding: var(--size100) 0 var(--size030);
  gap: 0 7%;
}

@media screen and (max-width: 1280px) {
  .l-footer .c-inner {
    padding-top: var(--size080);
    flex-direction: column;
  }
}

@media (max-width: 600px) {
  .l-footer .c-inner {
    padding-top: var(--size050);
  }
}

.l-footer .row-header {
  width: var(--size350);
  position: relative;
}

@media screen and (max-width: 1280px) {
  .l-footer .row-header {
    width: 100%;
    display: flex;
    align-items: center;
    margin-bottom: 5em;
  }
}

@media (max-width: 600px) {
  .l-footer .row-header {
    flex-direction: column;
    margin-bottom: 2em;
  }
}

.l-footer .row-header .p-logo-footer img {
  width: var(--size280);
  height: auto;
}

@media (max-width: 600px) {
  .l-footer .row-header .p-logo-footer img {
    width: 45vw;
  }
}

@media (max-width: 600px) {
  .l-footer .row-header .p-logo-footer {
    order: 2;
  }
}

.l-footer .row-header .box-btn {
  margin-top: var(--size025);
  font-size: var(--size016);
  font-weight: 600;
  max-width: 300px;
}

@media screen and (max-width: 1280px) {
  .l-footer .row-header .box-btn {
    margin: 0 0 0 auto;
    max-width: 400px;
  }
}

@media (max-width: 600px) {
  .l-footer .row-header .box-btn {
    order: 1;
    margin: 0 0 3em;
    width: 80vw;
    max-width: none;
  }
}

@media screen and (max-width: 767px) {
  .l-footer .row-header .box-btn span {
    padding-top: .3em;
    padding-bottom: .3em;
  }
}

.l-footer .b-grid-sitemap {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 3em;
  flex: 1;
}

@media screen and (max-width: 767px) {
  .l-footer .b-grid-sitemap {
    display: block;
  }
}

.l-footer .item-sitemap02 {
  grid-column: 2/3;
  grid-row: 1/3;
}

.l-footer .item-sitemap04 {
  grid-column: 1/2;
  grid-row: 2/3;
}

.l-footer .box-sns {
  display: flex;
  align-items: center;
  font-size: var(--size015);
  gap: var(--size015);
}

.l-footer .box-sns dt {
  font-weight: 600;
  opacity: .7;
}

.l-footer .box-sns a {
  display: block;
}

.ico-youtube::before {
  content: '';
  display: block;
  width: var(--size050);
  aspect-ratio: 1/1;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2236%22%20height%3D%2236%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22currentColor%22%20stroke-width%3D%222%22%20class%3D%22ai%20ai-YoutubeFill%22%3E%3Cg%20clip-path%3D%22url(%23clip0_100_7)%22%3E%3Cpath%20d%3D%22M23.5%206.507a2.786%202.786%200%200%200-.766-1.27%203.05%203.05%200%200%200-1.338-.742C19.518%204%2011.994%204%2011.994%204a76.624%2076.624%200%200%200-9.39.47%203.16%203.16%200%200%200-1.338.76c-.37.356-.638.795-.778%201.276A29.09%2029.09%200%200%200%200%2012c-.012%201.841.151%203.68.488%205.494.137.479.404.916.775%201.269.371.353.833.608%201.341.743%201.903.494%209.39.494%209.39.494a76.8%2076.8%200%200%200%209.402-.47%203.05%203.05%200%200%200%201.338-.742c.37-.353.633-.792.765-1.27A28.38%2028.38%200%200%200%2024%2012.023a26.579%2026.579%200%200%200-.5-5.517zM9.602%2015.424V8.577l6.26%203.424-6.26%203.423z%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_100_7%22%3E%3Crect%20width%3D%2224%22%20height%3D%2224%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E") 50% 50% no-repeat;
  background-size: cover;
}



.c-parent--sitemap {
  font-size: var(--size017);
  font-weight: 600;
  border-top: 1px solid var(--col-blue-line);
  position: relative;
  position: relative;
}

.c-parent--sitemap::before {
  content: '';
  display: flex;
  width: 1.5rem;
  height: 1px;
  background: var(--col-blue);
  position: absolute;
  left: 0;
  top: -1px;
  z-index: 2;
}

.c-parent--sitemap a {
  display: block;
  padding: 1em 0 1.2em;
}

@media screen and (max-width: 767px) {
  .c-parent--sitemap a {
    padding: 1em .2em 1em;
    flex: 1;
  }
}

.c-parent--sitemap a:hover {
  color: var(--col-blue);
}

@media screen and (max-width: 767px) {
  .c-parent--sitemap {
    font-size: var(--size018);
    display: flex;
    align-items: center;
  }

  .c-parent--sitemap .ico-toggle {
    padding-left: 3em;
    aspect-ratio: 1 / 1;
    background: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2236%22%20height%3D%2236%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23728194%22%20stroke-width%3D%221%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20class%3D%22ai%20ai-Plus%22%3E%3Cpath%20d%3D%22M12%2020v-8m0%200V4m0%208h8m-8%200H4%22%2F%3E%3C%2Fsvg%3E) 50% 50% no-repeat;
    background-size: 50% auto;
    margin-left: auto;
    cursor: pointer;
  }

  .c-parent--sitemap.is-open .ico-toggle {
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2236%22%20height%3D%2236%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23728194%22%20stroke-width%3D%221%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20class%3D%22ai%20ai-Minus%22%3E%3Cpath%20d%3D%22M20%2012H4%22%2F%3E%3C%2Fsvg%3E") 50% 50% no-repeat;
    background-size: 50% auto;
  }
}

.c-list-branch--sitemap {
  font-size: var(--size015);
}

@media screen and (max-width: 767px) {
  .c-list-branch--sitemap {
    scale: 1 0;
    transform-origin: left top;
    max-height: 0;
    overflow: hidden;
    font-size: 1px;
    transition: .2s scale;
  }

  .c-list-branch--sitemap:is(.c-parent--sitemap.is-open + ul) {
    max-height: none;
    font-size: var(--size015);
    scale: 1 1;
    margin: 0 .2em 1em;
  }
}

.c-list-branch--sitemap li {
  display: flex;
  gap: 10px;
  /* &:is(li + li) { margin-top: .75em;		
	} */
}

.c-list-branch--sitemap li::before {
  content: '';
  display: flex;
  width: 8px;
  height: 1px;
  background: var(--col-default);
  margin: 1.1em 0 0 2px;
  opacity: .5;
}

.c-list-branch--sitemap li a {
  display: flex;
  padding: .5em 0;
  gap: .7em;
  align-items: start;
}

.c-list-branch--sitemap li a[target*="_blank"]::after {
  content: '';
  display: flex;
  width: .9em;
  aspect-ratio: 1/1;
  background: var(--ico-blank--blue) 50% 50% no-repeat;
  background-size: cover;
}

.c-list-branch--sitemap li a:hover {
  color: var(--col-blue);
}

.w-banner-footer {
  background: var(--col-blue);
  padding: var(--size030) 0;
}

@media screen and (max-width: 767px) {
  .w-banner-footer {
    padding: 0;
  }
}

.p-list-banner {
  display: flex;
  justify-content: center;
}

.p-list-banner a {
  display: block;
  padding: 0 var(--size030);
  transition: .3s opacity;
}

@media screen and (max-width: 767px) {
  .p-list-banner a {
    padding: var(--size015) var(--size030);
  }
}

.p-list-banner a:hover {
  opacity: .7;
}

.p-list-banner img {
  height: var(--size040);
  width: auto;
}

.p-list-banner li+li {
  border-left: 1px solid rgba(255, 255, 255, 0.2);
}

@media screen and (max-width: 767px) {
  .p-list-banner {
    flex-wrap: wrap;
    padding: 0;
  }

  .p-list-banner li {
    width: 50%;
    text-align: center;
  }

  .p-list-banner li:nth-of-type(3) {
    border-left: none;
  }

  .p-list-banner li:nth-of-type(3),
  .p-list-banner li:nth-of-type(4) {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
  }
}

.p-bottom-footer {
  padding-top: var(--size030);
  border-top: 1px solid var(--col-blue-line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

@media screen and (max-width: 1280px) {
  .p-bottom-footer {
    margin-top: var(--size060);
  }
}

@media screen and (max-width: 767px) {
  .p-bottom-footer {
    margin-top: 2em;
    flex-wrap: wrap;
    border: none;
  }
}

.p-bottom-footer small {
  font-size: var(--size013);
}

@media screen and (max-width: 767px) {
  .p-bottom-footer small {
    width: 100%;
    text-align: center;
    font-size: var(--size013);
  }
}

.p-list-link--footer {
  display: flex;
  font-size: var(--size013);
}

@media screen and (max-width: 767px) {
  .p-list-link--footer {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1em 4vw;
    width: 100%;
    margin-bottom: 2em;
  }

  .p-list-link--footer li {
    padding-bottom: .5em;
    border-bottom: 1px solid var(--col-blue-line);
  }
}

.p-list-link--footer a {
  display: block;
  padding: 0 var(--size015);
  transition: .3s opacity;
}

@media screen and (max-width: 767px) {
  .p-list-link--footer a {
    padding: 0 .5em;
  }
}

.p-list-link--footer a:hover {
  opacity: .7;
}

@media screen and (min-width: 768px) {
  .p-list-link--footer li+li {
    border-left: 1px solid var(--col-blue-line);
  }
}

/* unique */
/* CSS Document */
.l-mv-root {
  position: relative;
}

@media screen and (min-width: 768px) {
  .l-mv-root {
    position: fixed;
    z-index: -1;
    top: 0;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .l-mv-root {
    right: 5px;
    width: calc(100% - 5px);
  }
}

@media screen and (min-width: 1025px) {
  .l-mv-root {
    right: 8px;
    width: calc(100% - 8px);
  }
}

.l-mv-root .c-inner {
  width: 100%;
  display: flex;
  /* @include mq(tab) { height: calc(.9 * 84.8vw);         
}            
@include mq(sp) { height: calc(1.3 * 100svw);         
} */
}

@media screen and (min-width: 1025px) {
  .l-mv-root .c-inner {
    height: min(96vw, 960px);
  }
}

.l-mv-root .c-inner .c-img {
  width: 100vw;
  overflow: clip;
  margin-left: auto;
}

.l-mv-root .c-inner .c-img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  object-position: 50% 50%;
  object-position: 0% 35%;
}

@media screen and (min-width: 1025px) {
  .l-mv-root .c-inner .c-img {
    height: min(96vw, 960px);
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .l-mv-root .c-inner .c-img {
    aspect-ratio: 1 / .9;
  }
}

@media screen and (max-width: 767px) {
  .l-mv-root .c-inner .c-img {
    width: 100%;
    aspect-ratio: 1/1.3;
    max-height: 100svh;
  }
}

.l-mv-root::before {
  content: '';
  display: flex;
  height: 100%;
  width: 100%;
  position: absolute;
  right: 0;
  top: 0;
  backdrop-filter: saturate(0.6);
  z-index: 0;
  background: linear-gradient(-160deg, rgba(0, 59, 135, 0) 60%, rgba(0, 59, 135, 0.7) 130%);
}

@media screen and (max-width: 1024px) {
  .l-mv-root::before {
    background: linear-gradient(-155deg, rgba(0, 59, 135, 0) 35%, rgba(0, 59, 135, 0.7) 125%);
  }
}

.l-chapter-slogan {
  position: sticky;
  top: 0;
  z-index: 1;
}

@media screen and (max-width: 1024px) {
  .l-chapter-slogan {
    position: relative;
  }
}


.l-chapter-slogan .c-inner {
  margin: 0 auto;
  width: var(--width-semifull);
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .l-chapter-slogan .c-inner {
    padding: min(6vw, 80px) 0 0;
    height: auto;
    min-height: unset;
    flex-direction: column-reverse;
    width: 100%;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .l-chapter-slogan .c-inner {
    padding: var(--size100) 0 var(--size150) 0;
    width: auto;
    margin: 0 5vw 0 7vw;
  }
}

@media screen and (min-width: 1025px) {
  .l-chapter-slogan .c-inner {
    height: 100svh;
    min-height: 600px;
  }
}

.l-chapter-slogan .c-inner .row-img {
  width: 50%;
}

.l-chapter-slogan .c-inner .row-img img {
  height: min(44.65vw, 500px);
  width: auto;
  clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
  transition-delay: .4s;
  transition: .8s clip-path, .3s scale;
}

@media screen and (max-width: 767px) {
  .l-chapter-slogan .c-inner .row-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

@media screen and (max-width: 767px) {
  .l-chapter-slogan .c-inner .row-img {
    height: 44vw;
    width: 100%;
    overflow: clip;
    margin-top: var(--size080);
    border-top: 1px solid var(--col-blue-line);
    background: rgba(0, 0, 0, 0.05);
  }
}

.l-chapter-slogan .c-inner .row-text {
  width: 50%;
  position: relative;
}

.l-chapter-slogan .c-inner .row-text p {
  font-size: min(2.97vw, 19px);
  line-height: 2;
}

@media screen and (max-width: 1024px) {
  .l-chapter-slogan .c-inner .row-text p {
    font-size: min(1.76vw, 18px);
    line-height: 1.7;
  }

  .l-chapter-slogan .c-inner .row-text p br {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .l-chapter-slogan .c-inner .row-text p {
    font-size: min(3.4vw, 18px);
  }
}

.l-chapter-slogan .c-inner .row-text *+* {
  margin-top: var(--size040);
}

@media screen and (max-width: 767px) {
  .l-chapter-slogan .c-inner .row-text {
    width: 80%;
  }
}

.l-chapter-slogan::before {
  content: '';
  display: flex;
  width: 100%;
  height: 130%;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
  background: linear-gradient(rgba(232, 239, 245, 0) 0%, #e8eff5 100%);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(0);
  transition: background .25s, backdrop-filter .25s;
}

@media screen and (max-width: 1024px) {
  .l-chapter-slogan::before {
    height: 100%;
  }
}

.l-chapter-slogan.is-show .c-inner .row-img img {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

.l-chapter-slogan.is-show::before {
  backdrop-filter: blur(5px);
  background: linear-gradient(rgba(232, 239, 245, 0.1) 0%, rgba(232, 239, 245, 0.7) 30%, rgba(232, 239, 245, 0.9) 100%);
}

.l-chapter-business {
  position: relative;
  z-index: 2;
  background: #fff;
}

.l-chapter-business .c-inner {
  margin: 0 auto;
  width: var(--width-semifull);
  position: relative;
}

.l-chapter-business .p-list-lower_contents--large {
  margin-top: var(--size050);
}

@media screen and (max-width: 767px) {
  .l-chapter-business .p-list-lower_contents--large {
    margin-top: max(4.6785vw, 30px);
  }
}

@media screen and (max-width: 767px) {
  .l-chapter-business .box-link {
    text-align: center;
    font-size: max(2.7vw, 14px);
    margin-top: max(4.6785vw, 30px);
  }
}

@media screen and (min-width: 768px) {
  .l-chapter-business .box-link {
    position: absolute;
    top: 0;
    right: 0;
    font-size: var(--size016);
  }
}

.l-chapter-corporate {
  position: relative;
  background: #fff;
  z-index: 2;
  overflow: clip;
}

.l-chapter-corporate .c-header {
  position: relative;
}

.l-chapter-corporate .c-header .box-link {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 10;
  font-size: var(--size016);
}

.l-chapter-corporate .c-header .box-link a {
  color: #fff;
}

.l-chapter-corporate .c-header .box-link a::before {
  background: var(--ico-arrow--blue) 50% 50% no-repeat;
  background-size: var(--size015) auto !important;
  filter: invert(0);
}

.l-chapter-corporate .c-header .box-link a::after {
  background: #fff;
  border-color: #fff;
}

.l-chapter-corporate .c-header .box-link a:hover::before {
  background: var(--ico-arrow) 50% 50% no-repeat;
  filter: invert(1);
}

.l-chapter-corporate .c-header .box-link a:hover::after {
  background: transparent;
}

@media screen and (max-width: 767px) {
  .l-chapter-corporate .c-header .box-link {
    display: none;
  }
}

.l-chapter-corporate .c-inner {
  margin: 0 auto;
  width: var(--width-semifull);
}

.l-chapter-corporate .c-inner.-corporate {
  padding-top: var(--size130);
  position: relative;
  z-index: 3;
}

.l-chapter-corporate .c-inner.-corporate::before {
  content: '';
  display: flex;
  width: 104vw;
  aspect-ratio: 3/2;
  background: url("../../assets_img/root/bg-corporate.png") 50% 50% no-repeat;
  background-size: contain;
  position: absolute;
  left: 50%;
  top: calc(-1 * min(40vw, 820px));
  transform: translate(-50%, 0);
  z-index: -1;
  opacity: .5;
  mix-blend-mode: hard-light;
}

@media screen and (max-width: 767px) {
  .l-chapter-corporate .c-inner.-corporate::before {
    width: 120vw;
    top: calc(-1 * 36vw);
  }
}

.l-chapter-corporate .c-inner.-corporate.-dummy::before {
  background: url("../../assets_img/root/bg-corporate2.jpg") 50% 50% no-repeat;
  background-size: contain;
  mix-blend-mode: color-burn;
}

.l-chapter-corporate .c-inner.-corporate::after {
  content: '';
  display: flex;
  height: min(32.82vw, 510px);
  width: 112vw;
  background: var(--col-blue);
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, 0);
  z-index: -2;
}

@media screen and (max-width: 767px) {
  .l-chapter-corporate .c-inner.-corporate::after {
    height: 60vw;
  }
}

.l-chapter-corporate .-corporate .hl-content-title {
  color: #fff;
  position: relative;
  z-index: 2;
}

.l-chapter-corporate .-corporate .hl-content-title b,
.l-chapter-corporate .-corporate .hl-content-title span {
  color: #fff;
}

.l-chapter-corporate .-corporate .p-list-lower_contents--large {
  margin-top: var(--size050);
  position: relative;
  z-index: 2;
}

.l-chapter-recruit {
  position: relative;
  z-index: 4;
  margin-bottom: var(--size250);
}

.l-chapter-recruit .c-inner {
  display: flex;
  align-items: center;
  position: relative;
}

@media screen and (max-width: 767px) {
  .l-chapter-recruit .c-inner {
    flex-direction: column;
    padding: 0;
  }
}

.l-chapter-recruit .c-inner:is(.is-show) .row-img {
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}

.l-chapter-recruit .c-inner:is(.is-show) .row-img img {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

.l-chapter-recruit .c-inner:is(.is-show)::after {
  scale: 1 1;
}

.l-chapter-recruit .c-inner .row-img {
  width: 53.57%;
  overflow: hidden;
  position: relative;
  z-index: 5;
  background: var(--col-blue-light);
  transition: .5s box-shadow;
  transition-delay: .3s;
  box-shadow: 0 0 0 rgba(0, 0, 0, 0);
}

.l-chapter-recruit .c-inner .row-img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  object-position: 50% 50%;
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  transition: .3s clip-path;
}

@media screen and (max-width: 1280px) {
  .l-chapter-recruit .c-inner .row-img {
    max-height: 520px;
    width: 50%;
  }
}

@media screen and (max-width: 767px) {
  .l-chapter-recruit .c-inner .row-img {
    width: 100%;
    box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  }
}

.l-chapter-recruit .c-inner .row-text {
  top: var(--size090);
  width: 46.43%;
  padding: 8em 8em 8em 7em;
  position: relative;
}

.l-chapter-recruit .c-inner .row-text p {
  font-size: var(--size018);
  line-height: 1.67;
  margin: var(--size040) 0 var(--size050);
}

@media screen and (max-width: 1024px) {
  .l-chapter-recruit .c-inner .row-text p {
    display: none;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .l-chapter-recruit .c-inner .row-text {
    width: 50%;
    padding: max(6.25vw, 40px);
  }
}

@media screen and (max-width: 767px) {
  .l-chapter-recruit .c-inner .row-text {
    top: var(--size040);
    width: 100%;
    padding: 0 3vw;
  }
}

.l-chapter-recruit .c-inner::after {
  content: '';
  display: flex;
  height: 100%;
  width: 53.57%;
  background: var(--col-blue-light);
  position: absolute;
  right: 0;
  top: var(--size090);
  z-index: -1;
  scale: 0 1;
  transform-origin: left center;
  transition: .3s scale;
  transition-delay: .3s;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .l-chapter-recruit .c-inner::after {
    width: 55%;
  }
}

@media screen and (max-width: 767px) {
  .l-chapter-recruit .c-inner::after {
    width: 30vw;
    height: auto;
    aspect-ratio: 1/1;
    right: -5vw;
    top: 40vw;
  }
}

.l-chapter-topics {
  position: relative;
  background: #fff;
  z-index: 2;
  padding: var(--size072) 0 var(--size100);
}

.l-chapter-topics .c-header {
  margin: 0 auto var(--size040);
  width: var(--width-wide);
}

.l-chapter-topics::after {
  content: '';
  display: flex;
  height: 44%;
  width: 100%;
  background: var(--col-blue-light);
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, 0);
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .l-chapter-topics::after {
    height: 46vw;
  }
}

@media screen and (max-width: 767px) {
  .l-chapter-topics {
    padding-bottom: max(12.5vw, 80px);
  }
}

/* news */
.l-chapter-news {
  padding-top: var(--size130);
  position: relative;
}

@media screen and (max-width: 767px) {
  .l-chapter-news {
    padding: max(9.375vw, 60px) 0 max(5.3vw, 40px);
  }
}

.l-chapter-news .c-inner {
  margin: 0 auto;
  width: var(--width-default);
}

.l-chapter-news .p-list-news {
  margin-top: var(--size050);
}

@media screen and (max-width: 767px) {
  .l-chapter-news .p-list-news {
    margin-top: max(4.69vw, 30px);
  }
}

.l-chapter-news .box-btn {
  margin-top: 3.2em;
}

@media screen and (max-width: 767px) {
  .l-chapter-news .box-btn {
    margin-top: max(4.69vw, 30px);
  }
}

.l-chapter-news::after {
  content: '';
  display: flex;
  height: calc(100% + var(--size250));
  width: 100%;
  background: var(--col-blue-light);
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
}

.b-bnr-sub {
  width: var(--width-default);
  margin: 10em auto 5em;
}

@media screen and (max-width: 767px) {
  .b-bnr-sub {
    width: auto;
    margin: 6em auto 0;
  }
}

.b-bnr-sub .p-list-topics {
  margin: 0 var(--size045) 3em;
}

@media screen and (max-width: 767px) {
  .b-bnr-sub .p-list-topics {
    margin-bottom: 1.5em;
  }
}


/* CSS Document */
.l-main-busines_index {
  margin-top: var(--size080);
}

@media screen and (max-width: 1024px) {
  .l-main-busines_index {
    margin-top: var(--size050);
  }
}

.l-chapter-busines_index {
  height: 100svh;
  margin-bottom: var(--size300);
  position: sticky;
  top: 0;
  background: #fff;
  /* &::after {
	@include set-pseudo-selector;
	height: 100%;
	width: 50%;
	position: absolute;
	left: 0;
	top: 0;
	opacity: 1;
	background: var(--col-blue-line);
	z-index: 0;
}*/
}

@media screen and (max-width: 1280px) {
  .l-chapter-busines_index {
    position: relative;
    height: auto;
    margin-bottom: 0;
    z-index: 2;
  }
}

.l-chapter-busines_index:not(:first-of-type) {
  box-shadow: 0 -30px 30px rgba(0, 0, 0, 0.1);
}

.l-chapter-busines_index:nth-of-type(4) {
  margin-bottom: 80px;
}

@media screen and (max-width: 767px) {
  .l-chapter-busines_index:nth-of-type(4) {
    margin-bottom: 0;
  }
}

.l-chapter-busines_index .c-inner {
  margin: 0 auto;
  height: 100svh;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 5;
}

@media screen and (max-width: 1280px) {
  .l-chapter-busines_index .c-inner {
    flex-direction: column;
    height: auto;
  }
}

.l-chapter-busines_index .c-inner .c-text {
  width: 50%;
  padding-left: 6vw;
  margin-left: auto;
}

@media screen and (max-width: 1280px) {
  .l-chapter-busines_index .c-inner .c-text {
    width: 100%;
    padding: 10vw 8vw 0;
    background: rgba(255, 255, 255, 0.9);
    z-index: 2;
    height: 65vw;
    backdrop-filter: blur(10px);
  }
}

@media screen and (max-width: 767px) {
  .l-chapter-busines_index .c-inner .c-text {
    padding: 15vw 9vw 0;
    height: 110vw;
  }
}

.l-chapter-busines_index .c-inner .c-img {
  overflow: clip;
}

@media screen and (min-width: 1281px) {
  .l-chapter-busines_index .c-inner .c-img {
    position: absolute;
    left: 0;
    top: 0;
    transform: translate(0, 0);
    z-index: -1;
    width: 50%;
    height: 90vh;
  }
}

@media screen and (max-width: 1280px) {
  .l-chapter-busines_index .c-inner .c-img {
    position: sticky;
    width: 100%;
    height: 65vw;
    z-index: 1;
    left: 0;
    top: 0;
  }
}

@media screen and (max-width: 767px) {
  .l-chapter-busines_index .c-inner .c-img {
    height: 110vw;
  }
}

.l-chapter-busines_index .c-inner .c-img img:not(.c-brand_logo) {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.l-chapter-busines_index .c-inner .c-img img:not(.c-brand_logo):is(#tg-chapter04 img:not(.c-brand_logo)) {
  object-position: center center;
}


.l-chapter-busines_index .ff-en {
  font-size: min(10vw, 140px);
  position: absolute;
  z-index: 6;
  left: 2.5vw;
  bottom: 4vh;
  line-height: .9;
  letter-spacing: -.02em;
  color: #554;
  mix-blend-mode: difference;
  font-weight: 100;
  opacity: .5;
}

@media screen and (max-width: 1280px) {
  .l-chapter-busines_index .ff-en {
    top: calc(65vw - 1em);
    bottom: auto;
    color: #fff;
    opacity: 1;
    mix-blend-mode: unset;
  }

  .l-chapter-busines_index .ff-en br {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .l-chapter-busines_index .ff-en {
    top: calc(110vw - 1em);
  }
}

.l-chapter-busines_index .hl-large {
  font-size: var(--size045);
  line-height: 1.5;
  font-weight: bold;
  white-space: nowrap;
}

@media screen and (max-width: 767px) {
  .l-chapter-busines_index .hl-large {
    line-height: 1.4;
    font-size: 7.2vw;
  }
}

.l-chapter-busines_index .hl-lower_contents-title {
  font-size: var(--size022);
  font-weight: 600;
  margin-bottom: .6em;
  letter-spacing: .1em;
  color: var(--col-blue);
}

.l-chapter-busines_index .hl-lower_contents-title.-narrow {
  letter-spacing: 0;
}

@media screen and (max-width: 767px) {
  .l-chapter-busines_index .hl-lower_contents-title {
    margin-bottom: 1em;
  }
}

.l-chapter-busines_index .p-list-link-lower {
  margin-top: 4em;
  gap: 2em;
}

.l-chapter-busines_index .p-list-link-lower li {
  width: auto;
}

@media screen and (min-width: 1281px) {
  .l-chapter-busines_index .p-list-link-lower {
    max-width: 640px;
    margin-right: 7vw;
  }
}

@media screen and (max-width: 767px) {
  .l-chapter-busines_index .p-list-link-lower {
    grid-template-columns: 1fr;
    gap: 1.5em;
  }
}

.l-chapter-busines_index .p-list-link-lower a {
  padding-bottom: var(--size010);
}

.w-mv-service--detail {
  position: relative;
  margin: 0 auto;
}

.w-mv-service--detail:not(.-noimage) {
  /* margin-left: calc(var(--size110) - 8px); */
  height: min(56vw, 600px);
  overflow: clip;
}

@media screen and (max-width: 767px) {
  .w-mv-service--detail:not(.-noimage) {
    height: 92vw;
  }
}

.w-mv-service--detail:not(.-noimage)>.c-img {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
}

.w-mv-service--detail:not(.-noimage)>.c-text {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 2;
  left: 0;
  top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.w-mv-service--detail.-noimage {
  padding: var(--size080) 0 var(--size060);
}

.w-mv-service--detail.-noimage *+.box-anchor {
  margin-top: var(--size050);
}

.mv-chapter--business {
  width: 100%;
  height: min(60vw, 600px);
  margin: 0 auto;
  overflow: clip;
}

@media screen and (max-width: 767px) {
  .mv-chapter--business {
    height: 75vw;
  }
}

.mv-chapter--business img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  object-position: 50% 50%;
}

.hl-service--detail {
  display: flex;
  justify-content: center;
  align-content: center;
  flex-direction: column;
  text-align: center;
}

.hl-service--detail>b {
  line-height: 1;
  font-size: var(--size070);
  font-weight: 600;
  display: block;
  letter-spacing: .1em;
  padding-left: .1em;
}

@media screen and (max-width: 767px) {
  .hl-service--detail>b {
    line-height: 1.2;
    font-size: var(--size060);
  }
}

.hl-service--detail>b.-small {
  font-size: var(--size060);
  letter-spacing: 0;
}

@media screen and (max-width: 767px) {
  .hl-service--detail>b.-small {
    font-size: var(--size055);
  }
}

.hl-service--detail>span {
  display: block;
}

.hl-service--detail>span.c-shoulder {
  margin: 0 auto 1em;
  font-size: var(--size020);
}

.hl-service--detail>span.ff-en {
  font-size: var(--size025);
  display: block;
  margin-top: 1em;
  opacity: .8;
}

.w-mv-service--detail:not(.-noimage) .hl-service--detail {
  color: var(--col-white);
}

.w-mv-service--detail:not(.-noimage) .hl-service--detail strong {
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}

.w-mv-service--detail.-noimage .hl-service--detail strong {
  color: var(--col-blue);
}

.w-mv-service--detail.-noimage .hl-service--detail span.ff-en {
  opacity: .5;
}

.l-chapter-concept+.l-chapter-concept {
  margin-top: var(--size200);
}

.c-head-chapter--business {
  width: var(--width-default);
  position: relative;
  z-index: 2;
  margin: 0 auto;
  display: flex;
  flex-direction: row-reverse;
  align-items: start;
  gap: 5vw;
  padding: var(--size080) 0 var(--size100);
}

@media screen and (max-width: 767px) {
  .c-head-chapter--business {
    margin-top: -10vw;
    flex-direction: column;
    padding: 0 0 var(--size060);
    align-items: end;
  }
}

.c-head-chapter--business .row-text {
  flex: 1;
  position: relative;
}

.c-head-chapter--business .row-text p {
  font-size: var(--size018);
  line-height: 1.8;
  opacity: .85;
}

@media screen and (max-width: 1024px) {
  .c-head-chapter--business .row-text p br {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .c-head-chapter--business .row-text p {
    line-height: 1.7;
  }
}

.c-head-chapter--business .row-text *+p {
  margin-top: 1em;
}

.c-head-chapter--business .row-text .box-readtext {
  padding: 0 0 0 3em;
  margin-left: .5em;
  border-left: 1px solid var(--col-gray-def);
  position: relative;
}

@media screen and (max-width: 767px) {
  .c-head-chapter--business .row-text .box-readtext {
    width: 100%;
    padding: 0 0 0 2em;
  }
}

.c-head-chapter--business:not(.-overlap) .box-readtext {
  width: 125%;
}

@media screen and (max-width: 767px) {
  .c-head-chapter--business:not(.-overlap) .box-readtext {
    width: 100%;
  }
}

.c-head-chapter--business .p-logo-brand {
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  margin: 0;
  width: min(15vw, 200px);
  position: relative;
}

.c-head-chapter--business .p-logo-brand>img {
  width: 100%;
  height: 100%;
}

.c-head-chapter--business .p-logo-brand.-border {
  border: 1px solid var(--col-blue-light);
}

@media screen and (max-width: 767px) {
  .c-head-chapter--business .p-logo-brand {
    width: 20vw;
  }
}

.c-head-chapter--business.-overlap {
  padding: 0 0 var(--size100);
  margin-top: -6em;
  align-items: end;
}

.c-head-chapter--business.-overlap .row-text::after {
  content: '';
  display: flex;
  height: 100%;
  width: 200%;
  position: absolute;
  right: 10em;
  top: -5em;
  background: #fff;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .c-head-chapter--business.-overlap .row-text::after {
    display: none;
  }
}

.hl-copy-brand {
  font-size: var(--size032);
  line-height: 1.6;
  margin-bottom: 1.6em;
  font-weight: 600;
}

@media screen and (max-width: 767px) {
  .hl-copy-brand {
    /* font-size: var(--size028); */
    font-size: 5vw;
  }
}

.hl-copy-brand>b {
  color: var(--col-blue);
  position: relative;
  top: 5px;
  margin-left: 5px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  gap: 2px;
}

.hl-copy-brand>b::before,
.hl-copy-brand>b::after {
  content: '';
  display: flex;
  height: 1em;
  aspect-ratio: .5/1;
  background: var(--ico-arrow--blue_w1) 50% 50% no-repeat;
  background-size: cover;
}

.hl-copy-brand>b::before {
  transform: rotate(180deg);
}

.w-data-group {
  padding: var(--size070) 0;
  position: relative;
}

@media screen and (max-width: 1024px) {
  .w-data-group .opt-sp_scroll {
    width: 92%;
    margin: 0 auto;
  }
}

@media screen and (max-width: 767px) {
  .w-data-group {
    padding: var(--size050) 11vw;
  }

  .w-data-group:not(.-noresize) {
    padding: 0 0 var(--size070);
  }

  .w-data-group .opt-sp_scroll {
    width: 100%;
    padding-bottom: 1.5em;
  }
}

.w-data-group::after {
  content: '';
  display: flex;
  width: min(90vw, calc(100% - (var(--size100) - 8px) * 2));
  height: 100%;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, 0);
  background: var(--col-blue-light);
  z-index: -1;
}

@media screen and (max-width: 1024px) {
  .w-data-group::after {
    width: 90vw;
  }
}

@media screen and (max-width: 767px) {
  .w-data-group::after {
    width: 88%;
    height: calc(100% - var(--size070));
  }
}

.w-data-group .c-notice {
  font-size: var(--size014);
  margin-top: 1.5em;
}

.w-data-group hgroup {
  text-align: center;
  margin-bottom: var(--size050);
}

@media screen and (max-width: 767px) {
  .w-data-group hgroup {
    margin-bottom: 0;
    padding-top: 2.5em;
  }
}

.w-data-group hgroup .hl-chapter {
  color: var(--col-blue);
  font-size: var(--size030);
  margin-bottom: 0;
}

.w-data-group hgroup .hl-chapter>span::after {
  background: var(--col-blue-sub);
  opacity: .7;
}

@media screen and (max-width: 767px) {
  .w-data-group hgroup .hl-chapter {
    font-size: min(4.8vw, 25px);
  }
}

.w-data-group hgroup p {
  font-size: var(--size018);
  line-height: 1.6;
  font-weight: 600;
  margin: 1.5em auto;
}

@media screen and (max-width: 767px) {
  .w-data-group hgroup p {
    font-size: var(--size016);
    text-align: left;
  }

  .w-data-group hgroup p br {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .w-data-group.-noresize hgroup {
    padding-top: 0;
  }
}

@media screen and (max-width: 1280px) {
  .w-data-group.-noresize::after {
    width: 92vw;
    height: 100%;
  }
}

.w-data-group .box-btn {
  margin-top: 4em;
}

.w-data-group .box-btn .-textlink--detail {
  font-size: var(--size018);
}

@media screen and (max-width: 767px) {
  .w-data-group .box-btn:not(.-no_position) {
    width: 100%;
    margin: 0;
    padding: 0 2em;
    position: absolute;
    bottom: calc(-1 * var(--size070));
  }

  .w-data-group .box-btn:not(.-no_position) .c-notice {
    margin-top: 1em;
  }
}

@media screen and (max-width: 767px) {
  .w-data-group .box-btn.-no_position {
    margin-top: 0;
    padding-top: 1.5em;
    background: #fff;
  }
}

.p-data-group {
  width: var(--width-default);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .p-data-group:not(.-noresize) {
    grid-template-columns: 1fr;
  }
}

.-noresize .p-data-group:not(.-noresize) {
  width: 100%;
}

.-grayscale {
  filter: grayscale(1);
}


.p-distribute {
  width: var(--width-default);
  display: flex;
  align-items: center;
  margin: var(--size025) auto;
  position: relative;
  z-index: 2;
  font-size: var(--size018);
}

.p-distribute:first-of-type {
  margin-top: var(--size050);
}

.p-distribute>div {
  width: calc((100% - 4px) / 3);
  text-align: center;
}

.p-distribute>div span {
  display: inline-block;
}



.p-distribute>div.c-strengths span {
  font-weight: 600;
  font-size: var(--size022);
  color: var(--col-yellow);
  padding: var(--size010) var(--size015);
  width: 8em;
  border: 2px solid var(--col-yellow);
  background: #fff;
}

.p-distribute>div.c-weakness span {
  font-size: var(--size016);
  padding: var(--size010) var(--size015);
  width: 10em;
  border: 2px solid transparent;
  background: var(--col-gray-deep);
  color: #fff;
}

.p-data-group+.p-distribute {
  margin-top: 2em;
}


.p-voice-list {
  display: flex;
  justify-content: center;
  gap: var(--size050);
}


.l-mv-sustainability {
  background: url("../../assets_img/sustainability/bg_mv_sustainability.webp") 50% 0 no-repeat;
  background-size: contain;
  padding: min(35.7vw, 400px) 0 0;
}

@media screen and (max-width: 1024px) {
  .l-mv-sustainability {
    background-size: 140% auto;
  }
}

.l-mv-sustainability .c-inner {
  width: var(--width-default);
  padding: var(--size050) 0 var(--size120);
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 1024px) {
  .l-mv-sustainability .c-inner {
    width: 100%;
    padding: var(--size050) 1vw var(--size120);
  }
}

.l-mv-sustainability .c-inner>* {
  position: relative;
  z-index: 2;
}

.l-mv-sustainability .c-inner p {
  font-size: var(--size020);
  line-height: 2;
  margin-top: 1.5em;
}

@media screen and (max-width: 767px) {
  .l-mv-sustainability .c-inner p {
    font-size: var(--size015);
  }
}

.l-mv-sustainability .c-inner::after {
  content: '';
  display: flex;
  box-shadow: 0 -40px 20px rgba(0, 0, 0, 0.05);
  background: rgba(255, 255, 255, 0.8);
  border-radius: var(--size040) var(--size040) 0 0;
  border: 1px solid #fff;
  width: 100%;
  height: 75%;
  position: absolute;
  left: 50%;
  top: 0;
  z-index: 0;
  transform: translate(-50%, 0);
}

.hl-copy-sustainability {
  display: inline-block;
  text-align: center;
  font-size: var(--size040);
  line-height: 1.45;
  padding: .75em 0 .75em .85em;
  position: relative;
}

@media screen and (max-width: 1024px) {
  .hl-copy-sustainability {
    font-size: min(4.8vw, 40px);
  }
}

.hl-copy-sustainability::before {
  content: '';
  display: flex;
  width: var(--size035);
  height: var(--size035);
  border-top: 1px solid currentColor;
  border-left: 1px solid currentColor;
  position: absolute;
  left: 0;
  top: 0;
  opacity: .5;
}

@media screen and (max-width: 1024px) {
  .hl-copy-sustainability::before {
    width: var(--size020);
    height: var(--size020);
  }
}

.hl-copy-sustainability::after {
  content: '';
  display: flex;
  width: var(--size035);
  height: var(--size035);
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  position: absolute;
  right: 0;
  bottom: 0;
  opacity: .5;
}

@media screen and (max-width: 1024px) {
  .hl-copy-sustainability::after {
    width: var(--size020);
    height: var(--size020);
  }
}

.l-chapter-about_policy {
  width: var(--width-wide);
  margin: var(--size150) auto 0;
  position: relative;
  border-radius: var(--size010);
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .l-chapter-about_policy {
    margin: var(--size120) auto 0;
    width: 100%;
    border-radius: 0;
  }
}

.l-chapter-about_policy>.c-inner {
  margin: 0 auto;
  width: min(86%, 800px);
  padding: var(--size080) 0;
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 1024px) {
  .l-chapter-about_policy>.c-inner {
    padding: var(--size060) 0;
  }
}

.l-chapter-about_policy p {
  font-size: var(--size017);
  line-height: 1.685;
}

*+.l-chapter-about_policy p {
  margin-top: 1.2em;
}

*+.l-chapter-about_policy p.box-link {
  margin-top: 2em;
  font-size: var(--size020);
  font-weight: 600;
}

@media screen and (max-width: 1024px) {
  *+.l-chapter-about_policy p.box-link {
    margin-top: 1em;
  }
}

.l-chapter-about_policy::before {
  content: '';
  display: flex;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: url("../../assets_img/business/common/bg-voice-filter.webp") 50% 50% no-repeat;
  background-size: cover;
  z-index: 1;
  mix-blend-mode: luminosity;
}

.l-chapter-about_policy::after {
  content: '';
  display: flex;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: var(--col-blue-light);
  z-index: 0;
}



.l-main-content.-sustainability {
  overflow: clip;
}


@media screen and (min-width: 768px) {
  .l-main-content.-sustainability .box-flex {
    display: flex;
    justify-content: space-between;
    border-top: 1px solid var(--col-gray-def);
    padding: var(--size050) 0 0;
    margin-left: min(16.7vw, 240px);
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .l-main-content.-sustainability .box-flex {
    margin-left: 0;
  }
}


/* 記事ページ */
.b-head-chapter--article {
  position: relative;
  margin: 0 auto var(--size040);
  z-index: 4;
}

.b-head-chapter--article .b-img {
  width: var(--width-wide);
  height: min(50vw, 450px);
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.b-head-chapter--article .b-img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  object-position: 50% 50%;
}

@media screen and (max-width: 1024px) {
  .b-head-chapter--article .b-img {
    width: 100%;
  }
}


.-recruit .l-title-content {
  position: relative;
  z-index: 1;
  background: rgba(255, 255, 255, 0.8);
}

.-recruit .l-crumb-footer {
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .-recruit .l-crumb-footer {
    margin-top: -3.7em;
  }
}


.b-head-chapter--interview {
  position: relative;
  z-index: 4;
}

.b-head-chapter--interview .b-img {
  width: var(--width-wide);
  height: min(50vw, 500px);
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .b-head-chapter--interview .b-img {
    height: min(64vw, 390px);
  }
}

.b-head-chapter--interview .b-img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  object-position: 50% 50%;
}

.b-head-chapter--interview .b-img::after {
  content: '';
  display: flex;
  height: 105%;
  width: 150%;
  position: absolute;
  right: 10%;
  top: 50%;
  opacity: 1;
  background: var(--col-blue-light);
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .b-head-chapter--interview .b-img::after {
    height: 100%;
    top: 25%;
  }
}

.b-head-chapter--interview .b-text {
  width: var(--width-default);
  margin: 0 auto;
  position: relative;
  z-index: 2;
  padding: var(--size040) 0 var(--size050);
}

.b-head-chapter--interview .b-text .fs-smaller {
  margin-top: 10px;
  opacity: .7;
}

.hl-copy-interview {
  font-size: var(--size040);
  line-height: 1.5;
  letter-spacing: -.02em;
  font-weight: 600;
}

@media screen and (max-width: 767px) {
  .hl-copy-interview {
    font-size: var(--size032);
  }

  .hl-copy-interview br {
    display: none;
  }
}

.c-text-name {
  font-size: var(--size017);
  margin: 2em 0 0;
}

@media screen and (max-width: 767px) {
  .c-text-name {
    margin: 1.5em 0 0;
  }
}

.c-text-name span {
  opacity: .85;
}

.c-text-name strong {
  font-size: var(--size022);
  padding-left: 1em;
  font-weight: normal;
}

.hl-chapter.-decorative {
  font-size: var(--size100);
  color: var(--col-blue-light);
  font-weight: 200;
  line-height: 1;
  margin-bottom: -1.5em;
  position: relative;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .hl-chapter.-decorative {
    font-size: var(--size080);
    margin-bottom: -1.2em;
  }
}

.hl-chapter.-decorative:not(.-align-center) {
  width: 114%;
  position: relative;
  left: -7%;
}

@media screen and (min-width: 768px) {
  .hl-chapter.-decorative.-align-center {
    margin-bottom: -2.1em;
    white-space: nowrap;
  }
}

@media screen and (max-width: 1024px) {
  .hl-chapter.-decorative.-align-center {
    font-size: var(--size080);
  }
}

@media screen and (max-width: 767px) {
  .hl-chapter.-decorative.-align-center {
    margin-bottom: -1.20em;
  }
}

.c-img-interview {
  text-align: center;
  margin: 2.5em 0;
  opacity: 0;
  translate: 0 20px;
  transition: .3s opacity, .3s translate;
}

.c-img-interview img {
  width: min(60vw, 500px);
  height: auto;
}

@media screen and (max-width: 767px) {
  .c-img-interview img {
    width: min(100%, 500px);
  }
}

.c-img-interview img.-size-vertical {
  height: min(60vw, 500px);
  width: auto;
}

@media screen and (max-width: 767px) {
  .c-img-interview img.-size-vertical {
    height: min(72vw, 500px);
  }
}

.c-img-interview:is(div.is-show) {
  opacity: 1;
  translate: 0 0;
}



.c-img-interview.-flex {
  display: flex;
  flex-wrap: wrap;
  gap: 0 var(--size030);
}

.c-img-interview.-flex img {
  width: calc((100% - var(--size030)) / 2);
}

.-advice .c-img-interview {
  margin-bottom: 0;
}

.c-img-schedule {
  text-align: center;
}

.c-img-schedule img {
  max-width: 100%;
  height: auto;
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  transition: .3s clip-path, .3s scale;
}

.c-img-schedule img:is(div.is-show img) {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

.l-event-subtop {
  background: var(--col-white);
  margin: 0 auto;
  padding: var(--size120) 0 0;
  position: relative;
}

@media screen and (max-width: 767px) {
  .l-event-subtop {
    padding: 15vw 0 40vw;
  }
}

.l-event-subtop .c-header {
  margin-bottom: var(--size060);
  position: relative;
  z-index: 1;
  padding: 0 8vw;
}

.l-event-subtop .c-header p {
  font-size: var(--size017);
  line-height: 1.4;
}

.l-event-subtop::before {
  content: 'EVENT PHOTO';
  letter-spacing: -.05em;
  font-family: poppins, sans-serif;
  font-size: var(--size120);
  color: var(--col-blue-light);
  z-index: -1;
  font-weight: 100;
  text-align: center;
  display: block;
  line-height: 1;
  margin-bottom: -.4em;
}

@media screen and (max-width: 767px) {
  .l-event-subtop::before {
    font-size: 14vw;
  }
}

.l-event-subtop::after {
  content: '';
  display: flex;
  height: 70%;
  width: 100%;
  position: absolute;
  left: 0;
  bottom: -40%;
  opacity: 1;
  background: var(--col-blue-light);
  z-index: 0;
}

@media screen and (max-width: 767px) {
  .l-event-subtop::after {
    height: 85%;
  }
}

.l-event-subtop .box-btn {
  position: relative;
  z-index: 2;
  margin-top: var(--size090);
}

@media screen and (max-width: 767px) {
  .l-event-subtop .box-btn {
    margin-top: var(--size070);
  }
}


.p-sticky-nav--recruit {
  position: absolute;
  bottom: 0;
  right: 0;
  white-space: nowrap;
}

.p-sticky-nav--recruit ul {
  font-size: var(--size022);
  background: var(--col-blue);
}

.p-sticky-nav--recruit ul a {
  color: var(--col-white);
  display: flex;
  align-items: center;
  gap: 2em;
  padding: var(--size025) var(--size030);
  overflow: clip;
  position: relative;
  transition: .3s background;
}

@media screen and (max-width: 767px) {
  .p-sticky-nav--recruit ul a {
    gap: 1em;
    padding: var(--size020) var(--size025);
  }
}

.p-sticky-nav--recruit ul a::after {
  content: '';
  display: flex;
  height: var(--size030);
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: var(--ico-arrow2) 50% 50% no-repeat;
  background-size: var(--size013) auto;
  border: 1px solid var(--col-default);
  filter: invert(1);
}

.p-sticky-nav--recruit ul a::before {
  content: '';
  display: flex;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 0;
  left: 0;
  top: 0;
  background: #fff;
  scale: 0 1;
  transform-origin: right center;
  transition: .3s scale;
  opacity: .15;
}

.p-sticky-nav--recruit ul a:is(a:hover)::before {
  scale: 1 1;
  transform-origin: left center;
}

.p-sticky-nav--recruit ul a span {
  position: relative;
  z-index: 1;
}

.p-sticky-nav--recruit ul li+li {
  border-top: 1px solid #fff;
}


.box-item-example .hl-item {
  margin-bottom: 1em;
  font-weight: 600;
  font-size: var(--size018);
}

.box-item-example dl {
  display: grid;
  grid-template-columns: 1fr 3fr;
  font-size: var(--size015);
  padding: .7em 0;
  border-top: 1px solid var(--col-gray-light);
  line-height: 1.4;
}

.box-item-example dl dt {
  font-weight: 600;
  padding-left: .2em;
  color: var(--col-gray-deep);
}

.box-item-example dl dd {
  opacity: .9;
}

.box-item-example dl:last-of-type {
  border-bottom: 1px solid var(--col-gray-light);
}


.p-tile-img {
  display: flex;
}

@media screen and (max-width: 767px) {
  .p-tile-img {
    overflow-x: auto;
    width: calc(100% + 7vw);
    position: relative;
  }
}

.p-tile-img img {
  flex: 1;
  width: calc(100% / 3);
  height: auto;
}

@media screen and (max-width: 767px) {
  .p-tile-img img {
    width: 64vw;
  }
}

.b-text-notice {
  margin-top: 4em;
}

.b-text-notice p {
  font-size: var(--size015);
  line-height: 1.4;
}

.c-label-error {
  display: none;
  color: var(--col-red);
  padding-top: .75em;
  font-size: 80%;
}

.btn-submit {
  transition: .2s filter, .2s opacity;
  cursor: pointer;
}

.btn-submit:disabled {
  opacity: .2;
  filter: grayscale(0.3);
  cursor: default;
  pointer-events: none;
}

.hl-content-title.-slogan {
  text-align: center;
  margin-bottom: 10em;
}

.hl-content-title.-slogan span {
  font-size: var(--size035);
  font-weight: 100;
}

.hl-content-title.-slogan b {
  font-weight: normal;
  font-size: var(--size016);
  color: var(--col-default);
  display: block;
  padding-top: .2em;
}

@media screen and (max-width: 767px) {
  .hl-content-title.-slogan {
    margin-bottom: 5em;
  }
}



.fs-copy-large {
  font-size: var(--size070);
}

@media screen and (max-width: 767px) {
  .fs-copy-large {
    font-size: var(--size065);
    line-height: 1.2;
  }
}

.fs-copy-jp {
  display: block;
  font-size: var(--size030);
  margin-top: 1.5em;
  padding-left: 1em;
  line-height: 1.2;
}





/* index works */

.works__contents {
  display: flex;
  flex-direction: row;
}

.works__contents figure {
  position: relative;
  overflow: hidden;
  width: 33.5%;
  min-height: 550px;
  height: 40vw;
  background: #002f56;
  text-align: center;
  cursor: pointer;
}


.works__img {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 100%;
  max-width: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0.8;
  background-size: cover;
}

figure:nth-of-type(1) .works__img {
  background-image: url(https://www.starts-home.co.jp/assets/image/pick_up_img_a.jpg);
}

figure:nth-of-type(2) .works__img {
  background-image: url(https://www.starts-home.co.jp/assets/image/pick_up_img_b.jpg);
}

figure:nth-of-type(3) .works__img {
  background-image: url(https://www.starts-home.co.jp/assets/image/pick_up_img_c.jpg);
}

.works__contents figcaption {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  color: #FFF;
}

.pick_up h3 {
  font-size: 24px;
  text-align: center;
}

.pick_up h3 span {
  display: block;
}

.pick_up .grid {
  position: relative;
  margin: 0 auto;
  width: 100%;
  list-style: none;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.pick_up .grid figure {
  position: relative;
  overflow: hidden;
  width: 33.5%;
  min-height: 550px;
  height: 40vw;
  background: #002f56;
  text-align: center;
  cursor: pointer;
}

.pick_up .grid figure img {
  position: relative;
  display: block;
  min-height: 100%;
  max-width: 100%;
  opacity: 0.8;
}

.pick_up .grid figure .img_01,
.pick_up .grid figure .img_02,
.pick_up .grid figure .img_03 {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 100%;
  max-width: 100%;
  top: 50%;
  left: 50%;
  background-image: url("/assets/img/service1.png");
  background-size: cover;
  transform: translate(-50%, -50%);
  opacity: 0.8;
}

.pick_up .grid figure .img_02 {
  background-image: url("/assets/img/1563677_m-1-768x512.jpg");
}

.pick_up .grid figure .img_03 {
  background-image: url("/assets/img/service3.png");
}

.pick_up .grid figure:hover .img_01,
.pick_up .grid figure:hover .img_02,
.pick_up .grid figure:hover .img_03 {
  opacity: 0.4;
}

.pick_up .grid figure figcaption,
.pick_up .grid figure figcaption>a {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 4.2em;
}

.pick_up figure.effect-sadie h3 {
  position: absolute;
  margin: 0;
  top: 50%;
  left: 0;
  width: 100%;
  -webkit-transition: -webkit-transform 0.35s, color 0.35s;
  transition: transform 0.35s, color 0.35s;
  -webkit-transform: translate3d(0, -60%, 0);
  transform: translate3d(0, -60%, 0);
}

.pick_up figure.effect-sadie h3 .sub_tit {
  font-size: 18px;
}

.pick_up figure.effect-sadie p {
  position: absolute;
  bottom: 0px;
  left: 0;
  padding: 4.2em;
  opacity: 0;
  font-size: 16px;
  -webkit-transform: translate3d(0, 0px, 0);
  transform: translate3d(0, 0px, 0);
  text-align: left;
}

.pick_up figure.effect-sadie p.more_btn {
  bottom: 0px;
  left: 50%;
  padding: 0.6em 2em;
  width: 80%;
  opacity: 0;
  -webkit-transform: translate3d(-50%, 20px, 0);
  transform: translate3d(-50%, 20px, 0);
  text-align: center;
  letter-spacing: 0.5em;
  color: #FFF;
}

.pick_up .grid figure figcaption,
.pick_up .grid figure figcaption a {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  color: #FFF;
}

.pick_up .grid figure figcaption a {
  z-index: 2;
  text-indent: 200%;
  white-space: nowrap;
  font-size: 14px;
  opacity: 1;
}

@media screen and (min-width: 1091px) {
  .pick_up .grid figure:hover img {
    opacity: 0.3;
  }

  .pick_up figure.effect-sadie:hover h3 {
    color: #fff;
    -webkit-transform: translate3d(0, -90%, 0) translate3d(0, -70px, 0);
    transform: translate3d(0, -90%, 0) translate3d(0, -70px, 0);
  }

  .pick_up figure.effect-sadie:hover figcaption::before,
  .pick_up figure.effect-sadie:hover p {
    opacity: 1;
    bottom: 0px;
    -webkit-transform: translate3d(0, -50px, 0);
    transform: translate3d(0, -50px, 0);
    transition: opacity 0.35s, transform 0.35s;
  }

  .pick_up figure.effect-sadie:hover p.more_btn {
    bottom: -80px;
    left: 50%;
    opacity: 1;
    border-bottom: 1px solid #FFF;
    -webkit-transform: translate3d(-50%, 0px, 0);
    transform: translate3d(-50%, 0px, 0);
    transition: opacity 0.35s, transform 0.35s;
  }

  .pick_up figure.effect-sadie:hover p.more_btn::before {
    content: "";
    position: absolute;
    top: 53%;
    left: 75%;
    width: 25px;
    height: 25px;
    background-image: url(https://www.starts-home.co.jp/assets/image/footer_arrow_wh.png);
    background-repeat: no-repeat;
    background-position: right 0px top 50%;
    background-size: 9px;
    transform: translate(-50%, -50%);
    z-index: 2;
  }
}

@media screen and (min-width: 768px) and (max-width: 1090px) {
  .pick_up figure.effect-sadie h3 {
    top: 41%;
    font-size: 20px;
    line-height: 1.5;
  }

  .pick_up figure.effect-sadie h3 .sub_tit {
    font-size: 14px;
  }

  .pick_up figure.effect-sadie h3:after {
    content: "";
    position: absolute;
    bottom: -30%;
    left: 50%;
    width: 15vw;
    height: 25px;
    text-align: center;
    border-bottom: 2px solid #FFF;
    transform: translate(-50%, -50%);
    z-index: 3;
  }

  .pick_up figure.effect-sadie p {
    padding: 10vw;
    bottom: 17%;
    font-size: 1.15em;
    line-height: 1.8;
  }

  .pick_up .grid figure figcaption,
  .pick_up .grid figure figcaption a {
    color: #FFF;
  }

  .pick_up .grid figure img {
    position: relative;
    display: block;
    min-height: 80vh;
    max-width: 100%;
    opacity: 0.8;
  }

  .pick_up .grid figure .txt,
  .pick_up figure.effect-sadie p.more_btn {
    line-height: 1.55;
    display: none;
    opacity: 1;
  }

  .pick_up figure.effect-sadie p.more_btn {
    display: block;
    padding: 10px 20px;
    border: 1px solid #FFF;
    text-align: center;
    outline: none;
    margin: 0vw auto 14vw;
    width: 60%;
  }

  .pick_up figure.effect-sadie p.more_btn:after {
    content: "";
    position: absolute;
    top: 49%;
    left: 85%;
    width: 25px;
    height: 25px;
    background-image: url(https://www.starts-home.co.jp/assets/image/footer_arrow_wh.png);
    background-repeat: no-repeat;
    background-position: right 0px top 50%;
    background-size: 10px;
    transform: translate(-50%, -50%);
    z-index: 10;
  }

}

@media screen and (max-width: 767px) {
  .pick_up .grid {
    display: block;
  }

  .pick_up .grid figure {
    width: 100%;
    min-height: 60vw;
  }

  .pick_up figure.effect-sadie h3 {
    top: 31%;
    font-size: 20px;
    line-height: 1.5;
  }

  .pick_up figure.effect-sadie h3 .sub_tit {
    font-size: 14px;
  }

  .pick_up figure.effect-sadie h3:after {
    content: "";
    position: absolute;
    bottom: -30%;
    left: 50%;
    width: 15vw;
    height: 25px;
    text-align: center;
    border-bottom: 2px solid #FFF;
    transform: translate(-50%, -50%);
    z-index: 3;
  }

  .pick_up figure.effect-sadie p {
    padding: 10vw;
    bottom: 17%;
    font-size: 1.15em;
    line-height: 1.8;
  }

  .pick_up .grid figure figcaption,
  .pick_up .grid figure figcaption a {
    color: #FFF;
  }

  .pick_up .grid figure img {
    position: relative;
    display: block;
    min-height: 80vh;
    max-width: 100%;
    opacity: 0.8;
  }

  .pick_up .grid figure .txt,
  .pick_up figure.effect-sadie p.more_btn {
    line-height: 1.55;
    display: none;
    opacity: 1;
  }

  .pick_up figure.effect-sadie p.more_btn {
    display: block;
    padding: 10px 30px;
    border: 1px solid #FFF;
    text-align: center;
    outline: none;
    margin: 0vw auto 14vw;
    width: 60%;
  }

  .pick_up figure.effect-sadie p.more_btn:after {
    content: "";
    position: absolute;
    top: 49%;
    left: 85%;
    width: 25px;
    height: 25px;
    background-image: url(https://www.starts-home.co.jp/assets/image/footer_arrow_wh.png);
    background-repeat: no-repeat;
    background-position: right 0px top 50%;
    background-size: 10px;
    transform: translate(-50%, -50%);
    z-index: 10;
  }

  .pick_up .grid figure .img_01 {
    background-image: url("/assets/img/service1.png");
  }

  .pick_up .grid figure .img_02 {
    background-image: url("/assets/img/1563677_m-1-768x512.jpg");
  }

  .pick_up .grid figure .img_03 {
    background-image: url("/assets/img/service3.png");
  }
}