@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200;400;800&display=swap');

#onetrust-banner-sdk {
    display: none;
}

.mod_headerbar.fixed {
    max-width: 100%;
    z-index: 22;
}

body {
    position: relative;
}

/* ---------------------------------------------------------
common
----------------------------------------------------------*/
:root {
    --blue: #0068b7;
    --red: #e60012;
    --gray: #475258;
    --bg-Lgray2: #f9f9f9;
    --en: Manrope, sans-serif;
}

.expo2025 * {
    box-sizing: border-box;
}

/* lazy */
.expo2025 .lazy {
    opacity: 0;
    transition: opacity .5s;
}

.expo2025 .lazy.lazyloaded {
    opacity: 1;
}

.iblock {
    display: inline-block;
}


/* lazy */

.expo2025 .lazy,
.expo2025 .ilazy {
    opacity: 0;
    transition: opacity .25s .25s ease;
}

.expo2025 .lazy.lazyloaded,
.expo2025 .ilazy.lazyloaded {
    opacity: 1;
}

.expo2025 figure {
    display: block;
    margin: 0;
    padding: 0;
}

.expo2025 img {
    vertical-align: bottom;
    width: 100%;
    height: auto;
}

.expo2025 section {
    width: 100%;
    margin: 0 auto;
}

.sp {
    display: none;
}

.pc {
    display: block;
}

@media screen and (max-width:767px) {
    .sp {
        display: block;
    }

    .pc {
        display: none;
    }
}

.bold {
    font-weight: bold;
}

.text-center {
    text-align: center;
}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

.flex-between {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.flex-center {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.expo2025 .en {
    font-family: Manrope, sans-serif;
}

.expo2025 .strong {
    font-weight: bold;
}

.expo2025 .fw600 {
    font-weight: 600;
}

.expo2025 .mtop-1 {
    margin-top: 1em;
}

.expo2025 .mtop-2 {
    margin-top: 2em;
}

.expo2025 .mtop-3 {
    margin-top: 3em;
}

.expo2025 .mtop-4 {
    margin-top: 4em;
}

.expo2025 .mbtm-1 {
    margin-bottom: 1em;
}

.expo2025 .mbtm-2 {
    margin-bottom: 2em;
}

.expo2025 .mbtm-3 {
    margin-bottom: 3em;
}

.expo2025 .mbtm-4 {
    margin-bottom: 4em;
}

.expo2025 .mbtm-5 {
    margin-bottom: 5em;
}

.expo2025 .mbtm-6 {
    margin-bottom: 6em;
}

.expo2025 .spacer4 {
    display: block;
    height: 4em;
}

.expo2025 .spacer5 {
    display: block;
    height: 5em;
}

.expo2025 .bg {
    background: #f2f5f2;
}

.expo2025 .bgwhite {
    background-color: #fff;
}

.expo2025 a.text-link {
    color: #222;
    text-decoration: underline;
}

.expo2025 p {
    line-height: 1.8;
}

.expo2025 .inner {
    padding: min(5em, 12vw) 1.5em min(3em, 10vw);
    max-width: 1200px;
    margin: 0 auto;
}

.expo2025 .black {
    color: #000;
}

.expo2025 .blue {
    color: var(--blue);
}


/* ---------------------------------------------------------
contents
----------------------------------------------------------*/

/* contents common ==============================*/
.expo2025 .center-wrp {
    text-align: center;
    display: block;
    width: 100%;
}

.expo2025 .title {
    font-size: min(2em, 4.5vw);
    font-weight: bold;
    line-height: 1.5em;
    text-align: center;
}

.expo2025 .title.large {
    font-size: min(3em, 6.5vw);
    margin-top: .5em;
}

.expo2025 .title.title-en {
    display: block;
    width: fit-content;
    color: var(--gray);
    background-color: rgba(71, 82, 88, .2);
    padding: .25em 1em;
    font-size: min(1.6em, 4vw);
    font-weight: bold;
    line-height: 1.5em;
    text-align: center;
    font-family: var(--en);
    border: 3px solid;
    margin: 1em auto;
}

.expo2025 .dash-title {
    font-size: min(1.7em, 4vw);
    font-weight: bold;
    line-height: 1.5em;
    text-align: center;
    position: relative;
    width: fit-content;
    padding: 0 2em;
    margin: 0 auto;
}

.expo2025 .dash-title::before,
.expo2025 .dash-title::after {
    content: '';
    display: inline-block;
    width: 1em;
    height: 0;
    border-bottom: 1px solid;
    position: absolute;
    top: 50%;
}

.expo2025 .dash-title::before {
    left: 0;
}

.expo2025 .dash-title::after {
    right: 0;
}

.expo2025 .sml {
    font-size: .9em;
}

.expo2025 .note {
    list-style: none;
    display: inline-block;
}

.expo2025 .note li {
    display: inline-block;
    font-size: min(.85em, 3vw);
    line-height: 1.5;
    list-style: none;
    padding-left: 1.5em;
    position: relative;
}

.expo2025 .note li::before {
    content: '※';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}

.expo2025 .graybg {
    background-color: #f3f3f3;
}

.expo2025 .gray2 {
    color: var(--gray);
}


/* button */
.expo2025 .btn-wrp {
    width: 100%;
    margin: 2.5em auto;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 2em;
    text-align: center !important;
}

.expo2025 .btn {
    display: block;
    width: fit-content;
    padding: .75em 6em;
    margin: 0 auto;
    text-align: center;
    font-size: min(1.2em, 3.5vw);
    color: #222;
    text-decoration: none;
    border-radius: 3em;
    border: 2px solid;
    font-weight: bold;
    line-height: 1.2;
    position: relative;
    /* background-color: rgba(255, 255, 255, .5); */
    transition: all .3s;
}

.expo2025 .btn:hover {
    /* background-color: rgba(255, 255, 255, 1); */
}

.expo2025 .arrow-right {
    position: absolute;
    top: 50%;
    right: 1em;
    transform: translateY(-50%);
    width: 1.5em;
}

.expo2025 .arrow-right::before,
.expo2025 .arrow-right::after {
    content: '';
    display: block;
    height: 0;
    border-bottom: 1px solid;
    position: absolute;
    top: 50%;
    right: 0;
}

.expo2025 .arrow-right::before {
    width: 100%;
}

.expo2025 .arrow-right::after {
    width: .75em;
    transform: rotate(20deg);
    transform-origin: bottom right;
}

/* fukidashi */
.expo2025 .title-line {
    display: inline-block;
    position: relative;
}

.expo2025 .title.title-line {
    padding: 0 2em;
    margin-bottom: 1em;
    letter-spacing: .05em;
    font-family: var(--en);
}

/* fukidashi2 */
.expo2025 .fukidashi2 {
    width: fit-content;
    margin: 0 auto min(2.5em, 8vw);
    padding: 0 .25em .25em;
    color: var(--gray);
    border-bottom: solid 2px;
    font-size: min(1.6em, 4.4vw);
    font-weight: bold;
    line-height: 1.6;
    letter-spacing: .05em;
    position: relative;
}

.expo2025 .fukidashi2::after {
    content: '';
    display: block;
    width: .5em;
    height: 1.25em;
    border-right: solid 2px var(--gray);
    background-color: #fff;
    position: absolute;
    left: 50%;
    top: 100%;
    transform: translate(-50%, 1px) rotate(30deg);
    transform-origin: right top;
}

/* triangle */
.expo2025 .triangle {
    --triangle-h: max(50px, 10vw);
    padding-bottom: calc(var(--triangle-h) - 1em);
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--triangle-h)), 50% 100%, 0 calc(100% - var(--triangle-h)));
}

/* hero img ==============================*/
.expo2025_img-wrp {
    width: 100%;
    max-width: 1200px;
    aspect-ratio: 2/1;
    margin: 0 auto;
    position: relative;
    z-index: 0;
    overflow: hidden;
}

@media screen and (max-width:640px) {
    .expo2025_img-wrp {
        aspect-ratio: unset;
    }
}

.expo2025_img-wrp .mainimg-wrp {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.expo2025_img-wrp .mainimg-wrp::after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, .2);
    mix-blend-mode: multiply;
    z-index: 1;
}

@media screen and (max-width:640px) {
    .expo2025_img-wrp .mainimg-wrp {
        /* height: 80vw; */
    }
}

.expo2025_img-wrp .mainimg {
    width: 50%;
    height: 0;
    padding-bottom: 25%;
    position: relative;
    overflow: hidden;
    background-color: var(--blue);
}

@media screen and (max-width:767px) {
    .expo2025_img-wrp .mainimg {
        padding-bottom: 50%;
    }
}

.expo2025_img-wrp .mainimg:nth-child(odd) {
    background-color: var(--red);
}


.expo2025_img-wrp .mainimg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}

.expo2025_img-wrp .maintitle-wrp {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -60%);
    transition: all 1s .3s ease;
    pointer-events: none;
    color: #fff;
    z-index: 3;
    text-shadow: 0 0 3px rgba(0, 0, 0, .3);
}

@media screen and (max-width:767px) {
    .expo2025_img-wrp .maintitle-wrp {
        top: 50%;
    }
}

.expo2025_img-wrp .maintitle-wrp .maintitle {
    font-size: min(9em, 10vw);
    line-height: 1.2;
    font-weight: 400;
    text-align: center;
}

.expo2025 .maintitle-wrp .mainsubtitle {
    font-weight: bold;
    font-size: min(2em, 5vw);
    position: relative;
}

.expo2025 .maintitle-wrp .mainsubtitle.title-dash {
    font-weight: bold;
    font-size: min(1.5em, 4vw);
    position: relative;
}

.expo2025 .title-dash {
    position: relative;
    display: inline-block;
}

.expo2025 .title-dash::before,
.expo2025 .title-dash::after {
    content: '';
    width: 1em;
    height: 0;
    border-top: 1px solid;
    position: absolute;
    top: 50%;
}

.expo2025 .title-dash::before {
    left: -1.5em;
}

.expo2025 .title-dash::after {
    right: -1.5em;
}

.expo2025 .expo2025-logo-wrp {
    width: 100%;
    max-width: 600px;
    padding: 2em 1em 0;
    margin: 0 auto;
}

.expo2025 .expo2025-logo {
    width: 100%;
    margin: 0 auto;
    background-color: #fff;
}

.expo2025 .expo2025-logo img {
    width: 100%;
    height: auto;
}

/* lead ==============================*/
.expo2025 .lead-wrp {
    margin: 3em auto 0;
    background-color: var(--bg-Lgray2);
}

@media screen and (max-width:767px) {
    .expo2025 .lead-wrp {
        margin: 1.5em auto 0;
    }
}

.expo2025 .lead-wrp .inner {
    padding: min(4em, 10vw) 1.5em;
}

.expo2025 .lead-wrp .lead {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
}

.expo2025 .lead-wrp .lead .text-box {
    width: 100%;
    text-align: center;
}

.expo2025 .lead-wrp .lead .text-box p {
    font-size: min(1.3em, 3.6vw);
    line-height: 2;
    padding: 0;
    font-weight: bold;
}


/* pavillion ==============================*/
.expo2025 .pavillion-wrp .inner {
    max-width: 1100px;
}

.expo2025 .pavillion-wrp .img-box {
    margin: 3em auto;
}

@media screen and (max-width:767px) {
    .expo2025 .pavillion-wrp .img-box {
        margin: 2em auto 1em;
    }
}

.expo2025 .pavillion-wrp .img-box img {
    display: block;
    border-radius: 10px;
}

.expo2025 .pavillion-wrp .lead {
    display: block;
    text-align: center;
    width: 100%;
    max-width: 880px;
    font-size: min(1.2em, 4vw);
    font-weight: bold;
    line-height: 2;
    margin: 1em auto;
    padding: 1em;
}

.expo2025 .pavillion-img-wrp {
    display: grid;
    text-align: center;
    width: 100%;
    grid-template-columns: 66% 33%;
    gap: 1em;
}

@media screen and (max-width:767px) {
    .expo2025 .pavillion-img-wrp {
        grid-template-columns: 50% 50%;
        gap: .5em;
    }
}

.expo2025 .pavillion-img-wrp figure {
    position: relative;
}

.expo2025 .pavillion-img-wrp .intoroduction-img-wrp1 {
    grid-row: span 2 / span 2;
    overflow: hidden;
}

@media screen and (max-width:767px) {
    .expo2025 .pavillion-img-wrp .intoroduction-img-wrp1 {
        grid-column: span 2 / span 2;
    }

    .expo2025 .pavillion-img-wrp .intoroduction-img-wrp2 img,
    .expo2025 .pavillion-img-wrp .intoroduction-img-wrp3 img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

.expo2025 .details {
    display: block;
    width: fit-content;
    font-size: min(1.2em, 3vw);
    font-weight: bold;
    padding: .5em 2em;
    border: 2px solid #ccc;
    border-radius: 3em;
    margin: 0 auto 2em;
}

.expo2025 .pavillion-img-wrp .intoroduction-img-wrp1 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.expo2025 .num {
    display: block;
    width: fit-content;
    text-align: center;
    position: absolute;
    cursor: pointer;
}

.expo2025 .num .numbers {
    font-family: var(--en);
    font-size: min(1.6em, 5vw);
    line-height: 1;
    width: 1.4em;
    height: 1.4em;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    border: 2px solid #222;
    background-color: #fff;
    border-radius: 100%;
    transition: all .3s;
}

.expo2025 .num:hover .numbers {
    background-color: #222;
    color: #fff;
    scale: 1.2;
}

.expo2025 .num .label {
    display: inline-block;
    position: absolute;
    width: fit-content;
    top: -3em;
    left: 50%;
    background-color: #fff;
    color: #222;
    font-size: min(.8em, 3vw);
    white-space: nowrap;
    padding: .5em 2em;
    font-weight: bold;
    border-radius: 3em;
    transform: translate(-50%, 0);
    transition: all .3s;
}

.expo2025 .num .label::after {
    content: '';
    display: block;
    width: .8em;
    height: .8em;
    overflow: hidden;
    clip-path: polygon(0 0, 50% 100%, 100% 0);
    background-color: #fff;
    position: absolute;
    bottom: -.8em;
    left: 50%;
    transform: translate(-50%, 0);
    transition: all .3s;
}

.expo2025 .num:hover .label,
.expo2025 .num:hover .label::after {
    transform: translate(-50%, -20%);
}

.expo2025 .pavillion-wrp .num1 {
    top: 30%;
    left: 7%;
}

@media screen and (max-width:767px) {
    .expo2025 .pavillion-wrp .num1 {
        left: 10%;
    }
}

.expo2025 .pavillion-wrp .num2 {
    top: 60%;
    left: 40%;
}

.expo2025 .pavillion-wrp .num3 {
    bottom: 8%;
    left: 50%;
}

.expo2025 .pavillion-wrp .num4 {
    top: 25%;
    left: 70%;
}

.expo2025 .pavillion-wrp .num5 {
    top: 42%;
    left: 14%;
}

@media screen and (max-width:767px) {
    .expo2025 .pavillion-wrp .num5 {
        top: 40%;
        left: 16%;
    }
}

/* pickup */
.expo2025 .pickup-wrp {
    padding: 0 1em;
}

.expo2025 .frame {
    width: 100%;
    max-width: 800px;
    margin: 2em auto 4em;
    border: 1px solid #ccc;
    padding: 3em 4em;
    border-radius: 10px;
}

@media screen and (max-width:767px) {
    .expo2025 .frame {
        margin: 1em auto 3em;
        padding: 1em;
        display: block;
    }
}

.expo2025 .pickup-wrp .dash-title {
    margin-bottom: 1.5em;
    color: #008246;
}

.expo2025 .pickup-wrp .logo-box {
    width: 30%;
    padding: 0 5%;
}

@media screen and (max-width:767px) {
    .expo2025 .pickup-wrp .logo-box {
        width: 50%;
        padding: 0 10%;
        margin: 0 auto 1em;
    }
}

.expo2025 .pickup-wrp .txt-box {
    width: 60%;
    text-align: left;
}

@media screen and (max-width:767px) {
    .expo2025 .pickup-wrp .txt-box {
        width: 100%;
        padding: 1em .5em 0;
    }
}

.expo2025 .pickup-wrp .c-hd-title {
    font-size: min(1.1em, 3.5vw);
    line-height: 1.6;
    font-weight: bold;
    margin-bottom: 1em;
    text-align: left;
    color: #008246;
}

.expo2025 .pickup-wrp .c-title {
    font-size: min(2em, 5vw);
    font-weight: bold;
    margin-bottom: .25em;
    text-align: left;
}

@media screen and (max-width:767px) {
    .expo2025 .pickup-wrp .c-hd-title {
        text-align: center;
    }

    .expo2025 .pickup-wrp .c-title {
        text-align: center;
    }
}

.expo2025 .pickup-wrp .lead {
    font-size: min(.95em, 3vw);
    font-weight: bold;
    line-height: 1.6;
    padding: 0;
    text-align: left;
}

.expo2025 .pickup-wrp .note-wrp {
    margin-bottom: 3em;
    text-align: left;
}

@media screen and (max-width:767px) {
    .expo2025 .pickup-wrp .note-wrp {
        margin-bottom: 1em;
    }
}

.expo2025 .pickup-wrp .btn:hover {
    color: #008246;
}

/* case-wrp ==============================*/
.expo2025 .case-wrp {
    background: var(--bg-Lgray2);
    width: 100%;
}

.expo2025 .case-box-wrp {
    margin-bottom: 10em;
}

.expo2025 .case-box-wrp.end {
    margin-bottom: 5em;
}

@media screen and (max-width:767px) {
    .expo2025 .case-box-wrp {
        margin-bottom: 5em;
    }

    .expo2025 .case-box-wrp.end {
        margin-bottom: 2em;
    }
}

.expo2025 .case-hd-wrp .hd-lead {
    font-size: min(1.2em, 3.5vw);
    font-weight: bold;
    padding: 1em 0;
    margin-bottom: 4em;
}

@media screen and (max-width:767px) {

    .expo2025 .case-hd-wrp .hd-lead {
        margin-bottom: 2em;
    }
}

.expo2025 .case-title-wrp {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2em;
}

@media screen and (max-width:767px) {
    .expo2025 .case-title-wrp {
        margin-bottom: 0;
    }
}

.expo2025 .case-wrp .title-box {
    width: 35%;
    text-align: left;
    position: relative;
    z-index: 3;
}

.expo2025 .case-wrp .comment {
    font-size: min(1.15em, 4vw);
    margin-top: 2em;
}

@media screen and (max-width:767px) {
    .expo2025 .case-wrp .title-box {
        width: 100%;
        order: 1;
    }

    .expo2025 .case-wrp .comment {
        margin-top: 1em;
    }
}

.expo2025 .case-wrp .title-box .title {
    font-size: min(2.1em, 5vw);
    padding-top: 1em;
    line-height: 1.5;
    text-align: left;
}

.expo2025 .details .marker {
    position: relative;
    display: inline-block;
    padding: 0 .5em;
}

.expo2025 .details .marker::after {
    content: '';
    width: 100%;
    height: 2.5px;
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: var(--blue);
    opacity: 0;
    transform: scale(0);
    transition: all .5s .5s;
}

.expo2025 .details.on .marker::after {
    opacity: 1;
    transform: scale(1);
}

.expo2025 .case-wrp .case {
    display: block;
    width: fit-content;
    font-size: min(1.5em, 5.5vw);
    padding: 1em 0;
    position: relative;
    color: var(--gray);
}

.expo2025 .case-wrp .case::before {
    content: '';
    display: block;
    width: 100%;
    height: 5px;
    position: absolute;
    bottom: 5px;
    left: 0;
    background: linear-gradient(to right, #0068b7 0%, #0068b7 50%, #e60012 50%, #e60012 100%);
}

@media screen and (max-width:767px) {
    .expo2025 .case-wrp .case {
        text-align: center;
    }
}

.expo2025 .case-wrp .case-img-box {
    width: 60%;
    border-radius: 10px;
    overflow: hidden;
}

.expo2025 .case-wrp .case-img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media screen and (max-width:767px) {
    .expo2025 .case-wrp .case-img-box {
        width: 100%;
        order: 0;
    }
}

.expo2025 .case-product {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 3em 0 1em;
}

.expo2025 .case-wrp .case-product .product-title-wrp {
    width: 30%;
    padding-right: 2.5em;
}

@media screen and (max-width:767px) {
    .expo2025 .case-wrp .case-product .product-title-wrp {
        width: 100%;
        padding-right: 0;
    }
}

.expo2025 .case-wrp .case-product .title {
    width: 100%;
    text-align: left;
    font-size: min(1.2em, 4vw);
    margin-bottom: 2em;
    position: relative;
    padding-left: 1.25em;
    border-bottom: 1px solid #ccc;
}

.expo2025 .case-wrp .case-product .title::before {
    content: '';
    display: inline-block;
    width: .4em;
    height: .4em;
    border-radius: 100%;
    /* background-color:#222; */
    border: 4px solid var(--red);
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-55%);
}

.expo2025 .case-wrp .case-product .product-title {
    font-size: min(1em, 3.5vw);
    font-weight: bold;
    margin-bottom: 1em;
}

.expo2025 .case-wrp .case-product .product-name {
    font-size: min(1.5em, 4.5vw);
    font-weight: bold;
    margin-bottom: 1em;
}

.expo2025 .case-wrp .case-product .product-lead {
    font-size: min(.98em, 3.2vw);
    line-height: 1.8;
    text-align: justify;
}

.expo2025 .case-wrp .case-product .case-details {
    display: block;
    width: fit-content;
    font-size: min(.9em, 3vw);
    font-weight: bold;
    margin: 1em 0;
    position: relative;
}

@media screen and (max-width:767px) {
    .expo2025 .case-wrp .case-product .case-details {
        margin: 1em auto;
        text-align: center;
    }
}

.expo2025 .case-wrp .case-product .case-details::after {
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: var(--blue);
}

.expo2025 .case-wrp .case-product .thumb {
    width: 22%;
    aspect-ratio: 1/1;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
}

@media screen and (max-width:767px) {
    .expo2025 .case-wrp .case-product .thumb {
        width: 31%;
        margin: 1em 0;
    }
}

.expo2025 .case-wrp .case-product .thumb.modal::after {
    content: '+';
    font-family: var(--en);
    width: 1.25em;
    height: 1.25em;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: min(1.2em, 4vw);
    line-height: 1.5;
    font-weight: bold;
    text-align: center;
    border-radius: 100%;
    color: #222;
    background-color: rgba(235, 235, 235, .9);
    border: 2px solid;
    position: absolute;
    top: .5em;
    right: .5em;
}

@media screen and (max-width:767px) {
    .expo2025 .case-wrp .case-product .thumb.modal::after {
        width: 1.1em;
        height: 1.1em;
        top: .3em;
        right: .3em;
    }
}

.expo2025 .case-wrp .case-product .thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all .3s;
}

.expo2025 .case-wrp .case-product .thumb.modal:hover img {
    scale: 1.1;
}

.expo2025 .case-wrp .btn:hover {
    color: var(--blue);
}

.expo2025 .btn.sml {
    margin: 2em auto;
}

@media screen and (max-width:767px) {
    .expo2025 .btn.sml {
        padding: .5em 4em;
        margin: 0 auto;
    }
}

/* modal contents */

.expo2025 .modal {
    cursor: pointer;
}

.expo2025 .modal-contents {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    width: 100%;
    height: 100%;
    background-color: rgba(235, 235, 235, .98);
    z-index: 9998;
    visibility: hidden;
    opacity: 0;
    top: 0;
    left: 0;
    transform: translateY(-100%);
    transition: all .3s;
}

.expo2025 .modal-close-btn,
.expo2025 .modal-contents.on::before,
.expo2025 .modal-contents.on::after {
    content: '';
    display: block;
    width: 0;
    height: 3em;
    position: absolute;
    top: min(2em, 3vw);
    right: min(3em, 6vw);
    color: #000;
    border-left: 1px solid;
    border-right: 1px solid;
    z-index: 9999;
    cursor: pointer;
}

.expo2025 .modal-close-btn {
    width: 3em;
    height: 3em;
    border: none;
}

/* @media screen and (max-width:767px) {

    .expo2025 .modal-close-btn,
    .expo2025 .modal-contents.on::before,
    .expo2025 .modal-contents.on::after {
        top: 3em;
        right: 1em;
    }
} */

.expo2025 .modal-contents.on::before {
    transform: rotate(45deg);
}

.expo2025 .modal-contents.on::after {
    transform: rotate(-45deg);
}

.expo2025 .modal-contents.on {
    visibility: visible;
    opacity: 1;
    top: 0;
    left: 0;
    transform: translateY(0);
}

.expo2025 .modal-slick {
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
}

@media screen and (max-width:767px) {
    .expo2025 .modal-slick {
        padding: 1em;
    }
}

.expo2025 .modal-contents-inner {
    width: 100%;
    position: relative;
    padding: 1em;
}

@media screen and (max-width:767px) {
    .expo2025 .slick-track {
        display: flex;
    }

    .expo2025 .slick-slide {
        height: auto !important;
    }

    .expo2025 .modal-contents-inner {
        background-color: #fff;
        padding: 0;
    }

    .expo2025 .pavillion-modal-inner {
        display: block;
    }
}

.expo2025 .pavillion-modal-inner .img-box {
    width: 50%;
    position: relative;
}

@media screen and (max-width:767px) {
    .expo2025 .pavillion-modal-inner .img-box {
        width: 100%;
        aspect-ratio: 4/3;
    }
}

.expo2025 .pavillion-modal-inner .img-box img,
.expo2025 .pavillion-modal-inner .img-box video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.expo2025 .pavillion-modal-inner .img-box .icon-palm {
    display: block;
    position: absolute;
    bottom: 1em;
    left: 1em;
    width: 80px;
    height: 80px;
    border-radius: 100%;
    overflow: hidden;
    padding: 20px;
    background-color: #fff;
}

@media screen and (max-width:767px) {
    .expo2025 .pavillion-modal-inner .img-box .icon-palm {
        width: 60px;
        height: 60px;
        padding: 15px;
    }
}

.expo2025 .pavillion-modal-inner .img-box .icon-palm img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.expo2025 .pavillion-modal-inner .txt-box {
    width: 50%;
    padding: 3em 4em;
    background-color: #fff;
}

@media screen and (max-width:767px) {
    .expo2025 .pavillion-modal-inner .txt-box {
        width: 100%;
        padding: 1em;
    }
}

.expo2025 .pavillion-modal-inner .btn {
    padding: 1em 4em;
    font-size: min(.9em, 3vw);
    text-box: trim-both cap alphabetic;
}

@media screen and (max-width:767px) {
    .expo2025 .pavillion-modal-inner .btn-wrp {
        margin: 1em auto 0;
    }
}

.expo2025 .case-wrp .modal-slick {
    max-width: 600px;
}

.expo2025 .case-modal-inner .img-box {
    width: 100%;
    height: 0;
    padding-bottom: 70%;
    overflow: hidden;
    position: relative;
}

@media screen and (max-width:767px) {

    .expo2025 .case-modal-inner .img-box {
        width: 100%;
    }
}

.expo2025 .case-modal-inner .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}

.expo2025 .case-modal-inner .txt-box {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    padding: .75em 2em;
    background-color: #fff;
    align-items: center;
}

@media screen and (max-width:767px) {
    .expo2025 .case-modal-inner .txt-box {
        padding: 1em;
    }
}

.expo2025 .number {
    display: block;
    font-size: min(3em, 9vw);
    margin-bottom: 1em;
}

@media screen and (max-width:767px) {
    .expo2025 .number {
        margin-bottom: .5em;
    }
}

.expo2025 .case-modal .number {
    display: block;
    font-size: min(1.35em, 4.8vw);
    margin: 0;
    padding-top: .25em;
    padding-bottom: .2em;
    padding-right: 1em;
    border-right: 1px solid #ccc;
    margin-right: .5em;
}

@media screen and (max-width:767px) {
    .expo2025 .case-modal .number {
        padding-left: 0;
    }
}

.expo2025 .modal-hd-title {
    font-size: min(1.1em, 3.8vw);
    line-height: 1.3;
    font-feature-settings: "palt";
    margin-bottom: 1em;
}

.expo2025 .modal-product-name {
    font-size: min(1.3em, 4.5vw);
    line-height: 1.5;
    margin-bottom: 0;
    font-feature-settings: "palt";
}

.expo2025 .pavillion-modal-inner .modal-product-name {
    margin: min(1em, 2vw) 0;
}

.expo2025 .case-modal-inner .modal-product-name {
    margin: 0 .5em;
}

.expo2025 .modal-contents-inner .lead {
    display: block;
    width: 100%;
    font-size: min(1em, 3.5vw);
    margin-top: .5em;
    margin-bottom: 0;
}

@media screen and (max-width:767px) {
    .expo2025 .modal-contents-inner .lead {
        line-height: 1.6;
    }
}

.expo2025 .housing-biz-wrp {
    background-color: var(--bg-Lgray2);
}

.expo2025 .housing-biz-wrp .inner {
    max-width: 980px;
    padding: 5em 1em 1em;
}

@media screen and (max-width:767px) {
    .expo2025 .housing-biz-wrp .inner {
        padding: 2em 1em 1em;
    }
}

.expo2025 .housing-biz-wrp .flex-between {}

.expo2025 .housing-biz-wrp .thumb {
    width: 32%;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 2em;
}

@media screen and (max-width:767px) {
    .expo2025 .housing-biz-wrp .thumb {
        aspect-ratio: 1/1;
    }

    .expo2025 .housing-biz-wrp .thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

.expo2025 .housing-biz-wrp .btn:hover {
    color: var(--blue);
}

.expo2025 .fukidashi {
    display: block;
    width: fit-content;
    margin: 0 auto 2em;
    color: var(--gray);
    border-bottom: 2px solid;
    position: relative;
    padding-bottom: .25em;
}

.expo2025 .fukidashi::after {
    content: '';
    display: block;
    width: .5em;
    height: 1.1em;
    border-right: solid 2px var(--gray);
    background-color: var(--bg-Lgray2);
    position: absolute;
    left: 50%;
    top: 100%;
    transform: translate(-50%, 1px) rotate(30deg);
    transform-origin: right top;
}

.expo2025 .fukidashi .sml {
    display: block;
    font-size: .75em;
    line-height: 1.5;
    margin-bottom: .25em;
}

/* movie banner */
.expo2025 .movie-info {}

.expo2025 .movie-info-title {
    text-align: center;
    font-size: min(1.6em, 6vw);
    line-height: 1.3;
}

.expo2025 .movie-info-title.fukidashi::after {
    background-color: #f9f9f9;
}

.expo2025 .movie-info-banner {
    max-width: 800px;
    margin: 2em auto 0;
    border: 2px solid;
    background-color: #fff;
    color: #222;
    text-decoration: none;
}

.expo2025 .movie-info-banner .txt-box {
    width: 50%;
    text-align: center;
    padding: 2em 1em;
}

@media screen and (max-width:767px) {
    .expo2025 .movie-info-banner .txt-box {
        width: 100%;
        order: 1;
    }
}

.expo2025 .movie-info-banner .txt-box p {
    font-size: min(1.3em, 4vw);
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 1em;
}

.expo2025 .movie-info-banner .txt-box .btn {
    font-size: .95em;
}

.expo2025 .movie-info-banner .img-box {
    width: 50%;
    position: relative;
    overflow: hidden;
}

@media screen and (max-width:767px) {
    .expo2025 .movie-info-banner .img-box {
        width: 100%;
        order: 0;
    }
}

.expo2025 .movie-info-banner .img-box::before {
    content: '';
    width: 4em;
    height: 4em;
    background-color: #fff;
    border-radius: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
}

.expo2025 .movie-info-banner .img-box::after {
    content: '';
    width: 1.2em;
    height: 1.2em;
    background-color: var(--blue);
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-40%, -50%);
    z-index: 4;
}

.expo2025 .movie-info-banner img {
    transition: all .3s;
}

.expo2025 .movie-info-banner:hover img {
    transform: scale(1.05);
}

.expo2025 .movie-info-banner:hover .btn {
    color: var(--blue);
}

.expo2025 .housing-biz-more {
    border: 2px solid;
    border-radius: 10px;
    width: 90%;
    max-width: 860px;
    margin: 3em auto;
}

.expo2025 .housing-biz-more .inner {
    padding: 2em;
    text-align: center;
}

.expo2025 .title-serif {
    display: inline-block;
    padding: 0 1em;
    position: relative;
    font-size: min(1.3em, 4vw);
    font-weight: 600;
    color: var(--gray);
    width: fit-content;
    margin: 0 auto 1em;
}

@media screen and (max-width:767px) {
    .expo2025 .title.serif {
        padding: 0 1.5em;
    }
}

.expo2025 .title-serif::before,
.expo2025 .title-serif::after {
    content: '';
    width: 0;
    height: 105%;
    border-left: 1px solid;
    display: inline-block;
    position: absolute;
    top: 0;
}

.expo2025 .title-serif::before {
    left: 0;
    transform: rotate(-35deg);
}

.expo2025 .title-serif::after {
    transform: rotate(35deg);
    right: 0;
}

.expo2025 .housing-biz-more .title {
    font-size: min(1.5em, 4.5vw);
    line-height: 1.5;
    color: var(--gray);
}