@charset "utf-8";
:root {--c-accent-rgb: 96 104 112;--c-sumi-rgb: 24 26 29;--c-sumi2-rgb: 38 41 45;--c-ink-rgb: 24 26 29;--c-ondark-rgb: 168 176 184;--font-en: 'Inter Tight', sans-serif;--font-jp: 'Zen Kaku Gothic New', sans-serif;}
@charset "utf-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}
html {
  overscroll-behavior: none;
  line-height: 1;
}
ol, ul {
  list-style: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}
q, blockquote {
  quotes: none;
}
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}
a img {
  border: none;
}
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}
button {
  margin: 0;
  padding: 0;
  color: inherit;
  border: none;
  border-radius: 0;
  background: transparent;
  -webkit-appearance: none;
  appearance: none;
  font: inherit;
  cursor: pointer;
}
input,
select,
textarea {
  font: inherit;
}
body {
  color: rgb(var(--c-ink-rgb));
  background: rgb(255 255 255);
  font-family: var(--font-jp);
  font-weight: 500;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}
a {
  color: rgb(var(--c-ink-rgb));
  text-decoration: none;
  transition: opacity 200ms;
}
a[href]:hover {
  opacity: 0.8;
}
html {
  font-size: calc(100vw / 37.5);
}
.t-pc {
  display: none;
}
@media print, screen and (min-width: 768px) {
  html {
    font-size: calc(100vw / 100);
  }
  .t-pc {
    display: block;
  }
  .t-sp {
    display: none;
  }
}
@media print, screen and (min-width: 1001px) {
  html {
    font-size: 62.5%;
  }
}
.t-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  height: 6.8rem;
  background: rgb(255 255 255);
}
.t-drawer-open .t-head {
  background: rgba(255,255,255,.6);
  backdrop-filter: blur(2rem);
  -webkit-backdrop-filter: blur(2rem);
}
.t-head .t-brand a {
  display: flex;
  align-items: center;
  padding: 0 1.5rem;
}
.t-head .t-brand a:hover {
  opacity: 1;
}
.t-head .t-brand img {
  display: block;
  width: 10.5rem;
  margin-right: 1.2rem;
}
.t-head-cta {
  position: fixed;
  bottom: 2.6rem;
  z-index: 100;
  width: 100%;
}
.t-head-cta a {
  display: block;
  width: 31.5rem;
  margin: 0 auto;
  color: rgb(255 255 255);
  background: rgb(var(--c-accent-rgb));
  border: .1rem solid rgb(var(--c-accent-rgb));
  border-radius: 3em;
  font-size: 1.4rem;
  line-height: 4.9rem;
  text-align: center;
  letter-spacing: .03em;
  transition: 300ms;
}
.t-head-cta a:hover {
  color: rgb(var(--c-accent-rgb));
  background: rgb(255 255 255);
  opacity: 1;
}
@media print, screen and (min-width: 768px) {
  .t-head {
    height: 9.6rem;
  }
  .t-head .t-brand a {
    padding: 0 7.8rem;
  }
  .t-head .t-brand img {
    width: 10.9rem;
    margin-right: 3.8rem;
  }
  .t-head-cta {
    top: 2.8rem;
    right: 17.7rem;
    bottom: auto;
    width: auto;
  }
  .t-head-cta a {
    width: 16.7rem;
    font-size: 1.3rem;
    line-height: 3.8rem;
    letter-spacing: .02em;
  }
}
.t-head,
.t-burger {
  opacity: 0;
  transform: translateY(-100%);
  transition: opacity 1000ms cubic-bezier(0.19, 1, 0.22, 1), transform 1000ms cubic-bezier(0.19, 1, 0.22, 1);
}
.t-head-cta {
  opacity: 0;
  transform: translateY(100%);
  transition: opacity 1000ms cubic-bezier(0.19, 1, 0.22, 1), transform 1000ms cubic-bezier(0.19, 1, 0.22, 1);
}
.t-ready .t-head,
.t-ready .t-burger,
.t-ready .t-head-cta {
  opacity: 1;
  transform: translateY(0);
}
.t-scrolled .t-head {
  transform: translateY(-100%);
}
.t-scrolled .t-burger {
  transform: translateY(-150%);
}
.t-scrolled .t-head-cta {
  transform: translateY(180%);
}
.t-ready.t-drawer-open .t-head-cta {
  opacity: 0;
  pointer-events: none;
}
.t-ready.t-drawer-open.t-scrolled .t-head,
.t-ready.t-drawer-open.t-scrolled .t-burger {
  transform: translateY(0);
}
@media print, screen and (min-width: 768px) {
  .t-head-cta {
    display: block !important;
    transform: translateY(-100%);
  }
  .t-scrolled .t-burger {
    transform: translateY(-200%);
  }
  .t-scrolled .t-head-cta {
    transform: translateY(-200%);
  }
}
.t-foot {
  color: rgb(255 255 255);
  margin-top: -6.8rem;
  padding-top: 6.8rem;
}
.t-foot a {
  color: rgb(255 255 255);
}
.t-foot .t-sitemap {
  position: relative;
  padding: 4rem 1.5rem 3rem;
  background: rgb(var(--c-sumi-rgb));
  border-bottom: .1rem solid rgb(62 62 62);
  letter-spacing: .02em;
}
.t-foot .t-sitemap .t-brand {
  display: flex;
  align-items: center;
  margin-bottom: 5rem;
}
.t-foot .t-sitemap .t-brand img {
  display: block;
  width: 10.5rem;
  margin-right: 1.2rem;
}
.t-foot .t-sitemap dl {
  margin: 0 1.5rem 4rem;
}
.t-foot .t-sitemap dt {
  position: relative;
  margin-bottom: 2rem;
}
.t-foot .t-sitemap dt::before,
.t-foot .t-sitemap dt::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  width: 1rem;
  height: .1rem;
  background: rgb(255 255 255);
}
.t-foot .t-sitemap dt::after {
  transform: rotate(90deg);
}
.t-foot .t-sitemap dt.t-open::after {
  display: none;
}
.t-foot .t-sitemap dt .t-ja {
  display: block;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.6rem;
}
.t-foot .t-sitemap dd {
  display: none;
}
.t-foot .t-sitemap li a {
  display: block;
  position: relative;
  margin-bottom: 1rem;
  padding-left: 1rem;
  color: rgb(229 229 229);
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 2.21rem;
}
.t-foot .t-sitemap li a::before {
  content: '';
  position: absolute;
  top: 1rem;
  left: 0;
  width: .3rem;
  height: .1rem;
  background: rgb(229 229 229);
}
.t-foot .t-sitemap li a.t-off {
  opacity: .3;
  pointer-events: none;
}
.t-foot .t-legal {
  padding: 3.5rem 0 2rem 1.5rem;
  background: rgb(var(--c-sumi-rgb));
}
.t-foot .t-copy {
  color: rgb(188 188 188);
  font-family: var(--font-en);
  font-size: 1.2rem;
  letter-spacing: .025em;
}
.t-foot .t-totop {
  position: absolute;
  top: 3rem;
  right: 1.5rem;
  z-index: 5;
  width: 4rem;
  height: 4rem;
  border: .1rem solid rgb(255 255 255);
  border-radius: 50%;
  cursor: pointer;
}
.t-foot .t-totop::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../images/t-icon-001.svg) no-repeat 50% / 1rem auto;
  transform: rotate(-90deg);
}
@media print, screen and (min-width: 768px) {
  .t-foot {
    margin-top: -9.6rem;
    padding-top: 9.6rem;
  }
  .t-foot .t-sitemap {
    padding: 8rem 5rem 5rem;
  }
  .t-foot .t-sitemap .t-brand {
    max-width: 112.4rem;
    margin: 0 auto 7rem;
  }
  .t-foot .t-sitemap .t-brand img {
    width: 10.9rem;
    margin-right: 3.8rem;
  }
  .t-foot .t-sitemap .t-wrap {
    display: flex;
    justify-content: space-between;
    max-width: 112.4rem;
    margin: 0 auto;
  }
  .t-foot .t-sitemap dl {
    margin: 0 2rem 0 0;
  }
  .t-foot .t-sitemap dt {
    margin-bottom: 2.5rem;
    pointer-events: none;
  }
  .t-foot .t-sitemap dt::before,
.t-foot .t-sitemap dt::after {
    display: none;
  }
  .t-foot .t-sitemap dt .t-ja {
    font-size: 1.1rem;
    font-weight: 500;
    line-height: 1.8rem;
  }
  .t-foot .t-sitemap dd {
    display: block !important;
  }
  .t-foot .t-sitemap li a {
    margin-bottom: 2.5rem;
    padding-left: 0;
    font-size: 1.1rem;
    font-weight: 500;
    line-height: 1.8rem;
  }
  .t-foot .t-sitemap li a::before {
    display: none;
  }
  .t-foot .t-legal {
    padding: 4rem 5rem 3rem;
  }
  .t-foot .t-legal .t-wrap {
    display: flex;
    justify-content: start;
    align-items: center;
    max-width: 112.4rem;
    margin: 0 auto;
  }
  .t-foot .t-totop {
    right: 4rem;
    top: auto;
    bottom: -7rem;
  }
}
.t-burger {
  position: fixed;
  top: 1.3rem;
  right: 1.4rem;
  z-index: 100;
  width: 4.2rem;
  height: 4.2rem;
}
.t-burger button {
  position: relative;
  width: 4rem;
  height: 4rem;
  border: .1rem solid rgb(var(--c-ink-rgb));
  border-radius: 50%;
  transition: opacity 300ms;
}
.t-burger button:hover {
  opacity: .8;
}
.t-burger button span {
  display: block;
  text-indent: -9999px;
}
.t-burger button span::before,
.t-burger button span::after {
  content: '';
  position: absolute;
  left: calc(50% - .6rem);
  width: 1.2rem;
  height: .1rem;
  background: rgb(var(--c-ink-rgb));
  transition: 300ms;
}
.t-burger button span::before {
  top: calc(50% - .2rem);
}
.t-burger button span::after {
  top: calc(50% + .2rem);
}
.t-drawer-open .t-burger button span::before {
  top: 50%;
  transform: rotate(45deg);
}
.t-drawer-open .t-burger button span::after {
  top: 50%;
  transform: rotate(-45deg);
}
.t-drawer {
  position: fixed;
  top: 6.8rem;
  left: 0;
  z-index: -100;
  width: 100%;
  height: calc(100% - 6.8rem);
  overscroll-behavior: contain;
  overflow-y: auto;
  opacity: 0;
  pointer-events: none;
  transition: opacity 400ms;
  background: rgba(255,255,255,.6);
  backdrop-filter: blur(2rem);
  -webkit-backdrop-filter: blur(2rem);
}
.t-drawer-open .t-drawer {
  z-index: 100;
  opacity: 1;
  pointer-events: auto;
}
@media print, screen and (min-width: 768px) {
  .t-burger {
    top: 2.8rem;
    right: 7rem;
  }
  .t-drawer {
    top: 9.6rem;
    height: calc(100% - 9.6rem);
  }
}
@media print {
  body {
    min-width: 1000px;
  }
  .t-head,
.t-head-cta,
.t-burger {
    position: absolute !important;
  }
}
.t-head.t-ready-home,
.t-burger.t-ready-home,
.t-head-cta.t-ready-home {
  opacity: 1;
  transform: translateY(0);
}
.t-scrolled .t-head.t-ready-home {
  transform: translateY(-100%);
}
.t-scrolled .t-burger.t-ready-home {
  transform: translateY(-150%);
}
.t-scrolled .t-head-cta.t-ready-home {
  transform: translateY(180%);
}
.t-drawer-open .t-head-cta.t-ready-home {
  opacity: 0;
  pointer-events: none;
}
.t-ready-home.t-drawer-open.t-scrolled .t-head,
.t-ready-home.t-drawer-open.t-scrolled .t-burger {
  transform: translateY(0);
}
@media print, screen and (min-width: 768px) {
  .t-scrolled .t-burger.t-ready-home {
    transform: translateY(-200%);
  }
  .t-scrolled .t-head-cta.t-ready-home {
    transform: translateY(-200%);
  }
}
.t-vh {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
.t-nw {
  white-space: nowrap;
}
.no-js .t-head,
.no-js .t-head-cta {
  opacity: 1;
  transform: none;
}
.no-js .t-burger {
  display: none;
}
.t-head .t-brand img {
  width: 12rem;
  margin-right: 0;
  filter: brightness(0) invert(.18);
}
.t-ttl {
  letter-spacing: .02em;
}
.t-ttl .t-lat {
  display: block;
  margin-bottom: 1.5rem;
  font-family: var(--font-en);
  font-size: 5.4rem;
  font-weight: 600;
  line-height: 1;
}
.t-ttl .t-ja {
  display: block;
  font-size: 1.6rem;
  line-height: 1.5;
}
.t-ttl .t-cap {
  display: block;
}
.t-label {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: .4rem 1.2rem;
  margin-bottom: 2rem;
  letter-spacing: .02em;
}
.t-label .t-lat {
  color: rgb(var(--c-accent-rgb));
  font-family: var(--font-en);
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1;
}
.t-label .t-ja {
  font-size: 1.2rem;
  line-height: 1.5;
}
.t-message,
.t-issue,
.t-about,
.t-reason,
.t-numbers,
.t-cases,
.t-flow,
.t-faq,
.t-foot .t-cta {
  word-break: auto-phrase;
}
.t-more a {
  display: inline-block;
  position: relative;
  padding: 0 6rem 0 3rem;
  color: rgb(var(--c-accent-rgb));
  border: .1rem solid rgb(var(--c-accent-rgb));
  border-radius: 3em;
  font-size: 1.4rem;
  line-height: 4.6rem;
  letter-spacing: .02em;
  transition: 300ms;
}
.t-more a::after {
  content: '';
  position: absolute;
  top: 0;
  right: 2.5rem;
  width: 1.4rem;
  height: 100%;
  background: url(../images/t-icon-004.svg) no-repeat 50% / 100% auto;
}
.t-more a:hover {
  color: rgb(255 255 255);
  background: rgb(var(--c-accent-rgb));
  opacity: 1;
}
.t-more a:hover::after {
  background-image: url(../images/t-icon-001.svg);
}
@media print, screen and (min-width: 768px) {
  .t-head .t-brand img {
    width: 15rem;
  }
  .t-ttl .t-lat {
    margin-bottom: 2.3rem;
    font-size: 7rem;
  }
  .t-ttl .t-ja {
    font-size: 1.8rem;
  }
  .t-label .t-lat {
    font-size: 1.6rem;
  }
  .t-label .t-ja {
    font-size: 1.4rem;
  }
  .t-more a {
    font-size: 1.5rem;
    line-height: 5rem;
  }
}
.t-message {
  padding: 8rem 3rem 6rem;
  background: rgb(255 255 255);
}
.t-message .t-ttl {
  margin-bottom: 4rem;
}
.t-message .t-body p {
  margin-bottom: 2.4rem;
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: .04em;
}
.t-message .t-body p:last-child {
  margin-bottom: 0;
}
@media print, screen and (min-width: 768px) {
  .t-message {
    padding: 14rem 5rem 12rem;
  }
  .t-message .t-wrap {
    display: flex;
    justify-content: space-between;
    max-width: 112.6rem;
    margin: 0 auto;
  }
  .t-message .t-ttl {
    flex: none;
    width: 34rem;
    margin-bottom: 0;
  }
  .t-message .t-body {
    flex: 1;
    max-width: 66rem;
  }
  .t-message .t-body p {
    margin-bottom: 4rem;
    font-size: 2.4rem;
    line-height: 2;
  }
}
.t-issue {
  padding: 6rem 1.5rem 8rem;
  background: rgb(255 255 255);
  overflow: hidden;
}
.t-issue .t-ttl {
  margin: 0 1.5rem 4rem;
}
.t-hscroll {
  position: relative;
  height: 20rem;
}
.t-hscroll-track {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
}
.t-hscroll-item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-sizing: border-box;
  width: 26rem;
  height: 20rem;
  margin: 0 .4rem;
  padding: 2.2rem 2rem 2.4rem;
  color: rgb(255 255 255);
  background: rgb(var(--c-sumi-rgb));
  border-radius: 1rem;
  letter-spacing: .02em;
}
.t-hscroll-item:last-child {
  margin-right: 1.5rem;
}
.t-hscroll-item .t-no {
  font-family: var(--font-en);
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1;
}
.t-hscroll-item .t-txt {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.75;
}
.t-issue .t-close {
  margin: 5rem 1.5rem 0;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: .04em;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .t-issue {
    padding: 10rem 0 14rem;
  }
  .t-issue .t-ttl {
    max-width: 112.6rem;
    margin: 0 auto 7rem;
    padding: 0 5rem;
  }
  .t-issue .t-ttl .t-cap {
    display: table;
    margin-left: auto;
  }
  .t-hscroll {
    height: 24rem;
  }
  .t-hscroll-item {
    width: 36rem;
    height: 24rem;
    margin: 0 1.4rem;
    padding: 3rem 3rem 3.2rem;
  }
  .t-hscroll-item:first-child {
    margin-left: 7.8rem;
  }
  .t-hscroll-item:last-child {
    margin-right: 7.8rem;
  }
  .t-hscroll-item .t-no {
    font-size: 2rem;
  }
  .t-hscroll-item .t-txt {
    font-size: 1.8rem;
  }
  .t-issue .t-close {
    margin: 8rem 5rem 0;
    font-size: 2.8rem;
  }
}
.t-about {
  padding: 8rem 3rem;
  background: rgb(255 255 255);
}
.t-about .t-media {
  margin-bottom: 3.6rem;
  overflow: hidden;
  border-radius: 1rem;
}
.t-about .t-media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.t-about h2 {
  margin-bottom: 3rem;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .04em;
}
.t-about .t-body > p:not(.t-label):not(.t-more) {
  margin-bottom: 1.6rem;
  font-size: 1.4rem;
  line-height: 1.9;
  letter-spacing: .02em;
}
.t-about .t-more {
  margin-top: 3.6rem;
}
@media print, screen and (min-width: 768px) {
  .t-about {
    padding: 14rem 5rem;
  }
  .t-about .t-wrap {
    display: flex;
    align-items: center;
    gap: 8rem;
    max-width: 112.6rem;
    margin: 0 auto;
  }
  .t-about .t-media {
    flex: 0 0 50%;
    margin-bottom: 0;
  }
  .t-about .t-body {
    flex: 1;
  }
  .t-about h2 {
    margin-bottom: 4rem;
    font-size: 4.4rem;
  }
  .t-about .t-body > p:not(.t-label):not(.t-more) {
    font-size: 1.6rem;
    line-height: 2;
  }
  .t-about .t-more {
    margin-top: 4.4rem;
  }
}
.t-reason {
  padding: 8rem 3rem 6rem;
  background: rgb(255 255 255);
}
.t-reason .t-ttl {
  margin-bottom: 4rem;
}
.t-reason li {
  margin-bottom: 4.4rem;
  letter-spacing: .02em;
}
.t-reason li .t-media {
  margin-bottom: 2rem;
  overflow: hidden;
  border-radius: 1rem;
}
.t-reason li .t-media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.t-reason li .t-no {
  margin-bottom: 1rem;
  color: rgb(var(--c-accent-rgb));
  font-family: var(--font-en);
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1;
}
.t-reason li h3 {
  margin-bottom: 1.2rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
}
.t-reason li .t-txt {
  font-size: 1.4rem;
  line-height: 1.9;
}
.t-reason li:focus-visible {
  outline: .2rem solid rgb(var(--c-accent-rgb));
  outline-offset: .6rem;
}
@media print, screen and (min-width: 768px) {
  .t-reason {
    position: relative;
    padding: 14rem 5rem;
    background: transparent;
    isolation: isolate;
    transition: color 500ms;
  }
  .t-reason::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    background: rgb(255 255 255);
  }
  .t-reason.t-on {
    color: rgb(255 255 255);
  }
  .t-reason-bg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: cover;
    opacity: 0;
    transition: opacity 500ms;
  }
  .t-reason-bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgb(0 0 0 / .5);
  }
  .t-reason-bg.t-on {
    opacity: 1;
  }
  .t-reason .t-wrap {
    display: flex;
    justify-content: space-between;
    max-width: 112.6rem;
    margin: 0 auto;
  }
  .t-reason .t-ttl {
    order: 2;
    margin-bottom: 0;
    padding-right: calc(105 / 1126 * 100%);
  }
  .t-reason ol {
    order: 1;
    width: 57rem;
  }
  .t-reason li {
    margin-bottom: 0;
    padding: 3.2rem 0;
    border-top: .1rem solid rgb(var(--c-ink-rgb) / .2);
    transition: opacity 500ms, border-color 500ms;
  }
  .t-reason li:last-child {
    border-bottom: .1rem solid rgb(var(--c-ink-rgb) / .2);
  }
  .t-reason.t-on li {
    border-color: rgb(255 255 255 / .4);
  }
  .t-reason.t-on li:not(.t-active) {
    opacity: .5;
  }
  .t-reason li .t-no {
    font-size: 1.6rem;
    transition: color 500ms;
  }
  .t-reason.t-on li .t-no {
    color: rgb(255 255 255);
  }
  .t-reason li h3 {
    font-size: 2.4rem;
  }
  .t-reason li .t-txt {
    font-size: 1.5rem;
    line-height: 2;
  }
  .t-reason li:focus-visible {
    outline-color: currentColor;
  }
}
.t-numbers {
  padding: 8rem 3rem;
  background: rgb(255 255 255);
}
.t-numbers .t-ttl {
  margin-bottom: 4rem;
}
.t-numbers-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: .1rem solid rgb(var(--c-accent-rgb));
}
.t-numbers dl {
  padding: 2.4rem 0;
  border-bottom: .1rem solid rgb(var(--c-ink-rgb) / .15);
  letter-spacing: .02em;
}
.t-numbers dl:nth-child(odd) {
  padding-right: 1.5rem;
}
.t-numbers dl:nth-child(even) {
  padding-left: 1.5rem;
  border-left: .1rem solid rgb(var(--c-ink-rgb) / .15);
}
.t-numbers dt {
  margin-bottom: 1.4rem;
  color: rgb(var(--c-accent-rgb));
  font-size: 1.3rem;
  line-height: 1.5;
}
.t-numbers dd {
  font-size: 1.4rem;
  line-height: 1;
  white-space: nowrap;
}
.t-numbers .t-num {
  margin: 0 .2rem;
  font-family: var(--font-en);
  font-size: 4.4rem;
  font-weight: 600;
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  .t-numbers {
    padding: 14rem 5rem;
  }
  .t-numbers .t-wrap {
    max-width: 112.6rem;
    margin: 0 auto;
  }
  .t-numbers .t-ttl {
    margin-bottom: 7rem;
  }
  .t-numbers .t-ttl .t-cap {
    display: table;
    margin-left: auto;
  }
  .t-numbers-list {
    grid-template-columns: repeat(4, 1fr);
    border-bottom: .1rem solid rgb(var(--c-ink-rgb) / .15);
  }
  .t-numbers dl,
  .t-numbers dl:nth-child(odd),
  .t-numbers dl:nth-child(even) {
    padding: 4rem 2.4rem 4.4rem;
    border-bottom: none;
    border-left: .1rem solid rgb(var(--c-ink-rgb) / .15);
  }
  .t-numbers dl:first-child {
    border-left: none;
    padding-left: 0;
  }
  .t-numbers dt {
    margin-bottom: 2.4rem;
    font-size: 1.5rem;
  }
  .t-numbers dd {
    font-size: 1.8rem;
  }
  .t-numbers .t-num {
    font-size: 6.4rem;
  }
}
.t-cases {
  position: relative;
  padding: 8rem 0 7rem;
  background: rgb(255 255 255);
}
.t-cases .t-ttl {
  margin: 0 3rem 4rem;
}
.t-cases .t-ph {
  display: grid;
  place-items: center;
  color: rgb(120 120 120);
  background: rgb(238 238 238);
  border-radius: 1rem;
  font-size: 1.2rem;
  letter-spacing: .04em;
}
.t-logos {
  margin: 0 3rem 4.4rem;
}
.t-logos .t-ph {
  height: 9rem;
  font-size: 1.3rem;
}
.t-logos figcaption {
  margin-top: .8rem;
  color: rgb(120 120 120);
  font-size: 1.2rem;
  line-height: 1.5;
}
.t-cases .swiper {
  margin: 0 0 3rem 3rem;
}
.t-cases li {
  width: 27rem;
  margin-right: 1.2rem;
  letter-spacing: .02em;
}
.t-cases article {
  position: relative;
}
.t-cases .t-media {
  aspect-ratio: 4 / 3;
}
.t-cases .t-role {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  width: 6rem;
  height: 3rem;
  background: rgb(255 255 255);
  border-radius: 0 0 0 1rem;
}
.t-cases .t-role::before,
.t-cases .t-role::after {
  content: '';
  position: absolute;
  width: 1rem;
  height: 1rem;
  background: url(../images/t-shape-001.svg) no-repeat 50% / cover;
  transform: rotate(180deg);
}
.t-cases .t-role::before {
  top: 0;
  left: -1rem;
}
.t-cases .t-role::after {
  right: 0;
  bottom: -1rem;
}
.t-cases h3 {
  margin: 2rem 0 1rem;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
}
.t-cases .t-txt {
  color: rgb(90 90 90);
  font-size: 1.3rem;
  line-height: 1.8;
}
.t-cases .swiper-button-prev,
.t-cases .swiper-button-next {
  top: 8.4rem;
  width: 4.6rem;
  height: 4.6rem;
  margin: 0;
  border: .1rem solid rgb(var(--c-ink-rgb));
  border-radius: 50%;
  transition: 300ms;
}
.t-cases .swiper-button-prev {
  left: auto;
  right: 8.4rem;
}
.t-cases .swiper-button-next {
  right: 3rem;
}
.t-cases .swiper-button-prev:hover,
.t-cases .swiper-button-next:hover {
  background: rgb(var(--c-accent-rgb));
  border-color: rgb(var(--c-accent-rgb));
}
.t-cases .swiper-button-prev::after,
.t-cases .swiper-button-next::after {
  width: 1.4rem;
  height: 100%;
  background: url(../images/t-icon-003.svg) no-repeat 50% / 100% auto;
  font-size: 0;
  transition: 300ms;
}
.t-cases .swiper-button-prev::after {
  transform: rotate(180deg);
}
.t-cases .swiper-button-prev:hover::after,
.t-cases .swiper-button-next:hover::after {
  background-image: url(../images/t-icon-001.svg);
}
.t-cases .swiper-scrollbar.swiper-scrollbar-horizontal {
  position: relative;
  left: auto;
  bottom: auto;
  width: auto;
  height: .2rem;
  margin: 0 3rem 4rem;
}
.t-cases .swiper-scrollbar-drag {
  background: rgb(var(--c-accent-rgb));
}
.t-cases .t-more {
  margin: 0 3rem;
}
@media print, screen and (min-width: 768px) {
  .t-cases {
    padding: 14rem 5rem 15rem;
  }
  .t-cases .t-ttl,
  .t-logos,
  .t-cases .swiper,
  .t-cases .t-more {
    max-width: 112.6rem;
    margin-left: auto;
    margin-right: auto;
  }
  .t-cases .t-ttl {
    margin-bottom: 7rem;
  }
  .t-logos {
    margin-bottom: 6rem;
  }
  .t-logos .t-ph {
    height: 12rem;
  }
  .t-cases .swiper {
    margin-bottom: 6rem;
    overflow: visible;
  }
  .t-cases .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
    transform: none !important;
  }
  .t-cases li {
    width: auto;
    margin-right: 0;
  }
  .t-cases .t-role {
    width: 7rem;
    height: 3.5rem;
  }
  .t-cases h3 {
    margin-top: 2.4rem;
    font-size: 1.8rem;
  }
  .t-cases .t-txt {
    font-size: 1.4rem;
  }
  .t-cases .t-more {
    text-align: center;
  }
}
.t-flow {
  padding: 1.5rem;
  background: rgb(241 241 241);
}
.t-flow .t-wrap {
  padding: 6rem 2.5rem 5rem;
  background: rgb(255 255 255);
  border-radius: 1.5rem;
}
.t-flow .t-ttl {
  margin-bottom: 4rem;
}
.t-flow li {
  margin-bottom: 3rem;
  padding-bottom: 3rem;
  border-bottom: .1rem solid rgb(229 229 229);
  letter-spacing: .02em;
}
.t-flow li:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
.t-flow .t-no {
  margin-bottom: 1.2rem;
  color: rgb(var(--c-accent-rgb));
  font-family: var(--font-en);
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1;
}
.t-flow h3 {
  margin-bottom: 1rem;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
}
.t-flow .t-txt {
  font-size: 1.4rem;
  line-height: 1.9;
}
@media print, screen and (min-width: 768px) {
  .t-flow {
    padding: 3rem;
  }
  .t-flow .t-wrap {
    padding: 10rem 7rem;
    border-radius: 3rem;
  }
  .t-flow .t-ttl {
    max-width: 112.6rem;
    margin: 0 auto 7rem;
  }
  .t-flow ol {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 4rem;
    max-width: 112.6rem;
    margin: 0 auto;
  }
  .t-flow li,
  .t-flow li:last-child {
    margin: 0;
    padding: 0;
    border: none;
  }
  .t-flow .t-no {
    display: flex;
    align-items: center;
    gap: 1.6rem;
    margin-bottom: 2.4rem;
    font-size: 2rem;
  }
  .t-flow .t-no::after {
    content: '';
    flex: 1;
    height: .1rem;
    background: rgb(var(--c-accent-rgb) / .4);
  }
  .t-flow li:last-child .t-no::after {
    background: transparent;
  }
  .t-flow h3 {
    margin-bottom: 1.4rem;
    font-size: 2rem;
  }
  .t-flow .t-txt {
    font-size: 1.5rem;
    line-height: 2;
  }
}
.t-faq {
  padding: 8rem 3rem;
  background: rgb(255 255 255);
}
.t-faq .t-ttl {
  margin-bottom: 4rem;
}
.t-faq dl {
  border-top: .1rem solid rgb(var(--c-ink-rgb) / .2);
}
.t-faq-item {
  border-bottom: .1rem solid rgb(var(--c-ink-rgb) / .2);
}
.t-faq dt button {
  display: block;
  position: relative;
  width: 100%;
  padding: 2rem 4rem 2rem 0;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: .02em;
  text-align: left;
}
.t-faq dt button::before,
.t-faq dt button::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 1rem;
  width: 1.2rem;
  height: .1rem;
  background: currentColor;
  transition: transform 300ms;
}
.t-faq dt button::after {
  transform: rotate(90deg);
}
.t-faq dt button[aria-expanded="true"]::after {
  transform: rotate(0);
}
.t-faq dt button:focus-visible {
  outline: .2rem solid rgb(var(--c-accent-rgb));
  outline-offset: .2rem;
}
.t-faq dd {
  padding: 0 4rem 2.4rem 0;
  color: rgb(70 70 70);
  font-size: 1.4rem;
  line-height: 1.9;
  letter-spacing: .02em;
}
.js .t-faq dd {
  display: none;
}
@media print, screen and (min-width: 768px) {
  .t-faq {
    padding: 14rem 5rem;
  }
  .t-faq .t-wrap {
    display: flex;
    justify-content: space-between;
    max-width: 112.6rem;
    margin: 0 auto;
  }
  .t-faq .t-ttl {
    flex: none;
    width: 34rem;
    margin-bottom: 0;
  }
  .t-faq dl {
    flex: 1;
    max-width: 72rem;
  }
  .t-faq dt button {
    padding: 2.6rem 6rem 2.6rem 0;
    font-size: 1.7rem;
  }
  .t-faq dd {
    padding: 0 6rem 3rem 0;
    font-size: 1.6rem;
    line-height: 2;
  }
}
.t-foot .t-cta {
  padding: 7rem 3rem 5rem;
  background: rgb(var(--c-sumi2-rgb));
  letter-spacing: .02em;
}
.t-foot .t-cta .t-label .t-lat {
  color: rgb(255 255 255 / .7);
}
.t-foot .t-cta h2 {
  margin-bottom: 2rem;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .04em;
}
.t-foot .t-cta .t-lead {
  margin-bottom: 4rem;
  font-size: 1.4rem;
  line-height: 1.9;
}
.t-foot .t-cta .t-links a {
  display: block;
  position: relative;
  margin-bottom: 1.5rem;
  padding-right: 4rem;
  border-bottom: .1rem solid rgb(255 255 255 / .3);
  font-size: 1.8rem;
  line-height: 5rem;
}
.t-foot .t-cta .t-links a::after {
  content: '';
  position: absolute;
  top: 0;
  right: 1rem;
  width: 1.4rem;
  height: 100%;
  background: url(../images/t-icon-001.svg) no-repeat 50% / 100% auto;
  transition: transform 300ms;
}
.t-foot .t-cta .t-links a:hover::after {
  transform: translateX(.6rem);
}
.t-foot .t-sitemap dt {
  margin-bottom: 1.6rem;
}
.t-foot .t-sitemap dt .t-ja {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 2rem;
}
.t-foot .t-sitemap dt:focus-visible {
  outline: .2rem solid rgb(255 255 255);
  outline-offset: .4rem;
}
.t-foot .t-sitemap .t-brand img {
  width: 12rem;
  margin-right: 0;
}
.no-js .t-foot .t-sitemap dd {
  display: block;
}
@media print, screen and (min-width: 768px) {
  .t-foot .t-cta {
    padding: 12rem 5rem 8rem;
  }
  .t-foot .t-cta .t-wrap {
    max-width: 112.4rem;
    margin: 0 auto;
  }
  .t-foot .t-cta h2 {
    margin-bottom: 2.4rem;
    font-size: 5.6rem;
  }
  .t-foot .t-cta .t-lead {
    margin-bottom: 6rem;
    font-size: 1.6rem;
  }
  .t-foot .t-cta .t-links {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 6rem;
  }
  .t-foot .t-cta .t-links a {
    font-size: 2.2rem;
    line-height: 7rem;
  }
  .t-foot .t-sitemap .t-brand img {
    width: 15rem;
  }
  .t-foot .t-sitemap .t-wrap {
    justify-content: flex-start;
    gap: 0 10rem;
  }
  .t-foot .t-sitemap dt {
    margin-bottom: 2.5rem;
  }
  .t-foot .t-sitemap dt .t-ja {
    font-size: 1.4rem;
    line-height: 1.8rem;
  }
  .t-foot .t-sitemap li a {
    font-size: 1.3rem;
  }
}
.t-drawer {
  visibility: hidden;
  transition: opacity 400ms, visibility 0s 400ms;
}
.t-drawer-open .t-drawer {
  visibility: visible;
  transition: opacity 400ms, visibility 0s 0s;
}
.t-drawer .t-menu {
  padding: 3rem;
}
.t-drawer .t-menu li {
  border-bottom: .1rem solid rgb(var(--c-sumi-rgb) / .2);
}
.t-drawer .t-menu a {
  display: block;
  padding: 1.8rem 0;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: .04em;
}
.t-drawer .t-menu .t-menu-cta {
  margin-top: 3rem;
  border-bottom: none;
}
.t-drawer .t-menu .t-menu-cta a {
  padding: 0;
  color: rgb(255 255 255);
  background: rgb(var(--c-accent-rgb));
  border-radius: 3em;
  line-height: 5rem;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .t-drawer .t-wrap {
    max-width: 60rem;
    margin: 0 auto;
    padding: 6rem 3rem;
  }
  .t-drawer .t-menu {
    padding: 0;
  }
  .t-drawer .t-menu a {
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1000px) {
  html {
    font-size: max(1vw, 10px);
  }
}
.t-label .t-ja {
  font-size: 14px;
}
.t-foot .t-copy {
  font-size: 12px;
}
@media screen and (max-width: 767px) {
  .t-ttl .t-lat {
    font-size: 5.8rem;
  }
  .t-label .t-lat {
    font-size: 2rem;
  }
}
@media print, screen and (min-width: 768px) {
  .t-reason li .t-txt,
  .t-flow .t-txt {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .t-message .t-wrap {
    display: block;
    max-width: 66rem;
  }
  .t-message .t-ttl {
    width: auto;
    margin-bottom: 5rem;
  }
  .t-message .t-body {
    max-width: none;
  }
}
@media screen and (max-width: 767px) {
  .t-foot .t-sitemap .t-brand {
    margin-left: 1.5rem;
  }
  .t-foot .t-legal {
    padding-left: 3rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .t-flow ol {
    grid-template-columns: repeat(2, 1fr);
    gap: 5rem 4rem;
  }
}
@media print, screen and (min-width: 768px) {
  .t-reason::before {
    z-index: -3;
  }
  .t-reason-bg {
    z-index: -2;
    transition: opacity 500ms 500ms;
  }
  .t-reason-bg.t-on {
    z-index: -1;
    transition-delay: 0s;
  }
  .t-reason-bg::after {
    background: linear-gradient(90deg, rgb(0 0 0 / .65) 0, rgb(0 0 0 / .6) calc(50% + 100px), rgb(0 0 0 / .35) calc(50% + 300px));
  }
  .t-reason.t-on li:not(.t-active) {
    opacity: .7;
  }
}
@media print, screen and (min-width: 1024px) {
  .t-reason-bg.t-v1 {
    background-size: max(100%, 2500px) auto;
    background-position: 0% 50%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .t-reason .t-wrap {
    display: block;
    max-width: 66rem;
  }
  .t-reason .t-ttl {
    margin-bottom: 5rem;
    padding-right: 0;
  }
  .t-reason ol {
    width: auto;
  }
  .t-reason-bg::after {
    background: rgb(0 0 0 / .6);
  }
}
@media screen and (min-width: 1024px) and (max-width: 1279px) {
  .t-reason .t-wrap {
    column-gap: 4.8rem;
  }
  .t-reason .t-ttl {
    padding-right: max(0px, min(calc(105 / 1126 * 100%), calc(100% - 92.4rem)));
  }
}
.t-numbers .t-ttl {
  margin-bottom: 2rem;
}
.t-numbers .t-ttl .t-cap {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: .4rem 1.2rem;
  margin-left: 0;
}
.t-numbers .t-ttl .t-lat {
  margin-bottom: 0;
  color: rgb(var(--c-accent-rgb));
  font-size: 1.6rem;
  letter-spacing: .08em;
}
.t-numbers .t-ttl .t-ja {
  font-size: 1.5rem;
  font-weight: 700;
}
.t-numbers .t-num {
  font-size: 5.6rem;
}
.t-flow {
  padding: 0 1.5rem 1.5rem;
}
.t-flow .t-wrap {
  padding: 0;
  background: none;
  border-radius: 0;
}
.t-flow .t-ttl {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: .4rem 1.6rem;
  margin: 0;
  padding: 6rem 2.5rem 3rem;
}
.t-flow .t-ttl .t-lat {
  margin-bottom: 0;
  font-size: 4rem;
}
.t-flow ol {
  padding: 4.4rem 2.5rem;
  background: rgb(255 255 255);
  border-radius: 1.5rem;
}
.t-faq .t-ttl .t-lat {
  display: none;
}
.t-faq .t-ttl .t-ja {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .04em;
}
@media print, screen and (min-width: 768px) {
  .t-numbers .t-ttl {
    margin-bottom: 2.4rem;
  }
  .t-numbers .t-ttl .t-cap {
    display: flex;
  }
  .t-numbers .t-ttl .t-ja {
    font-size: 1.6rem;
  }
  .t-numbers .t-num {
    font-size: 8rem;
  }
  .t-flow {
    padding: 0 3rem 3rem;
  }
  .t-flow .t-ttl {
    gap: .8rem 2.4rem;
    max-width: none;
    margin: 0;
    padding: 10rem max(7rem, calc((100% - 112.6rem) / 2)) 5rem;
  }
  .t-flow .t-ttl .t-lat {
    font-size: 5.6rem;
  }
  .t-flow ol {
    max-width: none;
    margin: 0;
    padding: 8rem max(7rem, calc((100% - 112.6rem) / 2));
    border-radius: 3rem;
  }
  .t-faq .t-ttl .t-ja {
    font-size: 4rem;
  }
}
@media print, screen and (min-width: 1024px) {
  .t-numbers .t-wrap {
    display: grid;
    grid-template-columns: 16rem 1fr;
  }
  .t-numbers .t-ttl {
    margin: 0;
    padding: 4rem 2rem 0 0;
    border-top: .1rem solid rgb(var(--c-accent-rgb));
    border-bottom: .1rem solid rgb(var(--c-ink-rgb) / .15);
  }
  .t-numbers .t-ttl .t-cap {
    display: block;
  }
  .t-numbers .t-ttl .t-lat {
    display: block;
    margin-bottom: 1rem;
  }
  .t-numbers dl,
  .t-numbers dl:nth-child(odd),
  .t-numbers dl:nth-child(even) {
    padding: 4rem 2rem 4.4rem;
  }
  .t-numbers dl:first-child {
    padding-left: 2rem;
    border-left: .1rem solid rgb(var(--c-ink-rgb) / .15);
  }
}
@media screen and (min-width: 1024px) and (max-width: 1279px) {
  .t-numbers .t-num {
    font-size: 6.4rem;
  }
}
@media print, screen and (min-width: 1024px) {
  .t-flow ol {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .t-flow ol {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5.6rem 4.8rem;
    padding: 7rem 6rem;
  }
  .t-flow li:nth-child(2n) .t-no::after {
    background: transparent;
  }
  .t-flow .t-ttl {
    padding-left: 6rem;
    padding-right: 6rem;
  }
  .t-numbers {
    padding-bottom: 10.4rem;
  }
  .t-numbers dl,
  .t-numbers dl:nth-child(odd),
  .t-numbers dl:nth-child(even) {
    padding: 3.2rem 1.2rem 3.6rem;
  }
  .t-numbers dl:first-child {
    padding-left: 0;
  }
  .t-numbers dd {
    font-size: 1.6rem;
  }
  .t-numbers .t-num {
    font-size: 6rem;
  }
}
.t-message-photo {
  position: relative;
  margin: 4rem 0 0;
  aspect-ratio: 4 / 3;
  border-radius: 1rem;
  overflow: hidden;
}
.t-message-photo::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgb(203 203 203);
  mix-blend-mode: multiply;
}
.t-message-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media print, screen and (min-width: 1024px) {
  .t-message .t-wrap {
    display: grid;
    grid-template-columns: 34rem minmax(0, 66rem);
    grid-template-rows: auto 1fr;
    justify-content: space-between;
  }
  .t-message .t-ttl {
    grid-column: 1;
    grid-row: 1;
  }
  .t-message .t-body {
    grid-column: 2;
    grid-row: 1 / span 2;
  }
  .t-message-photo {
    grid-column: 1;
    grid-row: 2;
    align-self: start;
    margin-top: 4.8rem;
  }
}
.t-issue {
  --is-side: 3rem;
  --is-gap: 1.2rem;
  --is-k: 1;
  --is-hr: 1.27;
  --is-cap: 32rem;
  container-type: inline-size;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
  min-height: 100vh;
  min-height: 100svh;
  padding: 5rem 0;
  overflow: visible;
}
.t-issue .t-ttl {
  margin: 0 3rem 3.2rem;
}
.t-issue .t-hscroll {
  --is-w: calc((100cqi - 2 * var(--is-side) - (var(--is-k) - 1) * var(--is-gap)) / var(--is-k));
  height: min(calc(var(--is-w) * var(--is-hr)), calc(100svh - var(--is-cap)));
  margin: 0 var(--is-side);
  overflow: hidden;
  border-radius: 1rem;
}
.t-issue .t-hscroll-track {
  gap: var(--is-gap);
  height: 100%;
  padding: 0;
}
.t-issue .t-hscroll-item,
.t-issue .t-hscroll-item:first-child,
.t-issue .t-hscroll-item:last-child {
  margin: 0;
}
.t-issue .t-hscroll-item {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  flex: none;
  justify-content: flex-end;
  gap: 1.2rem;
  width: var(--is-w);
  height: 100%;
  padding: 2.4rem 2.4rem 2.6rem;
}
.t-issue .t-ph {
  position: absolute;
  inset: 0;
  z-index: -1;
  margin: 0;
}
.t-issue .t-ph img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.t-issue .t-ph::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgb(var(--c-sumi-rgb) / .92) 0%, rgb(var(--c-sumi-rgb) / .66) 40%, rgb(var(--c-sumi-rgb) / 0) 72%), rgb(183 183 183);
  mix-blend-mode: multiply;
}
.t-issue .t-close {
  margin: 4rem 3rem 0;
}
@media print, screen and (min-width: 768px) {
  .t-issue {
    --is-side: 5rem;
    --is-gap: 2rem;
    --is-k: 2;
    --is-cap: 36rem;
    padding: 7rem 0;
  }
  .t-issue .t-ttl {
    width: calc(100% - 10rem);
    margin: 0 auto 5.6rem;
  }
  .t-issue .t-hscroll-item {
    gap: 1.4rem;
    padding: 3rem 3rem 3.2rem;
  }
  .t-issue .t-close {
    margin: 6rem 5rem 0;
  }
}
@media print, screen and (min-width: 1024px) {
  .t-issue {
    --is-side: 7.8rem;
    --is-gap: 2.8rem;
    --is-hr: .82;
  }
}
@media print, screen and (min-width: 1280px) {
  .t-issue {
    --is-k: 3;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-delay: 0s !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    transition-delay: 0s !important;
    scroll-behavior: auto !important;
  }
  .t-issue .t-hscroll {
    height: auto;
    overflow: visible;
    border-radius: 0;
  }
  .t-issue .t-hscroll-track {
    display: grid;
    grid-template-columns: repeat(var(--is-k), minmax(0, 1fr));
    position: static;
    height: auto;
    transform: none !important;
  }
  .t-issue .t-hscroll-item {
    width: auto;
    height: min(calc(var(--is-w) * var(--is-hr)), calc(100svh - var(--is-cap)));
  }
}
.t-foot .t-sitemap .t-brand img {
  transform: translateX(-2.516%);
}
@media screen and (min-width: 1024px) and (max-width: 1279px) {
  .t-message .t-wrap {
    grid-template-columns: minmax(0, 30rem) minmax(0, 66rem);
    grid-template-rows: auto auto;
    column-gap: 6rem;
  }
  .t-message .t-ttl {
    grid-column: 1 / -1;
    grid-row: 1;
    margin-bottom: 5rem;
  }
  .t-message .t-body {
    grid-column: 2;
    grid-row: 2;
  }
  .t-message-photo {
    grid-column: 1;
    grid-row: 2;
    margin-top: 0;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1279px) {
  .t-flow ol {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5.6rem 4.8rem;
    padding: 7rem 6rem;
  }
  .t-flow li:nth-child(2n) .t-no::after {
    background: transparent;
  }
  .t-flow .t-ttl {
    padding-left: 6rem;
    padding-right: 6rem;
  }
}
@media screen and (min-width: 1024px) {
  .t-issue {
    --is-side: max(5rem, (100cqi - 112.6rem) / 2);
  }
}
@media screen and (min-width: 768px) {
  .t-issue .t-ttl .t-cap {
    margin-left: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  body {
    --is-free: max(0px, (100svh - 42.08rem - (100% - 12rem) / 2 * 1.27) / 2);
  }
}
@media screen and (min-width: 1024px) and (max-width: 1279px) {
  body {
    --is-free: max(0px, (100svh - 42.08rem - (100% - 2 * max(5rem, (100% - 112.6rem) / 2) - 2.8rem) / 2 * .82) / 2);
  }
}
@media screen and (min-width: 1280px) {
  body {
    --is-free: max(0px, (100svh - 42.08rem - (100% - 2 * max(5rem, (100% - 112.6rem) / 2) - 5.6rem) / 3 * .82) / 2);
  }
}
@media screen and (min-width: 768px) {
  .t-message {
    padding-bottom: 8rem;
    margin-bottom: calc(-1 * var(--is-free, 0px));
  }
  .t-about {
    padding-top: 7rem;
    margin-top: calc(-1 * var(--is-free, 0px));
  }
  .t-issue {
    background: transparent;
    pointer-events: none;
  }
  .t-issue > * {
    pointer-events: auto;
  }
  .pin-spacer:has(> .t-issue) {
    pointer-events: none;
  }
}
@media screen and (min-width: 768px) and (prefers-reduced-motion: reduce) {
  body {
    --is-free: 0px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .t-flow {
    padding-right: 2rem;
    padding-bottom: 2rem;
    padding-left: 2rem;
  }
  .t-flow .t-ttl,
  .t-flow ol {
    padding-right: max(3rem, (100% - 112.6rem) / 2);
    padding-left: max(3rem, (100% - 112.6rem) / 2);
  }
}
@media screen and (min-width: 1280px) {
  .t-flow .t-ttl,
  .t-flow ol {
    padding-right: max(2rem, (100% - 112.6rem) / 2);
    padding-left: max(2rem, (100% - 112.6rem) / 2);
  }
}
@media screen and (max-width: 767px) {
  .t-flow {
    padding: 0 1rem 1rem;
  }
  .t-flow .t-ttl,
  .t-flow ol {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .t-message .t-wrap,
  .t-reason .t-wrap {
    max-width: none;
  }
  .t-message .t-body p {
    max-width: 26em;
  }
  .t-message-photo {
    max-width: 66rem;
  }
  .t-reason li .t-txt {
    max-width: 42em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .t-faq .t-wrap {
    display: block;
  }
  .t-faq .t-ttl {
    width: auto;
    margin-bottom: 5rem;
  }
  .t-faq dl {
    max-width: none;
  }
  .t-faq dd {
    max-width: 44em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .t-about .t-wrap {
    display: block;
  }
  .t-about .t-media {
    margin-bottom: 5rem;
  }
  .t-about .t-body > p:not(.t-label):not(.t-more) {
    max-width: 40em;
  }
}
@media print, screen and (min-width: 1024px) {
  .t-reason-bg.t-v3::after {
    background: linear-gradient(90deg, rgb(0 0 0 / .72) 0, rgb(0 0 0 / .7) calc(50% + 100px), rgb(0 0 0 / .35) calc(50% + 300px));
  }
}
@media screen and (min-width: 1024px) and (max-width: 1279px) {
  .t-reason-bg.t-v1 {
    background-size: cover;
    background-position: 60% 50%;
  }
}
.t-foot .t-sitemap dt .t-lat {
  display: block;
  color: rgb(255 255 255 / .7);
  font-family: var(--font-en);
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .02em;
}
@media print, screen and (min-width: 768px) {
  .t-foot .t-sitemap dt .t-lat {
    font-size: 1.6rem;
  }
  .t-foot .t-sitemap .t-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 4rem;
  }
}
@media print, screen and (min-width: 1024px) {
  .t-foot .t-sitemap {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: start;
    padding-right: max(5rem, calc((100% - 112.4rem) / 2));
    padding-left: max(5rem, calc((100% - 112.4rem) / 2));
  }
  .t-foot .t-sitemap .t-brand {
    max-width: none;
    margin: 0;
  }
  .t-foot .t-sitemap .t-wrap {
    display: contents;
  }
}
@media print, screen and (min-width: 768px) {
  .t-numbers dt {
    font-size: 1.4rem;
  }
  .fv-section-fv .fv-tagline {
    font-size: 14px;
  }
  .t-more a {
    font-size: 1.4rem;
  }
  .t-faq dt button {
    font-size: 1.6rem;
  }
  .t-foot .t-cta .t-links a {
    font-size: 2rem;
  }
}
.t-numbers .t-ttl .t-cap,
.t-flow .t-ttl {
  display: block;
}
.t-numbers .t-ttl .t-lat,
.t-flow .t-ttl .t-lat,
.t-faq .t-ttl .t-lat,
.t-about .t-label .t-lat,
.t-foot .t-cta .t-label .t-lat {
  display: block;
  margin-bottom: 1.5rem;
  font-family: var(--font-en);
  font-size: 5.8rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .02em;
}
.t-numbers .t-ttl .t-lat,
.t-about .t-label .t-lat {
  color: inherit;
}
.t-foot .t-cta .t-label .t-lat {
  color: rgb(255 255 255);
}
.t-numbers .t-ttl .t-ja,
.t-faq .t-ttl .t-ja,
.t-about .t-label .t-ja {
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .02em;
}
.t-about .t-label {
  display: block;
  margin-bottom: 4rem;
}
.t-foot .t-cta .t-label {
  display: block;
  margin-bottom: 3.2rem;
}
@media print, screen and (min-width: 768px) {
  .t-numbers .t-ttl .t-lat,
  .t-flow .t-ttl .t-lat,
  .t-faq .t-ttl .t-lat,
  .t-about .t-label .t-lat,
  .t-foot .t-cta .t-label .t-lat {
    margin-bottom: 2.3rem;
    font-size: 7rem;
  }
  .t-numbers .t-ttl .t-ja,
  .t-faq .t-ttl .t-ja,
  .t-about .t-label .t-ja {
    font-size: 1.8rem;
  }
  .t-about .t-label {
    margin-bottom: 6rem;
  }
  .t-foot .t-cta .t-label {
    margin-bottom: 4.8rem;
  }
  .t-issue .t-ttl .t-cap {
    display: table;
    margin-left: auto;
    text-align: right;
  }
  .t-reason .t-ttl,
  .t-flow .t-ttl {
    text-align: right;
  }
  .t-numbers .t-ttl .t-cap {
    display: block;
    margin-left: 0;
  }
}
@media print, screen and (min-width: 1024px) {
  .t-numbers .t-wrap {
    display: block;
  }
  .t-numbers .t-ttl {
    margin: 0 0 7rem;
    padding: 0;
    border: none;
  }
  .t-numbers dl:first-child {
    padding-left: 0;
    border-left: none;
  }
  .t-reason .t-ttl {
    padding-right: 0;
  }
  .t-about .t-wrap {
    flex-wrap: wrap;
    row-gap: 0;
  }
  .t-about .t-label {
    flex: 0 0 100%;
    margin-bottom: 7rem;
  }
}
body {
  --is-free: 0px;
}
.t-issue {
  --is-side: 3rem;
  --is-gap: 1.2rem;
  --is-line: 0px;
  --is-no: 5.2rem;
  display: block;
  min-height: 0;
  padding: 8rem 0;
  background: rgb(255 255 255);
}
.t-issue,
.t-issue .t-hscroll {
  --is-w: calc(100cqi - 2 * var(--is-side));
  --is-h: min(calc(var(--is-w) * 1.27), calc(100svh - 14rem));
}
.t-issue .t-hscroll {
  height: calc(var(--is-h) + var(--is-no));
  margin: 0;
  overflow: hidden;
  border-radius: 0;
  clip-path: inset(0 var(--is-side));
}
.t-issue .t-hscroll-track {
  gap: var(--is-gap);
  height: 100%;
  padding: 0 calc(var(--is-side) + var(--is-line));
}
.t-issue .t-hscroll-item,
.t-issue .t-hscroll-item:first-child,
.t-issue .t-hscroll-item:last-child {
  position: static;
  isolation: auto;
  overflow: visible;
  flex: none;
  justify-content: flex-start;
  gap: 0;
  width: var(--is-w);
  height: 100%;
  margin: 0;
  padding: 0;
  color: rgb(var(--c-ink-rgb));
  background: none;
  border-radius: 0;
}
.t-issue .t-hscroll-item .t-no {
  margin: 0 0 1.2rem;
  font-family: var(--font-en);
  font-size: 4rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .02em;
}
.t-issue .t-card {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  flex: none;
  box-sizing: border-box;
  height: var(--is-h);
  padding: 2.4rem 2.4rem 2.6rem;
  color: rgb(255 255 255);
  background: rgb(var(--c-sumi-rgb));
  border-radius: 1rem;
}
.t-issue .t-card .t-ph {
  position: absolute;
  inset: 0;
  z-index: -1;
  margin: 0;
  overflow: hidden;
}
.t-issue .t-card .t-ph img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}
.t-issue .t-card .t-ph::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgb(190 190 190);
  mix-blend-mode: multiply;
}
.t-issue .t-card .t-ph::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to top, rgb(0 0 0 / .36) 0%, rgb(0 0 0 / 0) 48%);
}
.t-issue .t-hscroll-item:hover .t-ph img {
  transform: scale(1.08);
}
.t-issue .t-card .t-txt {
  position: relative;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: .02em;
}
@media print, screen and (min-width: 768px) {
  .t-issue {
    --is-side: 0px;
    --is-gap: 2.8rem;
    --is-line: 5rem;
    --is-no: 6.2rem;
    padding: 12rem 0;
    pointer-events: auto;
  }
  .t-issue,
  .t-issue .t-hscroll {
    --is-w: min(clamp(38rem, 39cqi, 60rem), (100svh - 14rem) * .8);
    --is-h: calc(var(--is-w) * 1.25);
  }
  .t-issue .t-ttl {
    margin-bottom: 7rem;
  }
  .t-issue .t-hscroll-item .t-no {
    margin-bottom: 1.4rem;
    font-size: 4.8rem;
  }
  .t-issue .t-card {
    padding: 3.2rem 3.2rem 3.4rem;
  }
  .t-issue .t-card .t-txt {
    font-size: 2.2rem;
  }
  .t-issue .t-close {
    margin: 8rem 5rem 0;
  }
}
@media print, screen and (min-width: 1024px) {
  .t-issue {
    --is-line: 7.8rem;
  }
  .t-issue,
  .t-issue .t-hscroll {
    --is-w: min(clamp(46rem, 39cqi, 60rem), (100svh - 14rem) * .8);
  }
}
@media (prefers-reduced-motion: reduce) {
  .t-issue .t-hscroll {
    height: auto;
    overflow: visible;
  }
  .t-issue .t-hscroll-track {
    padding: 0 calc(var(--is-side) + var(--is-line));
  }
  .t-issue .t-hscroll-item,
  .t-issue .t-hscroll-item:first-child,
  .t-issue .t-hscroll-item:last-child {
    width: auto;
    height: auto;
  }
  .t-issue .t-card {
    height: auto;
    aspect-ratio: 4 / 5;
  }
}
.t-message {
  container-type: inline-size;
  padding: 8rem 0 6rem;
}
.t-message .t-wrap {
  display: block;
  max-width: none;
  margin: 0;
}
.t-message .t-ttl,
.t-message .t-body {
  width: auto;
  max-width: none;
  margin-right: 3rem;
  margin-left: 3rem;
}
.t-message .t-ttl {
  margin-bottom: 4rem;
}
.t-message .t-body p {
  max-width: none;
}
.t-message-photo {
  margin: 0 0 4.4rem .8rem;
  max-width: none;
  aspect-ratio: 4 / 3;
  border-radius: 1rem 0 0 1rem;
}
.t-message-photo img {
  transition: transform .5s ease;
}
.t-message-photo:hover img {
  transform: scale(1.08);
}
@media print, screen and (min-width: 768px) {
  .t-message {
    padding: 14rem 0 6rem;
  }
  .t-message .t-ttl,
  .t-message .t-body {
    margin-right: max(5rem, (100cqi - 112.6rem) / 2);
    margin-left: max(5rem, (100cqi - 112.6rem) / 2);
  }
  .t-message .t-ttl {
    margin-bottom: 6rem;
  }
  .t-message .t-body {
    max-width: 70rem;
  }
  .t-message .t-body p {
    margin-bottom: 3.2rem;
    font-size: 1.8rem;
    line-height: 2;
  }
  .t-message-photo {
    margin: 0 0 7rem 5rem;
    aspect-ratio: 8 / 3;
  }
}
@media print, screen and (min-width: 1024px) {
  .t-message {
    padding-top: 15rem;
  }
  .t-message-photo {
    margin-top: 0;
    margin-left: 7.8rem;
    align-self: auto;
  }
}
.t-about {
  container-type: inline-size;
  padding: 2.4rem 0 8rem;
}
.t-about .t-wrap {
  display: block;
  max-width: none;
  margin: 0;
}
.t-about .t-media {
  margin: 0 .8rem 4rem 0;
  border-radius: 0 1rem 1rem 0;
}
.t-about .t-media img {
  display: block;
  height: 100%;
  aspect-ratio: 4 / 3;
  transition: transform .5s ease;
}
.t-about .t-media:hover img {
  transform: scale(1.08);
}
.t-about .t-label,
.t-about .t-body {
  margin-right: 3rem;
  margin-left: 3rem;
}
.t-about .t-more a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.4rem;
  width: min(100%, 34rem);
  padding: 0 0 1.4rem;
  color: rgb(var(--c-ink-rgb));
  background: none;
  border: none;
  border-bottom: .1rem solid rgb(var(--c-ink-rgb) / .25);
  border-radius: 0;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  transition: color 300ms, border-color 300ms;
}
.t-about .t-more a::after {
  content: '';
  position: static;
  flex: none;
  width: 4.8rem;
  height: 4.8rem;
  background: rgb(var(--c-accent-rgb)) url(../images/t-icon-001.svg) no-repeat 50% / 1.5rem auto;
  border: .1rem solid rgb(var(--c-accent-rgb));
  border-radius: 50%;
  transform: rotate(-45deg);
  transition: background-color 300ms, transform 300ms;
}
.t-about .t-more a:hover {
  color: rgb(var(--c-accent-rgb));
  background: none;
  border-bottom-color: rgb(var(--c-accent-rgb));
}
.t-about .t-more a:hover::after {
  background-color: rgb(255 255 255);
  background-image: url(../images/t-icon-004.svg);
  transform: rotate(-45deg) translateX(.3rem);
}
@media print, screen and (min-width: 768px) {
  .t-about {
    padding: 4rem 0 12rem;
  }
  .t-about .t-wrap {
    display: block;
  }
  .t-about .t-media {
    margin: 0 5rem 6rem 0;
  }
  .t-about .t-media img {
    aspect-ratio: 16 / 9;
  }
  .t-about .t-label,
  .t-about .t-body {
    margin-right: max(5rem, (100cqi - 112.6rem) / 2);
    margin-left: max(5rem, (100cqi - 112.6rem) / 2);
  }
  .t-about .t-more a {
    font-size: 1.5rem;
  }
}
@media print, screen and (min-width: 1024px) {
  .t-about {
    padding: 4rem 0 14rem;
  }
  .t-about .t-wrap {
    display: grid;
    grid-template-columns: 50cqi minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 6rem;
    row-gap: 0;
    padding-right: 5rem;
  }
  .t-about .t-label {
    grid-column: 1 / -1;
    grid-row: 1;
    margin-bottom: 7rem;
  }
  .t-about .t-media {
    grid-column: 1;
    grid-row: 2;
    height: 56rem;
    margin: 0;
  }
  .t-about .t-media img {
    width: 100%;
    aspect-ratio: auto;
  }
  .t-about .t-body {
    grid-column: 2;
    grid-row: 2;
    align-self: center;
    max-width: 48rem;
    margin: 0;
  }
}
@media print, screen and (min-width: 1280px) {
  .t-about .t-wrap {
    grid-template-columns: 57cqi minmax(0, 1fr);
    column-gap: 8rem;
    padding-right: 7.8rem;
  }
  .t-about .t-media {
    height: 60rem;
  }
}
.t-reason {
  padding: 7rem 3rem 6rem;
  color: rgb(var(--c-ink-rgb));
  background: rgb(244 245 247);
}
.t-reason .t-ttl {
  margin-bottom: 2rem;
}
.t-reason-stage {
  position: sticky;
  top: 6.8rem;
  z-index: 2;
  margin: 0 -3rem;
  padding: 1.2rem 3rem 1.6rem;
  background: rgb(244 245 247);
}
.t-reason-frame {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border-radius: 1rem;
}
.t-reason-frame .t-reason-ph {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  opacity: 0;
  transition: opacity 500ms ease 500ms;
}
.t-reason-frame .t-reason-ph.t-on {
  z-index: 2;
  opacity: 1;
  transition-delay: 0s;
}
.t-reason ol {
  width: auto;
  margin: 0;
}
.t-reason li {
  display: grid;
  grid-template-columns: 3.6rem minmax(0, 1fr);
  align-items: baseline;
  margin: 0;
  padding: 1.6rem 0;
  border: none;
  cursor: pointer;
  opacity: 1;
}
.t-reason li .t-no {
  grid-column: 1;
  margin: 0;
  color: rgb(var(--c-ink-rgb));
  font-size: 1.5rem;
  transition: color 500ms;
}
.t-reason li h3 {
  grid-column: 2;
  margin: 0 0 .6rem;
  font-size: 1.8rem;
  transition: color 500ms;
}
.t-reason li .t-txt {
  grid-column: 2;
  max-width: none;
  color: rgb(var(--c-ink-rgb) / .85);
  font-size: 1.4rem;
  line-height: 1.9;
}
.t-reason li.t-active .t-no,
.t-reason li.t-active h3 {
  color: rgb(var(--c-accent-rgb));
}
.t-reason li:focus-visible {
  outline: .2rem solid rgb(var(--c-accent-rgb));
  outline-offset: .4rem;
  border-radius: .4rem;
}
@media print, screen and (min-width: 768px) {
  .t-reason {
    padding: 8rem 5rem 9rem;
    color: rgb(var(--c-ink-rgb));
    background: rgb(244 245 247);
  }
  .t-reason::before {
    content: none;
  }
  .t-reason .t-wrap {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42%;
    grid-template-rows: auto 1fr;
    column-gap: 5rem;
    max-width: 112.6rem;
    margin: 0 auto;
  }
  .t-reason .t-ttl {
    grid-column: 2;
    grid-row: 1;
    order: 0;
    margin: 0 0 3.6rem;
    padding-right: 0;
    text-align: right;
  }
  .t-reason-stage {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    top: max(12rem, 120px);
    margin: 0;
    padding: 0;
    background: none;
  }
  .t-reason-frame {
    aspect-ratio: 7 / 8;
  }
  .t-reason ol {
    grid-column: 1;
    grid-row: 1 / 3;
    align-self: end;
    order: 0;
    width: auto;
  }
  .t-reason li {
    grid-template-columns: 4.8rem minmax(0, 1fr);
    padding: 2.4rem 0;
    border: none;
  }
  .t-reason li:last-child {
    padding-bottom: 0;
    border: none;
  }
  .t-reason li .t-no {
    font-size: 1.6rem;
  }
  .t-reason li h3 {
    margin-bottom: .8rem;
    font-size: 2.2rem;
  }
  .t-reason li .t-txt {
    max-width: 34em;
    font-size: 1.6rem;
    line-height: 1.9;
  }
  .t-reason li:hover h3 {
    color: rgb(var(--c-accent-rgb));
  }
}
@media print, screen and (min-width: 1024px) {
  .t-reason .t-wrap {
    grid-template-columns: minmax(0, 1fr) min(56rem, 50%);
    column-gap: 6.4rem;
  }
}
.t-numbers {
  padding: 8rem 3rem 10rem;
}
.t-numbers .t-wrap {
  display: block;
}
.t-numbers .t-ttl {
  margin: 0 0 4.8rem;
  padding: 0;
  border: none;
}
.t-numbers .t-nb {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  row-gap: 4.8rem;
}
.t-numbers .t-nb dl,
.t-numbers .t-nb dl:nth-child(odd),
.t-numbers .t-nb dl:nth-child(even),
.t-numbers .t-nb dl:first-child {
  padding: 0;
  border: none;
  letter-spacing: .02em;
}
.t-numbers .t-nb dt {
  margin: 0;
  color: rgb(var(--c-accent-rgb));
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.5;
}
.t-numbers .t-nb dd {
  line-height: 1;
  white-space: nowrap;
}
.t-numbers .t-nb .t-num {
  margin: 0 .2rem;
  font-family: var(--font-en);
  font-weight: 600;
  line-height: 1;
}
.t-numbers .t-nb-main dt {
  margin-bottom: 1.2rem;
}
.t-numbers .t-nb-main dd {
  display: flex;
  align-items: baseline;
  font-size: 2rem;
  font-weight: 500;
}
.t-numbers .t-nb-main .t-num {
  margin: 0 .8rem 0 -.04em;
  font-size: 12rem;
  line-height: .86;
  letter-spacing: -.02em;
}
.t-numbers .t-nb-sub {
  display: grid;
  row-gap: 2rem;
  padding-top: 2.4rem;
  border-top: .1rem solid rgb(var(--c-ink-rgb) / .2);
}
.t-numbers .t-nb-sub dl,
.t-numbers .t-nb-sub dl:nth-child(odd),
.t-numbers .t-nb-sub dl:nth-child(even),
.t-numbers .t-nb-sub dl:first-child {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1.6rem;
}
.t-numbers .t-nb-sub dd {
  font-size: 1.4rem;
}
.t-numbers .t-nb-sub .t-num {
  font-size: 3.6rem;
}
@media print, screen and (min-width: 768px) {
  .t-numbers {
    padding: 12rem 5rem 14rem;
  }
  .t-numbers .t-ttl {
    margin-bottom: 6.4rem;
  }
  .t-numbers .t-nb {
    grid-template-columns: minmax(0, 1fr) 30rem;
    align-items: end;
    column-gap: 5.6rem;
  }
  .t-numbers .t-nb dt {
    font-size: 1.4rem;
  }
  .t-numbers .t-nb-main dt {
    margin-bottom: 1.6rem;
  }
  .t-numbers .t-nb-main dd {
    font-size: 2.4rem;
  }
  .t-numbers .t-nb-main .t-num {
    font-size: 14rem;
  }
  .t-numbers .t-nb-sub {
    row-gap: 2.4rem;
    padding-top: 3.2rem;
  }
  .t-numbers .t-nb-sub dd {
    font-size: 1.6rem;
  }
  .t-numbers .t-nb-sub .t-num {
    font-size: 4rem;
  }
}
@media print, screen and (min-width: 1024px) {
  .t-numbers {
    padding: 12rem 5rem 15rem;
  }
  .t-numbers .t-ttl {
    margin-bottom: 7.2rem;
  }
  .t-numbers .t-nb {
    grid-template-columns: minmax(0, 1fr) 36rem;
    column-gap: 8rem;
  }
  .t-numbers .t-nb-main .t-num {
    font-size: 16rem;
  }
  .t-numbers .t-nb-sub .t-num {
    font-size: 4.8rem;
  }
}
.t-flow {
  padding: 0 3rem 8rem;
  background: rgb(255 255 255);
}
.t-flow .t-wrap {
  max-width: 112.6rem;
  margin: 0 auto;
  padding: 0;
  background: none;
  border-radius: 0;
}
.t-flow .t-ttl {
  display: block;
  max-width: none;
  margin: 0 0 4rem;
  padding: 0;
}
.t-flow ol {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2.8rem;
  max-width: none;
  margin: 0;
  padding: 0;
  background: none;
  border-radius: 0;
}
.t-flow li,
.t-flow li:last-child {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: baseline;
  column-gap: 1.2rem;
  position: relative;
  margin: 0;
  padding: 0 0 0 3.2rem;
  border: none;
  letter-spacing: .02em;
}
.t-flow li::after {
  content: '';
  position: absolute;
  top: 1.8rem;
  bottom: -4.6rem;
  left: .45rem;
  width: .3rem;
  background: rgb(var(--c-sumi-rgb));
}
.t-flow li:last-child::after {
  content: none;
}
.t-flow li::before {
  content: '';
  position: absolute;
  z-index: 1;
  top: 1.3rem;
  left: .1rem;
  width: 1rem;
  height: 1rem;
  background: rgb(var(--c-accent-rgb));
  transform: rotate(45deg);
}
.t-flow .t-no {
  display: block;
  grid-column: 1;
  margin: 0;
  color: rgb(var(--c-ink-rgb));
  font-family: var(--font-en);
  font-size: 3.6rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
}
.t-flow .t-no::after {
  content: none;
}
.t-flow h3 {
  grid-column: 2;
  margin: 0;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.5;
}
.t-flow .t-txt {
  grid-column: 1 / -1;
  margin-top: 1rem;
  font-size: 1.4rem;
  line-height: 1.8;
}
@media print, screen and (min-width: 768px) {
  .t-flow {
    padding: 2rem 5rem 12rem;
  }
  .t-flow .t-ttl {
    margin-bottom: 8rem;
    padding: 0;
  }
  .t-flow ol {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6.4rem 4.8rem;
    padding: 0;
  }
  .t-flow li,
  .t-flow li:last-child {
    display: block;
    padding: 0;
  }
  .t-flow li::after {
    top: 6.4rem;
    bottom: auto;
    left: 0;
    right: -4.8rem;
    width: auto;
    height: .3rem;
  }
  .t-flow li:nth-child(2n)::after {
    content: none;
  }
  .t-flow li::before {
    top: 5.95rem;
    left: .1rem;
    width: 1.2rem;
    height: 1.2rem;
  }
  .t-flow .t-no {
    margin-bottom: 4.7rem;
    font-size: 4.8rem;
  }
  .t-flow h3 {
    margin-bottom: 1.2rem;
    font-size: 2rem;
  }
  .t-flow .t-txt {
    margin-top: 0;
    font-size: 1.6rem;
    line-height: 2;
  }
}
@media print, screen and (min-width: 1280px) {
  .t-flow ol {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4rem;
  }
  .t-flow li::after {
    right: -4rem;
  }
  .t-flow li:nth-child(2n)::after {
    content: '';
  }
  .t-flow li:last-child::after {
    content: none;
  }
}
.t-faq {
  padding: 8rem 3rem 9rem;
  background: rgb(241 241 241);
}
.t-faq .t-wrap {
  display: block;
  max-width: 112.6rem;
  margin: 0 auto;
}
.t-faq .t-ttl {
  flex: none;
  width: auto;
  margin: 0 0 4rem;
}
.t-faq dl {
  max-width: none;
  counter-reset: t-faq;
}
.t-faq-item {
  counter-increment: t-faq;
}
.t-faq dt::before {
  content: 'Q' counter(t-faq, decimal-leading-zero);
  display: block;
  padding-top: 2rem;
  color: rgb(var(--c-accent-rgb));
  font-family: var(--font-en);
  font-size: 1.3rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .08em;
}
.t-faq dt button {
  padding-top: .8rem;
}
@media screen and (max-width: 767px) {
  .t-faq dt button::before,
  .t-faq dt button::after {
    top: calc(50% - .6rem);
  }
}
@media print, screen and (min-width: 768px) {
  .t-faq {
    padding: 12rem 5rem 13rem;
  }
  .t-faq .t-wrap {
    display: block;
  }
  .t-faq .t-ttl {
    width: auto;
    margin-bottom: 6.4rem;
  }
  .t-faq dl {
    max-width: none;
  }
  .t-faq dt {
    display: flex;
    align-items: baseline;
  }
  .t-faq dt::before {
    flex: none;
    width: 8rem;
    padding-top: 0;
    font-size: 1.4rem;
  }
  .t-faq dt button {
    flex: 1;
    min-width: 0;
    padding: 2.8rem 6rem 2.8rem 0;
  }
  .t-faq dd {
    max-width: none;
    padding: 0 6rem 3.2rem 8rem;
  }
}
@media print, screen and (min-width: 1024px) {
  .t-faq dd {
    padding-right: 24rem;
  }
}
.t-faq dt button {
  transition: color 300ms;
}
.t-faq dt button:hover {
  color: rgb(var(--c-accent-rgb));
  opacity: 1;
}
.t-head-cta a {
  border-radius: .4rem;
}
.t-foot .t-cta .t-links a {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  min-height: 8rem;
  line-height: 1.5;
}
.t-foot .t-cta .t-links .t-tag {
  flex: none;
  min-width: 8.8rem;
  padding: .6rem .8rem .5rem;
  color: rgb(255 255 255 / .8);
  background: rgb(255 255 255 / .1);
  border-radius: .2rem;
  font-family: var(--font-en);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .14em;
  text-align: center;
  transition: color 300ms, background-color 300ms;
}
.t-foot .t-cta .t-links a:hover .t-tag {
  color: rgb(var(--c-sumi2-rgb));
  background: rgb(255 255 255);
}
.t-foot .t-sitemap .t-foot-mark {
  margin: 2rem 1.5rem 0;
  color: rgb(255 255 255);
  font-family: var(--font-en);
  font-size: 4.8rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .01em;
  text-align: right;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .t-foot .t-cta {
    padding-top: 9rem;
  }
}
@media print, screen and (min-width: 768px) {
  .t-foot .t-cta .t-links a {
    gap: 2.4rem;
    min-height: 9.6rem;
  }
  .t-foot .t-cta .t-links .t-tag {
    min-width: 10.4rem;
    padding: .7rem 1rem .6rem;
    font-size: 1.1rem;
  }
  .t-foot .t-sitemap {
    padding-top: 10rem;
    padding-bottom: 5.6rem;
  }
  .t-foot .t-sitemap .t-foot-mark {
    max-width: 112.4rem;
    margin: 6.4rem auto 0;
    font-size: 6.8rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .t-foot .t-cta .t-links a {
    gap: 1.6rem;
    font-size: 1.8rem;
  }
  .t-foot .t-cta .t-links .t-tag {
    min-width: 0;
    padding-right: .8rem;
    padding-left: .8rem;
    letter-spacing: .1em;
  }
}
@media print, screen and (min-width: 1024px) {
  .t-foot .t-sitemap .t-foot-mark {
    grid-column: 1 / -1;
    width: 100%;
    margin-top: 6.4rem;
  }
}
@media screen and (max-width: 767px) {
  .t-foot .t-legal {
    padding-bottom: calc(2rem + 9rem + env(safe-area-inset-bottom, 0px));
  }
}
.t-numbers .t-nb-sub {
  padding-bottom: .8rem;
  margin-bottom: -.8rem;
}
.t-cta h2 {
  word-break: auto-phrase;
}
@media screen and (max-width: 767px) {
  .t-numbers {
    padding-bottom: 9.2rem;
  }
  .t-flow {
    padding-top: .8rem;
  }
}
.t-issue .t-card {
  background: none;
  border-radius: 0;
  overflow: visible;
}
.t-issue .t-card .t-ph {
  border-radius: 1rem;
}
.t-issue .t-card .t-ph::before {
  content: none;
}
.t-issue .t-card .t-ph::after {
  background: rgb(175 175 175);
}
.t-issue .t-issue-pin {
  display: block;
}
@media screen and (max-width: 767px) {
  .t-issue,
  .t-issue .t-hscroll {
    --is-h: min(clamp(calc(var(--is-w) * 1.25), calc(100svh - 29rem - var(--is-no)), calc(var(--is-w) / .64)), calc(100svh - 14rem));
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .t-issue,
  .t-issue .t-hscroll {
    --is-h: min(clamp(calc(var(--is-w) * 1.25), calc(100svh - 35rem - var(--is-no)), calc(var(--is-w) / .64)), calc(100svh - 14rem));
  }
}
@media screen and (min-width: 1024px) and (max-width: 1279px) {
  .t-issue {
    --is-line: 5rem;
  }
}
.t-issue {
  background: rgb(241 241 241);
}
@media print, screen and (min-width: 768px) {
  .t-issue .t-ttl {
    box-sizing: border-box;
    width: auto;
    max-width: none;
    margin-right: calc(var(--is-side) + var(--is-line));
    margin-left: calc(var(--is-side) + var(--is-line));
    padding: 0;
  }
  .t-issue .t-ttl .t-cap {
    display: block;
    margin-left: 0;
    text-align: left;
  }
}
.t-issue a.t-card,
.t-about a.t-media,
.t-reason .t-reason-link {
  color: inherit;
}
.t-issue a.t-card { color: rgb(255 255 255); }
.t-issue a.t-card:hover,
.t-about a.t-media:hover,
.t-reason .t-reason-link:hover {
  opacity: 1;
}
.t-issue a.t-card::after,
.t-about a.t-media::after,
.t-reason .t-reason-link::after {
  content: '';
  flex: none;
  box-sizing: border-box;
  width: 4rem;
  height: 4rem;
  background: rgb(var(--c-accent-rgb)) url(../images/t-icon-001.svg) no-repeat 50% / 1.3rem auto;
  border: .1rem solid rgb(var(--c-accent-rgb));
  border-radius: 50%;
  transform: rotate(-45deg);
  transition: background-color 300ms, transform 300ms;
}
.t-issue a.t-card:hover::after,
.t-issue a.t-card:focus-visible::after,
.t-about a.t-media:hover::after,
.t-about a.t-media:focus-visible::after,
.t-reason .t-reason-link:hover::after,
.t-reason .t-reason-link:focus-visible::after {
  background-color: rgb(255 255 255);
  background-image: url(../images/t-icon-004.svg);
  transform: rotate(-45deg) translateX(.3rem);
}
.t-issue .t-hscroll-item:hover .t-ph img,
.t-issue a.t-card:focus-visible .t-ph img {
  transform: scale(1.1);
}
.t-issue a.t-card::after {
  position: absolute;
  top: 2rem;
  right: 2rem;
  z-index: 1;
}
.t-issue a.t-card:focus-visible {
  outline: .2rem solid rgb(var(--c-accent-rgb));
  outline-offset: .4rem;
}
.t-about a.t-media {
  display: block;
  position: relative;
}
.t-about a.t-media:hover img,
.t-about a.t-media:focus-visible img {
  transform: scale(1.1);
}
.t-about a.t-media::after {
  position: absolute;
  right: 2rem;
  bottom: 2rem;
  z-index: 1;
}
.t-about a.t-media:focus-visible {
  outline: .2rem solid rgb(var(--c-accent-rgb));
  outline-offset: .4rem;
}
.t-reason li {
  display: block;
}
.t-reason .t-reason-link {
  display: grid;
  grid-template-columns: 3.6rem minmax(0, 1fr) auto;
  align-items: baseline;
}
.t-reason .t-reason-link .t-no { grid-column: 1; grid-row: 1; }
.t-reason .t-reason-link h3 { grid-column: 2; grid-row: 1; }
.t-reason .t-reason-link .t-txt { grid-column: 2 / 4; grid-row: 2; }
.t-reason .t-reason-link::after {
  grid-column: 3;
  grid-row: 1;
  align-self: start;
  width: 3.6rem;
  height: 3.6rem;
  margin: -.4rem 0 -1.2rem 1.6rem;
}
.t-reason .t-reason-link:focus-visible {
  outline: .2rem solid rgb(var(--c-accent-rgb));
  outline-offset: .4rem;
  border-radius: .4rem;
}
.t-reason .t-reason-link:hover h3 {
  color: rgb(var(--c-accent-rgb));
}
.t-reason-frame .t-reason-ph {
  transition: opacity 500ms ease 500ms, transform 500ms ease;
}
.t-reason-frame .t-reason-ph.t-on {
  transition: opacity 500ms ease 0s, transform 500ms ease;
}
.t-reason:has(.t-reason-link:hover) .t-reason-ph.t-on,
.t-reason:has(.t-reason-link:focus-visible) .t-reason-ph.t-on {
  transform: scale(1.1);
}
@media print, screen and (min-width: 768px) {
  .t-issue a.t-card::after,
  .t-about a.t-media::after {
    width: 4.8rem;
    height: 4.8rem;
    background-size: 1.5rem auto;
  }
  .t-issue a.t-card::after {
    top: 2.4rem;
    right: 2.4rem;
  }
  .t-about a.t-media::after {
    right: 2.4rem;
    bottom: 2.4rem;
  }
  .t-reason .t-reason-link {
    grid-template-columns: 4.8rem minmax(0, 1fr) auto;
  }
  .t-reason .t-reason-link::after {
    width: 4rem;
    height: 4rem;
    margin: -.4rem 0 -1.2rem 2.4rem;
  }
}
@media print, screen and (min-width: 1024px) and (max-width: 1279px) {
  .t-message-photo {
    margin-left: max(5rem, (100cqi - 112.6rem) / 2);
  }
}
@media screen and (max-width: 767px) {
  .t-message-photo {
    margin-left: 16px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .t-reason .t-wrap {
    display: block;
  }
  .t-reason .t-ttl {
    margin: 0 0 4rem;
  }
  .t-reason-stage {
    position: static;
    margin: 0 0 4rem;
    background: none;
  }
  .t-reason-frame {
    aspect-ratio: 4 / 3;
  }
}
@media print, screen and (min-width: 768px) {
  .t-numbers {
    padding-bottom: 10rem;
  }
}
.t-flow li,
.t-flow li:last-child {
  padding-left: 4rem;
}
.t-flow li::after {
  top: 2.2rem;
  bottom: -5rem;
  left: .65rem;
  background: rgb(var(--c-ink-rgb));
}
.t-flow li::before {
  top: 1.4rem;
  left: 0;
  width: 1.6rem;
  height: 1.6rem;
  transform: none;
}
.t-flow .t-no {
  font-size: 4.4rem;
}
@media print, screen and (min-width: 768px) {
  .t-flow li,
  .t-flow li:last-child {
    padding: 0;
  }
  .t-flow .t-no {
    margin-bottom: 8rem;
    font-size: 5.6rem;
  }
  .t-flow li::after {
    top: 9.05rem;
    bottom: auto;
    left: 0;
  }
  .t-flow li::before {
    top: 8rem;
    left: 0;
    width: 2.4rem;
    height: 2.4rem;
  }
}
.t-faq dl,
.t-faq dl:first-child {
  padding: .8rem 2rem;
  background: rgb(255 255 255);
  border: none;
  border-radius: 3rem;
}
.t-faq-item {
  border-bottom: none;
  border-top: .1rem solid rgb(var(--c-ink-rgb) / .15);
}
.t-faq dl > .t-faq-item:first-child {
  border-top: none;
}
@media print, screen and (min-width: 768px) {
  .t-faq dl,
  .t-faq dl:first-child {
    padding: 1.2rem 4rem;
  }
}
@media print, screen and (min-width: 1024px) {
  .t-faq .t-wrap {
    display: grid;
    grid-template-columns: 30rem minmax(0, 1fr);
    column-gap: 6rem;
    align-items: start;
  }
  .t-faq .t-ttl {
    margin: 0;
  }
  .t-faq dl {
    padding: 1.6rem 4.8rem;
  }
  .t-faq dt::before {
    width: 6.4rem;
  }
  .t-faq dt button {
    padding-right: 5.6rem;
  }
  .t-faq dd {
    padding: 0 5.6rem 3.2rem 6.4rem;
  }
}
.t-foot .t-totop {
  transition: background-color 300ms;
}
.t-foot .t-totop::before {
  transition: transform 300ms;
}
.t-foot .t-totop:hover {
  background: rgb(255 255 255 / .14);
}
.t-foot .t-totop:hover::before {
  transform: rotate(-90deg) translateX(.4rem);
}
.t-head-cta a {
  border-radius: 999px;
}
@media screen and (max-width: 767px) {
  .t-foot .t-sitemap dt {
    cursor: pointer;
  }
  .t-foot .t-sitemap dt::before,
  .t-foot .t-sitemap dt::after {
    transition: transform 300ms;
  }
  .t-foot .t-sitemap dt .t-lat {
    transition: color 300ms;
  }
  .t-foot .t-sitemap dt:hover .t-lat {
    color: rgb(255 255 255);
  }
  .t-foot .t-sitemap dt:hover::before {
    transform: rotate(180deg);
  }
  .t-foot .t-sitemap dt:hover::after {
    transform: rotate(270deg);
  }
  .t-scrolled .t-head-cta,
  .t-scrolled .t-head-cta.t-ready-home {
    transform: translateY(0);
  }
  .t-foot .t-cta .t-links .t-tag {
    width: 9.8rem;
    min-width: 0;
    padding: .6rem .6rem .5rem;
    font-size: clamp(11px, 1.1rem, 12px);
    letter-spacing: .1em;
  }
}
@media print, screen and (min-width: 768px) {
  .t-head-cta a {
    line-height: 3.6rem;
  }
}
@media screen and (max-width: 767px) {
  html.t-cta-off .t-head-cta,
  html.t-cta-off .t-head-cta.t-ready-home {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 400ms ease, transform 1000ms cubic-bezier(0.19, 1, 0.22, 1), visibility 0s linear 400ms;
  }
}
.t-ttl .t-lat,
.t-ttl .t-ja,
.t-numbers .t-ttl .t-lat,
.t-numbers .t-ttl .t-ja,
.t-flow .t-ttl .t-lat,
.t-faq .t-ttl .t-lat,
.t-faq .t-ttl .t-ja,
.t-about .t-label .t-lat,
.t-about .t-label .t-ja,
.t-foot .t-cta .t-label .t-lat {
  letter-spacing: .02rem;
}
.t-message .t-body p,
.t-issue .t-close,
.t-about .t-body > p:not(.t-label):not(.t-more),
.t-reason li .t-txt,
.t-flow .t-txt,
.t-faq dd,
.t-foot .t-cta .t-lead {
  letter-spacing: .02rem;
}
.t-flow .t-no {
  font-size: 4rem;
}
.t-flow li::before {
  top: 1.2rem;
}
.t-flow li::after {
  top: 2rem;
}
.t-flow h3 {
  font-size: 1.8rem;
}
@media print, screen and (min-width: 768px) {
  .t-flow .t-no {
    font-size: 4.8rem;
  }
  .t-flow li::before {
    top: 7.2rem;
  }
  .t-flow li::after {
    top: 8.25rem;
  }
  .t-reason li h3,
  .t-flow h3 {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .t-about .t-body > p:not(.t-label):not(.t-more),
  .t-reason li .t-txt,
  .t-numbers .t-nb dt,
  .t-flow .t-txt,
  .t-faq dd,
  .t-foot .t-cta .t-lead {
    font-size: max(14.5px, 1.4rem);
  }
}
@media screen and (max-width: 767px) {
  .t-message-photo {
    aspect-ratio: 16 / 9;
  }
  .t-message-photo img {
    object-position: 80% 50%;
  }
}
.t-burger button span {
  visibility: hidden;
}
.t-burger button span::before,
.t-burger button span::after {
  visibility: visible;
}
.t-about {
  padding: 8rem 0;
  color: rgb(255 255 255);
  background: rgb(var(--c-sumi-rgb));
}
.t-about .t-label {
  margin-bottom: 3.2rem;
}
.t-about .t-label .t-lat,
.t-about .t-label .t-ja,
.t-about h2,
.t-about .t-body > p:not(.t-label):not(.t-more) {
  color: rgb(255 255 255);
}
.t-about .t-media {
  margin: 0 16px 4rem 0;
  border-radius: 0 1rem 1rem 0;
}
.t-about .t-media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-position: 80% 50%;
}
.t-about .t-more a {
  color: rgb(255 255 255);
  border-bottom-color: rgb(255 255 255 / .4);
}
.t-about .t-more a:hover {
  color: rgb(255 255 255);
  border-bottom-color: rgb(255 255 255);
}
@media print, screen and (min-width: 768px) {
  .t-about {
    padding: 10rem 0 12rem;
  }
  .t-about .t-label {
    margin-bottom: 5rem;
  }
  .t-about .t-media {
    margin: 0 5rem 6rem 0;
  }
  .t-about .t-media img {
    aspect-ratio: 16 / 9;
    object-position: 50% 50%;
  }
}
@media print, screen and (min-width: 1024px) and (max-width: 1279px) {
  .t-about .t-wrap {
    display: block;
    padding-right: 0;
  }
  .t-about .t-label {
    margin-bottom: 6rem;
  }
  .t-about .t-media {
    height: auto;
    margin: 0 5rem 6rem 0;
  }
  .t-about .t-body {
    max-width: 72rem;
    margin-right: max(5rem, (100cqi - 112.6rem) / 2);
    margin-left: max(5rem, (100cqi - 112.6rem) / 2);
  }
}
@media print, screen and (min-width: 1280px) {
  .t-about {
    padding: 0;
  }
  .t-about .t-wrap {
    position: relative;
    display: block;
    box-sizing: border-box;
    min-height: 56.25cqi;
    padding: clamp(5.6rem, calc(9rem - (144rem - 100cqi) * .2), 9rem) 0 clamp(5.6rem, calc(10rem - (144rem - 100cqi) * .25), 10rem) 7.8rem;
  }
  .t-about a.t-media {
    position: absolute;
    inset: 0;
    z-index: 0;
    height: auto;
    margin: 0;
    overflow: hidden;
    border-radius: 0;
  }
  .t-about a.t-media img {
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    object-fit: cover;
    object-position: calc(-2.3rem - (100cqi - 128rem) * .23) 50%;
  }
  .t-about a.t-media::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background: rgb(183 183 183);
    mix-blend-mode: multiply;
    pointer-events: none;
  }
  .t-about a.t-media::after {
    z-index: 2;
  }
  .t-about a.t-media:focus-visible {
    outline-color: rgb(255 255 255);
    outline-offset: -.6rem;
  }
  .t-about .t-label,
  .t-about .t-body {
    position: relative;
    z-index: 3;
    width: min(46rem, 31.94cqi);
    max-width: none;
    margin: 0;
    pointer-events: none;
  }
  .t-about .t-label {
    margin-bottom: min(5rem, 3.47cqi);
  }
  .t-about .t-label .t-lat {
    font-size: min(7rem, 4.861cqi);
  }
  .t-about h2 {
    font-size: min(4.4rem, 3.056cqi);
  }
  .t-about .t-body > p:not(.t-label):not(.t-more) {
    font-size: max(14.5px, min(1.6rem, 1.111cqi));
  }
  .t-about .t-more a {
    pointer-events: auto;
  }
}
@media print, screen and (min-width: 1440px) {
  .t-about a.t-media img {
    object-position: 38% 50%;
  }
}
@media screen and (max-width: 767px) {
  .t-reason-stage {
    padding-right: 0;
    padding-left: 16px;
  }
  .t-reason-frame {
    aspect-ratio: auto;
    height: min(calc(100vw - 16px), 46svh);
    border-radius: 1rem 0 0 1rem;
  }
  .t-reason-frame .t-reason-ph.t-v1 { object-position: 50% 20%; }
  .t-reason-frame .t-reason-ph.t-v2 { object-position: 50% 50%; }
  .t-reason-frame .t-reason-ph.t-v3 { object-position: 50% 40%; }
  .t-reason-frame .t-reason-ph.t-v4 { object-position: 50% 20%; }
}
@media screen and (max-width: 767px) {
  .t-issue .t-close {
    text-align: left;
  }
  .t-reason-stage {
    background: linear-gradient(to bottom, rgb(244 245 247) calc(100% - 1.6rem), rgb(244 245 247 / 0) calc(100% - 1.6rem));
  }
  .t-reason-stage::after {
    content: '';
    position: absolute;
    top: calc(100% - 1.6rem);
    right: 0;
    left: 0;
    height: 3.2rem;
    background: linear-gradient(to bottom, rgb(244 245 247), rgb(244 245 247 / 0));
    pointer-events: none;
  }
  .t-foot .t-sitemap .t-brand img {
    visibility: hidden;
  }
  .t-foot .t-legal {
    padding-bottom: calc(4.5rem + env(safe-area-inset-bottom, 0px));
  }
  html.t-cta-stay .t-foot .t-legal {
    padding-bottom: calc(2rem + 9rem + env(safe-area-inset-bottom, 0px));
  }
  .t-head .t-brand a {
    padding-left: 3rem;
  }
  .t-burger {
    right: 2.8rem;
  }
}
@media print, screen and (min-width: 768px) {
  .t-issue .t-close {
    margin-right: calc(var(--is-side) + var(--is-line));
    margin-left: calc(var(--is-side) + var(--is-line));
    text-align: left;
  }
  .t-reason li .t-txt {
    line-height: 2;
  }
  .t-foot .t-sitemap .t-brand {
    display: none;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1279px) {
  .t-about .t-more a {
    width: 100%;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1023px) {
  .t-about .t-more {
    max-width: 64rem;
  }
  .t-head .t-brand a {
    padding-left: 5rem;
  }
  .t-burger {
    right: 4.8rem;
  }
  .t-head-cta {
    right: 15.5rem;
  }
}
.t-foot .t-cta .t-links a::after {
  width: clamp(16px, 1.8rem, 20px);
}
.t-foot .t-copy {
  font-family: var(--font-jp);
}
@media screen and (max-width: 767px) {
  .t-ttl .t-lat,
  .t-numbers .t-ttl .t-lat,
  .t-flow .t-ttl .t-lat,
  .t-faq .t-ttl .t-lat,
  .t-about .t-label .t-lat,
  .t-foot .t-cta .t-label .t-lat {
    font-size: 6.4rem;
  }
  .t-message .t-body p {
    font-size: 1.8rem;
  }
}
@media print, screen and (min-width: 768px) {
  .t-foot .t-sitemap li a,
  .t-foot .t-legal li a {
    font-size: 1.2rem;
    line-height: 1.6rem;
  }
  .t-about .t-more a {
    font-size: 1.4rem;
  }
  .t-issue .t-card .t-txt {
    font-size: 2rem;
  }
  .t-issue .t-close {
    font-size: 2.4rem;
  }
  .t-foot .t-sitemap .t-foot-mark {
    font-size: 7rem;
  }
  .t-foot .t-copy {
    color: rgb(229 229 229);
  }
}
@media screen and (max-width: 767px) {
  .t-head-cta {
    right: 16px;
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    left: auto;
    width: auto;
  }
  .t-head-cta a {
    width: auto;
    padding: 0 2rem;
    line-height: 44px;
    white-space: nowrap;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1023px) {
  .t-about .t-body > p:not(.t-label):not(.t-more),
  .t-about .t-more {
    max-width: 66.8rem;
  }
}
@media print, screen and (min-width: 1280px) {
  .t-about a.t-media::after {
    content: none;
  }
  .t-about:has(a.t-media:hover) .t-more a,
  .t-about:has(a.t-media:focus-visible) .t-more a {
    border-bottom-color: rgb(255 255 255);
  }
  .t-about:has(a.t-media:hover) .t-more a::after,
  .t-about:has(a.t-media:focus-visible) .t-more a::after {
    background-color: rgb(255 255 255);
    background-image: url(../images/t-icon-004.svg);
    transform: rotate(-45deg) translateX(.3rem);
  }
}
@media print, screen and (min-width: 768px) {
  html:not(.fv-active) .t-head-cta.t-ready-home {
    top: auto;
    right: 2.4rem;
    bottom: 2.4rem;
    transform: translateY(0);
  }
  html:not(.fv-active) .t-head-cta.t-ready-home a {
    width: auto;
    padding: 0 2.4rem;
    font-size: 1.4rem;
    line-height: 4.4rem;
    white-space: nowrap;
  }
  html.t-cta-off:not(.fv-active) .t-head-cta.t-ready-home,
  html:not(.fv-active) .t-drawer-open .t-head-cta.t-ready-home {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 400ms ease, transform 1000ms cubic-bezier(0.19, 1, 0.22, 1), visibility 0s linear 400ms;
  }
}
.t-issue .t-card .t-txt {
  font-weight: 700;
  text-shadow: 0 .1rem .4rem rgb(0 0 0 / .35), 0 0 1.6rem rgb(0 0 0 / .45);
}
.t-numbers.t-nf {
  padding-top: 9rem;
  padding-bottom: 9.6rem;
  background: rgb(var(--c-sumi-rgb));
  color: #fff;
  word-break: auto-phrase;
}
.t-numbers.t-nf .t-ttl,
.t-numbers.t-nf .t-ttl .t-lat,
.t-numbers.t-nf .t-ttl .t-ja {
  color: #fff;
}
.t-numbers.t-nf dl,
.t-numbers.t-nf dt,
.t-numbers.t-nf dd {
  display: block;
  width: auto;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  text-align: left;
}
.t-numbers.t-nf .t-nf-main {
  margin-top: 4rem;
}
.t-numbers.t-nf .t-nf-main dt {
  margin-bottom: 1.2rem;
  color: rgb(var(--c-ondark-rgb));
  font-family: var(--font-jp);
  font-size: max(14.5px, 1.4rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .02rem;
}
.t-numbers.t-nf .t-nf-main dd:not(.t-numbers-note) {
  display: flex;
  align-items: flex-end;
  gap: .8rem;
  font-family: var(--font-jp);
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.4;
}
.t-numbers.t-nf .t-nf-main .t-num {
  display: block;
  margin: 0 0 -.12em -.05em;
  color: #fff;
  font-family: var(--font-en);
  font-size: 12rem;
  font-weight: 600;
  line-height: .86;
  letter-spacing: -.02em;
}
.t-numbers.t-nf .t-nf-flow {
  margin-top: 8rem;
  scroll-margin-top: 8rem;
}
.t-numbers.t-nf .t-nf-label {
  display: flex;
  align-items: baseline;
  gap: 1.6rem;
  margin: 0 0 4rem;
}
.t-numbers.t-nf .t-nf-label .t-lat {
  color: rgb(var(--c-ondark-rgb));
  font-family: var(--font-en);
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .16em;
}
.t-numbers.t-nf .t-nf-label .t-ja {
  font-family: var(--font-jp);
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .02rem;
}
.t-numbers.t-nf .t-nf-steps {
  margin: 0;
  padding: 0;
  list-style: none;
}
.t-numbers.t-nf .t-nf-steps li {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
}
.t-numbers.t-nf .t-nf-steps li::before,
.t-numbers.t-nf .t-nf-steps li::after,
.t-numbers.t-nf .t-nf-steps .t-no::before,
.t-numbers.t-nf .t-nf-steps .t-no::after {
  content: none;
}
.t-numbers.t-nf .t-nf-steps .t-no {
  margin: 0;
  color: #fff;
  font-family: var(--font-en);
  font-size: 4rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
}
.t-numbers.t-nf .t-nf-steps li:nth-child(4) .t-no {
  color: rgb(var(--c-ondark-rgb));
}
.t-numbers.t-nf .t-nf-steps h4 {
  margin: 0;
  font-family: var(--font-jp);
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .02rem;
}
.t-numbers.t-nf .t-nf-steps .t-txt {
  margin: 1.2rem 0 0;
  opacity: .82;
  font-family: var(--font-jp);
  font-size: max(14.5px, 1.4rem);
  line-height: 1.8;
  letter-spacing: .02rem;
}
.t-numbers.t-nf .t-nf-line {
  display: block;
  transform-origin: 0 0;
}
.t-numbers.t-nf .t-nf-free .t-nf-line {
  background: currentColor;
  opacity: .35;
}
.t-numbers.t-nf .t-nf-paid .t-nf-line {
  background: rgb(var(--c-ondark-rgb));
  box-shadow: 0 0 0 1px #fff;
}
.t-numbers.t-nf .t-nf-paid {
  position: relative;
}
.t-numbers.t-nf .t-nf-paid::before {
  content: "";
  position: absolute;
  z-index: 1;
  width: 1.4rem;
  height: 1.4rem;
  background: rgb(var(--c-ondark-rgb));
  box-shadow: 0 0 0 2px #fff;
  transform: translate(-50%, -50%) rotate(45deg);
}
.t-numbers.t-nf .t-nf-costs dt,
.t-numbers.t-nf .t-nf-price dt {
  color: rgb(var(--c-ondark-rgb));
  font-family: var(--font-jp);
  font-size: max(14.5px, 1.4rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .02rem;
}
.t-numbers.t-nf .t-nf-costs dt {
  opacity: .75;
}
.t-numbers.t-nf .t-nf-costs dd,
.t-numbers.t-nf .t-nf-price dd {
  margin-top: .4rem;
  font-family: var(--font-jp);
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}
.t-numbers.t-nf .t-nf-costs .t-num,
.t-numbers.t-nf .t-nf-price .t-num {
  display: inline;
  margin: 0 .2rem;
  color: #fff;
  font-family: var(--font-en);
  font-size: 4rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
}
.t-numbers.t-nf .t-nf-price dt {
  color: rgb(var(--c-ondark-rgb));
  font-weight: 700;
}
.t-numbers.t-nf .t-nf-price .t-num {
  color: rgb(var(--c-ondark-rgb));
  font-size: 5.6rem;
}
.t-numbers.t-nf .t-nf-point dt {
  color: rgb(var(--c-ondark-rgb));
  font-family: var(--font-jp);
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .1em;
}
.t-numbers.t-nf .t-nf-point dd {
  margin-top: .8rem;
  white-space: normal;
  font-family: var(--font-jp);
  font-size: max(14.5px, 1.4rem);
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: .02rem;
}
.t-numbers.t-nf .t-nf-point .t-nf-not {
  margin-top: .4rem;
  opacity: .75;
}
.t-numbers.t-nf .t-nf-price {
  margin-top: 2.8rem;
}
@media screen and (max-width: 1023px) {
  .t-numbers.t-nf .t-nf-grid {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    grid-template-rows: repeat(7, auto);
    column-gap: 1.6rem;
  }
  .t-numbers.t-nf .t-nf-steps,
  .t-numbers.t-nf .t-nf-band {
    display: grid;
    grid-column: 1 / -1;
    grid-row: 1 / 8;
    grid-template-columns: subgrid;
    grid-template-rows: subgrid;
  }
  .t-numbers.t-nf .t-nf-steps li {
    display: grid;
    grid-column: 2;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: baseline;
    column-gap: 1.2rem;
    padding-bottom: 3.6rem;
  }
  .t-numbers.t-nf .t-nf-steps li:nth-child(1) { grid-row: 1; }
  .t-numbers.t-nf .t-nf-steps li:nth-child(2) { grid-row: 2; }
  .t-numbers.t-nf .t-nf-steps li:nth-child(3) { grid-row: 3; }
  .t-numbers.t-nf .t-nf-steps li:nth-child(4) { grid-row: 6; padding-bottom: 2.8rem; }
  .t-numbers.t-nf .t-nf-steps .t-txt {
    grid-column: 1 / -1;
  }
  .t-numbers.t-nf .t-nf-free {
    display: grid;
    grid-column: 1 / -1;
    grid-row: 1 / 5;
    grid-template-columns: subgrid;
    grid-template-rows: subgrid;
  }
  .t-numbers.t-nf .t-nf-paid {
    display: grid;
    grid-column: 1 / -1;
    grid-row: 5 / 8;
    grid-template-columns: subgrid;
    grid-template-rows: subgrid;
  }
  .t-numbers.t-nf .t-nf-line {
    grid-column: 1;
    grid-row: 1 / -1;
    justify-self: center;
  }
  .t-numbers.t-nf .t-nf-free .t-nf-line {
    width: 1px;
    margin-top: .4rem;
  }
  .t-numbers.t-nf .t-nf-paid .t-nf-line {
    width: .6rem;
  }
  .t-numbers.t-nf .t-nf-paid::before {
    top: 0;
    left: 1rem;
  }
  .t-numbers.t-nf .t-nf-costs {
    display: flex;
    flex-wrap: wrap;
    gap: 1.6rem 3.2rem;
    grid-column: 2;
    grid-row: 4;
    padding-bottom: 4.4rem;
  }
  .t-numbers.t-nf .t-nf-point {
    grid-column: 2;
    grid-row: 1;
    margin-top: -.6rem;
    padding-bottom: 3.6rem;
  }
  .t-numbers.t-nf .t-nf-price {
    grid-column: 2;
    grid-row: 3;
    margin-top: 0;
  }
}
@media print, screen and (min-width: 768px) {
  .t-numbers.t-nf {
    padding-top: 14rem;
    padding-bottom: 14rem;
  }
  .t-numbers.t-nf .t-nf-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 4rem;
    align-items: end;
  }
  .t-numbers.t-nf .t-nf-head .t-ttl {
    grid-column: 1 / -1;
  }
  .t-numbers.t-nf .t-nf-main {
    grid-column: 1;
    grid-row: 2;
    margin-top: 0;
  }
  .t-numbers.t-nf .t-nf-main .t-num {
    font-size: 16rem;
  }
  .t-numbers.t-nf .t-nf-main dd {
    font-size: 2.4rem;
  }
  .t-numbers.t-nf .t-nf-flow {
    margin-top: 12rem;
  }
  .t-numbers.t-nf .t-nf-label {
    margin-bottom: 5.6rem;
  }
  .t-numbers.t-nf .t-nf-label .t-ja {
    font-size: 1.8rem;
  }
  .t-numbers.t-nf .t-nf-steps .t-no {
    font-size: 4.8rem;
  }
  .t-numbers.t-nf .t-nf-steps h4 {
    font-size: 2rem;
  }
  .t-numbers.t-nf .t-nf-steps .t-txt {
    font-size: 1.6rem;
    line-height: 2;
  }
}
@media print, screen and (min-width: 1024px) {
  .t-numbers.t-nf .t-nf-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 4rem;
  }
  .t-numbers.t-nf .t-nf-steps,
  .t-numbers.t-nf .t-nf-band {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: subgrid;
  }
  .t-numbers.t-nf .t-nf-band {
    margin-top: 5.6rem;
    align-items: start;
  }
  .t-numbers.t-nf .t-nf-steps .t-no {
    margin-bottom: 2.4rem;
    font-size: 5.6rem;
  }
  .t-numbers.t-nf .t-nf-steps .t-txt {
    margin-top: 1.2rem;
  }
  .t-numbers.t-nf .t-nf-free {
    display: grid;
    grid-column: 1 / 4;
    grid-template-columns: subgrid;
    grid-template-rows: 2.4rem auto;
  }
  .t-numbers.t-nf .t-nf-free .t-nf-line {
    grid-column: 1 / -1;
    align-self: center;
    height: 1px;
    margin-right: -4rem;
  }
  .t-numbers.t-nf .t-nf-costs {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: subgrid;
    padding-top: 2.8rem;
  }
  .t-numbers.t-nf .t-nf-paid {
    grid-column: 4;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: 2.4rem auto auto;
  }
  .t-numbers.t-nf .t-nf-paid .t-nf-line {
    align-self: center;
    height: .6rem;
  }
  .t-numbers.t-nf .t-nf-paid::before {
    top: 1.2rem;
    left: 0;
  }
  .t-numbers.t-nf .t-nf-point {
    padding-top: 2.8rem;
  }
}
.t-numbers.t-nf.t-nf-wait .t-nf-free .t-nf-line {
  transition: transform .7s cubic-bezier(.25, .1, .25, 1);
}
.t-numbers.t-nf.t-nf-wait .t-nf-paid .t-nf-line {
  transition: transform .5s cubic-bezier(.25, .1, .25, 1) .7s;
}
.t-numbers.t-nf.t-nf-wait .t-nf-paid::before {
  transition: opacity .3s ease .65s;
}
.t-numbers.t-nf.t-nf-wait:not(.t-nf-in) .t-nf-paid::before {
  opacity: 0;
}
@media print, screen and (min-width: 1024px) {
  .t-numbers.t-nf.t-nf-wait:not(.t-nf-in) .t-nf-line {
    transform: scaleX(0);
  }
}
@media screen and (max-width: 1023px) {
  .t-numbers.t-nf.t-nf-wait:not(.t-nf-in) .t-nf-line {
    transform: scaleY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .t-numbers.t-nf .t-nf-line,
  .t-numbers.t-nf.t-nf-wait:not(.t-nf-in) .t-nf-line {
    transform: none;
    transition: none;
  }
  .t-numbers.t-nf.t-nf-wait:not(.t-nf-in) .t-nf-paid::before {
    opacity: 1;
    transition: none;
  }
}
.t-numbers.t-nf .t-nf-costs .t-num {
  font-size: 4.8rem;
}
.t-numbers.t-nf .t-nf-price .t-num {
  font-size: 6.4rem;
}
@media print, screen and (min-width: 1024px) {
  .t-numbers.t-nf .t-nf-costs .t-num {
    font-size: 5.6rem;
  }
  .t-numbers.t-nf .t-nf-price .t-num {
    font-size: 8rem;
  }
  .t-numbers.t-nf .t-nf-costs dd,
  .t-numbers.t-nf .t-nf-price dd {
    font-size: 2rem;
  }
}
@media print, screen and (min-width: 768px) {
  .t-numbers.t-nf .t-nf-main dd:not(.t-numbers-note) { font-size: 2rem; }
}
@media print, screen and (min-width: 1024px) {
  .t-numbers.t-nf .t-nf-price .t-num { font-size: 7rem; }
}
@media screen and (max-width: 767px) {
  .t-numbers.t-nf .t-nf-label .t-ja { font-size: 1.8rem; }
}
.t-numbers.t-nf .t-nf-label {
  display: block;
  margin: 0 0 4rem;
}
.t-numbers.t-nf .t-nf-label .t-lat {
  display: block;
  color: #fff;
  font-family: var(--font-en);
  font-size: 4.4rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .02rem;
}
.t-numbers.t-nf .t-nf-label .t-ja {
  display: block;
  margin-top: 1.2rem;
  color: #fff;
  font-family: var(--font-jp);
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .02rem;
}
@media print, screen and (min-width: 768px) {
  .t-numbers.t-nf .t-nf-label { margin-bottom: 5.6rem; }
  .t-numbers.t-nf .t-nf-label .t-lat { font-size: 4.8rem; }
  .t-numbers.t-nf .t-nf-label .t-ja { margin-top: 1.6rem; }
}
@media print, screen and (min-width: 1024px) {
  .t-numbers.t-nf .t-nf-head {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
  }
  .t-numbers.t-nf .t-nf-head .t-ttl {
    grid-column: 1;
    grid-row: 1;
    margin-bottom: 0;
  }
  .t-numbers.t-nf .t-nf-main {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    margin: 0;
  }
  .t-numbers.t-nf .t-nf-main .t-num {
    font-size: 12rem;
  }
  .t-numbers.t-nf .t-nf-flow {
    margin-top: 10rem;
  }
  .t-numbers.t-nf .t-nf-label .t-lat { font-size: 5.6rem; }
  .t-numbers.t-nf .t-nf-label { margin-bottom: 6.4rem; }
  .t-numbers.t-nf .t-nf-grid {
    grid-template-rows: repeat(6, auto);
  }
  .t-numbers.t-nf .t-nf-steps {
    grid-row: 3 / 7;
    grid-template-rows: subgrid;
  }
  .t-numbers.t-nf .t-nf-steps li {
    display: grid;
    grid-row: 1 / -1;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: subgrid;
  }
  .t-numbers.t-nf .t-nf-steps li > .t-no { grid-row: 2; }
  .t-numbers.t-nf .t-nf-steps li > h4 { grid-row: 3; }
  .t-numbers.t-nf .t-nf-steps li > .t-txt { grid-row: 4; }
  .t-numbers.t-nf .t-nf-steps li:nth-child(-n+3)::before {
    content: "";
    position: relative;
    z-index: 2;
    grid-row: 1;
    align-self: center;
    width: 1.2rem;
    height: 1.2rem;
    margin-left: -.6rem;
    background: #fff;
  }
  .t-numbers.t-nf .t-nf-steps .t-no {
    margin: 2.8rem 0 2.4rem;
  }
  .t-numbers.t-nf .t-nf-steps .t-txt {
    margin-top: 1.2rem;
  }
  .t-numbers.t-nf .t-nf-band {
    grid-row: 1 / 4;
    grid-template-rows: subgrid;
    margin-top: 0;
    align-items: stretch;
  }
  .t-numbers.t-nf .t-nf-free {
    grid-row: 1 / -1;
    grid-template-rows: subgrid;
  }
  .t-numbers.t-nf .t-nf-paid {
    grid-row: 1 / -1;
    grid-template-rows: subgrid;
  }
  .t-numbers.t-nf .t-nf-costs {
    display: flex;
    grid-column: 1 / -1;
    grid-row: 1;
    align-self: end;
    gap: 0 8rem;
    padding: 0;
  }
  .t-numbers.t-nf .t-nf-price {
    grid-row: 1;
    align-self: end;
    margin: 0;
  }
  .t-numbers.t-nf .t-nf-costs dt,
  .t-numbers.t-nf .t-nf-price dt {
    color: rgb(var(--c-ondark-rgb));
    opacity: 1;
    font-family: var(--font-jp);
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .02rem;
  }
  .t-numbers.t-nf .t-nf-costs dd,
  .t-numbers.t-nf .t-nf-price dd {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    margin-top: .8rem;
    font-size: 2rem;
    line-height: 1;
    white-space: nowrap;
  }
  .t-numbers.t-nf .t-nf-costs .t-num,
  .t-numbers.t-nf .t-nf-price .t-num {
    display: block;
    margin: 0 .4rem 0 -.04em;
    font-size: 12.8rem;
    line-height: .9;
    letter-spacing: -.02em;
  }
  .t-numbers.t-nf .t-nf-price .t-num {
    margin-left: .4rem;
  }
  .t-numbers.t-nf .t-nf-point {
    grid-row: 2;
    padding: 2.4rem 0 3.2rem;
  }
  .t-numbers.t-nf .t-nf-point dt {
    color: #fff;
    font-size: max(14.5px, 1.4rem);
    letter-spacing: .16em;
  }
  .t-numbers.t-nf .t-nf-line {
    grid-row: 3;
  }
  .t-numbers.t-nf .t-nf-free .t-nf-line {
    grid-column: 1 / -1;
    align-self: center;
    height: 2px;
    margin-right: -4rem;
    opacity: .5;
  }
  .t-numbers.t-nf .t-nf-paid .t-nf-line {
    align-self: center;
    height: 1rem;
  }
  .t-numbers.t-nf .t-nf-paid::before {
    grid-row: 3;
    grid-column: 1;
    top: 50%;
    left: 0;
    width: 2rem;
    height: 2rem;
  }
}
@media print, screen and (min-width: 1200px) {
  .t-numbers.t-nf .t-nf-costs .t-num,
  .t-numbers.t-nf .t-nf-price .t-num {
    font-size: 14.4rem;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1199px) {
  .t-numbers.t-nf .t-nf-steps h4 {
    min-height: 3em;
  }
}
@media screen and (max-width: 1023px) {
  .t-numbers.t-nf .t-nf-steps li:nth-child(4) {
    grid-row: 5;
    padding-bottom: 3.6rem;
  }
  .t-numbers.t-nf .t-nf-point {
    grid-row: 2;
    margin-top: 0;
    padding-bottom: 2.8rem;
  }
}
.t-numbers.t-nf.t-nf-wait .t-nf-free .t-nf-line {
  transition: transform .55s linear;
}
.t-numbers.t-nf.t-nf-wait .t-nf-paid .t-nf-line {
  transition: transform .65s cubic-bezier(.19, 1, .22, 1) .55s;
}
.t-numbers.t-nf.t-nf-wait .t-nf-paid::before {
  transition: opacity .2s linear .5s;
}
.t-numbers.t-nf.t-nf-wait.t-nf-scrub .t-nf-line {
  transition: none;
}
.t-numbers.t-nf.t-nf-wait.t-nf-scrub .t-nf-paid::before {
  transition: opacity .3s linear;
}
.t-numbers.t-nf.t-nf-wait.t-nf-scrub.t-nf-dia:not(.t-nf-in) .t-nf-paid::before {
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  .t-numbers.t-nf.t-nf-wait .t-nf-line,
  .t-numbers.t-nf.t-nf-wait .t-nf-paid::before {
    transition: none;
  }
}
.t-head-cta a {
  transition: color 300ms, background-color 300ms, border-color 300ms;
}
@keyframes t-cta-float-in {
  from {
    opacity: 0;
    transform: translateY(100%);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes t-cta-head-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@media print, screen and (min-width: 768px) {
  html.fv-active .t-head-cta.t-ready-home {
    animation: t-cta-head-in 1000ms cubic-bezier(0.19, 1, 0.22, 1) backwards;
  }
  html:not(.fv-active) .t-head-cta.t-ready-home {
    right: 0;
    bottom: 2.4rem;
    animation: t-cta-float-in 1000ms cubic-bezier(0.19, 1, 0.22, 1) backwards;
  }
  html:not(.fv-active) .t-head-cta.t-ready-home a {
    width: 4.2rem;
    padding: 2.2rem 0 calc(2.2rem - .2em);
    border-radius: .4rem 0 0 .4rem;
    font-size: 1.4rem;
    line-height: 4.2rem;
    letter-spacing: .2em;
    text-align: center;
    white-space: nowrap;
    writing-mode: vertical-rl;
  }
  html.t-cta-off:not(.fv-active) .t-head-cta.t-ready-home,
  html:not(.fv-active) .t-drawer-open .t-head-cta.t-ready-home {
    animation: none;
  }
}
@media screen and (max-width: 767px) {
  html.t-cta-down:not(.fv-active) .t-head-cta.t-ready-home {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(100%);
    transition: opacity 400ms ease, transform 1000ms cubic-bezier(0.19, 1, 0.22, 1), visibility 0s linear 400ms;
  }
}
@media (prefers-reduced-motion: reduce) {
  html.fv-active .t-head-cta.t-ready-home,
  html:not(.fv-active) .t-head-cta.t-ready-home {
    animation: none;
  }
}
@media screen and (max-width: 1279px) {
  .t-about {
    color: rgb(var(--c-ink-rgb));
    background: rgb(255 255 255);
  }
  .t-about .t-label .t-lat,
  .t-about .t-label .t-ja,
  .t-about h2,
  .t-about .t-body > p:not(.t-label):not(.t-more) {
    color: rgb(var(--c-ink-rgb));
  }
  .t-about .t-more a {
    color: rgb(var(--c-ink-rgb));
    border-bottom-color: rgb(var(--c-ink-rgb) / .25);
  }
  .t-about .t-more a:hover {
    color: rgb(var(--c-accent-rgb));
    border-bottom-color: rgb(var(--c-accent-rgb));
  }
}
@media screen and (max-width: 767px) {
  .t-about a.t-media::after {
    content: none;
  }
  .t-about a.t-media:active img {
    transform: scale(1.1);
  }
  .t-about:has(a.t-media:hover) .t-more a,
  .t-about:has(a.t-media:focus-visible) .t-more a,
  .t-about:has(a.t-media:active) .t-more a {
    color: rgb(var(--c-accent-rgb));
    border-bottom-color: rgb(var(--c-accent-rgb));
  }
  .t-about:has(a.t-media:hover) .t-more a::after,
  .t-about:has(a.t-media:focus-visible) .t-more a::after,
  .t-about:has(a.t-media:active) .t-more a::after {
    background-color: rgb(255 255 255);
    background-image: url(../images/t-icon-004.svg);
    transform: rotate(-45deg) translateX(.3rem);
  }
}
html:root {
  --mv-l: var(--c-ink-rgb);
  --mv-r: var(--c-ink-rgb);
  --mv-rx: 255 255 255;
}
html:root.t-mv-dl {
  --mv-l: 255 255 255;
}
html:root.t-mv-dr {
  --mv-r: 255 255 255;
  --mv-rx: var(--c-sumi-rgb);
}
html:root .t-head {
  background: transparent;
  pointer-events: none;
}
html:root .t-head .t-brand a {
  pointer-events: auto;
}
html:root body.t-scrolled .t-head.t-ready-home,
html:root body.t-ready.t-scrolled .t-head {
  transform: translateY(0);
}
html:root .t-head .t-brand img {
  transition: filter 300ms ease;
}
html:root.t-mv-dl .t-head .t-brand img {
  filter: brightness(0) invert(1);
}
html:root body.t-drawer-open .t-head {
  pointer-events: auto;
}
html:root body.t-drawer-open .t-head .t-brand img {
  filter: brightness(0) invert(.18);
}
html:root .t-burger button {
  border-color: rgb(var(--mv-r));
  transition: opacity 300ms, border-color 300ms ease;
}
html:root .t-burger button span::before,
html:root .t-burger button span::after {
  background: rgb(var(--mv-r));
}
html:root body.t-drawer-open .t-burger button {
  border-color: rgb(var(--c-ink-rgb));
}
html:root body.t-drawer-open .t-burger button span::before,
html:root body.t-drawer-open .t-burger button span::after {
  background: rgb(var(--c-ink-rgb));
}
html:root .t-burger.t-ready-home,
html:root body.t-scrolled .t-burger.t-ready-home,
html:root body.t-ready .t-burger,
html:root body.t-ready.t-scrolled .t-burger {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: opacity 1000ms cubic-bezier(0.19, 1, 0.22, 1), transform 1000ms cubic-bezier(0.19, 1, 0.22, 1), visibility 0s 0s;
}
html:root.fv-active body:not(.t-drawer-open) .t-burger.t-ready-home,
html:root.fv-active body:not(.t-drawer-open) .t-burger {
  opacity: 0;
  visibility: hidden;
  transform: translateY(-1.2rem);
  transition: opacity 1000ms cubic-bezier(0.19, 1, 0.22, 1), transform 1000ms cubic-bezier(0.19, 1, 0.22, 1), visibility 0s 1000ms;
}
html:root.fv-active .t-head-cta,
html:root.fv-active .t-head-cta.t-ready-home {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
@media print, screen and (min-width: 1024px) {
  html:root .t-burger {
    display: none;
  }
  html:root .t-drawer {
    top: 0;
    right: 0;
    left: auto;
    width: auto;
    height: 9.6rem;
    z-index: 101;
    overflow: visible;
    visibility: visible;
    opacity: 1;
    pointer-events: none;
    background: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    transition: none;
  }
  html:root .t-drawer .t-wrap {
    max-width: none;
    height: 100%;
    margin: 0;
    padding: 0 7rem 0 0;
  }
  html:root .t-drawer .t-menu {
    display: flex;
    align-items: center;
    gap: 4rem;
    height: 100%;
    padding: 0;
  }
  html:root .t-drawer .t-menu li {
    border: 0;
    pointer-events: auto;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition: opacity 1000ms cubic-bezier(0.19, 1, 0.22, 1), transform 1000ms cubic-bezier(0.19, 1, 0.22, 1), visibility 0s 0s;
  }
  html:root.fv-active .t-drawer .t-menu li {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-1.2rem);
    transition: opacity 1000ms cubic-bezier(0.19, 1, 0.22, 1), transform 1000ms cubic-bezier(0.19, 1, 0.22, 1), visibility 0s 1000ms;
  }
  html:root .t-drawer .t-menu a {
    position: relative;
    display: block;
    padding: .6rem 0;
    color: rgb(var(--mv-r));
    font-family: var(--font-jp);
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .14em;
    white-space: nowrap;
    transition: color 300ms ease;
  }
  html:root .t-drawer .t-menu li:not(.t-menu-cta) a::after {
    content: '';
    position: absolute;
    left: 0;
    right: .14em;
    bottom: 0;
    height: .1rem;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 1000ms cubic-bezier(0.19, 1, 0.22, 1);
  }
  html:root .t-drawer .t-menu a:hover {
    opacity: 1;
  }
  html:root .t-drawer .t-menu li:not(.t-menu-cta) a:is(:hover, :focus-visible)::after {
    transform: scaleX(1);
  }
  html:root .t-drawer .t-menu .t-menu-cta {
    margin: 0;
  }
  html:root .t-drawer .t-menu .t-menu-cta a {
    padding: 0 2.4rem;
    background: transparent;
    border: .1rem solid rgb(var(--mv-r));
    border-radius: 999px;
    line-height: 3.8rem;
    letter-spacing: .1em;
    transition: color 300ms ease, border-color 300ms ease, background-color 1000ms cubic-bezier(0.19, 1, 0.22, 1);
  }
  html:root .t-drawer .t-menu .t-menu-cta a:hover {
    color: rgb(var(--mv-rx));
    background: rgb(var(--mv-r));
  }
}
@media (prefers-reduced-motion: reduce) {
  html:root .t-burger,
  html:root .t-drawer .t-menu li {
    transition: none !important;
  }
}
.t-foot .t-sitemap dt .t-ja {
  margin-top: .8rem;
  font-family: var(--font-jp);
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.6rem;
  white-space: nowrap;
}
@media print, screen and (min-width: 768px) {
  .t-foot .t-sitemap dt .t-ja {
    margin-top: 1rem;
    font-size: 1.1rem;
    line-height: 1.8rem;
  }
}
@media print, screen and (min-width: 1024px) {
  .t-foot .t-totop {
    right: max(4rem, calc((100% - 112.4rem) / 2));
  }
}
.t-foot .t-sitemap dt .t-ja {
  display: block;
  opacity: .6;
}
@media print, screen and (min-width: 768px) {
  .t-foot .t-sitemap dt .t-ja {
    padding-bottom: 1.6rem;
  }
}
@media print, screen and (min-width: 1280px) {
  .t-about a.t-media img {
    object-position: 0 50%;
  }
}
.t-sim {
  padding: 8rem 3rem;
  background: rgb(241 241 241);
  word-break: auto-phrase;
}
.t-sim .t-wrap {
  max-width: 112.6rem;
  margin: 0 auto;
}
.t-sim-head {
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .t-sim .t-ttl .t-lat {
    font-size: 5.2rem;
  }
}
.t-sim-head .t-lead {
  margin-top: 2.4rem;
  font-size: max(14.5px, 1.4rem);
  line-height: 1.9;
  letter-spacing: .02rem;
}
.t-sim-list {
  display: grid;
  gap: 1.6rem;
}
.t-sim-card {
  display: flex;
  flex-direction: column;
  padding: 2.8rem 2.4rem 2.4rem;
  background: rgb(255 255 255);
  border-radius: 1rem;
}
.t-sim-label {
  padding-bottom: 1.6rem;
  border-bottom: .1rem solid rgb(var(--c-ink-rgb) / .9);
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .02rem;
}
.t-sim-card dl:not(.t-sim-result) > div {
  display: flex;
  justify-content: space-between;
  gap: 1.6rem;
  padding: 1.1rem 0;
  border-bottom: .1rem solid rgb(var(--c-ink-rgb) / .12);
  font-size: max(14.5px, 1.4rem);
  line-height: 1.6;
  letter-spacing: .02rem;
}
.t-sim-card dl:not(.t-sim-result) dt {
  color: rgb(var(--c-accent-rgb));
}
.t-sim-card dl:not(.t-sim-result) dd {
  font-weight: 500;
  text-align: right;
}
.t-sim-result {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 1.2rem;
  margin-top: auto;
  padding: 1.8rem 2rem;
  color: rgb(255 255 255);
  background: rgb(var(--c-sumi-rgb));
  border-radius: .6rem;
}
.t-sim-card dl:not(.t-sim-result) {
  margin-bottom: 2.4rem;
}
.t-sim-result dt {
  color: rgb(var(--c-ondark-rgb));
  font-size: 1.3rem;
  letter-spacing: .02rem;
  white-space: nowrap;
}
.t-sim-result dd {
  margin-left: auto;
  font-size: 1.5rem;
  font-weight: 500;
  white-space: nowrap;
}
.t-sim-result .t-num {
  margin-right: .3rem;
  font-family: var(--font-en);
  font-size: 4rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -.01em;
}
@media print, screen and (min-width: 768px) {
  .t-sim {
    padding: 14rem 5rem;
  }
  .t-sim-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 4rem;
    margin-bottom: 6rem;
  }
  .t-sim-head .t-lead {
    margin: 0;
    font-size: 1.5rem;
  }
  .t-sim-card {
    padding: 3.2rem 3.2rem 3.2rem;
  }
  .t-sim-label {
    font-size: 2rem;
  }
  .t-sim-result .t-num {
    font-size: 4.8rem;
  }
}
@media print, screen and (min-width: 1024px) {
  .t-sim-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2.4rem;
  }
  .t-sim-card {
    padding: 3.2rem 2.8rem 2.8rem;
  }
  .t-sim-card dl:not(.t-sim-result) > div {
    font-size: 1.4rem;
  }
  .t-sim-result {
    padding: 1.8rem 2rem;
  }
  .t-sim-result .t-num {
    font-size: 4rem;
  }
}
@media print, screen and (min-width: 1280px) {
  .t-sim-result .t-num {
    font-size: 4.4rem;
  }
}
.t-cases-v2 .swiper-slide {
  width: 28rem;
  height: auto;
}
.t-cases-v2 .t-case {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  height: 100%;
  padding-top: 2.4rem;
  color: inherit;
  border-top: .1rem solid rgb(var(--c-ink-rgb) / .9);
}
.t-cases-v2 .t-case-tag {
  align-self: flex-start;
  padding: .3rem 1.2rem;
  color: rgb(var(--c-accent-rgb));
  border: .1rem solid rgb(var(--c-ink-rgb) / .2);
  border-radius: 3em;
  font-size: 1.2rem;
  line-height: 1.8;
  letter-spacing: .02rem;
}
.t-cases-v2 h3 {
  margin: 1.6rem 0 2.4rem;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .02rem;
  transition: opacity 300ms;
}
.t-cases-v2 .t-case-nums {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem 1.2rem;
  margin-top: auto;
  padding: 2rem 0;
  border-top: .1rem solid rgb(var(--c-ink-rgb) / .12);
  border-bottom: .1rem solid rgb(var(--c-ink-rgb) / .12);
}
.t-cases-v2 .t-case-nums dt {
  color: rgb(var(--c-accent-rgb));
  font-size: 1.2rem;
  line-height: 1.5;
  letter-spacing: .02rem;
}
.t-cases-v2 .t-case-nums dd {
  margin-top: .6rem;
  font-size: 1.3rem;
  font-weight: 500;
  white-space: nowrap;
}
.t-cases-v2 .t-case-nums .t-num {
  margin-right: .2rem;
  font-family: var(--font-en);
  font-size: 3.2rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -.01em;
}
.t-cases-v2 .t-case-sales {
  grid-column: 1 / -1;
}
.t-cases-v2 .t-case-sales .t-num {
  font-size: 4.4rem;
}
.t-cases-v2 .t-case-go {
  position: relative;
  align-self: flex-end;
  margin-top: 1.6rem;
  padding-right: 2.8rem;
  font-family: var(--font-en);
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: .1em;
}
.t-cases-v2 .t-case-go::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  width: 1.8rem;
  height: .1rem;
  background: currentColor;
  transition: width 300ms;
}
@media (hover: hover) {
  .t-cases-v2 .t-case:hover h3 {
    opacity: .6;
  }
  .t-cases-v2 .t-case:hover .t-case-go::after {
    width: 2.4rem;
  }
}
.t-cases-v2 .swiper-button-prev,
.t-cases-v2 .swiper-button-next {
  top: 9.2rem;
}
@media print, screen and (min-width: 768px) {
  .t-cases-v2 .swiper-wrapper {
    grid-template-columns: repeat(2, 1fr);
    gap: 5rem 3rem;
  }
  .t-cases-v2 .swiper-slide {
    width: auto;
  }
  .t-cases-v2 h3 {
    font-size: 2rem;
  }
  .t-cases-v2 .t-case-nums .t-num {
    font-size: 3.6rem;
  }
  .t-cases-v2 .t-case-sales .t-num {
    font-size: 4.8rem;
  }
}
@media print, screen and (min-width: 1024px) {
  .t-cases-v2 .swiper-wrapper {
    grid-template-columns: repeat(3, 1fr);
  }
  .t-cases-v2 .t-case-nums .t-num {
    font-size: 3.2rem;
  }
  .t-cases-v2 .t-case-sales .t-num {
    font-size: 4.4rem;
  }
}
html:root .t-reason-stage {
  display: none;
}
html:root .t-reason .t-wrap {
  display: block;
  max-width: 112.6rem;
  margin: 0 auto;
}
html:root .t-reason .t-vr-ph {
  display: block;
  overflow: hidden;
  margin: 0;
  aspect-ratio: 4 / 3;
  border-radius: 1rem;
}
html:root .t-reason .t-vr-ph img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 45%;
  transition: transform .5s ease;
}
html:root .t-reason .t-reason-link:hover .t-vr-ph img {
  transform: scale(1.06);
}
html:root .t-reason li .t-no,
html:root .t-reason li.t-active .t-no {
  color: rgb(var(--c-accent-rgb));
}
html:root .t-reason li h3,
html:root .t-reason li.t-active h3 {
  color: rgb(var(--c-ink-rgb));
}
html:root .t-reason .t-vr-ph { grid-column: 1 / -1; grid-row: 1; margin-bottom: 2rem; }
html:root .t-reason .t-reason-link .t-no { grid-row: 2; }
html:root .t-reason .t-reason-link h3 { grid-row: 2; }
html:root .t-reason .t-reason-link::after { grid-row: 2; }
html:root .t-reason .t-reason-link .t-txt { grid-row: 3; }
html:root .t-reason ol {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 4.8rem;
}
html:root .t-reason li {
  padding: 0;
}
@media print, screen and (min-width: 768px) {
  html:root .t-reason .t-ttl {
    margin-bottom: 5rem;
  }
  html:root .t-reason ol {
    gap: 8rem;
  }
  html:root .t-reason .t-reason-link {
    grid-template-columns: minmax(0, 46%) 4.8rem minmax(0, 1fr) auto;
    grid-template-rows: 1fr auto auto 1fr;
  }
  html:root .t-reason .t-vr-ph {
    grid-column: 1;
    grid-row: 1 / 5;
    align-self: stretch;
    margin: 0 5rem 0 0;
  }
  html:root .t-reason .t-reason-link .t-no { grid-column: 2; grid-row: 2; }
  html:root .t-reason .t-reason-link h3 { grid-column: 3; grid-row: 2; }
  html:root .t-reason .t-reason-link::after { grid-column: 4; grid-row: 2; }
  html:root .t-reason .t-reason-link .t-txt { grid-column: 3 / 5; grid-row: 3; }
  html:root .t-reason li:nth-child(even) .t-reason-link {
    grid-template-columns: 4.8rem minmax(0, 1fr) auto minmax(0, 46%);
  }
  html:root .t-reason li:nth-child(even) .t-vr-ph { grid-column: 4; margin: 0 0 0 5rem; }
  html:root .t-reason li:nth-child(even) .t-reason-link .t-no { grid-column: 1; }
  html:root .t-reason li:nth-child(even) .t-reason-link h3 { grid-column: 2; }
  html:root .t-reason li:nth-child(even) .t-reason-link::after { grid-column: 3; }
  html:root .t-reason li:nth-child(even) .t-reason-link .t-txt { grid-column: 2 / 4; }
  html:root .t-reason li .t-txt {
    max-width: none;
  }
}
html,
body {
  overflow-x: clip;
}
.t-issue {
  overflow: clip;
}
@media (prefers-reduced-motion: no-preference) {
  .t-issue .t-hscroll {
    overflow: clip;
  }
}
#message .t-message-photo {
  margin-bottom: 6.4rem;
}
#message .t-body p {
  margin-bottom: 5.6rem;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: .04em;
  color: rgb(var(--c-ink-rgb));
}
#message .t-body p:last-child {
  margin-bottom: 0;
}
@media print, screen and (min-width: 768px) {
  #message .t-message-photo {
    margin-bottom: 11rem;
  }
  #message .t-body {
    max-width: 100rem;
  }
  #message .t-body p {
    margin-bottom: 9.6rem;
    font-size: 3.2rem;
    line-height: 1.7;
  }
}
#message {
  padding-bottom: 8rem;
}
#message .t-body p {
  margin-bottom: 2.4rem;
  font-weight: 700;
}
#message .t-body p:last-child {
  margin-bottom: 0;
}
@media print, screen and (min-width: 768px) {
  #message {
    padding-bottom: 14rem;
  }
  #message .t-body p {
    margin-bottom: 4rem;
  }
}
@media print, screen and (min-width: 1024px) {
  #message {
    padding-bottom: 15rem;
  }
}
#issue-close {
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  align-items: flex-start;
  gap: 1.6rem;
  margin: 9rem 3rem 0;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .14em;
  text-align: left;
  color: rgb(var(--c-sumi-rgb));
}
#issue-close > .t-nw {
  writing-mode: vertical-rl;
  text-orientation: mixed;
}
#issue-close > .t-nw:has(.t-close-em) {
  margin-top: 2.2em;
}
#issue-close .t-close-em {
  -webkit-text-emphasis: filled dot rgb(var(--c-accent-rgb));
  text-emphasis: filled dot rgb(var(--c-accent-rgb));
}
@media print, screen and (min-width: 768px) {
  #issue-close {
    gap: 2.4rem;
    margin-top: 14rem;
    font-size: 4.8rem;
  }
}
#t-cases-top .swiper-button-prev,
#t-cases-top .swiper-button-next,
#t-cases-top .swiper-scrollbar {
  display: none;
}
#t-cases-top .swiper {
  overflow: visible;
}
@media screen and (max-width: 767px) {
  #t-cases-top .swiper {
    margin: 0 3rem 4rem;
  }
}
#t-cases-top .swiper-wrapper {
  display: block;
  height: auto;
  transform: none !important;
}
#t-cases-top .swiper-slide {
  width: auto;
  height: auto;
  margin-right: 0;
}
#t-cases-top .swiper-wrapper {
  border-top: .1rem solid rgb(var(--c-ink-rgb) / .9);
}
#t-cases-top .t-case {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 1.6rem;
  height: auto;
  padding: 2.4rem 0;
  border-top: none;
  border-bottom: .1rem solid rgb(var(--c-ink-rgb) / .2);
}
#t-cases-top .t-case-tag {
  grid-area: 1 / 1;
  justify-self: start;
}
#t-cases-top .t-case-go {
  grid-area: 1 / 2;
  align-self: center;
  margin-top: 0;
}
#t-cases-top h3 {
  grid-area: 2 / 1 / 3 / -1;
  margin: 1.2rem 0 1.6rem;
  font-size: 1.7rem;
}
#t-cases-top .t-case-nums {
  grid-area: 3 / 1 / 4 / -1;
  grid-template-columns: 1fr 1fr 1.5fr;
  gap: 0 1.2rem;
  margin-top: 0;
  padding: 0;
  border: none;
}
#t-cases-top .t-case-nums dd {
  margin-top: .4rem;
}
#t-cases-top .t-case-sales {
  grid-column: auto;
}
#t-cases-top .t-case-nums .t-num {
  font-size: 2.6rem;
}
#t-cases-top .t-case-sales .t-num {
  font-size: 2.8rem;
}
@media print, screen and (min-width: 768px) {
  #t-cases-top .swiper {
    margin-bottom: 6rem;
  }
  #t-cases-top .t-case {
    grid-template-columns: minmax(0, 1fr) 38rem 8rem;
    column-gap: 3rem;
    align-items: center;
    padding: 3rem 0;
  }
  #t-cases-top .t-case-tag {
    grid-area: 1 / 1;
  }
  #t-cases-top h3 {
    grid-area: 2 / 1;
    margin: .8rem 0 0;
    font-size: 2rem;
  }
  #t-cases-top .t-case-nums {
    grid-area: 1 / 2 / 3 / 3;
  }
  #t-cases-top .t-case-go {
    grid-area: 1 / 3 / 3 / 4;
    justify-self: end;
  }
  #t-cases-top .t-case-nums .t-num {
    font-size: 3.2rem;
  }
  #t-cases-top .t-case-sales .t-num {
    font-size: 3.6rem;
  }
}
@media print, screen and (min-width: 1024px) {
  #t-cases-top {
    display: grid;
    grid-template-columns: 26rem minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    column-gap: 6rem;
    padding-left: max(5rem, calc((100% - 112.6rem) / 2));
    padding-right: max(5rem, calc((100% - 112.6rem) / 2));
  }
  #t-cases-top .t-ttl {
    grid-area: 1 / 1;
    max-width: none;
    margin: 0;
  }
  #t-cases-top .swiper {
    grid-area: 1 / 2 / 3 / 3;
    max-width: none;
    margin: 0;
  }
  #t-cases-top .t-more {
    grid-area: 2 / 1;
    align-self: start;
    max-width: none;
    margin: 5rem 0 0;
    text-align: left;
  }
}
#message .t-rd-ch {
  color: rgb(var(--c-ink-rgb) / .16);
  transition: color .15s linear;
}
#message .t-rd-ch.is-on {
  color: rgb(var(--c-ink-rgb));
}
#issue .t-card .t-txt {
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: .02em;
}
#issue .t-card .t-ph::before {
  background: linear-gradient(to top, rgb(0 0 0 / .5) 0%, rgb(0 0 0 / 0) 60%);
}
@media print, screen and (min-width: 768px) {
  #issue .t-card .t-txt {
    font-size: 3.2rem;
  }
}
#issue-close {
  align-items: center;
  min-height: 100svh;
  margin: 9rem 0 -8rem;
  padding: 8rem 3rem;
  box-sizing: border-box;
}
@media print, screen and (min-width: 768px) {
  #issue-close {
    margin: 14rem 0 -12rem;
    font-size: min(4.8rem, (100svh - 16rem) / 15.5);
  }
}
#issue-close {
  transition: background-color .8s ease, color .8s ease;
}
#issue-close.is-in {
  background-color: rgb(var(--c-sumi-rgb));
  color: rgb(255 255 255);
}
#issue-close.is-in .t-close-em {
  -webkit-text-emphasis-color: rgb(var(--c-ondark-rgb));
  text-emphasis-color: rgb(var(--c-ondark-rgb));
}
#numbers .t-pr,
#numbers .t-pr-new {
  display: none;
}
#message {
  position: relative;
  height: 380vh;
  height: 380svh;
  padding: 0;
  background: rgb(var(--c-sumi-rgb));
}
#message .t-wrap {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
  height: 100vh;
  height: 100svh;
  max-width: none;
  margin: 0;
  padding: 7rem 3rem 3rem;
  overflow: hidden;
  background: rgb(var(--c-sumi-rgb));
}
#message .t-message-photo {
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  z-index: 0;
  max-width: none;
  margin: 0;
  grid-area: auto;
  aspect-ratio: 16 / 9;
  border-radius: 0;
  transform: translateY(-50%);
}
#message .t-message-photo img,
#message .t-message-photo:hover img {
  object-position: 80% 50%;
  transform: scale(calc(1.06 - .06 * var(--cz, 1)));
  transition: none;
}
#message .t-wrap::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgb(var(--c-sumi-rgb));
  clip-path: inset(calc((1 - var(--cw, 1)) * 100%) 0 0 0);
}
#message .t-ttl,
#message .t-body {
  position: relative;
  z-index: 2;
  width: auto;
  max-width: none;
  margin: 0;
}
#message .t-ttl {
  margin-bottom: 3.2rem;
}
#message .t-ttl .t-lat {
  color: rgb(255 255 255);
}
#message .t-ttl .t-ja {
  color: rgb(var(--c-ondark-rgb));
}
#message .t-body p {
  max-width: none;
  margin: 0 0 2rem;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: .04em;
}
#message .t-body p:last-child {
  margin-bottom: 0;
}
#message .t-rd-ch,
#message .t-rd-ch.is-on {
  color: inherit;
  transition: none;
}
#message .t-rd-ln {
  color: rgb(255 255 255);
}
#message.t-cv-js .t-body {
  opacity: 0;
  transition: opacity .5s ease;
}
#message.t-cv-js .t-wrap.t-cv-dark .t-body {
  opacity: 1;
}
#message.t-cv-js .t-rd-ln {
  color: rgb(var(--c-ondark-rgb) / .3);
  transition: color .6s ease;
}
#message.t-cv-js .t-rd-ln.t-cc-on {
  color: rgb(255 255 255);
}
@media print, screen and (min-width: 768px) {
  #message {
    background: none;
  }
  #message .t-wrap {
    padding: 10rem max(5rem, (100cqi - 112.6rem) / 2) 6rem;
  }
  #message .t-message-photo {
    top: 0;
    bottom: 0;
    aspect-ratio: auto;
    transform: none;
  }
  #message .t-message-photo img,
  #message .t-message-photo:hover img {
    object-position: 70% 50%;
  }
  #message .t-ttl {
    margin-bottom: 5.6rem;
  }
  #message .t-body p {
    margin-bottom: 2.8rem;
    font-size: 2.4rem;
    line-height: 1.8;
  }
  #message.t-cv-js .t-ttl {
    opacity: 0;
    transition: opacity .5s ease;
  }
  #message.t-cv-js .t-wrap.t-cv-dark .t-ttl {
    opacity: 1;
  }
}
@media print, screen and (min-width: 1200px) {
  #message .t-wrap {
    display: grid;
    grid-template-columns: minmax(0, 34rem) minmax(0, 1fr);
    grid-template-rows: auto;
    grid-template-areas: none;
    align-content: center;
    align-items: start;
    column-gap: 8rem;
  }
  #message .t-ttl {
    grid-area: 1 / 1;
    margin-bottom: 0;
  }
  #message .t-body {
    grid-area: 1 / 2;
  }
}
@media (prefers-reduced-motion: reduce) {
  #message {
    height: auto;
    padding: 8rem 0;
  }
  #message .t-wrap {
    position: static;
    display: block;
    height: auto;
    padding-top: 0;
    padding-bottom: 0;
    overflow: visible;
  }
  #message .t-message-photo {
    position: relative;
    top: auto;
    bottom: auto;
    margin: 0 -3rem 4rem;
    aspect-ratio: 16 / 9;
    transform: none;
  }
  #message .t-message-photo img,
  #message .t-message-photo:hover img {
    transform: none;
  }
  #message .t-wrap::before {
    display: none;
  }
  #message.t-cv-js .t-ttl,
  #message.t-cv-js .t-body {
    opacity: 1;
    transition: none;
  }
  #message .t-ttl {
    margin-bottom: 4rem;
  }
  #message.t-cv-js .t-rd-ln,
  #message.t-cv-js .t-rd-ln.t-cc-on {
    color: rgb(255 255 255);
    transition: none;
  }
}
@media (prefers-reduced-motion: reduce) and (min-width: 768px) {
  #message {
    padding: 14rem 0;
  }
  #message .t-message-photo {
    margin: 0 calc(-1 * max(5rem, (100cqi - 112.6rem) / 2)) 6rem;
    aspect-ratio: 8 / 3;
  }
}
#concept2 {
  display: none;
}
#issue .t-ttl .t-cap {
  display: block;
  margin-left: 0;
  text-align: left;
}
#issue .t-ttl .t-ja {
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1.3;
}
#issue .t-ttl {
  position: relative;
  isolation: isolate;
}
#issue .t-ttl .t-cap {
  position: relative;
  padding: 3.2rem 0 2.4rem;
  text-align: center;
}
#issue .t-ttl .t-lat {
  position: absolute;
  inset: 50% 0 auto;
  z-index: -1;
  margin: 0;
  transform: translateY(-50%);
  color: rgb(var(--c-ink-rgb) / .07);
  font-size: 9.6rem;
  letter-spacing: .04em;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  pointer-events: none;
}
#issue .t-ttl .t-ja {
  font-size: 3.2rem;
}
@media print, screen and (min-width: 768px) {
  #issue .t-ttl .t-lat {
    font-size: 16rem;
  }
  #issue .t-ttl .t-ja {
    font-size: 4.8rem;
  }
  #issue .t-ttl .t-cap {
    padding: 4.8rem 0 3.2rem;
  }
}
@media print, screen and (min-width: 1024px) {
  #issue .t-ttl .t-lat {
    font-size: 22rem;
  }
  #issue .t-ttl .t-ja {
    font-size: 6.4rem;
  }
}
#numbers .t-pr-old,
#numbers .t-nf-band {
  display: none;
}
#numbers .t-pr-new,
#numbers .t-pr {
  display: block;
}
#numbers .t-pr dl,
#numbers .t-pr dt,
#numbers .t-pr dd {
  margin: 0;
  padding: 0;
}
#numbers .t-pr ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
}
#numbers .t-pr li {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
}
#numbers .t-pr li {
  white-space: nowrap;
}
#numbers .t-pr li:not(:last-child)::after {
  content: "／";
  margin: 0 .5em;
  opacity: .45;
}
#numbers .t-pr-point dd,
#numbers .t-pr-inc dd {
  white-space: normal;
  min-width: 0;
}
#numbers .t-pr .t-num {
  font-family: var(--font-en);
  font-weight: 600;
  line-height: .86;
  letter-spacing: -.02em;
}
#numbers .t-nf-main {
  margin-top: 2.4rem;
}
#numbers .t-nf-main dt {
  margin-bottom: .8rem;
}
#numbers .t-nf-main dd {
  font-size: 1.6rem;
  gap: .6rem;
}
#numbers .t-nf-main .t-num {
  font-size: 5.6rem;
}
#numbers .t-nf-flow {
  margin-top: 8rem;
}
#numbers .t-nf-label {
  margin: 0 0 2.8rem;
}
#numbers .t-nf-label .t-lat {
  font-size: 1.4rem;
  letter-spacing: .16em;
}
#numbers .t-nf-label .t-ja {
  margin-top: 0;
  font-size: 1.6rem;
  font-weight: 700;
}
#numbers .t-nf-grid {
  display: block;
}
#numbers .t-nf-steps {
  display: grid;
  grid-row: auto;
  grid-column: auto;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: none;
  gap: 2.4rem 3.2rem;
}
#numbers .t-nf-steps li {
  display: block;
  grid-row: auto;
  grid-column: auto;
  padding: 2rem 0 0;
}
#numbers .t-nf-steps li::before,
#numbers .t-nf-steps li::after {
  content: none;
  display: none;
}
#numbers .t-nf-steps .t-no {
  margin: 0 0 1.2rem;
  font-size: 2.4rem;
}
#numbers .t-nf-steps h4 {
  font-size: 1.7rem;
}
#numbers .t-nf-steps .t-txt {
  margin-top: .8rem;
  font-size: max(14.5px, 1.4rem);
  line-height: 1.8;
}
@media print, screen and (min-width: 768px) {
  #numbers .t-nf-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media print, screen and (min-width: 1024px) {
  #numbers .t-nf-main {
    margin: 0;
  }
  #numbers .t-nf-main .t-num {
    font-size: 7.2rem;
  }
  #numbers .t-nf-flow {
    margin-top: 11.2rem;
  }
  #numbers .t-nf-steps {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 4rem;
  }
}
#numbers .t-pr {
  margin-top: 5.6rem;
}
#numbers .t-pr-catch {
  margin: 0;
  color: #fff;
  font-family: var(--font-jp);
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .02em;
}
#numbers .t-pr-lead {
  margin: 2rem 0 0;
  color: rgb(var(--c-ondark-rgb));
  font-family: var(--font-jp);
  font-size: max(14.5px, 1.5rem);
  line-height: 1.9;
  letter-spacing: .02em;
}
#numbers .t-pr-more {
  margin: 3.2rem 0 0;
}
#numbers .t-pr-more a {
  color: #fff;
  border-color: rgb(255 255 255 / .6);
}
#numbers .t-pr-more a:hover {
  color: rgb(var(--c-ink-rgb));
  background: #fff;
}
#numbers .t-pr-sheet {
  margin-top: 4.8rem;
  border-bottom: 1px solid rgb(255 255 255 / .22);
}
#numbers .t-pr-sheet > dl {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  column-gap: 2rem;
  padding: 2.4rem 0;
  border-top: 1px solid rgb(255 255 255 / .22);
}
#numbers .t-pr-sheet dt {
  color: rgb(var(--c-ondark-rgb));
  font-family: var(--font-jp);
  font-size: max(14.5px, 1.5rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .04em;
}
#numbers .t-pr-row dd {
  color: #fff;
  font-family: var(--font-jp);
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}
#numbers .t-pr-row .t-num {
  margin-right: .12em;
  font-size: 6.4rem;
}
#numbers .t-pr-pre {
  margin-right: .6rem;
  font-size: 1.6rem;
}
#numbers .t-pr-sheet > .t-pr-point,
#numbers .t-pr-sheet > .t-pr-inc {
  grid-template-columns: minmax(0, 1fr);
  row-gap: 1rem;
}
#numbers .t-pr-point dd,
#numbers .t-pr-inc dd {
  color: #fff;
  font-family: var(--font-jp);
  font-size: max(14.5px, 1.5rem);
  line-height: 1.8;
  letter-spacing: .02em;
}
#numbers .t-pr-point .t-pr-not {
  color: rgb(var(--c-ondark-rgb));
}
@media print, screen and (min-width: 768px) {
  #numbers .t-pr-catch {
    font-size: 3.2rem;
  }
  #numbers .t-pr-row .t-num {
    font-size: 8rem;
  }
  #numbers .t-pr-sheet > .t-pr-point,
  #numbers .t-pr-sheet > .t-pr-inc {
    grid-template-columns: 14rem minmax(0, 1fr);
  }
  #numbers .t-pr-point .t-pr-not {
    grid-column: 2;
    margin-top: -.6rem;
  }
}
@media print, screen and (min-width: 1024px) {
  #numbers .t-pr {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    column-gap: 8rem;
    align-items: start;
    margin-top: 8rem;
  }
  #numbers .t-pr-catch {
    font-size: 3.6rem;
  }
  #numbers .t-pr-sheet {
    margin-top: 0;
  }
  #numbers .t-pr-sheet > dl {
    padding: 2.8rem 0;
  }
  #numbers .t-pr-row .t-num {
    font-size: 8.8rem;
  }
}
#numbers .t-nf-steps li {
  border-top: 1px solid rgb(255 255 255 / .22);
}
#numbers .t-nf-steps .t-no {
  color: rgb(var(--c-ondark-rgb));
}
#simulation .t-sim-list {
  gap: 0;
  border-top: .1rem solid rgb(var(--c-ink-rgb) / .9);
}
#simulation .t-sim-card {
  padding: 3.2rem 0 4rem;
  background: none;
  border-radius: 0;
}
#simulation .t-sim-card + .t-sim-card {
  margin-top: 1.6rem;
}
#simulation .t-sim-label {
  padding-bottom: 2rem;
  border-bottom: none;
  font-size: 2rem;
}
#simulation .t-sim-card dl:not(.t-sim-result) {
  margin-bottom: 2rem;
  border-top: .1rem solid rgb(var(--c-ink-rgb) / .2);
}
#simulation .t-sim-card dl:not(.t-sim-result) > div {
  align-items: baseline;
  padding: 1rem 0;
  border-bottom-color: rgb(var(--c-ink-rgb) / .2);
  font-size: 1.3rem;
}
#simulation .t-sim-card dl:not(.t-sim-result) > div:nth-child(n+5) {
  flex-wrap: wrap;
  padding: 1.6rem 0 1.4rem;
}
#simulation .t-sim-card dl:not(.t-sim-result) > div:nth-child(n+5) dd {
  margin-left: auto;
  font-family: var(--font-en), var(--font-jp);
  font-size: 2.6rem;
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -.01em;
  white-space: nowrap;
}
#simulation .t-sim-card dl:not(.t-sim-result) > div:nth-child(6) dd::before {
  content: '';
  display: inline-block;
  width: .45em;
  height: .1rem;
  margin-right: .3em;
  vertical-align: .32em;
  background: currentColor;
}
#simulation .t-sim-card dl:not(.t-sim-result) > div:nth-child(6) {
  border-bottom: none;
}
#simulation .t-sim-result {
  flex-direction: column;
  align-items: stretch;
  gap: 1.2rem;
  padding: 2rem 0 0;
  color: rgb(var(--c-ink-rgb));
  background: none;
  border-top: .3rem double rgb(var(--c-ink-rgb) / .9);
  border-radius: 0;
}
#simulation .t-sim-result dt {
  color: rgb(var(--c-accent-rgb));
  font-size: 1.3rem;
}
#simulation .t-sim-result dd {
  font-size: 1.6rem;
  line-height: 1;
}
#simulation .t-sim-result .t-num {
  font-size: 6.4rem;
  letter-spacing: -.02em;
}
@media print, screen and (min-width: 768px) {
  #simulation .t-sim-list {
    --b-gap: 4.8rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: var(--b-gap);
  }
  #simulation .t-sim-card {
    position: relative;
    padding: 3.2rem 0 0;
  }
  #simulation .t-sim-card + .t-sim-card {
    margin-top: 0;
  }
  #simulation .t-sim-card + .t-sim-card::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: calc(var(--b-gap) / -2);
    width: .1rem;
    background: rgb(var(--c-ink-rgb) / .2);
  }
  #simulation .t-sim-label {
    font-size: 1.8rem;
  }
  #simulation .t-sim-card dl:not(.t-sim-result) > div:nth-child(n+5) dt {
    flex-basis: 100%;
  }
  #simulation .t-sim-card dl:not(.t-sim-result) > div:nth-child(n+5) dd {
    margin-top: .6rem;
    font-size: 2.4rem;
  }
  #simulation .t-sim-result .t-num {
    font-size: 4.4rem;
  }
}
@media print, screen and (min-width: 1024px) {
  #simulation .t-sim-list {
    --b-gap: 5.6rem;
  }
  #simulation .t-sim-card {
    padding: 4rem 0 0;
  }
  #simulation .t-sim-card dl:not(.t-sim-result) > div:nth-child(n+5) dt {
    flex-basis: auto;
  }
  #simulation .t-sim-label {
    padding-bottom: 2.8rem;
    font-size: 2.2rem;
  }
  #simulation .t-sim-card dl:not(.t-sim-result) > div {
    padding: 1.2rem 0;
    font-size: 1.4rem;
  }
  #simulation .t-sim-card dl:not(.t-sim-result) > div:nth-child(n+5) {
    padding: 2rem 0 1.8rem;
  }
  #simulation .t-sim-card dl:not(.t-sim-result) > div:nth-child(n+5) dd {
    margin-top: 0;
    font-size: 2.6rem;
  }
  #simulation .t-sim-result {
    padding-top: 2.4rem;
  }
  #simulation .t-sim-result .t-num {
    font-size: 5.6rem;
  }
}
@media print, screen and (min-width: 1280px) {
  #simulation .t-sim-list {
    --b-gap: 8rem;
  }
  #simulation .t-sim-card {
    padding: 4.8rem 0 0;
  }
  #simulation .t-sim-card dl:not(.t-sim-result) > div:nth-child(n+5) dd {
    font-size: 2.8rem;
  }
  #simulation .t-sim-result .t-num {
    font-size: 7.2rem;
  }
}
.t-foot .t-sitemap .t-brand {
  display: flex;
}
.t-foot .t-sitemap .t-brand img {
  visibility: visible;
  width: 12rem;
  margin: 0;
}
.t-foot .t-sitemap dt,
.t-foot .t-sitemap .t-foot-mark {
  display: none;
}
.t-foot .t-sitemap dt::before,
.t-foot .t-sitemap dt::after {
  display: none;
}
.t-foot .t-sitemap dl,
.t-foot .t-sitemap dd,
.t-foot .t-sitemap ul {
  display: contents !important;
  height: auto !important;
}
.t-foot .t-sitemap li a {
  margin: 0;
  padding: 0;
  transition: opacity 300ms;
}
.t-foot .t-sitemap li a:hover {
  opacity: .6;
}
.t-foot .t-sitemap li a::before {
  display: none;
}
.t-foot .t-sitemap .t-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem 2.8rem;
}
.t-foot .t-sitemap li a {
  font-size: 1.3rem;
  line-height: 2rem;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .t-foot .t-sitemap {
    padding: 4rem 3rem 4rem;
  }
  .t-foot .t-sitemap .t-brand {
    margin: 0 0 4rem;
  }
  .t-foot .t-totop {
    top: 3.4rem;
    right: 3rem;
  }
}
@media print, screen and (min-width: 768px) {
  .t-foot .t-sitemap {
    padding-top: 7.2rem;
    padding-bottom: 7.2rem;
  }
  .t-foot .t-sitemap .t-brand {
    max-width: none;
    margin: 0 0 4rem;
  }
  .t-foot .t-sitemap .t-wrap {
    gap: 1.6rem 3.2rem;
    max-width: none;
    margin: 0;
  }
}
@media print, screen and (min-width: 1024px) {
  .t-foot .t-sitemap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0 6.4rem;
  }
  .t-foot .t-sitemap .t-brand {
    flex: none;
    margin: 0;
  }
  .t-foot .t-sitemap .t-wrap {
    display: flex;
    justify-content: flex-end;
    gap: 1.6rem 4rem;
  }
}
#issue .t-ttl .t-ja {
  font-size: 2.4rem;
}
#issue .t-ttl .t-lat {
  font-size: 6.8rem;
}
#issue .t-ttl .t-cap {
  padding: 2.4rem 0 1.6rem;
}
@media print, screen and (min-width: 768px) {
  #issue .t-ttl .t-ja {
    font-size: 3.4rem;
  }
  #issue .t-ttl .t-lat {
    font-size: 11rem;
  }
  #issue .t-ttl .t-cap {
    padding: 3.2rem 0 2.4rem;
  }
}
@media print, screen and (min-width: 1024px) {
  #issue .t-ttl .t-ja {
    font-size: 4.4rem;
  }
  #issue .t-ttl .t-lat {
    font-size: 15rem;
  }
}
.t-sim#simulation { background: rgb(255 255 255); } 
#simulation .t-sim-tag {
  display: inline-block;
  padding: .3rem 1.2rem;
  color: rgb(var(--c-accent-rgb));
  border: .1rem solid rgb(var(--c-ink-rgb) / .2);
  border-radius: 3em;
  font-size: 1.4rem;
  line-height: 1.8;
  letter-spacing: .02rem;
  white-space: nowrap;
}
#simulation .t-sim-go {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.2rem 1.6rem;
  margin-top: 2.8rem;
  color: rgb(var(--c-ink-rgb));
}
#simulation .t-sim-go-txt {
  position: relative;
  margin-left: auto;
  padding-right: 3.2rem;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: .02rem;
  white-space: nowrap;
}
#simulation .t-sim-go-txt::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  width: 1.8rem;
  height: .1rem;
  background: currentColor;
  transition: width 300ms;
}
#simulation .t-sim-foot { margin-top: 5.6rem; }
#simulation .t-sim-others {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem;
  margin-bottom: 3.2rem;
}
#simulation .t-sim-tag--link {
  padding: .6rem 1.6rem;
  color: rgb(var(--c-ink-rgb));
  transition: color 300ms, background-color 300ms;
}
@media (hover: hover) {
  #simulation .t-sim-go:hover { color: rgb(var(--c-accent-rgb)); opacity: 1; }
  #simulation .t-sim-go:hover .t-sim-go-txt::after { width: 2.6rem; }
  #simulation .t-sim-tag--link:hover {
    color: rgb(255 255 255);
    background: rgb(var(--c-ink-rgb));
    border-color: rgb(var(--c-ink-rgb));
    opacity: 1;
  }
}
@media print, screen and (min-width: 768px) {
  #simulation .t-sim-tag { font-size: 1.3rem; }
  #simulation .t-sim-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4rem;
    margin-top: 8rem;
  }
  #simulation .t-sim-others { margin-bottom: 0; }
  #simulation .t-sim-foot .t-more { flex: none; }
}
#numbers .t-pr {
  display: block;
}
#numbers .t-pr-catch {
  font-size: 3rem;
}
#numbers .t-pr-sheet {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 4.8rem;
  border-top: 1px solid rgb(255 255 255 / .6);
  border-bottom: 1px solid rgb(255 255 255 / .22);
}
#numbers .t-pr-sheet > dl {
  border-top: 0;
}
#numbers .t-pr-sheet > .t-pr-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2.4rem;
  padding: 2.4rem 0 3.2rem;
}
#numbers .t-pr-sheet > .t-pr-row:nth-child(2) {
  padding-left: 2rem;
  border-left: 1px solid rgb(255 255 255 / .22);
}
#numbers .t-pr-sheet > .t-pr-unit {
  grid-column: 1 / -1;
  border-top: 1px solid rgb(255 255 255 / .22);
}
#numbers .t-pr-row dd {
  font-size: 2rem;
}
#numbers .t-pr-row .t-num {
  font-size: 9.6rem;
}
#numbers .t-pr-sheet > .t-pr-point,
#numbers .t-pr-sheet > .t-pr-inc {
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1fr);
  border-top: 1px solid rgb(255 255 255 / .22);
}
@media print, screen and (min-width: 768px) {
  #numbers .t-pr-intro {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    column-gap: 6.4rem;
    align-items: end;
  }
  #numbers .t-pr-catch {
    grid-column: 1;
    grid-row: 1 / span 2;
    align-self: end;
    font-size: 4rem;
  }
  #numbers .t-pr-lead {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
  }
  #numbers .t-pr-more {
    grid-column: 2;
    grid-row: 2;
    margin-top: 2.4rem;
  }
  #numbers .t-pr-sheet {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    margin-top: 6.4rem;
  }
  #numbers .t-pr-sheet > .t-pr-row,
  #numbers .t-pr-sheet > .t-pr-unit {
    grid-column: span 2;
    gap: 4rem;
    padding: 3.2rem 3.2rem 4.8rem;
    border-top: 0;
    border-left: 1px solid rgb(255 255 255 / .22);
  }
  #numbers .t-pr-sheet > .t-pr-row:first-child {
    padding-left: 0;
    border-left: 0;
  }
  #numbers .t-pr-row .t-num {
    font-size: 12rem;
  }
  #numbers .t-pr-row dd {
    font-size: 2.4rem;
  }
  #numbers .t-pr-sheet > .t-pr-point,
  #numbers .t-pr-sheet > .t-pr-inc {
    grid-column: span 4;
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
    padding: 3.2rem 3.2rem 4rem 0;
  }
  #numbers .t-pr-sheet > .t-pr-point {
    grid-column: span 2;
  }
  #numbers .t-pr-sheet > .t-pr-inc {
    padding-left: 3.2rem;
    padding-right: 0;
    border-left: 1px solid rgb(255 255 255 / .22);
  }
  #numbers .t-pr-point .t-pr-not {
    grid-column: 1;
    margin-top: 0;
  }
}
@media print, screen and (min-width: 1024px) {
  #numbers .t-pr {
    display: block;
    margin-top: 6.4rem;
  }
  #numbers .t-pr-catch {
    font-size: 4.4rem;
  }
  #numbers .t-pr-sheet {
    margin-top: 7.2rem;
  }
  #numbers .t-pr-sheet > dl.t-pr-row {
    padding: 3.2rem 4rem 5.6rem;
  }
  #numbers .t-pr-sheet > dl.t-pr-row:first-child {
    padding-left: 0;
  }
  #numbers .t-pr-row .t-num {
    font-size: 16rem;
  }
  #numbers .t-pr-sheet > .t-pr-point {
    padding-right: 4rem;
  }
  #numbers .t-pr-sheet > .t-pr-inc {
    padding-left: 4rem;
  }
}
#numbers .t-pr-sheet {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  column-gap: 0;
  border-bottom: 0;
}
#numbers .t-pr-sheet > .t-pr-row {
  flex: none;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.2rem;
  padding: 2.4rem 0 0;
  border: 0;
}
#numbers .t-pr-sheet > .t-pr-row:nth-child(2) {
  padding-left: 0;
  border-left: 0;
}
#numbers .t-pr-sheet > .t-pr-unit {
  flex-basis: 100%;
}
#numbers .t-pr-sheet dt {
  font-size: 1.3rem;
  letter-spacing: .1em;
}
#numbers .t-pr-sheet > .t-pr-row:nth-child(-n+2)::after {
  content: "＋";
  position: absolute;
  right: -4.4rem;
  bottom: .4rem;
  color: rgb(var(--c-ondark-rgb));
  font-family: var(--font-jp);
  font-size: 3.2rem;
  font-weight: 300;
  line-height: 1;
}
#numbers .t-pr-sheet > .t-pr-row:nth-child(-n+2) {
  position: relative;
  margin-right: 6.4rem;
}
#numbers .t-pr-sheet > .t-pr-row:nth-child(2)::after {
  content: none;
}
#numbers .t-pr-sheet > .t-pr-point,
#numbers .t-pr-sheet > .t-pr-inc {
  flex-basis: 100%;
  margin-top: 4.8rem;
  padding: 2.4rem 0 0;
  border-top: 1px solid rgb(255 255 255 / .22);
}
#numbers .t-pr-sheet > .t-pr-inc {
  margin-top: 0;
}
#numbers .t-pr-point dt::before,
#numbers .t-pr-inc dt::before {
  content: "※ ";
}
@media print, screen and (min-width: 768px) {
  #numbers .t-pr-sheet {
    margin-top: 5.6rem;
    border-top: 0;
  }
  #numbers .t-pr-sheet > .t-pr-row,
  #numbers .t-pr-sheet > .t-pr-unit {
    flex: none;
    gap: 1.6rem;
    padding: 0;
    border-left: 0;
  }
  #numbers .t-pr-sheet > .t-pr-row:first-child {
    padding-left: 0;
  }
  #numbers .t-pr-sheet > .t-pr-row:nth-child(-n+2) {
    margin-right: 8rem;
  }
  #numbers .t-pr-sheet > .t-pr-row:nth-child(2)::after {
    content: "＋";
    right: -5.6rem;
  }
  #numbers .t-pr-sheet > .t-pr-row:nth-child(-n+2)::after {
    right: -5.6rem;
    font-size: 4rem;
    bottom: .8rem;
  }
  #numbers .t-pr-sheet > .t-pr-row .t-num {
    font-size: 10rem;
  }
  #numbers .t-pr-sheet > .t-pr-point,
  #numbers .t-pr-sheet > .t-pr-inc {
    flex: 1 1 0;
    min-width: 0;
    margin-top: 6.4rem;
    padding: 2.8rem 0 0;
  }
  #numbers .t-pr-sheet > .t-pr-inc {
    margin-left: 4.8rem;
  }
  #numbers .t-pr-sheet > .t-pr-point .t-pr-not {
    grid-column: 1;
    margin-top: 0;
  }
}
@media print, screen and (min-width: 1024px) {
  #numbers .t-pr-sheet > dl.t-pr-row {
    padding: 0;
  }
  #numbers .t-pr-sheet > .t-pr-row .t-num {
    font-size: 13.6rem;
  }
  #numbers .t-pr-sheet > .t-pr-point,
  #numbers .t-pr-sheet > .t-pr-inc {
    padding: 3.2rem 0 0;
  }
}
#reason .t-vr-ph,
#reason .t-reason-stage {
  display: none;
}
#reason ol {
  display: block;
  margin: 0;
}
#reason li {
  opacity: 1;
  border-bottom: .1rem solid rgb(var(--c-ink-rgb) / .16);
}
#reason .t-reason-link .t-no {
  font-family: var(--font-en);
  color: rgb(var(--c-accent-rgb));
}
#reason .t-reason-link h3 {
  color: rgb(var(--c-ink-rgb));
}
#reason .t-reason-link:hover h3 {
  color: rgb(var(--c-accent-rgb));
}
#reason ol {
  border-top: .1rem solid rgb(var(--c-ink-rgb) / .16);
}
#reason li {
  padding: 3.2rem 0 3.6rem;
}
#reason .t-reason-link {
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto auto;
}
#reason .t-reason-link .t-no {
  grid-column: 1;
  grid-row: 1;
  margin: 0 0 1.6rem;
  font-size: 6.4rem;
  font-weight: 500;
  line-height: .9;
  letter-spacing: -.02em;
}
#reason .t-reason-link::after {
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  margin: 0 0 0 1.6rem;
}
#reason .t-reason-link h3 {
  grid-column: 1 / 3;
  grid-row: 2;
  margin: 0 0 1rem;
  font-size: 2.4rem;
  line-height: 1.4;
}
#reason .t-reason-link .t-txt {
  grid-column: 1 / 3;
  grid-row: 3;
}
#reason .t-vrd-iss {
  margin: 2.4rem 0 0;
}
#reason .t-vrd-iss-cap {
  margin: 0 0 .6rem;
  color: rgb(var(--c-ink-rgb) / .55);
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.4;
}
#reason .t-vrd-iss-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 1.2rem;
  align-items: baseline;
  margin: 0;
  padding: .9rem 0;
  border-top: .1rem solid rgb(var(--c-ink-rgb) / .1);
  color: rgb(var(--c-ink-rgb) / .85);
  font-size: 1.3rem;
  line-height: 1.7;
}
#reason .t-vrd-tag {
  display: inline-block;
  padding: .1rem .6rem;
  border: .1rem solid rgb(var(--c-accent-rgb));
  border-radius: .3rem;
  color: rgb(var(--c-accent-rgb));
  font-family: var(--font-en);
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .04em;
}
@media print, screen and (min-width: 768px) {
  #reason li {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 34rem;
    column-gap: 6rem;
    align-items: start;
    padding: 5.6rem 0;
  }
  #reason .t-reason-link {
    grid-template-columns: 17rem minmax(0, 1fr) auto;
    grid-template-rows: auto 1fr;
    align-items: start;
  }
  #reason .t-reason-link .t-no {
    grid-column: 1;
    grid-row: 1 / 3;
    margin: 0;
    font-size: 11.2rem;
    line-height: .78;
  }
  #reason .t-reason-link h3 {
    grid-column: 2;
    grid-row: 1;
    margin: 0 0 1.6rem;
    font-size: 3.4rem;
    line-height: 1.35;
  }
  #reason .t-reason-link::after {
    grid-column: 3;
    grid-row: 1;
    margin: .2rem 0 0 2.4rem;
  }
  #reason .t-reason-link .t-txt {
    grid-column: 2 / 4;
    grid-row: 2;
  }
  #reason .t-vrd-iss {
    margin: .4rem 0 0;
  }
  #reason .t-vrd-iss-cap {
    font-size: 1.2rem;
  }
  #reason .t-vrd-iss-row {
    font-size: 1.4rem;
  }
}
#reason .t-ttl {
  text-align: left;
}
#reason .t-ttl .t-lat {
  font-size: 7.2rem;
  line-height: .9;
  letter-spacing: -.01em;
}
@media print, screen and (min-width: 768px) {
  #reason .t-wrap {
    display: block;
  }
  #reason .t-ttl {
    order: 0;
    margin-bottom: 6.4rem;
    padding-right: 0;
  }
  #reason .t-ttl .t-lat {
    margin-bottom: 2.4rem;
    font-size: 12rem;
    letter-spacing: -.02em;
  }
  #reason .t-ttl .t-ja {
    font-size: 2rem;
  }
  #reason ol {
    width: auto;
  }
  #reason .t-vrd-iss-row {
    white-space: nowrap;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  #reason li {
    display: block;
  }
  #reason .t-vrd-iss {
    margin: 2.8rem 0 0 17rem;
  }
}
@media print, screen and (min-width: 1024px) {
  #reason li {
    grid-template-columns: minmax(0, 1fr) 43rem;
  }
}
#numbers .t-pr-sheet > dl.t-pr-row.t-pr-unit .t-num {
  font-size: 6.8rem;
}
@media print, screen and (min-width: 768px) {
  #numbers .t-pr-sheet > dl.t-pr-row.t-pr-unit .t-num {
    font-size: 7.2rem;
  }
  #numbers .t-pr-sheet > dl.t-pr-row.t-pr-unit dd {
    padding-top: 2.41rem;
  }
}
@media print, screen and (min-width: 1024px) {
  #numbers .t-pr-sheet > dl.t-pr-row.t-pr-unit .t-num {
    font-size: 9.6rem;
  }
  #numbers .t-pr-sheet > dl.t-pr-row.t-pr-unit dd {
    padding-top: 3.31rem;
    padding-bottom: .14rem;
  }
}
@media screen and (max-width: 767px) {
  #simulation .t-ttl .t-lat {
    font-size: 6.4rem;
  }
}
#issue-close { font-size: 4rem; letter-spacing: .1em; }
#issue-close > .t-nw:has(.t-close-em) { margin-top: .8em; }
@media print, screen and (min-width: 768px) {
  #issue-close {
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
    font-size: min(6rem, (100svh - 9rem) / 14);
  }
}
#numbers .t-pr-point dt::before,
#numbers .t-pr-inc dt::before {
  content: none;
}
#numbers .t-pr-sheet > .t-pr-point dt,
#numbers .t-pr-sheet > .t-pr-inc dt {
  color: rgb(var(--c-ondark-rgb));
  font-size: 1.3rem;
  letter-spacing: .12em;
}
#numbers .t-pr-sheet > .t-pr-point {
  row-gap: .8rem;
}
#numbers .t-pr-point dd:not(.t-pr-not) {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.6;
}
#numbers .t-pr-point .t-pr-not {
  font-size: 1.4rem;
}
#numbers .t-pr-sheet > .t-pr-inc {
  box-sizing: border-box;
  margin-top: 3.2rem;
  padding: 2.8rem 2rem 3.2rem;
  border: 0;
  background: rgb(255 255 255 / .06);
}
#numbers .t-pr-sheet > .t-pr-inc dt {
  margin-bottom: 1.6rem;
}
#numbers .t-pr-inc ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 1.6rem;
  row-gap: 2rem;
  counter-reset: prc;
}
#numbers .t-pr-inc li {
  word-break: keep-all;
  counter-increment: prc;
  font-weight: 700;
  line-height: 1.5;
  white-space: normal;
}
#numbers .t-pr-inc li::after {
  content: none;
}
#numbers .t-pr-inc li::before {
  content: counter(prc, decimal-leading-zero);
  display: block;
  margin-bottom: .4rem;
  color: rgb(var(--c-ondark-rgb));
  font-family: var(--font-en);
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: .06em;
}
@media print, screen and (min-width: 768px) {
  #numbers .t-pr-sheet > .t-pr-unit {
    flex: 1 1 auto;
  }
  #numbers .t-pr-sheet > .t-pr-point {
    flex: 0 0 100%;
    box-sizing: border-box;
    grid-template-columns: 12rem minmax(0, 1fr);
    column-gap: 3.2rem;
    row-gap: .6rem;
    margin-top: 7.2rem;
    padding: 3.6rem 0 0 4rem;
  }
  #numbers .t-pr-point dd:not(.t-pr-not) {
    font-size: 2rem;
  }
  #numbers .t-pr-point dt {
    grid-column: 1;
    grid-row: 1 / span 2;
    padding-top: .5rem;
  }
  #numbers .t-pr-point dd:not(.t-pr-not),
  #numbers .t-pr-sheet > .t-pr-point .t-pr-not {
    grid-column: 2;
  }
  #numbers .t-pr-sheet > .t-pr-inc {
    flex: 0 0 100%;
    display: grid;
    grid-template-columns: 16rem minmax(0, 1fr);
    column-gap: 3.2rem;
    margin-top: 4rem;
    margin-left: 0;
    padding: 4rem 4rem 4.4rem 0;
    border-left: 0;
  }
  #numbers .t-pr-sheet > .t-pr-inc dt {
    margin: 0;
    padding: 2rem 0 0 4rem;
  }
  #numbers .t-pr-inc ul {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 2.4rem;
    row-gap: 2.8rem;
  }
}
@media print, screen and (min-width: 1024px) {
  #numbers .t-pr-sheet > .t-pr-point {
    grid-template-columns: 15.2rem minmax(0, 1fr);
    margin-top: 8rem;
    padding-left: 4.8rem;
  }
  #numbers .t-pr-point dd:not(.t-pr-not) {
    font-size: 2.4rem;
  }
  #numbers .t-pr-sheet > .t-pr-inc {
    grid-template-columns: 20rem minmax(0, 1fr);
    padding: 4.8rem 4.8rem 5.2rem 0;
  }
  #numbers .t-pr-sheet > .t-pr-inc dt {
    padding-left: 4.8rem;
  }
  #numbers .t-pr-inc li {
    font-size: 1.6rem;
  }
}
#numbers .t-pr-sheet > dl.t-pr-row .t-num,
#numbers .t-pr-sheet > dl.t-pr-row.t-pr-unit .t-num { font-size: 8.2rem; }
@media print, screen and (min-width: 768px) {
  #numbers .t-pr-sheet > dl.t-pr-row .t-num,
  #numbers .t-pr-sheet > dl.t-pr-row.t-pr-unit .t-num { font-size: 8.6rem; }
  #numbers .t-pr-sheet > dl.t-pr-row.t-pr-unit dd { padding-top: 0; padding-bottom: 0; }
}
@media print, screen and (min-width: 1024px) {
  #numbers .t-pr-sheet > dl.t-pr-row .t-num,
  #numbers .t-pr-sheet > dl.t-pr-row.t-pr-unit .t-num { font-size: 11.6rem; }
}
#numbers .t-pr-inc li:not(:last-child)::after {
  content: none;
}
.t-faq {
  border-top: .1rem solid rgb(var(--c-ink-rgb) / .14);
  background: rgb(255 255 255);
}
