@charset "UTF-8";
:root{
    --color-blue: #024099;
    --color-green: #019944;
}
/* html, body { scroll-behavior: smooth; } */
@font-face{
    font-family: 'Absans';
    src: url('./Absans-Regular.woff2') format('woff2');
}
@media (min-width: 769px) {
    .is-sp{ display: none; }
}
@media (max-width: 768px) {
    .is-pc{ display: none; }
}
/* フェードイン */
.js-fadeIn{
    transform: translateY(50px);
    opacity: 0;
    transition-duration: .6s;
}
.js-fadeIn.is-visible{
    transform: translateY(0);
    opacity: 1;
}
html{ font-size: 62.5%; }
.kv-wrap img, .sec01 img, .sec02 img, .sec03 img, .sec04 img, .sec05 img { width: 100%; }
.header-lang {
    display:none;
}
/* KV 動き関係 */
.js-kvBg.is-visible{
    opacity: 1;
    scale: calc(100%);
}
.js-kvPerson.is-visible{
    opacity: 1;
    transform: translateY(0);
}
.js-kvText.is-visible{
    opacity: 1;
    scale: calc(100%);
}
.kv-wrap img{ width: 100%;}
.kv-bg > div{
    transform-origin: 50% 50%;
    scale: calc(95%);
    opacity: 0;
    transition-duration: .6s;
}
.kv-person-wrap > div{
    opacity: 0;
    transform: translateY(5%);
    transition-duration: .6s;
}
.kv-text-wrap > div{
    transform-origin: 50% 50%;
    opacity: 0;
    scale: calc(95%);
    transition-duration: .6s;
}
@media (max-width: 768px) {
    .js-kvBg.is-visible{
        scale: calc(100%);
    }
    .js-kvPerson.is-visible{
        transform: translateY(0);
    }
    .js-kvText.is-visible{
        scale: calc(100%);
    }
    .kv-bg > div{
        scale: calc(100%);
    }
    .kv-person-wrap > div{
        transform: translateY(5%);
    }
    .kv-text-wrap > div{
        scale: calc(100%);
    }
}
/* KV */
.kv-wrap{
    min-width: 1020px;
    position: relative;
}
.kv-bg-circle01{
    /* 1500px基準でデザインデータの幅を％に変換 */
    width: 58.93333333%;
    position: absolute;
    top: -14%;
    left: calc(50% - (58.93333333% / 2));
    z-index: -1;
}
.kv-bg-circle02{
    width: 66.5333333%;
    position: absolute;
    top: -14%;
    left: calc(50% - (66.5333333% / 2));
    z-index: -1;
}
.kv-bg-circle03{
    width: 78.93333333%;
    position: absolute;
    top: -14%;
    left: calc(50% - (78.93333333% / 2));
    z-index: -1;
}
.kv-person-wrap > div{
    position: absolute;
}
.kv-person01{
    width: 16.6666666%;
    top: -4%;
    left: calc(50% + 28.3076923%);
}
.kv-person02{
    width: 7.4666666%;
    top: 28.5%;
    left: calc(50% + 36.1538461%);
}
.kv-person03{
    width: 8.3333333%;
    top: 41.5%;
    left: calc(50% + 26.6923076%);
}
.kv-person04{
    width: 7.9333333%;
    top: 57%;
    left: calc(50% + 34.3846153%);
}
.kv-person05{
    width: 9%;
    top: 76%;
    left: calc(50% + 20.5384615%);
}
.kv-person06{
    width: 11.6666666%;
    top: 57.5%;
    left: calc(50% + 7.1538461%);
}
.kv-person07{
    width: 10.0666666%;
    top: 80%;
    left: calc(50% - 4.7692307%);
}
.kv-person08{
    width: 10.6666666%;
    top: 56%;
    left: calc(50% - 17.5384615%);
}
.kv-person09{
    width: 19.5333333%;
    top: 63.5%;
    left: calc(50% - 42.3076923%);
}
.kv-person10{
    width: 8.2666666%;
    top: 34%;
    left: calc(50% - 42.8461538%);
}
.kv-person11{
    width: 7.8%;
    top: 21%;
    left: calc(50% - 35.7692307%);
}
.kv-person12{
    width: 10.7333333%;
    top: 2%;
    left: calc(50% - 44.6153846%);
}
.kv-title01{
    width: 31.264%;
    margin: 0 auto;
    padding-top: 5%;
}
.kv-title02{
    width: 31.264%;
    margin: 0 auto;
}
.kv-title03{
    width: 30.9333333%;
    margin: 1.5% auto 0;
}
.kv-title04{
    width: 25.4666666%;
    margin: 1.5% auto 0;
}
.kv-title05{
    width: 25.4666666%;
    margin: 0 auto;
}
.kv-title06{
    width: 25.4666666%;
    margin: 0 auto;
    padding-bottom: 26%;
}
@media (max-width: 768px) {
    .kv-wrap{
        min-width: auto;
    }
    .kv-wrap{
        min-width: 100%;
    }
    .kv-bg-circle01{
        width: 100%;
        top: -9%;
        left: calc(50% - (100% / 2));
    }
    .kv-bg-circle02{
        width: 100%;
        top: -9%;
        left: calc(50% - (100% / 2));
    }
    .kv-bg-circle03{
        width: 100%;
        top: -9%;
        left: calc(50% - (100% / 2));
    }
    .kv-person01{
        width: 10.9333333dvw;
        top: 38.4dvw;
        left: 4dvw;
    }
    .kv-person02{
        width: 13.3333333dvw;
        top: 38.9333333dvw;
        left: auto;
        right: 6.1333333dvw;
    }
    .kv-person03{
        width: 12.8dvw;
        top: 56.5333333dvw;
        left: 14.9333333dvw;
    }
    .kv-person04{
        width: 13.0666666dvw;
        top: 59.4666666dvw;
        left: auto;
        right: 17.0666666dvw;
    }
    .kv-person05{
        width: 13.3333333dvw;
        top: 78.4dvw;
        left: 2.4dvw;
    }
    .kv-person06{
        width: 13.8666666dvw;
        top: 78.9333333dvw;
        left: auto;
        right: 1.0666666dvw;
    }
    .kv-person07{
        width: 19.4666666dvw;
        top: 88.2666666dvw;
        left: 30.1333333dvw;
    }
    .kv-person08{
        width: 18.4dvw;
        top: 91.4666666dvw;
        left: auto;
        right: 22.1333333dvw;
    }
    .kv-person09{
        width: 27.7333333dvw;
        top: 100.8dvw;
        left: 0;
    }
    .kv-person10{
        width: 20.8dvw;
        top: 101.0666666dvw;
        left: auto;
        right: 0;
    }
    .kv-person11{
        width: 17.3333333dvw;
        top: 115.7333333dvw;
        left: 39.7333333dvw;
    }
    .kv-title01{
        width: 65.2506666dvw;
        margin: 0 auto;
        padding-top: 6.6666666dvw;
    }
    .kv-title02{
        width: 65.2506666dvw;
        margin: 0 auto;
    }
    .kv-title03{
        width: 73.968dvw;
        margin: 4.26666666dvw auto 0;
    }
    .kv-title04{
        width: 49.0666666dvw;
        margin: 4dvw auto 0;
    }
    .kv-title05{
        width: 49.0666666dvw;
        margin: 0 auto;
    }
    .kv-title06{
        width: 49.0666666dvw;
        margin: 0 auto 0;
        padding-bottom: 74.6666666dvw;
    }
}

/* lead */
.lead-text{
    max-width: 90%;
    margin: 80px auto;
    text-align: center;
    font-size: 2.0rem;
    line-height: 2.4;
    background: linear-gradient(0deg, var(--color-blue) 0%, var(--color-green) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.localnav-list{
    max-width: 900px;
    margin: 100px auto;
    display: flex;
    gap: 60px;
}
.localnav-item{
    display: block;
    padding-left: 47px;
    position: relative;
    transition-duration: .3s;
}
.localnav-item:hover{
    opacity: .6;
}
.localnav-item:before{
    content: '';
    display: block;
    width: 40px;
    height: 40px;
    background: url('/sustainability/thoughts/images/circle_arrow_bottom_blue.svg') no-repeat 100% 100%;
    position: absolute;
    left: 0;
    top: calc(50% - 20px);
}
.localnav-text-eng{
    font-family: 'Absans', sans-serif;
    font-size: 2.0rem;
    color: var(--color-blue);
    font-weight: 100;
}
.localnav-text-jp{
    font-size: 1.4rem;
    color: var(--color-green);
}
@media screen and (min-width: 769px) and (max-width: 1300px) {
    .lead-text{
        margin: 6.1538461dvw auto;
        font-size: 1.5384615dvw;
    }
    .localnav-list{
        margin: 7.6923077dvw auto;
        gap: 4.6153846dvw;
        justify-content: center;
    }
    .localnav-item{
        padding-left: 3.76923077dvw;
    }
    .localnav-item:before{
        width: 3.0769230dvw;
        height: 3.0769230dvw;
        top: calc(50% - (3.0769230dvw / 2));
        background-size: 100% 100%;
    }
    .localnav-text-eng{
        font-size: 1.5384615dvw;
    }
    .localnav-text-jp{
        font-size: 1.076923dvw;
    }
}
@media (max-width: 768px) {
    .lead-text{
        max-width: 95%;
        margin: 40px auto;
        font-size: 4vw;
    }
    .localnav-list{
        width: 90%;
        background: #F8F8F9;
        padding: 10dvw 0;
        margin: 50px auto;
        justify-content: center;
        flex-wrap: wrap;
        gap: 30px;
    }
    .localnav-list > li{
        width: 100%;
    }
    .localnav-item{
        width: 53.8666666dvw;
        margin: 0 auto;
    }
    .localnav-text-eng{
        font-size: 5.333333dvw;
    }
    .localnav-text-jp{
        font-size: 3.7333333dvw;
    }
}

/* ============ Our Thoughts ============ */
.sec01{
    position: relative;
}
.sec01-main{
    position: relative;
    margin-left: calc((100% - 1200px) / 2);
    padding-left: 126px;
    box-sizing: border-box;
}
.sec01-title-eng{
    font-family: 'Absans', sans-serif;
    font-weight: 100;
    font-size: 10rem;
    color: var(--color-blue);
    line-height: 1;
}
.sec01-title-jp{
    width: 32px;
    padding: 0 5px;
    margin-right: 90px;
    position: absolute;
    left: 0;
}
.sec01-title-jp:after{
    content: '';
    display: block;
    width: 141px;
    height: 1px;
    background: linear-gradient(90deg, var(--color-green) 0%, var(--color-blue) 100%);
    rotate: calc(45deg);
    position: absolute;
    top: 230px;
    right: -90px;
}
.sec01-flex{
    display: flex;
    flex-direction: row-reverse;
}
.sec01-text{
    font-size: 1.6rem;
    line-height: 2.0;
    width: 50%;
    margin-top: 60px;
}
.sec01-text p + p{
    margin-top: 1em;
}
.sec01-image{
    width: 50%;
    background-image: url('/sustainability/thoughts/images/sec01_main.png');
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    clip-path: polygon(0 50px, 50px 0, 100% 0, 100% 100%, 50px 100%,0 calc(100% - 50px));
}
/* sec01 slider */
.sec01-slider{
    margin-top: 100px;
    margin-bottom: 100px;
}
.sec01-slider .swiper-wrapper{
    padding-bottom: 80px;
}
.sec01-slider .swiper-slide > img{
    width: 100%;
}
.sec01-slider-prev{
    font-size: 0;
    width: 40px;
    height: 40px;
    background-image: url('/sustainability/thoughts/images/circle_arrow_left_blue.svg');
    background-size: 100% 100%;
    position: absolute;
    bottom: 0;
    right: 180px;
    cursor: pointer;
    z-index: 10;
    transition-duration: .3s;
}
.sec01-slider-next{
    font-size: 0;
    width: 40px;
    height: 40px;
    background-image: url('/sustainability/thoughts/images/circle_arrow_right_blue.svg');
    background-size: 100% 100%;
    position: absolute;
    bottom: 0;
    right: 120px;
    cursor: pointer;
    z-index: 10;
    transition-duration: .3s;
}
.sec01-slider-prev:hover,
.sec01-slider-next:hover{
    opacity: .6;
}
.sec01-slider-prev > svg,
.sec01-slider-next > svg{
    display: none;
}
@media screen and (min-width: 769px) and (max-width: 1300px) {
    .sec01-main{
        margin-left: 0;
        padding-left: 9.6923077dvw;
        width: 100%;
        box-sizing: border-box;
    }
    .sec01-title-eng{
        font-size: 7.6923076dvw;
    }
    .sec01-title-jp{
        width: 2.8dvw;
        margin-right: 6.9230769dvw;
        left: 0;
    }
    .sec01-title-jp:after{
        width: 10.8461538dvw;
        top: 17.6923076dvw;
        right: -6.9230769dvw;
    }
    .sec01-text{
        font-size: 1.2307692dvw;
        width: 50%;
        margin-top: 60px;
    }
    .sec01-text p + p{
        margin-top: 1em;
    }
    .sec01-image{
        width: 50%;
        height: 50dvw;
    }
    /* sec01 slider */
    .sec01-slider{
        margin-top: 7.6923077dvw;
        margin-bottom: 7.6923077dvw;
    }
    .sec01-slider .swiper-wrapper{
        padding-bottom: 6.1538461dvw;
    }
    .sec01-slider-prev{
        width: 3.0769230dvw;
        height: 3.0769230dvw;
        right: 13.8461538dvw;
    }
    .sec01-slider-next{
        width: 3.0769230dvw;
        height: 3.0769230dvw;
        right: 9.2307692dvw;
    }
}

@media screen and (max-width: 768px) {
    .sec01-main{
        margin-left: 0;
        padding-left: 0;
        padding-top: 126.4dvw;
    }
    .sec01-title-eng{
        width: 89.333333dvw;
        margin-left: auto;
        margin-right: auto;
        font-size: 13.33333dvw;
    }
    .sec01-title-jp{
        width: calc(4.5dvw + 10px);
        padding: 10px 5px;
        background: #fff;
        margin-right: 0;
        left: auto;
        right: 5%;
        top: 81dvw;
    }
    .sec01-title-jp:after{
        width: 17.3333333dvw;
        background: linear-gradient(90deg, var(--color-blue) 0%, var(--color-green) 100%);
        rotate: calc(-45deg);
        top: 36dvw;
        right: 12dvw;
    }
    .sec01-flex{
        display: block;
    }
    .sec01-text{
        font-size: 4dvw;
        width: 89.333333dvw;
        margin-left: auto;
        margin-right: auto;
        margin-top: 8dvw;
    }
    .sec01-image{
        position: absolute;
        width: 94.6666666dvw;
        height: 101.3333333dvw;
        right: 0;
        bottom: auto;
        top: 0;
        z-index: -1;
    }
    /* sec01 slider */
    .sec01-slider{
        margin-top: 16dvw;
        margin-bottom: 32dvw;
    }
    .sec01-slider .swiper-wrapper{
        padding-bottom: 18.6666666dvw;
    }
    .sec01-slider-prev{
        width: 10.6666666dvw;
        height: 10.6666666dvw;
        right: 21.3333333dvw;
    }
    .sec01-slider-next{
        width: 10.6666666dvw;
        height: 10.6666666dvw;
        right: 5.3333333dvw;
    }
}

/* ============ Our Activities ============ */
.sec02{
    position: relative;
}
.sec02-image{
    width: 305px;
    position: absolute;
    left: 5%;
    top: -30px;
    z-index: 10;
}
.sec02-image > img{
    width: 100%;
}
.sec02-inner{
    width: 95%;
    background-color: var(--color-blue);
    clip-path: polygon(0 0, 0 100%, calc(100% - 50px) 100%, 100% calc(100% - 50px), 100% 50px,calc(100% - 50px) 0);
}
.sec02-main{
    margin-left: 5%;
    padding-left: 355px;
    padding-right: 157px;
    position: relative;
    margin-bottom: 100px;
}
.sec02-title-jp{
    width: 32px;
    padding: 0 5px;
    margin-right: 0;
    position: absolute;
    top: 65px;
    right: 4%;
}
.sec02-title-jp:after{
    content: '';
    display: block;
    width: 141px;
    height: 1px;
    background: #fff;
    rotate: calc(-45deg);
    position: absolute;
    top: 250px;
    right: -20px;
}
.sec02-title-eng{
    font-family: 'Absans', sans-serif;
    font-weight: 100;
    font-size: 10rem;
    color: #fff;
    line-height: 1;
    padding-top: 140px;
}
.sec02-main-text{
    font-size: 1.7rem;
    color: #fff;
    margin-top: 25px;
    line-height: 2;
}
/* section02 slider */
.sec02-slider-wrap{
    margin-left: 5%;
}
.sec02-slider-filter{
    display: flex;
    gap: 50px;
}
.filter-btn{
    font-size: 1.8rem;
    color: #fff;
    padding-right: 23px;
    position: relative;
    transition-duration: .3s;
}
.filter-btn:hover{
    opacity: .6;
}
.filter-btn:before{
    content: '';
    display: block;
    width: 18px;
    height: 18px;
    background-image: url('/sustainability/thoughts/images/filter_btn_arrow.svg');
    background-size: 100% 100%;
    position: absolute;
    top: calc(50% - 9px);
    right: 0;
}
.filter-btn.active:before{
    background-image: url('/sustainability/thoughts/images/filter_btn_arrow_active.svg');
}
.filter-btn.active:after{
    content: '';
    display: block;
    width: 100%;
    height: 2px;
    background: #fff;
    position: absolute;
    bottom: -4px;
}
.sec02-slider{
    padding-right: 2%;
}
.sec02-slider .swiper-wrapper{
    margin-top: 50px;
    padding-bottom: 120px;
}
.sec02-slider .swiper-slide{
    width: 38%;
}
.sec02-slider .swiper-slide img{
    width: 100%;
}
.sec02-slider a > figure,
.sec02-slider .sec02-movie > figure{
    position: relative;
    border-radius: 6px;
    overflow: hidden;
}
.sec02-slider a > figure:before{
    content: '';
    position: absolute;
    width: 40px;
    height: 40px;
    background-image: url('/sustainability/thoughts/images/circle_arrow_right_bgwhite.svg');
    background-size: 100% 100%;
    right: 20px;
    bottom: 20px;
    z-index: 10;
}
.sec02-slider .sec02-movie > figure:before{
    content: '';
    position: absolute;
    width: 60px;
    height: 60px;
    background-image: url('/sustainability/thoughts/images/circle_arrow_movie.svg');
    background-size: 100% 100%;
    left: calc(50% - 30px);
    top: calc(50% - 30px);
    z-index: 10;
}
.sec02-slider a > figure img,
.sec02-slider .sec02-movie > figure img{
    transition-duration: .4s;
}
.sec02-slider a:hover > figure img,
.sec02-slider .sec02-movie:hover > figure img{
    transform: scale(105%);
}

.sec02-slider-prev{
    font-size: 0;
    width: 40px;
    height: 40px;
    background-image: url('/sustainability/thoughts/images/circle_arrow_left_white.svg');
    background-size: 100% 100%;
    position: absolute;
    bottom: 60px;
    right: 180px;
    cursor: pointer;
    z-index: 10;
}
.sec02-slider-next{
    font-size: 0;
    width: 40px;
    height: 40px;
    background-image: url('/sustainability/thoughts/images/circle_arrow_right_white.svg');
    background-size: 100% 100%;
    position: absolute;
    bottom: 60px;
    right: 120px;
    cursor: pointer;
    z-index: 10;
}
.sec02-slider-prev > svg,
.sec02-slider-next > svg{
    display: none;
}
.sec02-slider-text{
    color: #fff;
    font-size: 1.4rem;
    margin-top: 10px;
}
.sec02-slider-category{
    display: flex;
    margin-top: 10px;
    flex-wrap: wrap;
    gap: 10px;
}
.sec02-slider-category > span{
    display: inline-block;
    padding: 2px 10px;
    border: 1px #fff solid;
    border-radius: 18px;
    color: #fff;
}
/* section02 movie modal */
.sec02-movie{
    cursor: pointer;
}
.sec02-movie-modal.is-hidden{
    opacity: 0;
    pointer-events: none;
}
.sec02-movie-modal{
    position: fixed;
    width: 100%;
    height: 100%;
    backdrop-filter: blur(30px);
    background-color: rgba(0, 0, 0, .3);
    top: 0;
    left: 0;
    z-index: 100;
    transition-duration: .4s;
}
.sec02-movie-flame {
  width: 80%;
  max-width: 900px;
  aspect-ratio: 16 / 9;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}
.sec02-movie-flame iframe{
  width: 100%;
  height: 100%;
}
.sec02-movie-close{
    width: 60px;
    height: 60px;
    position: absolute;
    z-index: 101;
    top: 5%;
    right: 5%;
    background-image: url('/sustainability/thoughts/images/circle_close.svg');
    background-size: 100% 100%;
    background-position: center center;
    cursor: pointer;
}
@media screen and (min-width: 769px) and (max-width: 1300px) {
     .sec02-main{
        margin-left: 5%;
        padding-left: 27.3076923dvw;
        padding-right: 12.0769230dvw;
        position: relative;
        margin-bottom: 7.6923077dvw;
    }
    .sec02-image{
        width: 23.4615384dvw;
    }
    .sec02-title-jp{
        width: 2.8dvw;
        /* font-size: 1.8461538dvw; */
    }
    .sec02-title-jp:after{
        width: 10.8461538dvw;
        rotate: calc(-45deg);
        top: 19.2307692dvw;
        right: -1.5384615dvw;
    }
    .sec02-title-eng{
        font-size: 7.6923076dvw;
        padding-top: 10.7692307dvw;
    }
    .sec02-main-text{
        font-size: 1.3076923dvw;
    }
    /* section02 slider */
    .sec02-slider-filter{
        gap: 3.8461538dvw;
    }
    .filter-btn{
        font-size: 1.3846154dvw;
        padding-right: 1.7692307dvw;
    }
    .filter-btn:before{
        width: 1.3846153dvw;
        height: 1.3846153dvw;
        top: calc(50% - (1.3846153dvw / 2));
    }
    .sec02-slider .swiper-wrapper{
        margin-top: 3.8461538dvw;
        padding-bottom: 9.23076923dvw;
    }
    .sec02-slider .swiper-slide img{
        width: 100%;
    }
    .sec02-slider a > figure:before{
        width: 4dvw;
        height: 4dvw;
        right: 1.5dvw;
        bottom: 1.5dvw;
    }
    .sec02-slider .sec02-movie > figure:before{
        width: 6dvw;
        height: 6dvw;
        left: calc(50% - (6dvw / 2));
        top: calc(50% - (6dvw / 2));
    }
    .sec02-slider-prev{
        width: 3.0769230dvw;
        height: 3.0769230dvw;
        bottom: 4.6153846dvw;
        right: 13.8461538dvw;
    }
    .sec02-slider-next{
        width: 3.0769230dvw;
        height: 3.0769230dvw;
        bottom: 4.6153846dvw;
        right: 9.2307692dvw;
    }
    .sec02-slider-text{
        font-size: 1.0769230dvw;
    }
    .sec02-slider-category > span{
        font-size: 1.076923dvw;
        border-radius: 18px;
    }
}
@media screen and (max-width: 768px) {
    .sec02-image{
        width: 58.9333333dvw;
        left: 15.2dvw;
        top: -21.3333333dvw;
    }
    .sec02-inner{
        width: 100%;
    }
    .sec02-main{
        width: 95%;
        margin-left: auto;
        margin-right: auto;
        padding-left: 0;
        padding-right: 0;
        margin-bottom: 12dvw;
    }
    .sec02-title-jp{
        width: 4.5dvw;
        padding: 0;
        margin-right: 0;
        top: 18.1333333dvw;
        right: 12dvw;
    }
    .sec02-title-jp:after{
        width: 19.2dvw;
        rotate: calc(-45deg);
        top: 44.6666666dvw;
        right: -3.3333333dvw;
    }
    .sec02-title-eng{
        font-size: 13.33333dvw;
        padding-top: 74.6666666dvw;
    }
    .sec02-main-text{
        width: 95%;
        font-size: 4dvw;
        margin-top: 25px;
        margin-left: auto;
        margin-right: auto;
    }
    .sec02-slider-wrap{
    }
    .sec02-slider-filter{
        width: 100%;
        flex-wrap: wrap;
        gap: 3.2dvw;
    }
    .filter-btn{
        font-size: 4dvw;
        padding-right: 5.3333333dvw;
    }
    .filter-btn:before{
        width: 4.8dvw;
        height: 4.8dvw;
        background-size: 100% 100%;
        top: calc(50% - 2.4dvw);
    }
    .sec02-slider .swiper-wrapper{
        margin-top: 6.4dvw;
        padding-bottom: 37.3333333dvw;
    }
    .sec02-slider .swiper-slide{
        width: 73.3333333dvw;
    }
    .sec02-slider a > figure:before{
        width: 7dvw;
        height: 7dvw;
        right: 3dvw;
        bottom: 3dvw;
    }
    .sec02-slider .sec02-movie > figure:before{
        width: 10dvw;
        height: 10dvw;
        left: calc(50% - (10dvw / 2));
        top: calc(50% - (10dvw / 2));
    }
    .sec02-slider .swiper-slide img{
        width: 100%;
    }
    .sec02-slider-prev{
        width: 10.6666666dvw;
        height: 10.6666666dvw;
        bottom: 18.1333333dvw;
        right: 21.3333333dvw;
    }
    .sec02-slider-next{
        width: 10.6666666dvw;
        height: 10.6666666dvw;
        bottom: 18.1333333dvw;
        right: 5.3333333dvw;
    }
    .sec02-slider-text{
        font-size: 4dvw;
        margin-top: 2.6666666dvw;
    }
    .sec02-slider-category{
        margin-top: 2.6666666dvw;
        flex-wrap: wrap;
        gap: 2.6666666dvw;
    }
    .sec02-slider-category > span{
        padding: 0.5333333dvw 2.6666666dvw;
        font-size: 3.2dvw;
        border-radius: 5.3333333dvw;
    }
    .sec02-movie-flame {
        width: 100%;
        max-width: auto;
    }
    .sec02-movie-close{
        width: 16dvw;
        height: 16dvw;
        top: auto;
        bottom: 12%;
        right: auto;
        left: calc(50% - 8dvw);
    }
}

/* ============ Our Voices ============ */
.sec03{
    background: var(--color-green);
    position: relative;
}
.sec03:before{
    content: '';
    display: block;
    height: 350px;
    width: 100%;
    background: var(--color-green);
    position: absolute;
    bottom: 99%;
    left: 0;
    z-index: -1;
}
.sec03:after{
    content: '';
    display: block;
    height: 350px;
    width: 100%;
    background: var(--color-green);
    position: absolute;
    top: 99%;
    left: 0;
    z-index: -1;
}
.sec03-title-eng{
    font-family: 'Absans', sans-serif;
    font-weight: 100;
    font-size: 10rem;
    color: #fff;
    line-height: 1;
}
.sec03-title-jp{
    width: 34px;
    padding: 0 5px;
    margin-right: 90px;
    position: absolute;
    left: 2%;
}
.sec03-title-jp:after{
    content: '';
    display: block;
    width: 141px;
    height: 1px;
    background: #fff;
    rotate: calc(45deg);
    position: absolute;
    left: 49px;
    bottom: 0;
}
.sec03-main{
    padding-top: 120px;
    margin-left: 2%;
    padding-left: 200px;
    padding-bottom: 55px;
    position: relative;
}
.sec03-text{
    font-size: 1.6rem;
    line-height: 2.0;
    width: 50%;
    margin-top: 25px;
    color: #fff;
}
.sec03-image{
    position: absolute;
    width: calc(50% - 200px);
    max-width: 480px;
    bottom: 0;
    right: 5%;
}
.sec03-image img{
    max-width: 100%;
}
.sec03-contents-list.swiper-wrapper{
    width: auto;
}
.sec03-contents-list{
    display: flex;
    margin: 0 2%;
    flex-wrap: wrap;
    gap: 30px 30px;
    justify-content: left;
}
.sec03-contents-item{
    width: calc((100% - 90px) / 4);
}
.sec03-contents-item figure{
    position: relative;
    border-radius: 6px;
    overflow: hidden;
}
.sec03-contents-item figure:before{
    content: '';
    display: block;
    width: 30px;
    height: 30px;
    background-image: url('/sustainability/thoughts/images/circle_arrow_right_bgwhite_green.svg');
    background-size: 100% 100%;
    position: absolute;
    right: 13px;
    bottom: 13px;
    z-index: 10;
}
.sec03-contents-item a img{
    transition-duration: .3s;
}
.sec03-contents-item a:hover img{
    transform: scale(105%);
}

.sec03-contents-item img{
    width: 100%;
}
.sec03-contents-more{
    margin-top: 75px;
    text-align: center;
    margin-bottom: 100px;
}
.sec03-contents-more > a{
    display: inline-block;
    color: #fff;
    font-size: 1.8rem;
    border: 1px #fff solid;
    border-radius: 25px;
    padding: 15px 35px;
    margin-right: 49px;
    position: relative;
    line-height: 1;
    transition-duration: .3s;
}
.sec03-contents-more > a:after{
    content: '';
    display: block;
    width: 49px;
    height: 49px;
    background-image: url('/sustainability/thoughts/images/circle_arrow_right_white.svg');
    background-size: 100% 100%;
    position: absolute;
    left: 100%;
    top: 0;
}
.sec03-contents-more > a:hover{
    opacity: .6;
}
@media screen and (min-width: 769px) and (max-width: 1300px) {
    .sec03:before{
        height: 26.9230769dvw;
    }
    .sec03:after{
        height: 26.9230769dvw;
    }
    .sec03-title-eng{
        font-size: 7.6923077dvw;
    }
    .sec03-title-jp{
        width: 2.8dvw;
        margin-right: 6.9230769dvw;
    }
    .sec03-title-jp:after{
        width: 10.8461538dvw;
        left: 3.7692307dvw;
        bottom: 0;
    }
    .sec03-main{
        padding-top: 9.2307692dvw;
        padding-left: 15.3846153dvw;
        padding-bottom: 4.2307692dvw;
    }
    .sec03-text{
        font-size: 1.2307692dvw;
        margin-top: 1.9230769dvw;
    }
    .sec03-image{
        width: 33.6153846dvw;
        right: 5%;
    }
    .sec03-contents-list{
        margin: 0 2%;
        gap: 2.3076923dvw 2.3076923dvw;
    }
    .sec03-contents-item{
        width: calc((100% - 6.9230769dvw) / 4);
    }
    .sec03-contents-more{
        margin-top: 5.7692307dvw;
        margin-bottom: 7.6923077dvw;
    }
    .sec03-contents-more > a{
        font-size: 1.3846159dvw;
        border-radius: 2dvw;
        padding: 1.15dvw 2.6923077dvw;
        margin-right: 3.7692307dvw;
    }
    .sec03-contents-more > a:after{
        width: 3.7692307dvw;
        height: 3.7692307dvw;
    }
}
@media screen and (max-width: 768px) {
    .sec03-inner{
        padding-bottom: 16dvw;
    }
    .sec03:before{
        height: 20dvw;
        width: 100%;
        bottom: 99%;
        left: 0;
        z-index: -1;
    }
    .sec03::after{
        height: 350px;
        width: 100%;
        top: 100%;
        left: 0;
        z-index: -1;
    }
    .sec03-title-eng{
        font-size: 13.33333dvw;
    }
    .sec03-title-jp{
        width: 4.5dvw;
        padding: 0;
        margin-right: 0;
        top: 53.3333333dvw;
        left: 4.5333333dvw;
    }
    .sec03-title-jp:after{
        width: 13.3333333dvw;
        rotate: calc(45deg);
        left: -1dvw;
        bottom: -10dvw;
    }
    .sec03-main{
        width: 95%;
        margin-left: auto;
        margin-right: auto;
        padding-top: 65.6dvw;
        padding-left: 17dvw;
        padding-bottom: 12dvw;
    }
    .sec03-text{
        font-size: 4dvw;
        width: 100%;
        margin-top: 8dvw;
    }
    .sec03-image{
        width: 94.6666666dvw;
        bottom: auto;
        top: -18.6666666dvw;
        left: -1.8666666dvw;
    }
    .sec03-slider{
        margin-left: 5.3333333dvw;
        padding-bottom: 18.6666666dvw;
        position: relative;
    }
    .sec03-contents-list{
        margin: 0;
        flex-wrap: nowrap;
        gap: 0;
    }
    .sec03-contents-item img{
        width: 100%;
    }
    .sec03-slider-prev{
        font-size: 0;
        width: 10.6666666dvw;
        height: 10.6666666dvw;
        background-image: url('/sustainability/thoughts/images/circle_arrow_left_white.svg');
        background-size: 100% 100%;
        position: absolute;
        bottom: 0;
        right: 21.3333333dvw;
        cursor: pointer;
        z-index: 10;
    }
    .sec03-slider-next{
        font-size: 0;
        width: 10.6666666dvw;
        height: 10.6666666dvw;
        background-image: url('/sustainability/thoughts/images/circle_arrow_right_white.svg');
        background-size: 100% 100%;
        position: absolute;
        bottom: 0;
        right: 5.3333333dvw;
        cursor: pointer;
        z-index: 10;
    }
    .sec03-contents-more{
        margin-top: 10.1333333dvw;
        margin-bottom: 0;
    }
    .sec03-contents-more > a{
        font-size: 4.2666666dvw;
        border-radius: 7dvw;
        padding: 4dvw 14.6666666dvw;
        margin-right: 13.8666666dvw;
    }
    .sec03-contents-more > a:after{
        width: 12.7dvw;
        height: 12.7dvw;
        left: 100%;
        top: 0;
    }
}

/* ============ Message ============ */
.sec04{
    position: relative;
}
.sec04-inner{
    width: 95%;
    margin-left: 5%;
    background: linear-gradient(0deg, #fff 0%, #F3F7FD 100%);
    clip-path: polygon(0 50px, 50px 0, 100% 0, 100% 100%, 50px 100%, 0 calc(100% - 50px));
    position: relative;
    padding-left: 19%;
    padding-top: 5dvw;
    padding-bottom: 5dvw;
}
.sec04-image{
    position: absolute;
    z-index: 10;
    left: 75%;
    bottom: 0;
}
.sec04-image > img{
    width: 100%;
}
.sec04-title-eng{
    font-family: 'Absans', sans-serif;
    font-weight: 100;
    font-size: 10rem;
    color: var(--color-blue);
    line-height: 1;
}
.sec04-title-jp{
    width: 32px;
    padding: 0 5px;
    margin-right: 90px;
    position: absolute;
    left: 5%;
}
.sec04-title-jp:after{
    content: '';
    display: block;
    width: 141px;
    height: 1px;
    background: linear-gradient(90deg, var(--color-green) 0%, var(--color-blue) 100%);
    rotate: calc(45deg);
    position: absolute;
    top: 200px;
    right: -90px;
}
.sec04-main{
    width: 62%;
}
.sec04-text{
    font-size: 1.8rem;
    line-height: 2.0;
    margin-top: 20px;
}
.sec04-text-min{
    margin-top: 20px;
    font-size: 1.5rem;
    line-height: 2.0;
}
@media screen and (min-width: 769px) and (max-width: 1300px) {
    .sec04-inner{
        margin-left: auto;
        margin-right: 0;
        padding-left: 18.4615384dvw;
        padding-top: 5dvw;
        padding-bottom: 5dvw;
    }
    .sec04-image{
        width: 17.7692307dvw;
        left: 75%;
    }
    .sec04-title-eng{
        font-size: 7.6923077dvw;
    }
    .sec04-title-jp{
        width: 2.8dvw;
        margin-right: 6.9230769dvw;
        left: 5%;
    }
    .sec04-title-jp:after{
        width: 10.8461538dvw;
        top: 15.3846153dvw;
        right: -6.9230769dvw;
    }
    .sec04-main{
        width: 44.4615384dvw;
    }
    .sec04-text{
        font-size: 1.3846153dvw;
        margin-top: 1.5384615dvw;
    }
    .sec04-text-min{
        margin-top: 1.5384615dvw;
        font-size: 1.1538461dvw;
    }
}
@media screen and (max-width: 768px) {
    .sec04-inner{
        width: 100%;
        margin-left: 0;
        background: #fff;
        padding-left: 5.3333333dvw;
        padding-right: 5.3333333dvw;
        padding-top: 44dvw;
        padding-bottom: 5dvw;
        position: relative;
    }
    .sec04-inner:before{
        content: '';
        display: block;
        width: 100%;
        height: 51.4dvw;
        background: linear-gradient(90deg, #fff 0%, #F3F7FD 100%); ;
        position: absolute;
        top: 0;
        left: 0;
    }
    .sec04-image{
        width: 34.9333333dvw;
        left: auto;
        right: 5.8666666dvw;
        bottom: auto;
        top: -8.5333333dvw;
    }
    .sec04-title-eng{
        font-size: 13.33333dvw;
    }
    .sec04-title-jp{
        width: 4.5dvw;
        padding: 0;
        margin-right: 0;
        top: 13.3333333dvw;
        left: 5%;
    }
    .sec04-title-jp:after{
        width: 23.2dvw;
        rotate: calc(45deg);
        position: absolute;
        top: 22dvw;
        right: -24dvw;
    }
    .sec04-main{
        width: 100%;
    }
    .sec04-text{
        font-size: 4.2666666dvw;
        margin-top: 20px;
    }
    .sec04-text-min{
        margin-top: 5.3333333dvw;
        font-size: 3.7333333dvw;
        text-align:right;
    }
}

/* ============ bottom ============ */
.sec05{
    margin-top: 100px;
    margin-bottom: 100px;
}
.sec05-index{
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    margin-bottom: 80px;
}
.sec05-index-item{
    width: 484px;
}
.sec05-index-item img{
    width: 100%;
}
.sec05-index-text{
    display: inline-block;
    font-size: 1.8rem;
    font-weight: bold;
    padding-right: 70px;
    margin-top: 10px;
    position: relative;
}
.sec05-index-text:after{
    content: '';
    display: block;
    width: 43px;
	height: 8px;
    background-image: url('/xxx/images/index-arrow.svg');
    background-size: 100% 100%;
    position: absolute;
    bottom: 10px;
    right: 0;
}
@media screen and (max-width: 768px) {
    .sec05{
        padding: 0;
        width: 89.3333333dvw;
        margin: 13.3333333dvw auto 21.3333333dvw;
    }
    .sec05-index{
        display: block;
        margin-bottom: 10.6666666dvw;
    }
    .sec05-index-item{
        width: 100%;
        margin: 5.3333333dvw auto;
    }
    .sec05-index-text{
        font-size: 4.2666666dvw;
        padding-right: 12.8dvw;
        margin-top: 2.6666666dvw;
    }
    .sec05-index-text:after{
        width: 7.6586666dvw;
        height: 1.2933333dvw;
        bottom: 2.6666666dvw;
        right: 0;
    }
}

/* 1. 外部ツールのボタン全体の幅を固定する */
.uniweb-language-switch-button {
    width: auto !important;
    min-width: 120px; /* 必要に応じて調整 */
    display: flex !important;
    align-items: center !important;
    padding: 8px 15px !important;
}

/* 2. 画像（国旗）とSVG（地球儀）のサイズを厳密に指定 */
.uniweb-language-switch img,
.uniweb-language-switch svg {
    width: 20px !important;   /* アイコンとしての適切なサイズ */
    height: auto !important;
    min-width: 20px !important;
    flex-shrink: 0 !important; /* 潰れないように固定 */
    margin: 0 5px !important;
}

/* 3. テキストが縮まないようにする */
.uniweb-language-switch-text {
    font-size: 1.4rem !important;
    white-space: nowrap !important;
    margin-left: 5px !important;
}