@charset "utf-8";

#container {
    padding-top: 0;
}

/*-----------------------------------------------
    index
-----------------------------------------------*/
#loader {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: grid;
    place-items: center;
    overflow: hidden;
}

.loader__panel {
    position: absolute;
    left: 0;
    width: 100%;
    height: 50%;
    background: #000;
    transition: transform 1s ease, opacity 1s ease;
    z-index: 2;
}

.loader__panel.top {
    top: 0;
    transform: translateY(0);
}

.loader__panel.bottom {
    bottom: 0;
    transform: translateY(0);
}

#loader.is-hide .loader__panel.top {
    transform: translateY(-100%);
    opacity: 0;
}

#loader.is-hide .loader__panel.bottom {
    transform: translateY(100%);
    opacity: 0;
}

.loader__bar {
    width: 100%;
    height: 2px;
    background: #929090;
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 3;
}

.loader__fill {
    height: 100%;
    width: 0%;
    background: var(--Colorwhite);
    transition: width 0.03s linear;
}

.loader__percent {
    font-size: var(--pcFontSize14);
    font-weight: bold;
    position: absolute;
    top: calc(50% - 4rem);
    left: calc(50% - 5rem);
    color: var(--Colorwhite);
    z-index: 3;
    display: block;
    width: 10rem;
    text-align: center;
}

.loader__content {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    transition: transform 0.4s ease, opacity 0.4s ease;
    width: 100%;
}

#loader.is-hide .loader__content {
    transform: translateY(50%);
    opacity: 0;
}


@keyframes bar {
    to {
        transform: translateX(250%);
    }
}

.bgGradient {
    position: relative;
    overflow: hidden;
    border-radius: 10rem;
    padding-top: 7rem;
    padding-bottom: 20rem;
    border-radius: 0 0 10rem 10rem;
}

.bgGradient+.bgGradient {
    margin-top: 90rem;
    padding-top: 19.4rem;
    border-radius: 10rem 10rem 0 0;
    padding-bottom: 0;
}

.bgGradient::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100%;
    background-image: url(../img/common/bgBoby.png);
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
    z-index: -1;
    pointer-events: none;
}

@media only screen and (max-width:1215px) {
    .bgGradient {
        position: relative;
        overflow: hidden;
        padding-top: 7rem;
        padding-bottom: 10rem;
        border-radius: 0 0 4.5rem 4.5rem;
    }

    .bgGradient::before {
        background-image: linear-gradient(to bottom right, #fffdff 15%, #d8e5f7 100%);
    }

    .bgGradient+.bgGradient {
        margin-top: 61.6rem;
        padding-top: 10rem;
        border-radius: 4.5rem 4.5rem 0 0;
    }
}

@media only screen and (max-width:370px) {
    .bgGradient+.bgGradient {
        padding-top: 6rem;
    }
}

/*-----------------------------------------------
    secHero
-----------------------------------------------*/
/* フェードイン共通 */
@keyframes fadeInUp {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.secHero {
    padding: 15rem 0 0;
    position: relative;
    height: calc(100vh - 15rem);
    max-height: 100rem;
}

.secHero .titTicker {
    font-size: 150px;
    color: var(--Colorwhite);
    position: absolute;
    top: 40px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    white-space: nowrap;
    text-shadow: 0 0 6px rgba(0, 0, 0, 0.02), 0 0 12px rgba(0, 0, 0, 0.02), 0 0 24px rgba(0, 0, 0, 0.02), 0 0 40px rgba(0, 0, 0, 0.02);
    letter-spacing: -0.6rem;
    opacity: 0;
    transition: opacity 0.8s ease, transform 0.8s ease;
}

.secHero .titTicker.show {
    opacity: 1;
    transform: translate(-50%, 0);
}

.secHero .tickerWrap {
    overflow: hidden;
    width: 100%;
    animation: fadeInUp 0.6s ease-out 0s forwards;
    opacity: 0;
    transition: opacity 1.2s ease;
}

.secHero .tickerWrap.show {
    opacity: 1;
}

.secHero .ticker {
    display: flex;
    width: max-content;
    animation: tickerMove 30s linear infinite;
}

.secHero .tickerItem {
    margin: 0 1rem;
    width: 87rem;
}

.secHero .tickerItem .imgCover {
    height: 0;
    padding-top: calc((820 / 870) * 100%);
}

@keyframes tickerMove {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

.copyTextWrapper {
    opacity: 0;
    position: absolute;
    bottom: 0;
    right: -8.8rem;
    width: 1390px;
    text-align: right;
}

/* 発火用クラス */
.copyTextWrapper.animate {
    animation: fadeInUp 0.6s ease-out 0.6s forwards;
}

.copyLine {
    font-size: var(--pcFontSize130);
    position: relative;
    white-space: nowrap;
    opacity: 0;
    display: inline-block;
    transform: skewX(-10deg);
    z-index: 2;
    letter-spacing: -2rem;
}

.copyLine .markWhite:before {
    content: '';
    position: absolute;
    top: 6.5rem;
    left: -3rem;
    width: 100%;
    height: 10rem;
    background: #fff;
    transform: skewX(10deg);
    z-index: -1;
    transform-origin: left center;
}

.copyLine .markWhite {
    position: relative;
    z-index: 2;
}

.copyTextWrapper.animate .firstLine {
    transform: rotate(-5deg) skewX(-10deg);
    animation: fadeSlideRight 0.6s ease-out 0.6s forwards;
}

.copyTextWrapper.animate .secondLine {
    transform: rotate(-5deg) skewX(-10deg);
    animation: fadeSlideLeft 0.6s ease-out 0.7s forwards;
}


/* 左→右＋フェードイン＋回転保持 */
@keyframes fadeSlideRight {
    from {
        transform: translateX(-50px) rotate(-5deg) skewX(-10deg);
        opacity: 0;
    }

    to {
        transform: translateX(0) rotate(-5deg) skewX(-10deg);
        opacity: 1;
    }
}

/* 左→右＋フェードイン＋回転保持 */
@keyframes fadeSlideLeft {
    from {
        transform: translateX(50px) rotate(-5deg) skewX(-10deg);
        opacity: 0;
    }

    to {
        transform: translateX(0) rotate(-5deg) skewX(-10deg);
        opacity: 1;
    }
}

@media only screen and (max-width:1215px) {
    .secHero .titTicker {
        font-size: var(--pcFontSize54);
        position: absolute;
        top: 0px;
        left: 5.13%;
        transform: unset;
        letter-spacing: 0;
        line-height: var(--spLineHeight54_60);
    }

    .secHero {
        padding: 11rem 0 0;
        height: auto;
    }

    .secHero .tickerWrap {
        height: 320px;
    }

    .secHero .ticker {
        height: 100%;
    }

    .secHero .ticker img {
        height: 100%;
        width: auto;
    }

    .copyLine {
        font-size: var(--spFontSize42);
        letter-spacing: -0.6rem;
    }

    .copyTextWrapper {
        opacity: 0;
        position: absolute;
        bottom: -26px;
        right: -9px;
        width: 36.3rem;
    }

    .copyLine .markWhite:before {
        top: 2rem;
        left: 0rem;
        width: 97%;
        height: 3rem;
    }

    .secHero .tickerItem {
        width: 34rem;
    }
    .secHero .titTicker.show {
        opacity: 1;
        transform: unset;
    }
}

@media only screen and (max-width:370px) {
    .copyLine {
        font-size: var(--spFontSize36);
    }
}

@media only screen and (max-width:1215px) {
    .secSpBtn {
        margin: 7rem auto 13.5rem;
        position: relative;
    }

    .secSpBtn:before {
        content: '';
        position: absolute;
        height: 10rem;
        width: 0.1rem;
        background: var(--textColor);
        bottom: -12.7rem;
        left: 50%;
    }

    .secSpBtn::after {
        content: '';
        position: absolute;
        height: 0.9rem;
        width: 0.9rem;
        background: linear-gradient(45deg, rgb(45, 120, 232) 0%, rgb(61, 213, 131) 99%);
        bottom: -4rem;
        border-radius: 50%;
        left: calc(50% - 0.4rem);
        animation: floatDot 3s ease-in-out infinite;
    }

    @keyframes floatDot {

        0%,
        100% {
            transform: translate(0, -0.9rem);
        }

        50% {
            transform: translate(0, 9.1rem);
        }
    }

    .secSpBtn .linkList {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 1rem;
    }

    .secSpBtn .linkList .linkItem {
        width: calc((100% - 1rem) / 2);
    }

    .secSpBtn .linkInner {
        position: relative;
        height: 5.5rem;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        text-decoration: none;
        font-weight: bold;
        font-size: var(--spFontSize14);
        color: #fff;
        background: var(--textColor);
        border-radius: 2.8rem;
    }

    .secSpBtn .linkItem:nth-child(2) .linkInner {
        background: linear-gradient(45deg, rgb(45, 120, 232) 0%, rgb(61, 213, 131) 99%);
    }

    .secSpBtn .linkInner .itemInner {
        display: flex;
        align-items: center;
        gap: 1.3rem;
    }

    .secSpBtn .linkItem .iconHearder {
        width: 1.8rem;
        height: 2.1rem;
    }

    .secSpBtn .linkItem:nth-child(2) .iconHearder {
        width: 1.8rem;
        height: 1.6rem;
    }
}

/*-----------------------------------------------
    secLight
-----------------------------------------------*/
.secLight {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 43.5rem 0 0;
    height: 122.8rem;
    position: relative;
}

.secLight .bgWrapper {
    margin: 0 auto;
    width: 99.2rem;
}

.secLight::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 141.3rem;
    top: 0;
    left: 0;
    z-index: -1;
    opacity: 0;
    filter: blur(20px);
    transform: scale(1.05);
    transition: opacity 1.2s ease, filter 1.2s ease, transform 1.2s ease;
}

.secLight.lazyloaded::before {
    background: url(../img/index/bgText.png) center top / cover no-repeat;
}

.secLight.bgVisible::before {
    opacity: 1;
    filter: blur(0);
    transform: scale(1);
}

.secLight .txtAnime {
    font-size: var(--pcFontSize32);
    line-height: var(--pcLineHeight32_60);
    display: block;
    visibility: hidden;
    width: 100%;
    margin-bottom: 5.5rem;
}

.secLight .boxTxt {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
}

.cursor {
    display: inline-block;
    width: 2px;
    height: 1em;
    margin-left: 2px;
    background-color: #111;
    animation: blinkCursor 1s step-start infinite;
    vertical-align: bottom;
    position: relative;
    top: -1.2rem;
}

@keyframes blinkCursor {
    50% {
        opacity: 0;
    }
}

@media only screen and (max-width:1215px) {
    .secLight {
        margin: 0 auto 0;
        padding: 8.1rem 0 6rem;
        height: auto;
    }

    .secLight .bgWrapper {
        margin: 0 auto;
        width: calc((350 / 390) * 100%);
    }

    .secLight .txtAnime {
        font-size: var(--spFontSize18);
        line-height: var(--spLineHeight18_36);
        margin-bottom: 3rem;
    }

    .secLight .txtAnime.txt02 {
        margin-bottom: 2rem;
        white-space: nowrap;
    }

    .secLight::before {
        content: '';
        position: absolute;
        width: 100%;
        height: 68.1rem;
    }
    .secLight.lazyloaded::before {
        display: none;
    }
}

/*-----------------------------------------------
    secCpBnr
-----------------------------------------------*/
.secCpBnr .imgBnr{
    display: block;
    border-radius: 5rem ;
    overflow: hidden;
}
.secCpBnr .imgInner{
    display: block;
    height: 0;
    padding-top: calc((450 / 1300) * 100%);
}
@media only screen and (max-width:1215px) {
    .secCpBnr .imgBnr {
        border-radius: 2.5rem;
    }
    .secCpBnr .imgInner {
        padding-top: calc((400 / 350) * 100%);
    }
}
/*-----------------------------------------------
    secTopMessage
-----------------------------------------------*/
.secTopMessage {
    margin-top: 18.5rem;
    text-align: center;
}
.secTopMessage .sectionSubTitle {
    padding-left: 0;
    margin-left: 0;
}
.secTopMessage .imgInner {
    margin-top: 4rem;
}
.secTopMessage .txtName {
    font-size: var(--pcFontSize18);
    letter-spacing: var(--pcLetterSpacing18_50);
    width: 61rem;
    margin: 3rem auto 0;
    text-align: left;
    font-weight: bold;
}
@media only screen and (max-width:1215px) {
    .secTopMessage {
        margin-top: 8.5rem;
        text-align: center;
    }
    .secTopMessage .sectionTitle {
        font-size: var(--spFontSize42);
    }
    .secTopMessage .sectionSubTitle {
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_28);
        letter-spacing: var(--spLetterSpacing14_30);
        padding-left: 0;
        margin-left: 0;
        margin-top: 1rem;
    }
    .secTopMessage .imgInner {
        width: 27.1rem;
        margin: 2.3rem auto 0;
    }
    .secTopMessage .txtName {
        font-size: var(--spFontSize12);
        letter-spacing: 0;
        line-height: var(--spLineHeight12_28);
        width: auto;
        text-align: center;
        margin: 2rem auto 0;
    }
}
/*-----------------------------------------------
    secYoutube
-----------------------------------------------*/
.secYoutube {
    margin-top: 9rem;
    text-align: center;
}
@media only screen and (max-width:1215px) {
    .secYoutube {
        margin-top: 4rem;
        width: calc((350 / 390) * 100%);
        height: 0;
        padding-top: 56.12%;
        position: relative;
    }
    .secYoutube iframe {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
    }
}
/*-----------------------------------------------
    secPhilosophy
-----------------------------------------------*/
.secPhilosophy {
    margin-top: 19rem;
}
.secPhilosophy.lazyloaded {
    background: url(../img/index/bgPhilosophy.jpg)center bottom / cover no-repeat;
    border-radius: 10rem;
    overflow: hidden;
    padding: 20rem 0 0;
    height: 219rem;
}

.secPhilosophy .philosophyContainer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 5rem;
}

.secPhilosophy .philosophyText {
    color: var(--Colorwhite);
}

.secPhilosophy .sectionDescription {
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_30);
    margin-top: 3.8rem;
    margin-left: 3.6rem;
}

.secPhilosophy .sectionDescription .txtSpan:nth-child(n+2) {
    margin-top: 3rem;
    display: inline-block;
}

.secPhilosophy .philosophyImage {
    border-radius: 5rem;
    overflow: hidden;
}

.secPhilosophy .viewMoreButton {
    margin-top: 4rem;
    margin-left: 3.6rem;
}

.circleMap {
    position: relative;
    width: 130rem;
    height: 130rem;
    margin: 0 auto 0;
}

.circleMap:after {
    content: "";
    position: absolute;
    top: -6.5rem;
    left: 2rem;
    width: 100%;
    height: 100%;
    animation: rotateBG 60s linear infinite;
    z-index: 0;
}
.circleMap.lazyloaded:after {
    background: url(../img/index/bgCircle.png) center / cover no-repeat;
}

.circleMap>* {
    position: relative;
    z-index: 1;
}

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

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

.circleMap::before {
    content: '';
    position: absolute;
    width: 103.9rem;
    height: 59.1rem;
    top: 25%;
    left: 14%;
}
.circleMap.lazyloaded::before {
    background: url(../img/index/bgCircleLine.png) center / cover no-repeat;
}

.circleMap .centerDot {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 8px;
    background: white;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
}

.circleMap .node {
    position: absolute;
    width: 28rem;
    height: 28rem;
    background: white;
    border-radius: 50%;
    text-align: center;
    padding: 20px 10px;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    transition: all 0.6s ease;
}

.circleMap .node:hover {
    transform: scale(1.14287);
    opacity: 1;
}

.circleMap .node .label {
    font-size: var(--pcFontSize22);
}

.circleMap .node .text {
    font-size: var(--pcFontSize26);
    margin-top: 1rem;
    line-height: var(--pcLineHeight26_40);
}

.node.mission {
    top: 8%;
    left: 32%;
}

.circleMap.lazyloaded .node.mission:hover {
    background: url(../img/index/bgMission.png) center/cover no-repeat;
    color: var(--Colorwhite);
}

.node.future {
    top: 35%;
    left: 14%;
}

.circleMap.lazyloaded .node.future:hover {
    background: url(../img/index/bgFuture.png) center/cover no-repeat;
    color: var(--Colorwhite);
}

.node.vision {
    top: 18%;
    right: 16%;
}

.circleMap.lazyloaded .node.vision:hover {
    background: url(../img/index/bgVision.png) center/cover no-repeat;
    color: var(--Colorwhite);
}

.node.base {
    bottom: 30%;
    right: 15%;
}

.circleMap.lazyloaded .node.base:hover {
    background: url(../img/index/bgBase.png) center/cover no-repeat;
    color: var(--Colorwhite);
}

.node.credo {
    bottom: 19%;
    left: 33%;
}

.circleMap.lazyloaded .node.credo:hover {
    background: url(../img/index/bgCredo.png) center/cover no-repeat;
    color: var(--Colorwhite);
}


@media only screen and (max-width:1215px) {
    .secPhilosophy {
        margin-top: 10rem;
    }
    .secPhilosophy .viewMoreButton {
        margin: 3.6rem auto 0;
    }

    .secPhilosophy .philosophyText {
        margin-top: -2.6rem;
        z-index: 2;
    }

    .secPhilosophy.lazyloaded {
        background: url(../img/index/bgPhilosophy_sp.jpg) center top / cover no-repeat;
        border-radius: 4.5rem;
        padding: 8rem 0 0;
        height: auto;
    }

    .secPhilosophy .philosophyContainer {
        justify-content: center;
        align-items: center;
        gap: 0;
        flex-direction: column-reverse;
    }

    .secPhilosophy .philosophyImage {
        border-radius: 2.5rem;
        width: 29rem;
    }

    .secPhilosophy .sectionDescription {
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_26);
        margin-top: 0.6rem;
        margin-left: 0;
    }

    .secPhilosophy .sectionDescription .txtSpan:nth-child(n+2) {
        margin-top: 0;
    }

    .circleMap {
        position: relative;
        width: calc((350 / 390) * 100%);
        margin: 6rem auto 0;
        height: 68rem;
    }

    .circleMap::before {
        content: '';
        position: absolute;
        width: 50.8rem;
        height: 29rem;
        top: 26%;
        left: calc(50% - 207px);
    }

    .circleMap:after {
        top: 7.6rem;
        left: calc(50% - 25.2rem);
        width: 56.7rem;
        height: 45.8rem;
        animation: rotateBG 60s linear infinite;
        z-index: 0;
    }
    .circleMap.lazyloaded::before {
        background: url(../img/index/bgCircleLine.png) center / cover no-repeat;
    }

    .circleMap.lazyloaded:after {
        background: url(../img/index/bgCircle_sp.png) center / cover no-repeat;
    }

    .circleMap .node {
        width: 17.5rem;
        height: 17.5rem;
        padding: 20px 10px;
        box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
        color: var(--Colorwhite);
    }

    .circleMap .node:hover {
        width: 17.5rem;
        height: 17.5rem;
    }

    .node.mission {
        top: 0;
        left: 0;
    }

    .circleMap.lazyloaded .node.mission {
        background: url(../img/index/bgMission.png) center/cover no-repeat;
    }

    .node.future {
        top: 42.8rem;
        left: 0;
    }

    .circleMap.lazyloaded .node.future {
        background: url(../img/index/bgFuture.png) center/cover no-repeat;
    }

    .node.vision {
        top: 10.7rem;
        right: 0;
    }

    .circleMap.lazyloaded .node.vision {
        background: url(../img/index/bgVision.png) center/cover no-repeat;
    }

    .node.base {
        bottom: unset;
        top: 21.5rem;
        right: unset;
        left: 0;
    }

    .circleMap.lazyloaded .node.base {
        background: url(../img/index/bgBase.png) center/cover no-repeat;
    }

    .node.credo {
        bottom: 0;
        top: 32.2rem;
        left: unset;
        right: 0;
    }

    .circleMap.lazyloaded .node.credo {
        background: url(../img/index/bgCredo.png) center/cover no-repeat;
    }

    .circleMap .node .label {
        font-size: var(--spFontSize12);
    }

    .circleMap .node .text {
        font-size: var(--spFontSize14);
        margin-top: 0.5rem;
        line-height: var(--spLineHeight14_21);
    }
}

@media only screen and (max-width:370px) {
    .circleMap .node {
        width: 15.5rem;
        height: 15.5rem;
    }
}

/*-----------------------------------------------
    secAbout
-----------------------------------------------*/
.secAbout {
    text-align: center;
    margin: 26.8rem auto 0;
}

.secAbout .sectionTitle {
    position: relative;
}

.secAbout .sectionTitle::before {
    content: '';
    position: absolute;
    width: 312px;
    height: 94px;
    top: -70px;
    left: calc(50% - 453px);
}

.secAbout.lazyloaded .sectionTitle::before {
    background: url(../img/index/txtWhats.png) center top / cover no-repeat;
}

.secAbout .sectionSubTitle::before {
    display: none;
}

.secAbout .aboutKawamuraCards {
    display: flex;
    justify-content: center;
    margin-top: 6.7rem;
}

.secAbout .aboutCard {
    width: calc((100% - 5rem) / 3);
    margin-right: 2.5rem;
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

.secAbout .aboutCard.visible {
    opacity: 1;
    transform: translateY(0);
}

.secAbout .aboutCard:last-child {
    margin-right: 0;
}

.secAbout .aboutCardImage {
    border-radius: 5rem;
    box-shadow: 0px 15px 0px 0px rgba(0, 0, 0, 0.05);
    overflow: hidden;
}

.secAbout .aboutCardContent {
    padding: 0 5rem;
    margin: 6rem auto 0;
}

.secAbout .aboutCardTitle {
    font-size: var(--pcFontSize48);
}

.secAbout .aboutCardText {
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_30);
    letter-spacing: var(--pcLetterSpacing16_50);
    text-align: left;
    margin-top: 4.2rem;
    min-height: 12rem;
}

.secAbout .viewMoreButton {
    margin: 4rem auto 0;
    box-shadow: 0 0px 2px rgba(0, 0, 0, 0.1);
}

@media only screen and (max-width:1875px) {
    .secAbout .aboutCardText {
        min-height: 15rem;
    }
}

@media only screen and (max-width:1700px) {
    .secAbout .aboutCardText {
        min-height: 18rem;
    }
}

@media only screen and (max-width:1215px) {
    .secAbout {
        margin: 12.5rem auto 0;
    }
    .secAbout .sectionTitle {
        font-size: var(--spFontSize42);
        margin-bottom: 2rem;
    }
    .secAbout .sectionTitle::before {
        width: 156px;
        height: 47px;
        top: -5rem;
        left: calc(50% - 15rem);
    }
    .secAbout .sectionSubTitle {
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_28);
    }
    .secAbout .aboutKawamuraCards {
        display: block;
        margin-top: 5rem;
    }
    .secAbout .aboutCard {
        width: 100%;
        margin-right: 0;
        opacity: 1;
        transform: unset;
        transition: unset;
    }
    .secAbout .aboutCard:nth-child(n+2) {
        margin-top: 6rem;
    }
    .secAbout .aboutCardImage {
        border-radius: 2.5rem;
        box-shadow: 0px 10px 0px 0px rgba(0, 0, 0, 0.05);
    }
    .secAbout .aboutCardTitle {
        font-size: var(--spFontSize30);
    }
    .secAbout .aboutCardContent {
        padding: 0;
        margin: 3.8rem auto 0;
    }
    .secAbout .aboutCardText {
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_26);
        letter-spacing: var(--spLetterSpacing14_30);
        text-align: left;
        margin-top: 2rem;
        min-height: 12rem;
    }
    .secAbout .viewMoreButton {
        margin: 3rem auto 0;
    }
}

/*-----------------------------------------------
    secInterview
-----------------------------------------------*/
.secInterview {
    margin-top: 20rem;
}
.secInterview .interviewContainer {
    display: flex;
    align-items: center;
    gap: 19rem;
}
.secInterview .sectionSubTitle:before {
    background-color: var(--textColor);
}
.secInterview .interviewDescription {
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_30);
    margin-top: 3.5rem;
    margin-left: 3.6rem;
}
.secInterview .interviewImages .swiper-slide {
    border-radius: 5rem;
    overflow: hidden;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.02);
    backface-visibility: hidden;
    transform-style: preserve-3d;
    will-change: transform;
}
.secInterview .interviewImages,
.secInterview .interviewImages .swiper,
.secInterview .interviewImages .swiper-wrapper {
    overflow: visible;
    will-change: transform;
}
.secInterview .swiper {
    overflow: visible;
}
.secInterview .swiper-slide-next {
    z-index: 0;
}
.secInterview .swiper-slide-active {
    z-index: 10;
}
.secInterview .viewMoreButton {
    margin-top: 4rem;
    margin-left: 3.6rem;
    box-shadow: 0 0px 2px rgba(0, 0, 0, 0.1);
}
.secInterview .interviewImages {
    width: 590px;
}
.secInterview .interviewImages .img {
    height: 75rem;
}
#sliderInterview .swiper-slide {
    backface-visibility: hidden;
    transform-style: preserve-3d;
    transform: translateZ(0);
    will-change: transform, opacity;
}
#sliderInterview .imgCover img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    will-change: transform, opacity;
    contain: paint;
}

@media only screen and (max-width:1215px) {
    .secInterview {
        margin-top: 12rem;
    }
    .secInterview .interviewImages .img {
        height: 0;
        padding-top: 127.12%;
    }
    .secInterview .interviewContainer {
        gap: 6rem;
        flex-direction: column-reverse;
    }
    .secInterview .interviewImages .swiper-slide {
        border-radius: 2.5rem;
        opacity: 0;
        pointer-events: none;
        transition: opacity .3s ease, transform .3s ease;
    }
    .secInterview .interviewImages {
        width: 29rem;
        max-width: 0 a;
    }
    .secInterview .interviewDescription {
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_26);
        margin-top: 2.5rem;
        margin-left: 0;
    }
    #sliderInterview .swiper-slide-active,
    #sliderInterview .swiper-slide-prev,
    #sliderInterview .swiper-slide-next {
        opacity: 1;
        pointer-events: auto;
    }
    #sliderInterview .swiper-slide-prev,
    #sliderInterview .swiper-slide-next {
        transform: scale(.98);
    }
}

/*-----------------------------------------------
    boxMovie
-----------------------------------------------*/
.boxMovie {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1000;
    pointer-events: none;
}
.boxMovie.is-fixed {
    position: fixed;
    z-index: -998;
}
.boxMovie .movie {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.boxMovie .movie video {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    font-family: 'object-fit: cover;';
}
.boxMovie .txtMovie {
    position: absolute;
    font-weight: bold;
    font-size: var(--pcFontSize80);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: var(--Colorwhite);
    z-index: 99;
    white-space: nowrap;
}
@media screen and (max-width: 1215px) {
    .boxMovie .txtMovie {
        font-size: var(--spFontSize26);
    }
}

/*-----------------------------------------------
    secRecruit
-----------------------------------------------*/
.secRecruit {
    padding-bottom: 23rem;
}
.secRecruit .recruitText {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}
.secRecruit .sectionSubTitle:before {
    background-color: var(--textColor);
}
.secRecruit .viewMoreButton {
    box-shadow: 0 0px 2px rgba(0, 0, 0, 0.1);
    position: relative;
    top: -1.5rem;
}
.secRecruit .viewMoreButton.spNone {
    display: flex !important;
}
.secRecruit .viewMoreButton.spOnly {
    display: none !important;
}
.secRecruit .boxRecruit {
    width: calc(100% - 5rem);
    max-width: 175rem;
    margin: 7.5rem 0 0 auto;
}
.secRecruit .swiper {
    overflow: visible;
}
.secRecruit .swiper-slide {
    overflow: hidden;
}
.secRecruit .recruitImage {
    border-radius: 6rem;
}
.secRecruit .disabled .recruitCard {
    width: 52rem;
}
.secRecruit .recruitImage img {
    border-radius: 5rem;
    overflow: hidden;
    width: 100%;
    height: auto;
    display: block;
    box-shadow: 0px 15px 0px 0px rgba(0, 0, 0, 0.05);
}
.secRecruit .recruitContent {
    margin-top: 5.6rem;
}
.secRecruit .recruitTags {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.secRecruit .tag {
    display: inline-block;
    margin: 0 0.4rem 0 0;
    border-radius: 0.5rem;
    padding: 1.1rem 1.2rem;
    background: var(--Colorwhite);
    color: var(--ColorTag);
    font-size: var(--pcFontSize12);
}
.secRecruit .swiper-button-prev,
.secRecruit .swiper-button-next {
    background-color: var(--Colorwhite);
    border-radius: 50%;
    width: 7rem;
    height: 7rem;
    box-shadow: 0 0px 2px rgba(0, 0, 0, 0.1);
    bottom: -2.8rem;
    right: 0;
    top: unset;
}
.secRecruit .swiper-button-prev {
    left: unset;
    right: 9rem;
}
.secRecruit .recruitPosition {
    font-size: var(--pcFontSize26);
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--textColor);
    margin-bottom: 2rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-block;
    max-width: 100%;
}
.secRecruit .recruitDescription {
    margin-bottom: 2.3rem;
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_30);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
    max-height: 12rem;
}
.secRecruit .swiper-wrapper {
    padding-bottom: 10rem;
}
.secRecruit.lazyloaded .swiper-button-next:after,
.secRecruit.lazyloaded .swiper-button-prev:after {
    background: url(../img/common/iconMenuArrow.png)center center / contain no-repeat;
    width: 2rem;
}
.secRecruit .swiper-button-prev:after {
    transform: rotate(180deg);
}
.secRecruit .boxScroll {
    position: relative;
}
.secRecruit .swiper-scrollbar {
    width: calc(100% - 20rem) !important;
    position: static !important;
}
@media screen and (max-width: 1215px) {
    .secRecruit .recruitText {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        flex-direction: column;
    }
    .secRecruit .recruitImage img {
        border-radius: 2.5rem;
        box-shadow: 0px 10px 0px 0px rgba(0, 0, 0, 0.05);
    }
    #recruitSlider .swiper-wrapper {
        padding-right: 2rem;
    }
    .secRecruit .boxRecruit {
        width: calc(100% - 2rem);
        max-width: unset;
        margin: 2rem 0 0 auto;
    }
    #recruitSlider .swiper-slide {
        width: calc(100% - 90px);
        flex-shrink: 0;
    }
    .secRecruit .recruitPosition {
        font-size: var(--spFontSize18);
        line-height: var(--spLineHeight18_26);
        padding-bottom: 0;
        border-bottom: none;
        margin-bottom: 2rem;
    }
    .secRecruit .recruitImage {
        border-radius: 2.5rem;
    }
    .secRecruit .recruitDescription {
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_26);
        margin-bottom: 1.2rem;
        -webkit-line-clamp: 3;
        max-height: 7.8rem;
    }
    .secRecruit .tag {
        margin: 0 0.3rem 0 0;
        border-radius: 0.3rem;
        padding: 0.9rem 0.8rem;
        font-size: var(--spFontSize10);
    }
    .secRecruit .viewMoreButton.spNone {
        display: none !important;
    }
    .secRecruit .viewMoreButton.spOnly {
        display: flex !important;
        margin: 5rem auto 0;
    }
    .secRecruit .swiper-button-prev,
    .secRecruit .swiper-button-next {
        display: none;
    }
    .secRecruit .swiper-scrollbar {
        width: calc((350 / 390) * 100%) !important;
        position: static !important;
    }
    .secRecruit .swiper-wrapper {
        padding-bottom: 2rem;
    }
    .secRecruit {
        padding-bottom: 6.4rem;
    }
}
@media only screen and (max-width:1215px) {
    #footer {
        padding: 20rem 0 10rem;
    }
}