@charset "utf-8";

/*==================================================
---COMMON
====================================================*/
body {
    line-height: 28px;
    background: #fff;
    overflow: auto;
    position: relative;
    z-index: -2;
    font-feature-settings: "palt";
    letter-spacing: 0.08em;
    color: #304148;
    word-wrap: break-word;
    font-weight: 500;
    font-style: normal;
    min-width: 1164px;
    font-family: YakuHanJPs_Noto, "Noto Sans JP", sans-serif;
    font-style: normal;
    font-optical-sizing: auto;
}

.bodyWrap {
    animation-name: opacity;
    animation-duration: 1.8s;
}

.enFont {
    font-family: "Manrope", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    letter-spacing: 0;
}

body a {
    color: #3e3a39;
    display: block;
}

img {
    -webkit-backface-visibility: hidden;
    vertical-align: bottom;
    image-rendering: -webkit-optimize-contrast;
}


@keyframes opacity {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.spheader {
    display: none;
}



html.lenis,
html.lenis body {
    height: auto;
}

.lenis.lenis-smooth {
    scroll-behavior: auto !important;
}

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







.page-transition {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    display: flex;
    z-index: 9999;
}

.block {
    flex: 1;
    margin: 0 -2px;
    transform-origin: left top;
}

/* ページ読み込み時：下から上にスライドイン */
.page-transition.enter .block:nth-child(1) {
    animation: slideUpReverse .75s cubic-bezier(.50, .14, 0.2, 1) forwards;
    background: #085DAC;
}

.page-transition.enter .block:nth-child(2) {
    animation: slideUpReverse .75s cubic-bezier(.50, .14, 0.2, 1) 0.1s forwards;
    background: #085DAC;
}

.page-transition.enter .block:nth-child(3) {
    background: #085DAC;
    animation: slideUpReverse .75s cubic-bezier(.50, .14, 0.2, 1) 0.2s forwards;
}

/* ページ遷移時：上から下に閉じる */
.page-transition.exit .block:nth-child(1) {
    animation: slideDown .75s cubic-bezier(.50, .14, 0.2, 1) forwards;
}

.page-transition.exit .block:nth-child(2) {
    animation: slideDown .75s cubic-bezier(.50, .14, 0.2, 1) 0.1s forwards;
}

.page-transition.exit .block:nth-child(3) {
    animation: slideDown .75s cubic-bezier(.50, .14, 0.2, 1) 0.2s forwards;
}

.page-transition.exit .block {
    transform: scaleY(1);
    /* 追加 */
}

/* 上から下に閉じる */
@keyframes slideDown {
    0% {
        transform: translateY(-100%);
    }

    100% {
        transform: translateY(0);
    }
}

/* 下から上に上がる（enter） */
@keyframes slideUpReverse {
    0% {
        transform: translateY(0);
    }

    100% {
        transform: translateY(-100%);
    }
}

/* 下から上に上がる */
@keyframes slideUpReverse {
    0% {
        transform: scaleY(1);

    }

    100% {
        transform: scaleY(0);

    }
}



.site-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 56px;
    position: fixed;
    padding: 0 4%;
    box-sizing: border-box;
    width: 100%;
    top: 55px;
    z-index: 6;
    transition: .4s cubic-bezier(.36, .14, 0, 1);

}


.site-header.hidden {
    opacity: 0 !important;
    transform: translateY(-40%);
    pointer-events: none;
}




.pcHeader .logo a {
    font-size: 16px;
    font-weight: 600;
}

.pcHeader .nav-wrapper {
    display: flex;
    height: 56px;

    column-gap: 10px;
}

.pcHeader .main-nav {
    display: flex;
    align-items: center;
    background-color: #fff;
    padding: 0 32px;
    border-radius: 6px;
}

.pcHeader .main-nav ul {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 28px;
    /* メニュー間の余白 */
}

.pcHeader .main-nav a {
    font-size: 14px;
    color: #333;
    font-weight: 500;
}

.cta-button {
    display: flex;
    align-items: center;
    background-color: #085EAC;
    padding: 0 4px 0 19px;
    color: #ffffff;
    font-weight: 600;
    font-size: 13px;
    width: 176px;
    border: solid 2px #085EAC;
    border-radius: 6px;
    position: relative;
    box-sizing: border-box;
    transition: 1s cubic-bezier(0.25, 0.14, 0, 1);
}


.cta-button:hover {
    background: #fff;
    color: #304148;
}

.cta-button .arrowLink {
    content: "";
    position: absolute;
    top: 4px;
    right: 4px;
    width: 44px;
    height: 44px;
    border-radius: 3px;
    background: #fff;
    overflow: hidden;
    transition: .65s;
}

.cta-button:hover .arrowLink {
    background: #085EAC;
}


.cta-button .arrowLink::before,
.cta-button .arrowLink::after {
    content: "";
    position: absolute;
    top: 14px;
    right: 14px;
    width: 16px;
    height: 19px;
    background: url(../img/btnArrow.svg) 0 0 no-repeat;
    background-size: cover;
    z-index: 3;
}

.cta-button .arrowLink::before,
.commonBtn .arrowLink::after {
    content: "";
    position: absolute;
    top: 14px;
    right: 14px;
    width: 16px;
    height: 19px;
    background: url(../img/btnArrow.svg) 0 0 no-repeat;
    background-size: cover;
    z-index: 3;
}

.cta-button .arrowLink::after {
    background: url(../img/btnArroww.svg) 0 0 no-repeat;
}

.cta-button .arrowLink::after {
    transform: translate(-38px, 38px);
}



.cta-button:hover .arrowLink::before {
    animation: befobtn 0.45s cubic-bezier(0.8, 0.14, 0, 1) forwards;
}

.cta-button:hover .arrowLink::after {
    animation: afterbtn 0.45s cubic-bezier(0.8, 0.14, 0, 1) forwards;
}

@keyframes afterbtn {
    0% {
        transform: translate(-38px, 38px);
        /* 左下から */
        opacity: 0;
    }

    40% {
        opacity: .2;
    }

    100% {
        transform: translate(0, 0);
        /* 元の位置へ */
        opacity: 1;
    }
}

@keyframes befobtn {
    0% {
        transform: translateX(0);
        opacity: 1;
    }

    40% {
        opacity: .2;
    }

    100% {
        transform: translate(38px, -38px);
        /* 左下から */
        opacity: 0;
    }
}





.hero-grid-container {
    margin: 0 auto;

    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 16px;
    padding: 0 104px;
}

.hero-grid-container {
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 16px;
    padding: 0 4%;
}

.hero-section {
    display: contents;
}

.hero-content-titleBox .inerSpan {
    display: block;
}

.hero-section .hero-tagline {
    font-size: 24px;
    margin-bottom: 56px;
    display: block;
}



.hero-section .hero-tagline {
    overflow: hidden;
}

.hero-section .hero-tagline span {
    -webkit-transform: translate(0, 100%);
    transform: translate(0, 100%);
    display: block;
}

main.scrollin .hero-section .hero-tagline span {
    animation: titleBtmFade 1.2s cubic-bezier(.36, .14, 0, 1) both 1s;
}



.inerSpan {
    overflow: hidden;
}

.inpText {
    -webkit-transform: translate(0, 100%);
    transform: translate(0, 100%);
    display: block;
}

main.scrollin .hero-section .inpText {
    animation: titleBtmFade 1.2s cubic-bezier(.36, .14, 0, 1) both 1.2s;
}





.hero-wrapper {
    grid-column: 1 / -1;

    display: grid;
    grid-template-columns: subgrid;

    align-items: center;
    margin-top: 274px;
}

.latest-topix {
    margin-bottom: 133px;
}

.hero-content {
    grid-column: 1 / span 7;
}

.hero-tagline {
    font-size: 18px;
    font-weight: 500;
    color: #2c3e50;
    margin: 0 0 24px 0;
}

.hero-title {
    font-size: 100px;
    font-weight: 600;
    line-height: 1.1;
    margin: 0;
    color: #2c3e50;
}

.hero-title .light-text {
    color: #bdc3c7;
    font-weight: 500;
    font-size: 56px;
}

.hero-side-info {
    grid-column: 11 / span 2;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-end;
}


.latest-topix .label {
    font-size: 12px;
    color: #95a5a6;
    margin-bottom: 8px;
}

.latest-topix a {
    font-size: 12px;
    color: #2c3e50;
    text-decoration: underline;
    text-underline-offset: 2px;
    width: 182px;
    letter-spacing: .06em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
}
.scroll-down-indicator {
    position: relative;
    text-align: center;
    display: flex;
    column-gap: 18px;
}

.scroll-down-indicator .label {
    font-size: 12px;
    margin-bottom: 20px;
}

.scroll-line-container {
    position: relative;
    width: 1px;
    height: 100px;
    background-color: #e0e0e0;
    margin: 0 auto;
    overflow: hidden;
}

.scroll-line-container::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 30px;
    background-color: #2c3e50;
    animation: scroll-flow 2.5s ease-in-out infinite;
}

@keyframes scroll-flow {
    0% {
        transform: translateY(-100%);
    }

    100% {
        transform: translateY(100px);
    }
}



.mainSwiper {
    overflow: hidden;
    margin-top: -30px;
    position: relative;
    z-index: -1;
    border-radius: 0 0 16px 16px;
}

.swiper-slide {
    overflow: hidden;
}

.swiper-slide img {
    height: auto;
    width: 100%;
    height: 38vw;
    object-fit: cover;
}







.about-us-section::after {
    content: "";
    position: absolute;
    background-color: #F5F6F7;
    background-size: contain;
    background-repeat: no-repeat;
    right: 0;
    top: -10%;
    bottom: 0;
    border-radius: 0 0 32px 32px;
    left: 0;
    z-index: -2;
}

.about-us-section {

    padding: 120px 104px 144px 104px;
    position: relative;

}

.section-label {
    position: absolute;
    top: 40px;
    right: 4%;
    font-size: 14px;
    color: #555;
    font-weight: 500;
}

.aboutusIner {
    max-width: 1280px;
    margin: 0 auto;
}


.brandTitleBox {
    display: flex;
    flex-direction: column-reverse;
    margin-bottom: 108px;
}

.brandTitleBox span {
    display: block;
}


.about-us-container {
    display: flex;
    gap: 120px;
    margin: 0 auto;
    justify-content: end;
}

.aboutusIner .brand-title {
    font-size: 94px;
    font-weight: 500;
    color: #085DAC;
    margin: 0;
    line-height: 1;
}

.aboutusIner .brand-subtitle {
    font-size: 13px;
    /* color: #333; */
    font-weight: 500;
    margin: 16px 0 0 4px;
}


.about-us-section .image-gallery {
    margin-top: 85px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.about-us-section .image-gallery > div:first-child img {
    transition: 1s cubic-bezier(.36, .14, 0, 1) 0s;
    transform: scale(1.08);
}

.about-us-section .image-gallery > div:first-child {
    transform: translate(0, 24px);
    transition: 1s cubic-bezier(.36, .14, 0, 1) 0s;
}

.about-us-section .image-gallery > div:nth-child(2) img {
    transition: 1s cubic-bezier(.36, .14, 0, 1) .2s;
    transform: scale(1.08);
}

.about-us-section .image-gallery > div:nth-child(2) {
    transform: translate(0, -24px);
    transition: 1s cubic-bezier(.36, .14, 0, 1) .2s;
}






.about-us-section .image-gallery > div:nth-child(3) img {
    transition: 1s cubic-bezier(.36, .14, 0, 1) .4s;
    transform: scale(1.08);
}

.about-us-section .image-gallery > div:nth-child(3) {
    transform: translate(0, 24px);
    transition: 1s cubic-bezier(.36, .14, 0, 1) .4s;
}


.sameFade {
    opacity: 0;
    transform: translate(0, 14px);
    transition: 1s cubic-bezier(0.36, 0.14, 0, 1) 0s;
}

.sameFade.scrollin {
    opacity: 1;
    transform: translate(0);
}


.about-content {
    opacity: 0;
    transform: translate(0, 16px);
}

.about-us-container.scrollin .about-content {
    opacity: 1;
    transform: translate(0, 0);
    transition: 1.2s cubic-bezier(.36, .14, 0, 1) .8s;
}


.aboutusIner .image-gallery > div {
    border-radius: 6px;
    opacity: 0;
}

.about-us-container.scrollin .image-gallery > div:first-child img {
    transform: scale(1);
}

.about-us-container.scrollin .image-gallery > div:nth-child(2) img {
    transform: scale(1);
    transition-delay: .2s;
}

.about-us-container.scrollin .image-gallery > div:nth-child(3) img {
    transform: scale(1);
    transition-delay: .4s;
}

.about-us-container.scrollin .image-gallery > div:first-child {
    transform: translate(0, 0);
    opacity: 1;
}

.about-us-container.scrollin .image-gallery > div:nth-child(1) {
    transform: translate(0, 0);
    opacity: 1;
}

.about-us-container.scrollin .image-gallery > div:nth-child(2) {
    transform: translate(0, 0);
    opacity: 1;
}

.about-us-container.scrollin .image-gallery > div:nth-child(3) {
    transform: translate(0, 0);
    opacity: 1;
}




.about-us-section .image-gallery > div {
    width: 31.7%;
    overflow: hidden;
}

.about-us-section .image-gallery img {
    width: 100%;
    object-fit: cover;
    border-radius: 6px;
    transition: transform 0.3s ease;

}

.about-us-section .image-gallery .middle-image {
    z-index: 2;
    margin-top: -126px;
}

.about-us-section .about-content .philosophy-label {
    display: inline-flex;
    align-items: center;
    font-size: 14px;
    font-weight: 500;
    color: #085DAC;
    margin-bottom: 13px;
}

.about-us-section .about-content .philosophy-label::before {
    content: '';
    width: 8px;
    margin-top: 2px;
    height: 8px;
    background-color: #085DAC;
    margin-right: 10px;
}

.about-us-section .about-content .main-headline {
    font-size: 40px;
    font-weight: 500;
    line-height: 56px;
    letter-spacing: .09em;
    margin: 0 0 32px 0;
}

.about-content .text-body p {
    font-size: 18px;
    line-height: 35px;
    color: #333;
    font-weight: 400;
    margin: 0 0 24px 0;
}

.about-us-section .contact-cta-wrapper {
    border-top: 1px solid #d3d7db;
    padding-top: 11px;
    margin-top: 45px;
}

.about-us-section .contact-cta {
    display: inline-flex;
    align-items: center;
    font-size: 23px;
    font-weight: 500;
    text-decoration: none;
}

.about-us-section .contact-cta .arrow-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 22px;
    background-color: #085DAC;
    border-radius: 3px;
    margin-left: 14px;
}

.about-us-section .contact-cta .arrow-button svg {
    color: white;
}

.about-us-section .contact-subtext {
    font-size: 13px;
    color: #929C9F;
    font-weight: 400;
    margin-top: 6px;
}




#service {
    padding: 100px 104px 80px 104px;
}

.commonTitleBox span {
    display: block
}



.commonTitleBox .subTitle {
    font-size: 28px;
    font-weight: 500;
    letter-spacing: .12em;
    margin-top: 41px;
}

.commonTitleBox .jaTitle {
    display: inline-flex;
    align-items: center;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 16px;
}

.commonTitleBox .jaTitle::before {
    content: '';
    width: 8px;
    margin-top: 2px;
    height: 8px;
    background-color: #085DAC;
    margin-right: 10px;
}



#service .commonTitleBox {
    text-align: center;
}



.commonTitleBox .enFont {
    overflow: hidden;
    display: block;
    font-weight: 500;
    font-size: 78px;
    line-height: .9;
    color: #085DAC;
    transition: 1.2s;
}

.commonTitleBox .enFont span {
    -webkit-transform: translate(0, 100%);
    transform: translate(0, 100%);
    display: block;
}

.commonTitleBox.scrollin .enFont span {
    animation: titleBtmFade 1s cubic-bezier(.36, .14, 0, 1) both;
}

@keyframes titleBtmFade {
    0% {
        -webkit-transform: translate(0, 100%);
        transform: translate(0, 100%);
    }

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

.serviceCont {
    position: relative;
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 16px;
    padding: 48px 0;
    max-width: 1500px;
    margin: 0 auto;
}

.serviceCont::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    right: 0;
    height: 1px;
    background-color: #d3d7db;
    transition: 2s cubic-bezier(0.36, 0.14, 0, 1) 0s;
}

.serviceCont.scrollin::after {
    width: 100%;
}
/*

.serviceInner article:first-child .serviceCont::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    right: 0;
    height: 1px;
    transition: 2s cubic-bezier(0.36, 0.14, 0, 1) 0s;
    background-color: #DADBDC;
}

.serviceInner article:first-child .serviceCont.scrollin::before {
    width: 100%;
}
*/

@keyframes fadeopa {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.fadezoom {
    overflow: hidden;
}

.fadezoom img {
    transform: scale(1.08);
    transition: 1.4s;
    opacity: 0;
}

.fadezoom.scrollin img {
    animation: fadeopa 1.4s cubic-bezier(0.36, 0.14, 0, 1) forwards;
    transform: scale(1);
}





/*
.serviceInner article:last-child .serviceCont::after {
    display: none;
}
*/
.service-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    grid-column: 1 / span 1;
    height: 56px;
    border: 1px solid #d3d7db;
    border-radius: 50%;
    font-size: 18px;
    font-weight: 500;
    color: #085DAC;
}

.service-text .category {
    font-size: 12px;
    font-weight: 500;
    color: #085DAC;
    margin-bottom: 1px;
}

.serviceInner .service-text {
    grid-column: 3 / span 7;
}

.serviceInner .serviceContWrap {
    margin-top: 82px;
}


.service-text .title {
    font-size: 26px;
    font-weight: 500;
    letter-spacing: .06em;
    margin: 0 0 43px 0;
}

.service-text .description {
    font-size: 16px;
    line-height: 30px;
    margin: 0;
    font-weight: 400;
}

.serviceInner .service-image {
    margin-left: auto;
    grid-column: 11 / span 2;
    border-radius: 6px;
}

.service-image img {
    width: 100%;
    object-fit: cover;
    border-radius: 6px;
    display: block;
}

#topix .titleFlex {
    color: #fff;
}

#topix .titleFlex .enFont {
    color: #fff;
}

#topix {
    padding: 0 8px;
}


#topix .topixBg {
    background: #075AA7;
    padding: 100px 104px 100px 104px;
    border-radius: 32px;
}

#topix .titleFlex {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

#topix .topixInner {
    max-width: 1500px;
    margin: 0 auto;
}

#topix .commonTitleBox .jaTitle::before {
    background-color: #fff;
}

#topix .commonTitleBox .enFont {
    line-height: 1.3;
}


#topix .topix-list {
    display: flex;
    flex-wrap: wrap;
    gap: 88px 16px;
}

#topix .topix-card {
    flex-basis: calc(33.333% - 11px);
    display: flex;
    flex-direction: column;
}

#topix .card-image-link {
    display: block;
    margin-bottom: 20px;
    border-radius: 6px;

}

#topix .card-image::after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    left: 0;
    background: #fff;
    z-index: 2;
    bottom: 0;
    transition: .75s cubic-bezier(0.36, 0.14, 0, 1);
    opacity: 0;
}

#topix .card-image {
    border-radius: 6px;
    background: #fff;

    position: relative;
}

#topix .card-image-link:hover img {
    transform: scale(1.08);

    transition: transform .75s cubic-bezier(0.36, 0.14, 0, 1);
}

#topix .card-image-link:hover .card-image::after {
    opacity: .2;
}

#topix .card-image-link:hover .arrow-icon {
    background: rgba(255, 255, 255, 0);
}

#topix .arrow-icon {
    transition: .75s cubic-bezier(0.36, 0.14, 0, 1);
}


#topix .card-image img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 6px;
    display: block;
    height: auto;
}


#topix .card-meta {
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 14px;
    margin-bottom: 12px;
    color: #fff;
    margin-top: 20px;
}

#topix .category-tag {
    background-color: rgba(255, 255, 255, 0.08);
    padding: 5px 10px;
    line-height: 1;
    border-radius: 3px;
    border: solid 1px rgba(255, 255, 255, 0.25);
    font-size: 12px;
    font-weight: 500;
}

#topix .topix-container time {
    opacity: .5;
    font-size: 12px;
}

#topix .card-title a {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    color: #ffffff;
    font-size: 18px;
    font-weight: 600;
}

#topix .allTopixBtn {
    font-size: 20px;
    display: flex;
    align-items: center;
    column-gap: 13px;
    text-decoration: underline;
}

#topix .allTopixBtn svg {
    width: 24px;
    height: auto;
    display: block;
}

.arrow-animation {
    animation: moveArrow 3.4s ease-in-out infinite;
}

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

    50% {
        transform: translateX(8px);
    }

    100% {
        transform: translateX(0);
    }
}




#topix .card-title a:hover .title-text {
    text-decoration: underline;
}

#topix .arrow-icon {
    display: inline-block;
    width: 24px;
    height: 24px;
    background-color: #ffffff;
    border-radius: 50%;
    border: solid 1px #fff;
    top: 4px;
    position: relative;
}

#topix .arrow-icon svg {
    width: 8px;
    height: 13px;
    display: block;
    top: 6px;
    color: #0f6ab8;
    left: 8px;
    position: relative;
}

#topix .card-image-link:hover .arrow-icon svg path {
    fill: #fff !important;
    stroke: none !important;
    stroke-width: 0 !important;
}

#topix .topix-container {
    margin-top: 88px;
}

#topix .topix-container .title-text {
    font-size: 18px;
    color: #fff;
    letter-spacing: .1em;
    font-weight: 500;
}



#approach {
    padding: 120px 104px 120px 104px;
}

/* --- グリッドコンテナ --- */
.approachInner {
    max-width: 1500px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 40px;
    /* カラム間の溝 */
    align-items: flex-start;
    /* 上揃え */
}

#approach .commonTitleBox .subTitle {
    font-size: 16px;
    font-weight: 400;
    letter-spacing: .08em;
    margin-top: 24px;
}

#approach .commonTitleBox {
    grid-column: 1 / span 4;
    position: sticky;
    /* スクロールしても追従する */
    top: 120px;
    /* 上からの距離 */
}


#approach .approach-list {
    grid-column: 5 / span 8;
    list-style: none;
    margin: 0;
    padding: 0;
    margin-top: 49px;
}


#approach .approach-item {
    position: relative;
    display: flex;
    gap: 24px;
    padding: 18px 0 55px 0;
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
}

#approach .approach-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 0;
    height: 1px;
    transition: 2s cubic-bezier(0.36, 0.14, 0, 1) 0s;
    background-color: #d3d7db;
}




#approach .approach-item.scrollin:before {
    width: 100%;
}

#approach .approach-item:last-child {
    padding-bottom: 0;
}

#approach .item-number {
    font-size: 64px;
    font-weight: 600;
    color: #d3d7db;
    line-height: 1;
    margin-top: -8px;
    grid-column: 1 / span 2;
}

#approach .item-content {
    grid-column: 3 / span 10;
    margin-left: auto;
}

#approach .item-content .title {
    font-size: 26px;
    font-weight: 600;
    color: #085DAC;
    margin: 0 0 22px 0;
}


#approach .item-content .description {
    font-size: 16px;
    line-height: 30px;
    margin: 0;
    font-weight: 400;
}

.about-visual {
    width: 50%;
}

.about-content {
    width: 89%;
}

.scroll-infinity__wrap {
    display: flex;
    overflow: hidden;
    column-gap: 10px;
}

.scroll-infinity__list {
    display: flex;
    list-style: none;
    padding: 0;
    column-gap: 10px;
}

.scroll-infinity__list--left {
    animation: infinity-scroll-left 80s infinite linear 0.5s both;
}

.scroll-infinity__item {
    width: 544px;
    border-radius: 6px;
}

.scroll-infinity__item > img {
    width: 100%;
    border-radius: 6px;
    object-fit: cover;
    height: auto;
}

@keyframes infinity-scroll-left {
    from {
        transform: translateX(0%);
    }

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

.ctaAreaWrap {
    padding: 8px;
}

#ctaArea {
    position: relative;
    background-color: #085DAC;
    color: #fff;
    border-radius: 8px;
    padding: 85px 60px 31px 60px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    height: 28vw;
    max-height: 540px;
}

#ctaArea::before {
    content: 'Let’s talk';
    position: absolute;
    top: 50%;
    font-family: "Manrope", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    color: rgba(255, 255, 255, 0.05);
    letter-spacing: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: clamp(13px, 13vw, 322px);
    z-index: 1;
    white-space: nowrap;
}





#ctaArea .cta-content-wrapper {
    position: relative;
    z-index: 2;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

#ctaArea .section-label {
    position: absolute;
    top: 28px;
    right: 104px;
    font-size: 12px;
    color: #fff;
    font-weight: 300;
}

#ctaArea .cta-headline {
    font-size: clamp(16px, 3vw, 55px);
    font-weight: 500;
    letter-spacing: .1em;
    margin: 0 0 30px 0;
    line-height: 1;
    text-align: center;
}




#ctaArea .cta-button {
    background-color: #fff;
    padding: 0 4px 0 19px;
    color: #085EAC;
    font-weight: 700;
    border: solid 2px #fff;
    letter-spacing: .06em;
    height: 56px;
}

#ctaArea .cta-button .arrowLink {
    background: #085EAC;
}

#ctaArea .cta-button .arrowLink::before,
#ctaArea .commonBtn .arrowLink::after {
    background: url(../img/btnArroww.svg) 0 0 no-repeat;
}


#ctaArea .profile {
    position: absolute;
    bottom: 40px;
    left: 104px;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 16px;
}

#ctaArea .profile-image {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    object-fit: cover;
}

#ctaArea .profile-info .name {
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
/*    margin: 0 0 6px 0;*/
}

#ctaArea .profile-info .name .tag {
    font-family: YakuHanJPs_Noto, "Noto Sans JP", sans-serif;
    font-style: normal;
    font-optical-sizing: auto;
    font-size: 10px;
}

#ctaArea .profile-info .title {
    font-size: 9px;
    line-height: 1;
    opacity: .5;
}


.site-footer {
    background-color: #ffffff;
    padding: 80px 104px 30px;
    color: #2c3e50;
}

.footer-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding-bottom: 60px;
    margin-bottom: 60px;
}

.footer-left .logo {
    font-size: 36px;
    font-weight: 600;
    margin: 0;
}

.footer-left .company-name {
    font-size: 14px;
    letter-spacing: 0;
    margin: 8px 0 40px 0;
}

.footer-left .company-name span {
    display: inline-block;
    margin-left: 2px;
}

.site-footer .contact-info {
    font-style: normal;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 7px 50px;
    font-size: 14px;
    line-height: 1;
}

.site-footer .contact-info dt {
    color: #304148;
    opacity: .5;
}

.site-footer .contact-info dd {
    margin: 0;
}

.site-footer .footer-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    /* 右揃え */
}

.site-footer .footer-nav ul {
    display: flex;
    list-style: none;
    margin: 0 0 24px 0;
    padding: 0;
    gap: 60px;
}

.site-footer .footer-nav a {
    font-size: 14px;
    font-weight: 500;
}


.site-footer .cta-button {
    height: 56px;
}

.privacy-policy {
    margin-top: 16px;
    font-size: 12px;
    color: #7f8c8d;
    font-weight: 400;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* --- フッター下部 --- */
.footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.copyright {
    font-size: 20px;
    color: #7f8c8d;
}

.footer-tagline {
    text-align: right;
}

.footer-tagline .ja {
    font-size: 47px;
    font-weight: 500;
    margin: 0 0 8px 0;
}

.footer-tagline .en {
    font-size: 14px;
    text-align: left;
    margin-top: 20px;
    color: #304148;
    display: block;
}

.footer-tagline .en .light-text {
    color: #304148;
    opacity: .43;
    font-size: 9px;
}

/*
.serviceContWrap article:last-child .serviceCont:last-child::after {
    display: none;
}
*/

/* 外側の丸 */


header .main-nav p::before {
    content: attr(data-replace);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #2c3138;
    transform: rotateX(90deg);
    opacity: 0;
    transform-origin: 50% 100%;
    transform: translate(0, 30%);
    transition: 0.5s, transform 0.5s cubic-bezier(0.36, 0.14, 0, 1);
}

header .main-nav .line::after {
    content: "";
    position: absolute;
    bottom: 1px;
    left: 0;
    display: block;
    width: 0;
    height: 1px;
    background-color: #085DAC;
    -webkit-transition: all 1s ease;
    transition: all 1s ease;
}

header .main-nav p {
    position: relative;
    display: inline-block;
}

header .main-nav a:hover {
    color: transparent;
}

header .main-nav a:hover p::before {
    transform: translate(0, 0);
    opacity: 1;
    color: #085DAC;
}

header .main-nav a:hover .line::after {
    width: 100%;
}

header .main-nav a {
    position: relative;
    line-height: 1;
    display: inline-block;
    padding: 9px 0;
}

header .main-nav .text {
    display: inline-block;
    transition: 0.5s, transform 0.5s cubic-bezier(0.36, 0.14, 0, 1);
}

header .main-nav a:hover .text {
    transform: translate(0, -40%);
    transform: translateY(-40%) scaleY(0);
}

#topix .allTopixBtnSp {
    display: none;
}

.spBr {
    display: none;
}

.service-numberSp {
    display: none;
}

.logo img {
    width: 190px;
}

.udTopixWrap {
    padding-top: 169px;
}

.udTopixWrap #topix .topixBg {
    border-radius: 16px;
}

.udTopixWrap #topix .titleFlex {
    position: relative;
    padding-bottom: 19px;
    align-items: flex-end;
}

.udTopixWrap #topix .titleFlex::after {
    content: "";
    position: absolute;
    background: rgba(255, 255, 255, 0.50);
    width: 0;
    height: 1px;
    left: 0;
    bottom: 0;
    transition: 1.4s cubic-bezier(0.36, 0.14, 0, 1) .3s;
}

.udTopixWrap #topix .topix-container {
    margin-top: 48px;
}

.udTopixWrap.scrollin #topix .titleFlex::after {
    width: 100%;
}

.udTopixWrap #topix .subTitle {
    font-size: 22px;
}

.categoryTab {
    margin-top: 64px;
}

.categoryTab ul {
    display: flex;
    background: #fff;
    border-radius: 6px;
    padding: 12px 16px;
    flex-wrap: wrap;
    gap: 16px 8px;
}

.categoryTab .ctTitle {
    font-size: 18px;
    color: #fff;
    font-weight: 500;
    margin-bottom: 27px;
    line-height: 1;
}


.categoryTab ul .catAc a {
    background: #075AA7 !important;
    color: #fff !important;
    border: solid 1px #075AA7 !important;

}

.categoryTab ul .current-cat a {
    background: #075AA7 !important;
    border: solid 1px #075AA7 !important;
    color: #fff !important;
}

.categoryTab ul .catAc a::after,
.categoryTab ul .current-cat a::after {
    content: "";
    position: absolute;
    background-image: url(../img/cattabArrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    width: 11px;
    height: 5px;
    right: 0;
    left: 0;
    margin: 0 auto;
    text-align: center;
    bottom: -5px;
}



.categoryTab ul a {
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    font-size: 15px;
    font-weight: 600;
    min-width: 101px;
    padding: 1px 16px 0 16px;
    background: #E4EDF5;
    color: #075AA7;
    position: relative;
    border-radius: 3px;
    transition: .45s;
    border: solid 1px #E4EDF5;
}

.categoryTab ul a:hover {
    background: rgba(24, 71, 90, 0);
    border: solid 1px #075AA7;
}

.breack {
    padding: 120px 104px 36px 104px;
    max-width: 1500px;
    margin: 0 auto;
    column-gap: 18px;
    font-size: 12px;
    display: flex;
    align-items: center;
}
span.spacerb {
    background: rgba(48, 65, 72, 0.20);
    height: 17px;
    width: 1px;
}
.breack span>span{
    opacity: .2;
}
.breack  a{
    color: #075AA7;
    text-decoration: underline;
}
.topixSingleWrap {
    padding: 8px;
}

.topixSingleBg {
    background: #F5F6F7;
    border-radius: 8px;
    padding-top: 194px;
    padding-bottom: 80px;
}

.singTbsWrap {
    padding: 0 4%;
}

.singTbs {
    display: flex;
    justify-content: space-between;
    padding-top: 33px;
    position: relative;
    align-items: center;
}

.singTbs::after {
    content: "";
    position: absolute;
    background: rgba(112, 112, 112, 0.20);
    width: 0;
    height: 1px;
    left: 0;
    transition: 1.4s cubic-bezier(0.36, 0.14, 0, 1) .3s;
    top: 0;
}

.singTbs.scrollin::after {
    width: 100%;
}







.pageBak {}

.mainPostBox .category-tag {
    background-color: #E6E6E6;
    padding: 5px 10px;
    line-height: 1;
    color: #075AA7;
    border-radius: 3px;
    font-size: 12px;
    font-weight: 500;
}

.mainPostBox .topix-container {
    margin-bottom: 14px;
}

.mainPostBox .topix-container time {
    opacity: .5;
    font-size: 12px;
    margin-right: 14px;
}

.pageBak a {
    font-size: 20px;
    color: #075AA7;
}

.mainPostBox .mainTitle {
    font-size: 34px;
    font-weight: 600;
    line-height: 48px;
    letter-spacing: .12em;
    margin-bottom: 23px;
}

.mainPostBox .firstBox {}

.pageBak a span {
    display: inline-block;
    text-decoration: underline;
    font-size: 12px;
    top: -3px;
    position: relative;
    text-underline-offset: 6px;

    margin-left: 8px;
}

.mainPostBox {
    max-width: 816px;
    margin: 0 auto;
    margin-top: 79px;
}


.mainPostBox .firstBox .imgBox {
    border-radius: 12px;
}

.mainPostBox .firstBox .imgBox img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    height: auto;
}



.mainPostBox .firstBox .fadezoom.scrollin img {
    animation: fadeopa 1.4s cubic-bezier(0.36, 0.14, 0, 1) forwards .4s;
}

.mainPostBox .firstBox .fadezoom img {
    transition-delay: .4s;
}


.mainPostBox.sameFade {
    opacity: 0;
    transform: translate(0, 14px);
    transition: 1s cubic-bezier(0.36, 0.14, 0, 1) .4s;
}

.mainPostBox.sameFade.scrollin {
    opacity: 1;
    transform: translate(0);
}

.mainPostBox .mainContents p {
    font-size: 16px;
    line-height: 28px;
    font-weight: 500;
    margin-top: 24px;
}

.mainPostBox .mainContents h2 {
    font-size: 21px;
    font-weight: 600;
    padding-bottom: 8px;
    border-bottom: solid 1px rgba(112, 112, 112, 0.50);
    margin-top: 65px;
    color: #075AA7;
}

.mainPostBox .mainContents ul {
    list-style-position: inside;
    margin-top: 24px;
}

.mainPostBox .mainContents ul li {
    font-size: 16px;
    line-height: 28px;
    font-weight: 500;
}

.mainPostBox .mainContents a {
    display: inline-block;
    color: #075AA7;
    font-size: 16px;
    line-height: 28px;
    font-weight: 500;
    text-decoration: underline;
}


.mainPostBox .mainContents img {
    width: 100%;
    height: auto;
    border-radius: 6px;
    margin-top: 24px;
}


.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
p.nopost {
    color: #fff;
    font-size: 15px;
    font-weight: 500;
}



.archive_page_navi{
    
}
.wp-pagenavi {
    display: flex;
    justify-content: center;
    column-gap: 25px;
    color: #fff;
    align-items: baseline;
}
.wp-pagenavi a{
    color: #fff;
}
.archive_page_navi.enFont {
    border-bottom: solid 1px rgba(255, 255, 255, 0.50);
    border-top: solid 1px rgba(255, 255, 255, 0.50);
    padding: 24px 0;
    max-width: 1500px;
    margin: 0 auto;
}
.archive_page_navi .page{
    min-width: 11px;
    text-align: center;
    line-height: 1;
    padding-bottom: 2px;
    opacity: .3;
}

.wp-pagenavi span.current {
    border-bottom: solid 1px #fff;
       min-width: 11px;
    padding-bottom: 2px;
    text-align: center;
    line-height: 1;
}


.previouspostslink,.nextpostslink{
    font-size: 24px;
}
.postAnam {
    text-align: right;
    margin: 0 auto;
    font-weight: 400;
    max-width: 1500px;
    font-size: 12px;
    color: #fff;
    margin-top: 100px;
    margin-bottom: 6px;
}

.post_page_navi {
    list-style: none !important;
    display: flex;
    margin: 0 auto;
    justify-content: center;
    margin-top: 130px;
    border-radius: 6px;
    padding: 29px 25px;
    max-width: 1020px;
    column-gap: 171px;
    align-items: center;
    background: #075AA7;
    letter-spacing: 0.06em;
}
.post_page_navi li {
    color: #fff;
   
}



.post_page_navi a{
    color: #fff;
}
.post_page_navi span {
    font-size: 16px;
    transition: 0.4s;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
}



.post_page_navi .pnaviarrowp,.post_page_navi .pnaviarrow{
    font-size: 23px;
}


.post_page_navi .pnaviarrow{
    margin-left: 18px;
}
.post_page_navi .pnaviarrowp{
    margin-right: 18px;
}
.post_page_navi .inactive{
    opacity: .3;
}

.ContactWrap{
    padding: 8px;
}
.ContactWrapBg {
    background: #F5F6F7;
    border-radius: 8px;
    padding-top: 238px;
    padding-bottom: 120px;
}


.ContactWrap .contaFlex {
    display: flex;
    max-width: 1025px;
    column-gap: 100px;
    justify-content: space-between;
    margin: 0 auto;
}
.ContactWrap .atenBox{
    font-size: 16px;
    font-weight: 500;
    line-height: 28px;
}






/*==================================================
---form
====================================================*/
.form {
    max-width: 1200px;
    margin: 0 auto;
    margin-bottom: 11px;
    box-sizing: content-box;
    position: relative;
    border-radius: 3px;
}

.form .radioBox {
    display: flex;
    align-items: center;
    column-gap: 28px;
}

.form .radioBox input {
    width: 26px;
    font-size: 16px;
    height: 26px;
    background: #f5f5f5;
    border: 1px solid #deebf5;
    border-radius: 100vw;
    padding: 0;
    margin: 0;
}

.form .radioBox span {
    font-size: 16px;
    color: #000;
    margin-top: 0px;
    margin-left: 3px;
    display: inline-block;
    position: relative;
    top: 3px;
}

.inputBg input[type="radio"] {
    appearance: none;
    /* デフォルトのスタイルをリセット */
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: #f5f5f5;
    /* 背景色を変更 */
}

.inputBg input[type="radio"]:checked {
    background-color: #0485d9;
    border: solid 5px #f5f5f5;
}

.formOpBox {
    text-align: center;
    margin-bottom: 62px;
}

.formOpBox h3 {
    font-size: 32px;
    color: #364c8e;
    margin-bottom: 24px;
}

.formOpBox p {
    font-size: 16px;
    line-height: 30px;
    font-weight: 600;
    letter-spacing: 0.05em;
}

.formSchoolBox {
    width: 100%;
}

.formSchoolBox .inputBg {
    margin-bottom: 10px;
}

.form .des {
    line-height: 30px;
    margin-top: 34px;
    margin-bottom: 45px;
    font-weight: 400;
    font-size: 16px;
}

.form_flexBox {
    padding-bottom: 19px;
    margin-bottom: 20px;
}

.form_flexBox:first-child {
    padding-top: 42px;
}
.form_flexBox_list {
    position: relative;
    font-weight: 600;
    letter-spacing: 0.06em;
    padding-top: 0;
    margin-bottom: 5px;
    font-size: 15px;
}
.mandatory {
    position: absolute;
    right: 25px;
    color: #fff;
    top: 16px;
    font-size: 13px;
    border-radius: 3px;
    background: #0072c4;
    padding: 1px 20px;
}

.any {
    position: absolute;
    right: 25px;
    color: #fff;
    top: 16px;
    font-size: 13px;
    border-radius: 3px;
    background: #949da5;
    padding: 1px 20px;
}

.inputBg {
    width: 100%;
}
input {
    width: 100%;
    box-sizing: border-box;
    font-size: 16px;
    height: 64px;
    border-radius: 6px;
    font-weight: 400;
    border: solid 1px #D5D5D5;
    background: #fff;
    padding: 0 27px;
}

::placeholder {
    color: rgba(0, 0, 0, 0.3);
    font-weight: 600;
}

textarea {
    width: 100%;
    box-sizing: border-box;
    background: #ffffff;
    border: solid 1px #E6E6E6;
    font-size: 16px;
    padding: 20px 27px;
}

.privacypBox {
    text-align: center;
}

.form .privacyp {
    display: inline-block;
    font-size: 15px;
    font-weight: 100;
    margin-bottom: 31px;
}

.form .privacyp a {
    text-decoration: underline;
    color: #364c8e;
}

input::placeholder {
    font-weight: 400;
}

textarea::placeholder {
    font-weight: 400;
}

select::placeholder {
    color: #3e3a39;
}


.form .nmber {
    font-size: 25px;
    color: #011640;
}

.checkbox a {
    display: inline-block;
    text-decoration: underline;
}

.checkbox input {
    width: 30px;
    height: 30px;
    padding: 0;
    margin-top: 0px;
    border-radius: 3px;
    -webkit-appearance: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    border: 1px solid #E6E6E6;
    background: #ffffff;
    position: relative;
    cursor: pointer;
    margin-left: 0;
}

.checkbox input:checked::after {
    content: "";
    position: absolute;
    left: 11px;
    top: 5px;
    width: 5px;
    height: 12px;
    border: solid #0a5dac;
    border-width: 0 3px 3px 0;
    transform: rotate(45deg);
}
.checkbox p {
    font-weight: 500;
    margin-bottom: 6px;
    font-size: 15px;
}
.checkbox p:last-child {
    margin-bottom: 0;
}

.form_contentBox {
    margin-bottom: 50px;
    max-width: 873px;
    margin: 0 auto;
    font-size: 15px;
}

.submitBox {
    margin: 0 auto;
    display: flex;
    max-width: 600px;
    margin: 0 auto;
    margin-top: 62px;
}

.submitBox input {
    font-size: 16px;
    height: 72px;
    letter-spacing: 0.06em;
    max-width: 268px;
    cursor: pointer;
    color: #fff;
    font-weight: 500;
    border-radius: 6px !important;
    transition: 0.4s;
    margin: 0 auto;
    background: #085EAC;
}

.submitBox input:hover {
    opacity: 0.6;
}

.mw_wp_form .error {
    font-size: 13px;
    margin-top: 3px;
}

.thanyouMail {
    max-width: 750px;
    margin: 0 auto;
    padding-bottom: 156px;
    padding: 0 25px;
    padding-top: 90px;
}

.thanyouMail .commonBtn a {
    margin: 0 auto;
}

.thanyouMail h3 {
    font-size: 30px;
    margin-bottom: 25px;
    color: #0072c4;
}

.thanyouMail p {
    line-height: 30px;
    color: #333;
    font-weight: 500;
    font-size: 14px;
}

.mw_wp_form_complete {
    background: #f7f5ef;
}

.thanyouMail .blackBtn {
    margin: 0 auto;
    margin-top: 25px;
}

.thanyouMail .cmmnBtn {
    text-align: center;
    margin-top: 25px;
}

.mw_wp_form .error {
    font-size: 78% !important;
    position: absolute;
}

input[type="text"] {
    -webkit-appearance: none;
}

textarea {
    -webkit-appearance: none;
    border-radius: 0;
    border-radius: 5px;
}

select {
    width: 100%;
    box-sizing: border-box;
    height: 70px;
    background: #fff;
    border: solid 1px #E6E6E6;
    font-weight: 400;

    padding: 0 27px;
}

input[type="submit"],
input[type="button"] {
    border-radius: 0;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    appearance: button;
    box-sizing: border-box;
    cursor: pointer;
}



form .aten {
    font-size: 13px;
    line-height: 25px;
    color: #525252;
}

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
    display: none;
}

input[type="submit"]::focus,
input[type="button"]::focus {
    outline-offset: -2px;
}

.mwform-radio-field-text {
    font-weight: 600;
    color: #525252;
}
.submitBox .button_back {
    background: #9fa8b2;
    border: solid 1px #d3d2d2;
    margin: 0 5px;
    color: #fff;
}

.mw_wp_form_preview .form_flexBox_list {
    padding-top: 0;
}

.mw_wp_form_preview .mandatory {
    top: -3px;
}

.mw_wp_form_preview .any {
    top: -3px;
}

.mw_wp_form_preview .submitBox {
    width: auto;
    margin-bottom: 30px;
    margin-top: 20px;
}

#privacyPolicy {
    max-width: 1025px;
    margin: 0 auto;
    padding: 0 25px;
}

.birthBgBox {
    display: flex;
}

.birthBgBox > div {
    width: 50%;
}

.birthBgBox input {
    width: 90%;
}

.selectinner {
    position: relative;
}

.selectinner::after {
    position: absolute;
    position: absolute;
    content: "";
    background-image: url(../img/selectArrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    width: 10px;
    height: 8px;
    top: 53%;
    left: 77%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.selectinnerEntry::after {
    left: auto;
    right: 18px;
}

/*
.selectinner span {
    position: absolute;
}
*/

.birthBgBox select {
    width: 90%;
}

select {
    -webkit-appearance: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.mw_wp_form_preview .privacypBox {
    display: none;
}

.mw_wp_form_preview .checkbox p {
    position: relative;
    -webkit-backface-visibility: hidden;
    font-weight: 500;
}

.mw_wp_form_preview .checkbox p::before {
    position: absolute;
    content: "";
    background-image: url(../img/privacypolicyCheck.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 43px;
    height: 42px;
    top: 50%;
    left: 13px;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.privacyAge {
    text-align: right;
    font-weight: bold;
    text-decoration: underline;
}

.inactive {
    color: #d8d8d8;
}

.radioiinput input {
    width: 6%;
    height: 22px;
    margin-bottom: 7px;
}

.documentinput label {
    display: flex;
    justify-content: left;
    margin-bottom: -16px !important;
}

.thanyouMail .commonBtn {
    text-align: center;
    margin-top: 20px;
}

.mw_wp_form_preview .selectinner::after {
    display: none;
}

.priLinkP {
    font-size: 16px;
    line-height: 30px;
    letter-spacing: 0.06em;
    margin-bottom: 14px;
    font-weight: 400;
}

.priLinkP a {
    display: inline-block;
    text-decoration: underline;
}

.redC {
    display: inline-block;
    color: #D54100;
    position: absolute;
    font-size: 10px;
    bottom: -2px;
    letter-spacing: 0.06em;
    margin-left: 4px;
}
.mw_wp_form_preview .inputBg {
    width: 100%;
    color: #0a5dac;
    text-decoration: underline;
}

.mw_wp_form_preview .checkbox {
    display: none;
}

.mw_wp_form_preview .priLinkP {
    display: none;
}

.mw_wp_form_preview .submitBox input {
    height: 67px;
}

.mw_wp_form .error {
    color: #b70000 !important;
    letter-spacing: 0.06em;
}


.contaFlex h1{
     position: sticky;
    top: 144px;
}


.thankYou .ContactWrap .contaFlex {
    display: block;
}
.thankYou .commonTitleBox .enFont {
    line-height: .9;
}
.thankYou .commonTitleBox {
    margin-bottom: 40px;
}
.thankYou .ContactWrap .atenBox {
    max-width: 700px;
}

.thankYou .cta-button {
    height: 56px;
    margin-top: 32px;
}

.thankYou .ContactWrap .atenBox {
    font-size: 15px;
    font-weight: 500;
    line-height: 26px;
}



.privacyWrap {
    padding: 0 34px;
    padding-top: 220px;
    padding-bottom: 120px;
}

.privacyWrap .commonTitle {
    text-align: center;
}

.privacyInner {
    max-width: 840px;
    margin: 0 auto;
}

.privacyWrap .poliBox {
    margin-top: 36px;
}

.privacyWrap ul {
    list-style-position: inside;
}

.privacyWrap .commonDesBox {
    margin-bottom: 60px;
}


.privacyWrap h1 {
    font-size: 36px;
    font-style: normal;
    font-weight: 500;
    margin-bottom: 55px;
    line-height: 30px;
    letter-spacing: 5.04px;
}




.privacyWrap ul li {
    letter-spacing: 0.12em;
    font-weight: 400;
    line-height: 2em;
    font-size: 14px;
}

.privacyWrap .des {
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.12em;
    line-height: 2em;
}

.privacyWrap h2 {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 7px;
}


@media screen and (max-width: 1550px) {
    .site-header {
        padding: 0 32px;
    }
.udTopixWrap #topix .topixBg {
    padding-bottom: 100px;
}
    .topixSingleBg {
        padding-top: 150px;
    }

    .udTopixWrap {
        padding-top: 127px;
    }

    .singTbs {
        padding-top: 18px;
    }

    .singTbsWrap {
        padding: 0 32px;
    }

    .mainSwiper {
        border-radius: 0 0 16px 16px;
    }

    #ctaArea .cta-headline {
        font-size: 44px;
    }

    .brandTitleBox {
        margin-bottom: 99px;
    }

    #ctaArea::before {
        font-size: 232px;
    }

    .scroll-infinity__item {
        width: 382px;
    }

    .about-us-section .image-gallery {
        margin-top: 60px;
    }

    .about-us-section .image-gallery .middle-image {
        margin-top: -88px;
    }


    .about-us-container {
        gap: 110px;
    }

    .about-us-section {
        padding: 120px 104px 120px 104px;
    }

    #topix .topixBg {
        padding: 100px 104px 120px 104px;
    }

    #approach .approach-item {
        padding: 16px 0 55px 0;
    }

    #service {
        padding: 120px 104px 80px 104px;
    }

    .about-us-section .image-gallery img {
        width: 33%;
    }

    #ctaArea::before {
        font-size: 217px;
    }

    #approach {
        padding: 120px 104px 90px 104px;
    }

    #ctaArea {
        height: 416px;
    }

    .section-label {
        right: 36px;
    }

    #topix .topixBg {
        padding: 100px 104px 144px 104px;
    }

    #topix .topixBg {
        border-radius: 32px;
    }

    #approach .approach-item {
        padding: 16px 0 52px 0;
    }

    .about-us-section {
        border-radius: 0 0 32px 32px;
    }

    .serviceCont {
        padding: 48px 0;
    }

    .about-visual {
        width: auto;
    }

    .about-content {
        width: auto;
    }

    .about-us-section .image-gallery img {
        max-width: 114px;
    }

    .about-us-section .image-gallery img {
        width: 100%;
    }

    .site-header {
        top: 34px;
    }

    .about-content .text-body p {
        font-size: 16px;
        line-height: 30px;
    }

    #topix .topix-container {
        margin-top: 55px;
    }

    .commonTitleBox .subTitle {
        font-size: 22px;
        margin-top: 16px;
    }

    #approach .item-content .description {
        font-size: 16px;
        line-height: 28px;
    }

    .service-text .description {
        font-size: 16px;
        line-height: 28px;
    }

    .hero-grid-container {
        padding: 0 104px;
    }

    .about-us-section .about-content .main-headline {
        font-size: 36px;
        line-height: 52px;
    }

    #approach .approach-list {
        grid-column: 6 / span 7;

    }

    #approach .item-content .description {
        font-size: 15px;
        line-height: 26px;
    }

    #approach .item-content {
        grid-column: 4 / span 9;
    }

    #approach .item-content .title {
        font-size: 24px;
    }

    .service-text .title {
        font-size: 24px;
    }




}




@media screen and (max-width: 1366px) {
    #service {
        padding: 144px 80px;
    }

    #approach .commonTitleBox {
        grid-column: 1 / span 5;
    }

    .mainSwiper {
        margin-top: -50px;
    }

    .hero-title .light-text {
        font-size: 48px;
    }

    .hero-title {
        font-size: 85px;
    }

    #approach .item-number {
        font-size: 60px;
    }

    .about-us-section .about-content .main-headline {
        font-size: 30px;
        line-height: 45px;
    }

    #ctaArea .section-label {
        right: 80px;
    }

    .site-footer {
        padding: 80px 80px 30px;
    }

    #ctaArea .profile {
        left: 80px;
    }

    .hero-grid-container {
        padding: 0 80px;
    }

    .about-us-section {
        padding: 120px 80px 144px 80px;
    }

    #topix .topixBg {
        padding: 100px 80px 144px 80px;
    }

    .commonTitleBox .enFont {
        font-size: 70px;
    }

    #approach {
        padding: 144px 80px 90px 80px;
    }
}




@media screen and (max-width: 768px) {
    .pcHeader {
        display: none;
    }

    .logoBox {
        position: absolute;
        left: 24px;
        top: 16px;
    }

    .breack {
        padding: 88px 40px 24px 40px;
    }

    .udTopixWrap #topix .topixBg {
        border-radius: 3px 3px 8px 8px;
    }

    .udTopixWrap {
        padding-top: 88px;
    }

    #topix .allTopixBtnSp {
        display: flex;
        color: #fff;
        justify-content: center;
        margin-left: -24px;
        margin-top: 55px;
    }

    #topix .allTopixBtnSp a {
        color: #fff;
    }

    #topix .allTopixBtnPc {
        display: none;
    }

    .service-text .description {
        font-size: 14px;
        line-height: 26px;
    }

    #approach .commonTitleBox {
        position: static;
    }

    #mouse-stalker {
        display: none;
    }

    #stalker-center {
        display: none;
    }

    .humFlow span:nth-of-type(2) {
        display: none;
    }

    .spheader {
        display: block;
    }

    body {
        min-width: auto;
    }

    #ctaArea::before {
        font-size: 18vw;
    }

    .hero-title {
        font-size: 60px;
    }

    .hero-title .light-text {
        font-size: 34px;
    }

    .hero-side-info {
        grid-column: 11 / span 2;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-end;
    }

    .categoryTab ul a {
        height: 40px;
        font-size: 14px;
        min-width: 80px;
        padding: 1px 10px 0 10px;
        border-radius: 3px;
    }

    .categoryTab ul {
        padding: 8px 12px;
        gap: 16px 6px;
    }

    .udTopixWrap #topix .titleFlex {
        padding-bottom: 28px;
    }

    #topix .titleFlex {
        display: block;
    }

    .udTopixWrap #topix .subTitle {
        font-size: 22px;
        text-align: center;
        margin-top: 16px;
    }

    #approach {
        padding: 78px 40px 90px 40px;
    }

    #topix .topixBg {
        padding: 78px 40px 78px 40px;
    }

    #topix .topix-card {
        flex-basis: auto;
        display: flex;
        width: 48.4%;
    }

    .approachInner {
        display: block;
    }

    .commonTitleBox {
        text-align: center;
    }

    #topix .topix-list {
        justify-content: space-between;
    }

    .menu_box {
        right: 0;
        top: 0;
        position: fixed;
        cursor: pointer;
        z-index: 99;
        background: #085DAC;
        width: 60px;
        border-radius: 0 0 0 3px;
        height: 56px;
    }

    .headerCbtn {
        position: fixed;
        right: 61px;
        z-index: 99;
        top: 0;
    }

    #topix .topix-list {
        gap: 55px 16px;
    }

    #topix .topixBg {
        border-radius: 24px;
    }

    #service {
        padding: 78px 40px 40px 40px;
    }

    .about-us-section {
        border-radius: 0 0 24px 24px;
    }

    .about-us-container {
        gap: 40px;
    }

    .about-us-section {
        padding: 100px 40px 78px 40px;
    }

    .headerCbtn a {
        background: #085DAC;
        width: 124px;
        height: 56px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 14px;
        text-align: center;
        border-radius: 0 0 3px 3px;
        color: #fff;

    }

    .service-number {
        width: 40px;
        height: 40px;
        font-size: 14px;
    }

    .hero-section .hero-tagline {
        font-size: 21px;
        margin-bottom: 34px;
    }

    .scroll-down-indicator {
        margin-bottom: -22px;
    }

    .swiper-slide img {
        height: 48vw;
    }

    .latest-topix {
        margin-bottom: 34px;
    }

    .mainSwiper {
        margin-top: 0;
    }

    .site-footer .cta-button {
        margin: 0 auto;
    }

    .privacy-policy {
        margin-top: 4px;
        font-size: 12px;
        text-align: center;
    }

    .footer-tagline .ja {
        font-size: 34px;
    }

    .site-footer .footer-nav ul {
        margin: 0 0 32px 0;
    }

    .menu {
        height: 10px;
        right: 11px;
        top: 25px;
        width: 34px;
    }

    .site-footer .footer-nav li:first-child a {
        border-top: solid 1px rgba(48, 65, 72, 0.50);
    }

    .copyright {
        font-size: 12px;
        font-weight: 400;
    }

    .site-footer .footer-nav a {
        font-size: 24px;
        position: relative;
        padding: 21px 0;
        border-bottom: solid 1px rgba(48, 65, 72, 0.50);
        font-weight: 500;
    }

    .footer-tagline .en {
        text-align: center;
    }

    .footer-tagline {
        margin-bottom: 55px;
        text-align: center;
    }

    .footer-bottom {
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        flex-direction: column-reverse;
    }

    .site-footer .footer-nav a::after {
        content: "";
        position: absolute;
        background-image: url(../img/ftarrow.svg);
        background-size: contain;
        background-repeat: no-repeat;
        width: 11px;
        height: 14px;
        right: 0px;
        top: 31px;
    }




    .site-footer .footer-right {
        display: block;
    }

    .hero-wrapper {
        display: block;
        margin-top: 192px;
    }

    .site-footer .footer-nav ul {
        display: block;
    }

    .menu__line {
        height: 1px;
    }

    footer .footer-left {
        margin-bottom: 55px;
    }

    .hero-grid-container {
        padding: 0 40px;
    }

    .footer-top {
        display: block;
        padding-bottom: 60px;
        margin-bottom: 0;
    }

    .hero-content {
        margin-bottom: 70px;
    }

    .site-footer {
        padding: 55px 24px 26px;
    }

    #ctaArea .profile {
        right: 0;
        justify-content: center;
        position: static;
        left: 0;
        margin: 0 auto;
    }

    .scroll-infinity__item {
        width: 304px;
    }

    #approach .item-content .description {
        font-size: 14px;
        line-height: 26px;
    }

    .serviceCont {
        padding: 32px 0;
    }

    #approach .item-content .title {
        margin: 0 0 18px 0;
    }

    #approach .item-content .title {
        font-size: 20px;
    }

    #topix .topix-container .title-text {
        font-size: 16px;
        letter-spacing: .06em;
    }

    .service-text .title {
        font-size: 20px;
    }

    #approach .item-number {
        font-size: 48px;
    }

    #ctaArea .cta-button {
        padding: 0 4px 0 19px;
        color: #085EAC;
        height: 56px;
    }

    #ctaArea .section-label {
        right: 16px;
        top: 16px;
    }

    #approach .item-content {
        grid-column: 3 / span 10;
    }

    #ctaArea {
        border-radius: 8px;
        padding: 85px 24px 31px 24px;
    }

    #ctaArea .cta-content-wrapper {
        margin-bottom: 30px;
    }

    #ctaArea::before {
        font-size: 21vw;
    }

    .about-us-container {
        display: block;
        ;
    }

    .about-us-section .image-gallery img {
        max-width: none;
    }

    .about-visual {
        width: 74%;
        margin: 0 auto;
        margin-bottom: 40px;
    }

    .serviceInner .service-image {
        align-self: center;
    }

    .about-us-section .image-gallery {
        justify-content: space-between;
    }

    #ctaArea .cta-headline {
        font-size: 34px;
    }

    .service-text .title {
        margin: 0 0 16px 0;
    }

    #topix .arrow-icon {
        width: 21px;
        height: 21px;
        top: 5px;
    }

    #topix .arrow-icon svg {
        width: 7px;
        height: 7px;
        top: 7px;
        left: 7px;
    }

    .Gnwlogo {
        position: absolute;
        left: 0;
        top: 0;
    }

    .gnav__menu .cta-button .arrowLink::before,
    .gnav__menu .commonBtn .arrowLink::after {
        background: url(../img/btnArroww.svg) 0 0 no-repeat;
    }

    .gnav__menu .cta-button .arrowLink {
        background: #085EAC;
    }

    .gnav__menu .hmlist a {
        font-size: 24px;
        position: relative;
        padding: 21px 0;
        color: #fff;
        font-weight: 400;
        border-bottom: solid 1px rgba(255, 255, 255, 0.50);
    }

    .gnav__menu .hmlist a::after {
        content: "";
        position: absolute;
        background-image: url(../img/ftarroww.svg);
        background-size: contain;
        background-repeat: no-repeat;
        width: 11px;
        height: 14px;
        right: 0px;
        top: 31px;

    }

    #approach .commonTitleBox .subTitle {
        font-size: 22px;
        font-weight: 500;
        letter-spacing: .08em;
        line-height: 36px;
        margin-top: 16px;
    }

    .gnav {
        box-sizing: border-box;
        background: #fff;
        padding: 64px 8px 8px 8px;
    }

    .gnav .footer-tagline .en .light-text {
        color: #fff;
        opacity: 1;
        font-size: 9px;
    }

    .gnav .footer-tagline .en {
        font-size: 14px;
        margin-top: 3px;
        font-weight: 400;
        color: #fff;
        display: block;
    }

    .gnav .footer-tagline .ja {
        font-size: 34px;
        color: #fff;
        font-weight: 400;
        margin-top: 28px;
    }

    .gnav .gnavFlex {
        height: 100%;
        background: #085dac;
        display: block;
        border-radius: 8px;
    }

    .spheader .cta-button {
        background-color: #fff;
        padding: 0 4px 0 19px;
        color: #085EAC;
        font-weight: 700;
        border: solid 2px #fff;
        letter-spacing: .06em;
        height: 56px;
        margin: 0 auto;
        margin-top: 88px;
    }

    .topixSingleBg {
        padding: 0 40px;
        padding-bottom: 80px;
        padding-top: 100px;
    }

    .singTbsWrap {
        padding: 0;
    }

    .mainPostBox .mainTitle {
        font-size: 26px;
        line-height: 33px;
        letter-spacing: .12em;
        margin-bottom: 18px;
    }

    .mainPostBox {
        margin-top: 64px;
    }
.archive_page_navi.enFont {
    padding: 12px 0 19px 0;
} 
    .wp-pagenavi {
    font-size: 14px;
    column-gap: 19px;
}
    
    .postAnam {
    font-weight: 400;
    font-size: 10px;
    margin-top: 80px;
    margin-bottom: 4px;
}
    .udTopixWrap #topix .topixBg {
    padding-bottom: 78px;
}
    .post_page_navi {
    column-gap: 120px;
}
    
    .post_page_navi span {
    font-size: 14px;
}
    .post_page_navi .pnaviarrow {
    margin-left: 16px;
}
    
    .ContactWrap .contaFlex {
    display: block;
}
    .ContactWrapBg {
    border-radius: 8px;
        padding: 0 40px;
    padding-top: 144px;
    padding-bottom: 80px;
        
        
        
}
    .ContactWrap .atenBox {
    font-size: 14px;
        text-align: center;
    margin-top: 32px;
    line-height: 24px;
}
    
    .privacyWrap {
    padding: 0 34px;
    padding-top: 144px;
    padding-bottom: 55px;
}
    
    .privacyWrap h1 {
    font-size: 30px;
    margin-bottom: 55px;
    line-height: 30px;
    letter-spacing: 5.04px;
}
    
    
}

@media screen and (max-width: 650px) {
.postAnam {
    font-size: 10px;
    margin-top: 64px;
    margin-bottom: 2px;
}
  .thankYou .cta-button {
    margin: 0 auto;
    margin-top: 32px;
}
    .checkbox input:checked::after {
    left: 8px;
    top: 2px;
}
    .udTopixWrap #topix .topixBg {
    padding-bottom: 72px;
}
    #ctaArea .cta-button {
        width: 100%;
    }
.previouspostslink, .nextpostslink {
    font-size: 22px;
}
    .thankYou .ContactWrap .atenBox {
    font-size: 13px;
    margin-top: 19px;
    letter-spacing: .06em;
    font-weight: 400;
    line-height: 21px;
}
    .thankYou .commonTitleBox {
    margin-bottom: 32px;
}
    
    .hero-title {
        font-size: 46px;
    }

    .scroll-down-indicator .label {
        opacity: 0;
    }

    .logoBox {
        position: absolute;
        left: 24px;
        top: 8px;
    }

    .latest-topix .label {
        font-size: 14px;
        line-height: 1;
        margin-bottom: 5px;
    }

    .scroll-line-container {
        height: 88px;
    }

    .Gnwlogo {
        position: absolute;
        left: 24px;
        top: 8px;
    }

    .scroll-down-indicator {
        margin-bottom: -36px;
    }

    .aboutusIner .brand-title {
        font-size: 42px;
    }

    .aboutusIner .brand-subtitle {
        line-height: 1;
        margin: 10px 0 0 4px;
    }

    .about-us-section {
        padding: 130px 24px 58px 24px;
    }

    .spBr {
        display: block;
    }

    .about-visual {
        width: 100%;
        ;
        margin-bottom: 29px;
    }

    .hero-grid-container {
        padding: 0 32px;
    }

    .logo img {
        width: 130px;
    }

    .section-label {
        right: 24px;
        top: 50px;
    }

    .commonTitleBox .enFont {
        font-size: 55px;
    }

    .service-numberSp {
        margin-top: -3px;
    }

    #service {
        padding: 78px 24px 69px 24px;
    }

    .serviceInner .serviceContWrap article:last-child .serviceCont {
        padding-bottom: 0;
    }



    .about-us-section .contact-subtext {
        font-size: 12px;
        margin-top: 0px;
    }

    .service-text .title {
        margin: 0 0 24px 0;
    }

    .gnav .gnavFlex {
        border-radius: 3px;
    }

    .gnav .footer-tagline .ja {
        font-size: 28px;
        margin-top: 24px;
    }

    .gnav .footer-tagline {
        margin-bottom: 0;
    }

    .service-number {
        width: 38px;
        height: 38px;
    }

    .spheader .cta-button {
        width: 100%;
    }

    .about-us-section .about-content .main-headline {
        font-size: 24px;
        line-height: 35px;
    }

    .gnav .footer-tagline .en {
        font-size: 13px;
        line-height: 1;
        margin-top: 12px;
    }

    .about-us-section .contact-cta-wrapper {
        padding-top: 13px;
        margin-top: 30px;
    }

    .scroll-infinity__item {
        width: 237px;
    }

    .serviceInner .serviceContWrap {
        margin-top: 29px;
    }

    .serviceInner .service-image {
        width: 85%;
        margin: 0 auto;
    }

    .service-text .category {
        line-height: 1;
    }

    .service-text .description {
        font-size: 14px;
        line-height: 25px;
        margin-bottom: 24px;
    }

    .about-us-section .image-gallery img {
        height: 256px;
    }

    .service-text .title {
        font-size: 18px;
    }

    .serviceCont {
        display: block;
        column-gap: 16px;
        padding: 32px 0;
    }

    .hero-title .light-text {
        font-size: 29px;
    }

    .commonTitleBox .subTitle {
        font-size: 16px;
        margin-top: 15px;
        line-height: 28px;
    }

    .latest-topix {
        margin-bottom: 30px;
    }

    .about-content .text-body p {
        line-height: 28px;
    }

    #topix .card-meta {
        margin-top: 18px;
    }

    .about-us-section .image-gallery {
        gap: 9px;
    }

    #topix .topix-card {
        width: auto;
    }

    #approach {
        padding: 68px 24px 52px 24px;
    }

    #approach .commonTitleBox .subTitle {
        font-size: 16px;
        font-weight: 500;
        letter-spacing: .08em;
        line-height: 28px;
        margin-top: 15px;
    }

    #approach .item-number {
        margin-top: -2px;
    }

    #approach .item-content .description {
        line-height: 25px;
    }

    #topix .card-image-link {
        margin-bottom: 0;
    }

    #ctaArea::before {
        margin-left: -3px;
        color: rgba(255, 255, 255, 0.10);
        font-size: 22vw;

    }

    #approach .item-content .title {
        font-size: 18px;
        margin: 0 0 14px 0;
    }

    #approach .approach-item {
        padding: 16px 0 32px 0;
    }

    #ctaArea {
        border-radius: 8px;
        padding: 74px 24px 27px 24px;
    }

    .ctaAreaWrap {
        padding: 8px 8px 0 8px;
    }

    .site-footer .contact-info {
        gap: 7px 16px;
    }

    .site-footer {
        padding: 46px 24px 28px;
    }

    footer .footer-left {
        margin-bottom: 40px;
    }

    .copyright {
        line-height: 1;
    }

    .footer-tagline {
        margin-bottom: 46px;
    }

    .footer-top {
        padding-bottom: 40px;
    }

    .footer-tagline .en {
        font-size: 13px;
        margin-top: 12px;
        line-height: 1;
        display: block;
    }

    .footer-tagline .ja {
        font-size: 28px;
    }

    #ctaArea::before {
        top: 26%;
    }

    .footer-left .company-name {
        letter-spacing: 0;
        margin: 1px 0 36px 0;
    }

    .footer-left .logo {
        font-size: 25px;
    }

    #ctaArea .cta-headline {
        font-size: 28px;
        line-height: 40px;
    }

    .serviceInner .spFlex {
        display: flex;
        column-gap: 16px;
    }

    .swiper-slide img {
        height: 60vw;
    }

    .scroll-infinity__wrap {
        column-gap: 6px;
    }

    .scroll-infinity__list {
        column-gap: 6px;
    }

    #approach .item-content {
        grid-column: 4 / span 10;
    }

    #approach .item-number {
        font-size: 46px;
    }

    #topix .topixBg {
        padding: 63px 24px 72px 24px;
    }

    #ctaArea .cta-headline {
        margin: 0 0 18px 0;
    }

    .service-numberPc {
        display: none;
    }

    .service-numberSp {
        display: flex;
    }

    .udTopixWrap #topix .titleFlex {
        padding-bottom: 24px;
    }

    .udTopixWrap #topix .topix-container {
        margin-top: 32px;
    }

    .udTopixWrap {
        padding-top: 72px;
    }

    .categoryTab ul {
        padding: 8px 8px;
        gap: 12px 5px;
    }

    .about-us-section .about-content .main-headline {
        margin: 0 0 22px 0;
    }

    .categoryTab {
        margin-top: 40px;
    }

    #approach .item-number {
        grid-column: 1 / span 3;
    }

    .categoryTab ul a {
        height: 32px;
        font-size: 12px;
        min-width: 67px;
        padding: 4px 8px 0 8px;
    }

    .categoryTab .ctTitle {
        font-size: 14px;
        margin-bottom: 17px;
    }

    .pageBak a {
        font-size: 18px;
    }

    .singTbs {
        padding-top: 8px;
    }

    .topixSingleBg {
        padding: 0 24px;
        padding-bottom: 60px;
        padding-top: 48px;
    }

    .mainPostBox .mainContents h2 {
        padding-bottom: 6px;
        margin-top: 48px;
    }

    .pageBak a span {
        text-underline-offset: 4px;
    }

    .pageBak {
        margin-top: 3px;
    }

    .mainPostBox {
        margin-top: 56px;
    }

    .pageBak a span {
        font-size: 10px;
    }

    .mainPostBox .firstBox .imgBox {
        border-radius: 6px;
    }

    .mainPostBox .topix-container time {
        margin-right: 12px;
    }

    .mainPostBox .mainContents p {
        font-size: 15px;
        line-height: 26px;
        font-weight: 400;
        margin-top: 20px;
    }

    .mainPostBox .mainContents img {
        margin-top: 20px;
    }

    .mainPostBox .mainContents a {
        font-size: 15px;
        line-height: 26px;
        font-weight: 400;
    }

    .mainPostBox .mainContents ul li {
        font-size: 15px;
        line-height: 26px;
        font-weight: 400;
    }

    .mainPostBox .mainTitle {
        font-size: 21px;
        line-height: 30px;
        letter-spacing: .1em;
        margin-bottom: 16px;
    }

    .topixSingleWrap {
        padding-top: 66px;
    }

    .breack {
        font-size: 10px;
        padding: 55px 24px 16px 24px;
    }


    .topixSingleWrap .commonTitleBox .jaTitle::before {
        margin-right: 8px;
    }
.post_page_navi .pnaviarrowp, .post_page_navi .pnaviarrow {
    font-size: 20px;
}
.post_page_navi .pnaviarrow {
    margin-left: 12px;
}
.post_page_navi .pnaviarrowp {
    margin-right: 12px;
}
    .udTopixWrap #topix .subTitle {
        font-size: 16px;
        margin-top: 15px;
        line-height: 28px;
    }
.post_page_navi span {
    font-size: 12px;
}
    .topixSingleWrap .commonTitleBox .jaTitle {
        font-size: 12px;
        margin-bottom: 0;
    }
.post_page_navi {
    margin-top: 72px;
    border-radius: 6px;
    padding: 20px 16px;
}
    .topixSingleBg {
        border-radius: 3px;
    }
.post_page_navi {
    column-gap: 63px;
}
    .ContactWrap .atenBox {
    font-size: 12px;
    margin-top: 24px;
    letter-spacing: .06em;
    font-weight: 400;
    line-height: 20px;
}
    .submitBox input {
    font-size: 15px;
    height: 72px;
    border-radius: 6px !important;
}
    .post_page_navi .pnaviarrowp, .post_page_navi .pnaviarrow {
    position: relative;
    top: 1px;
}
    .ContactWrap {
    padding-top: 66px;
}
    .checkbox input {
    width: 24px;
    height: 24px;
}
    .submitBox {
    margin-top: 56px;
}
    .checkbox p {
    font-weight: 500;
    margin-bottom: 6px;
    letter-spacing: .06em;
    font-size: 13px;
}
    .form_flexBox {
    padding-bottom: 14px;
    margin-bottom: 15px;
}
    .privacyWrap .commonDesBox {
    margin-bottom: 34px;
}
    textarea {
    padding: 20px 14px;
}
    .ContactWrapBg {
                border-radius: 3px;
        padding: 0 24px;
        padding-bottom: 60px;
        padding-top: 48px;
}
    .privacyWrap h2 {
    font-size: 16px;
}
   .privacyWrap .des {
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.08em;
    line-height: 24px;
}
    .privacyWrap h1 {
    font-size: 26px;
    margin-bottom: 34px;
    line-height: 30px;
    letter-spacing: 5.04px;
}
    .privacyWrap ul li {
    letter-spacing: 0.08em;
    font-weight: 400;
    line-height: 24px;
    font-size: 13px;
}
    input {
    font-size: 16px;
    height: 56px;
    border-radius: 3px;
    padding: 0 14px;
}
    .form_flexBox_list {
    font-size: 14px;
}.privacyWrap {
    padding: 0 24px;
    padding-top: 144px;
    padding-bottom: 24px;
}
    
    
    
    

}
