@charset "utf-8";
/* CSS Document */




:root {
    --defin-pixel_2: min( max( calc( 2 * 100vw / 1440 ), 2px ), 2.66px );
    --defin-pixel_3: min( max( calc( 3 * 100vw / 1440 ), 3px ), 3.99px );
    --defin-pixel_4: min( max( calc( 5 * 100vw / 1440 ), 4px ), 5.32px );
    --defin-pixel_5: min( max( calc( 5 * 100vw / 1440 ), 5px ), 6.65px );
    --defin-pixel_10: min( max( calc( 10 * 100vw / 1440 ), 10px ), 13.3px );
    --defin-pixel_15: min( max( calc( 15 * 100vw / 1440 ), 15px ), 19.95px );
    --defin-pixel_20: min( max( calc( 20 * 100vw / 1440 ), 20px ), 26.6px );
    --defin-pixel_30: min( max( calc( 30 * 100vw / 1440 ), 30px ), 39.9px );
    --defin-pixel_40: min( max( calc( 40 * 100vw / 1440 ), 40px ), 53.2px );
    --defin-pixel_50: min( max( calc( 50 * 100vw / 1440 ), 50px ), 66.5px );
    --defin-pixel_60: min( max( calc( 60 * 100vw / 1440 ), 60px ), 79.8px );
    --defin-pixel_70: min( max( calc( 70 * 100vw / 1440 ), 70px ), 93.1px );
    --defin-pixel_80: min( max( calc( 80 * 100vw / 1440 ), 80px ), 106.4px );
    --defin-pixel_90: min( max( calc( 90 * 100vw / 1440 ), 90px ), 119.7px );
    --defin-pixel_100: min( max( calc( 100 * 100vw / 1440 ), 100px ), 133px );
    --defin-pixel_150: min( max( calc( 150 * 100vw / 1440 ), 150px ), 198.5px );
    --defin-pixel_200: min( max( calc( 200 * 100vw / 1440 ), 200px ), 266px );

    --font_size-0: 0;
    --font_size-10: min( max( calc( 10 * 100vw / 1440 ), 10px ), 13.3px );
    --font_size-15: min( max( calc( 15 * 100vw / 1440 ), 15px ), 19.95px );
    --font_size-22: min( max( calc( 22 * 100vw / 1440 ), 22px ), 29.26px );
    --font_size-25: min( max( calc( 25 * 100vw / 1440 ), 25px ), 33.25px );
    --font_size-26: min( max( calc( 26 * 100vw / 1440 ), 26px ), 34.58px );
    --font_size-27: min( max( calc( 27 * 100vw / 1440 ), 27px ), 35.91px );

    --font_size-ex_large: min( max( calc( 20 * 100vw / 1440 ), 20px ), 26.6px ); /* 最小サイズ 20 / 最大サイズ = 最小サイズ * 1.33 */
    --font_size-large: min( max( calc( 18 * 100vw / 1440 ), 18px ), 23.94px ); /* 最小サイズ 18 / 最大サイズ = 最小サイズ * 1.33 */
    --font_size-normal: min( max( calc( 16 * 100vw / 1440 ), 16px ), 21.28px ); /* 最小サイズ 16 / 最大サイズ = 最小サイズ * 1.33 */
    --font_size-small: min( max( calc( 14 * 100vw / 1440 ), 14px ), 18.62px ); /* 最小サイズ 14 / 最大サイズ = 最小サイズ * 1.33 */
    --font_size-ex_small: min( max( calc( 12 * 100vw / 1440 ), 12px ), 15.96px ); /* 最小サイズ 12 / 最大サイズ = 最小サイズ * 1.33 */

    --font_size-image_caption: var( --font_size-small );

    --l-inner_default_padding_x_40: min( max( calc( 40 * 100vw / 1440 ), 40px ), 53.2px );
    --l-inner_default_padding_x_90: min( max( calc( 90 * 100vw / 1440 ), 90px ), 119.7px );
    --l-inner_default_padding_x_180: min( max( calc( 180 * 100vw / 1440 ), 180px ), 239.4px );
    --l-inner_default_padding_x_250: min( max( calc( 250 * 100vw / 1440 ), 250px ), 332.5px );
    --l-inner_default_padding_x_125: min( max( calc( 125 * 100vw / 1440 ), 125px ), 166.25px );

    --line-height-0: 0;
    --line-height-1: 1;
    --line-height-1_5 : 1.5;
    --line-height-2: 2;
    --letter-spacing-0: 0;
    --letter-spacing-0_1: 0.1em;

}
@media screen and ( max-width: 768px ) {
    :root {

        --defin-pixel_2: calc( 2 * 100vw / 375 );
        --defin-pixel_3: calc( 3 * 100vw / 375 );
        --defin-pixel_4: calc( 4 * 100vw / 375 );
        --defin-pixel_5: calc( 5 * 100vw / 375 );
        --defin-pixel_10: calc( 10 * 100vw / 375 );
        --defin-pixel_20: calc( 20 * 100vw / 375 );
        --defin-pixel_30: calc( 30 * 100vw / 375 );
        --defin-pixel_40: calc( 40 * 100vw / 375 );
        --defin-pixel_50: calc( 50 * 100vw / 375 );
        --defin-pixel_60: calc( 60 * 100vw / 375 );
        --defin-pixel_70: calc( 70 * 100vw / 375 );
        --defin-pixel_80: calc( 80 * 100vw / 375 );
        --defin-pixel_90: calc( 90 * 100vw / 375 );
        --defin-pixel_100: calc( 100 * 100vw / 375 );
        --defin-pixel_150: calc( 150 * 100vw / 375 );
        --defin-pixel_200: calc( 200 * 100vw / 375 );

        --font_size-0: 0;
        --font_size-10: max( calc( 10 * 100vw / 375 ), 10px );
        --font_size-15: calc( 15 * 100vw / 375 );
        --font_size-22: calc( 22 * 100vw / 375 );
        --font_size-25: calc( 25 * 100vw / 375 );
        --font_size-26: calc( 26 * 100vw / 375 );
        --font_size-27: calc( 27 * 100vw / 375 );

        --font_size-ex_large: calc( 20 * 100vw / 375 );
        --font_size-large: calc( 18 * 100vw / 375 );
        --font_size-normal: calc( 16 * 100vw / 375 );
        --font_size-small: calc( 14 * 100vw / 375 );
        --font_size-ex_small: max( calc( 12 * 100vw / 375 ), 12px ); /* 最小サイズ 12 */

        --font_size-image_caption: var( --font_size-ex_small );

        --l-inner_default_padding_x_12: calc( 12 * 100vw / 375 );
        --l-inner_default_padding_x_20: calc( 20 * 100vw / 375 );
        --l-inner_default_padding_x_32: calc( 32 * 100vw / 375 );
        --l-inner_default_padding_x_150: calc( 150 * 100vw / 375 );

    }
}





/* ==============================

br

============================== */
br.pcObj {
    display: block;
}
br.spObj {
    display: none;
}
@media screen and ( max-width: 768px ) {
    br.pcObj {
        display: none;
    }
    br.spObj {
        display: block;
    }
}




/* ==============================

body

============================== */
body {
    font-family: "Zen Old Mincho", serif;
    font-weight: 400;
    font-style: normal;
}
@media screen and ( max-width: 768px ) {
}





/* ==============================

.l-main_visual

============================== */
.l-main_visual {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    height: calc( min( max( calc( 700 * 100vw / 1440 ), 700px ), 931px ) + clamp(59.2px, 5.331vw, 88.8px) ); /* 画像高 + header高 */
    padding: clamp(59.2px, 5.331vw, 88.8px) 0 0;
}
@media screen and ( max-width: 768px ) {
    .l-main_visual {
        align-items: flex-start;
        flex-wrap: wrap;
        height: auto;
        padding-top: calc( clamp( 36px, 12vw, 54px ) * 3 ); /* ヘッダー(SP)分 x 3 */
    }
}



.l-main_visual .l-main_visual-inner {
    position: relative;
    height: 100%;
    margin: 0;
    padding: 0;
}
@media screen and ( max-width: 768px ) {
    .l-main_visual .l-main_visual-inner {
    }
}



.l-main_visual .l-main_visual-inner.left_side {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
    width: 44.45%;
    padding: 0 0 0 var( --l-inner_default_padding_x_90 );
}
.l-main_visual .left_side .l-main_visual-inner__title {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    color: #333;
    font-size: min( max( calc( 50 * 100vw / 1440 ), 50px ), 66.5px );
    line-height: 1.5;
    letter-spacing: 0;
}
.l-main_visual .left_side .l-main_visual-inner__title--jp {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    color: #333;
    font-size: var( --font_size-ex_large );
    line-height: 1;
    letter-spacing: 0.1em;
}
.l-main_visual .left_side .l-main_visual-inner__caption {
    position: relative;
    width: 100%;
    margin: min( max( calc( 30 * 100vw / 1440 ), 30px ), 39.9px ) 0 0;
    padding: 0;
    color: #333;
    font-size: min( max( calc( 30 * 100vw / 1440 ), 30px ), 39.9px );
    line-height: 1.8;
    letter-spacing: 0.1em;
}
@media screen and ( max-width: 768px ) {
    .l-main_visual .l-main_visual-inner.left_side {
        width: 100%;
        padding: 0 var( --l-inner_default_padding_x_32 );
    }
    .l-main_visual .left_side .l-main_visual-inner__title {
        font-size: calc( 34 * 100vw / 375 );
    }
    .l-main_visual .left_side .l-main_visual-inner__title--jp {
        font-size: var( --font_size-ex_small );
    }
    .l-main_visual .left_side .l-main_visual-inner__caption {
        margin-top: calc( 20 * 100vw / 375 );
        font-size: var( --font_size-ex_large );
    }
}



.l-main_visual .l-main_visual-inner.right_side {
    display: block;
    width: 55.55%;
}
.l-main_visual .right_side figure {
    position: relative;
    display: inline-block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}
.l-main_visual .right_side figure picture {
    position: relative;
    display: inline-block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    object-fit: cover;
}
.l-main_visual .right_side figure picture img {
    position: relative;
    display: inline-block;
    width: 100%;
    height: 100%;
}
.l-main_visual .right_side figcaption {
    position: absolute;
    bottom: 0;
    right: 0;
    display: inline-block;
    width: auto;
    margin: 0;
    padding: 0 1em;
    color: #fff;
    font-size: var(--font_size-image_caption);
    line-height: 2;
    letter-spacing: 0.1em;
    background-color: rgba( 0, 0, 0, 0.3 );
}
@media screen and ( max-width: 768px ) {
    .l-main_visual .l-main_visual-inner.right_side {
        width: 100%;
        margin-top: calc( 35 * 100vw / 375 );
    }
    .l-main_visual .right_side figure {
    }
    .l-main_visual .right_side figure picture {
    }
    .l-main_visual .right_side figure picture img {
    }
    .l-main_visual .right_side figcaption {
    }
}





/* ==============================

.l-content-section

============================== */
.l-content-section {
    position: relative;
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    padding: 0;
}
.l-content-section.ver_100vh {
    height: 100vh;
}
@media screen and ( max-width: 768px ) {
    .l-content-section {
        max-width: none;
    }
}



.l-content-section-title {
    position: relative;
}
.l-content-section-title-h2 {
    position: relative;
    margin: 0 auto;
    padding: 0;
}
.l-content-section-title-h2 picture {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;
}
.l-content-section-title-h2 picture img {
    width: 100%;
}
@media screen and ( max-width: 768px ) {
    .l-content-section-title {
    }
    .l-content-section-title-h2 {
    }
    .l-content-section-title-h2 picture {
    }
    .l-content-section-title-h2 picture img {
    }
}



.l-content-section-lead {
    position: relative;
}
@media screen and ( max-width: 768px ) {
    .l-content-section-lead {
    }
}



.l-content-section-link {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 0;
    padding: min( max( calc( 50 * 100vw / 1440 ), 50px ), 66.5px ) 0 0;
}
@media screen and ( max-width: 768px ) {
    .l-content-section-link {
        padding: calc( 50 * 100vw / 375 ) 0 0;
    }
}



.l-content-section-link a, 
.c-button--ver2 a {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: min( max( calc( 308 * 100vw / 1440 ), 308px ), 409.64px );
    height: min( max( calc( 70 * 100vw / 1440 ), 70px ), 93.1px );
    margin: 0 auto;
    padding: 0;
    font-size: var( --font_size-large );
    border-radius: calc( min( max( calc( 70 * 100vw / 1440 ), 70px ), 93.1px ) / 2 );
    border: 1px solid #333;
}
.l-content-section-link a span.arrow, 
.c-button--ver2 a span.arrow {
  position: absolute;
  top: calc( 50% - 8px );
  right: 10%;
  display: inline-block;
  width: 25px;
  height: 1px;
  margin-top: 7.25px;
  border-radius: 9999px;
  background-color: #000000;
  transition: right 0.5s;
}
.l-content-section-link a:hover span.arrow, 
.c-button--ver2 a:hover span.arrow {
  right: 7%;
}
.l-content-section-link a span.arrow::before, 
.c-button--ver2 a span.arrow::before {
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  right: 0;
  width: 5px;
  height: 1px;
  border-radius: 9999px;
  background-color: #000000;
  transform: rotate(45deg);
  transform-origin: calc(100% - 1px) 50%;
}
@media screen and ( max-width: 768px ) {
    .l-content-section-link a, 
    .c-button--ver2 a {
        width: calc( 220 * 100vw / 375 );
        height: calc( 50 * 100vw / 375 );
        font-size: var( --font_size-small );
        border-radius: calc( calc( 50 * 100vw / 375 ) / 2 );
    }
    .l-content-section-link a span.arrow, 
    .c-button--ver2 a span.arrow {
        width: 25px;
        height: 1px;
        margin-top: 7.25px;
    }
    .l-content-section-link a span.arrow::before, 
    .c-button--ver2 a span.arrow::before {
        width: 5px;
        height: 1px;
    }
}





/* ==============================

.l-lowerpage-section-title

============================== */
.l-lowerpage-section-title {
    position: relative;
    width: 100%;
    margin: 0;
    padding: var( --l-inner_default_padding_x_250 ) var( --l-inner_default_padding_x_180 );
    padding: var( --l-inner_default_padding_x_125 ) var( --l-inner_default_padding_x_180 );
}
.l-lowerpage-section-title-inner {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: min( max( calc( 50 * 100vw / 1440 ), 50px ), 66.5px );
    width: 100%;
    margin: 0;
    padding: 0;
}
.l-lowerpage-section-title-inner-text--en {
    position: relative;
    display: inline-block;
    width: auto;
    margin: 0;
    padding: 0;
    writing-mode: vertical-rl;
    font-size: min(max(calc(22 * 100vw / 1440), 22px), 29.26px);
    font-family: "EB Garamond", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    line-height: 1;
    letter-spacing: 0.03em;}
.l-lowerpage-section-title-inner-text--jp {
    position: relative;
    display: inline-block;
    width: auto;
    margin: 0;
    padding: 0;
    writing-mode: vertical-rl;
    font-size: min(max(calc(26 * 100vw / 1440), 26px), 34.58px);
    line-height: 1;
    letter-spacing: 0.7em;
}
@media screen and ( max-width: 768px ) {
    .l-lowerpage-section-title {
        padding: var( --l-inner_default_padding_x_150 ) var( --l-inner_default_padding_x_32 );
    }
    .l-lowerpage-section-title-inner {
        gap: calc( 50 * 100vw / 375 );
    }
    .l-lowerpage-section-title-inner-text--en {
        font-size: var( --font_size-small );
    }
    .l-lowerpage-section-title-inner-text--jp {
        font-size: var( --font_size-normal );
    }
}





/* ==============================

.c-cta--ver2

============================== */
.c-cta--ver2 {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    text-align: center;
    background-color: #fff;
}
@media screen and ( max-width: 768px ) {
    .c-cta--ver2 {
    }
}



.c-cta--ver2-bg {
    position: relative;
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    text-align: center;
}
.is_toppage .c-cta--ver2-bg {
    display: none;
}
@media screen and ( max-width: 768px ) {
    .c-cta--ver2-bg {
    }
    .is_toppage .c-cta--ver2-bg {
    }
}



.c-cta--ver2-bg .slide {
    position: relative;
    width: 100%;
    aspect-ratio: 1920 / 1035;
    margin: 0;
    padding: 0;
}
.c-cta--ver2-bg .slide figure {
    position: relative;
    display: inline-block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}
.c-cta--ver2-bg .slide figure::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    background-color: rgba( 0 , 0, 0, 0.6 );
    z-index: 5;
}
.c-cta--ver2-bg .slide figure picture {
    position: relative;
    display: inline-block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}
.c-cta--ver2-bg .slide figure picture img {
    width: 100%;
}
.c-cta--ver2-bg .slide figure figcaption {
    position: absolute;
    bottom: 0;
    right: 0;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0 1em;
    text-align: right;
    font-size: var( --font_size-image_caption );
    color: #fff;
    line-height: 2;
    letter-spacing: 0.1em;
    background-color: rgba( 0, 0, 0, 0.3 );
    z-index: 10;
}
@media screen and ( max-width: 768px ) {
    .c-cta--ver2-bg .slide {
        aspect-ratio: 750 / 1334;
    }
    .c-cta--ver2-bg .slide figure {
    }
    .c-cta--ver2-bg .slide figure::after {
    }
    .c-cta--ver2-bg .slide figure picture {
    }
    .c-cta--ver2-bg .slide figure picture img {
    }
    .c-cta--ver2-bg .slide figure figcaption {
    }
}



.c-cta--ver2-fg {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    text-align: center;
    /*
    background-color: rgba( 0, 0, 0, 0.6 );
    */
}
.is_toppage .c-cta--ver2-fg {
    position: relative;
    top: auto;
    left: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
    margin: 0;
    padding: min( max( calc( 130 * 100vw / 1440 ), 130px ), 172.9px ) 1em;
    text-align: center;
    background-color: #fff;
}
@media screen and ( max-width: 768px ) {
    .c-cta--ver2-fg {
    }
    .is_toppage .c-cta--ver2-fg {
        padding: calc( 80 * 100vw / 375 ) 1em;
    }
}



.c-cta--ver2-fg__title {
    font-size: min( max( calc( 40 * 100vw / 1440 ), 40px ), 53.2px );
    color: #fff;
    line-height: 1;
    letter-spacing: 0.1em;
}
.is_toppage .c-cta--ver2-fg__title {
    color: #333;
}
@media screen and ( max-width: 768px ) {
    .c-cta--ver2-fg__title {
        font-size: var( --font_size-ex_large );
    }
    .is_toppage .c-cta--ver2-fg__title {
    }
}



.c-cta--ver2-fg__title--em {
    margin-top: min( max( calc( 30 * 100vw / 1440 ), 30px ), 39.9px );
    font-size: min( max( calc( 30 * 100vw / 1440 ), 30px ), 39.9px );
    color: #fff;
    line-height: 1;
    letter-spacing: 0.1em;
}
.is_toppage .c-cta--ver2-fg__title--em {
    color: #333;
}
@media screen and ( max-width: 768px ) {
    .c-cta--ver2-fg__title--em {
        margin-top: calc( 10 * 100vw / 375 );
        font-size: var( --font_size-ex_large );
    }
    .is_toppage .c-cta--ver2-fg__title--em {
    }
}



.c-cta--ver2-fg .c-button--ver2 {
    margin-top: min( max( calc( 30 * 100vw / 1440 ), 30px ), 39.9px );
}
.c-cta--ver2-fg .c-button--ver2 a {
    padding: 0 5em;
    border-radius: calc( min(5.187vw, 86.4px) / 2 );
    color: #333;
    font-family: "Zen Old Mincho", serif;
    font-weight: 400;
    font-style: normal;
    background-color: #fff;
}
.is_toppage .c-cta--ver2-fg .c-button--ver2 a {
    color: #fff;
    background-color: #000;
}
.c-cta--ver2-fg .c-button--ver2 a span.arrow {
    background-color: #333;
}
.is_toppage .c-cta--ver2-fg .c-button--ver2 a span.arrow {
    background-color: #fff;
}
.c-cta--ver2-fg .c-button--ver2 a span.arrow::before {
    background-color: #333;
}
.is_toppage .c-cta--ver2-fg .c-button--ver2 a span.arrow::before {
    background-color: #fff;
}
@media screen and ( max-width: 768px ) {
    .c-cta--ver2-fg .c-button--ver2 {
        margin-top: calc( 30 * 100vw / 375 );
    }
    .c-cta--ver2-fg .c-button--ver2 a {
        padding: 0;
        border-radius: calc( calc( 50 * 100vw / 375 ) / 2 );
    }
    .is_toppage .c-cta--ver2-fg .c-button--ver2 a {
    }
    .c-cta--ver2-fg .c-button--ver2 a span.arrow {
    }
    .is_toppage .c-cta--ver2-fg .c-button--ver2 a span.arrow {
    }
    .c-cta--ver2-fg .c-button--ver2 a span.arrow::before {
    }
    .is_toppage .c-cta--ver2-fg .c-button--ver2 a span.arrow::before {
    }
}



.c-cta--ver2-fg .c-cta--ver2-fg-lead {
    position: absolute;
    top: 0;
    right: min( max( calc( 180* 100vw / 1440 ), 180px ), 239.4px );
    display: flex;
    flex-direction: row-reverse;
    justify-content:flex-start;
    align-items: flex-start;
    gap: min( max( calc( 30 * 100vw / 1440 ), 30px ), 39.9px );
    height: 100%;
    margin: 0;
    padding: min( max( calc( 100 * 100vw / 1440 ), 100px ), 133px ) 0 0;
}
.is_toppage .c-cta--ver2-fg-lead {
    display: none;
}
@media screen and ( max-width: 768px ) {
    .c-cta--ver2-fg .c-cta--ver2-fg-lead {
        position: relative;
        top: auto;
        right: auto;
        gap: calc( 30 * 100vw / 375 );
        height: auto;
        padding: calc( 60 * 100vw / 375 ) 0;
    }
    .is_toppage .c-cta--ver2-fg-lead {
    }
}



.c-cta--ver2-fg .c-cta--ver2-fg-lead .c-cta--ver2-fg-lead__en {
    position: relative;
    height: 100%;
    margin: 0;
    padding: 0;
    writing-mode: vertical-rl;
    color: #fff;
    font-size: min( max( calc( 22 * 100vw / 1440 ), 22px ), 29.26px );
    font-size: min( max( calc( 16 * 100vw / 1440 ), 16px ), 21.28px );
    font-family: "EB Garamond", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    line-height: 1;
    letter-spacing: 0.2em;
    text-align: left;
}
.c-cta--ver2-fg .c-cta--ver2-fg-lead .c-cta--ver2-fg-lead__jp {
    position: relative;
    margin: 0;
    padding: 0;
    height: 100%;
    writing-mode: vertical-rl;
    color: #fff;
    font-size: min( max( calc( 26 * 100vw / 1440 ), 26px ), 34.58px );
    line-height: 1;
    letter-spacing: 0.8em;
    text-align: left;
}
.c-cta--ver2-fg .c-cta--ver2-fg-lead span {
    /*
    padding-bottom: 0.8em;
    text-combine-upright: all;
    */
}
@media screen and ( max-width: 768px ) {
    .c-cta--ver2-fg .c-cta--ver2-fg-lead .c-cta--ver2-fg-lead__en {
        height: auto;
        font-size: var( --font_size-small );
    }
    .c-cta--ver2-fg .c-cta--ver2-fg-lead .c-cta--ver2-fg-lead__jp {
        height: auto;
        font-size: var( --font_size-normal );
    }
    .c-cta--ver2-fg .c-cta--ver2-fg-lead span {
        /*
        padding-bottom: 0.8em;
        text-combine-upright: all;        
        text-combine-upright: digits 1;
        */
    }
}








picture {
    position: relative;
    display: inline-block;
}
picture img {
    max-width: none;
}
picture.another_fadein {
    overflow: hidden;
    opacity: 0;
    transition: opacity 4s;
}
picture.another_fadein.is_active {
    opacity: 1;
}
picture.another_fadein::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    background: linear-gradient( to bottom, rgba( 255, 255, 255, 0.4 ) , rgba( 255, 255, 255, 0.3 ) 60%, rgba( 255, 255, 255, 0.5 ) 80%, rgba( 255, 255, 255, 0 ) );
    -webkit-filter: blur( 10px );
    filter: blur( 10px );
    transition: all 3s;
}
picture.another_fadein.is_active::after {
    content: '';
    position: absolute;
    top: -110%;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    -webkit-filter: blur( 0px );
    filter: blur( 0px );
}





.another_text_fadein {
    opacity: 0;
    transition: all 1s;
}
.another_text_fadein.is_active {
    opacity: 1;
}





.u-textlink--zoom {
    padding: min(1.009vw, 16.8px) 0;
}
@media screen and ( max-width: 768px ) {
    .u-textlink--zoom {
        padding: min(2.133vw, 9.6px) 0;
    }
}






















