html {
    overflow: hidden
}

html.is-loaded {
    overflow: auto
}

*,
*::before,
*::after {
    box-sizing: border-box
}

* {
    margin: 0
}

ul,
li {
    padding: 0
}

li {
    list-style: none
}

html,
body {
    height: 100%
}

body {
    line-height: 1.5;
    -webkit-font-smoothing: antialiased
}

img,
picture,
video,
canvas,
svg {
    display: block;
    max-width: 100%
}

input,
button,
textarea,
select {
    font: inherit
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
    overflow-wrap: break-word
}

#root,
#__next {
    isolation: isolate
}

html {
    -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
    -webkit-text-size-adjust: 100%
}

.c-assets {
    display: none
}

body {
    visibility: hidden
}
:root {
    --gw: 2.08333333vw;
    --col-white: #f3f3f3;
    --col-black: #181818;
    --col-lgray: #dcdcdc;
    --col-border: #696969;
    --col-img-bg: #cacaca;
    --col-mv-bg: #dcdcdc;
    --col-mv-txt: #181818;
    --col-white-force: #f3f3f3;
    --col-black-force: #181818;
    --col-lgray-force: #dcdcdc;
    --col-white-footer: #f3f3f3;
    --col-black-footer: #181818
}

@media (prefers-color-scheme:dark) {
    :root {
        --col-white: #111;
        --col-black: #dcdcdc;
        --col-lgray: #111;
        --col-img-bg: #363636;
        --col-border: #363636;
        --col-black-force: #111;
        --col-white-footer: #dcdcdc;
        --col-black-footer: #101010
    }
}

:root {
    --ease-power2-out: cubic-bezier(0.32, 0.94, 0.6, 1);
    --ease-expo-out: cubic-bezier(0.14, 1, 0.34, 1);
    --btn-w: calc(var(--gw)*2);
    --btn-r: var(--gw);
    --padding-x: calc(var(--gw)*3);
    --padding-thin-x: calc(var(--gw)*12);
    --border-r: calc(var(--gw)*1);
    --single-r: 0.75em;
    --gap-c: calc(var(--gw)*3);
    --gap-x: calc(var(--gw)*2);
    --gap-y: calc(var(--gw)*2);
    --header-h: calc(var(--gw)*4);
    --main-header-h: calc(var(--gw)*2);
    --sub-header-h: calc(var(--gw)*2);
    --filter-s: 3s var(--ease-expo-out);
    --fade-s: 2s var(--ease-expo-out);
    --clip-s: 1.6s var(--ease-expo-out)
}

* {
    box-sizing: border-box;
    outline-color: var(--col-black)
}

a,
html {
    color: var(--col-black)
}

a {
    text-decoration: none
}

.alt {
    text-indent: -9999px
}

.show-m,
.show-t {
    display: none !important
}

.c-face {
    z-index: 0
}

.c-local {
    z-index: 1
}

.c-header {
    z-index: 99
}

.wh {
    height: calc(var(--vh)*100)
}

.c-img {
    background-color: var(--col-black-force)
}

.c-underline {
    text-decoration: underline
}

.c-underline:hover {
    text-decoration: none
}

h1 {
    font-weight: 600
}

h2,
h3,
h4,
h5,
h6 {
    font-weight: 500
}

.in {
    position: relative;
    width: 100%;
    height: 100%
}

.body {
    padding-left: var(--padding-x);
    padding-right: var(--padding-x)
}

.body,
.body-thin {
    width: 100%;
    margin: 0 auto
}

.body-thin {
    padding-left: var(--padding-thin-x);
    padding-right: var(--padding-thin-x)
}

.body-middle {
    width: 100%;
    padding-left: calc(var(--gw)*10);
    padding-right: calc(var(--gw)*10);
    margin: 0 auto
}

.is-desktop .show-m,
.is-desktop .show-t,
.show-m,
.show-t {
    display: none
}

a:focus-visible .ui-btn-svg {
    overflow: hidden
}

.is-loaded #app [data-d="0"] {
    transition-delay: 0s
}

.is-loaded #app [data-d="1"] {
    transition-delay: .1s
}

.is-loaded #app [data-d="2"] {
    transition-delay: .2s
}

.is-loaded #app [data-d="3"] {
    transition-delay: .3s
}

.is-loaded #app [data-d="4"] {
    transition-delay: .4s
}

.is-loaded #app [data-d="5"] {
    transition-delay: .5s
}

.is-loaded #app [data-d="6"] {
    transition-delay: .6s
}

.is-loaded #app [data-d="7"] {
    transition-delay: .7s
}

.is-loaded #app [data-d="8"] {
    transition-delay: .8s
}

.is-loaded #app [data-d="9"] {
    transition-delay: .9s
}

.is-loaded #app [data-d="10"] {
    transition-delay: 1s
}

[data-n="0"] {
    height: calc(var(--gw)*0)
}

[data-n=".5"] {
    height: calc(var(--gw)*0.5)
}

[data-n="1"] {
    height: calc(var(--gw)*1)
}

[data-n="1.5"] {
    height: calc(var(--gw)*1.5)
}

[data-n="2"] {
    height: calc(var(--gw)*2)
}

[data-n="2.5"] {
    height: calc(var(--gw)*2.5)
}

[data-n="3"] {
    height: calc(var(--gw)*3)
}

[data-n="3.5"] {
    height: calc(var(--gw)*3.5)
}

[data-n="4"] {
    height: calc(var(--gw)*4)
}

[data-n="4.5"] {
    height: calc(var(--gw)*4.5)
}

[data-n="5"] {
    height: calc(var(--gw)*5)
}

[data-n="5.5"] {
    height: calc(var(--gw)*5.5)
}

[data-n="6"] {
    height: calc(var(--gw)*6)
}

[data-n="6.5"] {
    height: calc(var(--gw)*6.5)
}

[data-n="7"] {
    height: calc(var(--gw)*7)
}

[data-n="7.5"] {
    height: calc(var(--gw)*7.5)
}

[data-n="8"] {
    height: calc(var(--gw)*8)
}

[data-n="8.5"] {
    height: calc(var(--gw)*8.5)
}

[data-n="9"] {
    height: calc(var(--gw)*9)
}

[data-n="9.5"] {
    height: calc(var(--gw)*9.5)
}

[data-n="10"] {
    height: calc(var(--gw)*10)
}

[data-n] {
    display: block;
    width: 100%
}

[data-n="0.5"] {
    height: calc(var(--gw)*0.5)
}

[data-n="0"] {
    display: none
}

.js-bg-filter,
.js-bg-img {
    width: 100%;
    height: 100%;
    overflow: hidden
}

.js-bg-filter:after,
.js-bg-img:after {
    content: "";
    display: block;
    width: calc(100% - 1px);
    height: calc(100% - 1px);
    background-color: var(--col-black-force);
    position: absolute;
    top: .5px;
    left: .5px;
    border-radius: var(--border-r);
    visibility: hidden
}

.s-header .c-post-tmb-i:after {
    border-radius: var(--single-r)
}

.js-bg-static:after {
    display: none
}

.is-loaded .js-bg-filter:after,
.is-loaded .js-bg-img:after {
    visibility: visible
}

.is-loaded .is-played .js-bg-filter:after {
    visibility: hidden
}

.js-bg-img .elem {
    opacity: 0;
    transform: scale(1.05) rotate(1deg);
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: 50%;
    background-repeat: no-repeat;
    will-change: auto
}

.js-bg-img.loaded[data-shown="1"] .elem {
    opacity: 1;
    transform: scale(1);
    transition: opacity var(--fade-s), transform 6s
}

.js-bg-img.loaded[data-shown="1"] .elem[data-anim="1"] {
    will-change: transform, opacity
}

.is-desktop[data-browser=safari] .js-bg-img .elem {
    transform: none;
    opacity: 1
}

.is-desktop[data-browser=safari] .js-bg-img.loaded[data-shown="1"] .elem {
    opacity: 1;
    transform: none;
    transition: none
}

.is-desktop[data-browser=safari] .js-bg-img.loaded[data-shown="1"] .elem[data-anim="1"] {
    will-change: auto
}

.js-bg-static {
    background-color: var(--col-img-bg);
    position: relative
}

.js-bg-static .elem {
    transform: scale(1)
}

.js-bg-filter .elem {
    opacity: 0;
    background-size: cover;
    background-position: 50%;
    width: 100%;
    height: 100%
}

.is-desktop[data-browser=safari] .js-bg-filter .elem {
    filter: none !important;
    transform: none !important
}

.js-bg-filter-svg {
    position: absolute;
    z-index: 0;
    visibility: hidden;
    top: 0;
    left: 0
}

.js-bg-filter,
.js-bg-filter-svg,
.js-bg-filter-svg svg {
    width: 100%;
    height: 100%
}

.js-bg-filter {
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden
}

.js-bg-filter .js-bg-filter-target {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2
}

.p-content {
    border-radius: 0 0 calc(var(--gw)*2) calc(var(--gw)*2);
    position: relative;
    z-index: 2
}

.p-content,
body {
    background-color: var(--col-lgray)
}

.is-ov-footer body {
    background-color: var(--col-black-footer)
}

.c-scroll {
    pointer-events: none;
    z-index: 2;
    position: relative
}

.p-header {
    pointer-events: auto
}

#app {
    overflow: auto;
    height: 100%
}

.c-wrapper {
    width: 100%;
    z-index: 1
}

.c-scroller,
.c-wrapper {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0
}

.c-scroller {
    overflow-x: hidden;
    overflow-y: scroll
}

.c-container {
    position: sticky;
    top: 0;
    height: calc(var(--vh)*100);
    overflow: hidden;
    will-change: scroll-position
}

.c-local,
.c-main {
    position: relative;
    width: 100%
}

.is-static-scroll {
    scroll-behavior: smooth
}

.is-static-scroll #app {
    overflow: unset;
    height: auto
}

.is-static-scroll .c-height {
    display: none
}

.is-static-scroll .c-wrapper {
    position: unset
}

.is-static-scroll .c-scroller {
    overflow-x: unset;
    overflow-y: unset;
    position: unset
}

.is-static-scroll .c-container {
    overflow: visible;
    position: unset;
    height: auto
}

.c-container,
.c-scroller,
body {
    overscroll-behavior-y: none
}

.c-header {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    pointer-events: none
}

.c-header-body {
    pointer-events: auto;
    background-color: var(--col-lgray);
    transition: all .3s
}

.c-header-sub {
    width: 100%;
    position: relative
}

.c-header-back,
.c-header-logo {
    position: absolute;
    height: 100%;
    top: 0;
    display: flex;
    align-items: center
}

.c-header-logo {
    left: 50%;
    transform: translate(-50%)
}

.c-header-logo a,
.c-header-logo h1 {
    height: 100%
}

.c-header-logo a {
    display: flex;
    align-items: center;
    padding: 0 1em
}

.c-header-back {
    left: 0
}

.c-header-main-body {
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    align-items: center;
    z-index: 2
}

.c-global-nav {
    width: 100%;
    height: 100%;
    text-align: center;
    text-transform: uppercase
}

.c-global-nav .a .t1 {
    font-weight: 600
}

.c-global-nav .a .t2 {
    font-weight: 600;
    padding-bottom: .5em
}

.c-global-nav ul {
    display: flex;
    height: 100%
}

.c-global-nav ul li {
    height: 100%;
    width: 25%;
    display: table
}

.c-global-nav ul li .a {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    width: 100%;
    height: 100%
}

.c-global-nav ul ul {
    margin-left: 1em;
    font-size: .75em;
    padding: .4em 0
}

.c-header-back {
    left: calc(var(--gw))
}

.c-header-back .c-label {
    display: flex;
    align-items: center;
    height: 100%;
    padding-right: 1em
}

.c-header-back .c-label .b {
    height: .8em;
    width: .8em;
    margin-right: .8em;
    background-color: var(--col-black);
    border-radius: 100%;
    z-index: 1;
    transform: translateY(100%) scale(0)
}

.is-loaded .c-header-back .c-label .b {
    transition: transform var(--fade-s);
    transform: translate(0) scale(1)
}

.c-header-lang {
    position: absolute;
    top: -100%;
    right: 0;
    height: calc(var(--gw)*2)
}

.c-header-lang nav {
    height: 100%
}

.c-header-lang li,
.c-header-lang ul,
.c-header .c-header-lang a {
    height: 100%;
    display: flex;
    align-items: center
}

.c-header .c-header-lang a {
    text-align: center;
    width: calc(var(--gw));
    min-width: 2.5em
}

.c-header .c-header-lang a .t {
    display: block
}

.c-header .c-header-lang a .o,
.l-w {
    width: 100%
}

.l-w {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: max(5px, .347vw);
    height: max(20px, 1.388vw);
    position: relative;
    overflow: hidden;
    z-index: 1
}

.c-flip-l .l-w {
    padding: 0 .5em
}

.l-t {
    padding: 1px .5em 0;
    border-radius: max(5px, .347vw);
    height: max(20px, 1.388vw);
    color: var(--col-white);
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 0;
    margin-left: .5em
}

.l-b,
.l-t {
    background-color: var(--col-black)
}

.l-b {
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0
}

.c-lang {
    cursor: pointer
}

.c-lang *,
[lang=ja] .c-header-lang .js-lang-ja {
    pointer-events: none
}

[lang=ja] .c-header-lang .js-lang-ja .o {
    color: var(--col-white)
}

[lang=ja] .c-header-lang .js-lang-ja .o .l-b {
    transform: translate(0)
}

[lang=en] {
    letter-spacing: -.01em
}

[lang=en] .c-header-lang .js-lang-en {
    pointer-events: none
}

[lang=en] .c-header-lang .js-lang-en .o {
    color: var(--col-white)
}

[lang=en] .c-header-lang .js-lang-en .o .l-b {
    transform: translate(0)
}

[lang=en] .c-header .l-t {
    padding-top: 0
}

[lang=en] .c-mv-subtitle {
    margin-top: 1em
}

[lang=en] .c-clip {
    letter-spacing: -.01em
}

[lang=en] .c-mv-title.c-clip,
[lang=en] .c-mv-title.c-clip .o {
    line-height: .9
}

[lang=en] .c-content-title .c-clip .o {
    margin-bottom: -.225em
}

[lang=en] .c-content-title {
    margin-top: 0
}

.c-header-body {
    position: relative;
    width: 100vw
}

.c-header-radius {
    width: calc(var(--border-r)*2);
    height: var(--border-r);
    position: absolute;
    bottom: -var(--border-r);
    vertical-align: top;
    box-sizing: content-box;
    pointer-events: none;
    will-change: transform
}

.c-header-radius svg {
    width: 100%;
    height: 100%;
    overflow: hidden
}

.c-header-radius.r {
    right: calc(var(--padding-x) - var(--gw))
}

.c-header-radius.l,
.c-header-radius.r {
    margin-top: calc(var(--border-r)/30*-1)
}

.c-header-radius.l {
    left: calc(var(--padding-x) - var(--gw))
}

.c-header-radius path {
    fill: var(--col-lgray)
}

.is-ov-mv[data-current-page=home] .c-header-radius.r {
    right: 0
}

.is-ov-mv[data-current-page=home] .c-header-radius.l {
    left: 0
}

.ll {
    transition: color .5s var(--ease-power2-out)
}

.l-b {
    transform: translateY(110%);
    transition: transform .5s var(--ease-power2-out)
}

.c-hover a,
.ui-select a .t {
    transition: opacity .4s var(--ease-power2-out)
}

.is-desktop[data-reduced=false] .c-flip-ll:hover .ll {
    color: var(--col-white)
}

.is-desktop[data-reduced=false] .c-flip-ll:hover .ll .l-b {
    transform: translate(0)
}

.is-desktop[data-reduced=false] .c-hover a:hover,
.is-desktop[data-reduced=false] .ui-select a:hover .t {
    opacity: .7
}

.js-scroll-to * {
    pointer-events: none
}

.p-footer,
.p-footer a {
    color: var(--col-white-footer)
}

.p-footer {
    overflow: hidden;
    position: relative;
    width: 100%
}

.p-footer-b {
    pointer-events: none
}

.p-footer-f {
    background-color: var(--col-black-footer);
    bottom: 0;
    left: 0;
    z-index: 1;
    position: sticky
}

.is-ov-fv .p-footer-f,
.is-ov-mv .p-footer-f {
    visibility: hidden;
    pointer-events: none
}

.is-ov-footer .p-footer-f {
    visibility: visible;
    pointer-events: auto
}

.js-para-spacer {
    height: 50%;
    width: 100%
}

.p-footer .body {
    height: auto;
    width: 100%
}

.c-sitemap {
    position: relative
}

.c-sitemap .ui-btn-wrap {
    position: absolute;
    width: auto;
    top: 0;
    right: 0;
    width: var(--btn-w);
    height: var(--btn-w)
}

.c-sitemap-r {
    display: flex;
    justify-content: space-between;
    align-items: flex-start
}

.c-sitemap-ul {
    width: 50%;
    padding-right: calc(var(--gw)*2)
}

.c-sitemap .c-sitemap-ul ul .t {
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    max-width: 100%
}

.c-sitemap .c-section-h2 {
    margin-bottom: 1.5em;
    padding: 0
}

.c-links {
    margin: -.4em -.8em
}

.c-links a {
    display: block;
    padding: .1em .8em
}

.c-links ul {
    margin-left: 1em;
    font-size: .8em;
    padding: .4em 0 .6em
}

.c-links .c-clip .o {
    line-height: 1.1
}

.c-address {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.c-address>div {
    width: 33.333%
}

.c-address-r ul,
.c-mode {
    display: flex;
    justify-content: center;
    align-items: center
}

.c-address-r {
    display: flex;
    justify-content: flex-end;
    align-items: center
}

.c-address-r a {
    padding: 1em;
    display: block
}

.c-address-r {
    margin: -1em
}

.c-sns {
    position: absolute;
    bottom: var(--padding-x);
    right: var(--padding-x)
}

.c-sns ul {
    display: flex;
    align-items: center
}

.c-sns ul li {
    margin-left: .5em
}

.c-sns a,
.ui-btn-ghost {
    display: flex;
    justify-content: center;
    align-items: center;
    height: calc(var(--btn-w)*0.5);
    padding: 1px .75em 0;
    min-width: 3em;
    border: 1px solid var(--col-border);
    background-color: var(--col-black-force);
    color: var(--col-white-force);
    border-radius: max(10px, .694vw);
    font-weight: 500
}

.js-split {
    opacity: 0;
    overflow: hidden;
    line-height: 1.1
}

.js-split span {
    display: inline-block
}

.js-split .o {
    overflow: hidden;
    line-height: 1;
    padding-bottom: .25em;
    margin-bottom: -.125em
}

.js-split .c,
.js-split .t,
.js-split .w {
    will-change: auto;
    transform: translateY(1.25em)
}

.js-split .c[data-anim="1"],
.js-split .t[data-anim="1"],
.js-split .w[data-anim="1"] {
    will-change: transform
}

.js-split .s {
    min-width: .25em
}

.is-loaded .js-split {
    opacity: 1
}

.js-split[data-type=words] .w {
    transition: transform var(--fade-s);
    transform: translateY(110%)
}

.js-split[data-type=chars] .w {
    transition: transform 0s;
    transform: translate(0)
}

.js-split[data-type=chars] .c {
    transition: transform var(--fade-s);
    transform: translateY(110%)
}

.is-desktop[data-browser=safari] .js-split[data-type=chars] .c,
.is-desktop[data-browser=safari] .js-split[data-type=chars] .w,
.is-desktop[data-browser=safari] .js-split[data-type=words] .w {
    transform: none
}

.c-clip {
    line-height: 1.2
}

.c-clip span {
    display: inline-block
}

.c-clip .s {
    width: .25em
}

.c-clip .o {
    overflow: hidden;
    line-height: .95;
    padding-bottom: .35em;
    margin-bottom: -.05em
}

.c-clip .t {
    will-change: auto;
    opacity: 0;
    transform: translateY(100%) scale(1.02);
    transform-origin: left bottom;
    display: inline-block
}

.c-clip .t[data-anim="1"] {
    will-change: transform
}

.is-desktop[data-browser=safari] .c-clip .t {
    will-change: auto;
    transform: none
}

.is-desktop[data-browser=safari] .c-clip .t[data-anim="1"] {
    will-change: auto
}

.c-mv-title.c-clip .t {
    transform: translateY(50%) scale(1.02);
    transform-origin: center bottom
}

#app .c-mv-subtitle.c-clip .t {
    transform-origin: center bottom;
    transition-delay: .1s
}

.c-content-title .c-clip .o {
    margin-bottom: -.125em
}

.c-content-title {
    margin-top: .125em
}

.c-header-menu .c-clip .o {
    line-height: 1
}

.c-flip-t .o {
    height: 1em
}

.c-flip-t .t {
    transition: opacity var(--clip-s), transform var(--clip-s)
}

.c-block .o,
.c-flip-t .t {
    display: block
}

.c-clip.t-auto .o,
.c-clip.t-upper .o {
    padding-bottom: 0;
    margin-bottom: 0
}

.t-upper {
    text-transform: uppercase
}

.t-cap {
    text-transform: capitalize
}

.t-lower {
    text-transform: lowercase
}

.is-loaded .c-clip[data-shown="1"] .t,
.is-loaded [data-shown="1"] .c-clip .t {
    transition: opacity var(--clip-s), transform var(--clip-s);
    opacity: 1;
    transform: translate(0)
}

.is-loaded .js-split[data-shown="1"] .c,
.is-loaded .js-split[data-shown="1"] .w,
.is-loaded [data-shown="1"] .js-split .c,
.is-loaded [data-shown="1"] .js-split .w {
    opacity: 1;
    transform: translate(0)
}

[data-current-page=home] [data-to=home] {
    color: var(--col-white)
}

[data-current-page=home] [data-to=home] .l-b {
    transform: translate(0)
}

[data-current-page=home] .p-footer [data-to=home] {
    color: var(--col-white-footer)
}

[data-current-page=about] [data-to=about] {
    color: var(--col-white)
}

[data-current-page=about] [data-to=about] .l-b {
    transform: translate(0)
}

[data-current-page=about] .p-footer [data-to=about] {
    color: var(--col-white-footer)
}

[data-current-page=future-technology-seeds] [data-to=future-technology-seeds] {
    color: var(--col-white)
}

[data-current-page=future-technology-seeds] [data-to=future-technology-seeds] .l-b {
    transform: translate(0)
}

[data-current-page=future-technology-seeds] .p-footer [data-to=future-technology-seeds] {
    color: var(--col-white-footer)
}

[data-current-page=future-project] [data-to=future-project] {
    color: var(--col-white)
}

[data-current-page=future-project] [data-to=future-project] .l-b {
    transform: translate(0)
}

[data-current-page=future-project] .p-footer [data-to=future-project] {
    color: var(--col-white-footer)
}

[data-current-page=product] [data-to=product] {
    color: var(--col-white)
}

[data-current-page=product] [data-to=product] .l-b {
    transform: translate(0)
}

[data-current-page=product] .p-footer [data-to=product] {
    color: var(--col-white-footer)
}

[data-current-page=virtual-pavilion] [data-to=virtual-pavilion] {
    color: var(--col-white)
}

[data-current-page=virtual-pavilion] [data-to=virtual-pavilion] .l-b {
    transform: translate(0)
}

[data-current-page=virtual-pavilion] .p-footer [data-to=virtual-pavilion] {
    color: var(--col-white-footer)
}

[data-current-page=team] [data-to=team] {
    color: var(--col-white)
}

[data-current-page=team] [data-to=team] .l-b {
    transform: translate(0)
}

[data-current-page=team] .p-footer [data-to=team] {
    color: var(--col-white-footer)
}

[data-current-page=reports] [data-to=reports] {
    color: var(--col-white)
}

[data-current-page=reports] [data-to=reports] .l-b {
    transform: translate(0)
}

[data-current-page=reports] .p-footer [data-to=reports] {
    color: var(--col-white-footer)
}

[data-current-page=archive] [data-to=archive] {
    color: var(--col-white)
}

[data-current-page=archive] [data-to=archive] .l-b {
    transform: translate(0)
}

[data-current-page=archive] .p-footer [data-to=archive] {
    color: var(--col-white-footer)
}

[data-current-page=privacy-policy] [data-to=privacy-policy] {
    color: var(--col-white)
}

[data-current-page=privacy-policy] [data-to=privacy-policy] .l-b {
    transform: translate(0)
}

[data-current-page=privacy-policy] .p-footer [data-to=privacy-policy] {
    color: var(--col-white-footer)
}

[data-current-page=terms-of-use] [data-to=terms-of-use] {
    color: var(--col-white)
}

[data-current-page=terms-of-use] [data-to=terms-of-use] .l-b {
    transform: translate(0)
}

[data-current-page=terms-of-use] .p-footer [data-to=terms-of-use] {
    color: var(--col-white-footer)
}

[data-current-page=reservation-notes] [data-to=reservation-notes] {
    color: var(--col-white)
}

[data-current-page=reservation-notes] [data-to=reservation-notes] .l-b {
    transform: translate(0)
}

[data-current-page=reservation-notes] .p-footer [data-to=reservation-notes] {
    color: var(--col-white-footer)
}

.is-a-leave.is-leave #c-face .js-face {
    opacity: 0;
    transition: opacity .3s
}

.is-a-leave.is-leave #app .c-local .js-fade-in[data-shown="1"],
.is-a-leave.is-leave #app .c-local .js-slide-in[data-shown="1"],
.is-a-leave.is-leave #app .c-local [data-shown="1"] .js-fade-in,
.is-a-leave.is-leave #app .c-local [data-shown="1"] .js-slide-in {
    opacity: 0;
    transition: opacity .3s 0s var(--ease-power2-in)
}

.is-a-leave.is-leave #app .c-local .c-clip[data-shown="1"] .t,
.is-a-leave.is-leave #app .c-local [data-shown="1"] .c-clip .t {
    transition: opacity .3s 0s var(--ease-power2-in), transform .3s 0s var(--ease-power2-in);
    transform: translateY(-130%)
}

.js-slide-in {
    display: inline-block;
    will-change: auto;
    transform: translateY(1em);
    opacity: 0
}

.js-slide-in[data-anim="1"] {
    will-change: transform, opacity
}

.is-desktop[data-browser=safari] .js-slide-in {
    transform: none
}

.is-desktop[data-browser=safari] .js-slide-in[data-anim="1"] {
    will-change: opacity
}

.is-loaded .js-slide-in[data-shown="1"],
.is-loaded [data-shown="1"] .js-slide-in {
    transition: opacity var(--fade-s), transform var(--fade-s);
    transition-delay: .1s;
    transform: translate(0);
    opacity: 1
}

.js-fade-in {
    will-change: auto;
    opacity: 0
}

.js-fade-in[data-anim="1"] {
    will-change: opacity
}

.is-loaded .js-fade-in[data-shown="1"],
.is-loaded [data-shown="1"] .js-fade-in {
    transition: opacity var(--fade-s);
    transition-delay: .1s;
    opacity: 1
}

.c-menu {
    position: fixed;
    z-index: 98;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    opacity: 0;
    background-color: #fafafa
}

.is-menu-opened {
    overflow: hidden
}

.is-menu-opened .c-menu {
    opacity: 1;
    pointer-events: auto
}

.is-loaded .c-mail:hover .t {
    transform: translateY(-100%);
    transition: transform .4s var(--ease-power2-out)
}

.is-copied.is-loaded .c-mail:hover .t {
    transform: translateY(-200%);
    transition: transform .4s var(--ease-power2-out)
}

.c-video-wrap,
.js-para-pivot {
    overflow: hidden;
    position: relative;
    border-radius: var(--border-r);
    z-index: 1
}

.js-para-pivot[data-visible="1"] .js-para {
    will-change: transform
}

.c-video-body {
    height: 100%
}

.c-video-body,
.js-para-body {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    will-change: auto
}

.js-para-body {
    height: 200%
}

.js-para-body[data-speed=auto] {
    top: auto;
    left: auto;
    transform: translate(0);
    bottom: 0
}

.c-border {
    height: 1px;
    width: 100%
}

.c-border div {
    width: 100%;
    height: 100%;
    background-color: var(--col-border);
    opacity: 0
}

.is-loaded .c-border[data-shown="1"] div {
    transition: opacity var(--fade-s);
    opacity: 1
}

.c-section-h2 {
    justify-content: space-between;
    padding-top: var(--gw);
    padding-bottom: var(--gw)
}

.c-section-h2,
.c-section-h2-td {
    display: flex;
    align-items: center
}

.c-section-h2-td {
    width: calc(var(--gw)*2);
    justify-content: center
}

.c-content-title {
    white-space: nowrap;
    line-height: 1.3
}

.c-content-name {
    margin-top: .5em
}

.c-section-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: var(--gap-c)
}

.c-section-content-col {
    width: calc(50vw - var(--padding-x) - var(--gap-c)*0.5)
}

.c-content-title {
    width: calc(50vw - var(--padding-x))
}

[lang=ja] .c-content-title {
    margin-left: -.1em
}

.c-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: var(--gap-y) var(--gap-x)
}

.c-grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: var(--gap-y) var(--gap-x)
}

.c-grid-2-s {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: var(--gap-y) calc(var(--gap-x)/4)
}

.c-post-tmb {
    display: block
}

.c-post-tmb-s {
    padding-top: 100%
}

.c-post-tmb-i {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: var(--border-r);
    z-index: 1
}

.c-post-inf-t {
    height: calc(var(--gw)*2);
    display: flex;
    justify-content: space-between;
    align-items: center
}

.c-grid-1_2 {
    display: grid;
    grid-template-columns: 1fr 2fr;
    grid-gap: var(--gap-y) var(--gap-x)
}

.c-object-fit video {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%
}

.c-video-controls {
    position: absolute;
    left: calc(var(--gw)*1);
    top: calc(var(--gw)*1);
    z-index: 2
}

.c-video-caption {
    padding-top: 1em;
    display: flex;
    justify-content: flex-end
}

.c-video video {
    opacity: 0;
    pointer-events: none
}

.ui-play-video-bg {
    display: block;
    position: absolute;
    z-index: 10;
    width: 100%;
    height: 100%
}

.ui-progress-video {
    position: absolute;
    bottom: -8px;
    z-index: 11;
    width: 100%;
    padding: var(--gw);
    opacity: 0;
    transition: opacity .4s;
    pointer-events: none
}

.ui-progress-video-body {
    display: block;
    position: relative
}

.ui-progress-video input {
    width: 100%;
    height: 16px;
    opacity: 0;
    cursor: pointer;
    display: block
}

.ui-progress-video-thumb-wrap {
    pointer-events: none;
    height: 100%;
    width: 100%;
    position: absolute;
    opacity: 1
}

.ui-progress-video-bg {
    border-radius: 1px;
    height: 3px;
    width: 100%;
    position: absolute;
    background-color: var(--col-black-force);
    top: 50%;
    transform: translateY(-50%)
}

.ui-progress-video-thumb {
    height: 100%;
    width: calc(var(--vp)*100%);
    position: absolute;
    z-index: 2
}

.ui-progress-video-thumb-bar {
    border-radius: 1px;
    background-color: var(--col-white-force);
    height: 3px;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    position: absolute
}

.l-1920x1080 {
    width: 100%;
    aspect-ratio: 1920/1080
}

.l-2520x1230 {
    width: 100%;
    aspect-ratio: 2520/1230
}

.ui-progress-video-label {
    text-indent: -100vmax;
    position: absolute
}

.c-video video,
.js-play-video,
.ui-path-pause,
.ui-path-play {
    transition: opacity .4s
}

.ui-path-play {
    opacity: 1
}

.ui-path-pause {
    opacity: 0
}

.js-unmute-video,
.ui-path-mute {
    pointer-events: none;
    opacity: 0;
    transition: opacity .4s
}

.is-desktop .c-video.is-play video {
    opacity: 1
}

.is-desktop .c-video.is-play .ui-path-play {
    opacity: 0
}

.is-desktop .c-video.is-play .ui-path-pause,
.is-desktop .c-video.is-played video,
.is-desktop .c-video.is-unmuted .ui-path-mute {
    opacity: 1
}

.is-desktop .c-video.is-played .js-play-video,
.is-desktop .c-video.is-played .js-unmute-video,
.is-desktop .c-video.is-played .ui-progress-video {
    opacity: 0
}

.is-desktop .c-video.is-played.is-active .js-play-video,
.is-desktop .c-video.is-played.is-active .js-unmute-video,
.is-desktop .c-video.is-played.is-active .ui-progress-video {
    opacity: 1
}

.is-desktop .c-video.is-played.is-active .ui-progress-video {
    pointer-events: auto
}

.is-any .c-video.is-played video {
    opacity: 1
}

.is-any .js-play-video {
    opacity: 1;
    pointer-events: auto
}

.is-any .js-unmute-video {
    display: none
}

.is-any .c-video.is-played .js-play-video,
.is-any .c-video.is-played .js-unmute-video,
.is-any .c-video.is-played .ui-progress-video {
    opacity: 0
}

[lang=ja] .c-mv-title .t {
    display: flex;
    justify-content: center;
    align-items: center
}

[lang=ja] .c-mv-title span {
    display: block
}

[lang=ja] .c-mv-title span:nth-child(2) {
    margin-right: -.1em
}

[lang=ja] .c-mv-title span:nth-child(3) {
    margin-right: -.08em
}

[lang=ja] .c-mv-title span:nth-child(4),
[lang=ja] .c-mv-title span:nth-child(5) {
    margin-right: 0
}

.n-header {
    height: var(--header-h)
}

.c-header-sub {
    height: var(--sub-header-h)
}

.c-header-main {
    height: var(--main-header-h);
    padding: 0 var(--gw)
}

.ch {
    height: calc(var(--vh)*100 + var(--gw))
}

.p-header.ch {
    height: calc(var(--vh)*100 + var(--gw) + var(--gw))
}

.c-face {
    position: fixed;
    top: var(--header-h);
    left: 0;
    width: 100vw;
    opacity: 0;
    pointer-events: none
}

.is-static-scroll .c-face {
    position: absolute
}

.c-face-body {
    overflow: hidden;
    position: relative;
    height: 100%;
    width: calc(100vw - var(--gw)*2);
    margin: 0 auto;
    border-radius: var(--border-r);
    z-index: 1
}

#js-face {
    position: absolute;
    left: calc(var(--gw)*-1);
    top: 0;
    width: 100vw !important
}

#js-face,
video {
    max-width: 9999px
}

.c-mv {
    width: 100%;
    height: calc(var(--vhx)*100 - var(--header-h));
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    position: relative
}

.c-mv-body {
    padding-bottom: calc(var(--header-h)*0.5);
    letter-spacing: 0
}

.c-mv-subtitle {
    letter-spacing: 0;
    margin-top: .75em
}

.p-header .body {
    height: 100%
}

.ui-btn-scroll-to-body {
    margin-left: calc(var(--btn-w)*-0.5);
    position: absolute;
    bottom: var(--gw);
    left: 50%
}

.is-loaded #app .ui-btn-scroll-to-body[data-shown="1"] {
    transform: translate(0)
}

.js-face {
    opacity: 0;
    transition: opacity 1.2s
}

.is-loaded-mv.is-loaded[data-current-page=home] .c-face,
.is-loaded-mv.is-loaded[data-current-page=home] .js-face {
    opacity: 1
}

@media (prefers-reduced-motion:reduce) {
    * {
        transition: none !important;
        animation: none !important
    }
}

.c-ishiguro-sign {
    width: calc(var(--gw)*6);
    margin-left: auto;
    margin-right: 0
}

.c-ishiguro-sign .js-bg-static {
    background-color: transparent
}

.c-prof-thumb {
    border-radius: var(--border-r);
    overflow: hidden;
    z-index: 1;
    position: relative
}

.c-prof-post {
    margin-top: .5em
}

.c-sponsor-tr {
    display: flex;
    align-items: flex-start;
    overflow: hidden
}

.c-sponsor-th {
    width: calc(var(--gw)*12)
}

.c-sponsor-td,
.c-sponsor-th {
    margin-top: var(--gap-x);
    margin-bottom: var(--gap-x)
}

.c-sponsor-td {
    width: calc(100% - var(--gw)*12)
}

.c-sponsor-td .c-content {
    margin-bottom: var(--gap-x)
}

.c-sponsor-2col .c-sponsor-td,
.c-sponsor-3col .c-sponsor-td,
.c-sponsor-4col .c-sponsor-td,
.c-sponsor-5col .c-sponsor-td {
    grid-gap: calc(var(--gap-x)*0.5)
}

.c-sponsor-2col .c-sponsor-td {
    display: grid;
    grid-template-columns: 1fr 1fr
}

.c-sponsor-3col .c-sponsor-td {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr
}

.c-sponsor-4col .c-sponsor-td {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr
}

.c-sponsor-5col .c-sponsor-td {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr
}

.c-sponsor-auto .c-sponsor-td {
    display: flex;
    align-items: center
}

.c-sponsor-auto .c-sponsor-td li {
    padding-right: var(--gw)
}

.c-sponsor-logo {
    border-radius: calc(var(--border-r)*0.5);
    overflow: hidden;
    z-index: 1;
    position: relative
}

.c-sponsor-message .c-sponsor-td {
    padding: 0 0 0 var(--padding-x)
}

.c-sponsor-vertical {
    flex-direction: column
}

.c-sponsor-vertical .c-sponsor-th {
    margin-bottom: 0
}

.c-sponsor-vertical .c-sponsor-td {
    width: 100%;
    margin-top: var(--gw);
    margin-bottom: 0
}

.c-sponsor-group-banner .c-sponsor-td {
    background-color: #fff;
    border-radius: calc(var(--border-r)*0.5);
    padding: 0 calc(var(--gap-x)*2);
    gap: calc(var(--gap-x)*2)
}

.c-sponsor-group-banner.c-sponsor-4col .c-sponsor-td {
    padding: 0 calc(var(--gap-x));
    gap: calc(var(--gap-x)*0.8)
}

.c-sponsor-group-banner .js-bg-static {
    background-color: transparent
}

.c-slide-li,
.c-slide-ul {
    width: 100%;
    height: 100%
}

.c-slide-wrap {
    position: relative
}

.c-slide-caption {
    width: 100%;
    text-align: center;
    margin-top: 1em
}

.c-slide-control {
    position: absolute;
    z-index: 10;
    bottom: var(--gw);
    right: var(--gw)
}

.c-slide-ul {
    width: 100%;
    position: relative;
    display: flex;
    align-items: center;
    border-radius: var(--border-r);
    overflow: hidden
}

.c-slide-li {
    width: 100%;
    height: 100%;
    z-index: 1;
    top: 0;
    left: 0;
    position: absolute;
    transform-origin: bottom center
}

.c-slide-li.current {
    z-index: 2
}

.c-slide-body.js-para-body,
.js-bg-filter.js-para-body {
    width: 100%;
    height: 100%
}

.c-slide-wrap:has(.c-slide-nav) .c-slide-body,
.c-slide-wrap:has(.c-slide-nav) .c-slide-li,
.c-slide-wrap:has(.c-slide-nav) .c-slide-ul {
    height: auto;
    aspect-ratio: 1/1
}

.c-slide-nav {
    display: grid;
    gap: 1em;
    grid-template-columns: repeat(7, 1fr);
    margin-top: 2em
}

.c-slide-nav-li {
    position: relative;
    aspect-ratio: 1/1;
    overflow: hidden
}

.c-slide-nav-li,
.c-slide-nav-li .js-bg-filter:after {
    border-radius: var(--single-r)
}

.c-mv .c-slide-wrap {
    width: 100%;
    height: 100%
}

.c-archive-header,
.c-archive-header-tr {
    z-index: 2;
    position: relative
}

.c-archive-header-tr {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.c-archive-pagging-body {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%
}

.c-archive-pagging-body>* {
    margin-left: calc(var(--gw)*0.5)
}

.c-archive-pagging-stat {
    border: 1px solid var(--col-border);
    border-radius: max(10px, .694vw);
    height: var(--btn-w);
    justify-content: center;
    align-items: center;
    padding: 0 1em;
    width: auto;
    display: none
}

.c-archive-pagging-loading {
    padding: 0 0 0 1em
}

.c-archive-pagging-stat .l {
    width: var(--btn-w);
    height: var(--btn-w);
    position: relative
}

.c-archive-pagging-stat .l .ui-svg-loadging {
    height: .7em;
    width: .7em;
    position: absolute;
    top: 50%;
    left: 50%;
    animation: rotate .6s linear infinite forwards
}

.ui-svg-loadging path {
    fill: none;
    stroke: var(--col-black);
    stroke-width: 5px;
    stroke-linecap: round
}

@keyframes rotate {
    0% {
        transform: translate(-50%, -50%) rotate(0)
    }

    to {
        transform: translate(-50%, -50%) rotate(1turn)
    }
}

.is-loaded-all-articles .c-archive-pagging-complete {
    display: flex
}

.is-loaded-all-articles .c-archive-pagging-loading,
.is-loaded-all-articles .c-archive-pagging-wrap a {
    display: none
}

.is-loading-articles .c-archive-pagging-loading {
    display: flex
}

.is-loading-articles .c-archive-pagging-complete,
.is-loading-articles .c-archive-pagging-wrap a {
    display: none
}

.is-loaded-all-error .c-archive-pagging-error {
    display: flex
}

.is-loaded-all-error .c-archive-pagging-complete,
.is-loaded-all-error .c-archive-pagging-loading,
.is-loaded-all-error .c-archive-pagging-wrap a {
    display: none
}

.s-side {
    top: 0;
    position: sticky;
    z-index: 5;
    font-feature-settings: "palt";
    letter-spacing: .02em;
    width: var(--padding-thin-x);
    padding-left: var(--gap-c);
    padding-right: var(--gap-c)
}

.s-main {
    width: calc(100% - var(--padding-thin-x));
    padding-right: var(--padding-thin-x)
}

.anchor-h3 {
    padding-left: .75em
}

.anchor-h4 {
    padding-left: 1.5em
}

.anchor-h5 {
    padding-left: 2.25em
}

.anchor-h6 {
    padding-left: 3em
}

.s-side-ul a {
    font-weight: 400
}

.s-side-ul .active a {
    font-weight: 600;
    letter-spacing: -.0025em
}

.s-side-ul {
    margin-top: -.3em;
    margin-bottom: -.3em
}

.s-side-ul a {
    padding-top: .3em;
    padding-bottom: .3em;
    display: block;
    word-break: break-all
}

.s-body {
    display: flex;
    align-items: flex-start
}

.s-header {
    text-align: justify
}

.s-header .c-post-inf-t {
    height: auto
}

.s-header .c-post-tmb {
    max-height: 40vh
}

.s-header .c-post-tmb-i {
    border-radius: var(--single-r)
}

.s-pagging {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: var(--padding-x)
}

.c-alert,
[data-current-page=single] .c-header-radius {
    display: none
}

.c-alert {
    position: fixed;
    bottom: 0;
    z-index: 999;
    background: #181818;
    color: #cdcdcd;
    width: 100%;
    padding: 2rem;
    text-align: center
}

.c-alert-txt {
    display: none
}

.c-alert-body {
    display: table-cell;
    text-align: center;
    vertical-align: middle
}

.c-alert a {
    color: #cdcdcd;
    text-decoration: underline
}

.c-alert-title {
    font-weight: 500;
    font-size: 2rem;
    line-height: 1.1;
    margin-bottom: 1em;
    display: none
}

html body {
    visibility: visible
}

@media (prefers-color-scheme:dark) {

    #app .c-face-body,
    #app .c-img,
    #app .c-outline,
    #app .c-post-tmb-i,
    #app .editor-area .c-iframe iframe,
    #app .editor-area .wp-caption img {
        border: 1px solid var(--col-border)
    }

    #app .c-ishiguro-sign {
        filter: invert(1)
    }

    #app .p-content {
        border-bottom: 1px solid var(--col-border);
        box-shadow: 0 1em 1em 0 #151515
    }

    #app .c-sitemap .c-content-title,
    #app .f-40,
    #app .f-50,
    #app .f-55,
    #app .ui-btn-txt,
    #app .w6,
    #app .w7 {
        font-weight: 500
    }

    #app .c-header-menu a,
    #app .c-mv .ui-btn-svg,
    #app .ui-btn-svg {
        border: 1px solid var(--col-border)
    }
}

@media screen and (min-width:500px) and (prefers-color-scheme:dark) {
    #app .c-mv-title.w6 {
        font-weight: 600
    }

    #app .c-global-nav .a .t_canvas_h1,
    #app .c-header-sub h1 {
        font-weight: 500
    }
}

@media screen and (max-width:1024px) and (prefers-color-scheme:dark) {
    #app .e-content {
        color: var(--col-white-force)
    }
}

.is-any[data-mode=dark] .ui-select a {
    width: auto;
    padding-left: 0;
    padding-right: 0
}

@media screen and (max-width:500px) and (prefers-color-scheme:dark) {
    :root {
        --col-mv-txt: #fff
    }

    #app .c-section-h2-td .w7 {
        font-weight: 500
    }
}

html.is-screenshot-scroll .p-footer-f {
    visibility: visible;
    pointer-events: auto;
    position: relative
}

.c-group .t {
    display: inline-flex;
    background-color: var(--col-black);
    color: var(--col-white);
    height: max(24px, 1.666vw);
    padding: 1px .5em 0;
    gap: .5em
}

.c-group .num,
.c-group .t {
    justify-content: center;
    align-items: center;
    border-radius: max(5px, .347vw)
}

.c-group .num {
    display: flex;
    background-color: var(--col-white);
    color: var(--col-black);
    height: max(16px, 1.111vw);
    line-height: .95;
    padding: 2px .5em
}

.c-group-tb {
    display: flex;
    gap: 1em;
    align-items: center
}

.c-belt {
    padding: var(--gap-x);
    border-radius: var(--border-r);
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: var(--gap-x);
    align-items: center
}

.c-bg-gray {
    background-color: var(--col-img-bg)
}

.c-belt p+p {
    margin-top: 1em
}

.c-partition {
    display: flex;
    width: 100%;
    align-items: center
}

.c-partition .text {
    width: 100%;
    border: 1px solid var(--col-border);
    border-radius: max(5px, .347vw);
    padding: 1em 1.5em;
    text-align: center;
    line-height: 1.2
}

.c-partition .line {
    width: 100%
}

.c-partition .l {
    width: 100%;
    height: 1px;
    background-color: var(--col-border)
}

.c-step {
    display: flex;
    gap: 1em;
    margin: 2em 0 1.5em
}

.c-step-num {
    width: 5em;
    font-weight: 600
}

.c-step-content {
    width: calc(100% - 5em)
}

.ratio-2_1 {
    aspect-ratio: 2/1
}

.ratio-20_11 {
    aspect-ratio: 20/11
}

.c-content:has(.c-accordion) {
    width: 100%
}

.c-accordion summary {
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    padding: 2em 0;
    cursor: pointer
}

.c-accordion summary::-webkit-details-marker {
    display: none
}

.c-accordion summary h5 {
    display: flex;
    gap: 1em;
    align-items: center
}

.c-accordion .c-accordion-content {
    opacity: 0
}

.c-accordion[open] {
    padding: 0 0 2em
}

.c-accordion[open] .c-accordion-content {
    opacity: 1;
    transition: opacity var(--fade-s)
}

.c-accordion-toggle {
    padding: 0 1em
}

.c-accordion-toggle .t:before {
    content: "OPEN"
}

.c-accordion[open] .c-accordion-toggle .t:before {
    content: "CLOSE"
}

.c-copy {
    position: relative;
    z-index: 2;
    cursor: pointer;
    display: inline-flex;
    gap: 5px;
    align-items: center;
    background-color: var(--col-white);
    border-radius: 1em;
    padding: 3px .8em 2.5px;
    line-height: 1em
}

.c-copy .i-clip {
    width: 1.3em;
    height: 1.3em
}

p .c-copy {
    margin: .2em .5em
}

p .c-copy:first-child {
    margin-left: 0;
    margin-top: 0
}

.c-copy-feedback {
    bottom: calc(100% + .6em);
    color: var(--col-white);
    border-radius: max(10px, .694vw);
    padding: 1em;
    white-space: nowrap
}

.c-copy-feedback,
.c-copy-feedback .triangle {
    position: absolute;
    left: 50%;
    transform: translate(-50%);
    background-color: var(--col-border)
}

.c-copy-feedback .triangle {
    top: 99%;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    width: .8em;
    height: .4em
}

[lang=en] .c-copy .ja,
[lang=ja] .c-copy .en {
    display: none
}

.c-balance {
    text-wrap: balance
}

.c-phrase {
    word-break: auto-phrase
}

.c-nowrap {
    text-wrap: nowrap
}

.c-word-flex {
    display: flex;
    flex-wrap: wrap;
    gap: 0 .25em;
    justify-content: center
}

.c-block-title .t {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background-color: var(--col-black);
    color: var(--col-white);
    height: max(20px, 1.388vw);
    border-radius: max(5px, .347vw);
    padding: 1px .5em 0
}

.c-research-col {
    display: grid;
    gap: var(--gap-x);
    grid-template-columns: calc(50vw - var(--gap-x) - var(--gap-c)*0.5) 3fr 2fr
}

.c-research-table {
    margin: calc(var(--gw)*1) 0;
    word-break: break-word
}

.c-research-table.js-slide-in[data-visible="0"] {
    opacity: 0
}

.is-desktop[data-browser=safari] .c-research-table.js-slide-in[data-visible="0"] {
    opacity: 1
}

.is-loaded .c-research-table.js-slide-in[data-visible="1"] {
    opacity: 1;
    transition: opacity var(--fade-s), transform var(--fade-s)
}

.c-research-tag {
    display: flex;
    flex-wrap: wrap;
    gap: .75em
}

.c-research-tag li {
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid var(--col-border);
    height: max(20px, 1.388vw);
    border-radius: max(5px, .347vw);
    padding: 1px .5em 0
}

.c-research p+p {
    margin-top: .75em
}

.c-research a {
    text-decoration: underline
}

.c-research a:hover {
    text-decoration: none
}

.c-section-center {
    text-align: center
}

.c-section-center .c-content-title {
    width: 100%
}

.c-prod-nav {
    display: flex;
    justify-content: center;
    gap: 1em
}

.c-prod-nav-i {
    width: calc(var(--gw)*4);
    aspect-ratio: 1/1;
    position: relative
}

.c-prod-nav-i,
.c-prod-nav-i:after {
    border-radius: var(--single-r)
}

@media screen and (min-height:52vw) {
    .c-prod-sticky {
        position: sticky;
        top: var(--header-h)
    }
}

[lang=en] .c-prod-name {
    line-height: 1.25
}

.c-prod-block-title .t {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background-color: var(--col-black);
    color: var(--col-white);
    height: max(20px, 1.388vw);
    border-radius: max(5px, .347vw);
    padding: 1px .5em 0
}

.c-prod-editor {
    padding-top: 1.5em
}

.c-prod-editor p {
    margin-bottom: .5em
}

.c-prod-editor ol,
.c-prod-editor ul {
    margin-top: 1em;
    margin-bottom: 1em;
    padding-left: 0
}

.c-prod-editor ul li {
    list-style-type: disc;
    margin-left: 1.1em
}

.c-prod-editor ol li {
    list-style-type: none
}

.c-prod-editor li+li {
    margin-top: .5em
}

.c-prod-editor h5 {
    margin-bottom: .6em;
    margin-top: 1.2em
}

.c-prod-editor h5+h5 {
    margin-top: 1em
}

.c-prod-editor>:first-child {
    margin-top: 0
}

.c-prod-editor>:last-child {
    margin-bottom: 0
}

.c-member-title {
    margin-bottom: calc(var(--gw)*2)
}

.c-member-tr {
    display: flex;
    align-items: flex-start;
    overflow: hidden
}

.c-member-td,
.c-member-th {
    margin-top: var(--gap-x)
}

.c-member-th {
    width: calc(var(--gw)*12);
    margin-right: var(--gw)
}

.c-member-th h5 {
    margin-top: .1em
}

.c-member-td {
    width: calc(100% - var(--gw)*12);
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: calc(var(--gap-x)*0.5) calc(var(--gap-x)*1);
    word-break: auto-phrase
}

.c-member-td .pn {
    display: flex;
    gap: 0 .5em;
    flex-wrap: wrap;
    align-items: center
}

.c-member-td .role+.pn {
    padding-top: .15em
}

.c-member .from,
.c-member .role {
    line-height: 1.2
}

.c-content {
    line-height: 1.7
}

.c-content p:first-child {
    margin-top: 0
}

.c-content p:last-child {
    margin-bottom: 0
}

.c-content blockquote,
.c-content ol,
.c-content p,
.c-content ul {
    margin: 2em 0
}

.s-side-ul {
    line-height: 1.2
}

.c-post-title,
.s-title {
    line-height: 1.4
}

.editor-area {
    text-align: justify;
    letter-spacing: 0;
    line-height: 1.9
}

.editor-area h1,
.editor-area h2,
.editor-area h3,
.editor-area h4,
.editor-area h5,
.editor-area h6 {
    font-weight: 500
}

.editor-area .mce-preview-object {
    border: none
}

.editor-area .mce-object-iframe {
    display: block;
    width: 100%
}

.editor-area * {
    float: none;
    max-width: 100%
}

.editor-area a {
    text-decoration: underline;
    display: inline-block;
    position: relative
}

.editor-area a:hover {
    text-decoration: none
}

.editor-area h2 {
    font-size: 1.5em
}

.editor-area h3 {
    font-size: 1.3em
}

.editor-area h4 {
    font-size: 1.2em
}

.editor-area h1,
.editor-area h2,
.editor-area h3,
.editor-area h4,
.editor-area h5,
.editor-area h6 {
    line-height: 1.3;
    margin: 3em 0 1.5em
}

.editor-area p.h {
    margin-bottom: 1em
}

.editor-area a,
.editor-area b,
.editor-area strong {
    font-weight: 600
}

.editor-area em {
    font-style: italic
}

.editor-area blockquote,
.editor-area ol,
.editor-area p,
.editor-area ul {
    margin-bottom: 2em
}

.editor-area *>iframe,
.editor-area .c-audio,
.editor-area .c-iframe,
.editor-area .wp-caption,
.editor-area iframe,
.editor-area img,
.editor-area video {
    margin-top: 3em;
    margin-bottom: 3em
}

.editor-area img,
.editor-area video {
    height: auto
}

.editor-area .c-iframe,
.editor-area iframe,
.editor-area img,
.editor-area video {
    width: 100%;
    border-radius: var(--single-r);
    z-index: 1;
    position: relative;
    overflow: hidden
}

.editor-area .c-iframe {
    background-color: var(--col-black-force)
}

.editor-area .c-iframe iframe {
    margin: 0
}

.editor-area .c-audio,
.editor-area audio {
    width: 100%
}

.editor-area blockquote {
    padding: 2em;
    font-style: italic;
    border: 1px solid var(--col-border);
    border-radius: var(--single-r)
}

.editor-area blockquote>:last-child,
.editor-area blockquote>p:last-child {
    margin-bottom: 0
}

.editor-area audio,
.editor-area iframe,
.editor-area img,
.editor-area video {
    display: block
}

.editor-area ol,
.editor-area ul {
    margin: 0 0 2em;
    padding-left: 0
}

.editor-area li ol,
.editor-area li ul {
    padding: .5em 0;
    margin: 0
}

.editor-area ol {
    counter-reset: listnum;
    list-style: none
}

.editor-area ol>li:before {
    font-weight: 500;
    position: absolute;
    left: 0;
    top: .25em;
    counter-increment: listnum;
    content: counter(listnum) "."
}

.editor-area ol li strong,
.editor-area ul li strong {
    display: block;
    padding-top: 0;
    padding-bottom: 1em
}

.editor-area ol li strong:first-child,
.editor-area ul li strong:first-child {
    padding-top: 0
}

.editor-area ol li p,
.editor-area ul li p {
    margin-top: 0;
    margin-bottom: 0
}

.editor-area ol li,
.editor-area ul li {
    position: relative;
    padding-top: .25em;
    padding-bottom: .25em;
    padding-left: 1.8em
}

.editor-area ul li:before {
    content: "";
    position: absolute;
    left: 0;
    top: .9em;
    width: .5em;
    height: .5em;
    border-radius: 100%;
    background-color: var(--col-black);
    display: block
}

.editor-area .wp-caption img {
    margin-bottom: 1em
}

.editor-area .wp-caption-text {
    margin-top: 0;
    text-align: center;
    line-height: 1.3
}

.editor-area .aligncenter {
    margin: 0 auto !important
}

.editor-area .alignleft {
    margin-left: 0 !important;
    margin-right: auto !important
}

.editor-area .alignright {
    margin-right: 0 !important;
    margin-left: auto !important
}

.editor-area:first-child {
    margin-top: 0 !important
}

.editor-area:last-child {
    margin-bottom: 0 !important
}

.editor-area ol li:last-child,
.editor-area ul li:last-child {
    margin-bottom: 0
}

.editor-area *:first-child {
    margin-top: 0 !important
}

.editor-area *:last-child {
    margin-bottom: 0 !important
}

.editor-area>:first-child {
    margin-top: 0
}

.editor-area>:last-child {
    margin-bottom: 0
}

@media screen and (max-width:700px) {
    :root {
        --padding-em: .5em;
        --single-r: var(--gw)
    }

    .editor-area h2 {
        font-size: 1.3em
    }

    .editor-area h3 {
        font-size: 1.25em
    }

    .editor-area h4 {
        font-size: 1.2em
    }

    .editor-area h5 {
        font-size: 1.1em
    }

    .editor-area h6 {
        font-size: 1em
    }

    .editor-area h1,
    .editor-area h2,
    .editor-area h3,
    .editor-area h4,
    .editor-area h5,
    .editor-area h6 {
        font-weight: 600
    }
}

[data-id=content_en] .s-side,
[lang=en] .s-side {
    letter-spacing: 0
}

[data-id=content_en] .s-side-ul,
[lang=en] .s-side-ul {
    margin-top: -.5em;
    margin-bottom: -.5em
}

[data-id=content_en] .s-side-ul a,
[lang=en] .s-side-ul a {
    padding-top: .5em;
    padding-bottom: .5em
}

[data-id=content_en] .s-side-ul,
[lang=en] .s-side-ul {
    line-height: 1
}

[data-id=content_en] .s-title,
[lang=en] .s-title {
    font-weight: 500
}

[data-id=content_en] .ui-btn-txt,
[lang=en] .ui-btn-txt {
    font-weight: 600
}

[data-id=content_en] .c-post-title,
[data-id=content_en] .s-title,
[lang=en] .c-post-title,
[lang=en] .s-title {
    line-height: 1.3
}

[data-id=content_en] .c-content,
[data-id=content_en] .c-content p,
[lang=en] .c-content,
[lang=en] .c-content p {
    line-height: 1.5
}

[data-id=content_en] .editor-area,
[lang=en] .editor-area {
    text-align: left;
    font-weight: 400;
    line-height: 1.5
}

[data-id=content_en] .editor-area b,
[data-id=content_en] .editor-area strong,
[lang=en] .editor-area b,
[lang=en] .editor-area strong {
    font-weight: 500
}

.js-ui-btn * {
    pointer-events: none
}

.ui-btn-wrap {
    width: 100%;
    text-align: right
}

.ui-btn-wrap .ui-btn {
    display: inline-block
}

.ui-btn-body {
    display: flex;
    align-items: center;
    height: var(--btn-w)
}

.ui-btn-svg {
    width: var(--btn-w);
    height: var(--btn-w);
    position: relative;
    aspect-ratio: 1/1
}

.ui-btn-svg svg {
    position: absolute;
    width: 100%;
    height: 100%;
    transform: scale(1.37)
}

.path,
use {
    fill: var(--col-white-force)
}

.path-b {
    fill: var(--col-black-force)
}

.ui-btn-txt {
    padding-left: 1.5em;
    padding-right: 2em;
    font-weight: 600;
    letter-spacing: .02em
}

.disable,
.disable * {
    pointer-events: none
}

.ui-btn-mini {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border: 1px solid var(--col-black);
    height: max(20px, 1.388vw);
    border-radius: max(5px, .347vw);
    padding: 1px .5em 0
}

.ui-btn-scroll-to-body {
    width: var(--btn-w);
    height: var(--btn-w)
}

.ui-btn-scroll-to-body svg {
    transform: scale(1.37) rotate(90deg)
}

.ui-btn-scroll-to-top svg {
    transform: scale(1.37) rotate(-90deg)
}

.ui-btn-blank svg {
    transform: scale(1.37) rotate(-45deg)
}

.ui-btn-down svg {
    transform: scale(1.37) rotate(90deg)
}

.ui-btn-prev svg {
    transform: scale(1.37) rotate(-180deg)
}

.ui-controls {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: calc(var(--gw)*-0.5)
}

.ui-controls a {
    display: block;
    margin-left: calc(var(--gw)*0.5)
}

.ui-btn-black {
    border: 1px solid var(--col-border)
}

.ui-btn-svg {
    background-color: var(--col-black-force);
    border-radius: max(10px, .694vw)
}

.ui-select {
    position: relative;
    height: var(--btn-w);
    width: calc(var(--gw)*10)
}

.ui-select-body {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0
}

.ui-select a {
    height: var(--btn-w);
    color: var(--col-white-force);
    padding: .25em
}

.ui-select a,
.ui-select a .o {
    width: 100%;
    display: flex;
    align-items: center
}

.ui-select a .o {
    line-height: 0;
    padding: .75em;
    height: 100%;
    border-radius: .5em;
    border: 2px solid var(--col-black-force)
}

.ui-select a:focus-visible .o {
    border: 2px solid var(--col-white-force)
}

.ui-select a .n {
    border: 1px solid var(--col-border);
    border-radius: max(5px, .347vw);
    height: max(20px, 1.388vw);
    min-width: 2.5em;
    padding: 0 .25em;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 1em
}

.ui-select-ul {
    position: absolute;
    top: 0;
    left: 0
}

.ui-select-pivot,
.ui-select-ul {
    width: 100%;
    background: var(--col-black-force);
    border-radius: max(10px, .694vw);
    z-index: 1
}

.ui-select-pivot {
    height: var(--btn-w);
    position: relative;
    overflow: hidden;
    transition: height .4s
}

.ui-select-svg.ui-btn-svg {
    position: absolute;
    top: 0;
    right: 0;
    pointer-events: none;
    transform: rotate(90deg);
    border-radius: max(10px, .694vw);
    overflow: hidden;
    z-index: 4
}

[data-cat-count="0"] .ui-select-svg {
    transform: rotate(0deg)
}

.ui-category .t {
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid var(--col-border);
    height: max(20px, 1.388vw);
    border-radius: max(5px, .347vw);
    padding: 1px .5em 0
}

.is-desktop .ui-select:hover [data-cat-count="0"] .ui-select-pivot {
    height: calc(var(--btn-w) + var(--btn-w)*0)
}

.is-desktop .ui-select:hover [data-cat-count="1"] .ui-select-pivot {
    height: calc(var(--btn-w) + var(--btn-w)*1)
}

.is-desktop .ui-select:hover [data-cat-count="2"] .ui-select-pivot {
    height: calc(var(--btn-w) + var(--btn-w)*2)
}

.is-desktop .ui-select:hover [data-cat-count="3"] .ui-select-pivot {
    height: calc(var(--btn-w) + var(--btn-w)*3)
}

.is-desktop .ui-select:hover [data-cat-count="4"] .ui-select-pivot {
    height: calc(var(--btn-w) + var(--btn-w)*4)
}

.is-desktop .ui-select:hover [data-cat-count="5"] .ui-select-pivot {
    height: calc(var(--btn-w) + var(--btn-w)*5)
}

.is-desktop .ui-select:hover [data-cat-count="6"] .ui-select-pivot {
    height: calc(var(--btn-w) + var(--btn-w)*6)
}

.is-desktop .ui-select:hover [data-cat-count="7"] .ui-select-pivot {
    height: calc(var(--btn-w) + var(--btn-w)*7)
}

.is-desktop .ui-select:hover [data-cat-count="8"] .ui-select-pivot {
    height: calc(var(--btn-w) + var(--btn-w)*8)
}

.is-desktop .ui-select:hover [data-cat-count="9"] .ui-select-pivot {
    height: calc(var(--btn-w) + var(--btn-w)*9)
}

.is-desktop .ui-select:hover [data-cat-count="10"] .ui-select-pivot {
    height: calc(var(--btn-w) + var(--btn-w)*10)
}

.is-desktop .ui-select:hover [data-cat-count="11"] .ui-select-pivot {
    height: calc(var(--btn-w) + var(--btn-w)*11)
}

.is-desktop .ui-select:hover [data-cat-count="12"] .ui-select-pivot {
    height: calc(var(--btn-w) + var(--btn-w)*12)
}

.is-desktop .ui-select:hover [data-cat-count="13"] .ui-select-pivot {
    height: calc(var(--btn-w) + var(--btn-w)*13)
}

.is-desktop .ui-select:hover [data-cat-count="14"] .ui-select-pivot {
    height: calc(var(--btn-w) + var(--btn-w)*14)
}

.is-desktop .ui-select:hover [data-cat-count="15"] .ui-select-pivot {
    height: calc(var(--btn-w) + var(--btn-w)*15)
}

.is-desktop .ui-select:hover [data-cat-count="16"] .ui-select-pivot {
    height: calc(var(--btn-w) + var(--btn-w)*16)
}

.is-desktop .ui-select:hover [data-cat-count="17"] .ui-select-pivot {
    height: calc(var(--btn-w) + var(--btn-w)*17)
}

.is-desktop .ui-select:hover [data-cat-count="18"] .ui-select-pivot {
    height: calc(var(--btn-w) + var(--btn-w)*18)
}

.is-desktop .ui-select:hover [data-cat-count="19"] .ui-select-pivot {
    height: calc(var(--btn-w) + var(--btn-w)*19)
}

.is-desktop .ui-select:hover [data-cat-count="20"] .ui-select-pivot {
    height: calc(var(--btn-w) + var(--btn-w)*20)
}

.ui-twitter {
    aspect-ratio: 16/9;
    height: -moz-fit-content;
    height: fit-content;
    background-color: #000;
    border-radius: var(--border-r);
    overflow: hidden
}

.twitter-timeline {
    width: 100%
}

.twitter-timeline iframe {
    max-width: 100%
}

.twitter-for-safari {
    display: none
}

[data-browser=safari] .twitter-for-safari {
    display: block
}

[data-browser=safari] .twitter-timeline {
    display: none
}

[data-browser=safari] .ui-twitter {
    overflow: scroll
}

.twitter-tweet {
    margin: 0 !important
}

.ui-youtube {
    width: 100%;
    aspect-ratio: 16/9;
    background-color: #000;
    border-radius: var(--border-r);
    overflow: hidden
}

.ui-tab {
    display: flex;
    gap: calc(min(2vw, var(--gap-x)))
}

.ui-tab-radio {
    display: none
}

.ui-tab-label {
    width: 33.3333%;
    border: 1px solid var(--col-border);
    aspect-ratio: 16/7;
    border-radius: var(--border-r);
    display: flex;
    align-items: center;
    gap: 1em
}

#tab-1:checked~.ui-tab [data-label="1"],
#tab-2:checked~.ui-tab [data-label="2"],
#tab-3:checked~.ui-tab [data-label="3"] {
    border: 1px solid var(--col-black);
    background-color: var(--col-black);
    color: var(--col-white)
}

.ui-tab-label .o {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 2em calc(min(3vw, 3em));
    line-height: 1.2
}

.ui-tab-label .t {
    transition: opacity .4s var(--ease-power2-out)
}

.ui-tab-label .n {
    border: 1px solid var(--col-border);
    border-radius: max(5px, .347vw);
    height: max(20px, 1.388vw);
    min-width: 2.5em;
    padding: 0 .25em;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 1em
}

.ui-tab-panel {
    display: none
}

#tab-1:checked~.ui-tab-contents [data-tab="1"],
#tab-2:checked~.ui-tab-contents [data-tab="2"],
#tab-3:checked~.ui-tab-contents [data-tab="3"] {
    display: block
}

@font-face {
    font-family: YakuHanJP_Noto;
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/assets/fonts/YakuHanJP/YakuHanJP-Regular.eot);
    src: url(/assets/fonts/YakuHanJP/YakuHanJP-Regular.woff2) format("woff2");
    unicode-range: u+3001, u+3002, u+3008, u+3009, u+300a, u+300b, u+300c, u+300d, u+300e, u+300f, u+3010, u+3011, u+3014, u+3015, u+ff01, u+ff08, u+ff09, u+ff1a, u+ff1b, u+ff1f, u+ff3b, u+ff3d, u+ff5b, u+ff5d
}

@font-face {
    font-family: YakuHanJP_Noto;
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(/assets/fonts/YakuHanJP/YakuHanJP-Medium.eot);
    src: url(/assets/fonts/YakuHanJP/YakuHanJP-Medium.woff2) format("woff2");
    unicode-range: u+3001, u+3002, u+3008, u+3009, u+300a, u+300b, u+300c, u+300d, u+300e, u+300f, u+3010, u+3011, u+3014, u+3015, u+ff01, u+ff08, u+ff09, u+ff1a, u+ff1b, u+ff1f, u+ff3b, u+ff3d, u+ff5b, u+ff5d
}

@font-face {
    font-family: YakuHanJP_Noto;
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/assets/fonts/YakuHanJP/YakuHanJP-Bold.eot);
    src: url(/assets/fonts/YakuHanJP/YakuHanJP-Bold.woff2) format("woff2");
    unicode-range: u+3001, u+3002, u+3008, u+3009, u+300a, u+300b, u+300c, u+300d, u+300e, u+300f, u+3010, u+3011, u+3014, u+3015, u+ff01, u+ff08, u+ff09, u+ff1a, u+ff1b, u+ff1f, u+ff3b, u+ff3d, u+ff5b, u+ff5d
}

html {
    font-family: Inter, YakuHanJP_Noto, Noto Sans JP, sans-serif;
    letter-spacing: -.02em
}

[lang=ja] .c-content,
[lang=ja] .c-content-title,
[lang=ja] .c-header,
[lang=ja] .ja {
    letter-spacing: -.03em
}

.w4 {
    font-weight: 400
}

.w5 {
    font-weight: 500
}

.w6 {
    font-weight: 600
}

.w7 {
    font-weight: 700
}

[lang=en] .e4 {
    font-weight: 400
}

[lang=en] .e5 {
    font-weight: 500
}

[lang=en] .e6 {
    font-weight: 600
}

[lang=en] .e7 {
    font-weight: 700
}

.f-200 {
    font-size: 12.5vw
}

[lang=en] .c-mv-title {
    font-size: 8.125vw
}

.c-mv-title,
.f-100 {
    font-size: 7.291vw
}

.f-55 {
    font-size: 3.819vw
}

.f-50 {
    font-size: 3.472vw
}

.f-40 {
    font-size: 2.986vw
}

.f-30 {
    font-size: 2.083vw
}

.c-section-h2-th,
.f-20,
h2 {
    font-size: max(20px, 1.388vw)
}

.c-mv-subtitle,
.c-prod-block h5,
.f-16 {
    font-size: max(16px, 1.111vw)
}

.editor-area,
.f-15 {
    font-size: max(15px, 1.041vw)
}

.c-sitemap .c-section-h2-th,
.f-14,
[lang=en] .e-14,
html {
    font-size: max(14px, .972vw)
}

.f-13 {
    font-size: max(13px, .902vw)
}

.f-12 {
    font-size: max(12px, .833vw)
}

.c-member .from,
.c-member .role,
.f-11 {
    font-size: max(11px, .763vw)
}

.f-10 {
    font-size: max(10px, .694vw)
}

@media screen and (min-width:1440px) {

    .c-section-h2-th,
    .f-20,
    h2 {
        font-size: min(20px, 1.388vw)
    }

    .c-mv-subtitle,
    .c-prod-block h5,
    .f-16 {
        font-size: min(16px, 1.111vw)
    }

    .editor-area,
    .f-15 {
        font-size: min(15px, 1.041vw)
    }

    .c-sitemap .c-section-h2-th,
    .f-14,
    [lang=en] .e-14,
    html {
        font-size: min(14px, .972vw)
    }

    .f-13 {
        font-size: min(13px, .902vw)
    }

    .f-12 {
        font-size: min(12px, .833vw)
    }

    .f-11 {
        font-size: min(11px, .763vw)
    }

    .f-10 {
        font-size: min(10px, .694vw)
    }
}

@media screen and (min-width:1680px) {

    .c-section-h2-th,
    .f-20,
    h2 {
        font-size: 1.25vw
    }

    .c-mv-subtitle,
    .c-prod-block h5,
    .f-16 {
        font-size: 1vw
    }

    .editor-area,
    .f-15 {
        font-size: .937vw
    }

    .c-sitemap .c-section-h2-th,
    .f-14,
    [lang=en] .e-14,
    html {
        font-size: .875vw
    }

    .f-13 {
        font-size: .812vw
    }

    .f-12 {
        font-size: .75vw
    }

    .f-11 {
        font-size: .687vw
    }

    .f-10 {
        font-size: .625vw
    }
}

@media (orientation:portrait),
screen and (max-width:1024px) {

    .c-sitemap .c-content-title,
    .f-50,
    .f-55 {
        font-size: 3.819vw
    }

    .f-40 {
        font-size: max(26px, 1.805vw)
    }

    .f-30 {
        font-size: max(20px, 1.388vw)
    }

    .c-section-h2-th,
    .f-20,
    h2 {
        font-size: max(16px, 1.111vw)
    }
}

@media screen and (max-width:1024px) and (orientation:portrait) {
    .c-global-nav ul {
        font-size: max(20px, 1.388vw)
    }
}

@media screen and (max-width:700px) {
    .w7 {
        font-weight: 600
    }

    [lang=en] .c-mv-title,
    [lang=en] .f-100,
    [lang=en] .f-200 {
        font-size: max(34px, 2.361vw)
    }

    .c-mv-title,
    .f-100,
    .f-200 {
        font-size: max(30px, 2.083vw)
    }

    .c-prof-name,
    .c-sitemap .c-content-title,
    .f-40,
    .f-50,
    .f-55,
    .s-title {
        font-size: max(22px, 1.527vw);
        font-weight: 600
    }

    .c-research-title-text.f-16,
    .f-40 {
        font-size: max(19px, 1.319vw)
    }

    .c-group-tb .f-16,
    .f-30 {
        font-size: max(18.5px, 1.284vw)
    }

    .c-global-nav ul,
    .f-20 {
        font-size: max(16px, 1.111vw)
    }

    .c-mv-subtitle,
    .c-post-title,
    .c-sitemap-ul,
    .f-16,
    .s-pagging .p-title,
    [lang=en] .e-14,
    html {
        font-size: max(14.5px, 1.006vw)
    }

    .c-prod-block h5,
    .c-section-h2-th,
    .c-sitemap .c-section-h2-th,
    .f-12,
    .f-13,
    .is-any .ui-select a {
        font-size: max(13.5px, .937vw)
    }

    .c-product-grid .c-post-inf-t,
    .c-research-tag li,
    .c-section-h2-td,
    .c-section-h2-td.f-12,
    .f-10,
    .f-11 {
        font-size: max(12px, .833vw)
    }
}

.is-any {
    scroll-behavior: smooth
}

.is-any .c-archive-header-th,
.is-any .ui-select-svg {
    display: none
}

.is-any .ui-select,
.is-any .ui-select-pivot {
    width: auto;
    height: auto
}

.is-any .ui-select-body,
.is-any .ui-select-ul {
    position: relative
}

.is-any .ui-select-pivot,
.is-any .ui-select-ul {
    overflow: visible;
    background-color: transparent
}

.is-any .ui-select-ul {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap
}

.is-any .ui-select {
    margin-left: calc(var(--gw)*-0.5);
    margin-bottom: calc(var(--gw)*-0.5)
}

.is-any .ui-select a {
    width: auto;
    background-color: var(--col-black-force);
    border-radius: .5em;
    margin-left: calc(var(--gw)*0.5);
    margin-bottom: calc(var(--gw)*0.5)
}

.is-any .js-bg-filter .elem {
    filter: brightness(0) contrast(400%) saturate(0);
    transform: scale(1.1) rotate(1deg);
    opacity: 0
}

.is-any .js-bg-filter.loaded .elem {
    transition: filter var(--filter-s), opacity var(--filter-s), transform 9s var(--ease-expo-out);
    filter: brightness(100%) contrast(100%) saturate(100%);
    transform: scale(1) rotate(0);
    opacity: 1
}

.is-any.is-enter,
.is-any.is-leave {
    scroll-behavior: auto
}

.is-desktop .hide-o-d,
.is-tablet .hide-o-t {
    display: none !important
}

.is-mobile .hide-o-m {
    display: none !important
}

@media screen and (max-width:1024px) {
    :root {
        --btn-w: calc(var(--gw)*3);
        --padding-x: calc(var(--gw)*2);
        --gap-c: calc(var(--gw)*2);
        --gap-x: calc(var(--gw)*2);
        --gap-y: calc(var(--gw)*3);
        --padding-thin-x: calc(var(--gw)*2);
        --header-h: calc(var(--padding-x)*2 + var(--btn-w))
    }

    #app [data-td="0"] {
        transition-delay: 0s
    }

    #app [data-td="1"] {
        transition-delay: 25ms
    }

    #app [data-td="2"] {
        transition-delay: .05s
    }

    #app [data-td="3"] {
        transition-delay: 75ms
    }

    #app [data-td="4"] {
        transition-delay: .1s
    }

    #app [data-td="5"] {
        transition-delay: .125s
    }

    #app [data-td="6"] {
        transition-delay: .15s
    }

    #app [data-td="7"] {
        transition-delay: .175s
    }

    #app [data-td="8"] {
        transition-delay: .2s
    }

    #app [data-td="9"] {
        transition-delay: .225s
    }

    #app [data-td="10"] {
        transition-delay: .25s
    }

    .c-clip .t {
        opacity: 0;
        transform: translateY(100%) scale(1)
    }

    .c-mv-title.c-clip .t {
        transform: translateY(50%) scale(1)
    }

    .js-bg-filter:after,
    .js-bg-img:after {
        border-radius: max(8px, .555vw)
    }

    .c-header-radius,
    .hide-t,
    [lang=en] .c-header-lang .c-lang-en,
    [lang=ja] .c-header-lang .c-lang-ja {
        display: none !important
    }

    .show-t {
        display: block !important
    }

    .c-archive-pagging-stat,
    .c-face-body,
    .c-post-tmb-i,
    .c-prof-thumb,
    .c-sponsor-logo,
    .js-para-pivot,
    .s-header .c-post-tmb-i {
        border-radius: max(8px, .555vw)
    }

    [data-tb="0"] {
        height: calc(var(--gw)*0)
    }

    [data-tb=".5"] {
        height: calc(var(--gw)*0.5)
    }

    [data-tb="1"] {
        height: calc(var(--gw)*1)
    }

    [data-tb="1.5"] {
        height: calc(var(--gw)*1.5)
    }

    [data-tb="2"] {
        height: calc(var(--gw)*2)
    }

    [data-tb="2.5"] {
        height: calc(var(--gw)*2.5)
    }

    [data-tb="3"] {
        height: calc(var(--gw)*3)
    }

    [data-tb="3.5"] {
        height: calc(var(--gw)*3.5)
    }

    [data-tb="4"] {
        height: calc(var(--gw)*4)
    }

    [data-tb="4.5"] {
        height: calc(var(--gw)*4.5)
    }

    [data-tb="5"] {
        height: calc(var(--gw)*5)
    }

    [data-tb="5.5"] {
        height: calc(var(--gw)*5.5)
    }

    [data-tb="6"] {
        height: calc(var(--gw)*6)
    }

    [data-tb="6.5"] {
        height: calc(var(--gw)*6.5)
    }

    [data-tb="7"] {
        height: calc(var(--gw)*7)
    }

    [data-tb="7.5"] {
        height: calc(var(--gw)*7.5)
    }

    [data-tb="8"] {
        height: calc(var(--gw)*8)
    }

    [data-tb="8.5"] {
        height: calc(var(--gw)*8.5)
    }

    [data-tb="9"] {
        height: calc(var(--gw)*9)
    }

    [data-tb="9.5"] {
        height: calc(var(--gw)*9.5)
    }

    [data-tb="10"] {
        height: calc(var(--gw)*10)
    }

    [data-tb] {
        display: block
    }

    [data-tb="0.5"] {
        height: calc(var(--gw)*0.5)
    }

    [data-tb="0"] {
        display: none
    }

    .c-links {
        margin: -.2em 0
    }

    .c-links a {
        padding: .2em 0
    }

    .body-middle {
        padding-left: var(--padding-thin-x);
        padding-right: var(--padding-thin-x)
    }

    .c-face {
        height: 100vw
    }

    .c-mv {
        height: 100%
    }

    .p-header.ch {
        height: 100vw
    }

    .c-face-body {
        width: calc(100vw - var(--padding-x)*2)
    }

    #js-face {
        left: calc(var(--padding-x)*-1)
    }

    .c-header-back {
        left: var(--padding-x)
    }

    .is-any #app .c-header-logo a {
        padding: calc(var(--gw)*1.25) 0
    }

    #app .c-header-logo {
        padding-left: var(--padding-x)
    }

    .c-header-sub {
        position: absolute;
        height: var(--header-h)
    }

    .c-header-body {
        background-color: transparent
    }

    [data-current-page=about] .c-nav [data-to=about],
    [data-current-page=archive] .c-nav [data-to=archive],
    [data-current-page=future-project] .c-nav [data-to=future-project],
    [data-current-page=future-technology-seeds] .c-nav [data-to=future-technology-seeds],
    [data-current-page=home] .c-nav [data-to=home],
    [data-current-page=privacy-policy] .c-nav [data-to=privacy-policy],
    [data-current-page=product] .c-nav [data-to=product],
    [data-current-page=reports] .c-nav [data-to=reports],
    [data-current-page=reservation-notes] .c-nav [data-to=reservation-notes],
    [data-current-page=team] .c-nav [data-to=team],
    [data-current-page=terms-of-use] .c-nav [data-to=terms-of-use],
    [data-current-page=virtual-pavilion] .c-nav [data-to=virtual-pavilion] {
        opacity: .7
    }

    .c-global-nav .a .t1 {
        font-weight: 500
    }

    #app .c-header {
        transform: none !important
    }

    #app .c-header-main,
    #app .c-header-main a {
        color: var(--col-white-force)
    }

    .c-header-main {
        position: fixed;
        top: 0;
        height: calc(var(--vh)*100);
        width: 100vw;
        padding: 0;
        background-color: transparent;
        z-index: 998;
        pointer-events: none;
        opacity: 0
    }

    .c-header-sitemap {
        width: 100%
    }

    .c-header-sitemap-body {
        width: 100%;
        display: flex
    }

    .c-header-sitemap-body ul {
        width: 50%
    }

    .c-header-menu {
        position: fixed;
        z-index: 999;
        right: var(--gw);
        top: 0;
        height: auto;
        padding: var(--padding-x) 0;
        width: calc(4em + var(--btn-w))
    }

    .c-header-menu a {
        width: 100%;
        height: var(--btn-w);
        background-color: var(--col-black-force);
        border-radius: max(8px, .555vw);
        overflow: hidden;
        color: var(--col-white-force);
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding-left: 1em;
        border: 1px solid var(--col-border);
        position: relative
    }

    .c-header-menu .ui-toggle {
        position: absolute;
        right: 0;
        top: 0
    }

    .ui-btn-svg {
        border: 1px solid var(--col-border)
    }

    .ui-toggle {
        position: relative;
        height: var(--btn-w);
        width: var(--btn-w)
    }

    .ui-toggle,
    .ui-toggle .b {
        transition: transform .4s var(--ease-power2-out)
    }

    .ui-toggle .b {
        height: 2px;
        width: 1.1em;
        background-color: var(--col-white-force);
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%)
    }

    .ui-toggle .b1 {
        transform: translate(-50%, calc(-50% - 4px))
    }

    .ui-toggle .b3 {
        transform: translate(-50%, calc(-50% + 4px))
    }

    .s-side .ui-toggle .b {
        background-color: var(--col-black)
    }

    .c-links-main {
        margin-left: -.05em
    }

    .c-header-main-body {
        z-index: 1;
        position: relative;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        padding: var(--padding-x);
        width: 100%;
        background-color: var(--col-black-force);
        font-feature-settings: "palt"
    }

    .c-header-main-body .l-w {
        padding: 0
    }

    .c-header-main-body .l-b {
        display: none
    }

    .c-header-main-body .l-t {
        color: var(--col-black-force);
        background-color: var(--col-white-force)
    }

    .c-header-main-body .t {
        opacity: 1;
        transform: translate(0);
        text-overflow: ellipsis;
        overflow: hidden;
        white-space: nowrap;
        max-width: 80vw
    }

    .c-header-main-body .c-global-nav {
        text-transform: none;
        height: auto;
        text-align: left
    }

    .c-header-main-body .c-global-nav .l-w {
        height: auto;
        border-radius: 0
    }

    .c-header-main-body .c-global-nav ul {
        display: block;
        height: auto
    }

    .c-header-main-body .c-global-nav ul li {
        height: auto;
        width: 100%;
        margin-bottom: .5em
    }

    .c-header-main-body .c-global-nav ul li:last-child {
        margin-bottom: 0
    }

    .c-header-main-body .c-global-nav ul li a {
        text-align: left;
        width: 100%;
        display: block
    }

    .is-loaded.is-menu-active .c-header-main {
        transition: opacity .4s var(--ease-power2-out)
    }

    .is-loaded.is-menu-active .c-header-menu .c-label .t {
        transition: transform .4s var(--ease-power2-out)
    }

    .is-loaded.is-menu-active .c-header-main-body .c-clip .t {
        transition: transform 0s
    }

    .is-loaded.is-menu-opened {
        overflow: hidden
    }

    .is-loaded.is-menu-opened .c-header-main {
        pointer-events: auto;
        opacity: 1
    }

    .is-loaded.is-menu-opened .c-header-menu .c-label .t {
        transform: translateY(-100%)
    }

    .is-loaded.is-menu-opened .c-header-menu .ui-toggle {
        transform: rotate(90deg)
    }

    .is-loaded.is-menu-opened .c-header-menu .ui-toggle .b1 {
        transform: translate(-50%, -50%) rotate(45deg)
    }

    .is-loaded.is-menu-opened .c-header-menu .ui-toggle .b2 {
        transform: scaleX(0)
    }

    .is-loaded.is-menu-opened .c-header-menu .ui-toggle .b3 {
        transform: translate(-50%, -50%) rotate(-45deg)
    }

    .is-aside-opened .ui-toggle {
        transform: rotate(90deg)
    }

    .is-aside-opened .ui-toggle .b1 {
        transform: translate(-50%, -50%) rotate(45deg)
    }

    .is-aside-opened .ui-toggle .b2 {
        transform: scaleX(0)
    }

    .is-aside-opened .ui-toggle .b3 {
        transform: translate(-50%, -50%) rotate(-45deg)
    }

    .is-loaded .c-global-nav .c-clip .t,
    .is-loaded .c-global-nav .c-clip[data-shown="1"] .t,
    .is-loaded .c-header-sitemap .c-clip .t,
    .is-loaded .c-header-sitemap .c-clip[data-shown="1"] .t {
        opacity: 0;
        transform: translateY(150%)
    }

    .is-loaded.is-menu-opened .c-global-nav .c-clip .t,
    .is-loaded.is-menu-opened .c-global-nav .c-clip[data-shown="1"] .t,
    .is-loaded.is-menu-opened .c-header-sitemap .c-clip .t,
    .is-loaded.is-menu-opened .c-header-sitemap .c-clip[data-shown="1"] .t {
        transition: transform .6s var(--ease-power2-out);
        opacity: 1;
        transform: translate(0)
    }

    .c-header-lang {
        top: auto;
        bottom: var(--padding-x);
        right: var(--padding-x);
        width: var(--btn-w);
        height: var(--btn-w)
    }

    .c-header .c-header-lang a {
        width: var(--btn-w);
        height: var(--btn-w);
        align-items: flex-end
    }

    .c-header .c-header-lang a .o {
        height: 100%;
        color: var(--col-white-force);
        background-color: transparent;
        z-index: 1;
        position: relative;
        border-radius: max(8px, .555vw);
        border: 1px solid var(--col-border)
    }

    .c-header .c-header-lang a .t {
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center
    }

    .c-post-inf-t {
        height: 5em
    }

    .c-post-tmb-s {
        padding-top: 65%
    }

    .c-product-grid .c-post-tmb-s {
        padding-top: 100%
    }

    .is-any .ui-select a {
        border-radius: max(8px, .555vw)
    }

    .c-slide-nav {
        gap: var(--gw);
        grid-template-columns: repeat(5, 1fr);
        margin-top: var(--gw)
    }

    .c-sitemap .c-section-content {
        display: block
    }

    .c-sitemap .c-section-content-col {
        width: 100%
    }

    .c-sitemap .c-sitemap-ul {
        padding-right: 0
    }

    .c-sitemap .c-sitemap-ul ul .t {
        text-overflow: ellipsis;
        overflow: hidden;
        white-space: nowrap;
        max-width: 80vw
    }

    .c-address>div {
        width: auto
    }

    #app .c-address {
        position: relative;
        bottom: auto;
        left: auto;
        height: auto;
        transform: translate(0)
    }

    .ui-category .t {
        height: calc(var(--btn-w)*0.5);
        padding: 1px .75em 0;
        border-radius: max(8px, .555vw)
    }

    .s-body {
        display: block
    }

    .s-main,
    .s-side {
        width: 100%;
        padding: 0 var(--padding-x)
    }

    .s-side {
        position: relative;
        left: 0
    }

    .s-side-ul {
        display: none;
        padding-right: var(--padding-x)
    }

    .s-side nav {
        border-radius: max(8px, .555vw);
        padding: 0 0 0 var(--padding-x);
        border: 1px solid var(--col-border)
    }

    .is-side-opened .s-side-ul {
        display: block;
        margin-bottom: var(--padding-x)
    }

    .s-side-title {
        height: var(--btn-w);
        display: flex;
        justify-content: space-between;
        align-items: center
    }

    .c-member-tr {
        flex-direction: column
    }

    .c-member-th {
        width: 100%;
        padding-right: 0
    }

    .c-member-th:empty {
        height: 0;
        margin-top: 0
    }

    .c-member-td {
        width: 100%;
        padding-left: 1em
    }

    .c-accordion summary h5 {
        flex-direction: column;
        align-items: flex-start
    }
}

.is-any.is-screenshot-scroll .c-header-menu {
    position: absolute
}

.is-any.is-screenshot-scroll .js-bg-filter .elem {
    filter: none;
    transform: none;
    transition: none
}

@media screen and (max-width:1024px) and (orientation:landscape) {
    :root {
        --padding-x: calc(var(--gw)*1);
        --btn-w: calc(var(--gw)*3);
        --padding-thin-x: calc(var(--gw)*1);
        --header-h: calc(var(--padding-x)*2 + var(--btn-w))
    }

    .c-face,
    .p-header.ch {
        height: 50vw
    }
}

@media screen and (max-width:680px) {
    :root {
        --btn-w: min(calc(var(--gw)*8), 64px);
        --padding-x: calc(var(--gw)*2);
        --padding-thin-x: calc(var(--gw)*2);
        --header-h: calc(var(--padding-x)*2 + var(--btn-w));
        --gap-x: calc(var(--gw)*3);
        --gap-y: calc(var(--gw)*4);
        --clip-s: 2s var(--ease-expo-out);
        --mvtitle-h: calc(var(--header-h)*1.5);
        --canvas-h: calc(var(--vhx)*100 - var(--header-h) - var(--mvtitle-h) - var(--gw)*4)
    }

    .js-bg-filter:after,
    .js-bg-img:after {
        border-radius: var(--btn-r)
    }

    .show-m {
        display: block !important
    }

    .hide-m {
        display: none !important
    }

    [data-mb="0"] {
        height: calc(var(--gw)*0)
    }

    [data-mb=".5"] {
        height: calc(var(--gw)*0.5)
    }

    [data-mb="1"] {
        height: calc(var(--gw)*1)
    }

    [data-mb="1.5"] {
        height: calc(var(--gw)*1.5)
    }

    [data-mb="2"] {
        height: calc(var(--gw)*2)
    }

    [data-mb="2.5"] {
        height: calc(var(--gw)*2.5)
    }

    [data-mb="3"] {
        height: calc(var(--gw)*3)
    }

    [data-mb="3.5"] {
        height: calc(var(--gw)*3.5)
    }

    [data-mb="4"] {
        height: calc(var(--gw)*4)
    }

    [data-mb="4.5"] {
        height: calc(var(--gw)*4.5)
    }

    [data-mb="5"] {
        height: calc(var(--gw)*5)
    }

    [data-mb="5.5"] {
        height: calc(var(--gw)*5.5)
    }

    [data-mb="6"] {
        height: calc(var(--gw)*6)
    }

    [data-mb="6.5"] {
        height: calc(var(--gw)*6.5)
    }

    [data-mb="7"] {
        height: calc(var(--gw)*7)
    }

    [data-mb="7.5"] {
        height: calc(var(--gw)*7.5)
    }

    [data-mb="8"] {
        height: calc(var(--gw)*8)
    }

    [data-mb="8.5"] {
        height: calc(var(--gw)*8.5)
    }

    [data-mb="9"] {
        height: calc(var(--gw)*9)
    }

    [data-mb="9.5"] {
        height: calc(var(--gw)*9.5)
    }

    [data-mb="10"] {
        height: calc(var(--gw)*10)
    }

    [data-mb="10.5"] {
        height: calc(var(--gw)*10.5)
    }

    [data-mb="11"] {
        height: calc(var(--gw)*11)
    }

    [data-mb="11.5"] {
        height: calc(var(--gw)*11.5)
    }

    [data-mb="12"] {
        height: calc(var(--gw)*12)
    }

    [data-mb="12.5"] {
        height: calc(var(--gw)*12.5)
    }

    [data-mb="13"] {
        height: calc(var(--gw)*13)
    }

    [data-mb="13.5"] {
        height: calc(var(--gw)*13.5)
    }

    [data-mb="14"] {
        height: calc(var(--gw)*14)
    }

    [data-mb="14.5"] {
        height: calc(var(--gw)*14.5)
    }

    [data-mb="15"] {
        height: calc(var(--gw)*15)
    }

    [data-mb="15.5"] {
        height: calc(var(--gw)*15.5)
    }

    [data-mb="16"] {
        height: calc(var(--gw)*16)
    }

    [data-mb] {
        display: block
    }

    [data-mb="0.5"] {
        height: calc(var(--gw)*0.5)
    }

    [data-mb="0"] {
        display: none
    }

    .c-archive-pagging-stat,
    .c-face-body,
    .c-header-menu a,
    .c-header .c-header-lang a .o,
    .c-post-tmb-i,
    .c-prof-thumb,
    .c-sponsor-logo,
    .is-any .ui-select a,
    .js-para-pivot,
    .s-header .c-post-tmb-i,
    .s-side nav {
        border-radius: var(--btn-r)
    }

    .body-middle {
        padding-left: var(--padding-x);
        padding-right: var(--padding-x)
    }

    .body .body-middle {
        padding-left: 0;
        padding-right: 0
    }

    #app .c-header-logo {
        left: var(--padding-x);
        transform: translate(0)
    }

    #app .c-header-logo h1 {
        display: flex;
        align-items: center
    }

    #app .c-header-logo a {
        display: block;
        height: auto
    }

    [lang=ja] #app .c-header-logo .c-clip .o {
        padding-bottom: .1em;
        padding-top: .1em
    }

    .c-header-menu a {
        padding-left: 1em
    }

    .c-header-main-body {
        padding-top: calc(var(--header-h) - var(--padding-x))
    }

    .c-header-main-body .c-global-nav ul li {
        margin-bottom: .5em
    }

    .c-global-nav ul ul {
        padding-top: 0
    }

    .is-loaded.is-menu-opened .c-header-menu {
        width: calc(100% - var(--padding-x)*2)
    }

    .c-face.ch {
        height: var(--canvas-h)
    }

    .c-mv {
        display: block
    }

    .c-mv-body {
        width: 100%;
        bottom: 0;
        padding-bottom: 0;
        padding-top: var(--canvas-h);
        display: flex;
        justify-content: center;
        align-items: center
    }

    .c-mv-body>div {
        padding-top: calc(var(--padding-x)*2);
        padding-bottom: calc(var(--padding-x)*2)
    }

    .p-header.ch {
        height: auto
    }

    .ui-btn-scroll-to-body {
        left: var(--padding-x);
        margin-left: 0;
        top: calc(var(--canvas-h) - var(--btn-w) - var(--padding-x))
    }

    .c-mv .ui-btn-svg {
        background-color: var(--col-black-force)
    }

    .c-mv .path {
        fill: var(--col-white-force)
    }

    .c-section-content {
        display: flex;
        gap: 0;
        flex-direction: column
    }

    .c-section-content.c-reverse {
        flex-direction: column-reverse
    }

    .c-content-title,
    .c-section-content-col {
        width: 100%
    }

    .c-section-h2 {
        padding-top: var(--padding-x);
        padding-bottom: var(--padding-x);
        gap: var(--gap-x)
    }

    .ui-btn-txt {
        padding-right: var(--padding-x);
        padding-left: 0;
        width: calc(100% - var(--btn-w))
    }

    .ui-btn-svg {
        aspect-ratio: 1/1;
        overflow: hidden
    }

    .c-video.l-2520x1230 {
        aspect-ratio: 3/2
    }

    .c-video .c-video-body,
    .c-video .js-para-body {
        height: 100% !important
    }

    .c-grid {
        margin-bottom: var(--gap-y);
        display: grid;
        grid-template-columns: 1fr;
        grid-gap: var(--gap-y) var(--gap-x)
    }

    .c-post-inf-t {
        height: calc(var(--gw)*8)
    }

    .c-product-grid {
        grid-template-columns: 1fr 1fr 1fr;
        grid-gap: var(--gap-y) calc(var(--gap-x)*0.5)
    }

    .c-product-grid .c-post-inf-t {
        height: auto;
        margin-top: calc(var(--gap-x)*0.5);
        line-height: 1.2
    }

    .p-footer {
        min-height: calc(var(--vhx)*100);
        display: flex;
        align-items: center
    }

    .p-footer .body {
        padding-top: var(--header-h);
        padding-bottom: calc(var(--padding-x)*4)
    }

    .c-sitemap {
        position: static
    }

    .c-sitemap .ui-btn-wrap {
        top: var(--padding-x);
        left: var(--padding-x)
    }

    .c-sitemap .c-content-title {
        font-weight: 500
    }

    .c-sitemap .c-section-h2 {
        margin-bottom: var(--padding-x);
        padding: 0
    }

    .c-sitemap-r {
        display: block
    }

    .c-sitemap-ul {
        width: 100%
    }

    .c-section-h2-td {
        width: auto
    }

    .p-footer .c-links>li>ul {
        display: flex;
        flex-wrap: wrap;
        gap: .2em;
        margin-bottom: .5em
    }

    .p-footer .c-links>li>ul li {
        display: flex;
        gap: 0
    }

    .p-footer .c-links>li>ul li:after {
        content: "/";
        display: block;
        color: var(--col-border)
    }

    .p-footer .c-links>li>ul li:last-child:after {
        display: none
    }

    .c-links a {
        padding: .1em 0
    }

    .c-ishiguro-sign {
        width: calc(var(--btn-w)*2)
    }

    .c-sponsor-tr {
        display: block
    }

    .c-sponsor-td,
    .c-sponsor-th {
        width: 100%
    }

    .c-sponsor-2col .c-sponsor-td {
        grid-template-columns: 1fr
    }

    .c-sponsor-3col .c-sponsor-td,
    .c-sponsor-4col .c-sponsor-td {
        grid-template-columns: 1fr 1fr
    }

    .c-sponsor-5col .c-sponsor-td {
        grid-template-columns: 1fr 1fr 1fr
    }

    .ui-controls {
        margin-left: calc(var(--padding-x)*-1)
    }

    .ui-controls a {
        margin-left: var(--padding-x)
    }

    .c-slide-control {
        bottom: var(--padding-x);
        right: var(--padding-x)
    }

    .c-video-controls {
        left: var(--padding-x);
        top: var(--padding-x)
    }

    .is-any .ui-select {
        margin-left: calc(var(--padding-x)*-1);
        margin-bottom: calc(var(--padding-x)*-1)
    }

    .is-any .ui-select a {
        margin-left: var(--padding-x);
        margin-bottom: var(--padding-x);
        height: calc(var(--btn-w)*0.5)
    }

    .is-any .ui-select a .o {
        padding: .25em
    }

    .c-archive-pagging-body>*,
    .is-any .ui-select a .n {
        margin-left: .5em
    }

    .c-sponsor-message .c-sponsor-th {
        margin-top: calc(var(--gw)*4)
    }

    .c-sponsor-message .c-sponsor-td {
        margin-top: 0;
        padding-left: 0;
        margin-bottom: calc(var(--gw)*4)
    }

    .c-slide-wrap {
        margin-bottom: .5em
    }

    .c-slide-caption {
        color: var(--col-border)
    }

    .c-sponsor-mb-1col .c-sponsor-td {
        grid-template-columns: 1fr
    }

    .c-sponsor-mb-3col .c-sponsor-td {
        grid-template-columns: 1fr 1fr
    }

    .c-sponsor-group-banner .c-sponsor-td {
        background-color: transparent;
        border-radius: 0
    }

    .c-sponsor-group-banner.c-sponsor-4col .c-sponsor-td,
    .c-sponsor-group-banner .c-sponsor-td {
        padding: 0;
        gap: 1em
    }

    .areamap {
        aspect-ratio: 1/1 !important;
        height: auto !important
    }

    .s-pagging {
        grid-template-columns: 1fr 1fr;
        gap: var(--padding-x)
    }

    .s-pagging .s-post {
        padding: var(--padding-x);
        border: 1px solid var(--col-border);
        border-radius: var(--btn-r)
    }

    .c-archive-pagging-stat .l {
        height: 1em;
        width: 1em;
        position: relative;
        margin-left: .5em
    }

    .c-archive-pagging-stat {
        width: 100%;
        margin-left: 0
    }

    .c-research-col {
        grid-template-columns: 1fr
    }

    .c-research-tag {
        gap: .5em
    }

    .c-research-src {
        display: flex;
        gap: var(--gap-x)
    }

    .c-research-src .ttl {
        white-space: nowrap
    }

    .ui-tab-label {
        aspect-ratio: auto;
        border-radius: var(--border-r);
        gap: 1em;
        padding: 1em 0
    }

    .ui-tab-label .o {
        height: 100%;
        flex-direction: column;
        align-items: flex-end;
        margin: 0 calc(min(3vw, 3em));
        gap: 1em
    }

    .ui-tab-label .t {
        width: 100%
    }

    .ui-tab-label .n {
        margin-left: 0
    }

    .c-prod-nav-i,
    .c-section-center .c-content-title {
        width: 100%
    }

    .c-prod-editor ul li {
        margin-left: 1.25em
    }

    .c-slide-nav {
        gap: var(--gw);
        grid-template-columns: repeat(5, 1fr);
        margin-top: var(--gw)
    }

    .correlation-diagram {
        height: auto !important;
        aspect-ratio: 1/1
    }

    .pagging .p-title {
        line-height: 1.2
    }

    .c-group-h2 {
        flex-direction: column;
        align-items: stretch
    }

    .c-group-tb {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--gap-x)
    }

    .c-belt {
        grid-template-columns: 1fr;
        padding: calc(var(--gap-x)*2) var(--gap-x)
    }

    .c-partition {
        flex-direction: column;
        justify-content: center;
        gap: var(--gap-x)
    }

    .c-partition:after,
    .c-partition:before {
        content: "";
        display: block;
        width: .5em;
        height: .5em;
        background-color: currentColor;
        clip-path: polygon(0 0, 100% 0, 50% 100%)
    }

    .c-member {
        margin-top: calc(var(--gap-x)*0.5)
    }

    .c-member-tr {
        margin-bottom: calc(var(--gap-x)*0.5)
    }

    .c-member-td {
        width: 100%;
        padding-left: 1em;
        grid-template-columns: 1fr;
        grid-gap: var(--gap-x)
    }

    .c-member-td,
    .c-member-th {
        margin-top: calc(var(--gap-x)*1.5)
    }

    #app .c-address {
        transform: translateY(-100%);
        margin-top: 0;
        width: -moz-fit-content;
        width: fit-content;
        margin-left: auto
    }

    .c-sns {
        right: auto;
        left: 50%;
        transform: translate(-50%)
    }
}

.l-1 {
    line-height: 1
}

.l-wba {
    word-break: break-word;
    width: 100%;
    white-space: normal
}

.c-logo-expo-hr {
    aspect-ratio: 715.43/261.12
}

.c-logo-fol-hr {
    aspect-ratio: 765.39/243.66
}

.c-logo-fol-vr {
    aspect-ratio: 800/697.41
}

.c-logo-fol-hr-en {
    aspect-ratio: 700/65.47
}

#logo-fol-vr .cls-1 {
    fill: #e84277
}

#logo-fol-vr .cls-2 {
    fill: var(--col-black-force)
}

#logo-fol-hr .cls-1 {
    fill: #e84277
}

#logo-fol-hr .cls-2 {
    fill: var(--col-black)
}

#logo-fol-hr-white .cls-1 {
    fill: #e84277
}

#logo-fol-hr-white .cls-2 {
    fill: var(--col-white-force)
}

#logo-fol-hr_en .cls-1 {
    fill: var(--col-black)
}

#logo-expo-hr .cls-1 {
    fill: #231815
}

#logo-expo-hr .cls-2 {
    fill: #fff
}

#logo-expo-hr .cls-3 {
    fill: #0068b7
}

#logo-expo-hr .cls-4 {
    fill: #e60012
}

.c-header-logo a .c-logo {
    height: 100%;
    min-height: 3.5rem
}

#app .c-header-logo {
    position: relative;
    left: auto;
    transform: translate(0);
    height: var(--header-h)
}

#app .c-header-logo a {
    padding: calc(var(--gw)*0.75) 0
}

#app .c-header-logo a .c-logo {
    height: 100%
}

@media screen and (max-width:1124px) {
    [lang=ja] .c-global-nav {
        padding-left: var(--gw)
    }
}

@media screen and (max-width:680px) {
    #app .c-header-menu {
        right: var(--padding-x)
    }

    #app .c-header-logo {
        padding-left: var(--padding-x)
    }

    #app .c-mv-wrap {
        margin: 0 var(--padding-x)
    }
}

@media screen and (min-width:1025px) {
    .c-header {
        height: var(--header-h)
    }

    .c-header-sub {
        height: auto;
        width: auto;
        display: inline-block
    }

    .c-header-lang {
        top: 0;
        position: relative
    }

    .c-header-lr {
        height: var(--header-h);
        padding: 0 var(--gw)
    }

    .c-header-lr-body {
        height: 100%;
        position: relative;
        display: flex;
        justify-content: space-between;
        align-items: center
    }

    .c-header-main {
        padding: 0;
        height: 100%
    }

    .c-header-main-body {
        position: static
    }

    .c-global-nav {
        position: absolute;
        left: 50%;
        transform: translate(-50%);
        width: auto
    }

    .c-global-nav ul li {
        width: auto
    }

    .c-header {
        white-space: nowrap
    }

    .c-global-nav .a {
        padding: 0 .33rem
    }
}

.c-mv-wrap {
    margin: 0 var(--gw)
}

#app .c-mv {
    overflow: hidden;
    border-radius: var(--border-r);
    height: auto;
    aspect-ratio: 1440/700
}

.c-mv-visual {
    text-indent: -9999px;
    width: 100%;
    height: 100%;
    overflow: hidden;
    top: 0;
    left: 0
}

.c-mv-visual,
.c-slideshow-ul {
    display: block;
    position: absolute;
    z-index: 1
}

.c-slideshow-ul {
    width: 102%;
    height: 102%;
    top: -1%;
    left: -1%
}

.c-slideshow-li {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition: opacity var(--filter-s)
}

.c-slideshow-li .js-bg-filter .elem {
    transform: scale(1.1) rotate(1deg) !important;
    transition: transform var(--filter-s);
    transition-delay: 1s
}

.c-slideshow-li.current {
    opacity: 1;
    transition-delay: .2s
}

.c-slideshow-li.current .js-bg-filter .elem {
    transform: none !important;
    transition-delay: .2s
}

.c-slideshow-controller {
    position: absolute;
    right: calc(var(--gw) + var(--btn-w)*0.5 - 6px);
    bottom: var(--gw);
    height: var(--btn-w);
    display: flex;
    align-items: center;
    z-index: 2
}

.c-slideshow-dot {
    padding: 7px;
    display: flex;
    align-items: center;
    justify-content: center
}

.c-indicator-holder {
    background-color: rgba(80, 80, 80, .8);
    box-sizing: content-box;
    width: 6px;
    height: 6px;
    position: relative;
    border-radius: 5px;
    overflow: hidden
}

.c-indicator-thumb {
    background-color: var(--col-white-force);
    width: 0;
    height: 100%;
    border-radius: 5px
}

.c-mv .ui-btn-scroll-to-body {
    z-index: 3;
    bottom: var(--gw)
}

.c-mv-logo {
    position: absolute;
    z-index: 2;
    width: 100%;
    padding-bottom: 0;
    top: 0;
    display: flex;
    justify-content: center;
    padding-top: calc(var(--gw)*2)
}

.c-mv-h1 {
    width: 25vw
}

.c-mv-h1 span {
    text-indent: -9999px;
    display: block;
    position: absolute;
    top: 0
}

.c-mv-subtitle {
    text-align: center
}

@media (orientation:portrait) and (max-width:1024px) {
    .c-mv-h1 {
        width: 45%
    }

    #app .c-mv {
        overflow: hidden;
        border-radius: var(--border-r);
        height: auto;
        aspect-ratio: 960/1280
    }

    .c-slideshow-controller {
        right: var(--padding-x);
        bottom: var(--padding-x)
    }

    .c-indicator-holder {
        background-color: var(--col-black-force);
        border: 1px solid var(--col-border)
    }
}

.c-footer-logo-ul {
    display: flex;
    align-items: center
}

.c-footer-logo-a {
    display: block;
    background: var(--col-white-force);
    padding: 1rem;
    border-radius: max(10px, .694vw)
}

.c-footer-logo-li {
    margin-right: 1.5rem
}

.c-footer-logo-li .c-logo {
    height: 4rem
}

.c-content-title .c-logo {
    max-width: 60%
}

.c-address>div {
    width: auto
}

@media screen and (max-width:680px) {
    .c-mv .ui-btn-scroll-to-body {
        top: auto;
        bottom: var(--padding-x)
    }

    .c-sns {
        left: auto;
        transform: translate(0)
    }

    .c-sns ul li:first-child {
        margin-left: 0
    }

    .c-address {
        margin-top: 1.25rem;
        justify-content: flex-end
    }

    .c-footer-logo-li {
        margin-right: 0
    }

    .c-footer-logo-li .c-logo {
        height: 2rem
    }

    .c-content-title .c-logo {
        max-width: 46%
    }
}

.e-content {
    color: var(--col-black-force);
    padding-top: calc(var(--header-h)*0.5)
}

[data-xhr-namespace=error] {
    z-index: 2
}

[data-xhr-namespace=error] .c-scroll {
    pointer-events: auto;
    height: 100%;
    width: 100%
}

[data-xhr-namespace=error] .c-main {
    width: 100%;
    height: calc(var(--vh)*100);
    display: flex;
    align-items: center;
    overflow: hidden
}

[data-xhr-namespace=error] .e-header {
    line-height: 1;
    display: inline-block;
    margin-left: -.02em
}

[data-xhr-namespace=error] .e-body {
    max-width: calc(var(--gw)*10)
}

[data-xhr-namespace=error] .e-body>* {
    padding-top: .5em
}

.is-static-scroll[data-current-page=error] .c-face {
    position: fixed
}

.is-loaded[data-current-page=error],
.is-loaded[data-current-page=error] body {
    overflow: hidden
}

.is-loaded[data-current-page=error] .c-face,
.is-loaded[data-current-page=error] .js-face {
    opacity: 1
}

[data-current-page=error] .c-header-radius.r {
    right: 0
}

[data-current-page=error] .c-header-radius.l {
    left: 0
}

[data-current-page=error] .c-face {
    top: 0
}

@media screen and (max-width:1024px) {
    .e-content {
        padding-top: 0;
        padding-bottom: 1em
    }

    .is-static-scroll[data-current-page=error] .c-face {
        position: absolute
    }

    [data-current-page=error] .c-face {
        top: var(--header-h)
    }

    [data-xhr-namespace=error] .c-main.ch {
        position: absolute;
        height: calc(100vh - 100vw - var(--header-h));
        text-align: center;
        top: calc(100vw + var(--header-h))
    }

    [data-xhr-namespace=error] .e-body {
        width: 100%;
        max-width: 360px;
        margin: 0 auto
    }
}

@media screen and (max-width:500px) {
    [data-xhr-namespace=error] .c-main.ch {
        padding-top: calc(var(--padding-x)*2);
        padding-bottom: calc(var(--padding-x)*2);
        height: auto;
        top: calc(var(--canvas-h) + var(--header-h))
    }
}