@charset "UTF-8";
body {
    margin: 0;
    padding: 0;
    border: none
}

img,div,p,blockquote,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,form,fieldset,textarea,address,main,article,aside,dialog,figure,footer,header,hgroup,nav,section {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    text-decoration: none;
    list-style-type: none
}

main,article,aside,dialog,figure,footer,header,hgroup,nav,section {
    display: block
}

h1,h2,h3,h4,h5,h6 {
    font-weight: inherit
}

table {
    border: none;
    border-collapse: collapse;
    border-spacing: 0
}

th,td {
    text-align: left;
    vertical-align: top
}

caption {
    text-align: left
}

a,a:focus,a:hover,a:active {
    outline: 0
}

input,input:focus,input:hover,input:active,textarea,textarea:focus,textarea:hover,textarea:active {
    outline: 0
}

img {
    vertical-align: top
}

*:has(>.t_hl) {
    display: grid
}

.t_hl {
    -webkit-margin-before: calc((1.1em - 1lh)/2);
    margin-block-start:calc((1.1em - 1lh)/2);
    -webkit-margin-after: calc((.75em - 1lh)/2);
    margin-block-end:calc((.75em - 1lh)/2);
    /* color: white; */
    }
.creators .t_hl{
    margin-bottom: 4.8rem;
    color: white;
}
.ttl_creators{
    margin-bottom: 0px !important;
}
  

.t_hl.t_en {
    -webkit-margin-before: calc((.8em - 1lh)/2);
    margin-block-start:calc((.8em - 1lh)/2);-webkit-margin-after: calc((.7em - 1lh)/2);
    margin-block-end:calc((.7em - 1lh)/2)}

.t_en {
    font-family: "Be Vietnam Pro","IBM Plex Sans JP",sans-serif;
    font-weight: 700
}

.t_enS {
    font-family: "Libre Baskerville",serif
}

html {
    font-size: 10px
}

body {
    overscroll-behavior: none;
    color: #111;
    font-family: "IBM Plex Sans JP",sans-serif;
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 1.85;
    letter-spacing: .04em;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

@media only screen and (min-width: 1600px) {
    html {
        font-size:12.5px
    }
}

@media only screen and (max-width: 1023px) {
    html {
        font-size:2.565vw
    }
}

#wrapper {
    position: relative;
    overflow: clip
}

::-moz-selection {
    background: #111;
    color: #fff
}

::selection {
    background: #111;
    color: #fff
}

a {
    color: #111;
    text-decoration: none;
}

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

input[type=text],input[type=tel],input[type=email],input[type=password],textarea {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    color: #111;
    font-family: "IBM Plex Sans JP",sans-serif;
    outline: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

input[type=text]::placeholder,input[type=text]:placeholder-shown,input[type=text]::-webkit-input-placeholder,input[type=text]:-moz-placeholder,input[type=text]::-moz-placeholder,input[type=text]:-ms-input-placeholder,input[type=tel]::placeholder,input[type=tel]:placeholder-shown,input[type=tel]::-webkit-input-placeholder,input[type=tel]:-moz-placeholder,input[type=tel]::-moz-placeholder,input[type=tel]:-ms-input-placeholder,input[type=email]::placeholder,input[type=email]:placeholder-shown,input[type=email]::-webkit-input-placeholder,input[type=email]:-moz-placeholder,input[type=email]::-moz-placeholder,input[type=email]:-ms-input-placeholder,input[type=password]::placeholder,input[type=password]:placeholder-shown,input[type=password]::-webkit-input-placeholder,input[type=password]:-moz-placeholder,input[type=password]::-moz-placeholder,input[type=password]:-ms-input-placeholder,textarea::placeholder,textarea:placeholder-shown,textarea::-webkit-input-placeholder,textarea:-moz-placeholder,textarea::-moz-placeholder,textarea:-ms-input-placeholder {
    color: #ccc
}

input::-ms-clear {
    visibility: hidden
}

input::-ms-reveal {
    visibility: hidden
}

select {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    color: #111;
    font-family: "IBM Plex Sans JP",sans-serif;
    outline: 0;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

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

button {
    box-sizing: border-box;
    outline: 0;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.symbols {
    display: none;
    position: absolute;
    top: 0;
    left: 0
}

.header:after {
    content: "";
    display: block;
    position: fixed;
    z-index: 99;
    inset: 0;
    background: rgba(255,255,255,.88);
    border: none;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    opacity: 0;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: opacity
}

.header.is-fixed:after {
    opacity: 1
}

.header.is-fixed:before {
    opacity: 1;
    top: 6.4rem
}

@media(min-width: 1024px) {
    .header:after {
        height:6.4rem
    }

    .header:before {
        content: "";
        display: block;
        position: fixed;
        z-index: 100;
        width: calc(100% - 6rem);
        left: 3rem;
        top: 8rem;
        height: 1px;
        background: rgba(0,0,0,.1);
        opacity: 0;
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: opacity,top
    }
}

@media(max-width: 1023px) {
    .header:after {
        height:5.4rem
    }
}

.header_logo {
    position: fixed;
    z-index: 112
}

.header_logo a {
    display: block;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: margin,width
}

header.is-fixed .header_logo a {
    background-image: url(/assets/img/logo_black.svg);
}

@media(min-width: 1024px) {
    .header_logo a {
        margin-top:3rem;
        margin-left: 3rem;
        width: 13.2rem;
        height: 5.06rem;
        background-image: url(/assets/img/logo.svg);
        background-repeat: no-repeat;
        background-position: left center;
        background-size: contain;
        display: block;
        overflow: hidden;
        text-indent: -5260px
    }

    header.is-fixed .header_logo a {
        margin-top: .8rem;
        width: 10.5rem
    }
}

@media(max-width: 1023px) {
    .header_logo a {
        margin-top:2rem;
        margin-left: 2rem;
        width: 11rem;
        height: 4.16rem;
        background-image: url(/assets/img/logo.svg);
        background-repeat: no-repeat;
        background-position: left center;
        background-size: contain;
        display: block;
        overflow: hidden;
        text-indent: -5260px
    }

    header.is-fixed .header_logo a {
        margin-top: .6rem;
        margin-left: .7rem;
        width: 10.5rem;
        height: 4rem
    }

    html.drawerMenu-open .header_logo a {
        background-image: url(/assets/img/logo.svg);
        margin-top: 2rem;
        margin-left: 2rem;
        width: 11rem;
        height: 4.16rem
    }
}

@media(max-width: 1023px) {
    .header_nav {
        visibility:hidden;
        opacity: 0;
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        pointer-events: none;
        z-index: 111;
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: opacity,visibility,transform;
        -webkit-clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0);
        clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0);
        background-color: rgba(0,0,0,0);
        background: #000
    }

    html.drawerMenu-open .header_nav {
        pointer-events: auto;
        visibility: visible;
        opacity: 1
    }
}

@media(max-width: 1023px) {
    .header_nav_wrap {
        display:block;
        overflow: auto;
        scrollbar-width: none;
        height: 100%;
        position: relative;
        z-index: 1
    }
}

@media(max-width: 1023px) {
    .header_nav_menuInner {
        padding:11rem 2rem 4.8rem
    }
}

@media(min-width: 1024px) {
    .header_nav_body {
        position:fixed;
        z-index: 101;
        top: 0;
        left: 0;
        height: 8rem;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 3rem;
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: height
    }

    header.is-fixed .header_nav_body {
        mix-blend-mode: difference;
        height: 6.4rem
    }
}

@media only screen and (min-width: 1024px)and (max-width: 1110px) {
    .header_nav_body {
        gap:1.5rem
    }
}

@media(max-width: 1023px) {
    .header_nav_body {
        margin-top:4.8rem;
        border-top: 1px solid rgba(255,255,255,.2)
    }
}

.header_nav_bodyItem a {
    color: #fff;
    text-decoration: none
}

@media(min-width: 1024px) {
    .header_nav_bodyItem.is-current a:after {
        right:auto;
        left: 0;
        width: 100%
    }

    .header_nav_bodyItem a {
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        width: 100%;
        height: 8rem;
        position: relative;
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: height
    }

    header.is-fixed .header_nav_bodyItem a {
        height: 6.4rem
    }

    .header_nav_bodyItem a:after {
        position: absolute;
        content: "";
        width: 100%;
        bottom: 0;
        right: 0;
        width: 0;
        height: 2px;
        background: #fff;
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: width
    }

    .header_nav_bodyItem a .l_arw {
        display: none
    }

    html.notouch .header_nav_bodyItem a:hover:after {
        right: auto;
        left: 0;
        width: 100%
    }
}

@media(max-width: 1023px) {
    .header_nav_bodyItem {
        border-bottom:1px solid rgba(255,255,255,.2)
    }

    .header_nav_bodyItem a {
        position: relative;
        display: flex;
        padding: 2.4rem 0
    }

    .header_nav_bodyItem a .l_arw {
        position: absolute;
        right: 0;
        top: 50%;
        margin-top: -3.2rem;
        width: 6.4rem
    }
}

@media(min-width: 1024px) {
    .header_nav_cv {
        position:fixed;
        z-index: 102;
        top: 0;
        right: 3rem
    }

    header.is-fixed .header_nav_cv {
        mix-blend-mode: difference
    }
}

@media(min-width: 1024px) {
    .header_nav_cvInner {
        height:8rem;
        display: flex;
        align-items: center;
        gap: 1.6rem;
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: height
    }

    header.is-fixed .header_nav_cvInner {
        height: 6.4rem
    }
}

@media(max-width: 1023px) {
    .header_nav_cvInner {
        display:grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1.6rem 1.6rem
    }
}

.header_nav_cvBtn {
    color: #fff;
    text-decoration: none
}

@media(min-width: 1024px) {
    .header_nav_cvBtn {
        display:flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        width: 12rem;
        height: 3.2rem;
        position: relative;
        border: 1px solid #fff;
        border-radius: .5rem;
        font-size: 1.3rem;
        overflow: hidden;
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: border,background,color
    }
}

@media only screen and (min-width: 1024px)and (max-width: 1110px) {
    .header_nav_cvBtn {
        width:10rem
    }
}

@media(min-width: 1024px) {
    .header_nav_cvBtn.__materials {
        border-color:rgba(255,255,255,.3)
    }

    html.notouch .header_nav_cvBtn.__materials:hover {
        color: #111;
        border-color: rgba(0,0,0,0);
        background: rgba(0,0,0,0)
    }

    html.notouch .header_nav_cvBtn.__materials:hover:after {
        left: 0;
        right: auto;
        width: 100%
    }
}

@media(min-width: 1024px) {
    .header_nav_cvBtn.__contact {
        color:#111;
        border-color: rgba(0,0,0,0);
        background: #fff
    }

    .header_nav_cvBtn.__contact:after {
        background: #111
    }

    html.notouch .header_nav_cvBtn.__contact:hover {
        color: #fff;
        background: rgba(0,0,0,0)
    }

    html.notouch .header_nav_cvBtn.__contact:hover:after {
        left: 0;
        right: auto;
        width: 100%
    }
}

@media(min-width: 1024px) {
    .header_nav_cvBtn p {
        position:relative;
        z-index: 1
    }
}

@media(min-width: 1024px) {
    .header_nav_cvBtn:after {
        position:absolute;
        content: "";
        bottom: 0;
        right: 0;
        width: 0;
        height: 100%;
        background: #fff;
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: width,background
    }
}

@media(min-width: 1024px) {
    .header_nav_cvBtn .l_arw {
        display:none
    }
}

@media(max-width: 1023px) {
    .header_nav_cvBtn {
        display:flex;
        align-items: center;
        padding: 0 0 0 1.5rem;
        width: 100%;
        box-sizing: border-box;
        height: 6.4rem;
        border-radius: .4rem;
        overflow: hidden
    }

    .header_nav_cvBtn .l_arw {
        margin-left: auto
    }

    .header_nav_cvBtn.__materials {
        color: #111;
        background: #fff
    }

    .header_nav_cvBtn.__contact {
        background: #333
    }
}

@media(min-width: 1024px) {
    .header_menu {
        display:none
    }
}

@media(max-width: 1023px) {
    .header_menu {
        position:fixed;
        top: 0;
        right: 0;
        z-index: 111;
        width: 8rem;
        height: 5.4rem;
        margin: 0;
        padding: 0;
        border: none;
        border-radius: 0;
        background: none;
        cursor: pointer;
        color: #111;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: transform,top,width,height,border,opacity
    }

    .header_menu:before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        width: 100%;
        height: 2px;
        background: #fff
    }

    header.is-fixed .header_menu {
        mix-blend-mode: difference
    }
}

.header_menu_txt {
    font-size: 1.4rem;
    font-weight: 500;
    text-align: left;
    color: #fff;
    transition: all .3s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: opacity
}

.header_menu_txt .t_en {
    font-weight: 500
}

header.is-fixed .header_menu_txt {
    mix-blend-mode: difference
}

html.drawerMenu-open .header_menu_txt {
    opacity: 0
}

@media(max-width: 1023px) {
    .header_menu_inner {
        position:absolute;
        top: 0;
        width: 8rem;
        height: 5.4rem
    }

    .header_menu_inner .line-1,.header_menu_inner .line-2 {
        position: absolute;
        top: 50%;
        margin-top: -0.2rem;
        right: 1.6rem;
        width: .4rem;
        height: .4rem;
        background: #fff;
        border-radius: 50%;
        transition: all .3s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: right,left,opacity,transform,width,height,background
    }

    .header_menu_inner .line-2 {
        opacity: 0
    }

    header.is-fixed .header_menu_inner .line-1,header.is-fixed .header_menu_inner .line-2 {
        mix-blend-mode: difference
    }

    html.drawerMenu-open .header_menu_inner .line-1,html.drawerMenu-open .header_menu_inner .line-2 {
        position: absolute;
        top: 50%;
        left: 50%;
        margin-top: auto;
        right: auto;
        width: 3.2rem;
        height: 2px;
        border-radius: 0;
        opacity: 1;
        mix-blend-mode: inherit
    }

    html.drawerMenu-open .header_menu_inner .line-1 {
        transform: translate(-50%, -50%) rotate(-30deg)
    }

    html.drawerMenu-open .header_menu_inner .line-2 {
        transform: translate(-50%, -50%) rotate(30deg)
    }
}

html.lenis {
    height: auto
}

.lenis.lenis-smooth {
    scroll-behavior: auto
}

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain
}

.lenis.lenis-stopped {
    overflow: hidden
}

.lenis.lenis-scrolling iframe {
    pointer-events: none
}

.c_wrap {
    max-width: 108rem;
    position: relative;
    margin-right: auto;
    margin-left: auto;
    padding-right: 2rem;
    padding-left: 2rem
}

.c_pagettl {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center
}

@media(min-width: 1024px) {
    .c_pagettl {
        padding-top:18rem;
        padding-bottom: 11.2rem
    }
}

@media(max-width: 1023px) {
    .c_pagettl {
        padding-top:10rem;
        padding-bottom: 7rem
    }
}

.c_pagettl_ttl {
    font-weight: 700
}

@media(min-width: 1024px) {
    .c_pagettl_ttl {
        font-size:4.2rem
    }
}

@media(max-width: 1023px) {
    .c_pagettl_ttl {
        font-size:2.4rem
    }
}

.c_pagettl_sub {
    font-weight: 700;
    color: #999
}

@media(min-width: 1024px) {
    .c_pagettl_sub {
        font-size:1.4rem
    }
}

@media(min-width: 1024px) {
    .c_section+.c_section {
        margin-top:11.2rem
    }
}

@media(max-width: 1023px) {
    .c_section+.c_section {
        margin-top:8rem
    }
}

@media(min-width: 1024px) {
    .c_col2 {
        display:flex;
        justify-content: space-between;
        flex-wrap: wrap;
        position: relative
    }
}

@media(min-width: 1024px) {
    .c_col2_side {
        border-top:1px solid #111;
        padding-top: 8rem;
        box-sizing: border-box;
        width: 15rem;
        position: sticky;
        z-index: 20;
        top: 11.2rem;
        height: 100%
    }
}

@media(max-width: 1023px) {
    .c_col2_side {
        border-top:1px solid #111;
        padding-top: 3.2rem;
        margin-bottom: 4.8rem
    }
}

.c_col2_sideTtl {
    line-height: 1.44
}

@media(min-width: 1024px) {
    .c_col2_sideTtl {
        font-size:1.8rem
    }
}

@media(max-width: 1023px) {
    .c_col2_sideTtl {
        font-size:1.6rem
    }
}

@media(min-width: 1024px) {
    .c_col2_body {
        border-top:1px solid #ccc;
        padding-top: 8rem;
        width: calc(100% - 21rem)
    }
}

.footer {
    position: relative;
    background: #111;
    color: #fff
}

.footer a {
    color: #fff;
    text-decoration: none
}

@media(min-width: 1024px) {
    .footer {
        padding-bottom:11.2rem
    }
}

@media(max-width: 1023px) {
    .footer {
        padding-bottom:11.2rem
    }
}

.footer_cv_video {
    position: absolute;
    aspect-ratio: 1440/768;
    width: 100%
}

.footer_cv_video video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media(min-width: 1024px) {
    .footer_cv_video {
        height:76.8rem
    }
}

@media(max-width: 1023px) {
    .footer_cv_video {
        height:31.7rem
    }
}

.footer_cv_body {
    position: relative;
    z-index: 1
}

@media(min-width: 1024px) {
    .footer_cv_body {
        padding-top:42rem
    }
}

@media(max-width: 1023px) {
    .footer_cv_body {
        padding-top:8rem
    }
}

.footer_cv_ttl {
    text-align: center;
    font-weight: 700
}

@media(min-width: 1024px) {
    .footer_cv_ttl {
        font-size:4.2rem
    }
}

@media(max-width: 1023px) {
    .footer_cv_ttl {
        font-size:2.4rem
    }
}

@media(min-width: 1024px) {
    .footer_cv_lead {
        text-align:center;
        margin-top: 4.8rem;
        font-size: 1.8rem
    }
}

@media(max-width: 1023px) {
    .footer_cv_lead {
        margin-top:3.2rem
    }
}

@media(min-width: 1024px) {
    .footer_cv_btn {
        margin-top:8rem;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1.6rem 6rem
    }
}

@media(max-width: 1023px) {
    .footer_cv_btn {
        margin-top:4.8rem
    }
}

.footer_cv_btnItem {
    color: #fff;
    text-decoration: none;
    display: flex;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
    border-radius: .8rem;
    overflow: hidden;
    position: relative
}

@media(min-width: 1024px) {
    .footer_cv_btnItem {
        padding:0 0 0 6rem;
        font-size: 2rem;
        height: 17.6rem;
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: border,background,color,box-shadow
    }

    .footer_cv_btnItem .l_arw {
        width: 20rem;
        margin-left: auto;
        position: relative;
        z-index: 1
    }

    .footer_cv_btnItem .l_arw_icon {
        width: 1.6rem
    }

    .footer_cv_btnItem.__materials {
        color: #111;
        background: #fff
    }

    .footer_cv_btnItem.__materials:after {
        background: #000
    }

    html.notouch .footer_cv_btnItem.__materials:hover {
        color: #fff;
        background: #000;
        box-shadow: 0px 0px 6.4rem 0px rgba(255,255,255,.2)
    }

    html.notouch .footer_cv_btnItem.__materials:hover .l_arw.__black::before {
        background-image: linear-gradient(to bottom, #ffffff, #ffffff 1px, transparent 1px, transparent 2px);
        background-repeat: repeat-y;
        background-position: left top;
        background-size: 1px 3px
    }

    html.notouch .footer_cv_btnItem.__materials:hover .l_arw_icon {
        background-color: #fff
    }

    html.notouch .footer_cv_btnItem.__materials:hover:after {
        left: 0;
        right: auto;
        width: 100%
    }

    .footer_cv_btnItem.__contact {
        background: #333
    }

    .footer_cv_btnItem.__contact:after {
        background: #000
    }

    html.notouch .footer_cv_btnItem.__contact:hover {
        box-shadow: 0px 0px 6.4rem 0px rgba(255,255,255,.2)
    }

    html.notouch .footer_cv_btnItem.__contact:hover:after {
        left: 0;
        right: auto;
        width: 100%
    }

    .footer_cv_btnItem p {
        position: relative;
        z-index: 1
    }

    .footer_cv_btnItem:after {
        position: absolute;
        content: "";
        bottom: 0;
        right: 0;
        width: 0;
        height: 100%;
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: width,background
    }
}

@media(max-width: 1023px) {
    .footer_cv_btnItem {
        padding:0 0 0 3rem;
        font-size: 1.6rem;
        height: 8rem
    }

    .footer_cv_btnItem+.footer_cv_btnItem {
        margin-top: 2rem
    }

    .footer_cv_btnItem .l_arw {
        width: 8rem;
        margin-left: auto;
        position: relative;
        z-index: 1
    }

    .footer_cv_btnItem .l_arw_icon {
        width: 1.4rem
    }

    .footer_cv_btnItem.__materials {
        color: #111;
        background: #fff
    }

    .footer_cv_btnItem.__materials:after {
        background: #000
    }

    .footer_cv_btnItem.__contact {
        background: #333
    }

    .footer_cv_btnItem.__contact:after {
        background: #000
    }
}

.footer_news {
    position: relative;
    background: #2b2b2b
}

.footer_news::before {
    background: #1b1b1b;
    border: 1px solid rgba(255,255,255,.15);
    content: "";
    display: block;
    position: absolute;
    z-index: 0
}

@media(min-width: 1024px) {
    .footer_news {
        margin-top:8rem;
        padding: 8rem 6rem;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1.6rem 6rem
    }

    .footer_news::before {
        inset: .8rem
    }
}

@media(max-width: 1023px) {
    .footer_news {
        margin-top:5.4rem;
        padding: 3rem 2.5rem;
        display: flex;
        flex-direction: column
    }

    .footer_news::before {
        inset: .4rem
    }
}

.footer_news_text {
    position: relative;
    z-index: 1
}

@media(max-width: 1023px) {
    .footer_news_text {
        display:contents
    }
}

.footer_news_textTtl {
    letter-spacing: 0
}

@media(min-width: 1024px) {
    .footer_news_textTtl {
        font-size:1.8rem;
        line-height: 1.4
    }
}

@media(max-width: 1023px) {
    .footer_news_textTtl {
        position:relative;
        z-index: 1;
        text-align: center;
        font-size: 1.6rem;
        line-height: 1.5;
        order: 1
    }
}

.footer_news_textTxt {
    opacity: .5;
    font-size: 1.2rem
}

@media(min-width: 1024px) {
    .footer_news_textTxt {
        margin-top:2.4rem
    }
}

@media(max-width: 1023px) {
    .footer_news_textTxt {
        position:relative;
        z-index: 1;
        text-align: center;
        margin-top: 2.4rem;
        order: 3
    }
}

.footer_news_form {
    position: relative;
    z-index: 1
}

@media(max-width: 1023px) {
    .footer_news_form {
        display:contents
    }
}

@media(max-width: 1023px) {
    .footer_news_formInner {
        position:relative;
        z-index: 1;
        order: 2
    }
}

@media(min-width: 1024px) {
    .footer_info {
        margin-top:8rem
    }
}

@media(max-width: 1023px) {
    .footer_info {
        margin-top:4.8rem
    }
}

@media(min-width: 1024px) {
    .footer_info_company {
        display:flex;
        justify-content: space-between;
        align-items: end
    }
}

@media(min-width: 1024px) {
    .footer_info_logoTxt {
        margin-bottom:1.6rem
    }
}

@media(max-width: 1023px) {
    .footer_info_logoTxt {
        margin-bottom:1.6rem;
        text-align: center;
        font-size: 1.2rem;
        letter-spacing: 0
    }
}

@media(min-width: 1024px) {
    .footer_info_logoImg {
        width:24rem
    }
}

@media(max-width: 1023px) {
    .footer_info_logoImg {
        width:24rem;
        margin: 0 auto
    }
}

.footer_info_sns .is-disabled {
    opacity: .2;
    pointer-events: none
}

@media(min-width: 1024px) {
    .footer_info_sns ul {
        display:flex;
        align-items: center;
        justify-content: center;
        gap: 3rem
    }

    .footer_info_sns ul li a {
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: opacity
    }

    html.notouch .footer_info_sns ul li a:hover {
        opacity: .5
    }
}

@media(max-width: 1023px) {
    .footer_info_sns {
        margin-top:4.8rem;
        border-top: 1px solid rgba(255,255,255,.1);
        border-bottom: 1px solid rgba(255,255,255,.1);
        padding: 2.4rem 0
    }

    .footer_info_sns ul {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 2.4rem
    }

    .footer_info_sns ul li a {
        display: flex;
        align-items: center;
        justify-content: center
    }
}

@media(min-width: 1024px) {
    .footer_info_links {
        margin-top:6rem;
        display: flex;
        align-items: baseline;
        justify-content: space-between
    }
}

@media(max-width: 1023px) {
    .footer_info_links {
        margin-top:4.8rem;
        display: flex;
        flex-flow: column-reverse wrap-reverse
    }
}

.footer_info_copyright .t_hl {
    color: #666;
    font-weight: 400
}

@media(min-width: 1024px) {
    .footer_info_copyright .t_hl {
        font-size:1.2rem
    }
}

@media(max-width: 1023px) {
    .footer_info_copyright {
        margin-top:4.8rem;
        text-align: center
    }

    .footer_info_copyright .t_hl {
        font-size: 1.1rem
    }
}

.footer_info_sitemap ul {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: .8rem 1.6rem
}

.footer_info_sitemap ul li {
    font-size: 1.2rem
}

.l_btn {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    height: 6.4rem;
    text-decoration: none;
    border-bottom: 1px solid #ccc
}

.l_btn:before,.l_btn:after {
    content: "";
    display: block;
    position: absolute;
    bottom: -1px;
    left: 0;
    height: 1px
}

.l_btn:before {
    left: auto;
    right: 0;
    width: 0;
    background: #df0018;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: width
}

.l_btn:after {
    left: auto;
    right: 0;
    width: 6.4rem;
    background: #df0018
}

.l_btn .l_arw {
    width: 6.4rem
}

html.notouch .l_btn:hover:before {
    left: 0;
    right: auto;
    width: 100%
}

@-webkit-keyframes arw_r {
    0%,100% {
        opacity: 1;
        transform: translateX(0)
    }

    50% {
        opacity: 0;
        transform: translateX(0.5rem)
    }

    50.1% {
        opacity: 0;
        transform: translateX(-0.5rem)
    }
}

@keyframes arw_r {
    0%,100% {
        opacity: 1;
        transform: translateX(0)
    }

    50% {
        opacity: 0;
        transform: translateX(0.5rem)
    }

    50.1% {
        opacity: 0;
        transform: translateX(-0.5rem)
    }
}

@-webkit-keyframes arw_l {
    0%,100% {
        opacity: 1;
        transform: translateX(0)
    }

    50% {
        opacity: 0;
        transform: translateX(-0.5rem)
    }

    50.1% {
        opacity: 0;
        transform: translateX(0.5rem)
    }
}

@keyframes arw_l {
    0%,100% {
        opacity: 1;
        transform: translateX(0)
    }

    50% {
        opacity: 0;
        transform: translateX(-0.5rem)
    }

    50.1% {
        opacity: 0;
        transform: translateX(0.5rem)
    }
}

.l_arw_moveIcon {
    position: relative;
    width: 1.4rem;
    height: 1.4rem
}

.l_arw_moveIcon:after {
    position: absolute;
    z-index: 2;
    top: 0rem;
    left: 0;
    bottom: 0;
    display: block;
    content: "";
    width: 1.4rem;
    height: 1.4rem;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url(../imgs/common/arw.svg);
    margin: auto 0;
    transition-property: background-image
}

.l_arw_moveIcon.__left:after {
    background-image: url(../imgs/common/arw_l.svg)
}

html.notouch a:hover .l_arw_moveIcon:after {
    -webkit-animation: arw_r 1.2s cubic-bezier(0.55, 0.05, 0.22, 0.99) 0s;
    animation: arw_r 1.2s cubic-bezier(0.55, 0.05, 0.22, 0.99) 0s
}

html.notouch a:hover .l_arw_moveIcon.__left:after {
    -webkit-animation: arw_l 1.2s cubic-bezier(0.55, 0.05, 0.22, 0.99) 0s;
    animation: arw_l 1.2s cubic-bezier(0.55, 0.05, 0.22, 0.99) 0s
}

.l_arw {
    width: 5rem;
    aspect-ratio: 1/1;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center
}

.l_arw::before {
    background-image: linear-gradient(to bottom, #ffffff, #ffffff 1px, transparent 1px, transparent 2px);
    background-repeat: repeat-y;
    background-position: left top;
    background-size: 1px 3px;
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - .7rem);
    left: 0;
    width: 1px;
    height: 1.4rem;
    opacity: .4;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: background
}

.l_arw.__black::before {
    background-image: linear-gradient(to bottom, #111111, #111111 1px, transparent 1px, transparent 2px);
    background-repeat: repeat-y;
    background-position: left top;
    background-size: 1px 3px
}

.l_arw.__black .l_arw_icon {
    background: #111
}

.l_arw.__circle {
    width: 1.6rem;
    background: #111;
    border-radius: 50%
}

.l_arw.__circle::before {
    display: none
}

.l_arw.__circle .l_arw_icon {
    width: .7rem
}

.l_arw_icon {
    display: block;
    width: 1.4rem;
    aspect-ratio: 1/1;
    background: #fff;
    -webkit-mask-image: url(../imgs/common/arw.svg);
    mask-image: url(../imgs/common/arw.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: 0 0;
    mask-position: 0 0;
    -webkit-mask-size: contain;
    mask-size: contain;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: background
}

.l_arw_plus {
    display: block;
    width: 1.4rem;
    aspect-ratio: 1/1;
    background: #111;
    -webkit-mask-image: url(../imgs/common/plus.svg);
    mask-image: url(../imgs/common/plus.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: 0 0;
    mask-position: 0 0;
    -webkit-mask-size: contain;
    mask-size: contain;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: background
}

@-webkit-keyframes linelink {
    0% {
        background-position: right bottom 2px;
        background-size: 100% 1px
    }

    50% {
        background-position: right bottom 2px;
        background-size: 0 1px
    }

    51% {
        background-position: left bottom 2px;
        background-size: 0 1px
    }

    100% {
        background-position: left bottom 2px;
        background-size: 100% 1px
    }
}

@keyframes linelink {
    0% {
        background-position: right bottom 2px;
        background-size: 100% 1px
    }

    50% {
        background-position: right bottom 2px;
        background-size: 0 1px
    }

    51% {
        background-position: left bottom 2px;
        background-size: 0 1px
    }

    100% {
        background-position: left bottom 2px;
        background-size: 100% 1px
    }
}

@-webkit-keyframes linelinkB2 {
    0% {
        background-position: right bottom 2px;
        background-size: 100% 2px
    }

    50% {
        background-position: right bottom 2px;
        background-size: 0 2px
    }

    51% {
        background-position: left bottom 2px;
        background-size: 0 2px
    }

    100% {
        background-position: left bottom 2px;
        background-size: 100% 2px
    }
}

@keyframes linelinkB2 {
    0% {
        background-position: right bottom 2px;
        background-size: 100% 2px
    }

    50% {
        background-position: right bottom 2px;
        background-size: 0 2px
    }

    51% {
        background-position: left bottom 2px;
        background-size: 0 2px
    }

    100% {
        background-position: left bottom 2px;
        background-size: 100% 2px
    }
}

.l_linelink {
    display: inline-block;
    color: #111;
    line-height: 1.5;
    text-decoration: none
}

.l_linelink.b2 .l_linelink_txt {
    background-size: 100% 2px
}

html.notouch .l_linelink.b2:hover .l_linelink_txt,html.notouch a:hover .l_linelink.b2 .l_linelink_txt {
    -webkit-animation: linelinkB2 1.2s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    animation: linelinkB2 1.2s cubic-bezier(0.55, 0.05, 0.22, 0.99)
}

.l_linelink_txt {
    will-change: background-size;
    background: url(../imgs/common/line.svg) no-repeat left bottom 2px;
    background-size: 100% 1px
}

.l_linelink_txt.__gray {
    background-image: url(../imgs/common/line-gray.svg)
}

.l_linelink_txt.__white {
    background-image: url(../imgs/common/line-white.svg)
}

html.notouch .l_linelink:hover .l_linelink_txt,html.notouch a:hover .l_linelink .l_linelink_txt {
    -webkit-animation: linelink 1.2s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    animation: linelink 1.2s cubic-bezier(0.55, 0.05, 0.22, 0.99)
}

.l_linelink.__hidden .l_linelink_txt {
    transition: background-size .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    background-position: right bottom 2px;
    background-size: 0 1px
}

html.notouch .l_linelink.__hidden:hover .l_linelink_txt,html.notouch a:hover .l_linelink.__hidden .l_linelink_txt {
    -webkit-animation: none;
    animation: none;
    background-position: left bottom 2px;
    background-size: 100% 1px
}

@media only screen and (max-width: 1023px) {
    .l_linelink.b2 .l_linelink_txt {
        background-size:100% 1px
    }

    .l_linelink.__hidden .l_linelink_txt {
        text-decoration: none
    }
}

.l-txtlink {
    text-decoration: none;
    font-size: 1.2rem;
    font-weight: 500;
    padding-right: 5rem;
    position: relative;
    color: #484d49;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: color;
    display: inline-block
}

.l-txtlink.left {
    padding-right: 0;
    padding-left: 5rem
}

.l-txtlink.left .line {
    right: auto;
    left: 0
}

.l-txtlink.left .line:after {
    left: 0;
    right: auto
}

html.notouch .l-txtlink.left:hover .line:after {
    left: auto;
    right: 0
}

.l-txtlink .line {
    width: 4rem;
    position: absolute;
    right: 0;
    top: 50%;
    display: block
}

.l-txtlink .line:before,.l-txtlink .line:after {
    position: absolute;
    content: "";
    display: block;
    right: 0;
    width: 100%;
    height: 1px;
    background: #c6ccc7;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: width
}

.l-txtlink .line:after {
    width: 0;
    background: #111
}

html.notouch .l-txtlink:hover {
    color: #111
}

html.notouch .l-txtlink:hover .line:after {
    left: 0;
    right: auto;
    width: 100%
}

.img-ov {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
    position: relative;
    z-index: 0
}

.img-ov img {
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transform: scale(1.005)
}

html.notouch a:hover .img-ov img {
    transform: scale(1.05) !important
}

.js_contact_btn {
    position: fixed;
    z-index: 103;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.15))
}

.js_contact_btn a {
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: width,background;
    height: 4.8rem;
    transform: translate3d(0, 0, 0)
}

.js_contact_btn.is_hidden a {
    width: 4.8rem
}

.js_contact_btn.is_hidden a .js_contact_btnTxt {
    opacity: 0;
    transition-delay: 0s
}

.js_contact_btn.is_hidden a .js_contact_btnIcon {
    opacity: 1;
    transition-delay: .3s
}

@media(min-width: 1024px) {
    .js_contact_btn {
        right:3rem;
        bottom: 3rem
    }

    .js_contact_btn a {
        width: 18rem;
        border-radius: 4.8rem 4.8rem 0 4.8rem
    }

    .js_contact_btn a:after {
        position: absolute;
        content: "";
        bottom: 0;
        right: 0;
        width: 0;
        height: 100%;
        background: #000;
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: width,background
    }

    html.notouch .js_contact_btn a:hover {
        background: #000
    }

    html.notouch .js_contact_btn a:hover:after {
        left: 0;
        right: auto;
        width: 100%
    }

    html.notouch .js_contact_btn a:hover .js_contact_btnTxt {
        color: #fff
    }

    html.notouch .js_contact_btn a:hover .js_contact_btnIcon {
        background: #fff
    }
}

@media(max-width: 1023px) {
    .js_contact_btn {
        right:1.6rem;
        bottom: 1.6rem;
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: bottom
    }

    .js_contact_btn.is-action {
        bottom: calc(6.6rem + env(safe-area-inset-bottom))
    }

    .js_contact_btn a {
        border-radius: .8rem .8rem 0 .8rem;
        width: 16rem
    }
}

.js_contact_btnTxt {
    position: absolute;
    white-space: nowrap;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99) .3s;
    transition-property: opacity,color;
    z-index: 1
}

@media(max-width: 1023px) {
    .js_contact_btnTxt {
        font-size:1.2rem
    }
}

.js_contact_btnIcon {
    width: 1.8rem;
    height: 1.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: opacity,background;
    opacity: 0;
    position: relative;
    z-index: 1;
    background: #111;
    -webkit-mask-image: url(../imgs/common/mail.svg);
    mask-image: url(../imgs/common/mail.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: 0 0;
    mask-position: 0 0;
    -webkit-mask-size: contain;
    mask-size: contain
}

@media(max-width: 1023px) {
    .js_contact_btnIcon {
        width:1.6rem;
        height: 1.6rem
    }
}

.js_ac_content {
    display: none
}

.js_modal {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box
}

@media(min-width: 1024px) {
    .js_modal {
        padding:8.8rem 0
    }
}

@media(max-width: 1023px) {
    .js_modal {
        padding:6rem 0
    }
}

.js_modal_content {
    aspect-ratio: 16/9;
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    width: 100%;
    max-width: 1440px;
    height: 100%
}

.js_modal_content iframe {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain
}

.js_modal_open {
    cursor: pointer
}

.js_modal_close {
    position: absolute;
    z-index: 1;
    top: 2rem;
    right: 2rem;
    width: 4.8rem;
    height: 4.8rem;
    border: 1px solid rgba(255,255,255,.4);
    border-radius: 50%
}

.js_modal_close:before {
    content: "";
    display: block;
    transform: translate(-50%, -50%);
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1.6rem;
    height: 1.6rem;
    background: rgba(255,255,255,.6);
    -webkit-mask-image: url(../imgs/common/arw_close.svg);
    mask-image: url(../imgs/common/arw_close.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: 0 0;
    mask-position: 0 0;
    -webkit-mask-size: contain;
    mask-size: contain
}

.js-parallax {
    display: block
}

@media only screen and (max-width: 1023px) {
    .js-parallax {
        transform:none !important
    }
}

.js-easing-fade {
    opacity: 0
}

.js-easing-fade.is-visible {
    transition: all 1.2s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: opacity;
    opacity: 1
}

.js-easing-blur {
    opacity: 0
}

.js-easing-blur.is-visible {
    transition: all 1.2s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: opacity,filter;
    opacity: 1
}

.js-bodyChange.is-hidden {
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: opacity,filter;
    opacity: 0;
    filter: blur(10px)
}

.f-contents.confirm .item {
    max-width: 100%
}

.f-contents.confirm .item dt {
    opacity: .5
}

.f-contents .item {
    position: relative;
    display: block;
    max-width: 30rem
}

.f-contents .item.f-contents-msg {
    max-width: 60rem
}

.f-contents .item+.item {
    margin-top: 3.5rem
}

.f-contents .item dt {
    margin-bottom: .6rem;
    position: relative;
    padding-left: 1rem
}

.f-contents .item dt:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 1.2rem;
    width: .5rem;
    height: .5rem;
    background: #111
}

.f-contents .item dt .jp {
    font-size: 1.3rem;
    font-weight: 600
}

.f-contents .item dt .en {
    padding-left: .8rem;
    font-size: 1.1rem;
    color: #727773
}

.f-contents .item dt .required {
    position: absolute;
    right: 0;
    top: .6rem;
    font-size: 1.1rem;
    line-height: 1;
    color: #fff;
    background: #727773;
    padding: .3rem;
    font-weight: 600
}

@media only screen and (max-width: 1023px) {
    .f-contents .item {
        max-width:100%
    }

    .f-contents .item.f-contents-msg {
        max-width: 100%
    }

    .f-contents .item dt .jp {
        font-size: 1.3rem;
        font-weight: 600
    }

    .f-contents .item dt .en {
        display: block;
        padding-left: 0;
        line-height: 1.4
    }

    .f-contents .item dt .required {
        top: .5rem
    }
}

.f-contents-agreement {
    margin-top: 4rem;
    max-width: 60rem
}

.f-contents-agreement__txt {
    box-sizing: border-box;
    background: rgba(183,183,183,.3);
    padding: 2.5rem;
    font-size: 1.1rem;
    height: 20rem;
    overflow: auto;
    position: relative
}

.f-contents-agreement__txt p {
    margin-bottom: 2.5rem
}

.f-contents-agreement__txt dl+dl {
    margin-top: 2.5rem
}

.f-contents-agreement__txt dl dt {
    font-weight: 600
}

.f-contents-agreement .form__checkbox {
    margin-top: 2rem
}

@media only screen and (max-width: 1023px) {
    .f-contents-agreement {
        max-width:100%
    }

    .f-contents-agreement__txt {
        padding: 2rem 1.5rem
    }

    .f-contents-agreement .form__checkbox {
        margin-top: 1.3rem
    }
}

.form-text {
    box-sizing: border-box;
    display: block;
    width: 100%;
    height: 4rem;
    margin: 0;
    padding: 1.5rem;
    border-radius: 0;
    border: 1px solid #111;
    background: none;
    font-size: 1.3rem;
    line-height: 1.72;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.form-inner {
    display: block;
    position: relative
}

label.error {
    display: block;
    color: #d90000;
    font-weight: 600;
    line-height: 1.4;
    padding-top: .5rem;
    font-size: 1.2rem
}

input.form-text,textarea.form-text {
    padding: 1.5rem;
    background-color: #fff
}

input.form-text.error,textarea.form-text.error {
    border-color: #d90000
}

textarea.form-text {
    max-width: 100%;
    height: 20rem
}

.form-checkbox {
    display: inline-block;
    position: relative;
    padding-left: 2.5rem;
    font-size: 1.3rem;
    line-height: 1
}

.form-checkbox label {
    display: block;
    cursor: pointer
}

.form-checkbox .checkbox {
    visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 0;
    background: none;
    opacity: 0
}

.form-checkbox .checkbox:checked+.icon {
    border-color: #111
}

.form-checkbox .checkbox:checked+.icon:before {
    opacity: 1
}

.form-checkbox .icon {
    box-sizing: border-box;
    display: block;
    position: absolute;
    top: 0rem;
    left: 0;
    width: 1.5rem;
    height: 1.5rem;
    border: #727773 solid 1px;
    background: #fff
}

.form-checkbox .icon:before {
    content: "";
    position: absolute;
    top: .2rem;
    left: .1rem;
    display: block;
    width: 1.1rem;
    height: .8rem;
    background-image: url(../imgs/common/check.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    transition: opacity .3s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: transform,opacity;
    opacity: 0
}

.form-selectbox {
    box-sizing: border-box;
    display: inline-block;
    width: 100%;
    position: relative;
    z-index: 1;
    border-radius: 0
}

.form-selectbox:before {
    content: "";
    position: absolute;
    right: .8rem;
    top: 50%;
    transform: translateY(-50%);
    border-left: .5rem solid rgba(0,0,0,0);
    border-right: .5rem solid rgba(0,0,0,0);
    border-top: .7rem solid #111;
    width: 0;
    height: 0
}

.form-selectbox select {
    display: block;
    width: 100%;
    height: 5rem;
    margin: 0;
    padding: 0 1rem;
    border: none;
    border-radius: 0;
    background: none;
    cursor: pointer;
    outline: none;
    font-size: 1.3rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: solid 1px #ccc
}

.form-selectbox select.error {
    border-color: #d90000
}

.form-selectbox select::-ms-expand {
    display: none
}

.p-contact-complete__erro {
    margin-top: 4rem;
    border: 1px solid #ccc;
    padding: 3rem
}

.p-contact-complete__erro .list {
    margin-top: 1rem
}

.p-contact-complete__erro .cap {
    margin-top: 1.5rem;
    font-size: 1.1rem;
    opacity: .5
}

.p-contact-complete__erro .cap.en {
    opacity: 1
}

.p-contact-complete__erro .cap.en a {
    color: #111
}

.p-contact-complete__erro .enarea {
    margin-top: 2rem
}

.p-contact-complete__erro .enarea .en {
    font-size: 1.1rem;
    color: #727773;
    line-height: 1.4
}

.p-contact-complete__erro .enarea .en a {
    color: #727773
}

.p-contact-complete__btn {
    margin-top: 4rem
}

@media only screen and (max-width: 1023px) {
    .p-contact-complete__erro {
        margin-top:3rem;
        padding: 1.5rem;
        font-size: 1.1rem
    }

    .p-contact-complete__btn {
        margin-top: 4rem
    }
}

.form-btnArea {
    position: relative;
    margin-top: 4rem
}

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

input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px #fff inset
}

input.valid:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px #fff inset
}

input:-moz-placeholder-shown, textarea:-moz-placeholder-shown {
    color: #989898;
    font-family: "IBM Plex Sans JP",sans-serif
}

input:placeholder-shown,textarea:placeholder-shown {
    color: #989898;
    font-family: "IBM Plex Sans JP",sans-serif
}

input::-webkit-input-placeholder,textarea::-webkit-input-placeholder {
    color: #989898;
    font-family: "IBM Plex Sans JP",sans-serif
}

input:-moz-placeholder,textarea:-moz-placeholder {
    color: #989898;
    font-family: "IBM Plex Sans JP",sans-serif
}

input::-moz-placeholder,textarea::-moz-placeholder {
    color: #989898;
    font-family: "IBM Plex Sans JP",sans-serif
}

input:-ms-input-placeholder,textarea:-ms-input-placeholder {
    color: #989898;
    font-family: "IBM Plex Sans JP",sans-serif
}

input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0
}

input[type=number] {
    -moz-appearance: textfield
}

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

.swiper-container {
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1
}

.swiper-container-no-flexbox .swiper-slide {
    float: left
}

.swiper-container-vertical>.swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    box-sizing: content-box
}

.swiper-container-android .swiper-slide,.swiper-wrapper {
    transform: translate3d(0, 0, 0)
}

.swiper-container-multirow>.swiper-wrapper {
    flex-wrap: wrap
}

.swiper-container-free-mode>.swiper-wrapper {
    transition-timing-function: ease-out;
    margin: 0 auto
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide {
    height: auto
}

.swiper-container-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform,height
}

.swiper-container-3d {
    perspective: 1200px
}

.swiper-container-3d .swiper-cube-shadow,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10
}

.swiper-container-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-container-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-container-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-container-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-container-wp8-horizontal,.swiper-container-wp8-horizontal>.swiper-wrapper {
    touch-action: pan-y
}

.swiper-container-wp8-vertical,.swiper-container-wp8-vertical>.swiper-wrapper {
    touch-action: pan-x
}

.swiper-button-next,.swiper-button-prev {
    position: absolute;
    top: 50%;
    width: 27px;
    height: 44px;
    margin-top: -22px;
    z-index: 10;
    cursor: pointer;
    background-size: 27px 44px;
    background-position: center;
    background-repeat: no-repeat
}

.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled {
    opacity: .35;
    cursor: auto;
    pointer-events: none
}

.swiper-button-prev,.swiper-container-rtl .swiper-button-next {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
    left: 10px;
    right: auto
}

.swiper-button-next,.swiper-container-rtl .swiper-button-prev {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
    right: 10px;
    left: auto
}

.swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")
}

.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")
}

.swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")
}

.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")
}

.swiper-button-lock {
    display: none
}

.swiper-pagination {
    position: relative !important;
    text-align: center !important;
    transition: .3s opacity !important;
    transform: translate3d(0, 0, 0) !important;
    z-index: 10 !important;
    bottom: -44px !important;
}

.swiper-pagination.swiper-pagination-hidden {
    opacity: 0
}

.swiper-container-horizontal>.swiper-pagination-bullets,.swiper-pagination-custom,.swiper-pagination-fraction {
    bottom: 10px;
    left: 0;
    width: 100%
}

.swiper-pagination-bullets-dynamic {
    overflow: hidden;
    font-size: 0
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transform: scale(0.33);
    position: relative
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    transform: scale(0.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    transform: scale(0.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    transform: scale(0.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    transform: scale(0.33)
}

.swiper-pagination-bullet {
    width: 8px !important;
    height: 8px !important;
    display: inline-block;
    border-radius: 100% !important;
    background: #000 !important;
    opacity: .2 !important;
}

button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer !important;
}

.swiper-pagination-bullet-active {
    opacity: 1;
    background: #007aff
}

.swiper-container-vertical>.swiper-pagination-bullets {
    right: 10px;
    top: 50%;
    transform: translate3d(0, -50%, 0)
}

.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 6px 0;
    display: block
}

.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px
}

.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    display: inline-block;
    transition: .2s top,.2s -webkit-transform;
    transition: .2s transform,.2s top;
    transition: .2s transform,.2s top,.2s -webkit-transform
}

.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 4px
}

.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap
}

.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s left,.2s -webkit-transform;
    transition: .2s transform,.2s left;
    transition: .2s transform,.2s left,.2s -webkit-transform
}

.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s right,.2s -webkit-transform;
    transition: .2s transform,.2s right;
    transition: .2s transform,.2s right,.2s -webkit-transform
}

.swiper-pagination-progressbar {
    background: rgba(0,0,0,.25);
    position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: #007aff;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top
}

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    transform-origin: right top
}

.swiper-container-horizontal>.swiper-pagination-progressbar,.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: 4px;
    left: 0;
    top: 0
}

.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-container-vertical>.swiper-pagination-progressbar {
    width: 4px;
    height: 100%;
    left: 0;
    top: 0
}

.swiper-pagination-white .swiper-pagination-bullet-active {
    background: #fff
}

.swiper-pagination-progressbar.swiper-pagination-white {
    background: rgba(255,255,255,.25)
}

.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill {
    background: #fff
}

.swiper-pagination-black .swiper-pagination-bullet-active {
    background: #000
}

.swiper-pagination-progressbar.swiper-pagination-black {
    background: rgba(0,0,0,.25)
}

.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill {
    background: #000
}

.swiper-pagination-lock {
    display: none
}

.swiper-scrollbar {
    border-radius: 10px;
    position: relative;
    -ms-touch-action: none;
    background: rgba(0,0,0,.1)
}

.swiper-container-horizontal>.swiper-scrollbar {
    position: absolute;
    left: 1%;
    bottom: 3px;
    z-index: 50;
    height: 5px;
    width: 98%
}

.swiper-container-vertical>.swiper-scrollbar {
    position: absolute;
    right: 3px;
    top: 1%;
    z-index: 50;
    width: 5px;
    height: 98%
}

.swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: rgba(0,0,0,.5);
    border-radius: 10px;
    left: 0;
    top: 0
}

.swiper-scrollbar-cursor-drag {
    cursor: move
}

.swiper-scrollbar-lock {
    display: none
}

.swiper-zoom-container {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center
}

.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg {
    max-width: 100%;
    max-height: 100%;
    -o-object-fit: contain;
    object-fit: contain
}

.swiper-slide-zoomed {
    cursor: move
}

.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite;
    animation: swiper-preloader-spin 1s steps(12, end) infinite
}

.swiper-lazy-preloader:after {
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    background-position: 50%;
    background-size: 100%;
    background-repeat: no-repeat
}

.swiper-lazy-preloader-white:after {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")
}

@-webkit-keyframes swiper-preloader-spin {
    100% {
        transform: rotate(360deg)
    }
}

@keyframes swiper-preloader-spin {
    100% {
        transform: rotate(360deg)
    }
}

.swiper-container .swiper-notification {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    opacity: 0;
    z-index: -1000
}

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
    transition-timing-function: ease-out
}

.swiper-container-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity
}

.swiper-container-fade .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-container-cube {
    overflow: visible
}

.swiper-container-cube .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1;
    visibility: hidden;
    transform-origin: 0 0;
    width: 100%;
    height: 100%
}

.swiper-container-cube .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-container-cube.swiper-container-rtl .swiper-slide {
    transform-origin: 100% 0
}

.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-next+.swiper-slide,.swiper-container-cube .swiper-slide-prev {
    pointer-events: auto;
    visibility: visible
}

.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right,.swiper-container-cube .swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-container-cube .swiper-cube-shadow {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: .6;
    filter: blur(50px);
    z-index: 0
}

.swiper-container-flip {
    overflow: visible
}

.swiper-container-flip .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1
}

.swiper-container-flip .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right,.swiper-container-flip .swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-container-coverflow .swiper-wrapper {
    -ms-perspective: 1200px
}

.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    touch-action: pan-y;
    -webkit-tap-highlight-color: rgba(0,0,0,0)
}

.slick-list {
    position: relative;
    overflow: hidden;
    display: block;
    margin: 0;
    padding: 0
}

.slick-list:focus {
    outline: none
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}

.slick-slider .slick-track,.slick-slider .slick-list {
    transform: translate3d(0, 0, 0)
}

.slick-track {
    position: relative;
    left: 0;
    top: 0;
    display: block;
    margin-left: auto;
    margin-right: auto
}

.slick-track:before,.slick-track:after {
    content: "";
    display: table
}

.slick-track:after {
    clear: both
}

.slick-loading .slick-track {
    visibility: hidden
}

.slick-slide {
    float: left;
    height: 100%;
    min-height: 1px;
    outline: none;
    display: none
}

[dir=rtl] .slick-slide {
    float: right
}

.slick-slide img {
    display: block
}

.slick-slide.slick-loading img {
    display: none
}

.slick-slide.dragging img {
    pointer-events: none
}

.slick-initialized .slick-slide {
    display: block
}

.slick-loading .slick-slide {
    visibility: hidden
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid rgba(0,0,0,0)
}

.slick-arrow.slick-hidden {
    display: none
}

.m_cat {
    color: #fff;
    background: #111;
    display: inline-flex;
    padding: .6rem;
    border-radius: .2rem
}

@media(min-width: 1024px) {
    .m_cat {
        font-size:1.2rem
    }
}

@media(max-width: 1023px) {
    .m_cat {
        font-size:1.1rem
    }
}

.m-pagenation {
    margin-top: 8rem
}

.m-pagenation ul {
    display: flex;
    align-items: center;
    justify-content: center
}

.m-pagenation ul li a,.m-pagenation ul li span {
    display: block;
    font-size: 1.6rem;
    font-weight: 700;
    text-decoration: none;
    position: relative;
    box-sizing: border-box;
    color: #111;
    padding: 0 1rem;
    opacity: .3;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    font-family: "Be Vietnam Pro","IBM Plex Sans JP",sans-serif
}

html.notouch .m-pagenation ul li:hover a,.m-pagenation ul li.on a {
    opacity: 1
}

.m-pagenation ul li.prev a,.m-pagenation ul li.next a {
    opacity: 1
}

.m-pagenation ul li.prev {
    margin-right: 2.2rem
}

.m-pagenation ul li.next {
    margin-left: 2.2rem
}

.m-pagenation ul li.more span {
    background: none
}

.m-pagenation ul li.more.sp {
    display: none
}

@media only screen and (max-width: 1023px) {
    .m-pagenation {
        margin-top:4rem
    }

    .m-pagenation ul li {
        display: none
    }

    .m-pagenation ul li.more.sp {
        display: block
    }

    .m-pagenation ul li.prev,.m-pagenation ul li.next,.m-pagenation ul li.on,.m-pagenation ul li.spshow {
        display: block
    }
}

.m-entxt {
    font-size: 1.1rem;
    color: #727773;
    line-height: 1.8;
    margin-top: 1rem;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: color,opacity;
    font-family: "Be Vietnam Pro","IBM Plex Sans JP",sans-serif
}

html.is-white .m-entxt {
    opacity: .5;
    color: #fff
}

.m-cap {
    margin-top: 1rem;
    color: #3b3e3b;
    font-size: 1.1rem;
    display: block
}

.m-cap.en {
    color: #727773
}

.m-gnav {
    display: flex;
    flex-shrink: 0;
    height: 28.5rem;
    pointer-events: none
}

html.notouch .m-gnav:hover .item {
    opacity: .3
}

.m-gnav .item {
    position: relative;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: transform,opacity;
    pointer-events: auto;
    width: 5rem
}

html.notouch .m-gnav .item:hover {
    opacity: 1
}

.m-gnav .item+.item {
    margin-left: 2rem
}

.m-gnav .item.is-current:before {
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -0.25rem;
    content: "";
    display: block;
    width: .5rem;
    height: .5rem;
    background: #111
}

.m-gnav .item a {
    text-decoration: none;
    display: block;
    height: 100%;
    padding: 1.5rem 1rem 0;
    position: relative
}

.m-gnav .item a .jp {
    writing-mode: vertical-rl;
    font-size: 1.5rem;
    letter-spacing: .15em
}

.m-gnav .item a .en {
    position: absolute;
    bottom: 0;
    left: 0;
    margin-bottom: 1.3rem;
    margin-left: 1rem;
    transform: rotate(90deg) translate(-100%, -100%);
    transform-origin: 0% 100%;
    display: inline-block;
    white-space: nowrap;
    text-align: right;
    line-height: 1;
    font-size: 1.1rem;
    color: #999;
    font-weight: 500
}

@media only screen and (max-width: 1023px) {
    .m-gnav {
        justify-content:center;
        height: 25.6rem
    }

    .m-gnav .item+.item {
        margin-left: 0rem
    }

    .m-gnav .item a {
        padding: 1.5rem .5rem 0
    }
}

.m-links {
    text-align: right
}

.m-links li+li {
    margin-top: .3rem
}

.m-links li a {
    text-decoration: none;
    font-size: 1.2rem;
    font-weight: 500;
    padding-right: 4rem;
    position: relative;
    color: #484d49;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: color;
    display: block
}

.m-links li a .line {
    width: 3rem;
    position: absolute;
    right: 0;
    top: 50%;
    display: block
}

.m-links li a .line:before,.m-links li a .line:after {
    position: absolute;
    content: "";
    display: block;
    right: 0;
    width: 100%;
    height: 1px;
    background: #c6ccc7;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: width
}

.m-links li a .line:after {
    width: 0;
    background: #111
}

html.notouch .m-links li a:hover {
    color: #111
}

html.notouch .m-links li a:hover .line:after {
    left: 0;
    right: auto;
    width: 100%
}

@media only screen and (max-width: 1023px) {
    .m-links {
        text-align:left;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem 3rem;
        margin: 0 auto
    }

    .m-links li+li {
        margin-top: 0
    }
}

.m-cvTxt span {
    display: block
}

.m-cvTxt span.jp {
    font-weight: 500;
    line-height: 1.8
}

.m-cvTxt span.en {
    font-size: 1.1rem;
    color: #999
}

@media only screen and (max-width: 1023px) {
    .m-cvTxt {
        text-align:center
    }

    .m-cvTxt span.jp {
        font-size: 1.1rem;
        letter-spacing: .11em
    }

    .m-cvTxt span.en {
        margin-top: .5rem;
        line-height: 1;
        letter-spacing: .11em
    }
}

.m-cvTel a {
    text-decoration: none;
    font-size: 2rem;
    line-height: 1
}

.m-cvTel a span {
    font-size: 3rem
}

@media only screen and (max-width: 1023px) {
    .m-cvTel a span {
        font-size:2.6rem
    }
}

.m-bnr li a {
    display: block;
    box-sizing: border-box;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: transform,opacity
}

html.notouch .m-bnr li a:hover {
    opacity: .5
}

.m-bnr li+li {
    margin-top: 2rem
}

.m-newslist {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: -6rem
}

.m-newslist:after {
    content: "";
    display: block;
    width: 29.67%
}

.m-newslist .item {
    width: 29.67%;
    position: relative;
    margin-bottom: 6rem
}

.m-newslist .item a {
    display: block;
    padding-right: 2.5rem
}

.m-newslist .item__mata {
    position: absolute;
    right: -0.5rem;
    top: 0;
    width: 1.6rem
}

.m-newslist .item__mata .date {
    color: #999;
    font-size: 1.1rem;
    white-space: nowrap;
    position: absolute;
    top: 0;
    right: 0
}

.m-newslist .item__mata .date span {
    width: 0;
    height: 0;
    display: inline-block;
    transform: rotate(90deg)
}

.m-newslist .item__mata .cat {
    margin-top: 8rem;
    color: #999;
    font-size: 1.1rem;
    font-weight: 500;
    writing-mode: vertical-rl
}

.m-newslist .item__ttl {
    margin-top: 2rem;
    line-height: 2.1
}

@media only screen and (max-width: 1023px) {
    .m-newslist {
        display:block;
        margin-bottom: 0
    }

    .m-newslist:after {
        display: none
    }

    .m-newslist .item {
        width: auto;
        margin-bottom: 0
    }

    .m-newslist .item+.item {
        margin-top: 4rem
    }

    .m-newslist .item a {
        padding-right: 3rem
    }

    .m-newslist .item__mata {
        right: .5rem;
        width: 1rem
    }

    .m-newslist .item__mata .cat {
        width: 1rem
    }

    .m-newslist .item__ttl {
        margin-top: 1rem;
        line-height: 2
    }
}

.m-roomGallery {
    --widthA: calc(100vw - 20rem);
    --widthB: calc((var(--widthA) - 71rem) / 2);
    --widthC: calc(100% + var(--widthB));
    width: var(--widthC);
    position: relative;
    display: flex;
    flex-wrap: wrap
}

.m-roomGallery .item {
    width: calc(20% - 1rem);
    margin-right: 1rem;
    margin-bottom: 1rem
}

.m-roomGallery .item a {
    display: block;
    text-decoration: none;
    position: relative;
    color: #fff;
    box-sizing: border-box;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: opacity
}

.m-roomGallery .item a:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border: 1px solid rgba(255,255,255,.8);
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: opacity;
    opacity: 0;
    pointer-events: none
}

html.notouch .m-roomGallery .item a:hover:before {
    opacity: 1
}

html.notouch .m-roomGallery .item a:hover .bgimg {
    opacity: 1
}

html.notouch .m-roomGallery .item a:hover .item__ttl {
    opacity: 1
}

.m-roomGallery .item__ttl {
    position: absolute;
    z-index: 1;
    right: 1rem;
    top: 1rem;
    line-height: 1;
    font-size: 1.4rem;
    font-weight: 500;
    writing-mode: vertical-rl;
    letter-spacing: .3em;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: opacity
}

.m-roomGallery .item .img {
    display: block;
    overflow: hidden;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: opacity
}

.m-roomGallery .item .img img {
    display: block
}

.m-roomGallery .item .bgimg {
    position: fixed;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: opacity;
    opacity: 0;
    pointer-events: none
}

.m-roomGallery .item .bgimg__img {
    display: block
}

.m-roomGallery .item .bgimg__img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    left: 0;
    top: 0
}

html.is-white .m-roomGallery .item a .img {
    opacity: 0
}

html.is-white .m-roomGallery .item a:before {
    opacity: .2
}

html.is-white .m-roomGallery .item a .item__ttl {
    opacity: .2
}

@media only screen and (max-width: 1023px) {
    .m-roomGallery {
        width:calc(100% + 2rem);
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap
    }

    .m-roomGallery .item {
        width: 48.64%;
        margin-right: 0;
        margin-bottom: 1rem
    }

    .m-roomGallery .item a {
        display: block;
        text-decoration: none;
        position: relative;
        color: #fff;
        box-sizing: border-box;
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: opacity
    }

    .m-roomGallery .item a:before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        border: 1px solid rgba(255,255,255,.8);
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: opacity;
        opacity: 0;
        pointer-events: none
    }

    html.notouch .m-roomGallery .item a:hover .img {
        opacity: 0
    }

    html.notouch .m-roomGallery .item a:hover:before {
        opacity: 1
    }

    html.notouch .m-roomGallery .item a:hover .bgimg {
        opacity: 1
    }
}

.m-table table {
    box-sizing: border-box;
    border-collapse: collapse;
    width: 100%;
    border-top: 1px solid #ccc
}

.m-table table th,.m-table table td {
    border-collapse: collapse;
    padding: 2.2rem 0 2.2rem 0;
    box-sizing: border-box;
    border-bottom: 1px solid #ccc;
    line-height: 1.5
}

.m-table table th .jp,.m-table table td .jp {
    display: block
}

.m-table table th .m-entxt,.m-table table td .m-entxt {
    margin-top: .5rem;
    display: block;
    font-weight: 400;
    letter-spacing: .1em
}

.m-table table th {
    width: 16rem
}

.m-table table th .jp {
    font-weight: 600
}

@media only screen and (max-width: 1023px) {
    .m-table table th,.m-table table td {
        display:block
    }

    .m-table table th {
        width: 100%;
        border-bottom: none;
        padding-bottom: 0
    }
}

.ui-tab__content {
    display: none
}

.ui-tab__content.is-current {
    display: block
}

.ui-ac__content {
    display: none
}

.sp-accordion__label .icon {
    display: none
}

@media only screen and (max-width: 1023px) {
    .sp-accordion__label {
        position:relative;
        cursor: pointer
    }

    .sp-accordion__label .icon {
        display: block;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 0;
        width: 2.7rem;
        height: 2.7rem;
        box-sizing: border-box;
        border: 1px solid rgba(255,255,255,.3);
        border-radius: 50%
    }

    .sp-accordion__label .icon.gray {
        border-color: rgba(0,0,0,.3)
    }

    .sp-accordion__label .icon.gray:before,.sp-accordion__label .icon.gray:after {
        background-color: rgba(0,0,0,.3)
    }

    .sp-accordion__label .icon:before,.sp-accordion__label .icon:after {
        position: absolute;
        content: "";
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background: rgba(255,255,255,.3);
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: transform,opacity
    }

    .sp-accordion__label .icon:before {
        width: 1.2rem;
        height: 1px
    }

    .sp-accordion__label .icon:after {
        width: 1px;
        height: 1.2rem
    }

    .sp-accordion__body {
        display: none
    }

    .sp-accordion.is-open .sp-accordion__label .icon:after {
        opacity: 0
    }
}

.m-pickup a {
    text-decoration: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-sizing: border-box;
    height: 8rem;
    background: #fff
}

.m-pickup__img {
    width: 8rem;
    height: 8rem;
    position: relative;
    inset: 0 0 0 -1px
}

.m-pickup__img .img-ov {
    position: relative;
    aspect-ratio: 1/1
}

.m-pickup__img .img-ov img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    left: 0;
    top: 0
}

.m-pickup__txt {
    width: calc(100% - 10rem);
    padding-right: 2rem;
    box-sizing: border-box;
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    max-height: 3.9rem;
    font-size: 1.2rem
}

.pointer {
    transform: translate(-10px, -10px);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000;
    pointer-events: none
}

html.touch .pointer,html.ie10 .pointer,html.ie11 .pointer,html.edge .pointer {
    display: none
}

.pointer.is-hidden {
    visibility: hidden
}

.pointer .pointer__cursor {
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99) 0s;
    transition-property: top,left,width,height,opacity,background;
    position: absolute;
    top: -5px;
    left: -5px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #fff;
    opacity: 0
}

.pointer .pointer__cursor.is-mouseon {
    top: -20px;
    left: -20px;
    width: 40px;
    height: 40px
}

.pointer .pointer__cursor.is-mouseon_icon {
    opacity: .25
}

.pointer .pointer__cursor.is-mouseon_video {
    top: -48px;
    left: -48px;
    width: 96px;
    height: 96px;
    background: rgba(0,0,0,0) !important;
    border: 1px solid rgba(255,255,255,.4);
    opacity: 1 !important;
    color: #fff;
    font-family: "Be Vietnam Pro","IBM Plex Sans JP",sans-serif;
    font-size: 12px;
    line-height: 1;
    text-align: center
}

.pointer .pointer__cursor.is-mouseon_video .video_arw {
    transform: translate(-50%, -50%);
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1.8rem;
    height: 1.8rem;
    background: #fff;
    -webkit-mask-image: url(/assets/img/video.svg);
    mask-image: url(/assets/img/video.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: 0 0;
    mask-position: 0 0;
    -webkit-mask-size: contain;
    mask-size: contain
}

.pointer .pointer__cursor.is-mouseon_video .video_txt {
    transform: translate(-50%, 0);
    display: block;
    position: absolute;
    left: 50%;
    bottom: -19px;
    white-space: nowrap
}

.pointer .pointer__cursor.is-mouseon_close {
    top: -48px;
    left: -48px;
    width: 96px;
    height: 96px;
    background: rgba(0,0,0,0) !important;
    border: 1px solid rgba(255,255,255,.4);
    opacity: 1 !important;
    color: #fff;
    font-family: "Be Vietnam Pro","IBM Plex Sans JP",sans-serif;
    font-size: 12px;
    line-height: 1;
    text-align: center
}

.pointer .pointer__cursor.is-mouseon_close .close_arw {
    transform: translate(-50%, -50%);
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 2.5rem;
    height: 2.5rem;
    background: #fff;
    -webkit-mask-image: url(../imgs/common/arw_close.svg);
    mask-image: url(../imgs/common/arw_close.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: 0 0;
    mask-position: 0 0;
    -webkit-mask-size: contain;
    mask-size: contain
}

.pointer .pointer__cursor.is-mouseon_close .close_txt {
    transform: translate(-50%, 0);
    display: block;
    position: absolute;
    left: 50%;
    bottom: -19px;
    white-space: nowrap
}

.pointer .pointer__cursor.is-mouseon_viewroom {
    top: -40px;
    left: -40px;
    width: 80px;
    height: 80px;
    background: #111 !important;
    opacity: 1 !important;
    color: #fff;
    font-family: "Be Vietnam Pro","IBM Plex Sans JP",sans-serif;
    font-size: 12px;
    line-height: 1;
    text-align: center
}

.pointer .pointer__cursor.is-mouseon_viewroom .txt {
    transform: translate(-50%, -50%);
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    white-space: nowrap
}

.pointer .pointer__cursor.is-mouseon_nextback {
    top: -30px;
    left: -30px;
    width: 60px;
    height: 60px;
    background: #111 !important;
    opacity: 1 !important;
    color: #fff;
    font-family: "Be Vietnam Pro","IBM Plex Sans JP",sans-serif;
    font-size: 12px;
    line-height: 1;
    text-align: center
}

.pointer .pointer__cursor.is-mouseon_nextback .txt {
    transform: translate(-50%, -50%);
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    white-space: nowrap
}

.pointer .pointer__cursor.is-mouseon_scroll {
    top: -60px;
    left: -60px;
    width: 120px;
    height: 120px;
    background: #111 !important;
    opacity: 1 !important;
    color: #fff;
    font-family: "Be Vietnam Pro","IBM Plex Sans JP",sans-serif;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    box-shadow: 0 -0.9rem 1.2rem rgba(0,0,0,.05);
    opacity: 1
}

.pointer .pointer__cursor.is-mouseon_scroll .txt {
    transform: translate(-50%, -50%);
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    white-space: nowrap;
    margin-top: -5px
}

.pointer .pointer__cursor.is-mouseon_scroll .icon {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    position: absolute;
    margin-top: 15px
}

.pointer .pointer__cursor.is-mouseon_scroll .icon svg {
    fill: #fff;
    width: 13px;
    height: 10px;
    transform: rotate(90deg)
}

.pointer .pointer__cursor.is-mouseon_white {
    top: -35px;
    left: -35px;
    width: 70px;
    height: 70px;
    background: #fff !important;
    opacity: 1 !important;
    color: #111;
    font-family: "Be Vietnam Pro","IBM Plex Sans JP",sans-serif;
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    text-align: center
}

.pointer .pointer__cursor.is-mouseon_white .txt {
    transform: translate(-50%, -50%);
    display: block;
    position: absolute;
    top: 50%;
    left: 50%
}

.pointer .pointer__cursor.is-mouseon_circle {
    top: -25px;
    left: -25px;
    width: 50px;
    height: 50px;
    background: #111 !important;
    opacity: 1 !important;
    color: #fff;
    font-family: "Be Vietnam Pro","IBM Plex Sans JP",sans-serif;
    font-size: 12px;
    line-height: 1;
    text-align: center
}

.pointer .pointer__cursor.is-mouseon_circle .txt {
    transform: translate(-50%, -50%);
    display: block;
    position: absolute;
    top: 50%;
    left: 50%
}

.pointer .pointer__cursor.is-hidden {
    top: 0;
    left: 0;
    width: 0;
    height: 0
}

.pointer .pointer__cursor.is-mousedown {
    top: -30px;
    left: -30px;
    width: 60px;
    height: 60px
}

html.isMS .pointer .pointer__cursor {
    background: #000;
    opacity: .25
}

.pointer.no-blend {
    mix-blend-mode: normal
}

html:not(.notouch) .pointer {
    display: none
}

.pointer__lorder {
    transition: transform .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
    transform: scale(0);
    position: absolute;
    top: -11px;
    left: -11px;
    width: 22px;
    height: 22px;
    pointer-events: none
}

.pointer__lorder .loaders {
    overflow: hidden;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 100;
    width: 22px;
    height: 22px
}

.pointer__lorder .loaders .bg,.pointer__lorder .loaders .circle {
    stroke-width: 1;
    fill: none
}

.pointer__lorder .loaders .bg {
    stroke: #f5f5f5
}

.pointer__lorder .loaders .circle {
    transform-origin: center;
    stroke: #111;
    stroke-dasharray: 70;
    stroke-dashoffset: 0
}

html.wf-loading .pointer .pointer__cursor {
    top: -15px;
    left: -15px;
    width: 30px;
    height: 30px;
    background: none;
    background: rgba(0,0,0,0)
}

html.wf-loading .pointer .pointer__lorder {
    transform: scale(1)
}

html.wf-loading .pointer .pointer__lorder .circle {
    -webkit-animation: loader-dash 1s ease-in-out infinite;
    animation: loader-dash 1s ease-in-out infinite
}

@media only screen and (max-width: 1023px) {
    .pointer {
        display:none
    }
}

@-webkit-keyframes mymove {
    0% {
        transform: rotate(0deg)
    }

    100% {
        transform: rotate(360deg)
    }
}

@keyframes mymove {
    0% {
        transform: rotate(0deg)
    }

    100% {
        transform: rotate(360deg)
    }
}

@-webkit-keyframes loader-dash {
    0% {
        stroke-dashoffset: 70
    }

    50% {
        stroke-dashoffset: 17.5;
        transform: rotate(135deg)
    }

    100% {
        stroke-dashoffset: 70;
        transform: rotate(450deg)
    }
}

@keyframes loader-dash {
    0% {
        stroke-dashoffset: 70
    }

    50% {
        stroke-dashoffset: 17.5;
        transform: rotate(135deg)
    }

    100% {
        stroke-dashoffset: 70;
        transform: rotate(450deg)
    }
}

.ps {
    overflow: hidden !important;
    overflow-anchor: none;
    -ms-overflow-style: none;
    touch-action: auto;
    -ms-touch-action: auto
}

.ps__rail-x {
    display: block;
    transition: background-color .2s linear,opacity .2s linear;
    -webkit-transition: background-color .2s linear,opacity .2s linear;
    height: 1px;
    bottom: 0px !important;
    position: absolute
}

.ps__rail-y {
    display: block;
    transition: background-color .2s linear,opacity .2s linear;
    -webkit-transition: background-color .2s linear,opacity .2s linear;
    width: 1px;
    right: 0;
    height: 100%;
    position: absolute
}

.ps--active-x>.ps__rail-x,.ps--active-y>.ps__rail-y {
    display: block
}

.ps:hover>.ps__rail-x,.ps:hover>.ps__rail-y,.ps--focus>.ps__rail-x,.ps--focus>.ps__rail-y,.ps--scrolling-x>.ps__rail-x,.ps--scrolling-y>.ps__rail-y {
    opacity: 1
}

.ps__thumb-x {
    background-color: #111;
    border-radius: 0;
    transition: background-color .2s linear,height .2s ease-in-out;
    -webkit-transition: background-color .2s linear,height .2s ease-in-out;
    height: 1px;
    bottom: 2px;
    position: absolute
}

.ps__thumb-y {
    background-color: #111;
    border-radius: 0;
    transition: background-color .2s linear,width .2s ease-in-out;
    width: 1px;
    right: 0;
    position: absolute
}

@supports(-ms-overflow-style: none) {
    .ps {
        overflow:auto !important
    }
}

@media screen and (-ms-high-contrast: active),(-ms-high-contrast: none) {
    .ps {
        overflow: auto !important
    }
}

/*!
	Modaal - accessible modals - v0.4.4
	by Humaan, for all humans.
	http://humaan.com
 */
.modaal-noscroll {
    overflow: hidden
}

.modaal-accessible-hide {
    position: absolute !important;
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden
}

.modaal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999;
    opacity: 0
}

.modaal-wrapper {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    overflow: auto;
    opacity: 1;
    box-sizing: border-box;
    -webkit-overflow-scrolling: touch;
    transition: all 0.3s ease-in-out
}

.modaal-wrapper * {
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-backface-visibility: hidden
}

.modaal-wrapper .modaal-close {
    border: none;
    background: rgba(0,0,0,0);
    padding: 0;
    -webkit-appearance: none
}

.modaal-wrapper.modaal-start_none {
    display: none;
    opacity: 1
}

.modaal-wrapper.modaal-start_fade {
    opacity: 0
}

.modaal-wrapper *[tabindex="0"] {
    outline: none !important
}

.modaal-wrapper.modaal-fullscreen {
    overflow: hidden
}

.modaal-outer-wrapper {
    display: table;
    position: relative;
    width: 100%;
    height: 100%
}

.modaal-fullscreen .modaal-outer-wrapper {
    display: block
}

.modaal-inner-wrapper {
    width: 100%;
    height: 100%;
    position: relative;
    vertical-align: middle;
    text-align: center
}

.modaal-fullscreen .modaal-inner-wrapper {
    padding: 0;
    display: block;
    vertical-align: top
}

.modaal-container {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: auto;
    text-align: left;
    color: #000;
    max-width: 80rem;
    border-radius: 0px;
    background: rgba(0,0,0,0);
    cursor: auto
}

.modaal-container.is_loading {
    height: 100px;
    width: 100px;
    overflow: hidden
}

.modaal-fullscreen .modaal-container {
    max-width: none;
    height: 100%;
    overflow: auto
}

.modaal-close {
    position: fixed;
    right: 20px;
    top: 20px;
    color: #fff;
    cursor: pointer;
    opacity: 1;
    width: 50px;
    height: 50px;
    background: rgba(0,0,0,0);
    border-radius: 100%;
    transition: all 0.2s ease-in-out;
    display: none
}

.modaal-close:focus,.modaal-close:hover {
    outline: none;
    background: #fff
}

.modaal-close:focus:before,.modaal-close:focus:after,.modaal-close:hover:before,.modaal-close:hover:after {
    background: #b93d0c
}

.modaal-close span {
    position: absolute !important;
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden
}

.modaal-close:before,.modaal-close:after {
    display: block;
    content: " ";
    position: absolute;
    top: 14px;
    left: 23px;
    width: 4px;
    height: 22px;
    border-radius: 4px;
    background: #fff;
    transition: background 0.2s ease-in-out
}

.modaal-close:before {
    transform: rotate(-45deg)
}

.modaal-close:after {
    transform: rotate(45deg)
}

.modaal-fullscreen .modaal-close {
    background: #afb7bc;
    right: 10px;
    top: 10px
}

.modaal-content {
    height: 100%
}

.modaal-content-container {
    height: 100%
}

.modaal-confirm-wrap {
    padding: 30px 0 0;
    text-align: center;
    font-size: 0
}

.modaal-confirm-btn {
    font-size: 14px;
    display: inline-block;
    margin: 0 10px;
    vertical-align: middle;
    cursor: pointer;
    border: none;
    background: rgba(0,0,0,0)
}

.modaal-confirm-btn.modaal-ok {
    padding: 10px 15px;
    color: #fff;
    background: #555;
    border-radius: 3px;
    transition: background 0.2s ease-in-out
}

.modaal-confirm-btn.modaal-ok:hover {
    background: #2f2f2f
}

.modaal-confirm-btn.modaal-cancel {
    text-decoration: underline
}

.modaal-confirm-btn.modaal-cancel:hover {
    text-decoration: none;
    color: #2f2f2f
}

@keyframes instaReveal {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

@-webkit-keyframes instaReveal {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

.modaal-instagram .modaal-container {
    width: auto;
    background: rgba(0,0,0,0);
    box-shadow: none !important
}

.modaal-instagram .modaal-content-container {
    padding: 0;
    background: rgba(0,0,0,0)
}

.modaal-instagram .modaal-content-container>blockquote {
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important
}

.modaal-instagram iframe {
    opacity: 0;
    margin: -6px !important;
    border-radius: 0 !important;
    width: 1000px !important;
    max-width: 800px !important;
    box-shadow: none !important;
    -webkit-animation: instaReveal 1s linear forwards;
    animation: instaReveal 1s linear forwards
}

.modaal-image .modaal-inner-wrapper {
    padding-left: 140px;
    padding-right: 140px
}

.modaal-gallery-wrap {
    position: relative;
    color: #fff
}

.modaal-gallery-item {
    display: none
}

.modaal-gallery-item img {
    display: block;
    width: 100%
}

.modaal-gallery-item.is_active {
    display: block
}

.modaal-gallery-label {
    position: absolute;
    left: 0;
    width: 100%;
    margin: 20px 0 0;
    font-size: 18px;
    text-align: center;
    color: #fff
}

.modaal-gallery-label:focus {
    outline: none
}

.modaal-gallery-control {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    opacity: 1;
    cursor: pointer;
    color: #fff;
    width: 50px;
    height: 50px;
    background: rgba(0,0,0,0);
    border: none;
    border-radius: 100%;
    transition: all 0.2s ease-in-out
}

.modaal-gallery-control.is_hidden {
    opacity: 0;
    cursor: default
}

.modaal-gallery-control:focus,.modaal-gallery-control:hover {
    outline: none;
    background: #fff
}

.modaal-gallery-control:focus:before,.modaal-gallery-control:focus:after,.modaal-gallery-control:hover:before,.modaal-gallery-control:hover:after {
    background: #afb7bc
}

.modaal-gallery-control span {
    position: absolute !important;
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden
}

.modaal-gallery-control:before,.modaal-gallery-control:after {
    display: block;
    content: " ";
    position: absolute;
    top: 16px;
    left: 25px;
    width: 4px;
    height: 18px;
    border-radius: 4px;
    background: #fff;
    transition: background 0.2s ease-in-out
}

.modaal-gallery-control:before {
    margin: -5px 0 0;
    transform: rotate(-45deg)
}

.modaal-gallery-control:after {
    margin: 5px 0 0;
    transform: rotate(45deg)
}

.modaal-gallery-next-inner {
    left: 100%;
    margin-left: 40px
}

.modaal-gallery-next-outer {
    right: 45px
}

.modaal-gallery-prev:before,.modaal-gallery-prev:after {
    left: 22px
}

.modaal-gallery-prev:before {
    margin: 5px 0 0;
    transform: rotate(-45deg)
}

.modaal-gallery-prev:after {
    margin: -5px 0 0;
    transform: rotate(45deg)
}

.modaal-gallery-prev-inner {
    right: 100%;
    margin-right: 40px
}

.modaal-gallery-prev-outer {
    left: 45px
}

.modaal-video-wrap {
    margin: auto 50px;
    position: relative
}

.modaal-video-container {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%;
    box-shadow: 0 0 10px rgba(0,0,0,.3);
    background: #000;
    max-width: 1300px;
    margin-left: auto;
    margin-right: auto
}

.modaal-video-container iframe,.modaal-video-container object,.modaal-video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.modaal-iframe .modaal-content {
    width: 100%;
    height: 100%
}

.modaal-iframe-elem {
    width: 100%;
    height: 100%;
    display: block
}

@media only screen and (min-width: 1400px) {
    .modaal-video-container {
        padding-bottom:0;
        height: 731px
    }
}

@media only screen and (max-width: 1140px) {
    .modaal-image .modaal-inner-wrapper {
        padding-left:25px;
        padding-right: 25px
    }

    .modaal-gallery-control {
        top: auto;
        bottom: 20px;
        transform: none;
        background: rgba(0,0,0,.7)
    }

    .modaal-gallery-control:before,.modaal-gallery-control:after {
        background: #fff
    }

    .modaal-gallery-next {
        left: auto;
        right: 20px
    }

    .modaal-gallery-prev {
        left: 20px;
        right: auto
    }
}

@media screen and (max-width: 900px) {
    .modaal-instagram iframe {
        width:500px !important
    }
}

@media screen and (max-height: 1100px) {
    .modaal-instagram iframe {
        width:700px !important
    }
}

@media screen and (max-height: 1000px) {
    .modaal-inner-wrapper {
        padding-top:9rem;
        padding-bottom: 5rem
    }

    .modaal-instagram iframe {
        width: 600px !important
    }
}

@media screen and (max-height: 900px) {
    .modaal-instagram iframe {
        width:500px !important
    }

    .modaal-video-container {
        max-width: 900px;
        max-height: 510px
    }
}

@media only screen and (max-width: 600px) {
    .modaal-instagram iframe {
        width:280px !important
    }
}

@media only screen and (max-height: 820px) {
    .modaal-gallery-label {
        display:none
    }
}

.modaal-loading-spinner {
    background: none;
    position: absolute;
    width: 200px;
    height: 200px;
    top: 50%;
    left: 50%;
    margin: -100px 0 0 -100px;
    transform: scale(0.25)
}

@-webkit-keyframes modaal-loading-spinner {
    0% {
        opacity: 1;
        transform: scale(1.5)
    }

    100% {
        opacity: .1;
        transform: scale(1)
    }
}

@keyframes modaal-loading-spinner {
    0% {
        opacity: 1;
        transform: scale(1.5)
    }

    100% {
        opacity: .1;
        transform: scale(1)
    }
}

.modaal-loading-spinner>div {
    width: 24px;
    height: 24px;
    margin-left: 4px;
    margin-top: 4px;
    position: absolute
}

.modaal-loading-spinner>div>div {
    width: 100%;
    height: 100%;
    border-radius: 15px;
    background: #fff
}

.modaal-loading-spinner>div:nth-of-type(1)>div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: 0s;
    animation-delay: 0s
}

.modaal-loading-spinner>div:nth-of-type(2)>div,.modaal-loading-spinner>div:nth-of-type(3)>div {
    -ms-animation: modaal-loading-spinner 1s linear infinite;
    -moz-animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    -o-animation: modaal-loading-spinner 1s linear infinite
}

.modaal-loading-spinner>div:nth-of-type(1) {
    transform: translate(84px, 84px) rotate(45deg) translate(70px, 0)
}

.modaal-loading-spinner>div:nth-of-type(2)>div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: .12s;
    animation-delay: .12s
}

.modaal-loading-spinner>div:nth-of-type(2) {
    transform: translate(84px, 84px) rotate(90deg) translate(70px, 0)
}

.modaal-loading-spinner>div:nth-of-type(3)>div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: .25s;
    animation-delay: .25s
}

.modaal-loading-spinner>div:nth-of-type(4)>div,.modaal-loading-spinner>div:nth-of-type(5)>div {
    -ms-animation: modaal-loading-spinner 1s linear infinite;
    -moz-animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    -o-animation: modaal-loading-spinner 1s linear infinite
}

.modaal-loading-spinner>div:nth-of-type(3) {
    transform: translate(84px, 84px) rotate(135deg) translate(70px, 0)
}

.modaal-loading-spinner>div:nth-of-type(4)>div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: .37s;
    animation-delay: .37s
}

.modaal-loading-spinner>div:nth-of-type(4) {
    transform: translate(84px, 84px) rotate(180deg) translate(70px, 0)
}

.modaal-loading-spinner>div:nth-of-type(5)>div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: .5s;
    animation-delay: .5s
}

.modaal-loading-spinner>div:nth-of-type(6)>div,.modaal-loading-spinner>div:nth-of-type(7)>div {
    -ms-animation: modaal-loading-spinner 1s linear infinite;
    -moz-animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    -o-animation: modaal-loading-spinner 1s linear infinite
}

.modaal-loading-spinner>div:nth-of-type(5) {
    transform: translate(84px, 84px) rotate(225deg) translate(70px, 0)
}

.modaal-loading-spinner>div:nth-of-type(6)>div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: .62s;
    animation-delay: .62s
}

.modaal-loading-spinner>div:nth-of-type(6) {
    transform: translate(84px, 84px) rotate(270deg) translate(70px, 0)
}

.modaal-loading-spinner>div:nth-of-type(7)>div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: .75s;
    animation-delay: .75s
}

.modaal-loading-spinner>div:nth-of-type(7) {
    transform: translate(84px, 84px) rotate(315deg) translate(70px, 0)
}

.modaal-loading-spinner>div:nth-of-type(8)>div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: .87s;
    animation-delay: .87s
}

.modaal-loading-spinner>div:nth-of-type(8) {
    transform: translate(84px, 84px) rotate(360deg) translate(70px, 0)
}

.pos_contets a {
    text-decoration: underline;
    color: #111
}

html.notouch .pos_contets a:hover {
    text-decoration: none
}

.pos_contets img {
    display: block;
    margin-left: auto;
    margin-right: auto
}

.pos_contets img.border {
    box-sizing: border-box;
    border: 1px solid #ccc
}

.pos_contets p {
    font-weight: 400
}

@media(min-width: 1024px) {
    .pos_contets p {
        margin-top:4.8rem;
        font-size: 1.6rem
    }
}

@media(max-width: 1023px) {
    .pos_contets p {
        margin-top:4.8rem;
        font-size: 1.4rem
    }
}

.pos_contets *:first-child,.pos_contets h1+*,.pos_contets h2+*,.pos_contets h3+*,.pos_contets h4+*,.pos_contets h5+*,.pos_contets h6+* .wp-block-image+* {
    margin-top: 0 !important
}

.pos_contets h2 {
    font-weight: 700;
    line-height: 1.3;
    padding: 1.5rem 2rem 1rem 2rem;
    background: #f3f3f3;
    border-radius: .5rem;
    position: relative
}

.pos_contets h2:before {
    position: absolute;
    top: 1.7rem;
    content: "";
    display: block;
    height: calc(100% - 3.4rem);
    left: 0;
    width: .3rem;
    background: #df0018
}

@media(min-width: 1024px) {
    .pos_contets h2 {
        font-size:2.4rem;
        margin-top: 8rem;
        margin-bottom: 4.2rem
    }
}

@media(max-width: 1023px) {
    .pos_contets h2 {
        font-size:1.8rem;
        margin-top: 5.8rem;
        margin-bottom: 3.2rem
    }
}

.pos_contets h3 {
    font-weight: 700;
    line-height: 1.4;
    padding-bottom: 1rem;
    border-bottom: 1px solid #ccc
}

@media(min-width: 1024px) {
    .pos_contets h3 {
        font-size:1.8rem;
        margin-top: 3.2rem;
        margin-bottom: 3.4rem
    }
}

@media(max-width: 1023px) {
    .pos_contets h3 {
        font-size:1.6rem;
        margin-top: 3.2rem;
        margin-bottom: 2.4rem
    }
}

.pos_contets ul {
    margin-top: 3.2rem
}

.pos_contets ul li {
    font-weight: 400;
    position: relative;
    padding-left: 1.6rem
}

.pos_contets ul li:before {
    position: absolute;
    left: 0;
    top: calc((1lh - .9rem)/2);
    width: .6rem;
    height: .6rem;
    background: #df0018;
    content: "";
    border-radius: 50%
}

.pos_contets ul li+li {
    margin-top: .2rem
}

@media(min-width: 1024px) {
    .pos_contets ul li {
        font-size:1.6rem
    }
}

.pos_contets ol {
    margin-top: 3.2rem
}

.pos_contets ol li {
    font-weight: 400;
    counter-increment: number;
    padding-left: 2rem;
    position: relative
}

.pos_contets ol li:before {
    position: absolute;
    top: 0;
    left: 0;
    content: counter(number) ". "
}

.pos_contets ol li+li {
    margin-top: .8rem
}

@media(min-width: 1024px) {
    .pos_contets ol li {
        font-size:1.6rem
    }
}

.pos_contets blockquote {
    margin-top: 3.2rem;
    background: rgba(51,51,51,.05)
}

.pos_contets blockquote cite {
    padding-top: 1rem;
    display: block;
    color: #999;
    font-style: inherit
}

.pos_contets blockquote cite a {
    color: #999
}

@media(min-width: 1024px) {
    .pos_contets blockquote {
        padding:4rem
    }
}

@media(max-width: 1023px) {
    .pos_contets blockquote {
        padding:2rem
    }
}

.pos_contets .wp-block-table {
    margin-top: 4rem
}

.pos_contets .wp-block-table table {
    box-sizing: border-box;
    border-collapse: collapse;
    width: 100%;
    border: 1px solid #ebebeb
}

.pos_contets .wp-block-table table th,.pos_contets .wp-block-table table td {
    border-collapse: collapse;
    padding: 1.5rem;
    box-sizing: border-box;
    border: 1px solid #ebebeb;
    font-family: "IBM Plex Sans JP",sans-serif;
    font-size: 1.4rem
}

.pos_contets .wp-block-table table th {
    width: 25.555%;
    background: #f5f5f5
}

.pos_contets .wp-block-table table tr td:first-child {
    width: 25.555%
}

.wp-block-embed {
    overflow: hidden;
    border-radius: .5rem
}

.wp-block-embed.is-type-wp-embed {
    margin-top: 4.8rem
}

.wp-block-embed.is-type-video {
    margin-top: 4.8rem
}

.wp-block-embed.is-type-video .wp-block-embed__wrapper {
    position: relative;
    aspect-ratio: 16/9
}

.wp-block-embed.is-type-video .wp-block-embed__wrapper iframe {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.pos_slide {
    margin-top: 4.8rem;
    position: relative
}

@media(min-width: 1024px) {
    .pos_slide:before {
        content:"";
        position: absolute;
        z-index: 10;
        height: 100%;
        top: 0;
        width: 50vw;
        background: #fff;
        left: -50vw
    }
}

.pos_slide .swiper-slide {
    position: relative;
    aspect-ratio: 9/16;
    overflow: hidden;
    border-radius: .5rem
}

.pos_slide .swiper-slide iframe {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.pos_slide_slideNext,.pos_slide_slidePrev {
    --navwidth: calc((100vw - 87rem) / 2);
    position: absolute;
    z-index: 10;
    display: block;
    top: 0;
    height: 100%;
    width: var(--navwidth);
    cursor: pointer;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99) 0s;
    transition-property: opacity
}

.pos_slide_slideNext.swiper-button-disabled,.pos_slide_slidePrev.swiper-button-disabled {
    pointer-events: none
}

@media(max-width: 1023px) {
    .pos_slide_slideNext.swiper-button-disabled,.pos_slide_slidePrev.swiper-button-disabled {
        opacity:0
    }

    .pos_slide_slideNext:before,.pos_slide_slideNext:after,.pos_slide_slidePrev:before,.pos_slide_slidePrev:after {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        display: block
    }

    .pos_slide_slideNext:before,.pos_slide_slidePrev:before {
        width: 6rem;
        height: 6rem;
        border-radius: 50%;
        background: #111
    }

    .pos_slide_slideNext:after,.pos_slide_slidePrev:after {
        color: #fff;
        font-weight: 400;
        font-family: "Be Vietnam Pro","IBM Plex Sans JP",sans-serif;
        font-size: 12px;
        line-height: 1;
        text-align: center
    }
}

@media(min-width: 1024px) {
    .pos_slide_slideNext {
        right:calc(-1*var(--navwidth));
        background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #FFF 91.5%)
    }
}

@media(max-width: 1023px) {
    .pos_slide_slideNext {
        right:-2rem;
        width: 7rem
    }

    .pos_slide_slideNext:after {
        content: "Next"
    }
}

@media(min-width: 1024px) {
    .pos_slide_slidePrev {
        left:0;
        width: 9rem
    }
}

@media(max-width: 1023px) {
    .pos_slide_slidePrev {
        left:-2rem;
        width: 7rem
    }

    .pos_slide_slidePrev:after {
        content: "Prev"
    }
}

.wp-block-twocol {
    margin-top: 6rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap
}

.wp-block-twocol .wp-block-col {
    box-sizing: border-box;
    width: 47.8%
}

@media only screen and (max-width: 1023px) {
    .wp-block-twocol {
        margin-top:4rem;
        display: block
    }

    .wp-block-twocol.spReverse {
        display: flex;
        flex-flow: column-reverse wrap-reverse
    }

    .wp-block-twocol.spReverse .wp-block-col {
        width: 100%;
        margin-bottom: 2rem
    }

    .wp-block-twocol.spReverse .wp-block-col+.wp-block-col {
        margin-top: 0
    }

    .wp-block-twocol .wp-block-col {
        width: 100%
    }

    .wp-block-twocol .wp-block-col+.wp-block-col {
        margin-top: 2rem
    }
}

.wp-block-image {
    margin-top: 5rem
}

.wp-block-image figcaption {
    display: block;
    margin-top: 1rem;
    line-height: 1.6;
    color: #999da3;
    font-size: 1.2rem;
    text-align: left
}

.wp-block-image figcaption a {
    text-decoration: none;
    color: #999da3
}

@media only screen and (max-width: 1023px) {
    .wp-block-image {
        margin-top:4rem
    }
}

.wp-block-columns {
    margin-top: 6rem;
    display: flex;
    justify-content: space-between
}

.wp-block-columns.is-layout-flex {
    gap: 2.5em
}

.wp-block-columns .wp-block-column {
    flex-basis: 0;
    flex-grow: 1;
    width: 46%
}

.wp-block-buttons {
    margin-top: 4rem
}

.wp-block-buttons .wp-block-button {
    margin-right: 1rem
}

.wp-block-buttons .wp-block-button .wp-block-button__link {
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99) 0s;
    transition-property: background,color,border;
    display: inline-block;
    position: relative;
    font-size: 1.3rem;
    font-weight: 600;
    line-height: 1.43;
    text-decoration: none;
    border: none;
    box-shadow: none;
    cursor: pointer;
    outline: none;
    font-family: "IBM Plex Sans JP",sans-serif;
    padding: 1rem 1rem 1rem 3rem;
    border: 1px solid #ccc;
    background: #fff
}

.wp-block-buttons .wp-block-button .wp-block-button__link::before {
    content: "";
    position: absolute;
    top: calc(50% - 1px);
    width: 1.5rem;
    height: 1px;
    background: #111;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99) 0s;
    transition-property: background
}

.wp-block-buttons .wp-block-button .wp-block-button__link::before {
    left: 0
}

html.notouch .wp-block-buttons .wp-block-button .wp-block-button__link:hover {
    background: #3b3e3b;
    color: #fff;
    border-color: rgba(0,0,0,0)
}

html.notouch .wp-block-buttons .wp-block-button .wp-block-button__link:hover::before {
    background: #fff
}

.wp-block-imgcol {
    display: flex;
    justify-content: space-between;
    margin-top: 5rem
}

.wp-block-imgcol-image {
    width: 40%
}

.wp-block-imgcol-text {
    width: 55.5555%;
    text-align: justify;
    line-height: 1.8;
    font-size: 1.6rem
}

.wp-block-imgcol.is-style-image-reverse,.wp-block-imgcol.is-style-image-small-reverse {
    flex-direction: row-reverse
}

.wp-block-imgcol.is-style-image-small .wp-block-imgcol-image,.wp-block-imgcol.is-style-image-small-reverse .wp-block-imgcol-image {
    width: 26.6666%
}

.wp-block-imgcol.is-style-image-small .wp-block-imgcol-image img,.wp-block-imgcol.is-style-image-small-reverse .wp-block-imgcol-image img {
    width: 100%
}

.wp-block-imgcol.is-style-image-small .wp-block-imgcol-text,.wp-block-imgcol.is-style-image-small-reverse .wp-block-imgcol-text {
    width: 68.8888%
}

@media only screen and (max-width: 1023px) {
    .wp-block-imgcol {
        display:block;
        margin-bottom: -3.5rem;
        overflow: hidden
    }

    .wp-block-imgcol-image {
        width: auto;
        margin-bottom: 3.5rem
    }

    .wp-block-imgcol-text {
        width: auto;
        margin-bottom: 3.5rem;
        font-size: 1.4rem
    }

    .wp-block-imgcol.is-style-image-small .wp-block-imgcol-image,.wp-block-imgcol.is-style-image-small-reverse .wp-block-imgcol-image {
        width: auto
    }

    .wp-block-imgcol.is-style-image-small .wp-block-imgcol-text,.wp-block-imgcol.is-style-image-small-reverse .wp-block-imgcol-text {
        width: auto
    }
}

.wp-block-group {
    margin-top: 4rem;
    padding: 4rem;
    border-radius: 1.5rem;
    background: #e6f1ff
}

@media only screen and (max-width: 1023px) {
    .wp-block-group {
        margin-top:4rem;
        padding: 2rem;
        border-radius: 1rem
    }
}

.has-text-align-center {
    text-align: center
}

.has-text-align-right {
    text-align: right
}

.has-text-align-left {
    text-align: left
}

.has-white-color {
    color: #fff
}

.has-white-background-color {
    background: #fff
}

.has-black-color {
    color: #000
}

.has-black-background-color {
    background: #000
}

.has-red-color {
    color: #999
}

.has-red-background-color {
    background: #999
}

p.has-background {
    padding: 2rem 3rem
}

.has-small-font-size {
    font-size: 1.1rem
}

.has-medium-font-size {
    font-size: 1.6rem
}

.has-large-font-size {
    font-size: 2rem
}

body.top .header_logo,body.top .header_nav_bodyItem,body.top .header_nav_cv,body.top .header_menu,body.top .top_fv_copyMovie,body.top .js_contact_btnInner {
    opacity: 0;
    visibility: hidden
}

html.is-loaded .header_logo,html.is-loaded .header_nav_bodyItem,html.is-loaded .header_nav_cv,html.is-loaded .header_menu,html.is-loaded .top_fv_copyMovie,html.is-loaded .js_contact_btnInner {
    opacity: 1;
    transition: all 1.2s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: opacity,visibility;
    visibility: visible
}

.p-top-loading {
    position: fixed;
    inset: 0;
    z-index: 1000;
    overflow: hidden;
    display: grid;
    place-items: center;
    transition: all 1.8s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: opacity,visibility
}

.p-top-loading:before {
    content: "";
    z-index: -1;
    inset: 0;
    width: 100%;
    height: 100vh;
    position: fixed;
    background: #000
}

.p-top-loading.is-hidden {
    visibility: hidden;
    opacity: 0
}

.top_section_ttl {
    font-weight: 700
}

@media(min-width: 1024px) {
    .top_section_ttl {
        font-size:4.2rem;
        line-height: 1.42
    }
}

@media(max-width: 1023px) {
    .top_section_ttl {
        font-size: 1.7rem;
        line-height: 1.5
    }
}

.top_fv {
    position: absolute;
    z-index: 10;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: opacity
}

.top_fv.is-hidden {
    opacity: 0
}

@media(min-width: 1024px) {
    .top_fv {
        pointer-events:none;
        height: 100vh
    }
}

@media(max-width: 1023px) {
    .top_fv {
        height:auto
    }
}

.top_fv_copyMain {
    margin: 0 auto
}

@media(min-width: 1024px) {
    .top_fv_copyMain {
        width:78rem
    }
}

@media(max-width: 1023px) {
    .top_fv_copyMain {
        width:32rem
    }
}

.top_fv_copyTxt {
    font-weight: 700;
    color: #fff;
    display: inline-block;
    text-align: left;
    transition-delay: .8s
}

@media(min-width: 1024px) {
    .top_fv_copyTxt {
        font-size:2.4rem;
        margin: 6rem auto 0;
        line-height: 1.5;
        display: table
    }
}

@media(max-width: 1023px) {
    .top_fv_copyTxt {
        font-size:1.6rem;
        margin: 3rem auto 0;
        line-height: 1.6
    }
}

.top_fv_copyMovieLink {
    text-decoration: none;
    color: #fff;
    text-align: center;
    display: block;
    margin-top: 60px
}

.top_fv_copyMovieLink .arw {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 8rem;
    height: 8rem;
    border: 1px solid rgba(255,255,255,.4);
    border-radius: 50%;
    box-sizing: border-box;
    margin: 0 auto;
    position: relative
}

.top_fv_copyMovieLink .arw:before {
    content: "";
    display: block;
    position: relative;
    right: -0.1rem;
    width: 1.6rem;
    height: 1.6rem;
    background: #fff;
    -webkit-mask-image: url(/assets/img/video.svg);
    mask-image: url(/assets/img/video.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: 0 0;
    mask-position: 0 0;
    -webkit-mask-size: contain;
    mask-size: contain
}

.top_fv_copyMovieLink .txt {
    margin-top: 8px;
    font-size: 12px
}

.top_fv_copyMovieLink .txt .t_en {
    font-weight: 500
}

.top_localnav {
    position: fixed;
    z-index: 101;
    width: 100%;
    opacity: 0;
    transition: all .9s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: width,opacity,transform,-webkit-clip-path;
    transition-property: clip-path,width,opacity,transform;
    transition-property: clip-path,width,opacity,transform,-webkit-clip-path
}

.top_localnav.is-active {
    transform: translateY(0);
    opacity: 1
}

@media(min-width: 1024px) {
    .top_localnav {
        bottom:3rem;
        transform: translateY(12rem)
    }
}

@media(max-width: 1023px) {
    .top_localnav {
        bottom:0;
        transform: translateY(8rem)
    }
}

.top_localnav_list {
    position: relative;
    z-index: 1;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    background: #efefef
}

@media(min-width: 1024px) {
    .top_localnav_list {
        width:64rem;
        height: 6.4rem;
        border-radius: 64rem;
        gap: 0 3rem;
        padding: .8rem
    }
}

@media(max-width: 1023px) {
    .top_localnav_list {
        width:100%;
        gap: 0 .8rem;
        justify-content: space-evenly;
        padding: 1.2rem 1rem calc(1.2rem + env(safe-area-inset-bottom))
    }
}

.top_localnav_item {
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center
}

@media(min-width: 1024px) {
    .top_localnav_item {
        width:19.4rem
    }

    .top_localnav_item a {
        width: 100%;
        height: 4.8rem;
        display: flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        border-radius: 64rem;
        overflow: hidden;
        box-sizing: border-box;
        transition: all .4s cubic-bezier(0.55, 0.05, 0.22, 0.99) 0s;
        transition-property: color,background,opacity;
        position: relative;
        transform: translate3d(0, 0, 0)
    }

    .top_localnav_item a:before {
        content: "";
        position: absolute;
        right: 0;
        width: 100%;
        height: 100%;
        transition: all .4s cubic-bezier(0.55, 0.05, 0.22, 0.99) 0s;
        transition-property: width,background
    }

    .top_localnav_item a.is-active {
        color: #fff
    }

    .top_localnav_item a.is-active:before {
        background: #333
    }

    html.notouch .top_localnav_item a:hover p {
        opacity: .5
    }

    .top_localnav_item a p {
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: opacity;
        position: relative;
        z-index: 1
    }
}

@media(max-width: 1023px) {
    .top_localnav_item {
        width:auto
    }

    .top_localnav_item a {
        padding: 0 1rem;
        height: 2.4rem;
        display: flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        border-radius: 64rem;
        overflow: hidden;
        box-sizing: border-box;
        transition: all .4s cubic-bezier(0.55, 0.05, 0.22, 0.99) 0s;
        transition-property: color,background,opacity;
        position: relative;
        transform: translate3d(0, 0, 0)
    }

    .top_localnav_item a:before {
        content: "";
        position: absolute;
        right: 0;
        width: 100%;
        height: 100%;
        transition: all .4s cubic-bezier(0.55, 0.05, 0.22, 0.99) 0s;
        transition-property: width,background
    }

    .top_localnav_item a.is-active {
        color: #fff
    }

    .top_localnav_item a.is-active:before {
        background: #333
    }

    .top_localnav_item a p {
        font-size: 1.1rem;
        position: relative;
        z-index: 1
    }
}

.top_highend {
    background: #fff
}

.top_highend_main {
    display: grid;
    grid-template-columns: auto;
    grid-template-rows: auto;
    align-items: start
}

.top_highend_intro {
    position: sticky;
    top: 0;
    z-index: 2;
    grid-column: 1/-1;
    grid-row: 1/-1;
    width: 100%
}

.top_highend_introTtl {
    position: relative;
    text-align: center
}

@media(min-width: 1024px) {
    .top_highend_introTtl {
        padding-top:10rem
    }
}

@media(max-width: 1023px) {
    .top_highend_introTtl {
        padding-top:7rem;
        letter-spacing: 0
    }
}

.top_highend_introVideo {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    height: 100svh;
    opacity: 1;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden
}

.top_highend_introVideo video {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute
}

.top_highend_introModal {
    position: absolute;
    z-index: 1;
    inset: 0
}

.top_highend_introImg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0
}

.top_highend_introImg li {
    --width: 45rem;
    width: var(--width);
    position: absolute;
    transition: all .9s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: transform;
    top: 0%;
    left: 50%;
    transform: translate(-50%, 29.5rem)
}

.top_highend.is-active .top_highend_introImg li:nth-child(1) {
    transform: translate(-70rem, 29.5rem)
}

.top_highend.is-active .top_highend_introImg li:nth-child(2) {
    transform: translate(25rem, 29.5rem)
}

.top_highend_introImg li video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media(min-width: 1024px) {
    .top_highend_introImg li {
        aspect-ratio:450/254;
        --width: 45rem
    }
}

@media(max-width: 1023px) {
    .top_highend_introImg li {
        --width: 13rem;
        aspect-ratio: 130/219;
        transform: translate(-50%, calc(50% + 8rem))
    }

    .top_highend.is-active .top_highend_introImg li:nth-child(1) {
        transform: translate(-20rem, calc(50% + 8rem))
    }

    .top_highend.is-active .top_highend_introImg li:nth-child(2) {
        transform: translate(7rem, calc(50% + 8rem))
    }
}

.top_highend_stickyBody {
    position: relative;
    z-index: 0;
    grid-column: 1/-1;
    grid-row: 1/-1
}

@media(min-width: 1024px) {
    .top_highend_stickyBody {
        height:250rem
    }
}

@media(max-width: 1023px) {
    .top_highend_stickyBody {
        height:200rem
    }
}

@media(min-width: 1024px) {
    .top_highend_content {
        padding-top:49rem;
        padding-bottom: 16rem
    }
}

@media(max-width: 1023px) {
    .top_highend_content {
        padding-top:35rem;
        padding-bottom: 8rem
    }
}

.top_highend_contentTxt {
    text-align: center
}

@media(min-width: 1024px) {
    .top_highend_contentTxt {
        font-size:1.8rem;
        line-height: 2
    }
}

@media(max-width: 1023px) {
    .top_highend_contentTxt {
        font-size: 1rem;
        line-height: 1.85
    }
}

.top_highend_contentProduced {
    margin: 4.8rem auto 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 1.6rem
}

@media(min-width: 1024px) {
    .top_highend_contentProduced {
        margin:4.8rem auto 0
    }
}

@media(max-width: 1023px) {
    .top_highend_contentProduced {
        margin:3.2rem auto 0
    }
}

@media(max-width: 1023px) {
    .top_highend_contentProducedTxt {
        font-size:1.2rem
    }
}

@media(max-width: 1023px) {
    .top_highend_contentProducedLogo {
        width: 9.4rem;
    }
}

.top_highend_btn {
    position: relative;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.25) 1px, transparent 1px, transparent 2px);
    background-repeat: repeat-x;
    background-position: left top;
    background-size: 3px 1px
}

@media(min-width: 1024px) {
    .top_highend_btn {
        margin:4.8rem auto 0;
        width: 30rem
    }
}

@media(max-width: 1023px) {
    .top_highend_btn {
        margin:3.2rem auto 0;
        width: 27rem
    }
}

.top_global {
    background: #000;
    color: #fff;
    overflow: clip
}

.top_global_inner {
    display: grid;
    grid-template-columns: auto;
    grid-template-rows: auto;
    align-items: start
}

.top_global_bg {
    position: sticky;
    top: 0;
    z-index: 2;
    grid-column: 1/-1;
    grid-row: 1/-1;
    width: 100%;
    height: 100vh
}

.top_global_bgVideo {
    position: absolute;
    z-index: 1;
    aspect-ratio: 1920/1080;
    opacity: .5
}

.top_global_bgVideo video {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute
}

@media(min-width: 1024px) {
    .top_global_bgVideo {
        top: 0rem;
        /* left: calc(50% - 34rem); */
        width: 116.5rem
    }
}

@media(max-width: 1023px) {
    .top_global_bgVideo {
        top: 0rem;
        left: calc(50% - 28.9rem);
        width: 57.8rem
    }
}

.top_global_content {
    position: relative;
    z-index: 2;
    grid-column: 1/-1;
    grid-row: 1/-1
}

@media(min-width: 1024px) {
    .top_global_content {
        padding:16rem 2rem
    }
}

@media(max-width: 1023px) {
    .top_global_content {
        padding:8rem 2rem
    }
}

@media(max-width: 1023px) {
    .top_global_ttl {
        text-align:center
    }
}

@media(min-width: 1024px) {
    .top_global_lead {
        margin-top:4.8rem;
        font-size: 1.8rem
    }
}

@media(max-width: 1023px) {
    .top_global_lead {
        text-align:center;
        margin-top: 3.2rem;
        font-size: 1.4rem
    }
}

@media(min-width: 1024px) {
    .top_global_platform {
        margin-top:8rem
    }
}

@media(max-width: 1023px) {
    .top_global_platform {
        margin-top:4.8rem
    }
}

.top_global_platformTtl {
    font-weight: 700
}

@media(min-width: 1024px) {
    .top_global_platformTtl {
        font-size:1.6rem
    }
}

@media(max-width: 1023px) {
    .top_global_platformTtl {
        font-size:1.4rem
    }
}

.top_global_platformList {
    margin-top: 1.6rem
}

@media(min-width: 1024px) {
    .top_global_platformList {
        display:grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem
    }
}

.top_global_platformItem {
    background: #fff;
    border-radius: .8rem;
    overflow: hidden;
    height: 5.6rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    box-sizing: border-box;
    color: #111
}

@media(min-width: 1024px) {
    .top_global_platformItem {
        padding:0 3rem
    }
}

@media(max-width: 1023px) {
    .top_global_platformItem {
        width:100%;
        padding: 0 1.5rem
    }

    .top_global_platformItem+.top_global_platformItem {
        margin-top: 1rem
    }
}

.top_global_platformItemInner {
    display: flex;
    align-items: center;
    gap: .8rem
}

.top_global_platformTxt {
    text-align: right;
    letter-spacing: 0
}

@media(min-width: 1024px) {
    .top_global_platformTxt {
        font-size:1.6rem
    }
}

@media(max-width: 1023px) {
    .top_global_platformTxt {
        font-size:1.4rem
    }
}

.top_global_platformLogo {
    display: block
}

@media(min-width: 1024px) {
    .top_global_platformLogo.__youtube {
        width:12.4rem
    }

    .top_global_platformLogo.__insta {
        width: 15.4rem
    }

    .top_global_platformLogo.__tiktok {
        width: 11.9rem
    }

    .top_global_platformLogo.__douyin {
        width: 8.7rem
    }

    .top_global_platformLogo.__red {
        width: 3.6rem
    }

    .top_global_platformLogo.__bilibili {
        width: 7.8rem
    }
}

@media(max-width: 1023px) {
    .top_global_platformLogo.__youtube {
        width:11.4rem
    }

    .top_global_platformLogo.__insta {
        width: 13.4rem
    }

    .top_global_platformLogo.__tiktok {
        width: 11.2rem
    }

    .top_global_platformLogo.__douyin {
        width: 8.1rem
    }

    .top_global_platformLogo.__red {
        width: 3.2rem
    }

    .top_global_platformLogo.__bilibili {
        width: 5.5rem
    }
}

.top_global_platformLogoTxt .bold {
    font-weight: 700
}

@media(min-width: 1024px) {
    .top_global_platformLogoTxt {
        font-size:1.6rem
    }

    .top_global_platformLogoTxt.__red .bold {
        font-size: 2rem
    }
}

@media(max-width: 1023px) {
    .top_global_platformLogoTxt {
        font-size:1.5rem
    }

    .top_global_platformLogoTxt.__red .bold {
        font-size: 1.9rem
    }
}

.top_global_platformCap {
    margin-top: 1.6rem
}

@media(min-width: 1024px) {
    .top_global_platformCap {
        font-size:1.2rem
    }
}

@media(max-width: 1023px) {
    .top_global_platformCap {
        font-size:1.1rem
    }
}

.top_global_model {
    border-radius: .8rem;
    background: rgba(255,255,255,.1);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px)
}

@media(min-width: 1024px) {
    .top_global_model.__map {
        margin-top:4rem
    }
}

@media(max-width: 1023px) {
    .top_global_model.__map {
        margin-top:2rem
    }
}

.top_global_model.__map .top_global_modelImg {
    border-radius: .4rem;
    overflow: hidden
}

@media(min-width: 1024px) {
    .top_global_model {
        margin-top:8rem;
        padding: 5.4rem 6rem
    }
}

@media(max-width: 1023px) {
    .top_global_model {
        margin-top:6rem;
        padding: 3.2rem 2rem
    }
}

.top_global_modelTtl {
    font-weight: 700;
    line-height: 1.61;
    text-align: center;
}

@media(min-width: 1024px) {
    .top_global_modelTtl {
        font-size:2.6rem
    }
}

@media(max-width: 1023px) {
    .top_global_modelTtl {
        font-size:1.8rem
    }
}

.top_global_modelTxt {
    margin-top: 3.2rem
}

@media(min-width: 1024px) {
    .top_global_modelTxt {
        font-size:1.6rem
    }
}

@media(max-width: 1023px) {
    .top_global_modelTxt {
        font-size:1.3rem;
        text-align: center;
    }
}

@media(min-width: 1024px) {
    .top_global_modelImg {
        margin-top:4.8rem
    }
}

@media(max-width: 1023px) {
    .top_global_modelImg {
        margin-top:3.2rem
    }
}

.top_opt {
    background: #111;
    color: #fff
}

@media(min-width: 1024px) {
    .top_opt_inner {
        display:grid;
        grid-template-columns: auto;
        grid-template-rows: auto;
        align-items: start
    }
}

@media(max-width: 1023px) {
    .top_opt_inner ,
    .topKv__inner{
        padding:8rem 0
    }
}

@media(min-width: 1024px) {
    .top_opt_bg {
        position:relative;
        z-index: 2;
        grid-column: 1/-1;
        grid-row: 1/-1;
        height: 180rem
    }
}

@media(max-width: 1023px) {
    .top_opt_bg {
        margin-top:4.8rem;
        display: flex;
        justify-content: center;
        align-items: end;
        gap: 0 1.6rem
    }
}

.top_opt_bgVideo {
    overflow: hidden
}

.top_opt_bgVideo video {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute
}

@media(min-width: 1024px) {
    .top_opt_bgVideo {
        position:absolute;
        z-index: 1;
        border-radius: .8rem
    }

    .top_opt_bgVideo.__vertical {
        top: 49rem;
        left: calc(50% - 68rem);
        width: 32.4rem;
        aspect-ratio: 324/553
    }

    .top_opt_bgVideo.__landscape {
        top: 96rem;
        left: calc(50% + 26rem);
        width: 47.2rem;
        aspect-ratio: 472/332
    }
}

@media(max-width: 1023px) {
    .top_opt_bgVideo {
        position:relative;
        border-radius: .4rem
    }

    .top_opt_bgVideo.__vertical {
        width: 12.7rem;
        aspect-ratio: 127/216
    }

    .top_opt_bgVideo.__landscape {
        width: 20.7rem;
        aspect-ratio: 207/116
    }
}

.top_opt_bgVideoSub {
    position: absolute;
    z-index: 1
}

@media(min-width: 1024px) {
    .top_opt_bgVideoSub {
        left:1.6rem;
        bottom: 1.6rem
    }
}

@media(max-width: 1023px) {
    .top_opt_bgVideoSub {
        left:.6rem;
        bottom: .6rem
    }
}

.top_opt_bgVideoSubTtl {
    font-size: 1.8rem;
    letter-spacing: 0;
    position: relative;
    display: flex
}

.top_opt_bgVideoSubTtl .icon {
    position: relative;
    top: -0.2rem;
    margin-left: .8rem;
    display: block;
    width: 1.8rem;
    height: 1.8rem;
    background: #fff;
    -webkit-mask-image: url(../imgs/top/opt_video_icon.svg);
    mask-image: url(../imgs/top/opt_video_icon.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: 0 0;
    mask-position: 0 0;
    -webkit-mask-size: contain;
    mask-size: contain
}

@media(min-width: 1024px) {
    .top_opt_bgVideoSubTtl {
        font-size:1.8rem
    }
}

@media(max-width: 1023px) {
    .top_opt_bgVideoSubTtl {
        font-size:.66rem
    }

    .top_opt_bgVideoSubTtl .icon {
        top: -0.1rem;
        margin-left: .4rem;
        display: block;
        width: .7rem;
        height: .7rem
    }
}

.top_opt_bgVideoSubTxt {
    letter-spacing: 0;
    font-weight: 400
}

@media(min-width: 1024px) {
    .top_opt_bgVideoSubTxt {
        font-size:1.3rem;
        margin-top: .8rem
    }
}

@media(max-width: 1023px) {
    .top_opt_bgVideoSubTxt {
        font-size:.48rem;
        margin-top: .4rem
    }
}

@media(min-width: 1024px) {
    .top_opt_content {
        position:sticky;
        top: 0;
        z-index: 2;
        grid-column: 1/-1;
        grid-row: 1/-1;
        width: 100%;
        height: 100vh;
        display: flex;
        align-items: center
    }
}

@media(min-width: 1024px) {
    .top_opt_contentInner {
        width:47rem;
        margin: 0 auto;
        position: relative
    }
}

.top_opt_ttl {
    letter-spacing: 0
}

@media(max-width: 1023px) {
    .top_opt_ttl {
        text-align:center
    }
}

.top_opt_lead {
    letter-spacing: 0
}

@media(min-width: 1024px) {
    .top_opt_lead {
        text-align:justify;
        margin-top: 6rem;
        font-size: 1.8rem
    }
}

@media(max-width: 1023px) {
    .top_opt_lead {
        text-align:left;
        font-size: 1.4rem;
        margin: 3.2rem 2rem 0
    }
    .top_opt_lead.works_ex{
         margin: 2rem 0rem 4.8rem
    }
}

.top_case {
    background: #fff
}

@media(min-width: 1024px) {
    .top_case {
        padding:16rem 0
    }
}

@media(max-width: 1023px) {
    .top_case {
        padding:8rem 0
    }
}

@media(min-width: 1024px) {
    .top_case_head {
        display:grid;
        grid-template-columns: -webkit-max-content 1fr;
        grid-template-columns: max-content 1fr;
        -moz-column-gap: 3.2rem;
        column-gap: 3.2rem;
        margin-bottom: 8rem
    }
}

@media(max-width: 1023px) {
    .top_case_head {
        margin-bottom:3.2rem
    }
}

.top_case_headTtl {
    letter-spacing: 0
}

@media(min-width: 1024px) {
    .top_case_headEn {
        display:flex;
        justify-content: flex-end;
        align-items: flex-end;
        position: relative;
        color: #999;
        text-align: right;
        border-bottom: 1px solid #ccc;
        padding-bottom: 1.6rem
    }
}

@media(max-width: 1023px) {
    .top_case_headEn {
        display:none
    }
}

@media(min-width: 1024px) {
    .top_case_content {
        display:grid;
        grid-template-columns: auto;
        grid-template-rows: auto;
        align-items: start
    }
}

.top_case_slide {
    z-index: 0;
    grid-column: 1/-1;
    grid-row: 1/-1;
    overflow: inherit;
    margin: 0 auto;
    position: relative;
    opacity: 0;
    transform: scale(0.95);
    visibility: hidden;
    transition: all .9s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: opacity,visibility,transform
}

.top_case_slide.is-hidden {
    display: none
}

.top_case_slide.is-active {
    display: block;
    -webkit-animation-name: fadeIn;
    animation-name: fadeIn;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-animation-duration: 1s;
    animation-duration: 1s
}

.top_case_slide.__pc {
    width: var(--width)
}

.top_case_slide.__pc .top_case_slideItemVideo {
    aspect-ratio: 16/9
}

.top_case_slide.__sp {
    width: var(--width)
}

.top_case_slide.__sp .top_case_slideItemVideo {
    aspect-ratio: 9/16
}

.top_case_slide .top_case_blankUrl .l_arw {
    transform: rotate(-45deg)
}

@media(min-width: 1024px) {
    .top_case_slide.__pc {
        --width: 84rem
    }

    .top_case_slide.__sp {
        --width: 30rem
    }
}

@media(max-width: 1023px) {
    .top_case_slide.__pc {
        --width: 30rem
    }

    .top_case_slide.__sp {
        --width: 24rem
    }
}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0;
        transform: scale(0.9);
        visibility: hidden
    }

    100% {
        opacity: 1;
        transform: scale(1);
        visibility: visible
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0;
        transform: scale(0.9);
        visibility: hidden
    }

    100% {
        opacity: 1;
        transform: scale(1);
        visibility: visible
    }
}

.top_case_slideItem a {
    display: block;
    text-decoration: none
}

.top_case_slideItemVideo {
    aspect-ratio: 16/9;
    position: relative;
    overflow: hidden;
    pointer-events: none
}

.top_case_slideItemVideo:before {
    content: "";
    position: absolute;
    display: block;
    inset: 0;
    background: rgba(0,0,0,.15)
}

.top_case_slideItemVideo img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media(min-width: 1024px) {
    .top_case_slideItemVideo {
        border-radius:.8rem
    }
}

@media(max-width: 1023px) {
    .top_case_slideItemVideo {
        border-radius:.4rem
    }

    .top_case_slideItemVideo:before {
        background: rgba(0,0,0,.4)
    }
}

.top_case_slideMovieLink {
    position: absolute;
    z-index: 1;
    top: calc(50% - 4rem);
    left: calc(50% - 4rem);
    text-align: center;
    color: #fff
}

.top_case_slideMovieLink .arw {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 8rem;
    height: 8rem;
    border: 1px solid rgba(255,255,255,.4);
    border-radius: 50%;
    box-sizing: border-box;
    margin: 0 auto;
    position: relative
}

.top_case_slideMovieLink .arw:before {
    content: "";
    display: block;
    position: relative;
    right: -0.1rem;
    width: 1.6rem;
    height: 1.6rem;
    background: #fff;
    -webkit-mask-image: url(/assets/img/video.svg);
    mask-image: url(/assets/img/video.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: 0 0;
    mask-position: 0 0;
    -webkit-mask-size: contain;
    mask-size: contain
}

.top_case_slideMovieLink .txt {
    margin-top: .8rem;
    font-size: 1.2rem
}

.top_case_slideMovieLink .txt .t_en {
    font-weight: 500
}

.top_case_slideItemBody {
    margin-top: 1.6rem
}

.top_case_slideItemBody.__h {
    display: flex;
    justify-content: space-between;
    align-items: end
}

.top_case_slideItemBody.__v .top_case_slideItemBtn {
    margin-top: .8rem;
    justify-content: end
}

.top_case_slideItemCat {
    margin-bottom: 1.4rem
}

@media(min-width: 1024px) {
    .top_case_slideItemTtl {
        font-size:1.6rem
    }
}

@media(max-width: 1023px) {
    .top_case_slideItemTtl {
        font-size:1.4rem
    }
}

.top_case_slideItemEn {
    margin-top: 1.6rem;
    color: #666;
    letter-spacing: 0
}

.top_case_slideItemEn .t_en {
    font-weight: 400
}

@media(min-width: 1024px) {
    .top_case_slideItemEn {
        font-size:1.2rem
    }
}

@media(max-width: 1023px) {
    .top_case_slideItemEn {
        font-size:1.1rem
    }
}

.top_case_slideItemBtn {
    font-size: 1.2rem;
    display: flex;
    align-items: center;
    gap: .8rem
}

.top_case_slideItemBtn .l_linelink_txt {
    padding-bottom: .2rem
}

.top_case_slideNext,.top_case_slidePrev {
    --navwidth: calc((100vw - var(--width)) / 2);
    position: absolute;
    z-index: 10;
    display: block;
    top: 0;
    height: 100%;
    width: var(--navwidth);
    cursor: pointer
}

.top_case_slideNext.swiper-button-disabled,.top_case_slidePrev.swiper-button-disabled {
    pointer-events: none
}

.top_case_slideNext {
    right: calc(-1*var(--navwidth))
}

.top_case_slidePrev {
    left: calc(-1*var(--navwidth))
}

.top_casenav {
    position: fixed;
    z-index: 101;
    width: 100%;
    transition: all .9s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    opacity: 0;
    transform: translateY(12rem);
    transition-property: width,opacity,transform,-webkit-clip-path;
    transition-property: clip-path,width,opacity,transform;
    transition-property: clip-path,width,opacity,transform,-webkit-clip-path
}

.top_casenav.is-active {
    transform: translateY(0);
    opacity: 1
}

@media(min-width: 1024px) {
    .top_casenav {
        bottom:3rem
    }
}

@media(max-width: 1023px) {
    .top_casenav {
        bottom:2rem
    }
}

.top_casenav_list {
    position: relative;
    z-index: 1;
    width: 12rem;
    margin: 0 auto;
    height: 4.8rem;
    border-radius: 64rem;
    display: flex;
    align-items: center;
    gap: 0 3.2rem;
    padding: .4rem;
    box-sizing: border-box;
    background: #efefef
}

.top_casenav_list:before {
    content: "";
    position: absolute;
    right: 0;
    width: 1.4rem;
    height: 1.4rem;
    top: calc(50% - .7rem);
    left: calc(50% - .7rem);
    background: rgba(0,0,0,.4);
    -webkit-mask-image: url(../imgs/top/icon_change.svg);
    mask-image: url(../imgs/top/icon_change.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: 0 0;
    mask-position: 0 0;
    -webkit-mask-size: contain;
    mask-size: contain
}

.top_casenav_item {
    width: 4rem;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center
}

.top_casenav_item a {
    width: 100%;
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border-radius: 50%;
    overflow: hidden;
    box-sizing: border-box;
    transition: all .4s cubic-bezier(0.55, 0.05, 0.22, 0.99) 0s;
    transition-property: color,background,opacity;
    position: relative;
    background: #fff
}

.top_casenav_item a:after {
    content: "";
    display: block;
    position: absolute;
    width: 1.8rem;
    height: 1.8rem;
    top: calc(50% - .9rem);
    left: calc(50% - .9rem);
    background: #111;
    transition: all .4s cubic-bezier(0.55, 0.05, 0.22, 0.99) 0s;
    transition-property: width,background,opacity;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: 0 0;
    mask-position: 0 0;
    -webkit-mask-size: contain;
    mask-size: contain
}

.top_casenav_item a.__pc:after {
    -webkit-mask-image: url(../imgs/top/icon_pc.svg);
    mask-image: url(../imgs/top/icon_pc.svg)
}

.top_casenav_item a.__sp:after {
    -webkit-mask-image: url(../imgs/top/icon_sp.svg);
    mask-image: url(../imgs/top/icon_sp.svg)
}

.top_casenav_item a.is-active {
    color: #fff;
    background: #333
}

.top_casenav_item a.is-active:after {
    background: #fff
}

html.notouch .top_casenav_item a:hover:after {
    opacity: .5
}

.top_case_btn {
    position: relative;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.25) 1px, transparent 1px, transparent 2px);
    background-repeat: repeat-x;
    background-position: left top;
    background-size: 3px 1px;
    margin: 0 auto
}

@media(min-width: 1024px) {
    .top_case_btn {
        margin:4.8rem auto 0;
        width: 30rem
    }
}

@media(max-width: 1023px) {
    .top_case_btn {
        margin:3.2rem auto 0;
        width: 27rem
    }
}

.top_marketing {
    background: #f3f3f3
}

@media(min-width: 1024px) {
    .top_marketing {
        padding:16rem 0
    }
}

@media(max-width: 1023px) {
    .top_marketing {
        padding:8rem 0
    }
}

@media(min-width: 1024px) {
    .top_marketing_head {
        display:grid;
        grid-template-columns: -webkit-max-content 1fr;
        grid-template-columns: max-content 1fr;
        -moz-column-gap: 3.2rem;
        column-gap: 3.2rem;
        margin-bottom: 8rem
    }
}

@media(max-width: 1023px) {
    .top_marketing_head {
        margin-bottom:4.8rem
    }
}

@media(min-width: 1024px) {
    .top_marketing_headEn {
        display:flex;
        justify-content: flex-end;
        align-items: flex-end;
        position: relative;
        color: #999;
        text-align: right;
        border-bottom: 1px solid #ccc;
        padding-bottom: 1.6rem
    }
}

@media(max-width: 1023px) {
    .top_marketing_headEn {
        display:none
    }
}

@media(min-width: 1024px) {
    .top_marketing_inner {
        display:flex;
        justify-content: space-between;
        flex-wrap: wrap;
        position: relative
    }
}

@media(min-width: 1024px) {
    .top_marketing_side {
        box-sizing:border-box;
        width: 18rem;
        position: sticky;
        z-index: 1;
        top: 11.2rem;
        height: 100%
    }
}

@media(max-width: 1023px) {
    .top_marketing_side {
        display:none
    }
}

.top_marketing_sideItem+.top_marketing_sideItem {
    margin-top: 3.2rem
}

.top_marketing_sideItem.is-active .top_marketing_sideItemInner:after {
    width: 100%
}

.top_marketing_sideItemInner {
    text-decoration: none;
    display: flex;
    align-items: center;
    letter-spacing: 0;
    position: relative;
    padding-bottom: .8rem
}

.top_marketing_sideItemInner:before,.top_marketing_sideItemInner:after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    height: 1px
}

.top_marketing_sideItemInner:before {
    width: 100%;
    background: #ccc
}

.top_marketing_sideItemInner:after {
    width: 1.6rem;
    background: #111;
    transition: all .3s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: width
}

.top_marketing_sideNum {
    font-size: 1.2rem;
    margin-right: .8rem
}

.top_marketing_sideTtl {
    font-size: 1.6rem
}

@media(min-width: 1024px) {
    .top_marketing_body {
        width:calc(100% - 21rem)
    }
}

@media(min-width: 1024px) {
    .top_marketing_list {
        margin:0 auto;
        display: grid;
        row-gap: 8rem
    }
}

@media(max-width: 1023px) {
    .top_marketing_list {
        display:grid;
        row-gap: 3.2rem
    }
}

.top_marketing_listItem {
    background-color: #fff;
    border-radius: 1rem;
    box-sizing: border-box;
    width: 100%
}

@media(min-width: 1024px) {
    .top_marketing_listItem {
        padding:4.8rem 6rem;
        box-shadow: 0px 0px 4rem 0px rgba(0,0,0,.03)
    }
}

@media(max-width: 1023px) {
    .top_marketing_listItem {
        padding:3.2rem 2rem
    }
}

@media(min-width: 1024px) {
    .top_marketing_listItemHead {
        display:flex;
        align-items: center;
        padding-bottom: 2.4rem;
        margin-bottom: 3.2rem;
        position: relative
    }

    .top_marketing_listItemHead:before,.top_marketing_listItemHead:after {
        content: "";
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        height: 1px
    }

    .top_marketing_listItemHead:before {
        width: 100%;
        background: #ccc
    }

    .top_marketing_listItemHead:after {
        width: 3rem;
        background: #111;
        transition: all .3s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: width
    }

    .top_marketing_listItemHead .num {
        width: 3rem;
        text-align: center;
        font-size: 1.6rem;
        margin-right: 3rem
    }

    .top_marketing_listItemHead .ttl {
        display: flex;
        align-items: center
    }

    .top_marketing_listItemHead .en {
        font-size: 3.2rem;
        margin-right: 1.6rem;
        letter-spacing: 0;
        line-height: 1.42
    }

    .top_marketing_listItemHead .jp {
        font-size: 1.6rem;
        white-space: nowrap
    }
}

@media(max-width: 1023px) {
    .top_marketing_listItemHead {
        display:flex;
        padding-bottom: 2.4rem;
        margin-bottom: 2.4rem;
        position: relative
    }

    .top_marketing_listItemHead:before,.top_marketing_listItemHead:after {
        content: "";
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        height: 1px
    }

    .top_marketing_listItemHead:before {
        width: 100%;
        background: #ccc
    }

    .top_marketing_listItemHead .num {
        width: 3rem;
        text-align: center;
        font-size: 1.4rem;
        margin-right: 1.6rem;
        padding-top: 1rem;
        border-top: 1px solid #111
    }

    .top_marketing_listItemHead .en {
        font-size: 2.2rem;
        margin-right: 0;
        line-height: 1.09
    }

    .top_marketing_listItemHead .jp {
        margin-top: 1.2rem;
        font-size: 1.3rem
    }
}

.top_marketing_listItemTtl {
    font-weight: 700
}

@media(min-width: 1024px) {
    .top_marketing_listItemTtl {
        font-size:2.4rem;
        margin-bottom: 3.2rem;
        letter-spacing: 0
    }
}

@media(max-width: 1023px) {
    .top_marketing_listItemTtl {
        font-size:1.6rem;
        line-height: 1.62;
        margin-bottom: 2.4rem;
        letter-spacing: 0
    }
}

@media(min-width: 1024px) {
    .top_marketing_listItemTxt {
        font-size:1.6rem
    }
}

@media(max-width: 1023px) {
    .top_marketing_listItemTxt {
        font-size:1.4rem
    }
}

@media(min-width: 1024px) {
    .top_faq {
        padding:16rem 0
    }
}

@media(max-width: 1023px) {
    .top_faq {
        padding:8rem 0
    }
}

@media(min-width: 1024px) {
    .top_faq_inner {
        display:flex;
        justify-content: space-between;
        flex-wrap: wrap;
        position: relative
    }
}

@media(min-width: 1024px) {
    .top_faq_side {
        border-top:1px solid #111;
        padding-top: 4.8rem;
        box-sizing: border-box;
        width: 15rem;
        position: sticky;
        z-index: 1;
        top: 11.2rem;
        height: 100%
    }
}

@media(max-width: 1023px) {
    .top_faq_side {
        display:flex;
        align-items: center;
        margin-bottom: 3.2rem
    }
}

@media(min-width: 1024px) {
    .top_faq_sideTtlEn {
        font-size:4.6rem;
        font-weight: 700
    }
}

@media(max-width: 1023px) {
    .top_faq_sideTtlEn {
        font-size:3rem
    }
}

@media(min-width: 1024px) {
    .top_faq_sideTtl {
        margin-top:2.4rem;
        font-size: 1.6rem
    }
}

@media(max-width: 1023px) {
    .top_faq_sideTtl {
        margin-left:1.6rem
    }
}

.top_faq_body {
    border-top: 1px solid #ccc
}

@media(min-width: 1024px) {
    .top_faq_body {
        width:calc(100% - 21rem)
    }
}

.top_faq_item {
    border-bottom: 1px solid #ccc
}

.top_faq_itemToggle {
    display: block;
    text-decoration: none;
    position: relative
}

@media(min-width: 1024px) {
    .top_faq_itemToggle {
        padding:6.4rem 16rem 6.4rem 1.6rem;
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: opacity
    }

    html.notouch .top_faq_itemToggle:hover {
        opacity: .5
    }
}

@media(max-width: 1023px) {
    .top_faq_itemToggle {
        padding:3.2rem 4.8rem 3.2rem 0
    }
}

.top_faq_itemIcon {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%
}

.top_faq_itemIcon:before,.top_faq_itemIcon:after {
    position: absolute;
    content: "";
    display: block;
    background: #111
}

.top_faq_itemIcon:before {
    width: 2.6rem;
    height: 2px;
    top: calc(50% - 1px);
    left: calc(50% - 1.3rem)
}

.top_faq_itemIcon:after {
    width: 1px;
    height: 2.6rem;
    top: calc(50% - 1.3rem);
    left: calc(50% - .5px);
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: opacity
}

.top_faq_itemToggle.is_show .top_faq_itemIcon:after {
    opacity: 0
}

@media(min-width: 1024px) {
    .top_faq_itemIcon {
        width:16rem
    }

    .top_faq_itemIcon:before {
        width: 2.6rem;
        height: 2px;
        top: calc(50% - 1px);
        left: calc(50% - 1.3rem)
    }

    .top_faq_itemIcon:after {
        width: 1px;
        height: 2.6rem;
        top: calc(50% - 1.3rem);
        left: calc(50% - .5px);
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: opacity
    }
}

@media(max-width: 1023px) {
    .top_faq_itemIcon {
        width:4.8rem
    }

    .top_faq_itemIcon:before {
        width: 1.5rem;
        left: calc(50% - .75rem)
    }

    .top_faq_itemIcon:after {
        width: 1px;
        height: 1.6rem;
        top: calc(50% - .8rem);
        left: calc(50% - .5px)
    }
}

.top_faq_itemTtl {
    line-height: 1.62
}

@media(min-width: 1024px) {
    .top_faq_itemTtl {
        font-size:2.2rem
    }
}

@media(max-width: 1023px) {
    .top_faq_itemTtl {
        font-size:1.6rem
    }
}

@media(min-width: 1024px) {
    .top_faq_itemBody {
        padding:0rem 16rem 6.4rem 1.6rem;
        font-size: 1.6rem
    }
}

@media(max-width: 1023px) {
    .top_faq_itemBody {
        padding:0rem 4.8rem 3.2rem 0;
        font-size: 1.3rem
    }
}

@media(min-width: 1024px) {
    .top_news {
        padding:6rem 0 16rem
    }
}

@media(max-width: 1023px) {
    .top_news {
        padding: 8rem 0;
    }
}

@media(min-width: 1024px) {
    .top_news_inner {
        display:flex;
        justify-content: space-between;
        flex-wrap: wrap;
        position: relative
    }
}

@media(min-width: 1024px) {
    .top_news_side {
        border-top:1px solid #111;
        padding-top: 4.8rem;
        box-sizing: border-box;
        width: 15rem;
        position: sticky;
        z-index: 1;
        top: 11.2rem;
        height: 100%
    }
}

@media(max-width: 1023px) {
    .top_news_side {
        display:flex;
        align-items: center;
        margin-bottom: 3.2rem
    }
}

@media(min-width: 1024px) {
    .top_news_sideTtlEn {
        font-size:4.6rem;
        font-weight: 700
    }
}

@media(max-width: 1023px) {
    .top_news_sideTtlEn {
        font-size:3rem
    }
}

@media(min-width: 1024px) {
    .top_news_sideTtl {
        margin-top:2.4rem;
        font-size: 1.6rem
    }
}

@media(max-width: 1023px) {
    .top_news_sideTtl {
        margin-left:1.6rem
    }
}

.top_news_body {
    border-top: 1px solid #ccc
}

@media(min-width: 1024px) {
    .top_news_body {
        width:calc(100% - 21rem)
    }
}

.top_news_itemLink {
    text-decoration: none;
    display: block
}

@media(min-width: 1024px) {
    .top_news_itemLink {
        padding:4.8rem 0 0
    }

    .top_news_itemLink .news_list_itemBtn {
        margin-top: 2rem
    }
}

@media(max-width: 1023px) {
    .top_news_itemLink {
        padding:3.2rem 0 0
    }

    .top_news_itemLink .news_list_itemBtn {
        margin-top: .5rem
    }
}

.top_news_itemBody {
    display: flex;
    align-items: start
}

@media(min-width: 1024px) {
    .top_news_itemBody {
        -moz-column-gap:4rem;
        column-gap: 4rem
    }
}

@media(max-width: 1023px) {
    .top_news_itemBody {
        -moz-column-gap:1.6rem;
        column-gap: 1.6rem
    }
}

.top_news_itemImg {
    flex-shrink: 0;
    overflow: hidden;
    border-radius: .4rem;
    position: relative
}

.top_news_itemImg:before {
    content: "";
    display: block;
    position: absolute;
    border: 1px solid rgba(17,17,17,.1);
    border-radius: .4rem;
    z-index: 1;
    inset: 0
}

.top_news_itemImg .img-ov {
    position: relative;
    aspect-ratio: 600/342
}

.top_news_itemImg .img-ov img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    left: 0;
    top: 0
}

@media(min-width: 1024px) {
    .top_news_itemImg {
        width:24rem
    }
}

@media(max-width: 1023px) {
    .top_news_itemImg {
        width:14rem;
        border-width: .5px
    }
}

.top_news_itemBody {
    flex-grow: 1
}

.top_news_itemDesc {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.4rem;
    align-self: stretch
}

.top_news_itemDate {
    color: #666
}

.top_news_itemDate .t_en {
    font-weight: 400
}

@media(max-width: 1023px) {
    .top_news_itemDate {
        font-size:1.1rem
    }
}

.top_news_itemTtl {
    font-weight: 500
}

@media(min-width: 1024px) {
    .top_news_itemTtl {
        font-size:1.6rem
    }
}

@media(max-width: 1023px) {
    .top_news_itemTtl {
        overflow:hidden;
        display: -webkit-box;
        text-overflow: ellipsis;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        font-size: 1.4rem
    }
}

.top_news_btn {
    margin-left: auto
}

@media(min-width: 1024px) {
    .top_news_btn {
        max-width:30rem
    }
}

@media(min-width: 1024px) {
    .com {
        margin-bottom:11.2rem
    }
}

@media(max-width: 1023px) {
    .com {
        margin-bottom:8rem
    }
}

.com_concept_copy {
    font-weight: 700;
    line-height: 1.66
}

@media(min-width: 1024px) {
    .com_concept_copy {
        font-size:2.4rem;
        margin-bottom: 4.8rem
    }
}

@media(max-width: 1023px) {
    .com_concept_copy {
        font-size:1.8rem;
        margin-bottom: 3.2rem;
        letter-spacing: 0
    }
}

@media(min-width: 1024px) {
    .com_concept_txt {
        font-size:1.6rem
    }
}

@media(min-width: 1024px) {
    .com_concept_links {
        margin-top:6rem;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 0 3rem
    }
}

@media(max-width: 1023px) {
    .com_concept_links {
        margin-top:6rem
    }
}

@media(min-width: 1024px) {
    .com_concept_linksItem {
        display:flex;
        width: 100%
    }
}

@media(max-width: 1023px) {
    .com_concept_linksItem+.com_concept_linksItem {
        margin-top:4.8rem
    }
}

.com_concept_linksItemInner {
    width: 100%;
    display: block;
    border-bottom: 1px solid #ccc;
    text-decoration: none;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: opacity
}

html.notouch .com_concept_linksItemInner:hover {
    opacity: .7
}

.com_concept_linksItemlogo {
    text-align: center
}

@media(min-width: 1024px) {
    .com_concept_linksItemlogo img {
        width:auto;
        height: 10rem
    }

    .com_concept_linksItemlogo.__third img {
        transform: scale(0.8)
    }
}

@media(max-width: 1023px) {
    .com_concept_linksItemlogo img {
        width:auto;
        height: 9rem
    }

    .com_concept_linksItemlogo.__third img {
        transform: scale(0.7)
    }
}

.com_concept_linksItemtext {
    display: flex;
    justify-content: end;
    margin-bottom: 1.6rem
}

.com_concept_linksItemtext .icon {
    display: block;
    width: 1.1rem;
    height: 1.1rem;
    margin-left: .8rem;
    position: relative;
    top: -0.2rem
}

@media(min-width: 1024px) {
    .com_concept_linksItemtext {
        margin-top:3.2rem
    }
}

@media(max-width: 1023px) {
    .com_concept_linksItemtext {
        margin-top:1.6rem
    }
}

@media(min-width: 1024px) {
    .com_about_list {
        display:grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 4.8rem 3rem
    }
}

.com_about_listItem {
    width: 100%;
    border-bottom: 1px solid #ccc
}

@media(min-width: 1024px) {
    .com_about_listItem {
        padding-bottom:4.8rem
    }
}

@media(max-width: 1023px) {
    .com_about_listItem {
        padding-bottom:3.2rem
    }

    .com_about_listItem+.com_about_listItem {
        margin-top: 3.2rem
    }
}

@media(min-width: 1024px) {
    .com_about_listItemTtl {
        font-size:1.6rem;
        margin-bottom: 3.2rem
    }
}

@media(max-width: 1023px) {
    .com_about_listItemTtl {
        font-size:1.4rem;
        margin-bottom: 2.4rem
    }
}

.com_about_listItemTxt {
    color: #666;
    font-size: 1.4rem
}

@media(min-width: 1024px) {
    .coi {
        margin-bottom:11.2rem
    }
}

@media(max-width: 1023px) {
    .coi {
        margin-bottom:8rem
    }
}

.coi_form_sideCap {
    color: #c8151c
}

@media(min-width: 1024px) {
    .coi_form_sideCap {
        margin-top:1.6rem
    }
}

@media(max-width: 1023px) {
    .coi_form_sideInner {
        display:flex
    }
}

@media(min-width: 1024px) {
    .coi_form_side {
        height:calc(100vh - 19.2rem);
        display: grid
    }
}

@media(min-width: 1024px) {
    .coi_form_sideBottom {
        margin-top:auto
    }
}

@media(max-width: 1023px) {
    .coi_form_sideBottom {
        margin-top:4.8rem;
        width: 50%
    }
}

.coi_form_sideBack {
    text-decoration: none;
    display: flex;
    padding-bottom: 1.6rem;
    border-bottom: 1px solid #ccc;
    gap: 0 .8rem
}

@media(min-width: 1024px) {
    .coi_form_txt {
        font-size:1.6rem;
        margin-bottom: 8rem
    }
}

@media(max-width: 1023px) {
    .coi_form_txt {
        font-size:1.4rem;
        margin-bottom: 4.8rem
    }
}

.coi_form_content {
    border-top: 1px solid rgba(0,0,0,.1)
}

@media(min-width: 1024px) {
    .coi_thanks_content {
        padding-top:8rem;
        border-top: 1px solid #ccc
    }
}

@media(max-width: 1023px) {
    .coi_thanks_content {
        padding-top:3.2rem;
        border-top: 1px solid #111
    }
}

@media(min-width: 1024px) {
    .coi_thanks_back {
        margin-top:8rem;
        width: 15rem
    }
}

@media(max-width: 1023px) {
    .coi_thanks_back {
        margin-top:4.8rem;
        width: 50%
    }
}

.coi_thanks_ttl {
    font-weight: 700;
    margin-bottom: 4.8rem
}

@media(min-width: 1024px) {
    .coi_thanks_ttl {
        font-size:2.4rem
    }
}

@media(max-width: 1023px) {
    .coi_thanks_ttl {
        font-size:1.6rem
    }
}

@media(min-width: 1024px) {
    .cas {
        margin-bottom:11.2rem
    }
}

@media(max-width: 1023px) {
    .cas {
        margin-bottom:8rem
    }
}

@media(min-width: 1024px) {
    .cas_list_sideTtl {
        margin-bottom:3rem
    }
}

@media(max-width: 1023px) {
    .cas_list_sideTtl {
        flex-shrink:0;
        width: 8.5rem
    }
}

.cas_list_status ul li label {
    display: flex;
    gap: 0 .6rem;
    align-items: center;
    cursor: pointer
}

.cas_list_status input[type=radio] {
    display: none
}

.cas_list_status input[type=radio]:checked+.cas_radio {
    border-color: #111
}

.cas_list_status input[type=radio]:checked+.cas_radio:after {
    transform: scale(1)
}

.cas_list_status .cas_radio {
    display: block;
    width: 1.4rem;
    height: 1.4rem;
    border: 1px solid #ccc;
    border-radius: 50%;
    vertical-align: middle;
    position: relative;
    transition: all .3s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: border
}

.cas_list_status .cas_radio:after {
    content: "";
    width: .8rem;
    height: .8rem;
    background: #111;
    border-radius: 50%;
    position: absolute;
    top: calc(50% - .4rem);
    left: calc(50% - .4rem);
    transform: scale(0);
    transition: all .3s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: transform
}

@media(min-width: 1024px) {
    .cas_list_status {
        margin-bottom:4.8rem
    }

    .cas_list_status ul {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 2rem;
        align-self: stretch
    }
}

@media(max-width: 1023px) {
    .cas_list_status {
        margin-bottom:3.2rem
    }

    .cas_list_status ul {
        display: flex;
        gap: 1.6rem
    }
}

@media(max-width: 1023px) {
    .cas_list_area {
        display:flex;
        align-items: start;
        gap: 0rem
    }
}

.cas_list_cat li label {
    display: flex;
    gap: 0 1rem;
    align-items: center;
    cursor: pointer
}

.cas_list_cat .cas_checkbox_txt {
    opacity: .5
}

.cas_list_cat input[type=checkbox] {
    display: none
}

.cas_list_cat input[type=checkbox]:checked+.cas_checkbox_txt {
    opacity: 1
}

@media(min-width: 1024px) {
    .cas_list_cat {
        margin-top:3.2rem;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 1.6rem;
        align-self: stretch
    }
}

@media(max-width: 1023px) {
    .cas_list_cat {
        margin-top:.2rem;
        flex-grow: 1;
        display: flex;
        align-items: start;
        gap: 1.6rem;
        flex-wrap: wrap
    }
}

@media(min-width: 1024px) {
    .cas_list_content {
        display:grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 6rem
    }
}

.cas_list_item {
    display: flex;
    flex-direction: column
}

.cas_list_item.is-app {
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: opacity;
    opacity: 0
}

.cas_list_item.is-visible {
    opacity: 1
}

.cas_list_item a {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    text-decoration: none
}

@media(max-width: 1023px) {
    .cas_list_item+.cas_list_item {
        margin-top:4.8rem
    }
}

.cas_list_itemblankUrl .l_arw {
    transform: rotate(-45deg)
}

.cas_list_itemImg {
    overflow: hidden;
    border-radius: .5rem
}

@media(min-width: 1024px) {
    .cas_list_itemBody {
        margin-top:1.6rem;
        display: flex;
        flex-direction: column;
        flex: 1 1 auto
    }
}

@media(max-width: 1023px) {
    .cas_list_itemBody {
        margin-top:1.6rem
    }
}

.cas_list_ItemTtl {
    font-size: 1.6rem;
    line-height: 1.5
}

.cas_slideItemTtlEn {
    margin-top: 1.2rem
}

.cas_slideItemTtlEn .t_en {
    font-weight: 400;
    font-size: 1.2rem
}

.cas_list_itemBtn {
    padding-top: .8rem;
    margin-top: auto;
    position: relative;
    align-items: center;
    display: flex;
    justify-content: end
}

.cas_list_itemBtn:before,.cas_list_itemBtn:after {
    content: "";
    display: block;
    position: absolute;
    height: 1px;
    bottom: 0
}

.cas_list_itemBtn:before {
    width: 100%;
    background: #ccc
}

.cas_list_itemBtn:after {
    width: 0;
    background: #111;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: width
}

html.notouch a:hover .cas_list_itemBtn:after {
    left: 0;
    right: auto;
    width: 100%
}

.cas_list_itemBtnInner {
    align-items: center;
    display: flex;
    justify-content: end;
    gap: .8rem;
    font-size: 1.2rem;
    padding-bottom: 1.6rem;
    position: relative;
    width: 9rem
}

.cas_list_itemBtnInner::before {
    content: "";
    display: block;
    position: absolute;
    height: 1px;
    right: 0;
    bottom: 0;
    width: 100%;
    background: #111
}

.cas_list_itemBtnTxt {
    font-size: 1.2rem
}

@media(min-width: 1024px) {
    .cas.__detail .c_pagettl {
        align-items:start
    }

    .cas.__detail .c_pagettl_ttl {
        line-height: 1.33;
        flex-grow: 1;
        width: calc(100% - 7rem)
    }

    .cas.__detail .c_pagettl_sub {
        flex-shrink: 0;
        width: 6rem;
        text-align: right
    }

    .cas.__detail .cas_list {
        margin-top: 8rem
    }
}

@media(max-width: 1023px) {
    .cas.__detail .c_pagettl_ttl {
        line-height:1.33
    }

    .cas.__detail .c_pagettl_sub {
        display: none
    }

    .cas.__detail .coi_form_sideInner {
        display: block
    }

    .cas.__detail .cas_list {
        margin-top: 4.8rem
    }
}

.cas_detail_fv {
    position: relative
}

@media(max-width: 1023px) {
    .cas_detail_fv {
        margin:0 -2rem
    }
}

@media(min-width: 1024px) {
    .cas_list_sideCredit {
        height:calc(100vh - 19.2rem);
        display: grid
    }
}

.cas_list_sideCreditItemTtl {
    line-height: 1.44
}

@media(min-width: 1024px) {
    .cas_list_sideCreditItemTtl {
        font-size:1.6rem
    }
}

@media(max-width: 1023px) {
    .cas_list_sideCreditItemTtl {
        font-size:1.4rem;
        flex-shrink: 0;
        width: 8rem
    }
}

@media(max-width: 1023px) {
    .cas_list_sideCreditItem {
        flex-grow:1;
        display: flex;
        align-items: start;
        gap: 1.6rem;
        flex-wrap: wrap
    }
}

@media(min-width: 1024px) {
    .cas_list_sideCreditItem+.cas_list_sideCreditItem {
        margin-top:4.8rem
    }
}

@media(max-width: 1023px) {
    .cas_list_sideCreditItem+.cas_list_sideCreditItem {
        margin-top:1.8rem
    }
}

.cas_list_sideCreditItemTxt .t_hl {
    font-weight: 400
}

@media(min-width: 1024px) {
    .cas_list_sideCreditItemTxt {
        margin-top:1.8rem
    }
}

@media(max-width: 1023px) {
    .cas_list_sideCreditItemTxt {
        flex-grow:1
    }
}

@media(min-width: 1024px) {
    .cas_post {
        padding-bottom:11.2rem;
        border-bottom: 1px solid #ccc
    }
}

@media(max-width: 1023px) {
    .cas_post {
        padding-bottom:8rem;
        border-bottom: 1px solid #111
    }
}

.cas_platform_ttl {
    font-size: 1.2rem;
    font-weight: 700
}

@media(min-width: 1024px) {
    .cas_platform_ttl {
        margin-top:8rem
    }
}

@media(max-width: 1023px) {
    .cas_platform_ttl {
        margin-top:4.8rem
    }
}

@media(min-width: 1024px) {
    .cas_platform_sns {
        margin-top:2.3rem
    }
}

@media(max-width: 1023px) {
    .cas_platform_sns {
        margin-top:0
    }
}

.cas_platform_sns ul {
    justify-content: start
}

@media(min-width: 1024px) {
    .cas_related {
        margin-top:11.2rem
    }
}

@media(max-width: 1023px) {
    .cas_related {
        margin-top:3.2rem
    }
}

.cas_related_ttl {
    font-weight: 700
}

@media(min-width: 1024px) {
    .cas_related_ttl {
        font-size:2.4rem
    }
}

@media(max-width: 1023px) {
    .cas_related_ttl {
        font-size:1.6rem
    }
}

.cas_related_slide {
    position: relative
}

@media(min-width: 1024px) {
    .cas_related_slide {
        margin-top:4.8rem
    }
}

@media(max-width: 1023px) {
    .cas_related_slide {
        margin-top:4.2rem
    }
}

.cas_related_slide .swiper-slide {
    display: flex;
    height: revert-layer
}

.cas_related_slide .swiper-slide .cas_list_item {
    display: flex;
    flex-direction: column
}

.cas_related_slide .swiper-slide a {
    display: flex;
    flex-direction: column;
    height: 100%
}

.cas_related_slideNext,.cas_related_slidePrev {
    --navwidth: calc((100vw - 108rem) / 2);
    position: absolute;
    z-index: 10;
    display: block;
    top: 0;
    height: 100%;
    width: var(--navwidth);
    cursor: pointer
}

.cas_related_slideNext.swiper-button-disabled,.cas_related_slidePrev.swiper-button-disabled {
    pointer-events: none
}

.cas_related_slideNext {
    right: calc(-1*var(--navwidth));
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #FFF 91.5%)
}

.cas_related_slidePrev {
    left: calc(-1*var(--navwidth));
    background: linear-gradient(-90deg, rgba(255, 255, 255, 0) 0%, #FFF 91.5%)
}

.cas_more {
    position: relative;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.25) 1px, transparent 1px, transparent 2px);
    background-repeat: repeat-x;
    background-position: left top;
    background-size: 3px 1px;
    margin: 0 auto
}

@media(min-width: 1024px) {
    .cas_more {
        margin:8rem auto 0;
        width: 30rem
    }
}

@media(max-width: 1023px) {
    .cas_more {
        margin:4.8rem auto 0;
        width: 27rem
    }
}

.news_list_itemBtn {
    position: relative;
    align-items: center;
    display: flex;
    justify-content: end
}

.news_list_itemBtn:before,.news_list_itemBtn:after {
    content: "";
    display: block;
    position: absolute;
    height: 1px;
    bottom: 0
}

.news_list_itemBtn:before {
    width: 100%;
    background: #ccc
}

.news_list_itemBtn:after {
    width: 0;
    background: #111;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: width
}

html.notouch a:hover .news_list_itemBtn:after {
    left: 0;
    right: auto;
    width: 100%
}

.news_list_itemBtnInner {
    align-items: center;
    display: flex;
    justify-content: end;
    gap: .8rem;
    font-size: 1.2rem;
    padding-bottom: 1.6rem;
    position: relative;
    width: 9rem
}

.news_list_itemBtnInner::before {
    content: "";
    display: block;
    position: absolute;
    height: 1px;
    right: 0;
    bottom: 0;
    width: 100%;
    background: #111
}

.news_list_itemBtnTxt {
    font-size: 1.2rem
}

@media(min-width: 1024px) {
    .page-news {
        margin-bottom:11.2rem
    }
}

@media(max-width: 1023px) {
    .page-news {
        margin-bottom:8rem
    }
}

.page-news .news_list_itemBtn {
    margin-top: auto
}

@media(min-width: 1024px) {
    .page-news .news_list_itemBtn {
        padding-top:3.2rem
    }
}

@media(max-width: 1023px) {
    .page-news .news_list_itemBtn {
        padding-top:1.6rem
    }
}

@media(min-width: 1024px) {
    .news_list_body {
        width:100%
    }
}

@media(max-width: 1023px) {
    .news_list_body {
        border-top:1px solid #111;
        padding-top: 4.8rem
    }
}

@media(min-width: 1024px) {
    .news_list_content {
        display:grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 8rem 9rem
    }
}

@media(max-width: 1023px) {
    .news_list_content {
        display:flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 4.8rem
    }
}

.news_list_item {
    display: flex
}

.news_list_item a {
    text-decoration: none;
    display: flex;
    flex-direction: column
}

.news_list_itemblankUrl .l_arw {
    transform: rotate(-45deg)
}

.news_list_itemImg {
    overflow: hidden;
    border-radius: .4rem;
    position: relative;
    margin-bottom: 1.8rem
}

.news_list_itemImg:before {
    content: "";
    display: block;
    position: absolute;
    border: 1px solid rgba(17,17,17,.1);
    border-radius: .4rem;
    z-index: 1;
    inset: 0
}

.news_list_itemImg .img-ov {
    position: relative;
    aspect-ratio: 600/342
}

.news_list_itemImg .img-ov img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    left: 0;
    top: 0
}

@media(max-width: 1023px) {
    .news_list_itemImg {
        border-width:.5px
    }
}

.news_list_ItemDesc {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    align-self: stretch
}

@media(min-width: 1024px) {
    .news_list_ItemDesc {
        gap:1.6rem
    }
}

@media(max-width: 1023px) {
    .news_list_ItemDesc {
        gap:1.4rem
    }
}

.news_list_ItemDate {
    color: #666;
    font-size: 1.2rem
}

.news_list_ItemDate .t_en {
    font-weight: 400
}

.news_list_ItemTtl {
    font-weight: 500;
    line-height: 1.5
}

@media(min-width: 1024px) {
    .news_list_ItemTtl {
        font-size:1.6rem
    }
}

@media(max-width: 1023px) {
    .news_list_ItemTtl {
        overflow:hidden;
        display: -webkit-box;
        text-overflow: ellipsis;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        font-size: 1.6rem
    }
}

@media(min-width: 1024px) {
    .news.__detail .c_pagettl {
        align-items:end;
        justify-content: end;
        padding-bottom: 1.6rem
    }

    .news.__detail .c_pagettl_ttl {
        line-height: 1.5;
        margin-bottom: 8rem
    }
}

@media(max-width: 1023px) {
    .news.__detail .c_pagettl {
        display:none
    }

    .news.__detail .cas_list_side {
        padding-top: 10rem;
        margin-bottom: 2.4rem
    }

    .news.__detail .c_pagettl_ttl {
        font-size: 2.4rem;
        line-height: 1.5;
        margin-bottom: 4.8rem
    }
}

.clearfix {
    /* zoom:1; */
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    }

.clearfix:after {
    /* content: ""; */
    display: block;
    clear: both;
    height: 0
}

.pc-hidden {
    display: none
}

.pctb-hidden {
    display: none
}

@media only screen and (max-width: 1023px) {
    .tb-hidden,.tbsp-hidden {
        display:none
    }

    .pc-hidden {
        display: block
    }

    br.pc-hidden {
        display: inline-block
    }
}

@media only screen and (max-width: 1023px) {
    .sp-hidden {
        display:none
    }

    .tb-hidden,.pctb-hidden {
        display: block
    }

    br.tb-hidden,br.pctb-hidden {
        display: inline-block
    }
}
.top03__inner ul {
  display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  margin-top: 49px;
}

.top03__inner ul li {
  list-style: none;
  color: #fff;
  width: calc(100% / 3);
  box-sizing: border-box;
  border-right: 1px solid rgba(255, 255, 255, 0.2);
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  padding-right: 42px;
  padding-top: 35px;
  padding-bottom: 40px;
  padding-left: 45px;
}

.top03__inner ul li a .pict_title {
  display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 88px;
  color: white;
}

.top03__inner ul li a .pict_title .pict {
  position: relative;
}

.top03__inner ul li a .pict_title img {
  transition: .5s;
  -webkit-transition: .5s;
  -moz-transition: .5s;
  -o-transition: .5s;
}

.top03__inner ul li a .pict_title img:first-child {
  opacity: 1;
}

.top03__inner ul li a .pict_title img:nth-of-type(2) {
  position: absolute;
  opacity: 0;
  left: 0;
}

.top03__inner ul li a .pict_title h4 {
  font-size: 2.2rem;
  font-family: dnp-shuei-gothic-gin-std,sans-serif;
  font-weight: 600;
  font-style: normal;
  letter-spacing: 0.05em;
  margin-left: 20px;
  transition: .5s;
  -webkit-transition: .5s;
  -moz-transition: .5s;
  -o-transition: .5s;
  /* text-underline-offset: inherit; */
  text-decoration: none;
}

.top03__inner ul li a .pict_title h4 span {
  display: block;
  font-size: 1.2rem;
  letter-spacing: 0.02em;
  font-family: aktiv-grotesk, sans-serif;
  font-weight: 400;
  font-style: normal;
  margin-bottom: -2px;
}

.top03__inner ul li a p.p01 {
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  line-height: 2;
  margin-top: 26px;
  transition: .5s;
  -webkit-transition: .5s;
  -moz-transition: .5s;
  -o-transition: .5s;
  color: white;
}

.top03__inner ul li a:hover img:first-child {
  opacity: 0;
}

.top03__inner ul li a:hover img:nth-of-type(2) {
  opacity: 1;
}

.top03__inner ul li a:hover h4 {
  color: #004491;
}

.top03__inner ul li a:hover p.p01 {
  color: #004491;
}

.top03__inner ul li .more {
  font-size: 1.2rem;
  font-family: aktiv-grotesk, sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.05em;
  margin-top: 42px;
  color: white;
  text-decoration: none;
}

.top03__inner ul li .more a {
  text-decoration: none;
  color: #fff;
}

.top03__inner ul li .more:after {
  content: url(../img/arrow03.svg);
  margin-left: 16px;
}

.top03__inner ul li:first-child {
  padding-left: 0;
}

.top03__inner ul li:first-child img {
  width: 64px;
  height: auto;
}

.top03__inner ul li:first-child .more {
  margin-top: 70px;
}

.top03__inner ul li:nth-child(2) {
  padding-right: 30px;
}

.top03__inner ul li:nth-child(2) img {
  width: 140px;
  height: auto;
}

.top03__inner ul li:nth-child(3) {
  border-right: none;
  padding-right: 0;
}

.top03__inner ul li:nth-child(3) img {
  width: 74px;
  height: auto;
}

.top03__inner ul li:nth-child(4) {
  padding-left: 0;
  border-bottom: none;
}

.top03__inner ul li:nth-child(4) img {
  width: 78px;
  height: auto;
}

.top03__inner ul li:nth-child(4) .more {
  margin-top: 70px;
}

.top03__inner ul li:nth-child(5) {
  border-bottom: none;
  padding-right: 30px;
}

.top03__inner ul li:nth-child(5) img {
  width: 102px;
  height: auto;
}

.top03__inner ul li:nth-child(5) .pict_title h4 {
  margin-left: 19px;
}

.top03__inner ul li:nth-child(6) {
  border-right: none;
  border-bottom: none;
  padding-right: 0;
}

.top03__inner ul li:nth-child(6) img {
  width: 122px;
  height: auto;
}
.l_arw.__circle.service_arrow{
	background: #fff;
}


@media(max-width: 1023px) {
    
.top03__inner ul {
    display: block;
    margin-top: 24px;
  }
  .top03__inner ul li {
    list-style: none;
    color: #fff;
    width: 100%;
    box-sizing: border-box;
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    padding-right: 0;
    padding-top: 21px;
    padding-bottom: 25px;
    padding-left: 0;
  }
  .top03__inner ul li a {
    text-decoration: none;
    color: #fff;
  }
  .top03__inner ul li a .pict_title {
    display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 88px;
  }
  .top03__inner ul li a .pict_title .pict {
    width: 78px;
  }
  .top03__inner ul li a .pict_title img:nth-of-type(2) {
    display: none;
  }
  .top03__inner ul li a .pict_title h4 {
    font-size: 1.6rem;
    font-family: dnp-shuei-gothic-gin-std,sans-serif;
    font-weight: 600;
    font-style: normal;
    letter-spacing: 0.05em;
    margin-left: 0;
  }
  .top03__inner ul li a .pict_title h4 span {
    display: block;
    font-size: 1.0rem;
    letter-spacing: 0.02em;
    font-family: aktiv-grotesk, sans-serif;
    font-weight: 400;
    font-style: normal;
    margin-bottom: 0;
  }
  .top03__inner ul li a p.p01 {
    font-size: 1.1rem;
    letter-spacing: 0.1em;
    line-height: 2;
    margin-top: 5px;
  }
  .top03__inner ul li a .more {
    font-size: 1.0rem;
    font-family: aktiv-grotesk, sans-serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.05em;
    margin-top: 17px;
  }
  .top03__inner ul li a:hover img:first-child {
    opacity: 1;
  }
  .top03__inner ul li a:hover img:nth-of-type(2) {
    opacity: 0;
  }
  .top03__inner ul li a:hover h4 {
    color: #fff;
  }
  .top03__inner ul li a:hover p.p01 {
    color: #fff;
  }
  .top03__inner ul li .more:after {
    content: url(../img/arrow03.svg);
    margin-left: 8px;
  }
  .top03__inner ul li:first-child {
    padding-left: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
  }
  .top03__inner ul li:first-child .more {
    margin-top: 17px;
  }
  .top03__inner ul li:first-child .pict img {
    width: 50px;
    height: auto;
  }
  .top03__inner ul li:nth-child(2) {
    padding-right: 0px;
  }
  .top03__inner ul li:nth-child(2) .pict img {
    width: 65px;
    height: auto;
  }
  .top03__inner ul li:nth-child(4) {
    padding-left: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }
  .top03__inner ul li:nth-child(4) .more {
    margin-top: 17px;
  }
  .top03__inner ul li:nth-child(4) .pict img {
    width: 60px;
    height: auto;
  }
  .top03__inner ul li:nth-child(3) {
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    padding-right: 0;
  }
  .top03__inner ul li:nth-child(3) .pict img {
    width: 55px;
    height: auto;
  }
  .top03__inner ul li:nth-child(6) {
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    padding-right: 0;
  }
  .top03__inner ul li:nth-child(6) .pict img {
    width: 58px;
    height: auto;
  }
  .top03__inner ul li:nth-child(5) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    padding-right: 0px;
  }
  .top03__inner ul li:nth-child(5) .pict img {
    width: 70px;
    height: auto;
  }
  .top03__inner .readmore_btn {
    margin-top: 51px;
  }
  .top03__inner .readmore_btn a {
    position: relative;
    display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    text-decoration: none;
    color: #fff;
    width: 130px;
  }
}

.num_block{/* width:1040px; */margin:0 auto;padding:55px 0 70px 0;}
.num_block .title{text-align:center;font-size:22px;margin:0 0 20px 0;color:#FFF;font-weight:bold;letter-spacing: 2px;opacity:0;}
.num_section ul li{
  width: 32%;
  /* margin-right:4px; */
  float:left;
  text-align:center;
  /* background:rgba(255,255,255,0.85); */
  /* color:#1f3182; */
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
  border: 1px solid #fff;
  border-radius: 8px;
  margin: 0 0 2% 0;
  }
.num_section ul li:last-child{margin-right:0px;}
/* 表示時に付けるクラス */
.num_section li.is-show {
  opacity: 1;
  transform: translateY(0);
}

.num_section ul li .number{margin:0 0 0px 0;/* color:#1f3182; */line-height:1;padding:20px 0;}
.num_section ul li .number .top .big{font-size:80px;}
.num_section ul li .number .top .small{font-size: 25px;}
.num_section ul li .number .top .small.sup{font-size: 70px;position: relative;top: -15px;}
.num_section ul li .number .bottom{font-size:20px;}
.num_section ul li .text{font-size:15px;padding:0 0 2em 0;padding: 1em 1em 2em 1em;}
.num_section ul li:nth-child(n + 2) .text{padding: 1em 1em 2em 1em;}



@media(max-width: 1023px) {
.num_block{padding:30px 0;}
.num_section ul li{width: 48%;float:left;margin:0 0 2% 0;/* height: 213px; */border-radius: 8px;}
.num_section ul li:nth-child(2n){float:right;}
.num_section ul li .number .top .big{font-size:50px;font-family: "IBM Plex Sans JP", sans-serif;}
.num_section ul li .number .top .small{font-size: 13px;}
.num_section ul li .number .top .small.sup{font-size:40px;top: -12px;}
.num_section ul li .number .bottom{font-size:15px;margin-top: 8px;display: block;}
.num_section ul li .text{font-size: 12px;padding: 1em 10px 1em 10px;}
.num_section ul li:nth-child(n + 2) .text{padding: 1em 5px 3em 5px;}
.num_block{width: 100%;margin:0 auto;}
.num_section ul li .number{padding:20px 0 0 0;}
	.bg-video--center {
    bottom: 4%;
    left: 4%;
    width: 70% !important;
    height: auto;
}
}


.topKv__wrapper {
    background: #2f2725
}

.topKv__ttl {
    margin-bottom: 19.7435897436vw;
    padding: 0 4.8717948718vw
}

.topKv__container {
    margin-bottom: 11.4179487179vw
}

.topKv__swiper {
    padding-right: 11%
}

.topKv__link {
    color: #fff
}

.topKv__header {
    position: relative
}

.topKv__img {
    padding-top: 100%;
    position: relative
}

.topKv__img::after {
    content: "";
    width: 100%;
    height: 100%;
    background: linear-gradient(-135deg,#2f2725 0,rgba(47,39,37,.35) 25%,rgba(47,39,37,0))
}

.topKv__num {
    font-size: 16.4102564103vw;
    line-height: 1;
    letter-spacing: -.015em;
    font-weight: 300;
    font-family: neue-haas-grotesk-text,sans-serif;
    position: absolute;
    top: -9.2307692308vw;
    left: 4.8717948718vw;
    -webkit-transition: opacity .3s,-webkit-transform .3s;
    transition: opacity .3s,-webkit-transform .3s;
    transition: opacity .3s,transform .3s;
    transition: opacity .3s,transform .3s,-webkit-transform .3s
}

.topKv__location {
    position: relative;
    display: inline-block;
    position: absolute;
    right: 3.3333333333vw;
    top: 4.6153846154vw
}

.topKv__location::before {
    content: "";
    position: absolute;
    top: 20%;
    left: 0;
    width: 2.5641025641vw;
    height: 3.5897435897vw;
    z-index: 1;
    background: url(../img/common/icon-location.svg) center center/contain no-repeat
}

.topKv__location p {
    font-size: 3.0769230769vw;
    line-height: normal;
    letter-spacing: -.015em;
    padding-left: 4.1025641026vw
}

.topKv__body {
    margin-top: -15.3846153846vw;
    margin-left: 4.8717948718vw;
    width: 100%
}

.topKv__issue {
    position: relative;
    margin-bottom: 17.1794871795vw;
    -webkit-transition: opacity .3s,-webkit-transform .3s;
    transition: opacity .3s,-webkit-transform .3s;
    transition: opacity .3s,transform .3s;
    transition: opacity .3s,transform .3s,-webkit-transform .3s
}

.topKv__issue::before {
    content: "";
    position: absolute;
    left: 2.3076923077vw;
    height: 12.5641025641vw;
    width: .1923076923vw;
    background: #fff;
    bottom: -15.1282051282vw
}

.topKv__issue p {
    font-size: 4.4vw;
    line-height: 1.4444444444;
    font-weight: 500;
    letter-spacing: -.015em
}

.topKv__txt {
    font-size: 5.641025641vw;
    line-height: 1.4545454545;
    font-weight: 700;
    letter-spacing: -.015em;
    margin-bottom: 3.8461538462vw;
    -webkit-transition: opacity .3s,-webkit-transform .3s;
    transition: opacity .3s,-webkit-transform .3s;
    transition: opacity .3s,transform .3s;
    transition: opacity .3s,transform .3s,-webkit-transform .3s
}
.topKv__txt .creators_name{
    display: block;
    font-size: 4vw;
}

.topKv__tagWrap {
    background: #fff;
    padding: .2564102564vw .7692307692vw .5128205128vw 1.5384615385vw;
    border-radius: 3.7179487179vw;
    display: inline-block;
    -webkit-transition: opacity .3s,-webkit-transform .3s;
    transition: opacity .3s,-webkit-transform .3s;
    transition: opacity .3s,transform .3s;
    transition: opacity .3s,transform .3s,-webkit-transform .3s;
    overflow: hidden
}

.topKv__tagImg img {
    height: 6.4564102564vw;
    width: auto
}

.topKv__arrow {
    display: inline-block;
    border: .1923076923vw #fff solid;
    position: absolute;
    width: 11.2820512821vw;
    height: 11.2820512821vw;
    border-radius: 90%;
    right: 5.8974358974vw;
    bottom: 6.4102564103vw
}

.topKv__arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    width: 3.8461538462vw;
    height: 2.5641025641vw;
    background: url(../img/common/arrow-white02.svg) center center/contain no-repeat
}

.topKv__btn {
    text-align: center
}

.topKv__btn a {
    font-size: 3.5897435897vw;
    line-height: 1;
    border: .15rem solid #fff;
    letter-spacing: .04em;
    font-weight: 500;
    display: inline-block;
    position: relative;
    padding: 5.3846153846vw 20.7692307692vw 5.3846153846vw 12.3076923077vw;
    text-align: left;
    border-radius: 25.641025641vw;
    color: #fff
}

.topKv__btn a::after {
    content: "";
    position: absolute;
    top: 40%;
    right: 13.3333333333vw;
    width: 3.5897435897vw;
    height: 3.0769230769vw;
    background: url(../img/common/arrow-white.svg) center center/contain no-repeat
}
.imgFit img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}


@media(min-width: 1024px) {
.topKv__inner {
        padding: 5.9523809524vw 0 11.9047619048vw
    }

    .topKv__wrap {
        width: 100%;
        /* margin-left: auto; */
        position: relative
    }

    .topKv__ttl {
        margin-bottom: 4.3650793651vw
    }

    .topKv__container {
        padding-top: 2.6455026455vw;
        /* width: 79.3650793651vw; */
        margin: 0 0 0 auto;
        /* overflow: hidden; */
    }

    .topKv__swiper {
        padding-right: 17%
    }

    .topKv__img {
        padding-top: 67.94%
    }

    .topKv__num {
        font-size: 5.291005291vw;
        top: -3.3068783069vw;
        left: 1.1904761905vw
    }

    .topKv__location {
        right: 1.7195767196vw;
        top: 1.1904761905vw
    }

    .topKv__location::before {
        width: .6613756614vw;
        height: .9259259259vw
    }

    .topKv__location p {
        font-size: .7936507937vw;
        padding-left: 1.0582010582vw
    }

    .topKv__body {
        margin-left: 1.1904761905vw;
        margin-top: -4.3650793651vw;
        width: 75%
    }

    .topKv__issue {
        margin-bottom: 5.3571428571vw
    }

    .topKv__issue::before {
        width: .0661375661vw;
        height: 3.2407407407vw;
        bottom: -4.4973544974vw
    }

    .topKv__issue p {
        font-size: 1.1904761905vw;
        font-weight: 500
    }

    .topKv__txt {
        font-size: 1.8vw;
        line-height: 1.6;
        margin-bottom: .8948412698vw
    }

    .topKv__tagWrap {
        padding: .2645502646vw .7936507937vw;
        border-radius: 10.9126984127vw
    }

    .topKv__tagImg img {
        height: 2.5vw
    }

    .topKv__arrow {
        right: 1.6534391534vw;
        bottom: .7936507937vw;
        width: 2.9100529101vw;
        height: 2.9100529101vw;
        border-width: .0496031746vw
    }

    .topKv__arrow::after {
        width: .9920634921vw;
        height: .6613756614vw
    }

    .topKv__btn {
        position: absolute;
        right: 4.1997354497vw;
        top: 9.5899470899vw;
        text-align: right
    }

    .topKv__btn a {
        font-size: 1.0582010582vw;
        line-height: 1.9375;
        padding: 0 1.7857142857vw .3637566138vw 0;
        border: none;
        border-radius: 0;
        border-bottom: .0661375661vw solid #fff
    }

    .topKv__btn a::after {
        top: 30%;
        width: .8597883598vw;
        height: .7275132275vw;
        right: 0
    }




}



/* ======================
   固定背景セクション
   ====================== */

.image-section {
  position: relative;
  min-height: 40vh; /* セクション内でスクロール量を作る */
}

/* 背景部分：スクロールしても画面内では固定される */
.image-section__bg {
    position: sticky;
    top: 0;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    z-index: 0;
}

/* 背景の動画を何枚か配置する */
.bg-video {
  position: absolute;
  object-fit: cover;
  filter: brightness(0.8);
}

/* 適当にレイアウト（好みで調整してください） */
.bg-video--lt {
  top: 5%;
  left: 5%;
  width: 40vw;
  height: 30vh;
}

.bg-video--rt {
  top: 10%;
  right: -5%;
  width: 45vw;
  height: 35vh;
}

.bg-video--center {
  bottom: 4%;
  left: 4%;
  width: 50%;
  height: auto;
}

/* 上からグラデーションをかけてテキストを読みやすく */
.bg-overlay {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at top left, #5aa5ff55, transparent 60%), linear-gradient(to bottom, #cfcfcf4d 0%, #716969cc 60%, #5655558a 100%);
    pointer-events: none;
}

/* コンテンツ側 */
.image-section__inner {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: -40vh auto 0;   /* ★上に引き上げる。数値で距離を調整 */
  padding: 120px 8vw 260px;
  color: #f5f5f5;
}


.js-wave-list li {
  opacity: 0;
  transform: translateX(-40px); /* 下ではなく左からに変更 */
  transition: opacity 0.9s ease-out, transform 0.9s ease-out; /* 少しゆっくりめ */
}

/* 表示状態 */
.js-wave-list li.is-show {
  opacity: 1;
  transform: translateX(0);
}

/* ベース */
.works {
  background: #2e2e2e;
  color: #fff;
  /* padding: 80px 0; */
}

.works__inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
  padding: 8rem 24px;
}

.works__title {
  font-size: 2.2rem;
  letter-spacing: 0.12em;
  margin-bottom: 40px;
}

/* Swiper */
.works-swiper {
  overflow: visible !important;
}

.works-swiper .swiper-wrapper {
  align-items: stretch;
}

.works-swiper .swiper-slide {
  height: auto;
}

/* カード */
.work-card {
  display: block;
  text-decoration: none;
  color: inherit;
}

.work-card__img {
  overflow: hidden;
}

.work-card__img img {
  width: 100%;
  display: block;
  transform: scale(1.02);
  opacity: .9;
  transition: transform .6s ease, opacity .6s ease;
}

.work-card__meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.25);
}

.work-card__label {
  font-size: 1.2rem;
  letter-spacing: .15em;
  text-transform: lowercase;
  color: rgba(255,255,255,.6);
}

.work-card__arrow {
  font-size: 1.6rem;
  color: white;
}

.work-card__text {
  margin-top: 14px;
}

.work-card__title {
  font-size: 1.4rem;
  line-height: 1.7;
  font-weight: 600;
  color: white;
}
.work-card__title span{
    font-size: 11px;
}

.work-card__sub {
  margin-top: 8px;
  font-size: 1.1rem;
  line-height: 1.6;
  color: rgba(255,255,255,.6);
}

/* hover （PCだけ） */
@media (hover:hover) {
  .work-card:hover .work-card__img img {
    transform: scale(1.06);
    opacity: 1;
  }
}

/* 矢印ボタン */
.works-swiper .swiper-button-prev,
.works-swiper .swiper-button-next {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.8);
  top: 40%;
}

.works-swiper .swiper-button-prev::after,
.works-swiper .swiper-button-next::after {
  font-size: 18px;
}
.work-card__img {
  aspect-ratio: 3 / 4.5;      /* もっと横長にしたければ 16 / 9 などに */
}

.work-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* SP 調整 */
@media (max-width: 767px) {
  .works {
    /* padding: 48px 0; */
  }
  .works__title {
    font-size: 1.6rem;
    margin-bottom: 24px;
  }

  /* スマホは矢印を消して、フリック＋ドットに */
  .works-swiper .swiper-button-prev,
  .works-swiper .swiper-button-next {
    display: none;
  }
}
.swiper-pagination-bullet.swiper-pagination-bullet-active{
	background: white !important;
	opacity: 1 !important;
}






@charset "UTF-8";
body {
    margin: 0;
    padding: 0;
    border: none
}

img,div,p,blockquote,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,form,fieldset,textarea,address,main,article,aside,dialog,figure,footer,header,hgroup,nav,section {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    text-decoration: none;
    list-style-type: none
}

main,article,aside,dialog,figure,footer,header,hgroup,nav,section {
    display: block
}

h1,h2,h3,h4,h5,h6 {
    font-weight: inherit
}

table {
    border: none;
    border-collapse: collapse;
    border-spacing: 0
}

th,td {
    text-align: left;
    vertical-align: top
}

caption {
    text-align: left
}

a,a:focus,a:hover,a:active {
    outline: 0
}

input,input:focus,input:hover,input:active,textarea,textarea:focus,textarea:hover,textarea:active {
    outline: 0
}

img {
    vertical-align: top
}

*:has(>.t_hl) {
    display: grid
}
.t_hl.__black{
    color:black;
}
.t_hl {
    -webkit-margin-before: calc((1.1em - 1lh)/2);
    margin-block-start:calc((1.1em - 1lh)/2);
    -webkit-margin-after: calc((.75em - 1lh)/2);
    margin-block-end:calc((.75em - 1lh)/2);
    color: white;
    }
.footer_t.t_hl{
    font-size: 20px;
}
.creators .t_hl{
    margin-bottom: 4.8rem;
    color: white;
}
.creators .top_highend_btn .t_hl{
    margin-bottom: 0;
}
.ttl_creators{
    margin-bottom: 0px !important;
}
  

.t_hl.t_en {
    -webkit-margin-before: calc((.8em - 1lh)/2);
    margin-block-start:calc((.8em - 1lh)/2);-webkit-margin-after: calc((.7em - 1lh)/2);
    margin-block-end:calc((.7em - 1lh)/2)}

.t_en {
    font-family: "Be Vietnam Pro","IBM Plex Sans JP",sans-serif;
    font-weight: 700
}

.t_enS {
    font-family: "Libre Baskerville",serif
}

html {
    font-size: 10px
}

body {
    overscroll-behavior: none;
    color: #111;
    font-family: "IBM Plex Sans JP",sans-serif;
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 1.85;
    letter-spacing: .04em;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

@media only screen and (min-width: 1600px) {
    html {
        font-size:12.5px
    }
}

@media only screen and (max-width: 1023px) {
    html {
        font-size:2.565vw
    }
}

#wrapper {
    position: relative;
    overflow: clip
}

::-moz-selection {
    background: #111;
    color: #fff
}

::selection {
    background: #111;
    color: #fff
}

a {
    color: #111;
    text-decoration: none;
}

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

input[type=text],input[type=tel],input[type=email],input[type=password],textarea {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    color: #111;
    font-family: "IBM Plex Sans JP",sans-serif;
    outline: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

input[type=text]::placeholder,input[type=text]:placeholder-shown,input[type=text]::-webkit-input-placeholder,input[type=text]:-moz-placeholder,input[type=text]::-moz-placeholder,input[type=text]:-ms-input-placeholder,input[type=tel]::placeholder,input[type=tel]:placeholder-shown,input[type=tel]::-webkit-input-placeholder,input[type=tel]:-moz-placeholder,input[type=tel]::-moz-placeholder,input[type=tel]:-ms-input-placeholder,input[type=email]::placeholder,input[type=email]:placeholder-shown,input[type=email]::-webkit-input-placeholder,input[type=email]:-moz-placeholder,input[type=email]::-moz-placeholder,input[type=email]:-ms-input-placeholder,input[type=password]::placeholder,input[type=password]:placeholder-shown,input[type=password]::-webkit-input-placeholder,input[type=password]:-moz-placeholder,input[type=password]::-moz-placeholder,input[type=password]:-ms-input-placeholder,textarea::placeholder,textarea:placeholder-shown,textarea::-webkit-input-placeholder,textarea:-moz-placeholder,textarea::-moz-placeholder,textarea:-ms-input-placeholder {
    color: #ccc
}

input::-ms-clear {
    visibility: hidden
}

input::-ms-reveal {
    visibility: hidden
}

select {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    color: #111;
    font-family: "IBM Plex Sans JP",sans-serif;
    outline: 0;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

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

button {
    box-sizing: border-box;
    outline: 0;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.symbols {
    display: none;
    position: absolute;
    top: 0;
    left: 0
}

.header:after {
    content: "";
    display: block;
    position: fixed;
    z-index: 99;
    inset: 0;
    background: rgba(255,255,255,.88);
    border: none;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    opacity: 0;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: opacity
}

.header.is-fixed:after {
    opacity: 1
}

.header.is-fixed:before {
    opacity: 1;
    top: 6.4rem
}

@media(min-width: 1024px) {
    .header:after {
        height:6.4rem
    }

    .header:before {
        content: "";
        display: block;
        position: fixed;
        z-index: 100;
        width: calc(100% - 6rem);
        left: 3rem;
        top: 8rem;
        height: 1px;
        background: rgba(0,0,0,.1);
        opacity: 0;
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: opacity,top
    }
}

@media(max-width: 1023px) {
    .header:after {
        height:5.4rem
    }
}

.header_logo {
    position: fixed;
    z-index: 112;
    top: 0;
}

.header_logo a {
    display: block;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: margin,width
}

header.is-fixed .header_logo a {
    background-image: url(/assets/img/logo_black.svg);
}

@media(min-width: 1024px) {
    .header_logo a {
        margin-top:3rem;
        margin-left: 3rem;
        width: 13.2rem;
        height: 5.06rem;
        background-image: url(/assets/img/logo.svg);
        background-repeat: no-repeat;
        background-position: left center;
        background-size: contain;
        display: block;
        overflow: hidden;
        text-indent: -5260px
    }

    header.is-fixed .header_logo a {
        margin-top: .8rem;
        width: 10.5rem
    }
}

@media(max-width: 1023px) {
    .header_logo a {
        margin-top:2rem;
        margin-left: 2rem;
        width: 11rem;
        height: 4.16rem;
        background-image: url(/assets/img/logo.svg);
        background-repeat: no-repeat;
        background-position: left center;
        background-size: contain;
        display: block;
        overflow: hidden;
        text-indent: -5260px
    }

    header.is-fixed .header_logo a {
        margin-top: .6rem;
        margin-left: .7rem;
        width: 10.5rem;
        height: 4rem;
        opacity: 1;
        transition: all 1.2s 
cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: opacity, visibility;
        visibility: visible;
    }

    html.drawerMenu-open .header_logo a {
        background-image: url(/assets/img/logo.svg);
        margin-top: 2rem;
        margin-left: 2rem;
        width: 11rem;
        height: 4.16rem
    }
}

@media(max-width: 1023px) {
    .header_nav {
        visibility:hidden;
        opacity: 0;
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        pointer-events: none;
        z-index: 111;
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: opacity,visibility,transform;
        -webkit-clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0);
        clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0);
        background-color: rgba(0,0,0,0);
        background: #000
    }

    html.drawerMenu-open .header_nav {
        pointer-events: auto;
        visibility: visible;
        opacity: 1
    }
}

@media(max-width: 1023px) {
    .header_nav_wrap {
        display:block;
        overflow: auto;
        scrollbar-width: none;
        height: 100%;
        position: relative;
        z-index: 1
    }
}

@media(max-width: 1023px) {
    .header_nav_menuInner {
        padding:11rem 2rem 4.8rem
    }
}

@media(min-width: 1024px) {
    .header_nav_body {
        position:fixed;
        z-index: 101;
        top: 0;
        left: 0;
        height: 8rem;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 3rem;
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: height
    }

    header.is-fixed .header_nav_body {
        mix-blend-mode: difference;
        height: 6.4rem
    }
}

@media only screen and (min-width: 1024px)and (max-width: 1110px) {
    .header_nav_body {
        gap:1.5rem
    }
}

@media(max-width: 1023px) {
    .header_nav_body {
        margin-top:4.8rem;
        border-top: 1px solid rgba(255,255,255,.2)
    }
}

.header_nav_bodyItem a {
    color: #fff;
    text-decoration: none
}

@media(min-width: 1024px) {
    .header_nav_bodyItem.is-current a:after {
        right:auto;
        left: 0;
        width: 100%
    }

    .header_nav_bodyItem a ,
    .header_nav_bodyItem > span{
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        width: 100%;
        height: auto;
        position: relative;
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: height;
        cursor: pointer;
        padding: 20px 0 !important;
    }

    header.is-fixed .header_nav_bodyItem a {
        height: auto;
    }

    .header_nav_bodyItem a:after {
        position: absolute;
        content: "";
        width: 100%;
        bottom: 0;
        right: 0;
        width: 0;
        height: 2px;
        background: #fff;
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: width
    }

    .header_nav_bodyItem a .l_arw,
    .header_nav_bodyItem > span .l_arw{
        display: none
    }

    html.notouch .header_nav_bodyItem a:hover:after {
        right: auto;
        left: 0;
        width: 100%
    }
}

@media(max-width: 1023px) {
    .header_nav_bodyItem {
        border-bottom:1px solid rgba(255,255,255,.2)
    }

    .header_nav_bodyItem a{
        position: relative;
        display: flex;
        padding: 2.4rem 0
    }
    .header_nav_bodyItem > span{
        position: relative;
        display: flex;
        display: block;
        padding: 2.4rem 0;
    }

    .header_nav_bodyItem a .l_arw,
    .header_nav_bodyItem span .l_arw{
        position: absolute;
        right: 0;
        top: 50%;
        margin-top: -3.2rem;
        width: 6.4rem
    }
}

@media(min-width: 1024px) {
    .header_nav_cv {
        position:fixed;
        z-index: 102;
        top: 0;
        right: 3rem
    }

    header.is-fixed .header_nav_cv {
        mix-blend-mode: difference
    }
}

@media(min-width: 1024px) {
    .header_nav_cvInner {
        height:8rem;
        display: flex;
        align-items: center;
        gap: 1.6rem;
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: height
    }

    header.is-fixed .header_nav_cvInner {
        height: 6.4rem
    }
}

@media(max-width: 1023px) {
    .header_nav_cvInner {
        display:grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1.6rem 1.6rem
    }
}

.header_nav_cvBtn {
    color: #fff;
    text-decoration: none
}

@media(min-width: 1024px) {
    .header_nav_cvBtn {
        display:flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        width: 12rem;
        height: 3.2rem;
        position: relative;
        border: 1px solid #fff;
        border-radius: .5rem;
        font-size: 1.3rem;
        overflow: hidden;
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: border,background,color
    }
}

@media only screen and (min-width: 1024px)and (max-width: 1110px) {
    .header_nav_cvBtn {
        width:10rem
    }
}

@media(min-width: 1024px) {
    .header_nav_cvBtn.__materials {
        border-color:rgba(255,255,255,.3)
    }

    html.notouch .header_nav_cvBtn.__materials:hover {
        color: #111;
        border-color: rgba(0,0,0,0);
        background: rgba(0,0,0,0)
    }

    html.notouch .header_nav_cvBtn.__materials:hover:after {
        left: 0;
        right: auto;
        width: 100%
    }
}

@media(min-width: 1024px) {
    .header_nav_cvBtn.__contact {
        color:#111;
        border-color: rgba(0,0,0,0);
        background: #fff
    }

    .header_nav_cvBtn.__contact:after {
        background: #111
    }

    html.notouch .header_nav_cvBtn.__contact:hover {
        color: #fff;
        background: rgba(0,0,0,0)
    }

    html.notouch .header_nav_cvBtn.__contact:hover:after {
        left: 0;
        right: auto;
        width: 100%
    }
}

@media(min-width: 1024px) {
    .header_nav_cvBtn p {
        position:relative;
        z-index: 1
    }
}

@media(min-width: 1024px) {
    .header_nav_cvBtn:after {
        position:absolute;
        content: "";
        bottom: 0;
        right: 0;
        width: 0;
        height: 100%;
        background: #fff;
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: width,background
    }
}

@media(min-width: 1024px) {
    .header_nav_cvBtn .l_arw {
        display:none
    }
}

@media(max-width: 1023px) {
    .header_nav_cvBtn {
        display:flex;
        align-items: center;
        padding: 0 0 0 1.5rem;
        width: 100%;
        box-sizing: border-box;
        height: 6.4rem;
        border-radius: .4rem;
        overflow: hidden
    }

    .header_nav_cvBtn .l_arw {
        margin-left: auto
    }

    .header_nav_cvBtn.__materials {
        color: #111;
        background: #fff
    }

    .header_nav_cvBtn.__contact {
        background: #333
    }
}

@media(min-width: 1024px) {
    .header_menu {
        display:none
    }
}

@media(max-width: 1023px) {
    .header_menu {
        position:fixed;
        top: 0;
        right: 0;
        z-index: 111;
        width: 8rem;
        height: 5.4rem;
        margin: 0;
        padding: 0;
        border: none;
        border-radius: 0;
        background: none;
        cursor: pointer;
        color: #111;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: transform,top,width,height,border,opacity
    }

    .header_menu:before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        width: 100%;
        height: 2px;
        background: #fff
    }

    header.is-fixed .header_menu {
        mix-blend-mode: difference
    }
}

.header_menu_txt {
    font-size: 1.4rem;
    font-weight: 500;
    text-align: left;
    color: #fff;
    transition: all .3s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: opacity
}

.header_menu_txt .t_en {
    font-weight: 500
}

header.is-fixed .header_menu_txt {
    mix-blend-mode: difference
}

html.drawerMenu-open .header_menu_txt {
    opacity: 0
}

@media(max-width: 1023px) {
    .header_menu_inner {
        position:absolute;
        top: 0;
        width: 8rem;
        height: 5.4rem
    }

    .header_menu_inner .line-1,.header_menu_inner .line-2 {
        position: absolute;
        top: 50%;
        margin-top: -0.2rem;
        right: 1.6rem;
        width: .4rem;
        height: .4rem;
        background: #fff;
        border-radius: 50%;
        transition: all .3s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: right,left,opacity,transform,width,height,background
    }

    .header_menu_inner .line-2 {
        opacity: 0
    }

    header.is-fixed .header_menu_inner .line-1,header.is-fixed .header_menu_inner .line-2 {
        mix-blend-mode: difference
    }

    html.drawerMenu-open .header_menu_inner .line-1,html.drawerMenu-open .header_menu_inner .line-2 {
        position: absolute;
        top: 50%;
        left: 50%;
        margin-top: auto;
        right: auto;
        width: 3.2rem;
        height: 2px;
        border-radius: 0;
        opacity: 1;
        mix-blend-mode: inherit
    }

    html.drawerMenu-open .header_menu_inner .line-1 {
        transform: translate(-50%, -50%) rotate(-30deg)
    }

    html.drawerMenu-open .header_menu_inner .line-2 {
        transform: translate(-50%, -50%) rotate(30deg)
    }
}

html.lenis {
    height: auto
}

.lenis.lenis-smooth {
    scroll-behavior: auto
}

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain
}

.lenis.lenis-stopped {
    overflow: hidden
}

.lenis.lenis-scrolling iframe {
    pointer-events: none
}

.c_wrap {
    max-width: 108rem;
    position: relative;
    margin-right: auto;
    margin-left: auto;
    padding-right: 2rem;
    padding-left: 2rem
}

.c_pagettl {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center
}

@media(min-width: 1024px) {
    .c_pagettl {
        padding-top:18rem;
        padding-bottom: 11.2rem
    }
}

@media(max-width: 1023px) {
    .c_pagettl {
        padding-top:10rem;
        padding-bottom: 7rem
    }
}

.c_pagettl_ttl {
    font-weight: 700
}

@media(min-width: 1024px) {
    .c_pagettl_ttl {
        font-size:4.2rem
    }
}

@media(max-width: 1023px) {
    .c_pagettl_ttl {
        font-size:2.4rem
    }
}

.c_pagettl_sub {
    font-weight: 700;
    color: #999
}

@media(min-width: 1024px) {
    .c_pagettl_sub {
        font-size:1.4rem
    }
}

@media(min-width: 1024px) {
    .c_section+.c_section {
        margin-top:11.2rem
    }
}

@media(max-width: 1023px) {
    .c_section+.c_section {
        margin-top:8rem
    }
}

@media(min-width: 1024px) {
    .c_col2 {
        display:flex;
        justify-content: space-between;
        flex-wrap: wrap;
        position: relative
    }
}

@media(min-width: 1024px) {
    .c_col2_side {
        border-top:1px solid #111;
        padding-top: 8rem;
        box-sizing: border-box;
        width: 15rem;
        position: sticky;
        z-index: 20;
        top: 11.2rem;
        height: 100%
    }
}

@media(max-width: 1023px) {
    .c_col2_side {
        border-top:1px solid #111;
        padding-top: 3.2rem;
        margin-bottom: 4.8rem
    }
}

.c_col2_sideTtl {
    line-height: 1.44
}

@media(min-width: 1024px) {
    .c_col2_sideTtl {
        font-size:1.8rem
    }
}

@media(max-width: 1023px) {
    .c_col2_sideTtl {
        font-size:1.6rem
    }
}

@media(min-width: 1024px) {
    .c_col2_body {
        border-top:1px solid #ccc;
        padding-top: 8rem;
        width: calc(100% - 21rem)
    }
}

.footer {
    position: relative;
    background: #111;
    color: #fff
}

.footer a {
    color: #fff;
    text-decoration: none
}

@media(min-width: 1024px) {
    .footer {
        padding-bottom:11.2rem
    }
}

@media(max-width: 1023px) {
    .footer {
        padding-bottom:11.2rem
    }
}

.footer_cv_video {
    position: absolute;
    aspect-ratio: 1440/768;
    width: 100%
}

.footer_cv_video video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media(min-width: 1024px) {
    .footer_cv_video {
        height:76.8rem
    }
}

@media(max-width: 1023px) {
    .footer_cv_video {
        height: 49.7rem;
    }
}

.footer_cv_body {
    position: relative;
    z-index: 1
}

@media(min-width: 1024px) {
    .footer_cv_body {
        padding-top:42rem
    }
}

@media(max-width: 1023px) {
    .footer_cv_body {
        padding-top:8rem
    }
}

.footer_cv_ttl {
    text-align: center;
    font-weight: 700
}

@media(min-width: 1024px) {
    .footer_cv_ttl {
        font-size:4.2rem
    }
}

@media(max-width: 1023px) {
    .footer_cv_ttl {
        font-size: 2.4rem !important;
    }
}

@media(min-width: 1024px) {
    .footer_cv_lead {
        text-align:center;
        margin-top: 4.8rem;
        font-size: 1.8rem
    }
}

@media(max-width: 1023px) {
    .footer_cv_lead {
        margin-top:3.2rem
    }
}

@media(min-width: 1024px) {
    .footer_cv_btn {
        margin-top:8rem;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1.6rem 6rem
    }
}

@media(max-width: 1023px) {
    .footer_cv_btn {
        margin-top:4.8rem
    }
}

.footer_cv_btnItem {
    color: #fff;
    text-decoration: none;
    display: flex;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
    border-radius: .8rem;
    overflow: hidden;
    position: relative
}

@media(min-width: 1024px) {
    .footer_cv_btnItem {
        padding:0 0 0 6rem;
        font-size: 2rem;
        height: 17.6rem;
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: border,background,color,box-shadow
    }

    .footer_cv_btnItem .l_arw {
        width: 20rem;
        margin-left: auto;
        position: relative;
        z-index: 1
    }

    .footer_cv_btnItem .l_arw_icon {
        width: 1.6rem
    }

    .footer_cv_btnItem.__materials {
        color: #111;
        background: #fff
    }

    .footer_cv_btnItem.__materials:after {
        background: #000
    }

    html.notouch .footer_cv_btnItem.__materials:hover {
        color: #fff;
        background: #000;
        box-shadow: 0px 0px 6.4rem 0px rgba(255,255,255,.2)
    }

    html.notouch .footer_cv_btnItem.__materials:hover .l_arw.__black::before {
        background-image: linear-gradient(to bottom, #ffffff, #ffffff 1px, transparent 1px, transparent 2px);
        background-repeat: repeat-y;
        background-position: left top;
        background-size: 1px 3px
    }

    html.notouch .footer_cv_btnItem.__materials:hover .l_arw_icon {
        background-color: #fff
    }

    html.notouch .footer_cv_btnItem.__materials:hover:after {
        left: 0;
        right: auto;
        width: 100%
    }

    .footer_cv_btnItem.__contact {
        background: #333
    }

    .footer_cv_btnItem.__contact:after {
        background: #000
    }

    html.notouch .footer_cv_btnItem.__contact:hover {
        box-shadow: 0px 0px 6.4rem 0px rgba(255,255,255,.2)
    }

    html.notouch .footer_cv_btnItem.__contact:hover:after {
        left: 0;
        right: auto;
        width: 100%
    }

    .footer_cv_btnItem p {
        position: relative;
        z-index: 1
    }

    .footer_cv_btnItem:after {
        position: absolute;
        content: "";
        bottom: 0;
        right: 0;
        width: 0;
        height: 100%;
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: width,background
    }
}

@media(max-width: 1023px) {
    .footer_cv_btnItem {
        padding:0 0 0 3rem;
        font-size: 1.6rem;
        height: 8rem
    }

    .footer_cv_btnItem+.footer_cv_btnItem {
        margin-top: 2rem
    }

    .footer_cv_btnItem .l_arw {
        width: 8rem;
        margin-left: auto;
        position: relative;
        z-index: 1
    }

    .footer_cv_btnItem .l_arw_icon {
        width: 1.4rem
    }

    .footer_cv_btnItem.__materials {
        color: #111;
        background: #fff
    }

    .footer_cv_btnItem.__materials:after {
        background: #000
    }

    .footer_cv_btnItem.__contact {
        background: #333
    }

    .footer_cv_btnItem.__contact:after {
        background: #000
    }
}

.footer_news {
    position: relative;
    background: #2b2b2b
}

.footer_news::before {
    background: #1b1b1b;
    border: 1px solid rgba(255,255,255,.15);
    content: "";
    display: block;
    position: absolute;
    z-index: 0
}

@media(min-width: 1024px) {
    .footer_news {
        margin-top:8rem;
        padding: 8rem 6rem;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1.6rem 6rem
    }

    .footer_news::before {
        inset: .8rem
    }
}

@media(max-width: 1023px) {
    .footer_news {
        margin-top:5.4rem;
        padding: 3rem 2.5rem;
        display: flex;
        flex-direction: column
    }

    .footer_news::before {
        inset: .4rem
    }
}

.footer_news_text {
    position: relative;
    z-index: 1
}

@media(max-width: 1023px) {
    .footer_news_text {
        display:contents
    }
}

.footer_news_textTtl {
    letter-spacing: 0
}

@media(min-width: 1024px) {
    .footer_news_textTtl {
        font-size:1.8rem;
        line-height: 1.4
    }
}

@media(max-width: 1023px) {
    .footer_news_textTtl {
        position:relative;
        z-index: 1;
        text-align: center;
        font-size: 1.6rem;
        line-height: 1.5;
        order: 1
    }
}

.footer_news_textTxt {
    opacity: .5;
    font-size: 1.2rem
}

@media(min-width: 1024px) {
    .footer_news_textTxt {
        margin-top:2.4rem
    }
}

@media(max-width: 1023px) {
    .footer_news_textTxt {
        position:relative;
        z-index: 1;
        text-align: center;
        margin-top: 2.4rem;
        order: 3
    }
}

.footer_news_form {
    position: relative;
    z-index: 1
}

@media(max-width: 1023px) {
    .footer_news_form {
        display:contents
    }
}

@media(max-width: 1023px) {
    .footer_news_formInner {
        position:relative;
        z-index: 1;
        order: 2
    }
}

@media(min-width: 1024px) {
    .footer_info {
        margin-top:8rem
    }
}

@media(max-width: 1023px) {
    .footer_info {
        margin-top:4.8rem
    }
}

@media(min-width: 1024px) {
    .footer_info_company {
        display:flex;
        justify-content: space-between;
        align-items: end
    }
}

@media(min-width: 1024px) {
    .footer_info_logoTxt {
        margin-bottom:1.6rem
    }
}

@media(max-width: 1023px) {
    .footer_info_logoTxt {
        margin-bottom:1.6rem;
        text-align: center;
        font-size: 1.2rem;
        letter-spacing: 0
    }
}

@media(min-width: 1024px) {
    .footer_info_logoImg {
        width:24rem
    }
}

@media(max-width: 1023px) {
    .footer_info_logoImg {
        width:24rem;
        margin: 0 auto
    }
}

.footer_info_sns .is-disabled {
    opacity: .2;
    pointer-events: none
}

@media(min-width: 1024px) {
    .footer_info_sns ul {
        display:flex;
        align-items: center;
        justify-content: center;
        gap: 3rem
    }

    .footer_info_sns ul li a {
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: opacity
    }

    html.notouch .footer_info_sns ul li a:hover {
        opacity: .5
    }
}

@media(max-width: 1023px) {
    .footer_info_sns {
        margin-top:4.8rem;
        border-top: 1px solid rgba(255,255,255,.1);
        border-bottom: 1px solid rgba(255,255,255,.1);
        padding: 2.4rem 0
    }

    .footer_info_sns ul {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 2.4rem
    }

    .footer_info_sns ul li a {
        display: flex;
        align-items: center;
        justify-content: center
    }
}

@media(min-width: 1024px) {
    .footer_info_links {
        margin-top:6rem;
        display: flex;
        align-items: baseline;
        justify-content: space-between
    }
}

@media(max-width: 1023px) {
    .footer_info_links {
        margin-top:4.8rem;
        display: flex;
        flex-flow: column-reverse wrap-reverse
    }
}

.footer_info_copyright .t_hl {
    color: #666;
    font-weight: 400
}

@media(min-width: 1024px) {
    .footer_info_copyright .t_hl {
        font-size:1.2rem
    }
}

@media(max-width: 1023px) {
    .footer_info_copyright {
        margin-top:4.8rem;
        text-align: center
    }

    .footer_info_copyright .t_hl {
        font-size: 1.1rem
    }
}

.footer_info_sitemap ul {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: .8rem 1.6rem
}

.footer_info_sitemap ul li {
    font-size: 1.2rem
}

.l_btn {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    height: 6.4rem;
    text-decoration: none;
    border-bottom: 1px solid #ccc
}
.works .l_btn{
    color: white;
}

.l_btn:before,.l_btn:after {
    content: "";
    display: block;
    position: absolute;
    bottom: -1px;
    left: 0;
    height: 1px
}

.l_btn:before {
    left: auto;
    right: 0;
    width: 0;
    background: #df0018;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: width
}

.l_btn:after {
    left: auto;
    right: 0;
    width: 6.4rem;
    background: #df0018
}

.l_btn .l_arw {
    width: 6.4rem
}

html.notouch .l_btn:hover:before {
    left: 0;
    right: auto;
    width: 100%
}

@-webkit-keyframes arw_r {
    0%,100% {
        opacity: 1;
        transform: translateX(0)
    }

    50% {
        opacity: 0;
        transform: translateX(0.5rem)
    }

    50.1% {
        opacity: 0;
        transform: translateX(-0.5rem)
    }
}

@keyframes arw_r {
    0%,100% {
        opacity: 1;
        transform: translateX(0)
    }

    50% {
        opacity: 0;
        transform: translateX(0.5rem)
    }

    50.1% {
        opacity: 0;
        transform: translateX(-0.5rem)
    }
}

@-webkit-keyframes arw_l {
    0%,100% {
        opacity: 1;
        transform: translateX(0)
    }

    50% {
        opacity: 0;
        transform: translateX(-0.5rem)
    }

    50.1% {
        opacity: 0;
        transform: translateX(0.5rem)
    }
}

@keyframes arw_l {
    0%,100% {
        opacity: 1;
        transform: translateX(0)
    }

    50% {
        opacity: 0;
        transform: translateX(-0.5rem)
    }

    50.1% {
        opacity: 0;
        transform: translateX(0.5rem)
    }
}

.l_arw_moveIcon {
    position: relative;
    width: 1.4rem;
    height: 1.4rem
}

.l_arw_moveIcon:after {
    position: absolute;
    z-index: 2;
    top: 0rem;
    left: 0;
    bottom: 0;
    display: block;
    content: "";
    width: 1.4rem;
    height: 1.4rem;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url(../imgs/common/arw.svg);
    margin: auto 0;
    transition-property: background-image
}

.l_arw_moveIcon.__left:after {
    background-image: url(../imgs/common/arw_l.svg)
}

html.notouch a:hover .l_arw_moveIcon:after {
    -webkit-animation: arw_r 1.2s cubic-bezier(0.55, 0.05, 0.22, 0.99) 0s;
    animation: arw_r 1.2s cubic-bezier(0.55, 0.05, 0.22, 0.99) 0s
}

html.notouch a:hover .l_arw_moveIcon.__left:after {
    -webkit-animation: arw_l 1.2s cubic-bezier(0.55, 0.05, 0.22, 0.99) 0s;
    animation: arw_l 1.2s cubic-bezier(0.55, 0.05, 0.22, 0.99) 0s
}

.l_arw {
    width: 5rem;
    aspect-ratio: 1/1;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center
}

.l_arw::before {
    background-image: linear-gradient(to bottom, #ffffff, #ffffff 1px, transparent 1px, transparent 2px);
    background-repeat: repeat-y;
    background-position: left top;
    background-size: 1px 3px;
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - .7rem);
    left: 0;
    width: 1px;
    height: 1.4rem;
    opacity: .4;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: background
}

.l_arw.__black::before {
    background-image: linear-gradient(to bottom, #111111, #111111 1px, transparent 1px, transparent 2px);
    background-repeat: repeat-y;
    background-position: left top;
    background-size: 1px 3px
}

.l_arw.__black .l_arw_icon {
    background: #111
}
.creators .l_arw_icon{
    background: white !important;
}

.l_arw.__circle {
    width: 1.6rem;
    background: #111;
    border-radius: 50%
}

.l_arw.__circle::before {
    display: none
}
.works .l_arw_icon{
    background: white !important;
}

.l_arw.__circle .l_arw_icon {
    width: .7rem
}

.l_arw_icon {
    display: block;
    width: 1.4rem;
    aspect-ratio: 1/1;
    background: #fff;
    -webkit-mask-image: url(/assets/img/arw_white.svg);
    mask-image: url(/assets/img/arw_white.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: 0 0;
    mask-position: 0 0;
    -webkit-mask-size: contain;
    mask-size: contain;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: background
}

.l_arw_plus {
    display: block;
    width: 1.4rem;
    aspect-ratio: 1/1;
    background: #111;
    -webkit-mask-image: url(../imgs/common/plus.svg);
    mask-image: url(../imgs/common/plus.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: 0 0;
    mask-position: 0 0;
    -webkit-mask-size: contain;
    mask-size: contain;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: background
}

@-webkit-keyframes linelink {
    0% {
        background-position: right bottom 2px;
        background-size: 100% 1px
    }

    50% {
        background-position: right bottom 2px;
        background-size: 0 1px
    }

    51% {
        background-position: left bottom 2px;
        background-size: 0 1px
    }

    100% {
        background-position: left bottom 2px;
        background-size: 100% 1px
    }
}

@keyframes linelink {
    0% {
        background-position: right bottom 2px;
        background-size: 100% 1px
    }

    50% {
        background-position: right bottom 2px;
        background-size: 0 1px
    }

    51% {
        background-position: left bottom 2px;
        background-size: 0 1px
    }

    100% {
        background-position: left bottom 2px;
        background-size: 100% 1px
    }
}

@-webkit-keyframes linelinkB2 {
    0% {
        background-position: right bottom 2px;
        background-size: 100% 2px
    }

    50% {
        background-position: right bottom 2px;
        background-size: 0 2px
    }

    51% {
        background-position: left bottom 2px;
        background-size: 0 2px
    }

    100% {
        background-position: left bottom 2px;
        background-size: 100% 2px
    }
}

@keyframes linelinkB2 {
    0% {
        background-position: right bottom 2px;
        background-size: 100% 2px
    }

    50% {
        background-position: right bottom 2px;
        background-size: 0 2px
    }

    51% {
        background-position: left bottom 2px;
        background-size: 0 2px
    }

    100% {
        background-position: left bottom 2px;
        background-size: 100% 2px
    }
}

.l_linelink {
    display: inline-block;
    color: #111;
    line-height: 1.5;
    text-decoration: none
}

.l_linelink.b2 .l_linelink_txt {
    background-size: 100% 2px
}

html.notouch .l_linelink.b2:hover .l_linelink_txt,html.notouch a:hover .l_linelink.b2 .l_linelink_txt {
    -webkit-animation: linelinkB2 1.2s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    animation: linelinkB2 1.2s cubic-bezier(0.55, 0.05, 0.22, 0.99)
}

.l_linelink_txt {
    will-change: background-size;
    background: url(../imgs/common/line.svg) no-repeat left bottom 2px;
    background-size: 100% 1px
}

.l_linelink_txt.__gray {
    background-image: url(../imgs/common/line-gray.svg)
}

.l_linelink_txt.__white {
    background-image: url(../imgs/common/line-white.svg)
}

html.notouch .l_linelink:hover .l_linelink_txt,html.notouch a:hover .l_linelink .l_linelink_txt {
    -webkit-animation: linelink 1.2s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    animation: linelink 1.2s cubic-bezier(0.55, 0.05, 0.22, 0.99)
}

.l_linelink.__hidden .l_linelink_txt {
    transition: background-size .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    background-position: right bottom 2px;
    background-size: 0 1px
}

html.notouch .l_linelink.__hidden:hover .l_linelink_txt,html.notouch a:hover .l_linelink.__hidden .l_linelink_txt {
    -webkit-animation: none;
    animation: none;
    background-position: left bottom 2px;
    background-size: 100% 1px
}

@media only screen and (max-width: 1023px) {
    .l_linelink.b2 .l_linelink_txt {
        background-size:100% 1px
    }

    .l_linelink.__hidden .l_linelink_txt {
        text-decoration: none
    }
}

.l-txtlink {
    text-decoration: none;
    font-size: 1.2rem;
    font-weight: 500;
    padding-right: 5rem;
    position: relative;
    color: #484d49;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: color;
    display: inline-block
}

.l-txtlink.left {
    padding-right: 0;
    padding-left: 5rem
}

.l-txtlink.left .line {
    right: auto;
    left: 0
}

.l-txtlink.left .line:after {
    left: 0;
    right: auto
}

html.notouch .l-txtlink.left:hover .line:after {
    left: auto;
    right: 0
}

.l-txtlink .line {
    width: 4rem;
    position: absolute;
    right: 0;
    top: 50%;
    display: block
}

.l-txtlink .line:before,.l-txtlink .line:after {
    position: absolute;
    content: "";
    display: block;
    right: 0;
    width: 100%;
    height: 1px;
    background: #c6ccc7;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: width
}

.l-txtlink .line:after {
    width: 0;
    background: #111
}

html.notouch .l-txtlink:hover {
    color: #111
}

html.notouch .l-txtlink:hover .line:after {
    left: 0;
    right: auto;
    width: 100%
}

.img-ov {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
    position: relative;
    z-index: 0
}

.img-ov img {
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transform: scale(1.005)
}

html.notouch a:hover .img-ov img {
    transform: scale(1.05) !important
}

.js_contact_btn {
    position: fixed;
    z-index: 103;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.15))
}

.js_contact_btn a {
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: width,background;
    height: 4.8rem;
    transform: translate3d(0, 0, 0)
}

.js_contact_btn.is_hidden a {
    width: 4.8rem
}

.js_contact_btn.is_hidden a .js_contact_btnTxt {
    opacity: 0;
    transition-delay: 0s
}

.js_contact_btn.is_hidden a .js_contact_btnIcon {
    opacity: 1;
    transition-delay: .3s
}

@media(min-width: 1024px) {
    .js_contact_btn {
        right:3rem;
        bottom: 3rem
    }

    .js_contact_btn a {
        width: 18rem;
        border-radius: 4.8rem 4.8rem 0 4.8rem
    }

    .js_contact_btn a:after {
        position: absolute;
        content: "";
        bottom: 0;
        right: 0;
        width: 0;
        height: 100%;
        background: #000;
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: width,background
    }

    html.notouch .js_contact_btn a:hover {
        background: #000
    }

    html.notouch .js_contact_btn a:hover:after {
        left: 0;
        right: auto;
        width: 100%
    }

    html.notouch .js_contact_btn a:hover .js_contact_btnTxt {
        color: #fff
    }

    html.notouch .js_contact_btn a:hover .js_contact_btnIcon {
        background: #fff
    }
}

@media(max-width: 1023px) {
    .js_contact_btn {
        right:1.6rem;
        bottom: 1.6rem;
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: bottom
    }

    .js_contact_btn.is-action {
        bottom: calc(6.6rem + env(safe-area-inset-bottom))
    }

    .js_contact_btn a {
        border-radius: .8rem .8rem 0 .8rem;
        width: 16rem
    }
}

.js_contact_btnTxt {
    position: absolute;
    white-space: nowrap;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99) .3s;
    transition-property: opacity,color;
    z-index: 1
}

@media(max-width: 1023px) {
    .js_contact_btnTxt {
        font-size:1.2rem
    }
}

.js_contact_btnIcon {
    width: 1.8rem;
    height: 1.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: opacity,background;
    opacity: 0;
    position: relative;
    z-index: 1;
    background: #111;
    -webkit-mask-image: url(/assets/img/contact.svg);
    mask-image: url(/assets/img/contact.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: 0 0;
    mask-position: 0 0;
    -webkit-mask-size: contain;
    mask-size: contain
}

@media(max-width: 1023px) {
    .js_contact_btnIcon {
        width:1.6rem;
        height: 1.6rem
    }
}

.js_ac_content {
    display: none
}

.js_modal {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box
}

@media(min-width: 1024px) {
    .js_modal {
        padding:8.8rem 0
    }
}

@media(max-width: 1023px) {
    .js_modal {
        padding:6rem 0
    }
}

.js_modal_content {
    aspect-ratio: 16/9;
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    width: 100%;
    max-width: 1440px;
    height: 100%
}

.js_modal_content iframe {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain
}

.js_modal_open {
    cursor: pointer
}

.js_modal_close {
    position: absolute;
    z-index: 1;
    top: 2rem;
    right: 2rem;
    width: 4.8rem;
    height: 4.8rem;
    border: 1px solid rgba(255,255,255,.4);
    border-radius: 50%
}

.js_modal_close:before {
    content: "";
    display: block;
    transform: translate(-50%, -50%);
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1.6rem;
    height: 1.6rem;
    background: rgba(255,255,255,.6);
    -webkit-mask-image: url(../imgs/common/arw_close.svg);
    mask-image: url(../imgs/common/arw_close.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: 0 0;
    mask-position: 0 0;
    -webkit-mask-size: contain;
    mask-size: contain
}

.js-parallax {
    display: block
}

@media only screen and (max-width: 1023px) {
    .js-parallax {
        transform:none !important
    }
}

.js-easing-fade {
    opacity: 0
}

.js-easing-fade.is-visible {
    transition: all 1.2s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: opacity;
    opacity: 1
}

.js-easing-blur {
    opacity: 0
}

.js-easing-blur.is-visible {
    transition: all 1.2s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: opacity,filter;
    opacity: 1
}

.js-bodyChange.is-hidden {
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: opacity,filter;
    opacity: 0;
    filter: blur(10px)
}

.f-contents.confirm .item {
    max-width: 100%
}

.f-contents.confirm .item dt {
    opacity: .5
}

.f-contents .item {
    position: relative;
    display: block;
    max-width: 30rem
}

.f-contents .item.f-contents-msg {
    max-width: 60rem
}

.f-contents .item+.item {
    margin-top: 3.5rem
}

.f-contents .item dt {
    margin-bottom: .6rem;
    position: relative;
    padding-left: 1rem
}

.f-contents .item dt:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 1.2rem;
    width: .5rem;
    height: .5rem;
    background: #111
}

.f-contents .item dt .jp {
    font-size: 1.3rem;
    font-weight: 600
}

.f-contents .item dt .en {
    padding-left: .8rem;
    font-size: 1.1rem;
    color: #727773
}

.f-contents .item dt .required {
    position: absolute;
    right: 0;
    top: .6rem;
    font-size: 1.1rem;
    line-height: 1;
    color: #fff;
    background: #727773;
    padding: .3rem;
    font-weight: 600
}

@media only screen and (max-width: 1023px) {
    .f-contents .item {
        max-width:100%
    }

    .f-contents .item.f-contents-msg {
        max-width: 100%
    }

    .f-contents .item dt .jp {
        font-size: 1.3rem;
        font-weight: 600
    }

    .f-contents .item dt .en {
        display: block;
        padding-left: 0;
        line-height: 1.4
    }

    .f-contents .item dt .required {
        top: .5rem
    }
}

.f-contents-agreement {
    margin-top: 4rem;
    max-width: 60rem
}

.f-contents-agreement__txt {
    box-sizing: border-box;
    background: rgba(183,183,183,.3);
    padding: 2.5rem;
    font-size: 1.1rem;
    height: 20rem;
    overflow: auto;
    position: relative
}

.f-contents-agreement__txt p {
    margin-bottom: 2.5rem
}

.f-contents-agreement__txt dl+dl {
    margin-top: 2.5rem
}

.f-contents-agreement__txt dl dt {
    font-weight: 600
}

.f-contents-agreement .form__checkbox {
    margin-top: 2rem
}

@media only screen and (max-width: 1023px) {
    .f-contents-agreement {
        max-width:100%
    }

    .f-contents-agreement__txt {
        padding: 2rem 1.5rem
    }

    .f-contents-agreement .form__checkbox {
        margin-top: 1.3rem
    }
}

.form-text {
    box-sizing: border-box;
    display: block;
    width: 100%;
    height: 4rem;
    margin: 0;
    padding: 1.5rem;
    border-radius: 0;
    border: 1px solid #111;
    background: none;
    font-size: 1.3rem;
    line-height: 1.72;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.form-inner {
    display: block;
    position: relative
}

label.error {
    display: block;
    color: #d90000;
    font-weight: 600;
    line-height: 1.4;
    padding-top: .5rem;
    font-size: 1.2rem
}

input.form-text,textarea.form-text {
    padding: 1.5rem;
    background-color: #fff
}

input.form-text.error,textarea.form-text.error {
    border-color: #d90000
}

textarea.form-text {
    max-width: 100%;
    height: 20rem
}

.form-checkbox {
    display: inline-block;
    position: relative;
    padding-left: 2.5rem;
    font-size: 1.3rem;
    line-height: 1
}

.form-checkbox label {
    display: block;
    cursor: pointer
}

.form-checkbox .checkbox {
    visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 0;
    background: none;
    opacity: 0
}

.form-checkbox .checkbox:checked+.icon {
    border-color: #111
}

.form-checkbox .checkbox:checked+.icon:before {
    opacity: 1
}

.form-checkbox .icon {
    box-sizing: border-box;
    display: block;
    position: absolute;
    top: 0rem;
    left: 0;
    width: 1.5rem;
    height: 1.5rem;
    border: #727773 solid 1px;
    background: #fff
}

.form-checkbox .icon:before {
    content: "";
    position: absolute;
    top: .2rem;
    left: .1rem;
    display: block;
    width: 1.1rem;
    height: .8rem;
    background-image: url(../imgs/common/check.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    transition: opacity .3s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: transform,opacity;
    opacity: 0
}

.form-selectbox {
    box-sizing: border-box;
    display: inline-block;
    width: 100%;
    position: relative;
    z-index: 1;
    border-radius: 0
}

.form-selectbox:before {
    content: "";
    position: absolute;
    right: .8rem;
    top: 50%;
    transform: translateY(-50%);
    border-left: .5rem solid rgba(0,0,0,0);
    border-right: .5rem solid rgba(0,0,0,0);
    border-top: .7rem solid #111;
    width: 0;
    height: 0
}

.form-selectbox select {
    display: block;
    width: 100%;
    height: 5rem;
    margin: 0;
    padding: 0 1rem;
    border: none;
    border-radius: 0;
    background: none;
    cursor: pointer;
    outline: none;
    font-size: 1.3rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: solid 1px #ccc
}

.form-selectbox select.error {
    border-color: #d90000
}

.form-selectbox select::-ms-expand {
    display: none
}

.p-contact-complete__erro {
    margin-top: 4rem;
    border: 1px solid #ccc;
    padding: 3rem
}

.p-contact-complete__erro .list {
    margin-top: 1rem
}

.p-contact-complete__erro .cap {
    margin-top: 1.5rem;
    font-size: 1.1rem;
    opacity: .5
}

.p-contact-complete__erro .cap.en {
    opacity: 1
}

.p-contact-complete__erro .cap.en a {
    color: #111
}

.p-contact-complete__erro .enarea {
    margin-top: 2rem
}

.p-contact-complete__erro .enarea .en {
    font-size: 1.1rem;
    color: #727773;
    line-height: 1.4
}

.p-contact-complete__erro .enarea .en a {
    color: #727773
}

.p-contact-complete__btn {
    margin-top: 4rem
}

@media only screen and (max-width: 1023px) {
    .p-contact-complete__erro {
        margin-top:3rem;
        padding: 1.5rem;
        font-size: 1.1rem
    }

    .p-contact-complete__btn {
        margin-top: 4rem
    }
}

.form-btnArea {
    position: relative;
    margin-top: 4rem
}

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

input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px #fff inset
}

input.valid:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px #fff inset
}

input:-moz-placeholder-shown, textarea:-moz-placeholder-shown {
    color: #989898;
    font-family: "IBM Plex Sans JP",sans-serif
}

input:placeholder-shown,textarea:placeholder-shown {
    color: #989898;
    font-family: "IBM Plex Sans JP",sans-serif
}

input::-webkit-input-placeholder,textarea::-webkit-input-placeholder {
    color: #989898;
    font-family: "IBM Plex Sans JP",sans-serif
}

input:-moz-placeholder,textarea:-moz-placeholder {
    color: #989898;
    font-family: "IBM Plex Sans JP",sans-serif
}

input::-moz-placeholder,textarea::-moz-placeholder {
    color: #989898;
    font-family: "IBM Plex Sans JP",sans-serif
}

input:-ms-input-placeholder,textarea:-ms-input-placeholder {
    color: #989898;
    font-family: "IBM Plex Sans JP",sans-serif
}

input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0
}

input[type=number] {
    -moz-appearance: textfield
}

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

.swiper-container {
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1
}

.swiper-container-no-flexbox .swiper-slide {
    float: left
}

.swiper-container-vertical>.swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    box-sizing: content-box
}

.swiper-container-android .swiper-slide,.swiper-wrapper {
    transform: translate3d(0, 0, 0)
}

.swiper-container-multirow>.swiper-wrapper {
    flex-wrap: wrap
}

.swiper-container-free-mode>.swiper-wrapper {
    transition-timing-function: ease-out;
    margin: 0 auto
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide {
    height: auto
}

.swiper-container-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform,height
}

.swiper-container-3d {
    perspective: 1200px
}

.swiper-container-3d .swiper-cube-shadow,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10
}

.swiper-container-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-container-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-container-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-container-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-container-wp8-horizontal,.swiper-container-wp8-horizontal>.swiper-wrapper {
    touch-action: pan-y
}

.swiper-container-wp8-vertical,.swiper-container-wp8-vertical>.swiper-wrapper {
    touch-action: pan-x
}

.swiper-button-next,.swiper-button-prev {
    position: absolute;
    top: 50%;
    width: 27px;
    height: 44px;
    margin-top: -22px;
    z-index: 10;
    cursor: pointer;
    background-size: 27px 44px;
    background-position: center;
    background-repeat: no-repeat
}

.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled {
    opacity: .35;
    cursor: auto;
    pointer-events: none
}

.swiper-button-prev,.swiper-container-rtl .swiper-button-next {
    background-image: url("/assets/img/arw_white.svg");
    left: 10px;
    right: auto;
    background-size: 10px;
    transform: rotate(180deg);
}

.swiper-button-next,.swiper-container-rtl .swiper-button-prev {
    background-image: url("/assets/img/arw_white.svg");
    right: 10px;
    left: auto;
    background-size: 10px;
}

.swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")
}

.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")
}

.swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")
}

.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")
}

.swiper-button-lock {
    display: none
}

.swiper-pagination {
    /* position: absolute !important; */
    text-align: center !important;
    transition: .3s opacity !important;
    transform: translate3d(0, 0, 0) !important;
    z-index: 10 !important;
    bottom: 0px!important;
    margin-top: 30px;
}

.swiper-pagination.swiper-pagination-hidden {
    opacity: 0
}

.swiper-container-horizontal>.swiper-pagination-bullets,.swiper-pagination-custom,.swiper-pagination-fraction {
    bottom: 10px;
    left: 0;
    width: 100%
}

.swiper-pagination-bullets-dynamic {
    overflow: hidden;
    font-size: 0
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transform: scale(0.33);
    position: relative
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    transform: scale(0.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    transform: scale(0.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    transform: scale(0.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    transform: scale(0.33)
}

.swiper-pagination-bullet {
    width: 8px !important;
    height: 8px !important;
    display: inline-block;
    border-radius: 100% !important;
    background: #000 !important;
    opacity: .2 !important;
}

button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer !important;
}

.swiper-pagination-bullet-active {
    opacity: 1;
    background: #007aff
}

.swiper-container-vertical>.swiper-pagination-bullets {
    right: 10px;
    top: 50%;
    transform: translate3d(0, -50%, 0)
}

.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 6px 0;
    display: block
}

.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px
}

.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    display: inline-block;
    transition: .2s top,.2s -webkit-transform;
    transition: .2s transform,.2s top;
    transition: .2s transform,.2s top,.2s -webkit-transform
}

.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 4px
}

.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap
}

.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s left,.2s -webkit-transform;
    transition: .2s transform,.2s left;
    transition: .2s transform,.2s left,.2s -webkit-transform
}

.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s right,.2s -webkit-transform;
    transition: .2s transform,.2s right;
    transition: .2s transform,.2s right,.2s -webkit-transform
}

.swiper-pagination-progressbar {
    background: rgba(0,0,0,.25);
    position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: #007aff;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top
}

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    transform-origin: right top
}

.swiper-container-horizontal>.swiper-pagination-progressbar,.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: 4px;
    left: 0;
    top: 0
}

.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-container-vertical>.swiper-pagination-progressbar {
    width: 4px;
    height: 100%;
    left: 0;
    top: 0
}

.swiper-pagination-white .swiper-pagination-bullet-active {
    background: #fff
}

.swiper-pagination-progressbar.swiper-pagination-white {
    background: rgba(255,255,255,.25)
}

.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill {
    background: #fff
}

.swiper-pagination-black .swiper-pagination-bullet-active {
    background: #000
}

.swiper-pagination-progressbar.swiper-pagination-black {
    background: rgba(0,0,0,.25)
}

.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill {
    background: #000
}

.swiper-pagination-lock {
    display: none
}

.swiper-scrollbar {
    border-radius: 10px;
    position: relative;
    -ms-touch-action: none;
    background: rgba(0,0,0,.1)
}

.swiper-container-horizontal>.swiper-scrollbar {
    position: absolute;
    left: 1%;
    bottom: 3px;
    z-index: 50;
    height: 5px;
    width: 98%
}

.swiper-container-vertical>.swiper-scrollbar {
    position: absolute;
    right: 3px;
    top: 1%;
    z-index: 50;
    width: 5px;
    height: 98%
}

.swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: rgba(0,0,0,.5);
    border-radius: 10px;
    left: 0;
    top: 0
}

.swiper-scrollbar-cursor-drag {
    cursor: move
}

.swiper-scrollbar-lock {
    display: none
}

.swiper-zoom-container {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center
}

.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg {
    max-width: 100%;
    max-height: 100%;
    -o-object-fit: contain;
    object-fit: contain
}

.swiper-slide-zoomed {
    cursor: move
}

.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite;
    animation: swiper-preloader-spin 1s steps(12, end) infinite
}

.swiper-lazy-preloader:after {
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    background-position: 50%;
    background-size: 100%;
    background-repeat: no-repeat
}

.swiper-lazy-preloader-white:after {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")
}

@-webkit-keyframes swiper-preloader-spin {
    100% {
        transform: rotate(360deg)
    }
}

@keyframes swiper-preloader-spin {
    100% {
        transform: rotate(360deg)
    }
}

.swiper-container .swiper-notification {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    opacity: 0;
    z-index: -1000
}

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
    transition-timing-function: ease-out
}

.swiper-container-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity
}

.swiper-container-fade .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-container-cube {
    overflow: visible
}

.swiper-container-cube .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1;
    visibility: hidden;
    transform-origin: 0 0;
    width: 100%;
    height: 100%
}

.swiper-container-cube .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-container-cube.swiper-container-rtl .swiper-slide {
    transform-origin: 100% 0
}

.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-next+.swiper-slide,.swiper-container-cube .swiper-slide-prev {
    pointer-events: auto;
    visibility: visible
}

.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right,.swiper-container-cube .swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-container-cube .swiper-cube-shadow {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: .6;
    filter: blur(50px);
    z-index: 0
}

.swiper-container-flip {
    overflow: visible
}

.swiper-container-flip .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1
}

.swiper-container-flip .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right,.swiper-container-flip .swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-container-coverflow .swiper-wrapper {
    -ms-perspective: 1200px
}

.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    touch-action: pan-y;
    -webkit-tap-highlight-color: rgba(0,0,0,0)
}

.slick-list {
    position: relative;
    overflow: hidden;
    display: block;
    margin: 0;
    padding: 0
}

.slick-list:focus {
    outline: none
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}

.slick-slider .slick-track,.slick-slider .slick-list {
    transform: translate3d(0, 0, 0)
}

.slick-track {
    position: relative;
    left: 0;
    top: 0;
    display: block;
    margin-left: auto;
    margin-right: auto
}

.slick-track:before,.slick-track:after {
    content: "";
    display: table
}

.slick-track:after {
    clear: both
}

.slick-loading .slick-track {
    visibility: hidden
}

.slick-slide {
    float: left;
    height: 100%;
    min-height: 1px;
    outline: none;
    display: none
}

[dir=rtl] .slick-slide {
    float: right
}

.slick-slide img {
    display: block
}

.slick-slide.slick-loading img {
    display: none
}

.slick-slide.dragging img {
    pointer-events: none
}

.slick-initialized .slick-slide {
    display: block
}

.slick-loading .slick-slide {
    visibility: hidden
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid rgba(0,0,0,0)
}

.slick-arrow.slick-hidden {
    display: none
}

.m_cat {
    color: #fff;
    background: #111;
    display: inline-flex;
    padding: .6rem;
    border-radius: .2rem
}

@media(min-width: 1024px) {
    .m_cat {
        font-size:1.2rem
    }
}

@media(max-width: 1023px) {
    .m_cat {
        font-size:1.1rem
    }
}

.m-pagenation {
    margin-top: 8rem
}

.m-pagenation ul {
    display: flex;
    align-items: center;
    justify-content: center
}

.m-pagenation ul li a,.m-pagenation ul li span {
    display: block;
    font-size: 1.6rem;
    font-weight: 700;
    text-decoration: none;
    position: relative;
    box-sizing: border-box;
    color: #111;
    padding: 0 1rem;
    opacity: .3;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    font-family: "Be Vietnam Pro","IBM Plex Sans JP",sans-serif
}

html.notouch .m-pagenation ul li:hover a,.m-pagenation ul li.on a {
    opacity: 1
}

.m-pagenation ul li.prev a,.m-pagenation ul li.next a {
    opacity: 1
}

.m-pagenation ul li.prev {
    margin-right: 2.2rem
}

.m-pagenation ul li.next {
    margin-left: 2.2rem
}

.m-pagenation ul li.more span {
    background: none
}

.m-pagenation ul li.more.sp {
    display: none
}

@media only screen and (max-width: 1023px) {
    .m-pagenation {
        margin-top:4rem
    }

    .m-pagenation ul li {
        display: none
    }

    .m-pagenation ul li.more.sp {
        display: block
    }

    .m-pagenation ul li.prev,.m-pagenation ul li.next,.m-pagenation ul li.on,.m-pagenation ul li.spshow {
        display: block
    }
}

.m-entxt {
    font-size: 1.1rem;
    color: #727773;
    line-height: 1.8;
    margin-top: 1rem;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: color,opacity;
    font-family: "Be Vietnam Pro","IBM Plex Sans JP",sans-serif
}

html.is-white .m-entxt {
    opacity: .5;
    color: #fff
}

.m-cap {
    margin-top: 1rem;
    color: #3b3e3b;
    font-size: 1.1rem;
    display: block
}

.m-cap.en {
    color: #727773
}

.m-gnav {
    display: flex;
    flex-shrink: 0;
    height: 28.5rem;
    pointer-events: none
}

html.notouch .m-gnav:hover .item {
    opacity: .3
}

.m-gnav .item {
    position: relative;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: transform,opacity;
    pointer-events: auto;
    width: 5rem
}

html.notouch .m-gnav .item:hover {
    opacity: 1
}

.m-gnav .item+.item {
    margin-left: 2rem
}

.m-gnav .item.is-current:before {
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -0.25rem;
    content: "";
    display: block;
    width: .5rem;
    height: .5rem;
    background: #111
}

.m-gnav .item a {
    text-decoration: none;
    display: block;
    height: 100%;
    padding: 1.5rem 1rem 0;
    position: relative
}

.m-gnav .item a .jp {
    writing-mode: vertical-rl;
    font-size: 1.5rem;
    letter-spacing: .15em
}

.m-gnav .item a .en {
    position: absolute;
    bottom: 0;
    left: 0;
    margin-bottom: 1.3rem;
    margin-left: 1rem;
    transform: rotate(90deg) translate(-100%, -100%);
    transform-origin: 0% 100%;
    display: inline-block;
    white-space: nowrap;
    text-align: right;
    line-height: 1;
    font-size: 1.1rem;
    color: #999;
    font-weight: 500
}

@media only screen and (max-width: 1023px) {
    .m-gnav {
        justify-content:center;
        height: 25.6rem
    }

    .m-gnav .item+.item {
        margin-left: 0rem
    }

    .m-gnav .item a {
        padding: 1.5rem .5rem 0
    }
}

.m-links {
    text-align: right
}

.m-links li+li {
    margin-top: .3rem
}

.m-links li a {
    text-decoration: none;
    font-size: 1.2rem;
    font-weight: 500;
    padding-right: 4rem;
    position: relative;
    color: #484d49;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: color;
    display: block
}

.m-links li a .line {
    width: 3rem;
    position: absolute;
    right: 0;
    top: 50%;
    display: block
}

.m-links li a .line:before,.m-links li a .line:after {
    position: absolute;
    content: "";
    display: block;
    right: 0;
    width: 100%;
    height: 1px;
    background: #c6ccc7;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: width
}

.m-links li a .line:after {
    width: 0;
    background: #111
}

html.notouch .m-links li a:hover {
    color: #111
}

html.notouch .m-links li a:hover .line:after {
    left: 0;
    right: auto;
    width: 100%
}

@media only screen and (max-width: 1023px) {
    .m-links {
        text-align:left;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem 3rem;
        margin: 0 auto
    }

    .m-links li+li {
        margin-top: 0
    }
}

.m-cvTxt span {
    display: block
}

.m-cvTxt span.jp {
    font-weight: 500;
    line-height: 1.8
}

.m-cvTxt span.en {
    font-size: 1.1rem;
    color: #999
}

@media only screen and (max-width: 1023px) {
    .m-cvTxt {
        text-align:center
    }

    .m-cvTxt span.jp {
        font-size: 1.1rem;
        letter-spacing: .11em
    }

    .m-cvTxt span.en {
        margin-top: .5rem;
        line-height: 1;
        letter-spacing: .11em
    }
}

.m-cvTel a {
    text-decoration: none;
    font-size: 2rem;
    line-height: 1
}

.m-cvTel a span {
    font-size: 3rem
}

@media only screen and (max-width: 1023px) {
    .m-cvTel a span {
        font-size:2.6rem
    }
}

.m-bnr li a {
    display: block;
    box-sizing: border-box;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: transform,opacity
}

html.notouch .m-bnr li a:hover {
    opacity: .5
}

.m-bnr li+li {
    margin-top: 2rem
}

.m-newslist {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: -6rem
}

.m-newslist:after {
    content: "";
    display: block;
    width: 29.67%
}

.m-newslist .item {
    width: 29.67%;
    position: relative;
    margin-bottom: 6rem
}

.m-newslist .item a {
    display: block;
    padding-right: 2.5rem
}

.m-newslist .item__mata {
    position: absolute;
    right: -0.5rem;
    top: 0;
    width: 1.6rem
}

.m-newslist .item__mata .date {
    color: #999;
    font-size: 1.1rem;
    white-space: nowrap;
    position: absolute;
    top: 0;
    right: 0
}

.m-newslist .item__mata .date span {
    width: 0;
    height: 0;
    display: inline-block;
    transform: rotate(90deg)
}

.m-newslist .item__mata .cat {
    margin-top: 8rem;
    color: #999;
    font-size: 1.1rem;
    font-weight: 500;
    writing-mode: vertical-rl
}

.m-newslist .item__ttl {
    margin-top: 2rem;
    line-height: 2.1
}

@media only screen and (max-width: 1023px) {
    .m-newslist {
        display:block;
        margin-bottom: 0
    }

    .m-newslist:after {
        display: none
    }

    .m-newslist .item {
        width: auto;
        margin-bottom: 0
    }

    .m-newslist .item+.item {
        margin-top: 4rem
    }

    .m-newslist .item a {
        padding-right: 3rem
    }

    .m-newslist .item__mata {
        right: .5rem;
        width: 1rem
    }

    .m-newslist .item__mata .cat {
        width: 1rem
    }

    .m-newslist .item__ttl {
        margin-top: 1rem;
        line-height: 2
    }
}

.m-roomGallery {
    --widthA: calc(100vw - 20rem);
    --widthB: calc((var(--widthA) - 71rem) / 2);
    --widthC: calc(100% + var(--widthB));
    width: var(--widthC);
    position: relative;
    display: flex;
    flex-wrap: wrap
}

.m-roomGallery .item {
    width: calc(20% - 1rem);
    margin-right: 1rem;
    margin-bottom: 1rem
}

.m-roomGallery .item a {
    display: block;
    text-decoration: none;
    position: relative;
    color: #fff;
    box-sizing: border-box;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: opacity
}

.m-roomGallery .item a:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border: 1px solid rgba(255,255,255,.8);
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: opacity;
    opacity: 0;
    pointer-events: none
}

html.notouch .m-roomGallery .item a:hover:before {
    opacity: 1
}

html.notouch .m-roomGallery .item a:hover .bgimg {
    opacity: 1
}

html.notouch .m-roomGallery .item a:hover .item__ttl {
    opacity: 1
}

.m-roomGallery .item__ttl {
    position: absolute;
    z-index: 1;
    right: 1rem;
    top: 1rem;
    line-height: 1;
    font-size: 1.4rem;
    font-weight: 500;
    writing-mode: vertical-rl;
    letter-spacing: .3em;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: opacity
}

.m-roomGallery .item .img {
    display: block;
    overflow: hidden;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: opacity
}

.m-roomGallery .item .img img {
    display: block
}

.m-roomGallery .item .bgimg {
    position: fixed;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: opacity;
    opacity: 0;
    pointer-events: none
}

.m-roomGallery .item .bgimg__img {
    display: block
}

.m-roomGallery .item .bgimg__img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    left: 0;
    top: 0
}

html.is-white .m-roomGallery .item a .img {
    opacity: 0
}

html.is-white .m-roomGallery .item a:before {
    opacity: .2
}

html.is-white .m-roomGallery .item a .item__ttl {
    opacity: .2
}

@media only screen and (max-width: 1023px) {
    .m-roomGallery {
        width:calc(100% + 2rem);
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap
    }

    .m-roomGallery .item {
        width: 48.64%;
        margin-right: 0;
        margin-bottom: 1rem
    }

    .m-roomGallery .item a {
        display: block;
        text-decoration: none;
        position: relative;
        color: #fff;
        box-sizing: border-box;
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: opacity
    }

    .m-roomGallery .item a:before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        border: 1px solid rgba(255,255,255,.8);
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: opacity;
        opacity: 0;
        pointer-events: none
    }

    html.notouch .m-roomGallery .item a:hover .img {
        opacity: 0
    }

    html.notouch .m-roomGallery .item a:hover:before {
        opacity: 1
    }

    html.notouch .m-roomGallery .item a:hover .bgimg {
        opacity: 1
    }
}

.m-table table {
    box-sizing: border-box;
    border-collapse: collapse;
    width: 100%;
    border-top: 1px solid #ccc
}

.m-table table th,.m-table table td {
    border-collapse: collapse;
    padding: 2.2rem 0 2.2rem 0;
    box-sizing: border-box;
    border-bottom: 1px solid #ccc;
    line-height: 1.5
}

.m-table table th .jp,.m-table table td .jp {
    display: block
}

.m-table table th .m-entxt,.m-table table td .m-entxt {
    margin-top: .5rem;
    display: block;
    font-weight: 400;
    letter-spacing: .1em
}

.m-table table th {
    width: 16rem
}

.m-table table th .jp {
    font-weight: 600
}

@media only screen and (max-width: 1023px) {
    .m-table table th,.m-table table td {
        display:block
    }

    .m-table table th {
        width: 100%;
        border-bottom: none;
        padding-bottom: 0
    }
}

.ui-tab__content {
    display: none
}

.ui-tab__content.is-current {
    display: block
}

.ui-ac__content {
    display: none
}

.sp-accordion__label .icon {
    display: none
}

@media only screen and (max-width: 1023px) {
    .sp-accordion__label {
        position:relative;
        cursor: pointer
    }

    .sp-accordion__label .icon {
        display: block;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 0;
        width: 2.7rem;
        height: 2.7rem;
        box-sizing: border-box;
        border: 1px solid rgba(255,255,255,.3);
        border-radius: 50%
    }

    .sp-accordion__label .icon.gray {
        border-color: rgba(0,0,0,.3)
    }

    .sp-accordion__label .icon.gray:before,.sp-accordion__label .icon.gray:after {
        background-color: rgba(0,0,0,.3)
    }

    .sp-accordion__label .icon:before,.sp-accordion__label .icon:after {
        position: absolute;
        content: "";
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background: rgba(255,255,255,.3);
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: transform,opacity
    }

    .sp-accordion__label .icon:before {
        width: 1.2rem;
        height: 1px
    }

    .sp-accordion__label .icon:after {
        width: 1px;
        height: 1.2rem
    }

    .sp-accordion__body {
        display: none
    }

    .sp-accordion.is-open .sp-accordion__label .icon:after {
        opacity: 0
    }
}

.m-pickup a {
    text-decoration: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-sizing: border-box;
    height: 8rem;
    background: #fff
}

.m-pickup__img {
    width: 8rem;
    height: 8rem;
    position: relative;
    inset: 0 0 0 -1px
}

.m-pickup__img .img-ov {
    position: relative;
    aspect-ratio: 1/1
}

.m-pickup__img .img-ov img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    left: 0;
    top: 0
}

.m-pickup__txt {
    width: calc(100% - 10rem);
    padding-right: 2rem;
    box-sizing: border-box;
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    max-height: 3.9rem;
    font-size: 1.2rem
}

.pointer {
    transform: translate(-10px, -10px);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000;
    pointer-events: none
}

html.touch .pointer,html.ie10 .pointer,html.ie11 .pointer,html.edge .pointer {
    display: none
}

.pointer.is-hidden {
    visibility: hidden
}

.pointer .pointer__cursor {
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99) 0s;
    transition-property: top,left,width,height,opacity,background;
    position: absolute;
    top: -5px;
    left: -5px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #fff;
    opacity: 0
}

.pointer .pointer__cursor.is-mouseon {
    top: -20px;
    left: -20px;
    width: 40px;
    height: 40px
}

.pointer .pointer__cursor.is-mouseon_icon {
    opacity: .25
}

.pointer .pointer__cursor.is-mouseon_video {
    top: -48px;
    left: -48px;
    width: 96px;
    height: 96px;
    background: rgba(0,0,0,0) !important;
    border: 1px solid rgba(255,255,255,.4);
    opacity: 1 !important;
    color: #fff;
    font-family: "Be Vietnam Pro","IBM Plex Sans JP",sans-serif;
    font-size: 12px;
    line-height: 1;
    text-align: center
}

.pointer .pointer__cursor.is-mouseon_video .video_arw {
    transform: translate(-50%, -50%);
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1.8rem;
    height: 1.8rem;
    background: #fff;
    -webkit-mask-image: url(/assets/img/video.svg);
    mask-image: url(/assets/img/video.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: 0 0;
    mask-position: 0 0;
    -webkit-mask-size: contain;
    mask-size: contain
}

.pointer .pointer__cursor.is-mouseon_video .video_txt {
    transform: translate(-50%, 0);
    display: block;
    position: absolute;
    left: 50%;
    bottom: -19px;
    white-space: nowrap
}

.pointer .pointer__cursor.is-mouseon_close {
    top: -48px;
    left: -48px;
    width: 96px;
    height: 96px;
    background: rgba(0,0,0,0) !important;
    border: 1px solid rgba(255,255,255,.4);
    opacity: 1 !important;
    color: #fff;
    font-family: "Be Vietnam Pro","IBM Plex Sans JP",sans-serif;
    font-size: 12px;
    line-height: 1;
    text-align: center
}

.pointer .pointer__cursor.is-mouseon_close .close_arw {
    transform: translate(-50%, -50%);
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 2.5rem;
    height: 2.5rem;
    background: #fff;
    -webkit-mask-image: url(../imgs/common/arw_close.svg);
    mask-image: url(../imgs/common/arw_close.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: 0 0;
    mask-position: 0 0;
    -webkit-mask-size: contain;
    mask-size: contain
}

.pointer .pointer__cursor.is-mouseon_close .close_txt {
    transform: translate(-50%, 0);
    display: block;
    position: absolute;
    left: 50%;
    bottom: -19px;
    white-space: nowrap
}

.pointer .pointer__cursor.is-mouseon_viewroom {
    top: -40px;
    left: -40px;
    width: 80px;
    height: 80px;
    background: #111 !important;
    opacity: 1 !important;
    color: #fff;
    font-family: "Be Vietnam Pro","IBM Plex Sans JP",sans-serif;
    font-size: 12px;
    line-height: 1;
    text-align: center
}

.pointer .pointer__cursor.is-mouseon_viewroom .txt {
    transform: translate(-50%, -50%);
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    white-space: nowrap
}

.pointer .pointer__cursor.is-mouseon_nextback {
    top: -30px;
    left: -30px;
    width: 60px;
    height: 60px;
    background: #111 !important;
    opacity: 1 !important;
    color: #fff;
    font-family: "Be Vietnam Pro","IBM Plex Sans JP",sans-serif;
    font-size: 12px;
    line-height: 1;
    text-align: center
}

.pointer .pointer__cursor.is-mouseon_nextback .txt {
    transform: translate(-50%, -50%);
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    white-space: nowrap
}

.pointer .pointer__cursor.is-mouseon_scroll {
    top: -60px;
    left: -60px;
    width: 120px;
    height: 120px;
    background: #111 !important;
    opacity: 1 !important;
    color: #fff;
    font-family: "Be Vietnam Pro","IBM Plex Sans JP",sans-serif;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    box-shadow: 0 -0.9rem 1.2rem rgba(0,0,0,.05);
    opacity: 1
}

.pointer .pointer__cursor.is-mouseon_scroll .txt {
    transform: translate(-50%, -50%);
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    white-space: nowrap;
    margin-top: -5px
}

.pointer .pointer__cursor.is-mouseon_scroll .icon {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    position: absolute;
    margin-top: 15px
}

.pointer .pointer__cursor.is-mouseon_scroll .icon svg {
    fill: #fff;
    width: 13px;
    height: 10px;
    transform: rotate(90deg)
}

.pointer .pointer__cursor.is-mouseon_white {
    top: -35px;
    left: -35px;
    width: 70px;
    height: 70px;
    background: #fff !important;
    opacity: 1 !important;
    color: #111;
    font-family: "Be Vietnam Pro","IBM Plex Sans JP",sans-serif;
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    text-align: center
}

.pointer .pointer__cursor.is-mouseon_white .txt {
    transform: translate(-50%, -50%);
    display: block;
    position: absolute;
    top: 50%;
    left: 50%
}

.pointer .pointer__cursor.is-mouseon_circle {
    top: -25px;
    left: -25px;
    width: 50px;
    height: 50px;
    background: #111 !important;
    opacity: 1 !important;
    color: #fff;
    font-family: "Be Vietnam Pro","IBM Plex Sans JP",sans-serif;
    font-size: 12px;
    line-height: 1;
    text-align: center
}

.pointer .pointer__cursor.is-mouseon_circle .txt {
    transform: translate(-50%, -50%);
    display: block;
    position: absolute;
    top: 50%;
    left: 50%
}

.pointer .pointer__cursor.is-hidden {
    top: 0;
    left: 0;
    width: 0;
    height: 0
}

.pointer .pointer__cursor.is-mousedown {
    top: -30px;
    left: -30px;
    width: 60px;
    height: 60px
}

html.isMS .pointer .pointer__cursor {
    background: #000;
    opacity: .25
}

.pointer.no-blend {
    mix-blend-mode: normal
}

html:not(.notouch) .pointer {
    display: none
}

.pointer__lorder {
    transition: transform .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
    transform: scale(0);
    position: absolute;
    top: -11px;
    left: -11px;
    width: 22px;
    height: 22px;
    pointer-events: none
}

.pointer__lorder .loaders {
    overflow: hidden;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 100;
    width: 22px;
    height: 22px
}

.pointer__lorder .loaders .bg,.pointer__lorder .loaders .circle {
    stroke-width: 1;
    fill: none
}

.pointer__lorder .loaders .bg {
    stroke: #f5f5f5
}

.pointer__lorder .loaders .circle {
    transform-origin: center;
    stroke: #111;
    stroke-dasharray: 70;
    stroke-dashoffset: 0
}

html.wf-loading .pointer .pointer__cursor {
    top: -15px;
    left: -15px;
    width: 30px;
    height: 30px;
    background: none;
    background: rgba(0,0,0,0)
}

html.wf-loading .pointer .pointer__lorder {
    transform: scale(1)
}

html.wf-loading .pointer .pointer__lorder .circle {
    -webkit-animation: loader-dash 1s ease-in-out infinite;
    animation: loader-dash 1s ease-in-out infinite
}

@media only screen and (max-width: 1023px) {
    .pointer {
        display:none
    }
}

@-webkit-keyframes mymove {
    0% {
        transform: rotate(0deg)
    }

    100% {
        transform: rotate(360deg)
    }
}

@keyframes mymove {
    0% {
        transform: rotate(0deg)
    }

    100% {
        transform: rotate(360deg)
    }
}

@-webkit-keyframes loader-dash {
    0% {
        stroke-dashoffset: 70
    }

    50% {
        stroke-dashoffset: 17.5;
        transform: rotate(135deg)
    }

    100% {
        stroke-dashoffset: 70;
        transform: rotate(450deg)
    }
}

@keyframes loader-dash {
    0% {
        stroke-dashoffset: 70
    }

    50% {
        stroke-dashoffset: 17.5;
        transform: rotate(135deg)
    }

    100% {
        stroke-dashoffset: 70;
        transform: rotate(450deg)
    }
}

.ps {
    overflow: hidden !important;
    overflow-anchor: none;
    -ms-overflow-style: none;
    touch-action: auto;
    -ms-touch-action: auto
}

.ps__rail-x {
    display: block;
    transition: background-color .2s linear,opacity .2s linear;
    -webkit-transition: background-color .2s linear,opacity .2s linear;
    height: 1px;
    bottom: 0px !important;
    position: absolute
}

.ps__rail-y {
    display: block;
    transition: background-color .2s linear,opacity .2s linear;
    -webkit-transition: background-color .2s linear,opacity .2s linear;
    width: 1px;
    right: 0;
    height: 100%;
    position: absolute
}

.ps--active-x>.ps__rail-x,.ps--active-y>.ps__rail-y {
    display: block
}

.ps:hover>.ps__rail-x,.ps:hover>.ps__rail-y,.ps--focus>.ps__rail-x,.ps--focus>.ps__rail-y,.ps--scrolling-x>.ps__rail-x,.ps--scrolling-y>.ps__rail-y {
    opacity: 1
}

.ps__thumb-x {
    background-color: #111;
    border-radius: 0;
    transition: background-color .2s linear,height .2s ease-in-out;
    -webkit-transition: background-color .2s linear,height .2s ease-in-out;
    height: 1px;
    bottom: 2px;
    position: absolute
}

.ps__thumb-y {
    background-color: #111;
    border-radius: 0;
    transition: background-color .2s linear,width .2s ease-in-out;
    width: 1px;
    right: 0;
    position: absolute
}

@supports(-ms-overflow-style: none) {
    .ps {
        overflow:auto !important
    }
}

@media screen and (-ms-high-contrast: active),(-ms-high-contrast: none) {
    .ps {
        overflow: auto !important
    }
}

/*!
	Modaal - accessible modals - v0.4.4
	by Humaan, for all humans.
	http://humaan.com
 */
.modaal-noscroll {
    overflow: hidden
}

.modaal-accessible-hide {
    position: absolute !important;
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden
}

.modaal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999;
    opacity: 0
}

.modaal-wrapper {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    overflow: auto;
    opacity: 1;
    box-sizing: border-box;
    -webkit-overflow-scrolling: touch;
    transition: all 0.3s ease-in-out
}

.modaal-wrapper * {
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-backface-visibility: hidden
}

.modaal-wrapper .modaal-close {
    border: none;
    background: rgba(0,0,0,0);
    padding: 0;
    -webkit-appearance: none
}

.modaal-wrapper.modaal-start_none {
    display: none;
    opacity: 1
}

.modaal-wrapper.modaal-start_fade {
    opacity: 0
}

.modaal-wrapper *[tabindex="0"] {
    outline: none !important
}

.modaal-wrapper.modaal-fullscreen {
    overflow: hidden
}

.modaal-outer-wrapper {
    display: table;
    position: relative;
    width: 100%;
    height: 100%
}

.modaal-fullscreen .modaal-outer-wrapper {
    display: block
}

.modaal-inner-wrapper {
    width: 100%;
    height: 100%;
    position: relative;
    vertical-align: middle;
    text-align: center
}

.modaal-fullscreen .modaal-inner-wrapper {
    padding: 0;
    display: block;
    vertical-align: top
}

.modaal-container {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: auto;
    text-align: left;
    color: #000;
    max-width: 80rem;
    border-radius: 0px;
    background: rgba(0,0,0,0);
    cursor: auto
}

.modaal-container.is_loading {
    height: 100px;
    width: 100px;
    overflow: hidden
}

.modaal-fullscreen .modaal-container {
    max-width: none;
    height: 100%;
    overflow: auto
}

.modaal-close {
    position: fixed;
    right: 20px;
    top: 20px;
    color: #fff;
    cursor: pointer;
    opacity: 1;
    width: 50px;
    height: 50px;
    background: rgba(0,0,0,0);
    border-radius: 100%;
    transition: all 0.2s ease-in-out;
    display: none
}

.modaal-close:focus,.modaal-close:hover {
    outline: none;
    background: #fff
}

.modaal-close:focus:before,.modaal-close:focus:after,.modaal-close:hover:before,.modaal-close:hover:after {
    background: #b93d0c
}

.modaal-close span {
    position: absolute !important;
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden
}

.modaal-close:before,.modaal-close:after {
    display: block;
    content: " ";
    position: absolute;
    top: 14px;
    left: 23px;
    width: 4px;
    height: 22px;
    border-radius: 4px;
    background: #fff;
    transition: background 0.2s ease-in-out
}

.modaal-close:before {
    transform: rotate(-45deg)
}

.modaal-close:after {
    transform: rotate(45deg)
}

.modaal-fullscreen .modaal-close {
    background: #afb7bc;
    right: 10px;
    top: 10px
}

.modaal-content {
    height: 100%
}

.modaal-content-container {
    height: 100%
}

.modaal-confirm-wrap {
    padding: 30px 0 0;
    text-align: center;
    font-size: 0
}

.modaal-confirm-btn {
    font-size: 14px;
    display: inline-block;
    margin: 0 10px;
    vertical-align: middle;
    cursor: pointer;
    border: none;
    background: rgba(0,0,0,0)
}

.modaal-confirm-btn.modaal-ok {
    padding: 10px 15px;
    color: #fff;
    background: #555;
    border-radius: 3px;
    transition: background 0.2s ease-in-out
}

.modaal-confirm-btn.modaal-ok:hover {
    background: #2f2f2f
}

.modaal-confirm-btn.modaal-cancel {
    text-decoration: underline
}

.modaal-confirm-btn.modaal-cancel:hover {
    text-decoration: none;
    color: #2f2f2f
}

@keyframes instaReveal {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

@-webkit-keyframes instaReveal {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

.modaal-instagram .modaal-container {
    width: auto;
    background: rgba(0,0,0,0);
    box-shadow: none !important
}

.modaal-instagram .modaal-content-container {
    padding: 0;
    background: rgba(0,0,0,0)
}

.modaal-instagram .modaal-content-container>blockquote {
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important
}

.modaal-instagram iframe {
    opacity: 0;
    margin: -6px !important;
    border-radius: 0 !important;
    width: 1000px !important;
    max-width: 800px !important;
    box-shadow: none !important;
    -webkit-animation: instaReveal 1s linear forwards;
    animation: instaReveal 1s linear forwards
}

.modaal-image .modaal-inner-wrapper {
    padding-left: 140px;
    padding-right: 140px
}

.modaal-gallery-wrap {
    position: relative;
    color: #fff
}

.modaal-gallery-item {
    display: none
}

.modaal-gallery-item img {
    display: block;
    width: 100%
}

.modaal-gallery-item.is_active {
    display: block
}

.modaal-gallery-label {
    position: absolute;
    left: 0;
    width: 100%;
    margin: 20px 0 0;
    font-size: 18px;
    text-align: center;
    color: #fff
}

.modaal-gallery-label:focus {
    outline: none
}

.modaal-gallery-control {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    opacity: 1;
    cursor: pointer;
    color: #fff;
    width: 50px;
    height: 50px;
    background: rgba(0,0,0,0);
    border: none;
    border-radius: 100%;
    transition: all 0.2s ease-in-out
}

.modaal-gallery-control.is_hidden {
    opacity: 0;
    cursor: default
}

.modaal-gallery-control:focus,.modaal-gallery-control:hover {
    outline: none;
    background: #fff
}

.modaal-gallery-control:focus:before,.modaal-gallery-control:focus:after,.modaal-gallery-control:hover:before,.modaal-gallery-control:hover:after {
    background: #afb7bc
}

.modaal-gallery-control span {
    position: absolute !important;
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden
}

.modaal-gallery-control:before,.modaal-gallery-control:after {
    display: block;
    content: " ";
    position: absolute;
    top: 16px;
    left: 25px;
    width: 4px;
    height: 18px;
    border-radius: 4px;
    background: #fff;
    transition: background 0.2s ease-in-out
}

.modaal-gallery-control:before {
    margin: -5px 0 0;
    transform: rotate(-45deg)
}

.modaal-gallery-control:after {
    margin: 5px 0 0;
    transform: rotate(45deg)
}

.modaal-gallery-next-inner {
    left: 100%;
    margin-left: 40px
}

.modaal-gallery-next-outer {
    right: 45px
}

.modaal-gallery-prev:before,.modaal-gallery-prev:after {
    left: 22px
}

.modaal-gallery-prev:before {
    margin: 5px 0 0;
    transform: rotate(-45deg)
}

.modaal-gallery-prev:after {
    margin: -5px 0 0;
    transform: rotate(45deg)
}

.modaal-gallery-prev-inner {
    right: 100%;
    margin-right: 40px
}

.modaal-gallery-prev-outer {
    left: 45px
}

.modaal-video-wrap {
    margin: auto 50px;
    position: relative
}

.modaal-video-container {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%;
    box-shadow: 0 0 10px rgba(0,0,0,.3);
    background: #000;
    max-width: 1300px;
    margin-left: auto;
    margin-right: auto
}

.modaal-video-container iframe,.modaal-video-container object,.modaal-video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.modaal-iframe .modaal-content {
    width: 100%;
    height: 100%
}

.modaal-iframe-elem {
    width: 100%;
    height: 100%;
    display: block
}

@media only screen and (min-width: 1400px) {
    .modaal-video-container {
        padding-bottom:0;
        height: 731px
    }
}

@media only screen and (max-width: 1140px) {
    .modaal-image .modaal-inner-wrapper {
        padding-left:25px;
        padding-right: 25px
    }

    .modaal-gallery-control {
        top: auto;
        bottom: 20px;
        transform: none;
        background: rgba(0,0,0,.7)
    }

    .modaal-gallery-control:before,.modaal-gallery-control:after {
        background: #fff
    }

    .modaal-gallery-next {
        left: auto;
        right: 20px
    }

    .modaal-gallery-prev {
        left: 20px;
        right: auto
    }
}

@media screen and (max-width: 900px) {
    .modaal-instagram iframe {
        width:500px !important
    }
}

@media screen and (max-height: 1100px) {
    .modaal-instagram iframe {
        width:700px !important
    }
}

@media screen and (max-height: 1000px) {
    .modaal-inner-wrapper {
        padding-top:9rem;
        padding-bottom: 5rem
    }

    .modaal-instagram iframe {
        width: 600px !important
    }
}

@media screen and (max-height: 900px) {
    .modaal-instagram iframe {
        width:500px !important
    }

    .modaal-video-container {
        max-width: 900px;
        max-height: 510px
    }
}

@media only screen and (max-width: 600px) {
    .modaal-instagram iframe {
        width:280px !important
    }
}

@media only screen and (max-height: 820px) {
    .modaal-gallery-label {
        display:none
    }
}

.modaal-loading-spinner {
    background: none;
    position: absolute;
    width: 200px;
    height: 200px;
    top: 50%;
    left: 50%;
    margin: -100px 0 0 -100px;
    transform: scale(0.25)
}

@-webkit-keyframes modaal-loading-spinner {
    0% {
        opacity: 1;
        transform: scale(1.5)
    }

    100% {
        opacity: .1;
        transform: scale(1)
    }
}

@keyframes modaal-loading-spinner {
    0% {
        opacity: 1;
        transform: scale(1.5)
    }

    100% {
        opacity: .1;
        transform: scale(1)
    }
}

.modaal-loading-spinner>div {
    width: 24px;
    height: 24px;
    margin-left: 4px;
    margin-top: 4px;
    position: absolute
}

.modaal-loading-spinner>div>div {
    width: 100%;
    height: 100%;
    border-radius: 15px;
    background: #fff
}

.modaal-loading-spinner>div:nth-of-type(1)>div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: 0s;
    animation-delay: 0s
}

.modaal-loading-spinner>div:nth-of-type(2)>div,.modaal-loading-spinner>div:nth-of-type(3)>div {
    -ms-animation: modaal-loading-spinner 1s linear infinite;
    -moz-animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    -o-animation: modaal-loading-spinner 1s linear infinite
}

.modaal-loading-spinner>div:nth-of-type(1) {
    transform: translate(84px, 84px) rotate(45deg) translate(70px, 0)
}

.modaal-loading-spinner>div:nth-of-type(2)>div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: .12s;
    animation-delay: .12s
}

.modaal-loading-spinner>div:nth-of-type(2) {
    transform: translate(84px, 84px) rotate(90deg) translate(70px, 0)
}

.modaal-loading-spinner>div:nth-of-type(3)>div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: .25s;
    animation-delay: .25s
}

.modaal-loading-spinner>div:nth-of-type(4)>div,.modaal-loading-spinner>div:nth-of-type(5)>div {
    -ms-animation: modaal-loading-spinner 1s linear infinite;
    -moz-animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    -o-animation: modaal-loading-spinner 1s linear infinite
}

.modaal-loading-spinner>div:nth-of-type(3) {
    transform: translate(84px, 84px) rotate(135deg) translate(70px, 0)
}

.modaal-loading-spinner>div:nth-of-type(4)>div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: .37s;
    animation-delay: .37s
}

.modaal-loading-spinner>div:nth-of-type(4) {
    transform: translate(84px, 84px) rotate(180deg) translate(70px, 0)
}

.modaal-loading-spinner>div:nth-of-type(5)>div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: .5s;
    animation-delay: .5s
}

.modaal-loading-spinner>div:nth-of-type(6)>div,.modaal-loading-spinner>div:nth-of-type(7)>div {
    -ms-animation: modaal-loading-spinner 1s linear infinite;
    -moz-animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    -o-animation: modaal-loading-spinner 1s linear infinite
}

.modaal-loading-spinner>div:nth-of-type(5) {
    transform: translate(84px, 84px) rotate(225deg) translate(70px, 0)
}

.modaal-loading-spinner>div:nth-of-type(6)>div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: .62s;
    animation-delay: .62s
}

.modaal-loading-spinner>div:nth-of-type(6) {
    transform: translate(84px, 84px) rotate(270deg) translate(70px, 0)
}

.modaal-loading-spinner>div:nth-of-type(7)>div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: .75s;
    animation-delay: .75s
}

.modaal-loading-spinner>div:nth-of-type(7) {
    transform: translate(84px, 84px) rotate(315deg) translate(70px, 0)
}

.modaal-loading-spinner>div:nth-of-type(8)>div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: .87s;
    animation-delay: .87s
}

.modaal-loading-spinner>div:nth-of-type(8) {
    transform: translate(84px, 84px) rotate(360deg) translate(70px, 0)
}

.pos_contets a {
    text-decoration: underline;
    color: #111
}

html.notouch .pos_contets a:hover {
    text-decoration: none
}

.pos_contets img {
    display: block;
    margin-left: auto;
    margin-right: auto
}

.pos_contets img.border {
    box-sizing: border-box;
    border: 1px solid #ccc
}

.pos_contets p {
    font-weight: 400
}

@media(min-width: 1024px) {
    .pos_contets p {
        margin-top:4.8rem;
        font-size: 1.6rem
    }
}

@media(max-width: 1023px) {
    .pos_contets p {
        margin-top:4.8rem;
        font-size: 1.4rem
    }
}

.pos_contets *:first-child,.pos_contets h1+*,.pos_contets h2+*,.pos_contets h3+*,.pos_contets h4+*,.pos_contets h5+*,.pos_contets h6+* .wp-block-image+* {
    margin-top: 0 !important
}

.pos_contets h2 {
    font-weight: 700;
    line-height: 1.3;
    padding: 1.5rem 2rem 1rem 2rem;
    background: #f3f3f3;
    border-radius: .5rem;
    position: relative
}

.pos_contets h2:before {
    position: absolute;
    top: 1.7rem;
    content: "";
    display: block;
    height: calc(100% - 3.4rem);
    left: 0;
    width: .3rem;
    background: #df0018
}

@media(min-width: 1024px) {
    .pos_contets h2 {
        font-size:2.4rem;
        margin-top: 8rem;
        margin-bottom: 4.2rem
    }
}

@media(max-width: 1023px) {
    .pos_contets h2 {
        font-size:1.8rem;
        margin-top: 5.8rem;
        margin-bottom: 3.2rem
    }
}

.pos_contets h3 {
    font-weight: 700;
    line-height: 1.4;
    padding-bottom: 1rem;
    border-bottom: 1px solid #ccc
}

@media(min-width: 1024px) {
    .pos_contets h3 {
        font-size:1.8rem;
        margin-top: 3.2rem;
        margin-bottom: 3.4rem
    }
}

@media(max-width: 1023px) {
    .pos_contets h3 {
        font-size:1.6rem;
        margin-top: 3.2rem;
        margin-bottom: 2.4rem
    }
}

.pos_contets ul {
    margin-top: 3.2rem
}

.pos_contets ul li {
    font-weight: 400;
    position: relative;
    padding-left: 1.6rem
}

.pos_contets ul li:before {
    position: absolute;
    left: 0;
    top: calc((1lh - .9rem)/2);
    width: .6rem;
    height: .6rem;
    background: #df0018;
    content: "";
    border-radius: 50%
}

.pos_contets ul li+li {
    margin-top: .2rem
}

@media(min-width: 1024px) {
    .pos_contets ul li {
        font-size:1.6rem
    }
}

.pos_contets ol {
    margin-top: 3.2rem
}

.pos_contets ol li {
    font-weight: 400;
    counter-increment: number;
    padding-left: 2rem;
    position: relative
}

.pos_contets ol li:before {
    position: absolute;
    top: 0;
    left: 0;
    content: counter(number) ". "
}

.pos_contets ol li+li {
    margin-top: .8rem
}

@media(min-width: 1024px) {
    .pos_contets ol li {
        font-size:1.6rem
    }
}

.pos_contets blockquote {
    margin-top: 3.2rem;
    background: rgba(51,51,51,.05)
}

.pos_contets blockquote cite {
    padding-top: 1rem;
    display: block;
    color: #999;
    font-style: inherit
}

.pos_contets blockquote cite a {
    color: #999
}

@media(min-width: 1024px) {
    .pos_contets blockquote {
        padding:4rem
    }
}

@media(max-width: 1023px) {
    .pos_contets blockquote {
        padding:2rem
    }
}

.pos_contets .wp-block-table {
    margin-top: 4rem
}

.pos_contets .wp-block-table table {
    box-sizing: border-box;
    border-collapse: collapse;
    width: 100%;
    border: 1px solid #ebebeb
}

.pos_contets .wp-block-table table th,.pos_contets .wp-block-table table td {
    border-collapse: collapse;
    padding: 1.5rem;
    box-sizing: border-box;
    border: 1px solid #ebebeb;
    font-family: "IBM Plex Sans JP",sans-serif;
    font-size: 1.4rem
}

.pos_contets .wp-block-table table th {
    width: 25.555%;
    background: #f5f5f5
}

.pos_contets .wp-block-table table tr td:first-child {
    width: 25.555%
}

.wp-block-embed {
    overflow: hidden;
    border-radius: .5rem
}

.wp-block-embed.is-type-wp-embed {
    margin-top: 4.8rem
}

.wp-block-embed.is-type-video {
    margin-top: 4.8rem
}

.wp-block-embed.is-type-video .wp-block-embed__wrapper {
    position: relative;
    aspect-ratio: 16/9
}

.wp-block-embed.is-type-video .wp-block-embed__wrapper iframe {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.pos_slide {
    margin-top: 4.8rem;
    position: relative
}

@media(min-width: 1024px) {
    .pos_slide:before {
        content:"";
        position: absolute;
        z-index: 10;
        height: 100%;
        top: 0;
        width: 50vw;
        background: #fff;
        left: -50vw
    }
}

.pos_slide .swiper-slide {
    position: relative;
    aspect-ratio: 9/16;
    overflow: hidden;
    border-radius: .5rem
}

.pos_slide .swiper-slide iframe {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.pos_slide_slideNext,.pos_slide_slidePrev {
    --navwidth: calc((100vw - 87rem) / 2);
    position: absolute;
    z-index: 10;
    display: block;
    top: 0;
    height: 100%;
    width: var(--navwidth);
    cursor: pointer;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99) 0s;
    transition-property: opacity
}

.pos_slide_slideNext.swiper-button-disabled,.pos_slide_slidePrev.swiper-button-disabled {
    pointer-events: none
}

@media(max-width: 1023px) {
    .pos_slide_slideNext.swiper-button-disabled,.pos_slide_slidePrev.swiper-button-disabled {
        opacity:0
    }

    .pos_slide_slideNext:before,.pos_slide_slideNext:after,.pos_slide_slidePrev:before,.pos_slide_slidePrev:after {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        display: block
    }

    .pos_slide_slideNext:before,.pos_slide_slidePrev:before {
        width: 6rem;
        height: 6rem;
        border-radius: 50%;
        background: #111
    }

    .pos_slide_slideNext:after,.pos_slide_slidePrev:after {
        color: #fff;
        font-weight: 400;
        font-family: "Be Vietnam Pro","IBM Plex Sans JP",sans-serif;
        font-size: 12px;
        line-height: 1;
        text-align: center
    }
}

@media(min-width: 1024px) {
    .pos_slide_slideNext {
        right:calc(-1*var(--navwidth));
        background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #FFF 91.5%)
    }
}

@media(max-width: 1023px) {
    .pos_slide_slideNext {
        right:-2rem;
        width: 7rem
    }

    .pos_slide_slideNext:after {
        content: "Next"
    }
}

@media(min-width: 1024px) {
    .pos_slide_slidePrev {
        left:0;
        width: 9rem
    }
}

@media(max-width: 1023px) {
    .pos_slide_slidePrev {
        left:-2rem;
        width: 7rem
    }

    .pos_slide_slidePrev:after {
        content: "Prev"
    }
}

.wp-block-twocol {
    margin-top: 6rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap
}

.wp-block-twocol .wp-block-col {
    box-sizing: border-box;
    width: 47.8%
}

@media only screen and (max-width: 1023px) {
    .wp-block-twocol {
        margin-top:4rem;
        display: block
    }

    .wp-block-twocol.spReverse {
        display: flex;
        flex-flow: column-reverse wrap-reverse
    }

    .wp-block-twocol.spReverse .wp-block-col {
        width: 100%;
        margin-bottom: 2rem
    }

    .wp-block-twocol.spReverse .wp-block-col+.wp-block-col {
        margin-top: 0
    }

    .wp-block-twocol .wp-block-col {
        width: 100%
    }

    .wp-block-twocol .wp-block-col+.wp-block-col {
        margin-top: 2rem
    }
}

.wp-block-image {
    margin-top: 5rem
}

.wp-block-image figcaption {
    display: block;
    margin-top: 1rem;
    line-height: 1.6;
    color: #999da3;
    font-size: 1.2rem;
    text-align: left
}

.wp-block-image figcaption a {
    text-decoration: none;
    color: #999da3
}

@media only screen and (max-width: 1023px) {
    .wp-block-image {
        margin-top:4rem
    }
}

.wp-block-columns {
    margin-top: 6rem;
    display: flex;
    justify-content: space-between
}

.wp-block-columns.is-layout-flex {
    gap: 2.5em
}

.wp-block-columns .wp-block-column {
    flex-basis: 0;
    flex-grow: 1;
    width: 46%
}

.wp-block-buttons {
    margin-top: 4rem
}

.wp-block-buttons .wp-block-button {
    margin-right: 1rem
}

.wp-block-buttons .wp-block-button .wp-block-button__link {
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99) 0s;
    transition-property: background,color,border;
    display: inline-block;
    position: relative;
    font-size: 1.3rem;
    font-weight: 600;
    line-height: 1.43;
    text-decoration: none;
    border: none;
    box-shadow: none;
    cursor: pointer;
    outline: none;
    font-family: "IBM Plex Sans JP",sans-serif;
    padding: 1rem 1rem 1rem 3rem;
    border: 1px solid #ccc;
    background: #fff
}

.wp-block-buttons .wp-block-button .wp-block-button__link::before {
    content: "";
    position: absolute;
    top: calc(50% - 1px);
    width: 1.5rem;
    height: 1px;
    background: #111;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99) 0s;
    transition-property: background
}

.wp-block-buttons .wp-block-button .wp-block-button__link::before {
    left: 0
}

html.notouch .wp-block-buttons .wp-block-button .wp-block-button__link:hover {
    background: #3b3e3b;
    color: #fff;
    border-color: rgba(0,0,0,0)
}

html.notouch .wp-block-buttons .wp-block-button .wp-block-button__link:hover::before {
    background: #fff
}

.wp-block-imgcol {
    display: flex;
    justify-content: space-between;
    margin-top: 5rem
}

.wp-block-imgcol-image {
    width: 40%
}

.wp-block-imgcol-text {
    width: 55.5555%;
    text-align: justify;
    line-height: 1.8;
    font-size: 1.6rem
}

.wp-block-imgcol.is-style-image-reverse,.wp-block-imgcol.is-style-image-small-reverse {
    flex-direction: row-reverse
}

.wp-block-imgcol.is-style-image-small .wp-block-imgcol-image,.wp-block-imgcol.is-style-image-small-reverse .wp-block-imgcol-image {
    width: 26.6666%
}

.wp-block-imgcol.is-style-image-small .wp-block-imgcol-image img,.wp-block-imgcol.is-style-image-small-reverse .wp-block-imgcol-image img {
    width: 100%
}

.wp-block-imgcol.is-style-image-small .wp-block-imgcol-text,.wp-block-imgcol.is-style-image-small-reverse .wp-block-imgcol-text {
    width: 68.8888%
}

@media only screen and (max-width: 1023px) {
    .wp-block-imgcol {
        display:block;
        margin-bottom: -3.5rem;
        overflow: hidden
    }

    .wp-block-imgcol-image {
        width: auto;
        margin-bottom: 3.5rem
    }

    .wp-block-imgcol-text {
        width: auto;
        margin-bottom: 3.5rem;
        font-size: 1.4rem
    }

    .wp-block-imgcol.is-style-image-small .wp-block-imgcol-image,.wp-block-imgcol.is-style-image-small-reverse .wp-block-imgcol-image {
        width: auto
    }

    .wp-block-imgcol.is-style-image-small .wp-block-imgcol-text,.wp-block-imgcol.is-style-image-small-reverse .wp-block-imgcol-text {
        width: auto
    }
}

.wp-block-group {
    margin-top: 4rem;
    padding: 4rem;
    border-radius: 1.5rem;
    background: #e6f1ff
}

@media only screen and (max-width: 1023px) {
    .wp-block-group {
        margin-top:4rem;
        padding: 2rem;
        border-radius: 1rem
    }
}

.has-text-align-center {
    text-align: center
}

.has-text-align-right {
    text-align: right
}

.has-text-align-left {
    text-align: left
}

.has-white-color {
    color: #fff
}

.has-white-background-color {
    background: #fff
}

.has-black-color {
    color: #000
}

.has-black-background-color {
    background: #000
}

.has-red-color {
    color: #999
}

.has-red-background-color {
    background: #999
}

p.has-background {
    padding: 2rem 3rem
}

.has-small-font-size {
    font-size: 1.1rem
}

.has-medium-font-size {
    font-size: 1.6rem
}

.has-large-font-size {
    font-size: 2rem
}

body.top .header_logo,body.top .header_nav_bodyItem,body.top .header_nav_cv,body.top .header_menu,body.top .top_fv_copyMovie,body.top .js_contact_btnInner {
    opacity: 0;
    visibility: hidden
}

html.is-loaded .header_logo,html.is-loaded .header_nav_bodyItem,html.is-loaded .header_nav_cv,html.is-loaded .header_menu,html.is-loaded .top_fv_copyMovie,html.is-loaded .js_contact_btnInner {
    opacity: 1;
    transition: all 1.2s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: opacity,visibility;
    visibility: visible
}

.p-top-loading {
    position: fixed;
    inset: 0;
    z-index: 1000;
    overflow: hidden;
    display: grid;
    place-items: center;
    transition: all 1.8s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: opacity,visibility
}

.p-top-loading:before {
    content: "";
    z-index: -1;
    inset: 0;
    width: 100%;
    height: 100vh;
    position: fixed;
    background: #000
}

.p-top-loading.is-hidden {
    visibility: hidden;
    opacity: 0
}

.top_section_ttl {
    font-weight: 700
}

@media(min-width: 1024px) {
    .top_section_ttl {
        font-size:4.2rem;
        line-height: 1.42
    }
}

@media(max-width: 1023px) {
    .top_section_ttl {
        font-size: 1.7rem;
        line-height: 1.5
    }
}

.top_fv {
    position: absolute;
    z-index: 10;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: opacity
}

.top_fv.is-hidden {
    opacity: 0
}

@media(min-width: 1024px) {
    .top_fv {
        pointer-events:none;
        height: 100vh
    }
}

@media(max-width: 1023px) {
    .top_fv {
        height:auto
    }
}

.top_fv_copyMain {
    margin: 0 auto
}

@media(min-width: 1024px) {
    .top_fv_copyMain {
        width:78rem
    }
}

@media(max-width: 1023px) {
    .top_fv_copyMain {
        width:32rem
    }
}

.top_fv_copyTxt {
    font-weight: 700;
    color: #fff;
    display: inline-block;
    text-align: left;
    transition-delay: .8s
}

@media(min-width: 1024px) {
    .top_fv_copyTxt {
        font-size:2.4rem;
        margin: 6rem auto 0;
        line-height: 1.5;
        display: table
    }
}

@media(max-width: 1023px) {
    .top_fv_copyTxt {
        font-size:1.6rem;
        margin: 3rem auto 0;
        line-height: 1.6
    }
}

.top_fv_copyMovieLink {
    text-decoration: none;
    color: #fff;
    text-align: center;
    display: block;
    margin-top: 60px
}

.top_fv_copyMovieLink .arw {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 8rem;
    height: 8rem;
    border: 1px solid rgba(255,255,255,.4);
    border-radius: 50%;
    box-sizing: border-box;
    margin: 0 auto;
    position: relative
}

.top_fv_copyMovieLink .arw:before {
    content: "";
    display: block;
    position: relative;
    right: -0.1rem;
    width: 1.6rem;
    height: 1.6rem;
    background: #fff;
    -webkit-mask-image: url(/assets/img/video.svg);
    mask-image: url(/assets/img/video.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: 0 0;
    mask-position: 0 0;
    -webkit-mask-size: contain;
    mask-size: contain
}

.top_fv_copyMovieLink .txt {
    margin-top: 8px;
    font-size: 12px
}

.top_fv_copyMovieLink .txt .t_en {
    font-weight: 500
}

.top_localnav {
    position: fixed;
    z-index: 101;
    width: 100%;
    opacity: 0;
    transition: all .9s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: width,opacity,transform,-webkit-clip-path;
    transition-property: clip-path,width,opacity,transform;
    transition-property: clip-path,width,opacity,transform,-webkit-clip-path
}

.top_localnav.is-active {
    transform: translateY(0);
    opacity: 1
}

@media(min-width: 1024px) {
    .top_localnav {
        bottom:3rem;
        transform: translateY(12rem)
    }
}

@media(max-width: 1023px) {
    .top_localnav {
        bottom:0;
        transform: translateY(8rem)
    }
}

.top_localnav_list {
    position: relative;
    z-index: 1;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    background: #efefef
}

@media(min-width: 1024px) {
    .top_localnav_list {
        width:64rem;
        height: 6.4rem;
        border-radius: 64rem;
        gap: 0 3rem;
        padding: .8rem
    }
}

@media(max-width: 1023px) {
    .top_localnav_list {
        width:100%;
        gap: 0 .8rem;
        justify-content: space-evenly;
        padding: 1.2rem 1rem calc(1.2rem + env(safe-area-inset-bottom))
    }
}

.top_localnav_item {
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center
}

@media(min-width: 1024px) {
    .top_localnav_item {
        width:19.4rem
    }

    .top_localnav_item a {
        width: 100%;
        height: 4.8rem;
        display: flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        border-radius: 64rem;
        overflow: hidden;
        box-sizing: border-box;
        transition: all .4s cubic-bezier(0.55, 0.05, 0.22, 0.99) 0s;
        transition-property: color,background,opacity;
        position: relative;
        transform: translate3d(0, 0, 0)
    }

    .top_localnav_item a:before {
        content: "";
        position: absolute;
        right: 0;
        width: 100%;
        height: 100%;
        transition: all .4s cubic-bezier(0.55, 0.05, 0.22, 0.99) 0s;
        transition-property: width,background
    }

    .top_localnav_item a.is-active {
        color: #fff
    }

    .top_localnav_item a.is-active:before {
        background: #333
    }

    html.notouch .top_localnav_item a:hover p {
        opacity: .5
    }

    .top_localnav_item a p {
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: opacity;
        position: relative;
        z-index: 1
    }
}

@media(max-width: 1023px) {
    .top_localnav_item {
        width:auto
    }

    .top_localnav_item a {
        padding: 0 1rem;
        height: 2.4rem;
        display: flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        border-radius: 64rem;
        overflow: hidden;
        box-sizing: border-box;
        transition: all .4s cubic-bezier(0.55, 0.05, 0.22, 0.99) 0s;
        transition-property: color,background,opacity;
        position: relative;
        transform: translate3d(0, 0, 0)
    }

    .top_localnav_item a:before {
        content: "";
        position: absolute;
        right: 0;
        width: 100%;
        height: 100%;
        transition: all .4s cubic-bezier(0.55, 0.05, 0.22, 0.99) 0s;
        transition-property: width,background
    }

    .top_localnav_item a.is-active {
        color: #fff
    }

    .top_localnav_item a.is-active:before {
        background: #333
    }

    .top_localnav_item a p {
        font-size: 1.1rem;
        position: relative;
        z-index: 1
    }
}

.top_highend {
    background: #fff
}

.top_highend_main {
    display: grid;
    grid-template-columns: auto;
    grid-template-rows: auto;
    align-items: start
}

.top_highend_intro {
    position: sticky;
    top: 0;
    z-index: 2;
    grid-column: 1/-1;
    grid-row: 1/-1;
    width: 100%
}

.top_highend_introTtl {
    position: relative;
    text-align: center
}

@media(min-width: 1024px) {
    .top_highend_introTtl {
        padding-top:10rem
    }
}

@media(max-width: 1023px) {
    .top_highend_introTtl {
        padding-top:7rem;
        letter-spacing: 0
    }
}

.top_highend_introVideo {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    height: 100svh;
    opacity: 1;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden
}

.top_highend_introVideo video {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute
}

.top_highend_introModal {
    position: absolute;
    z-index: 1;
    inset: 0
}

.top_highend_introImg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0
}

.top_highend_introImg li {
    --width: 45rem;
    width: var(--width);
    position: absolute;
    transition: all .9s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: transform;
    top: 0%;
    left: 50%;
    transform: translate(-50%, 29.5rem)
}

.top_highend.is-active .top_highend_introImg li:nth-child(1) {
    transform: translate(-70rem, 29.5rem)
}

.top_highend.is-active .top_highend_introImg li:nth-child(2) {
    transform: translate(25rem, 29.5rem)
}

.top_highend_introImg li video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media(min-width: 1024px) {
    .top_highend_introImg li {
        aspect-ratio:450/254;
        --width: 45rem
    }
}

@media(max-width: 1023px) {
    .top_highend_introImg li {
        --width: 13rem;
        aspect-ratio: 130/219;
        transform: translate(-50%, calc(50% + 8rem))
    }

    .top_highend.is-active .top_highend_introImg li:nth-child(1) {
        transform: translate(-20rem, calc(50% + 8rem))
    }

    .top_highend.is-active .top_highend_introImg li:nth-child(2) {
        transform: translate(7rem, calc(50% + 8rem))
    }
}

.top_highend_stickyBody {
    position: relative;
    z-index: 0;
    grid-column: 1/-1;
    grid-row: 1/-1
}

@media(min-width: 1024px) {
    .top_highend_stickyBody {
        height:250rem
    }
}

@media(max-width: 1023px) {
    .top_highend_stickyBody {
        height:200rem
    }
}

@media(min-width: 1024px) {
    .top_highend_content {
        padding-top:49rem;
        padding-bottom: 16rem
    }
}

@media(max-width: 1023px) {
    .top_highend_content {
        padding-top:35rem;
        padding-bottom: 8rem
    }
}

.top_highend_contentTxt {
    text-align: center
}

@media(min-width: 1024px) {
    .top_highend_contentTxt {
        font-size:1.8rem;
        line-height: 2
    }
}

@media(max-width: 1023px) {
    .top_highend_contentTxt {
        font-size: 1rem;
        line-height: 1.85
    }
}

.top_highend_contentProduced {
    margin: 4.8rem auto 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 1.6rem
}

@media(min-width: 1024px) {
    .top_highend_contentProduced {
        margin:4.8rem auto 0
    }
}

@media(max-width: 1023px) {
    .top_highend_contentProduced {
        margin:3.2rem auto 0
    }
}

@media(max-width: 1023px) {
    .top_highend_contentProducedTxt {
        font-size:1.2rem
    }
}

@media(max-width: 1023px) {
    .top_highend_contentProducedLogo {
        width: 9.4rem;
    }
}

.top_highend_btn {
    position: relative;
    background-image: linear-gradient(to right, rgb(0 0 0 / 31%), rgba(0, 0, 0, 0.25) 1px, transparent 1px, transparent 2px);
    background-repeat: repeat-x;
    background-position: left top;
    background-size: 3px 1px
}
.top_highend_btn.__white {
    /* position: relative; */
    background-image: linear-gradient(to right, rgb(255 255 255 / 31%), rgb(255 255 255 / 25%) 1px, transparent 1px, transparent 2px);
    /* background-repeat: repeat-x; */
    /* background-position: left top; */
    /* background-size: 3px 1px; */
}

@media(min-width: 1024px) {
    .top_highend_btn {
        margin:4.8rem auto 0;
        width: 30rem
    }
}

@media(max-width: 1023px) {
    .top_highend_btn {
        margin:3.2rem auto 0;
        width: 27rem
    }
}

.top_global {
    background: #000;
    color: #fff;
    overflow: clip
}

.top_global_inner {
    display: grid;
    grid-template-columns: auto;
    grid-template-rows: auto;
    align-items: start
}

.top_global_bg {
    position: sticky;
    top: 0;
    z-index: 2;
    grid-column: 1/-1;
    grid-row: 1/-1;
    width: 100%;
    height: 100vh
}

.top_global_bgVideo {
    position: absolute;
    z-index: 1;
    aspect-ratio: 1920/1080;
    opacity: .5
}

.top_global_bgVideo video {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute
}

@media(min-width: 1024px) {
    .top_global_bgVideo {
        top: 0rem;
        /* left: calc(50% - 34rem); */
        width: 116.5rem
    }
}

@media(max-width: 1023px) {
    .top_global_bgVideo {
        top: 0rem;
        left: calc(50% - 28.9rem);
        width: 57.8rem
    }
}

.top_global_content {
    position: relative;
    z-index: 2;
    grid-column: 1/-1;
    grid-row: 1/-1
}

@media(min-width: 1024px) {
    .top_global_content {
        padding:16rem 2rem
    }
}

@media(max-width: 1023px) {
    .top_global_content {
        padding:8rem 2rem
    }
}

@media(max-width: 1023px) {
    .top_global_ttl {
        text-align:center
    }
}

@media(min-width: 1024px) {
    .top_global_lead {
        margin-top:4.8rem;
        font-size: 1.8rem
    }
}

@media(max-width: 1023px) {
    .top_global_lead {
        text-align:center;
        margin-top: 3.2rem;
        font-size: 1.4rem
    }
}

@media(min-width: 1024px) {
    .top_global_platform {
        margin-top:8rem
    }
}

@media(max-width: 1023px) {
    .top_global_platform {
        margin-top:4.8rem
    }
}

.top_global_platformTtl {
    font-weight: 700
}

@media(min-width: 1024px) {
    .top_global_platformTtl {
        font-size:1.6rem
    }
}

@media(max-width: 1023px) {
    .top_global_platformTtl {
        font-size:1.4rem
    }
}

.top_global_platformList {
    margin-top: 1.6rem
}

@media(min-width: 1024px) {
    .top_global_platformList {
        display:grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem
    }
}

.top_global_platformItem {
    background: #fff;
    border-radius: .8rem;
    overflow: hidden;
    height: 5.6rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    box-sizing: border-box;
    color: #111
}

@media(min-width: 1024px) {
    .top_global_platformItem {
        padding:0 3rem
    }
}

@media(max-width: 1023px) {
    .top_global_platformItem {
        width:100%;
        padding: 0 1.5rem
    }

    .top_global_platformItem+.top_global_platformItem {
        margin-top: 1rem
    }
}

.top_global_platformItemInner {
    display: flex;
    align-items: center;
    gap: .8rem
}

.top_global_platformTxt {
    text-align: right;
    letter-spacing: 0
}

@media(min-width: 1024px) {
    .top_global_platformTxt {
        font-size:1.6rem
    }
}

@media(max-width: 1023px) {
    .top_global_platformTxt {
        font-size:1.4rem
    }
}

.top_global_platformLogo {
    display: block
}

@media(min-width: 1024px) {
    .top_global_platformLogo.__youtube {
        width:12.4rem
    }

    .top_global_platformLogo.__insta {
        width: 15.4rem
    }

    .top_global_platformLogo.__tiktok {
        width: 11.9rem
    }

    .top_global_platformLogo.__douyin {
        width: 8.7rem
    }

    .top_global_platformLogo.__red {
        width: 3.6rem
    }

    .top_global_platformLogo.__bilibili {
        width: 7.8rem
    }
}

@media(max-width: 1023px) {
    .top_global_platformLogo.__youtube {
        width:11.4rem
    }

    .top_global_platformLogo.__insta {
        width: 13.4rem
    }

    .top_global_platformLogo.__tiktok {
        width: 11.2rem
    }

    .top_global_platformLogo.__douyin {
        width: 8.1rem
    }

    .top_global_platformLogo.__red {
        width: 3.2rem
    }

    .top_global_platformLogo.__bilibili {
        width: 5.5rem
    }
}

.top_global_platformLogoTxt .bold {
    font-weight: 700
}

@media(min-width: 1024px) {
    .top_global_platformLogoTxt {
        font-size:1.6rem
    }

    .top_global_platformLogoTxt.__red .bold {
        font-size: 2rem
    }
}

@media(max-width: 1023px) {
    .top_global_platformLogoTxt {
        font-size:1.5rem
    }

    .top_global_platformLogoTxt.__red .bold {
        font-size: 1.9rem
    }
}

.top_global_platformCap {
    margin-top: 1.6rem
}

@media(min-width: 1024px) {
    .top_global_platformCap {
        font-size:1.2rem
    }
}

@media(max-width: 1023px) {
    .top_global_platformCap {
        font-size:1.1rem
    }
}

.top_global_model {
    border-radius: .8rem;
    background: rgba(255,255,255,.1);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px)
}

@media(min-width: 1024px) {
    .top_global_model.__map {
        margin-top:4rem
    }
}

@media(max-width: 1023px) {
    .top_global_model.__map {
        margin-top:2rem
    }
}

.top_global_model.__map .top_global_modelImg {
    border-radius: .4rem;
    overflow: hidden
}

@media(min-width: 1024px) {
    .top_global_model {
        margin-top:8rem;
        padding: 5.4rem 6rem
    }
}

@media(max-width: 1023px) {
    .top_global_model {
        margin-top:6rem;
        padding: 3.2rem 2rem
    }
}

.top_global_modelTtl {
    font-weight: 700;
    line-height: 1.61;
    text-align: center;
}

@media(min-width: 1024px) {
    .top_global_modelTtl {
        font-size:2.6rem
    }
}

@media(max-width: 1023px) {
    .top_global_modelTtl {
        font-size:1.8rem
    }
}

.top_global_modelTxt {
    margin-top: 3.2rem
}

@media(min-width: 1024px) {
    .top_global_modelTxt {
        font-size:1.6rem
    }
}

@media(max-width: 1023px) {
    .top_global_modelTxt {
        font-size:1.3rem;
        text-align: center;
    }
}

@media(min-width: 1024px) {
    .top_global_modelImg {
        margin-top:4.8rem
    }
}

@media(max-width: 1023px) {
    .top_global_modelImg {
        margin-top:3.2rem
    }
}

.top_opt {
    background: #111;
    color: #fff
}

@media(min-width: 1024px) {
    .top_opt_inner {
        display:grid;
        grid-template-columns: auto;
        grid-template-rows: auto;
        align-items: start
    }
}

@media(max-width: 1023px) {
    .top_opt_inner ,
    .topKv__inner{
        padding:8rem 0
    }
}

@media(min-width: 1024px) {
    .top_opt_bg {
        position:relative;
        z-index: 2;
        grid-column: 1/-1;
        grid-row: 1/-1;
        height: 180rem
    }
}

@media(max-width: 1023px) {
    .top_opt_bg {
        margin-top:4.8rem;
        display: flex;
        justify-content: center;
        align-items: end;
        gap: 0 1.6rem
    }
}

.top_opt_bgVideo {
    overflow: hidden
}

.top_opt_bgVideo video {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute
}

@media(min-width: 1024px) {
    .top_opt_bgVideo {
        position:absolute;
        z-index: 1;
        border-radius: .8rem
    }

    .top_opt_bgVideo.__vertical {
        top: 49rem;
        left: calc(50% - 68rem);
        width: 32.4rem;
        aspect-ratio: 324/553
    }

    .top_opt_bgVideo.__landscape {
        top: 96rem;
        left: calc(50% + 26rem);
        width: 47.2rem;
        aspect-ratio: 472/332
    }
}

@media(max-width: 1023px) {
    .top_opt_bgVideo {
        position:relative;
        border-radius: .4rem
    }

    .top_opt_bgVideo.__vertical {
        width: 12.7rem;
        aspect-ratio: 127/216
    }

    .top_opt_bgVideo.__landscape {
        width: 20.7rem;
        aspect-ratio: 207/116
    }
}

.top_opt_bgVideoSub {
    position: absolute;
    z-index: 1
}

@media(min-width: 1024px) {
    .top_opt_bgVideoSub {
        left:1.6rem;
        bottom: 1.6rem
    }
}

@media(max-width: 1023px) {
    .top_opt_bgVideoSub {
        left:.6rem;
        bottom: .6rem
    }
}

.top_opt_bgVideoSubTtl {
    font-size: 1.8rem;
    letter-spacing: 0;
    position: relative;
    display: flex
}

.top_opt_bgVideoSubTtl .icon {
    position: relative;
    top: -0.2rem;
    margin-left: .8rem;
    display: block;
    width: 1.8rem;
    height: 1.8rem;
    background: #fff;
    -webkit-mask-image: url(../imgs/top/opt_video_icon.svg);
    mask-image: url(../imgs/top/opt_video_icon.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: 0 0;
    mask-position: 0 0;
    -webkit-mask-size: contain;
    mask-size: contain
}

@media(min-width: 1024px) {
    .top_opt_bgVideoSubTtl {
        font-size:1.8rem
    }
}

@media(max-width: 1023px) {
    .top_opt_bgVideoSubTtl {
        font-size:.66rem
    }

    .top_opt_bgVideoSubTtl .icon {
        top: -0.1rem;
        margin-left: .4rem;
        display: block;
        width: .7rem;
        height: .7rem
    }
}

.top_opt_bgVideoSubTxt {
    letter-spacing: 0;
    font-weight: 400
}

@media(min-width: 1024px) {
    .top_opt_bgVideoSubTxt {
        font-size:1.3rem;
        margin-top: .8rem
    }
}

@media(max-width: 1023px) {
    .top_opt_bgVideoSubTxt {
        font-size:.48rem;
        margin-top: .4rem
    }
}

@media(min-width: 1024px) {
    .top_opt_content {
        position:sticky;
        top: 0;
        z-index: 2;
        grid-column: 1/-1;
        grid-row: 1/-1;
        width: 100%;
        height: 100vh;
        display: flex;
        align-items: center
    }
}

@media(min-width: 1024px) {
    .top_opt_contentInner {
        width:47rem;
        margin: 0 auto;
        position: relative
    }
    .works .top_opt_contentInner {
        /* width: 47rem; */
        margin: 0 auto 60px;
        /* position: relative; */
    }
}

.top_opt_ttl {
    letter-spacing: 0
}

@media(max-width: 1023px) {
    .top_opt_ttl {
        text-align:center
    }
    .works.kaso .top_opt_ttl{
        margin-bottom:4.8rem;
    }
}

.top_opt_lead {
    letter-spacing: 0
}

@media(min-width: 1024px) {
    .top_opt_lead {
        text-align:justify;
        margin-top: 6rem;
        font-size: 1.8rem
    }
}

@media(max-width: 1023px) {
    .top_opt_lead {
        text-align:left;
        font-size: 1.4rem;
        margin: 3.2rem 2rem 0;
        text-align: center;
    }
    .top_opt_lead.works_ex{
         margin: 2rem 0rem 4.8rem
    }
    .serviceFlow .top_opt_lead {
        text-align: left;
        font-size: 1.4rem;
        margin: 3.2rem 0rem 0;
        text-align: center;
    }
}

.top_case {
    background: #fff
}

@media(min-width: 1024px) {
    .top_case {
        padding:16rem 0
    }
}

@media(max-width: 1023px) {
    .top_case {
        padding:8rem 0
    }
}

@media(min-width: 1024px) {
    .top_case_head {
        display:grid;
        grid-template-columns: -webkit-max-content 1fr;
        grid-template-columns: max-content 1fr;
        -moz-column-gap: 3.2rem;
        column-gap: 3.2rem;
        margin-bottom: 8rem
    }
}

@media(max-width: 1023px) {
    .top_case_head {
        margin-bottom:3.2rem
    }
}

.top_case_headTtl {
    letter-spacing: 0
}

@media(min-width: 1024px) {
    .top_case_headEn {
        display:flex;
        justify-content: flex-end;
        align-items: flex-end;
        position: relative;
        color: #999;
        text-align: right;
        border-bottom: 1px solid #ccc;
        padding-bottom: 1.6rem
    }
}

@media(max-width: 1023px) {
    .top_case_headEn {
        display:none
    }
}

@media(min-width: 1024px) {
    .top_case_content {
        display:grid;
        grid-template-columns: auto;
        grid-template-rows: auto;
        align-items: start
    }
}

.top_case_slide {
    z-index: 0;
    grid-column: 1/-1;
    grid-row: 1/-1;
    overflow: inherit;
    margin: 0 auto;
    position: relative;
    opacity: 0;
    transform: scale(0.95);
    visibility: hidden;
    transition: all .9s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: opacity,visibility,transform
}

.top_case_slide.is-hidden {
    display: none
}

.top_case_slide.is-active {
    display: block;
    -webkit-animation-name: fadeIn;
    animation-name: fadeIn;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-animation-duration: 1s;
    animation-duration: 1s
}

.top_case_slide.__pc {
    width: var(--width)
}

.top_case_slide.__pc .top_case_slideItemVideo {
    aspect-ratio: 16/9
}

.top_case_slide.__sp {
    width: var(--width)
}

.top_case_slide.__sp .top_case_slideItemVideo {
    aspect-ratio: 9/16
}

.top_case_slide .top_case_blankUrl .l_arw {
    transform: rotate(-45deg)
}

@media(min-width: 1024px) {
    .top_case_slide.__pc {
        --width: 84rem
    }

    .top_case_slide.__sp {
        --width: 30rem
    }
}

@media(max-width: 1023px) {
    .top_case_slide.__pc {
        --width: 30rem
    }

    .top_case_slide.__sp {
        --width: 24rem
    }
}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0;
        transform: scale(0.9);
        visibility: hidden
    }

    100% {
        opacity: 1;
        transform: scale(1);
        visibility: visible
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0;
        transform: scale(0.9);
        visibility: hidden
    }

    100% {
        opacity: 1;
        transform: scale(1);
        visibility: visible
    }
}

.top_case_slideItem a {
    display: block;
    text-decoration: none
}

.top_case_slideItemVideo {
    aspect-ratio: 16/9;
    position: relative;
    overflow: hidden;
    pointer-events: none
}

.top_case_slideItemVideo:before {
    content: "";
    position: absolute;
    display: block;
    inset: 0;
    background: rgba(0,0,0,.15)
}

.top_case_slideItemVideo img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media(min-width: 1024px) {
    .top_case_slideItemVideo {
        border-radius:.8rem
    }
}

@media(max-width: 1023px) {
    .top_case_slideItemVideo {
        border-radius:.4rem
    }

    .top_case_slideItemVideo:before {
        background: rgba(0,0,0,.4)
    }
}

.top_case_slideMovieLink {
    position: absolute;
    z-index: 1;
    top: calc(50% - 4rem);
    left: calc(50% - 4rem);
    text-align: center;
    color: #fff
}

.top_case_slideMovieLink .arw {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 8rem;
    height: 8rem;
    border: 1px solid rgba(255,255,255,.4);
    border-radius: 50%;
    box-sizing: border-box;
    margin: 0 auto;
    position: relative
}

.top_case_slideMovieLink .arw:before {
    content: "";
    display: block;
    position: relative;
    right: -0.1rem;
    width: 1.6rem;
    height: 1.6rem;
    background: #fff;
    -webkit-mask-image: url(/assets/img/video.svg);
    mask-image: url(/assets/img/video.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: 0 0;
    mask-position: 0 0;
    -webkit-mask-size: contain;
    mask-size: contain
}

.top_case_slideMovieLink .txt {
    margin-top: .8rem;
    font-size: 1.2rem
}

.top_case_slideMovieLink .txt .t_en {
    font-weight: 500
}

.top_case_slideItemBody {
    margin-top: 1.6rem
}

.top_case_slideItemBody.__h {
    display: flex;
    justify-content: space-between;
    align-items: end
}

.top_case_slideItemBody.__v .top_case_slideItemBtn {
    margin-top: .8rem;
    justify-content: end
}

.top_case_slideItemCat {
    margin-bottom: 1.4rem
}

@media(min-width: 1024px) {
    .top_case_slideItemTtl {
        font-size:1.6rem
    }
}

@media(max-width: 1023px) {
    .top_case_slideItemTtl {
        font-size:1.4rem
    }
}

.top_case_slideItemEn {
    margin-top: 1.6rem;
    color: #666;
    letter-spacing: 0
}

.top_case_slideItemEn .t_en {
    font-weight: 400
}

@media(min-width: 1024px) {
    .top_case_slideItemEn {
        font-size:1.2rem
    }
}

@media(max-width: 1023px) {
    .top_case_slideItemEn {
        font-size:1.1rem
    }
}

.top_case_slideItemBtn {
    font-size: 1.2rem;
    display: flex;
    align-items: center;
    gap: .8rem
}

.top_case_slideItemBtn .l_linelink_txt {
    padding-bottom: .2rem
}

.top_case_slideNext,.top_case_slidePrev {
    --navwidth: calc((100vw - var(--width)) / 2);
    position: absolute;
    z-index: 10;
    display: block;
    top: 0;
    height: 100%;
    width: var(--navwidth);
    cursor: pointer
}

.top_case_slideNext.swiper-button-disabled,.top_case_slidePrev.swiper-button-disabled {
    pointer-events: none
}

.top_case_slideNext {
    right: calc(-1*var(--navwidth))
}

.top_case_slidePrev {
    left: calc(-1*var(--navwidth))
}

.top_casenav {
    position: fixed;
    z-index: 101;
    width: 100%;
    transition: all .9s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    opacity: 0;
    transform: translateY(12rem);
    transition-property: width,opacity,transform,-webkit-clip-path;
    transition-property: clip-path,width,opacity,transform;
    transition-property: clip-path,width,opacity,transform,-webkit-clip-path
}

.top_casenav.is-active {
    transform: translateY(0);
    opacity: 1
}

@media(min-width: 1024px) {
    .top_casenav {
        bottom:3rem
    }
}

@media(max-width: 1023px) {
    .top_casenav {
        bottom:2rem
    }
}

.top_casenav_list {
    position: relative;
    z-index: 1;
    width: 12rem;
    margin: 0 auto;
    height: 4.8rem;
    border-radius: 64rem;
    display: flex;
    align-items: center;
    gap: 0 3.2rem;
    padding: .4rem;
    box-sizing: border-box;
    background: #efefef
}

.top_casenav_list:before {
    content: "";
    position: absolute;
    right: 0;
    width: 1.4rem;
    height: 1.4rem;
    top: calc(50% - .7rem);
    left: calc(50% - .7rem);
    background: rgba(0,0,0,.4);
    -webkit-mask-image: url(../imgs/top/icon_change.svg);
    mask-image: url(../imgs/top/icon_change.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: 0 0;
    mask-position: 0 0;
    -webkit-mask-size: contain;
    mask-size: contain
}

.top_casenav_item {
    width: 4rem;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center
}

.top_casenav_item a {
    width: 100%;
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border-radius: 50%;
    overflow: hidden;
    box-sizing: border-box;
    transition: all .4s cubic-bezier(0.55, 0.05, 0.22, 0.99) 0s;
    transition-property: color,background,opacity;
    position: relative;
    background: #fff
}

.top_casenav_item a:after {
    content: "";
    display: block;
    position: absolute;
    width: 1.8rem;
    height: 1.8rem;
    top: calc(50% - .9rem);
    left: calc(50% - .9rem);
    background: #111;
    transition: all .4s cubic-bezier(0.55, 0.05, 0.22, 0.99) 0s;
    transition-property: width,background,opacity;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: 0 0;
    mask-position: 0 0;
    -webkit-mask-size: contain;
    mask-size: contain
}

.top_casenav_item a.__pc:after {
    -webkit-mask-image: url(../imgs/top/icon_pc.svg);
    mask-image: url(../imgs/top/icon_pc.svg)
}

.top_casenav_item a.__sp:after {
    -webkit-mask-image: url(../imgs/top/icon_sp.svg);
    mask-image: url(../imgs/top/icon_sp.svg)
}

.top_casenav_item a.is-active {
    color: #fff;
    background: #333
}

.top_casenav_item a.is-active:after {
    background: #fff
}

html.notouch .top_casenav_item a:hover:after {
    opacity: .5
}

.top_case_btn {
    position: relative;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.25) 1px, transparent 1px, transparent 2px);
    background-repeat: repeat-x;
    background-position: left top;
    background-size: 3px 1px;
    margin: 0 auto
}

@media(min-width: 1024px) {
    .top_case_btn {
        margin:4.8rem auto 0;
        width: 30rem
    }
}

@media(max-width: 1023px) {
    .top_case_btn {
        margin:3.2rem auto 0;
        width: 27rem
    }
}

.top_marketing {
    background: #f3f3f3
}

@media(min-width: 1024px) {
    .top_marketing {
        padding:16rem 0
    }
}

@media(max-width: 1023px) {
    .top_marketing {
        padding:8rem 0
    }
}

@media(min-width: 1024px) {
    .top_marketing_head {
        display:grid;
        grid-template-columns: -webkit-max-content 1fr;
        grid-template-columns: max-content 1fr;
        -moz-column-gap: 3.2rem;
        column-gap: 3.2rem;
        margin-bottom: 8rem
    }
}

@media(max-width: 1023px) {
    .top_marketing_head {
        margin-bottom:4.8rem
    }
}

@media(min-width: 1024px) {
    .top_marketing_headEn {
        display:flex;
        justify-content: flex-end;
        align-items: flex-end;
        position: relative;
        color: #999;
        text-align: right;
        border-bottom: 1px solid #ccc;
        padding-bottom: 1.6rem
    }
}

@media(max-width: 1023px) {
    .top_marketing_headEn {
        display:none
    }
}

@media(min-width: 1024px) {
    .top_marketing_inner {
        display:flex;
        justify-content: space-between;
        flex-wrap: wrap;
        position: relative
    }
}

@media(min-width: 1024px) {
    .top_marketing_side {
        box-sizing:border-box;
        width: 18rem;
        position: sticky;
        z-index: 1;
        top: 11.2rem;
        height: 100%
    }
}

@media(max-width: 1023px) {
    .top_marketing_side {
        display:none
    }
}

.top_marketing_sideItem+.top_marketing_sideItem {
    margin-top: 3.2rem
}

.top_marketing_sideItem.is-active .top_marketing_sideItemInner:after {
    width: 100%
}

.top_marketing_sideItemInner {
    text-decoration: none;
    display: flex;
    align-items: center;
    letter-spacing: 0;
    position: relative;
    padding-bottom: .8rem
}

.top_marketing_sideItemInner:before,.top_marketing_sideItemInner:after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    height: 1px
}

.top_marketing_sideItemInner:before {
    width: 100%;
    background: #ccc
}

.top_marketing_sideItemInner:after {
    width: 1.6rem;
    background: #111;
    transition: all .3s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: width
}

.top_marketing_sideNum {
    font-size: 1.2rem;
    margin-right: .8rem
}

.top_marketing_sideTtl {
    font-size: 1.6rem
}

@media(min-width: 1024px) {
    .top_marketing_body {
        width:calc(100% - 21rem)
    }
}

@media(min-width: 1024px) {
    .top_marketing_list {
        margin:0 auto;
        display: grid;
        row-gap: 8rem
    }
}

@media(max-width: 1023px) {
    .top_marketing_list {
        display:grid;
        row-gap: 3.2rem
    }
}

.top_marketing_listItem {
    background-color: #fff;
    border-radius: 1rem;
    box-sizing: border-box;
    width: 100%
}

@media(min-width: 1024px) {
    .top_marketing_listItem {
        padding:4.8rem 6rem;
        box-shadow: 0px 0px 4rem 0px rgba(0,0,0,.03)
    }
}

@media(max-width: 1023px) {
    .top_marketing_listItem {
        padding:3.2rem 2rem
    }
}

@media(min-width: 1024px) {
    .top_marketing_listItemHead {
        display:flex;
        align-items: center;
        padding-bottom: 2.4rem;
        margin-bottom: 3.2rem;
        position: relative
    }

    .top_marketing_listItemHead:before,.top_marketing_listItemHead:after {
        content: "";
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        height: 1px
    }

    .top_marketing_listItemHead:before {
        width: 100%;
        background: #ccc
    }

    .top_marketing_listItemHead:after {
        width: 3rem;
        background: #111;
        transition: all .3s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: width
    }

    .top_marketing_listItemHead .num {
        width: 3rem;
        text-align: center;
        font-size: 1.6rem;
        margin-right: 3rem
    }

    .top_marketing_listItemHead .ttl {
        display: flex;
        align-items: center
    }

    .top_marketing_listItemHead .en {
        font-size: 3.2rem;
        margin-right: 1.6rem;
        letter-spacing: 0;
        line-height: 1.42
    }

    .top_marketing_listItemHead .jp {
        font-size: 1.6rem;
        white-space: nowrap
    }
}

@media(max-width: 1023px) {
    .top_marketing_listItemHead {
        display:flex;
        padding-bottom: 2.4rem;
        margin-bottom: 2.4rem;
        position: relative
    }

    .top_marketing_listItemHead:before,.top_marketing_listItemHead:after {
        content: "";
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        height: 1px
    }

    .top_marketing_listItemHead:before {
        width: 100%;
        background: #ccc
    }

    .top_marketing_listItemHead .num {
        width: 3rem;
        text-align: center;
        font-size: 1.4rem;
        margin-right: 1.6rem;
        padding-top: 1rem;
        border-top: 1px solid #111
    }

    .top_marketing_listItemHead .en {
        font-size: 2.2rem;
        margin-right: 0;
        line-height: 1.09
    }

    .top_marketing_listItemHead .jp {
        margin-top: 1.2rem;
        font-size: 1.3rem
    }
}

.top_marketing_listItemTtl {
    font-weight: 700
}

@media(min-width: 1024px) {
    .top_marketing_listItemTtl {
        font-size:2.4rem;
        margin-bottom: 3.2rem;
        letter-spacing: 0
    }
}

@media(max-width: 1023px) {
    .top_marketing_listItemTtl {
        font-size:1.6rem;
        line-height: 1.62;
        margin-bottom: 2.4rem;
        letter-spacing: 0
    }
}

@media(min-width: 1024px) {
    .top_marketing_listItemTxt {
        font-size:1.6rem
    }
}

@media(max-width: 1023px) {
    .top_marketing_listItemTxt {
        font-size:1.4rem
    }
}

@media(min-width: 1024px) {
    .top_faq,
    .top_flow{
        padding:16rem 0
    }
}

@media(max-width: 1023px) {
    .top_faq,
    .top_flow{
        padding:8rem 0
    }
}

@media(min-width: 1024px) {
    .top_faq_inner,
    .top_flow_inner{
        display:flex;
        justify-content: space-between;
        flex-wrap: wrap;
        position: relative
    }
}

@media(min-width: 1024px) {
    .top_faq_side,
    .top_flow_side{
        border-top:1px solid #111;
        padding-top: 4.8rem;
        box-sizing: border-box;
        width: 15rem;
        position: sticky;
        z-index: 1;
        top: 11.2rem;
        height: 100%
    }
}

@media(max-width: 1023px) {
    .top_faq_side,
    .top_flow_side{
        display:flex;
        align-items: center;
        margin-bottom: 3.2rem
    }
}

@media(min-width: 1024px) {
    .top_faq_sideTtlEn,
    .top_flow_sideTtlEn{
        font-size:4.6rem;
        font-weight: 700
    }
}

@media(max-width: 1023px) {
    .top_faq_sideTtlEn,
    .top_flow_sideTtlEn{
        font-size:3rem
    }
}

@media(min-width: 1024px) {
    .top_faq_sideTtl,
    .top_flow_sideTtl{
        margin-top:2.4rem;
        font-size: 1.6rem
    }
}

@media(max-width: 1023px) {
    .top_faq_sideTtl,
    .top_flow_sideTtl{
        margin-left:1.6rem
    }
}

.top_faq_body,
.top_flow_body{
    border-top: 1px solid #ccc
}

@media(min-width: 1024px) {
    .top_faq_body,
    .top_flow_body{
        width:calc(100% - 21rem)
    }
}

.top_faq_item {
    border-bottom: 1px solid #ccc
}

.top_faq_itemToggle {
    display: block;
    text-decoration: none;
    position: relative
}

@media(min-width: 1024px) {
    .top_faq_itemToggle {
        padding:6.4rem 16rem 6.4rem 1.6rem;
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: opacity
    }

    html.notouch .top_faq_itemToggle:hover {
        opacity: .5
    }
}

@media(max-width: 1023px) {
    .top_faq_itemToggle {
        padding:3.2rem 4.8rem 3.2rem 0
    }
}

.top_faq_itemIcon {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%
}

.top_faq_itemIcon:before,.top_faq_itemIcon:after {
    position: absolute;
    content: "";
    display: block;
    background: #111
}

.top_faq_itemIcon:before {
    width: 2.6rem;
    height: 2px;
    top: calc(50% - 1px);
    left: calc(50% - 1.3rem)
}

.top_faq_itemIcon:after {
    width: 1px;
    height: 2.6rem;
    top: calc(50% - 1.3rem);
    left: calc(50% - .5px);
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: opacity
}

.top_faq_itemToggle.is_show .top_faq_itemIcon:after {
    opacity: 0
}

@media(min-width: 1024px) {
    .top_faq_itemIcon {
        width:16rem
    }

    .top_faq_itemIcon:before {
        width: 2.6rem;
        height: 2px;
        top: calc(50% - 1px);
        left: calc(50% - 1.3rem)
    }

    .top_faq_itemIcon:after {
        width: 1px;
        height: 2.6rem;
        top: calc(50% - 1.3rem);
        left: calc(50% - .5px);
        transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
        transition-property: opacity
    }
}

@media(max-width: 1023px) {
    .top_faq_itemIcon {
        width:4.8rem
    }

    .top_faq_itemIcon:before {
        width: 1.5rem;
        left: calc(50% - .75rem)
    }

    .top_faq_itemIcon:after {
        width: 1px;
        height: 1.6rem;
        top: calc(50% - .8rem);
        left: calc(50% - .5px)
    }
}

.top_faq_itemTtl {
    line-height: 1.62
}

@media(min-width: 1024px) {
    .top_faq_itemTtl {
        font-size:2.2rem
    }
}

@media(max-width: 1023px) {
    .top_faq_itemTtl {
        font-size:1.6rem
    }
}

@media(min-width: 1024px) {
    .top_faq_itemBody {
        padding:0rem 16rem 6.4rem 1.6rem;
        font-size: 1.6rem
    }
}

@media(max-width: 1023px) {
    .top_faq_itemBody {
        padding:0rem 4.8rem 3.2rem 0;
        font-size: 1.3rem
    }
}

@media(min-width: 1024px) {
    .top_news {
        padding:6rem 0 16rem
    }
}

@media(max-width: 1023px) {
    .top_news {
        padding: 8rem 0;
    }
}

@media(min-width: 1024px) {
    .top_news_inner {
        display:flex;
        justify-content: space-between;
        flex-wrap: wrap;
        position: relative
    }
}

@media(min-width: 1024px) {
    .top_news_side {
        border-top:1px solid #111;
        padding-top: 4.8rem;
        box-sizing: border-box;
        width: 15rem;
        position: sticky;
        z-index: 1;
        top: 11.2rem;
        height: 100%
    }
}

@media(max-width: 1023px) {
    .top_news_side {
        display:flex;
        align-items: center;
        margin-bottom: 3.2rem
    }
}

@media(min-width: 1024px) {
    .top_news_sideTtlEn {
        font-size:4.6rem;
        font-weight: 700
    }
}

@media(max-width: 1023px) {
    .top_news_sideTtlEn {
        font-size:3rem
    }
}

@media(min-width: 1024px) {
    .top_news_sideTtl {
        margin-top:2.4rem;
        font-size: 1.6rem
    }
}

@media(max-width: 1023px) {
    .top_news_sideTtl {
        margin-left:1.6rem
    }
}

.top_news_body {
    border-top: 1px solid #ccc
}

@media(min-width: 1024px) {
    .top_news_body {
        width:calc(100% - 21rem)
    }
}

.top_news_itemLink {
    text-decoration: none;
    display: block
}

@media(min-width: 1024px) {
    .top_news_itemLink {
        padding:4.8rem 0 0
    }

    .top_news_itemLink .news_list_itemBtn {
        margin-top: 2rem
    }
}

@media(max-width: 1023px) {
    .top_news_itemLink {
        padding:3.2rem 0 0
    }

    .top_news_itemLink .news_list_itemBtn {
        margin-top: .5rem
    }
}

.top_news_itemBody {
    display: flex;
    align-items: start
}

@media(min-width: 1024px) {
    .top_news_itemBody {
        -moz-column-gap:4rem;
        column-gap: 4rem
    }
}

@media(max-width: 1023px) {
    .top_news_itemBody {
        -moz-column-gap:1.6rem;
        column-gap: 1.6rem
    }
}

.top_news_itemImg {
    flex-shrink: 0;
    overflow: hidden;
    border-radius: .4rem;
    position: relative
}

.top_news_itemImg:before {
    content: "";
    display: block;
    position: absolute;
    border: 1px solid rgba(17,17,17,.1);
    border-radius: .4rem;
    z-index: 1;
    inset: 0
}

.top_news_itemImg .img-ov {
    position: relative;
    aspect-ratio: 600/342
}

.top_news_itemImg .img-ov img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    left: 0;
    top: 0
}

@media(min-width: 1024px) {
    .top_news_itemImg {
        width:24rem
    }
}

@media(max-width: 1023px) {
    .top_news_itemImg {
        width:14rem;
        border-width: .5px
    }
}

.top_news_itemBody {
    flex-grow: 1
}

.top_news_itemDesc {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.4rem;
    align-self: stretch
}

.top_news_itemDate {
    color: #666
}

.top_news_itemDate .t_en {
    font-weight: 400
}

@media(max-width: 1023px) {
    .top_news_itemDate {
        font-size:1.1rem
    }
}

.top_news_itemTtl {
    font-weight: 500
}

@media(min-width: 1024px) {
    .top_news_itemTtl {
        font-size:1.6rem
    }
}

@media(max-width: 1023px) {
    .top_news_itemTtl {
        overflow:hidden;
        display: -webkit-box;
        text-overflow: ellipsis;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        font-size: 1.4rem
    }
}

.top_news_btn {
    margin-left: auto
}

@media(min-width: 1024px) {
    .top_news_btn {
        max-width:30rem
    }
}

@media(min-width: 1024px) {
    .com {
        margin-bottom:11.2rem
    }
}

@media(max-width: 1023px) {
    .com {
        margin-bottom:8rem
    }
}

.com_concept_copy {
    font-weight: 700;
    line-height: 1.66
}

@media(min-width: 1024px) {
    .com_concept_copy {
        font-size:2.4rem;
        margin-bottom: 4.8rem
    }
}

@media(max-width: 1023px) {
    .com_concept_copy {
        font-size:1.8rem;
        margin-bottom: 3.2rem;
        letter-spacing: 0
    }
}

@media(min-width: 1024px) {
    .com_concept_txt {
        font-size:1.6rem
    }
}

@media(min-width: 1024px) {
    .com_concept_links {
        margin-top:6rem;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 0 3rem
    }
}

@media(max-width: 1023px) {
    .com_concept_links {
        margin-top:6rem
    }
}

@media(min-width: 1024px) {
    .com_concept_linksItem {
        display:flex;
        width: 100%
    }
}

@media(max-width: 1023px) {
    .com_concept_linksItem+.com_concept_linksItem {
        margin-top:4.8rem
    }
}

.com_concept_linksItemInner {
    width: 100%;
    display: block;
    border-bottom: 1px solid #ccc;
    text-decoration: none;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: opacity
}

html.notouch .com_concept_linksItemInner:hover {
    opacity: .7
}

.com_concept_linksItemlogo {
    text-align: center
}

@media(min-width: 1024px) {
    .com_concept_linksItemlogo img {
        width:auto;
        height: 10rem
    }

    .com_concept_linksItemlogo.__third img {
        transform: scale(0.8)
    }
}

@media(max-width: 1023px) {
    .com_concept_linksItemlogo img {
        width:auto;
        height: 9rem
    }

    .com_concept_linksItemlogo.__third img {
        transform: scale(0.7)
    }
}

.com_concept_linksItemtext {
    display: flex;
    justify-content: end;
    margin-bottom: 1.6rem
}

.com_concept_linksItemtext .icon {
    display: block;
    width: 1.1rem;
    height: 1.1rem;
    margin-left: .8rem;
    position: relative;
    top: -0.2rem
}

@media(min-width: 1024px) {
    .com_concept_linksItemtext {
        margin-top:3.2rem
    }
}

@media(max-width: 1023px) {
    .com_concept_linksItemtext {
        margin-top:1.6rem
    }
}

@media(min-width: 1024px) {
    .com_about_list {
        display:grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 4.8rem 3rem
    }
}

.com_about_listItem {
    width: 100%;
    border-bottom: 1px solid #ccc
}

@media(min-width: 1024px) {
    .com_about_listItem {
        padding-bottom:4.8rem
    }
}

@media(max-width: 1023px) {
    .com_about_listItem {
        padding-bottom:3.2rem
    }

    .com_about_listItem+.com_about_listItem {
        margin-top: 3.2rem
    }
}

@media(min-width: 1024px) {
    .com_about_listItemTtl {
        font-size:1.6rem;
        margin-bottom: 3.2rem
    }
}

@media(max-width: 1023px) {
    .com_about_listItemTtl {
        font-size:1.4rem;
        margin-bottom: 2.4rem
    }
}

.com_about_listItemTxt {
    color: #666;
    font-size: 1.4rem
}

@media(min-width: 1024px) {
    .coi {
        margin-bottom:11.2rem
    }
}

@media(max-width: 1023px) {
    .coi {
        margin-bottom:8rem
    }
}

.coi_form_sideCap {
    color: #c8151c
}

@media(min-width: 1024px) {
    .coi_form_sideCap {
        margin-top:1.6rem
    }
}

@media(max-width: 1023px) {
    .coi_form_sideInner {
        display:flex
    }
}

@media(min-width: 1024px) {
    .coi_form_side {
        height:calc(100vh - 19.2rem);
        display: grid
    }
}

@media(min-width: 1024px) {
    .coi_form_sideBottom {
        margin-top:auto
    }
}

@media(max-width: 1023px) {
    .coi_form_sideBottom {
        margin-top:4.8rem;
        width: 50%
    }
}

.coi_form_sideBack {
    text-decoration: none;
    display: flex;
    padding-bottom: 1.6rem;
    border-bottom: 1px solid #ccc;
    gap: 0 .8rem
}

@media(min-width: 1024px) {
    .coi_form_txt {
        font-size:1.6rem;
        margin-bottom: 8rem
    }
}

@media(max-width: 1023px) {
    .coi_form_txt {
        font-size:1.4rem;
        margin-bottom: 4.8rem
    }
}

.coi_form_content {
    border-top: 1px solid rgba(0,0,0,.1)
}

@media(min-width: 1024px) {
    .coi_thanks_content {
        padding-top:8rem;
        border-top: 1px solid #ccc
    }
}

@media(max-width: 1023px) {
    .coi_thanks_content {
        padding-top:3.2rem;
        border-top: 1px solid #111
    }
}

@media(min-width: 1024px) {
    .coi_thanks_back {
        margin-top:8rem;
        width: 15rem
    }
}

@media(max-width: 1023px) {
    .coi_thanks_back {
        margin-top:4.8rem;
        width: 50%
    }
}

.coi_thanks_ttl {
    font-weight: 700;
    margin-bottom: 4.8rem
}

@media(min-width: 1024px) {
    .coi_thanks_ttl {
        font-size:2.4rem
    }
}

@media(max-width: 1023px) {
    .coi_thanks_ttl {
        font-size:1.6rem
    }
}

@media(min-width: 1024px) {
    .cas {
        margin-bottom:11.2rem
    }
}

@media(max-width: 1023px) {
    .cas {
        margin-bottom:8rem
    }
}

@media(min-width: 1024px) {
    .cas_list_sideTtl {
        margin-bottom:3rem
    }
}

@media(max-width: 1023px) {
    .cas_list_sideTtl {
        flex-shrink:0;
        width: 8.5rem
    }
}

.cas_list_status ul li label {
    display: flex;
    gap: 0 .6rem;
    align-items: center;
    cursor: pointer
}

.cas_list_status input[type=radio] {
    display: none
}

.cas_list_status input[type=radio]:checked+.cas_radio {
    border-color: #111
}

.cas_list_status input[type=radio]:checked+.cas_radio:after {
    transform: scale(1)
}

.cas_list_status .cas_radio {
    display: block;
    width: 1.4rem;
    height: 1.4rem;
    border: 1px solid #ccc;
    border-radius: 50%;
    vertical-align: middle;
    position: relative;
    transition: all .3s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: border
}

.cas_list_status .cas_radio:after {
    content: "";
    width: .8rem;
    height: .8rem;
    background: #111;
    border-radius: 50%;
    position: absolute;
    top: calc(50% - .4rem);
    left: calc(50% - .4rem);
    transform: scale(0);
    transition: all .3s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: transform
}

@media(min-width: 1024px) {
    .cas_list_status {
        margin-bottom:4.8rem
    }

    .cas_list_status ul {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 2rem;
        align-self: stretch
    }
}

@media(max-width: 1023px) {
    .cas_list_status {
        margin-bottom:3.2rem
    }

    .cas_list_status ul {
        display: flex;
        gap: 1.6rem
    }
}

@media(max-width: 1023px) {
    .cas_list_area {
        display:flex;
        align-items: start;
        gap: 0rem
    }
}

.cas_list_cat li label {
    display: flex;
    gap: 0 1rem;
    align-items: center;
    cursor: pointer
}

.cas_list_cat .cas_checkbox_txt {
    opacity: .5
}

.cas_list_cat input[type=checkbox] {
    display: none
}

.cas_list_cat input[type=checkbox]:checked+.cas_checkbox_txt {
    opacity: 1
}

@media(min-width: 1024px) {
    .cas_list_cat {
        margin-top:3.2rem;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 1.6rem;
        align-self: stretch
    }
}

@media(max-width: 1023px) {
    .cas_list_cat {
        margin-top:.2rem;
        flex-grow: 1;
        display: flex;
        align-items: start;
        gap: 1.6rem;
        flex-wrap: wrap
    }
}

@media(min-width: 1024px) {
    .cas_list_content {
        display:grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 6rem
    }
}

.cas_list_item {
    display: flex;
    flex-direction: column
}

.cas_list_item.is-app {
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: opacity;
    opacity: 0
}

.cas_list_item.is-visible {
    opacity: 1
}

.cas_list_item a {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    text-decoration: none
}

@media(max-width: 1023px) {
    .cas_list_item+.cas_list_item {
        margin-top:4.8rem
    }
}

.cas_list_itemblankUrl .l_arw {
    transform: rotate(-45deg)
}

.cas_list_itemImg {
    overflow: hidden;
    border-radius: .5rem
}

@media(min-width: 1024px) {
    .cas_list_itemBody {
        margin-top:1.6rem;
        display: flex;
        flex-direction: column;
        flex: 1 1 auto
    }
}

@media(max-width: 1023px) {
    .cas_list_itemBody {
        margin-top:1.6rem
    }
}

.cas_list_ItemTtl {
    font-size: 1.6rem;
    line-height: 1.5
}

.cas_slideItemTtlEn {
    margin-top: 1.2rem
}

.cas_slideItemTtlEn .t_en {
    font-weight: 400;
    font-size: 1.2rem
}

.cas_list_itemBtn {
    padding-top: .8rem;
    margin-top: auto;
    position: relative;
    align-items: center;
    display: flex;
    justify-content: end
}

.cas_list_itemBtn:before,.cas_list_itemBtn:after {
    content: "";
    display: block;
    position: absolute;
    height: 1px;
    bottom: 0
}

.cas_list_itemBtn:before {
    width: 100%;
    background: #ccc
}

.cas_list_itemBtn:after {
    width: 0;
    background: #111;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: width
}

html.notouch a:hover .cas_list_itemBtn:after {
    left: 0;
    right: auto;
    width: 100%
}

.cas_list_itemBtnInner {
    align-items: center;
    display: flex;
    justify-content: end;
    gap: .8rem;
    font-size: 1.2rem;
    padding-bottom: 1.6rem;
    position: relative;
    width: 9rem
}

.cas_list_itemBtnInner::before {
    content: "";
    display: block;
    position: absolute;
    height: 1px;
    right: 0;
    bottom: 0;
    width: 100%;
    background: #111
}

.cas_list_itemBtnTxt {
    font-size: 1.2rem
}

@media(min-width: 1024px) {
    .cas.__detail .c_pagettl {
        align-items:start
    }

    .cas.__detail .c_pagettl_ttl {
        line-height: 1.33;
        flex-grow: 1;
        width: calc(100% - 7rem)
    }

    .cas.__detail .c_pagettl_sub {
        flex-shrink: 0;
        width: 6rem;
        text-align: right
    }

    .cas.__detail .cas_list {
        margin-top: 8rem
    }
}

@media(max-width: 1023px) {
    .cas.__detail .c_pagettl_ttl {
        line-height:1.33
    }

    .cas.__detail .c_pagettl_sub {
        display: none
    }

    .cas.__detail .coi_form_sideInner {
        display: block
    }

    .cas.__detail .cas_list {
        margin-top: 4.8rem
    }
}

.cas_detail_fv {
    position: relative
}

@media(max-width: 1023px) {
    .cas_detail_fv {
        margin:0 -2rem
    }
}

@media(min-width: 1024px) {
    .cas_list_sideCredit {
        height:calc(100vh - 19.2rem);
        display: grid
    }
}

.cas_list_sideCreditItemTtl {
    line-height: 1.44
}

@media(min-width: 1024px) {
    .cas_list_sideCreditItemTtl {
        font-size:1.6rem
    }
}

@media(max-width: 1023px) {
    .cas_list_sideCreditItemTtl {
        font-size:1.4rem;
        flex-shrink: 0;
        width: 8rem
    }
}

@media(max-width: 1023px) {
    .cas_list_sideCreditItem {
        flex-grow:1;
        display: flex;
        align-items: start;
        gap: 1.6rem;
        flex-wrap: wrap
    }
}

@media(min-width: 1024px) {
    .cas_list_sideCreditItem+.cas_list_sideCreditItem {
        margin-top:4.8rem
    }
}

@media(max-width: 1023px) {
    .cas_list_sideCreditItem+.cas_list_sideCreditItem {
        margin-top:1.8rem
    }
}

.cas_list_sideCreditItemTxt .t_hl {
    font-weight: 400
}

@media(min-width: 1024px) {
    .cas_list_sideCreditItemTxt {
        margin-top:1.8rem
    }
}

@media(max-width: 1023px) {
    .cas_list_sideCreditItemTxt {
        flex-grow:1
    }
}

@media(min-width: 1024px) {
    .cas_post {
        padding-bottom:11.2rem;
        border-bottom: 1px solid #ccc
    }
}

@media(max-width: 1023px) {
    .cas_post {
        padding-bottom:8rem;
        border-bottom: 1px solid #111
    }
}

.cas_platform_ttl {
    font-size: 1.2rem;
    font-weight: 700
}

@media(min-width: 1024px) {
    .cas_platform_ttl {
        margin-top:8rem
    }
}

@media(max-width: 1023px) {
    .cas_platform_ttl {
        margin-top:4.8rem
    }
}

@media(min-width: 1024px) {
    .cas_platform_sns {
        margin-top:2.3rem
    }
}

@media(max-width: 1023px) {
    .cas_platform_sns {
        margin-top:0
    }
}

.cas_platform_sns ul {
    justify-content: start
}

@media(min-width: 1024px) {
    .cas_related {
        margin-top:11.2rem
    }
}

@media(max-width: 1023px) {
    .cas_related {
        margin-top:3.2rem
    }
}

.cas_related_ttl {
    font-weight: 700
}

@media(min-width: 1024px) {
    .cas_related_ttl {
        font-size:2.4rem
    }
}

@media(max-width: 1023px) {
    .cas_related_ttl {
        font-size:1.6rem
    }
}

.cas_related_slide {
    position: relative
}

@media(min-width: 1024px) {
    .cas_related_slide {
        margin-top:4.8rem
    }
}

@media(max-width: 1023px) {
    .cas_related_slide {
        margin-top:4.2rem
    }
}

.cas_related_slide .swiper-slide {
    display: flex;
    height: revert-layer
}

.cas_related_slide .swiper-slide .cas_list_item {
    display: flex;
    flex-direction: column
}

.cas_related_slide .swiper-slide a {
    display: flex;
    flex-direction: column;
    height: 100%
}

.cas_related_slideNext,.cas_related_slidePrev {
    --navwidth: calc((100vw - 108rem) / 2);
    position: absolute;
    z-index: 10;
    display: block;
    top: 0;
    height: 100%;
    width: var(--navwidth);
    cursor: pointer
}

.cas_related_slideNext.swiper-button-disabled,.cas_related_slidePrev.swiper-button-disabled {
    pointer-events: none
}

.cas_related_slideNext {
    right: calc(-1*var(--navwidth));
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #FFF 91.5%)
}

.cas_related_slidePrev {
    left: calc(-1*var(--navwidth));
    background: linear-gradient(-90deg, rgba(255, 255, 255, 0) 0%, #FFF 91.5%)
}

.cas_more {
    position: relative;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.25) 1px, transparent 1px, transparent 2px);
    background-repeat: repeat-x;
    background-position: left top;
    background-size: 3px 1px;
    margin: 0 auto
}

@media(min-width: 1024px) {
    .cas_more {
        margin:8rem auto 0;
        width: 30rem
    }
}

@media(max-width: 1023px) {
    .cas_more {
        margin:4.8rem auto 0;
        width: 27rem
    }
}

.news_list_itemBtn {
    position: relative;
    align-items: center;
    display: flex;
    justify-content: end
}

.news_list_itemBtn:before,.news_list_itemBtn:after {
    content: "";
    display: block;
    position: absolute;
    height: 1px;
    bottom: 0
}

.news_list_itemBtn:before {
    width: 100%;
    background: #ccc
}

.news_list_itemBtn:after {
    width: 0;
    background: #111;
    transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
    transition-property: width
}

html.notouch a:hover .news_list_itemBtn:after {
    left: 0;
    right: auto;
    width: 100%
}

.news_list_itemBtnInner {
    align-items: center;
    display: flex;
    justify-content: end;
    gap: .8rem;
    font-size: 1.2rem;
    padding-bottom: 1.6rem;
    position: relative;
    width: 9rem
}

.news_list_itemBtnInner::before {
    content: "";
    display: block;
    position: absolute;
    height: 1px;
    right: 0;
    bottom: 0;
    width: 100%;
    background: #111
}

.news_list_itemBtnTxt {
    font-size: 1.2rem
}

@media(min-width: 1024px) {
    .page-news {
        margin-bottom:11.2rem
    }
}

@media(max-width: 1023px) {
    .page-news {
        margin-bottom:8rem
    }
}

.page-news .news_list_itemBtn {
    margin-top: auto
}

@media(min-width: 1024px) {
    .page-news .news_list_itemBtn {
        padding-top:3.2rem
    }
}

@media(max-width: 1023px) {
    .page-news .news_list_itemBtn {
        padding-top:1.6rem
    }
}

@media(min-width: 1024px) {
    .news_list_body {
        width:100%
    }
}

@media(max-width: 1023px) {
    .news_list_body {
        border-top:1px solid #111;
        padding-top: 4.8rem
    }
}

@media(min-width: 1024px) {
    .news_list_content {
        display:grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 8rem 9rem
    }
}

@media(max-width: 1023px) {
    .news_list_content {
        display:flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 4.8rem
    }
}

.news_list_item {
    display: flex
}

.news_list_item a {
    text-decoration: none;
    display: flex;
    flex-direction: column
}

.news_list_itemblankUrl .l_arw {
    transform: rotate(-45deg)
}

.news_list_itemImg {
    overflow: hidden;
    border-radius: .4rem;
    position: relative;
    margin-bottom: 1.8rem
}

.news_list_itemImg:before {
    content: "";
    display: block;
    position: absolute;
    border: 1px solid rgba(17,17,17,.1);
    border-radius: .4rem;
    z-index: 1;
    inset: 0
}

.news_list_itemImg .img-ov {
    position: relative;
    aspect-ratio: 600/342
}

.news_list_itemImg .img-ov img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    left: 0;
    top: 0
}

@media(max-width: 1023px) {
    .news_list_itemImg {
        border-width:.5px
    }
}

.news_list_ItemDesc {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    align-self: stretch
}

@media(min-width: 1024px) {
    .news_list_ItemDesc {
        gap:1.6rem
    }
}

@media(max-width: 1023px) {
    .news_list_ItemDesc {
        gap:1.4rem
    }
}

.news_list_ItemDate {
    color: #666;
    font-size: 1.2rem
}

.news_list_ItemDate .t_en {
    font-weight: 400
}

.news_list_ItemTtl {
    font-weight: 500;
    line-height: 1.5
}

@media(min-width: 1024px) {
    .news_list_ItemTtl {
        font-size:1.6rem
    }
}

@media(max-width: 1023px) {
    .news_list_ItemTtl {
        overflow:hidden;
        display: -webkit-box;
        text-overflow: ellipsis;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        font-size: 1.6rem
    }
}

@media(min-width: 1024px) {
    .news.__detail .c_pagettl {
        align-items:end;
        justify-content: end;
        padding-bottom: 1.6rem
    }

    .news.__detail .c_pagettl_ttl {
        line-height: 1.5;
        margin-bottom: 8rem
    }
}

@media(max-width: 1023px) {
    .news.__detail .c_pagettl {
        display:none
    }

    .news.__detail .cas_list_side {
        padding-top: 10rem;
        margin-bottom: 2.4rem
    }

    .news.__detail .c_pagettl_ttl {
        font-size: 2.4rem;
        line-height: 1.5;
        margin-bottom: 4.8rem
    }
}

.clearfix {
    /* zoom:1; */
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    }

.clearfix:after {
    /* content: ""; */
    display: block;
    clear: both;
    height: 0
}

.pc-hidden {
    display: none
}

.pctb-hidden {
    display: none
}

@media only screen and (max-width: 1023px) {
    .tb-hidden,.tbsp-hidden {
        display:none
    }

    .pc-hidden {
        display: block
    }

    br.pc-hidden {
        display: inline-block
    }
}

@media only screen and (max-width: 1023px) {
    .sp-hidden {
        display:none
    }

    .tb-hidden,.pctb-hidden {
        display: block
    }

    br.tb-hidden,br.pctb-hidden {
        display: inline-block
    }
}
.top03__inner ul {
  display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  margin-top: 49px;
}

.top03__inner ul li {
  list-style: none;
  color: #fff;
  width: calc(100% / 3);
  box-sizing: border-box;
  border-right: 1px solid rgba(255, 255, 255, 0.2);
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  padding-right: 42px;
  padding-top: 35px;
  padding-bottom: 40px;
  padding-left: 45px;
}

.top03__inner ul li a .pict_title {
  display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 88px;
  color: white;
}

.top03__inner ul li a .pict_title .pict {
  position: relative;
}

.top03__inner ul li a .pict_title img {
  transition: .5s;
  -webkit-transition: .5s;
  -moz-transition: .5s;
  -o-transition: .5s;
}

.top03__inner ul li a .pict_title img:first-child {
  opacity: 1;
}

.top03__inner ul li a .pict_title img:nth-of-type(2) {
  position: absolute;
  opacity: 0;
  left: 0;
}

.top03__inner ul li a .pict_title h4 {
  font-size: 2.2rem;
  font-family: dnp-shuei-gothic-gin-std,sans-serif;
  font-weight: 600;
  font-style: normal;
  letter-spacing: 0.05em;
  margin-left: 20px;
  transition: .5s;
  -webkit-transition: .5s;
  -moz-transition: .5s;
  -o-transition: .5s;
  /* text-underline-offset: inherit; */
  text-decoration: none;
}

.top03__inner ul li a .pict_title h4 span {
  display: block;
  font-size: 1.2rem;
  letter-spacing: 0.02em;
  font-family: aktiv-grotesk, sans-serif;
  font-weight: 400;
  font-style: normal;
  margin-bottom: -2px;
}

.top03__inner ul li a p.p01 {
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  line-height: 2;
  margin-top: 26px;
  transition: .5s;
  -webkit-transition: .5s;
  -moz-transition: .5s;
  -o-transition: .5s;
  color: white;
}

.top03__inner ul li a:hover img:first-child {
  opacity: 0.5;
}

.top03__inner ul li a:hover img:nth-of-type(2) {
  opacity: 1;
}

.top03__inner ul li a:hover h4 {
  color: #ffffff82;
}

.top03__inner ul li a:hover p.p01 {
  color: #ffffff82;
}

.top03__inner ul li .more {
  font-size: 1.2rem;
  font-family: aktiv-grotesk, sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.05em;
  margin-top: 42px;
  color: white;
  text-decoration: none;
}

.top03__inner ul li .more a {
  text-decoration: none;
  color: #fff;
}

.top03__inner ul li .more:after {
  content: url(../img/arrow03.svg);
  margin-left: 16px;
}

.top03__inner ul li:first-child {
  padding-left: 0;
}

.top03__inner ul li:first-child img {
  width: 64px;
  height: auto;
}

.top03__inner ul li:first-child .more {
  margin-top: 70px;
}

.top03__inner ul li:nth-child(2) {
  padding-right: 30px;
}

.top03__inner ul li:nth-child(2) img {
  width: 140px;
  height: auto;
}

.top03__inner ul li:nth-child(3) {
  border-right: none;
  padding-right: 0;
}

.top03__inner ul li:nth-child(3) img {
  width: 74px;
  height: auto;
}

.top03__inner ul li:nth-child(4) {
  padding-left: 0;
  border-bottom: none;
}

.top03__inner ul li:nth-child(4) img {
  width: 78px;
  height: auto;
}

.top03__inner ul li:nth-child(4) .more {
  margin-top: 70px;
}

.top03__inner ul li:nth-child(5) {
  border-bottom: none;
  padding-right: 30px;
}

.top03__inner ul li:nth-child(5) img {
  width: 102px;
  height: auto;
}

.top03__inner ul li:nth-child(5) .pict_title h4 {
  margin-left: 19px;
}

.top03__inner ul li:nth-child(6) {
  border-right: none;
  border-bottom: none;
  padding-right: 0;
}

.top03__inner ul li:nth-child(6) img {
  width: 122px;
  height: auto;
}
.l_arw.__circle.service_arrow{
	background: #fff;
}


@media(max-width: 1023px) {
    
.top03__inner ul {
    display: block;
    margin-top: 24px;
  }
  .top03__inner ul li {
    list-style: none;
    color: #fff;
    width: 100%;
    box-sizing: border-box;
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    padding-right: 0;
    padding-top: 21px;
    padding-bottom: 25px;
    padding-left: 0;
  }
  .top03__inner ul li a {
    text-decoration: none;
    color: #fff;
  }
  .top03__inner ul li a .pict_title {
    display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 88px;
  }
  .top03__inner ul li a .pict_title .pict {
    width: 78px;
  }
  .top03__inner ul li a .pict_title img:nth-of-type(2) {
    display: none;
  }
  .top03__inner ul li a .pict_title h4 {
    font-size: 1.6rem;
    font-family: dnp-shuei-gothic-gin-std,sans-serif;
    font-weight: 600;
    font-style: normal;
    letter-spacing: 0.05em;
    margin-left: 0;
  }
  .top03__inner ul li a .pict_title h4 span {
    display: block;
    font-size: 1.0rem;
    letter-spacing: 0.02em;
    font-family: aktiv-grotesk, sans-serif;
    font-weight: 400;
    font-style: normal;
    margin-bottom: 0;
  }
  .top03__inner ul li a p.p01 {
    font-size: 1.1rem;
    letter-spacing: 0.1em;
    line-height: 2;
    margin-top: 5px;
  }
  .top03__inner ul li a .more {
    font-size: 1.0rem;
    font-family: aktiv-grotesk, sans-serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.05em;
    margin-top: 17px;
  }
  .top03__inner ul li a:hover img:first-child {
    opacity: 1;
  }
  .top03__inner ul li a:hover img:nth-of-type(2) {
    opacity: 0;
  }
  .top03__inner ul li a:hover h4 {
    color: #fff;
  }
  .top03__inner ul li a:hover p.p01 {
    color: #fff;
  }
  .top03__inner ul li .more:after {
    content: url(../img/arrow03.svg);
    margin-left: 8px;
  }
  .top03__inner ul li:first-child {
    padding-left: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
  }
  .top03__inner ul li:first-child .more {
    margin-top: 17px;
  }
  .top03__inner ul li:first-child .pict img {
    width: 50px;
    height: auto;
  }
  .top03__inner ul li:nth-child(2) {
    padding-right: 0px;
  }
  .top03__inner ul li:nth-child(2) .pict img {
    width: 65px;
    height: auto;
  }
  .top03__inner ul li:nth-child(4) {
    padding-left: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }
  .top03__inner ul li:nth-child(4) .more {
    margin-top: 17px;
  }
  .top03__inner ul li:nth-child(4) .pict img {
    width: 60px;
    height: auto;
  }
  .top03__inner ul li:nth-child(3) {
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    padding-right: 0;
  }
  .top03__inner ul li:nth-child(3) .pict img {
    width: 55px;
    height: auto;
  }
  .top03__inner ul li:nth-child(6) {
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    padding-right: 0;
  }
  .top03__inner ul li:nth-child(6) .pict img {
    width: 58px;
    height: auto;
  }
  .top03__inner ul li:nth-child(5) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    padding-right: 0px;
  }
  .top03__inner ul li:nth-child(5) .pict img {
    width: 70px;
    height: auto;
  }
  .top03__inner .readmore_btn {
    margin-top: 51px;
  }
  .top03__inner .readmore_btn a {
    position: relative;
    display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    text-decoration: none;
    color: #fff;
    width: 130px;
  }
}

.num_block{/* width:1040px; */margin:0 auto;padding:55px 0 70px 0;}
.num_block .title{text-align:center;font-size:22px;margin:0 0 20px 0;color:#FFF;font-weight:bold;letter-spacing: 2px;opacity:0;}
.num_section ul li{
  width: 32%;
  /* margin-right:4px; */
  float:left;
  text-align:center;
  /* background:rgba(255,255,255,0.85); */
  /* color:#1f3182; */
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
  border: 1px solid #fff;
  border-radius: 8px;
  margin: 0 0 2% 0;
  }
.num_section ul li:last-child{margin-right:0px;}
/* 表示時に付けるクラス */
.num_section li.is-show {
  opacity: 1;
  transform: translateY(0);
}

.num_section ul li .number{margin:0 0 0px 0;/* color:#1f3182; */line-height:1;padding:20px 0;}
.num_section ul li .number .top .big{font-size:80px;}
.num_section ul li .number .top .small{font-size: 25px;}
.num_section ul li .number .top .small.sup{font-size: 70px;position: relative;top: -15px;}
.num_section ul li .number .bottom{font-size:20px;}
.num_section ul li .text{font-size:15px;padding:0 0 2em 0;padding: 1em 1em 2em 1em;}
.num_section ul li:nth-child(n + 2) .text{padding: 1em 1em 2em 1em;}



@media(max-width: 1023px) {
.num_block{padding:30px 0;}
.num_section ul li{width: 48%;float:left;margin:0 0 2% 0;/* height: 213px; */border-radius: 8px;}
.num_section ul li:nth-child(2n){float:right;}
.num_section ul li .number .top .big{font-size:50px;font-family: "IBM Plex Sans JP", sans-serif;}
.num_section ul li .number .top .small{font-size: 13px;}
.num_section ul li .number .top .small.sup{font-size:40px;top: -12px;}
.num_section ul li .number .bottom{font-size:15px;margin-top: 8px;display: block;}
.num_section ul li .text{font-size: 12px;padding: 1em 10px 1em 10px;}
.num_section ul li:nth-child(n + 2) .text{padding: 1em 5px 3em 5px;}
.num_block{width: 100%;margin:0 auto;}
.num_section ul li .number{padding:20px 0 0 0;}
	.bg-video--center {
    bottom: 4%;
    left: 4%;
    width: 70% !important;
    height: auto;
}
}


.topKv__wrapper {
    background: #2f2725
}

.topKv__ttl {
    margin-bottom: 19.7435897436vw;
    padding: 0 4.8717948718vw
}

.topKv__container {
    margin-bottom: 11.4179487179vw
}

.topKv__swiper {
    padding-right: 11%
}

.topKv__link {
    color: #fff
}

.topKv__header {
    position: relative
}

.topKv__img {
    padding-top: 100%;
    position: relative
}

.topKv__img::after {
    content: "";
    width: 100%;
    height: 100%;
    background: linear-gradient(-135deg,#2f2725 0,rgba(47,39,37,.35) 25%,rgba(47,39,37,0))
}

.topKv__num {
    font-size: 16.4102564103vw;
    line-height: 1;
    letter-spacing: -.015em;
    font-weight: 300;
    font-family: neue-haas-grotesk-text,sans-serif;
    position: absolute;
    top: -9.2307692308vw;
    left: 4.8717948718vw;
    -webkit-transition: opacity .3s,-webkit-transform .3s;
    transition: opacity .3s,-webkit-transform .3s;
    transition: opacity .3s,transform .3s;
    transition: opacity .3s,transform .3s,-webkit-transform .3s
}

.topKv__location {
    position: relative;
    display: inline-block;
    position: absolute;
    right: 3.3333333333vw;
    top: 4.6153846154vw
}

.topKv__location::before {
    content: "";
    position: absolute;
    top: 20%;
    left: 0;
    width: 2.5641025641vw;
    height: 3.5897435897vw;
    z-index: 1;
    background: url(../img/common/icon-location.svg) center center/contain no-repeat
}

.topKv__location p {
    font-size: 3.0769230769vw;
    line-height: normal;
    letter-spacing: -.015em;
    padding-left: 4.1025641026vw
}

.topKv__body {
    margin-top: -15.3846153846vw;
    margin-left: 4.8717948718vw;
    width: 100%
}

.topKv__issue {
    position: relative;
    margin-bottom: 17.1794871795vw;
    -webkit-transition: opacity .3s,-webkit-transform .3s;
    transition: opacity .3s,-webkit-transform .3s;
    transition: opacity .3s,transform .3s;
    transition: opacity .3s,transform .3s,-webkit-transform .3s
}

.topKv__issue::before {
    content: "";
    position: absolute;
    left: 2.3076923077vw;
    height: 12.5641025641vw;
    width: .1923076923vw;
    background: #fff;
    bottom: -15.1282051282vw
}

.topKv__issue p {
    font-size: 4.4vw;
    line-height: 1.4444444444;
    font-weight: 500;
    letter-spacing: -.015em
}

.topKv__txt {
    font-size: 5.641025641vw;
    line-height: 1.4545454545;
    font-weight: 700;
    letter-spacing: -.015em;
    margin-bottom: 3.8461538462vw;
    -webkit-transition: opacity .3s,-webkit-transform .3s;
    transition: opacity .3s,-webkit-transform .3s;
    transition: opacity .3s,transform .3s;
    transition: opacity .3s,transform .3s,-webkit-transform .3s
}
.topKv__txt .creators_name{
    display: block;
    font-size: 4vw;
}

.topKv__tagWrap {
    background: #fff;
    padding: .2564102564vw .7692307692vw .5128205128vw 1.5384615385vw;
    border-radius: 3.7179487179vw;
    display: inline-block;
    -webkit-transition: opacity .3s,-webkit-transform .3s;
    transition: opacity .3s,-webkit-transform .3s;
    transition: opacity .3s,transform .3s;
    transition: opacity .3s,transform .3s,-webkit-transform .3s;
    overflow: hidden
}

.topKv__tagImg img {
    height: 6.4564102564vw;
    width: auto
}

.topKv__arrow {
    display: inline-block;
    border: .1923076923vw #fff solid;
    position: absolute;
    width: 11.2820512821vw;
    height: 11.2820512821vw;
    border-radius: 90%;
    right: 5.8974358974vw;
    bottom: 6.4102564103vw
}

.topKv__arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    width: 3.8461538462vw;
    height: 2.5641025641vw;
    background: url(/assets/img/arw_white.svg) center center/contain no-repeat;
}

.topKv__btn {
    text-align: center
}

.topKv__btn a {
    font-size: 3.5897435897vw;
    line-height: 1;
    border: .15rem solid #fff;
    letter-spacing: .04em;
    font-weight: 500;
    display: inline-block;
    position: relative;
    padding: 5.3846153846vw 20.7692307692vw 5.3846153846vw 12.3076923077vw;
    text-align: left;
    border-radius: 25.641025641vw;
    color: #fff
}

.topKv__btn a::after {
    content: "";
    position: absolute;
    top: 40%;
    right: 13.3333333333vw;
    width: 3.5897435897vw;
    height: 3.0769230769vw;
    background: url(../img/common/arrow-white.svg) center center/contain no-repeat
}
.imgFit img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}


@media(min-width: 1024px) {
.topKv__inner {
        padding: 5.9523809524vw 0 11.9047619048vw
    }

    .topKv__wrap {
        width: 100%;
        /* margin-left: auto; */
        position: relative
    }

    .topKv__ttl {
        margin-bottom: 4.3650793651vw
    }

    .topKv__container {
        padding-top: 2.6455026455vw;
        /* width: 79.3650793651vw; */
        margin: 0 0 0 auto;
        /* overflow: hidden; */
    }

    .topKv__swiper {
        padding-right: 17%
    }

    .topKv__img {
        padding-top: 67.94%
    }

    .topKv__num {
        font-size: 5.291005291vw;
        top: -3.3068783069vw;
        left: 1.1904761905vw
    }

    .topKv__location {
        right: 1.7195767196vw;
        top: 1.1904761905vw
    }

    .topKv__location::before {
        width: .6613756614vw;
        height: .9259259259vw
    }

    .topKv__location p {
        font-size: .7936507937vw;
        padding-left: 1.0582010582vw
    }

    .topKv__body {
        margin-left: 1.1904761905vw;
        margin-top: -4.3650793651vw;
        width: 75%
    }

    .topKv__issue {
        margin-bottom: 5.3571428571vw
    }

    .topKv__issue::before {
        width: .0661375661vw;
        height: 3.2407407407vw;
        bottom: -4.4973544974vw
    }

    .topKv__issue p {
        font-size: 1.1904761905vw;
        font-weight: 500
    }

    .topKv__txt {
        font-size: 1.8vw;
        line-height: 1.6;
        margin-bottom: .8948412698vw
    }
    .topKv__txt .creators_name {
    display: block;
    font-size: 2vw;
}

    .topKv__tagWrap {
        padding: .2645502646vw .7936507937vw;
        border-radius: 10.9126984127vw
    }

    .topKv__tagImg img {
        height: 2.5vw
    }

    .topKv__arrow {
        right: 1.6534391534vw;
        bottom: .7936507937vw;
        width: 2.9100529101vw;
        height: 2.9100529101vw;
        border-width: .0496031746vw
    }

    .topKv__arrow::after {
        width: .9920634921vw;
        height: .6613756614vw
    }

    .topKv__btn {
        position: absolute;
        right: 4.1997354497vw;
        top: 9.5899470899vw;
        text-align: right
    }

    .topKv__btn a {
        font-size: 1.0582010582vw;
        line-height: 1.9375;
        padding: 0 1.7857142857vw .3637566138vw 0;
        border: none;
        border-radius: 0;
        border-bottom: .0661375661vw solid #fff
    }

    .topKv__btn a::after {
        top: 30%;
        width: .8597883598vw;
        height: .7275132275vw;
        right: 0
    }




}



/* ======================
   固定背景セクション
   ====================== */

.image-section {
  position: relative;
  min-height: 40vh; /* セクション内でスクロール量を作る */
}

/* 背景部分：スクロールしても画面内では固定される */
.image-section__bg {
    position: sticky;
    top: 0;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    z-index: 0;
}

/* 背景の動画を何枚か配置する */
.bg-video {
  position: absolute;
  object-fit: cover;
  filter: brightness(0.8);
}

/* 適当にレイアウト（好みで調整してください） */
.bg-video--lt {
  top: 5%;
  left: 5%;
  width: 40vw;
  height: 30vh;
}

.bg-video--rt {
  top: 10%;
  right: -5%;
  width: 45vw;
  height: 35vh;
}

.bg-video--center {
  bottom: 4%;
  left: 4%;
  width: 50%;
  height: auto;
}

/* 上からグラデーションをかけてテキストを読みやすく */
.bg-overlay {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at top left, #5aa5ff55, transparent 60%), linear-gradient(to bottom, #cfcfcf4d 0%, #716969cc 60%, #5655558a 100%);
    pointer-events: none;
}

/* コンテンツ側 */
.image-section__inner {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: -40vh auto 0;   /* ★上に引き上げる。数値で距離を調整 */
  padding: 120px 8vw 260px;
  color: #f5f5f5;
}


.js-wave-list li {
  opacity: 0;
  transform: translateX(-40px); /* 下ではなく左からに変更 */
  transition: opacity 0.9s ease-out, transform 0.9s ease-out; /* 少しゆっくりめ */
}

/* 表示状態 */
.js-wave-list li.is-show {
  opacity: 1;
  transform: translateX(0);
}

/* ベース */
.works {
  background: #2e2e2e;
  color: #fff;
  /* padding: 80px 0; */
}

.works__inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
  padding: 8rem 24px;
}

.works__title {
  font-size: 2.2rem;
  letter-spacing: 0.12em;
  margin-bottom: 40px;
}

/* Swiper */
.works-swiper {
  overflow: visible !important;
}

.works-swiper .swiper-wrapper {
  align-items: stretch;
}

.works-swiper .swiper-slide {
  height: auto;
}

/* カード */
.work-card {
  display: block;
  text-decoration: none;
  color: inherit;
}

.work-card__img {
  overflow: hidden;
}

.work-card__img img {
  width: 100%;
  display: block;
  transform: scale(1.02);
  opacity: .9;
  transition: transform .6s ease, opacity .6s ease;
}

.work-card__meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.25);
}

.work-card__label {
  font-size: 1.2rem;
  letter-spacing: .15em;
  text-transform: lowercase;
  color: rgba(255,255,255,.6);
}

.work-card__arrow {
  font-size: 1.6rem;
  color: white;
}

.work-card__text {
  margin-top: 14px;
}

.work-card__title {
  font-size: 1.4rem;
  line-height: 1.7;
  font-weight: 600;
  color: white;
}
.work-card__title span{
    font-size: 11px;
}

.work-card__sub {
  margin-top: 8px;
  font-size: 1.1rem;
  line-height: 1.6;
  color: rgba(255,255,255,.6);
}

/* hover （PCだけ） */
@media (hover:hover) {
  .work-card:hover .work-card__img img {
    transform: scale(1.06);
    opacity: 1;
  }
}

/* 矢印ボタン */
.works-swiper .swiper-button-prev,
.works-swiper .swiper-button-next {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.8);
  top: 40%;
}

.works-swiper .swiper-button-prev::after,
.works-swiper .swiper-button-next::after {
  font-size: 18px;
  display: none;
}
.work-card__img {
  aspect-ratio: 3 / 4.5;      /* もっと横長にしたければ 16 / 9 などに */
}

.work-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* ▼ テキスト全体をマスクで覆う */
.work-card__text {
  position: relative;
  margin-top: 12px;   /* ここはお好みで */
  overflow: hidden;
}

/* ▼ 下から上にめくれるマスク */
.work-card__text::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #2e2e2e;          /* セクション背景と同じ色にして隠す */
  transform-origin: bottom;     /* 下を軸にして縮む */
  transform: scaleY(1);         /* 最初は全体を覆う */
  transition: transform .6s cubic-bezier(.23,1,.32,1);
  pointer-events: none;
}

/* ▼ active なスライドになったときだけマスクをめくる */
.works-swiper .swiper-slide-active .work-card__text::before {
  transform: scaleY(0);         /* 下から上にスーッと消える */
}

/* ▼ 中のテキストも下からふわっと出す */
.work-card__title,
.work-card__sub {
  position: relative;
  z-index: 1;                    /* マスクより上に表示 */
  opacity: 0;
  transform: translateY(16px);
  transition: opacity .4s .1s ease, transform .4s .1s ease;
}

.works-swiper .swiper-slide-active .work-card__title,
.works-swiper .swiper-slide-active .work-card__sub {
  opacity: 1;
  transform: translateY(0);
}
.work-card__img {
  position: relative;
  overflow: hidden;
}

.work-card__img::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.55);
  transform-origin: right center;
  transform: scaleX(1);
  transition: transform .7s cubic-bezier(.23,1,.32,1);
  z-index: 2;
}

.work-card__img img {
  position: relative;
  z-index: 1;
  width: 100%;
  display: block;
  transform: scale(1.05);
  transition: transform .7s cubic-bezier(.23,1,.32,1);
}

/* ← もともとは .swiper-slide-active を明るくしていたはず */
.works-swiper .swiper-slide-active .work-card__img::before {
  transform: scaleX(0);
}
.works-swiper .swiper-slide-active .work-card__img img {
  transform: scale(1);
}

/* SP 調整 */
@media (max-width: 767px) {
  .works {
    /* padding: 48px 0; */
  }
  .works__title {
    font-size: 1.6rem;
    margin-bottom: 24px;
  }

  /* スマホは矢印を消して、フリック＋ドットに */
  .works-swiper .swiper-button-prev,
  .works-swiper .swiper-button-next {
    display: none;
  }
}
.swiper-pagination-bullet.swiper-pagination-bullet-active{
	background: white !important;
	opacity: 1 !important;
}


@media (min-width: 1024px) {

  /* ▼ テキストは常に見えるようにする */
  .work-card__text {
    overflow: visible;   /* マスクしない */
  }
  .work-card__text::before {
    content: none;       /* 黒マスクを消す */
  }

  .work-card__title,
  .work-card__sub {
    opacity: 1;
    transform: none;
  }

  /* ▼ 中央のスライドだけ、来るたびにふわっと出るアニメーション */
  /* slidesPerView:3 のときは .swiper-slide-next が真ん中になる */
  .works-swiper .swiper-slide-next .work-card__text {
    animation: worksTextPc .6s cubic-bezier(.23,1,.32,1);
  }

  @keyframes worksTextPc {
    from {
      opacity: 0;
      transform: translateY(12px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
}
/* ===== 画像のマスク：PCでは中央スライドだけ明るく ===== */
@media (min-width: 1024px) {

  /* まず全部ちょい暗め・少しズーム */
  .works-swiper .swiper-slide .work-card__img::before {
    transform: scaleX(1);
  }
  .works-swiper .swiper-slide .work-card__img img {
    transform: scale(1.03);
  }

  /* slidesPerView:3 のとき、一番真ん中になるのが .swiper-slide-next */
  .works-swiper .swiper-slide-next .work-card__img::before {
    transform: scaleX(0);   /* マスク解除で明るく */
  }
  .works-swiper .swiper-slide-next .work-card__img img {
    transform: scale(1);    /* ちょっとだけズームアウトして強調 */
  }
}
.footer_cv_video {
  /* position: relative; */
  overflow: hidden; /* はみ出し対策（お好み） */
}

.footer_cv_video video {
  width: 100%;
  display: block;
}

/* 黒い半透明のレイヤーを上にかぶせる */
.footer_cv_video::after {
  content: "";
  position: absolute;
  inset: 0;                /* top/right/bottom/left: 0; と同じ */
  background: rgb(0 0 0 / 58%);  /* 濃さは .2〜.6 くらいで調整 */
  pointer-events: none;    /* クリックは動画に通す */
  z-index: 1;
}
/* 共通: サブメニューの見た目（モバイル基準） */
.header_subnav {
  background: #000;               /* SPメニューに合わせて黒 */
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s ease;
}

/* アコーディオンで開いた時（SP用） */
.header_nav_bodyItem.has-sub.is-open .header_subnav {
  max-height: 400px;              /* 中身に合わせて適当に大きめ */
}

.header_subnav_list {
  padding: 12px 0 4px;
}

.header_subnav_item + .header_subnav_item {
  margin-top: 8px;
}

.header_subnav_item a {
  display: block;
  padding: 6px 0;
  color: #fff;
  text-decoration: none;
  font-size: 1.4rem;
}

/* ---------- PC（1024px〜）：ホバーでドロップダウン ---------- */
@media (min-width: 1024px) {

  .header_nav_bodyItem.has-sub {
    position: relative;
  }

  .header_subnav {
    position: absolute;
    left: 50%;
    top: 100%;
    transform: translate(-34%, 12px);
    max-height: none;                 /* アコーディオンの制限を解除 */
    width: 260px;                     /* 好きな幅に */
    padding: 16px 18px;
    background: rgba(0,0,0,.9);
    border-radius: 8px;
    box-shadow: 0 18px 40px rgba(0,0,0,.35);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
      opacity .25s ease,
      transform .25s ease;
  }

  /* PC では is-open は無視したいのでリセットしておく */
  .header_nav_bodyItem.has-sub.is-open .header_subnav {
    max-height: none;
  }

  /* ホバーした時だけふわっと出る */
  .header_nav_bodyItem.has-sub:hover .header_subnav {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-34%, 0);
  }

  .header_subnav_item a {
    font-size: 1.3rem;
    padding: 4px 0;
    opacity: .8;
  }

  .header_subnav_item a:hover {
    opacity: 1;
  }
}
/* 〜1023px：下層を持つメニューの矢印を「＋ / －」にする */
@media (max-width: 1023px) {

  /* 行全体がタップ範囲になる想定 */
  .header_nav_bodyItem.has-sub > .js-nav-parent {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  /* もともとの矢印アイコンをリセットして、＋の土台にする */
  .header_nav_bodyItem.has-sub > .js-nav-parent .l_arw_icon {
    position: relative;
    width: 1.4rem;
    aspect-ratio: 1 / 1;
    background: none;
    -webkit-mask: none;
    mask: none;
  }

  /* ＋の2本線（横＋縦） */
  .header_nav_bodyItem.has-sub > .js-nav-parent .l_arw_icon::before,
  .header_nav_bodyItem.has-sub > .js-nav-parent .l_arw_icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    border-radius: 999px;
    background: #fff;
    transform: translate(-50%, -50%);
    transition: transform .25s ease, opacity .25s ease;
  }

  /* 横棒（－） */
  .header_nav_bodyItem.has-sub > .js-nav-parent .l_arw_icon::before {
    width: 100%;
    height: 2px;
  }

  /* 縦棒（｜） → これがある状態が「＋」 */
  .header_nav_bodyItem.has-sub > .js-nav-parent .l_arw_icon::after {
    width: 2px;
    height: 100%;
    transform: translate(-50%, -50%) scaleY(1);
  }

  /* 開いたとき：縦棒だけ縮ませて「－」に */
  .header_nav_bodyItem.has-sub.is-open > .js-nav-parent .l_arw_icon::after {
    transform: translate(-50%, -50%) scaleY(0);
    opacity: 0;
  }
}
@media (max-width: 1023px) {
  .header_subnav_item a {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .header_subnav_item a::after {
    content: "";
    display: block;
    width: 1.2rem;
    aspect-ratio: 1 / 1;
    background: #fff;
    -webkit-mask-image: url(/assets/img/arw_white.svg);
    mask-image: url(/assets/img/arw_white.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
    position: relative;
    right: 7%;
  }
}
/* ==============================
   SERVICE FLOW セクション
   ============================== */

.serviceFlow {
  padding: 80px 0;
  background: #ffffff;
}

.serviceFlow__inner {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 24px;
}

.serviceFlow__eyebrow {
  font-size: 1.2rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #999;
}

.serviceFlow__title {
  margin-top: 8px;
  font-size: 2.4rem;
  letter-spacing: .08em;
}

.serviceFlow__lead {
  margin-top: 16px;
  font-size: 1.4rem;
  line-height: 1.9;
}

/* グレーの大きな箱 */
.serviceFlow__panel {
  margin-top: 32px;
  background: #f7f7f7;
  border-radius: 16px;
  padding: 32px 32px 36px;
}

/* ステップ全体 */
.serviceFlow__steps {
  position: relative;
}

/* PCレイアウト：3カラム×2段 */
.serviceFlow__stepsInner {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px 40px;
}

.serviceFlow__step {
  position: relative;
}

/* 上の白カード（アイコン＋タイトル） */
.serviceFlow__stepTop {
  position: relative;
  background: #ffffff;
  border-radius: 12px;
  padding: 20px 18px 18px;
  text-align: center;
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
}

.serviceFlow__icon {
  margin-bottom: 10px;
}

.serviceFlow__icon img {
  width: 80px;
  max-width: 100%;
  height: auto;
  display: inline-block;
  height: 80px;
  object-fit: contain;
}

.serviceFlow__stepTopTitle {
  font-size: 1.4rem;
  font-weight: 600;
}

/* PC：横の≫矢印（各行の左2つだけ） */
@media (min-width: 1024px) {
  .serviceFlow__step:nth-child(3n+1) .serviceFlow__stepTop::after,
  .serviceFlow__step:nth-child(3n+2) .serviceFlow__stepTop::after {
    content: "≫";
    position: absolute;
    top: 50%;
    right: -26px;
    transform: translateY(-50%);
    font-size: 1.8rem;
    color: #0056b3;
  }
	.t_hl.__black.white{
		color: white;
	}
	.t_hl.black{
		color: black;
	}
	html.notouch .header_nav_cvBtn.__contact:hover .t_hl.black{
		color: white;
	}
	html.notouch .header_nav_cvBtn.__materials:hover .t_hl.__black.white{
		color: black;
	}
	/* ヘッダーを常に前面に出す */
.header {
  position: relative;
  z-index: 500; /* 他セクションより大きければOK（お好みで上げてもOK） */
}

/* スクロール後の固定ヘッダー */
.header.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 500; /* ここをしっかり指定しておくのが大事 */
}

/* ▼ サブナビをドロップダウンとして前面に出す */
.header_nav_bodyItem.has-sub {
  position: relative; /* サブナビの基準にする */
}

.header_subnav {
  position: absolute;
  top: 100%;   /* 親メニューのすぐ下に出す */
  left: 0;
  z-index: 510;  /* ヘッダー本体より少しだけ高く */
}

/* 念のため：ヘッダー周りで隠されないようにする */
.header_nav_wrap,
.header_nav_menu {
  overflow: visible;
}
}

/* STEPラベル＋見出し */
.serviceFlow__stepMeta {
  margin-top: 16px;
  padding: 10px;
}

.serviceFlow__stepLabel {
  font-size: 1.1rem;
  letter-spacing: .18em;
  color: #0056b3;
}

.serviceFlow__stepTitle {
  margin-top: 4px;
  font-size: 1.6rem;
}

/* 本文 */
.serviceFlow__stepBody {
  margin-top: 10px;
  padding: 10px;
}

.serviceFlow__stepBody ul {
  list-style: disc;
  /* padding-left: 1.2em; */
}

.serviceFlow__stepBody li {
  font-size: 1.3rem;
  line-height: 1.8;
}

.serviceFlow__stepBody li + li {
  margin-top: 4px;
}

.serviceFlow__stepBody strong {
  font-weight: 600;
}

/* ---------- タブレット（縦並び＋↓↓） ---------- */
@media (max-width: 1023px) {
  .serviceFlow {
    padding: 56px 0;
  }

  .serviceFlow__title {
    font-size: 2rem;
  }

  .serviceFlow__panel {
    padding: 24px 16px 28px;
  }

  .serviceFlow__stepsInner {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

/* 768〜1023px のときは縦フロー＋↓↓矢印 */
@media (max-width: 1023px) and (min-width: 768px) {
  .serviceFlow__step:not(:last-child)::after {
    content: "↓↓";
    position: absolute;
    left: 50%;
    bottom: -22px;
    transform: translateX(-50%);
    font-size: 1.6rem;
    color: #0056b3;
  }
}

/* ---------- スマホ（〜767px）：横フリックスライダー ---------- */
@media (max-width: 767px) {

  .serviceFlow__panel {
    padding: 24px 0 28px;
  }

  /* Swiperが有効なときだけ横並び */
  .serviceFlowSwiper .serviceFlow__stepsInner {
    display: flex;
    gap: 0;                /* ★ ここで gap を消す */
  }

  .serviceFlowSwiper .serviceFlow__step {
    width: 100%;
    flex-shrink: 0;
  }

  .serviceFlow__steps {
    overflow: visible;
    padding-bottom: 24px;
  }

  .serviceFlow__pagination {
    margin-top: 4px;
    text-align: center;
  }

  .serviceFlow__pagination .swiper-pagination-bullet {
    background: #ccc;
    opacity: 1;
  }

  .serviceFlow__pagination .swiper-pagination-bullet-active {
    background: #0056b3;
  }
}
/* ==============================
   波打つアニメーション（上下だけのスッ…）
   ============================== */

/* JS有効時だけ、少し下＆薄い状態からスタート */
html.serviceFlow-anim-ready .serviceFlow__step {
  opacity: 0;
  transform: translateY(16px);
}

/* 表示するときに付くクラス */
.serviceFlow__step.serviceFlow__step--visible {
  animation: serviceFlowWaveIn .6s cubic-bezier(.23, 1, .32, 1) forwards;
}

/* 下からスッと出てくるだけのアニメーション */
@keyframes serviceFlowWaveIn {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* 背景動画をフェードインさせたい場合 */
.image-section .bg-video {
  opacity: 0;
  transition: opacity .8s ease-out;  /* 好きな速さに調整OK */
}

/* 再生OKになった動画だけ表示 */
.image-section .bg-video.is-visible {
  opacity: 1;
}

.rule {
    margin-top: 68.52px
}

.rule-head {
    -webkit-box-align: center;
    -moz-box-align: center;
    -webkit-align-items: center;
    align-items: center;
    background-image: url(/assets/images/common/tab.png);
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: flex;
    font-family: Noto Sans JP,sans-serif;
    font-size: 14px;
    font-weight: 700;
    height: 30px;
    line-height: 1;
    padding-left: 20px;
    padding-top: 20px;
    width: 184px;
    will-change: transform
}

.rule-head span {
    font-family: Poppins,sans-serif;
    font-size: 18px;
    font-weight: 600;
    padding-left: 5px
}

.rule-head:before {
    background-image: url(/assets/images/common/ico-check.svg);
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    content: "";
    height: 9px;
    margin-right: 8px;
    width: 12px
}

.rule-body {
    background-color: #f4f4f4;
    border-radius: 11.42px;
    border-top-left-radius: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: flex;
    padding: 30px
}
.creators .rule-body *{
    color: black !important;
}

.rule-pic {
    border-radius: 11.42px;
    -webkit-flex-shrink: 0;
    flex-shrink: 0;
    height: 194.14px;
    overflow: hidden;
    width: 194.14px
}

.rule-pic img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.rule-word {
    padding-left: 28.55px
}

.rule-ttl {
    border-bottom: 1px solid #d6d6d6;
    font-family: Noto Sans JP,sans-serif;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 1px;
    line-height: 1.6;
    padding-bottom: 18px
}

.rule-txt {
    font-size: 14px;
    letter-spacing: 1px;
    line-height: 2;
    margin-top: 18px
}




@media (max-width: 767px) {

    .rule {
        margin-top: 16vw
    }

    .rule-head {
        font-size: 3.73333vw;
        height: 8vw;
        padding-left: 5.33333vw;
        padding-top: 5.33333vw;
        width: 49.06667vw
    }

    .rule-head span {
        font-size: 4.8vw;
        padding-left: 1.33333vw
    }

    .rule-body {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -moz-box-orient: vertical;
        -moz-box-direction: normal;
        border-radius: 2.66667vw;
        border-top-left-radius: 0;
        -webkit-flex-direction: column;
        flex-direction: column;
        padding: 8vw
    }

    .rule-pic {
        height: 68vw;
        margin-left: auto;
        margin-right: auto;
        width: 68vw
    }

    .rule-word {
        padding-left: 0
    }

    .rule-ttl {
        font-size: 18px;
        letter-spacing: 1px;
        line-height: 1.6;
        margin-top: 20px;
        padding-bottom: 17px
    }

    .rule-txt {
        font-size: 14px;
        letter-spacing: 1px;
        margin-top: 17px
	}
}
#breadcrumbs *{
	color: white;
	font-size: 11px;
}
/* 対象ブロック：ケーススタディのヘッダーエリア */
.bg_grey {
  position: relative;
  overflow: hidden; /* カーテンがはみ出さないように */
}

/* カーテン本体（左→右にスライドして消える） */
.bg_grey::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #ffffff; /* カーテンの色：ブランドカラーに変えてもOK */
  transform: translateX(0);
  transform-origin: left center;
  transition: transform 0.9s cubic-bezier(0.77, 0, 0.175, 1);
  z-index: 2;
  pointer-events: none;
}

/* カーテンオープン後の状態 */
.bg_grey.is-curtain-open::before {
  transform: translateX(100%);
}

/* 中身のフェードイン（テキスト＆サムネ） */
.bg_grey .inner,
.bg_grey .single-casestudy__thum {
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity 0.6s ease 0.35s,   /* カーテンが少し動いてから表示 */
    transform 0.6s ease 0.35s;
  position: relative;
  z-index: 1;
}

.bg_grey.is-curtain-open .inner,
.bg_grey.is-curtain-open .single-casestudy__thum {
  opacity: 1;
  transform: translateY(0);
}
/* ふつうの状態：何もなければ普通に表示される */
.js-curtain-simple {
  position: relative;
}

/* 演出ONのときだけ、カーテン用の初期状態にする */
html.is-curtain-simple-ready .js-curtain-simple {
  overflow: hidden;
  opacity: 0;
  transform: translateY(16px);
  transition:
    opacity 0.8s ease-out 0.1s,
    transform 0.8s ease-out 0.1s;
}

/* カーテン本体（上にかぶさるレイヤー） */
html.is-curtain-simple-ready .js-curtain-simple::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;

  /* ← ここは好きな色に変更してOK（今は真っ白） */
  background: #ffffff;

  transform-origin: left center;
  transform: scaleX(1);
  transition: transform 1s cubic-bezier(0.77, 0, 0.18, 1);
  pointer-events: none;
}

/* カーテン開いて中身が見える状態 */
html.is-curtain-simple-ready .js-curtain-simple.is-curtain-show {
  opacity: 1;
  transform: translateY(0);
}

html.is-curtain-simple-ready .js-curtain-simple.is-curtain-show::before {
  transform: scaleX(0);
}
/* 他のクリエイター紹介セクション */
.works.creators {
  padding-top: 80px;
  padding-bottom: 80px;
}

/* クリエイターカード全体 */
.creator-card {
  height: 100%;
  /* border-radius: 16px; */
  overflow: hidden;
  /* background: #ffffff; */
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.06);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
  /* border: 1px solid #fff; */
}

.creator-card a {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit;
}

/* ホバー時の少しだけ浮く感じ */
.creator-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.1);
}

/* 上部の画像 */
.creator-card__img {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 5; /* 縦長プロフィールっぽく */
  background: #eee;
}

.creator-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.03);
  transition: transform 0.7s ease;
}

.creator-card:hover .creator-card__img img {
  transform: scale(1.08);
}

/* テキスト部分 */
.creator-card__body {
  padding: 18px 18px 20px;
}

/* ジャンル・肩書き */
.creator-card__category {
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 8px;
  opacity: 0.75;
}

/* 名前 */
.creator-card__name {
  font-size: 18px;
  line-height: 1.5;
  font-weight: 600;
  margin-bottom: 10px;
}

.creator-card__name--en {
  display: block;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.6;
}

/* SNS情報ブロック */
.creator-card__sns {
  margin-top: 6px;
  padding-top: 10px;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  font-size: 12px;
}

/* "Instagram" ラベル */
.creator-card__sns-label {
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  opacity: 0.7;
  margin-bottom: 4px;
}

/* アカウント名（プロフィールタイトルっぽい名前） */
.creator-card__sns-title {
  font-size: 13px;
  font-weight: 500;
  margin-bottom: 2px;
}

/* @ID 部分 */
.creator-card__sns-id {
  font-size: 12px;
  font-weight: 500;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  position: relative;
}

.creator-card__sns-id::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.3s ease;
}

.creator-card:hover .creator-card__sns-id::after {
  transform: scaleX(1);
}

/* Swiper の余白調整（既存worksとだいたい合わせる） */
.creators-swiper {
  padding-top: 24px;
}

.works.creators .swiper-button-prev,
.works.creators .swiper-button-next {
  /* ここ、既存の .works 用矢印と同じ見た目にしたければ
     そのスタイルを使い回してOK */
}

@media (max-width: 767px) {
  .works.creators {
    padding-top: 56px;
    padding-bottom: 64px;
  }
/* ========= 数字で見るセクション（シンプル版） ========= */
.creator-stats {
  padding: 48px 0;
  background-color: #f7f7f7;
  transition: background-color .6s ease;
}

.creator-stats.is-active {
  background-color: #f1ebe3; /* スクロールで色が変わる */
}

.creator-stats__heading {
  font-size: 1.4rem;
  letter-spacing: .08em;
  margin-bottom: 24px;
}

/* カード一覧 */
.creator-stats__list {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

/* カード本体 */
.creator-stats__item {
  flex: 1 1 calc(33.333% - 16px);
  min-width: 220px;
  padding: 18px 20px;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(0,0,0,.04);
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .4s ease, transform .4s ease;
}

.creator-stats.is-active .creator-stats__item {
  opacity: 1;
  transform: translateY(0);
}
    .creator-stats.is-active .creator-stats__item img{
        width: 50px;
        height: 50px;
        object-fit: contain;
        display: block;
        margin: 0 auto;
    }
    .creator-stats.is-active .creator-stats__item.three img{
        width: 30px;
    }

/* 上の小さいタグ（01｜フォロワー数） */
.creator-stats__tag {
  text-align: center;
  font-size: 13px;
  letter-spacing: .15em;
  margin-bottom: 4px;
}

/* 真ん中の数字行 */
.creator-stats__value {
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.4;
  margin-bottom: 4px;
  white-space: nowrap;
}

.creator-stats__bracket {
  font-weight: 600;
}

.creator-stats__number {
  display: inline-block;
  min-width: 2ch;
}

.creator-stats__unit {
  margin-left: .15em;
  font-size: 16px;
}

/* 下のラベル（Instagramフォロワー 等） */
.creator-stats__label {
  font-size: .8rem;
  letter-spacing: .05em;
  opacity: .8;
}

/* ---- SP：2列レイアウト ---- */
@media (max-width: 767px) {
  .creator-stats {
    padding: 32px 0;
  }

  .creator-stats__list {
    gap: 12px;
  }

  .creator-stats__item {
    flex: 0 1 calc(44% - 6px); /* 2列 */
    min-width: 0;
    padding: 14px 10px;
  }

  .creator-stats__value {
    font-size: 26px;
    text-align: center;
  }

  .creator-stats__label {
    font-size: 12px;
    text-align: center;
  }
}