/*=================
menu (header)
==================*/
.menu {
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    background-color: rgba(29, 29, 31, 0.7);
    width: 100%;
    height: 90px;
    z-index: 99;
    transition: all 0.2s linear;
}

.menu-fix {
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 0px 0px 0px 50px;
    max-width: 1920px;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
}

.logo-area {
    display: flex;
    background-image: url(../asset/img/logo-w.svg);
    background-repeat: no-repeat;
    background-size: 100%;
    width: 175px;
    height: 30px;
    transition: all 0.4s linear;
}

.menu-topic {
    display: flex;
    flex-direction: row;
    width: auto;
    height: 100%;
}

.menu-topic-text-area {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 30px;
}

.menu-topic-pc {
    display: flex;
    flex-direction: row;
    gap: 24px;
}

.menu-topic-text {
    line-height: clamp(15px, calc(11.00px + 0.3125vw), 17px);
    font-size: clamp(15px, calc(11.00px + 0.3125vw), 17px);
}

.menu-topic-m {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-end;
    margin: 2px 0 0 0;
    width: 34px;
    height: 34px;
    transform: translate(0, 0);
    transition: transform 0.2s linear;
}

.menu-btn {
    position: relative;
    display: flex;
    width: 34px;
    height: 34px;
}

/*====.btn-trigger====*/
.btn-trigger {
    position: relative;
    width: 100%;
    height: 60%;
    margin: 0 0 4px 0;
    cursor: pointer;
}

.btn-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: #FFFFFF;
    border-radius: 4px;
}

.btn-trigger,
.btn-trigger span {
    display: inline-block;
    transition: all 0.2s;
    box-sizing: border-box;
}

.btn-trigger span:nth-of-type(1) {
    top: 0;
}

.btn-trigger span:nth-of-type(2) {
    top: 40%;
}

.btn-trigger span:nth-of-type(3) {
    bottom: 0;
}

.menu-btn-text {
    position: absolute;
    bottom: 0;
    width: 100%;
    color: #FFFFFF;
    line-height: 11px;
    font-size: 11px;
    text-align: center;
}

.contact-touchable {
    pointer-events: auto;
}

.contact-untouchable {
    pointer-events: none;
}

/*========#btn01========*/
#btn01.active span:nth-of-type(1) {
    -webkit-transform: translateY(6px) rotate(-45deg);
    transform: translateY(6px) rotate(-45deg);
}

#btn01.active span:nth-of-type(2) {
    opacity: 0;
}

#btn01.active span:nth-of-type(3) {
    -webkit-transform: translateY(-10px) rotate(45deg);
    transform: translateY(-10px) rotate(45deg);
}

/*========mobilemenu========*/
.mobile-menu-area {
    position: fixed;
    top: 60px;
    right: 30px;
    display: none;
    flex-direction: column;
    align-items: flex-end;
    padding: 36px 0;
    width: 100%;
    height: auto;
    gap: 10px;
    opacity: 0;
    transform: translate(0, -312px);
    transition: all 0.2s linear;
    z-index: 100;
}

.mobile-menu-list {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: auto;
    height: auto;
    gap: 4px;
}

.menu-mail-bk {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0px 40px;
    height: 100%;
    gap: 0;
    transform: translate(0, 0);
    transition: transform 0.2s linear;
}

.mobile-menu-text {
    font-size: 1.667vw;
}

.mobile-menu-under-line {
    background-color: #FFFFFF;
    width: 100%;
    height: 1px;
    transform: scale(0, 1);
    transition: all 0.2s linear;
}

.mobile-menu-under-line-active {
    transform: scale(1, 1);
}

.mobile-menu-area-active {
    display: flex;
}

.mobile-menu-area-opacity {
    opacity: 1;
    transform: translate(0.0);
}

@media screen and (max-width: 1440px) {
    .menu-topic-pc {
        gap: 22px;
    }
}


@media screen and (max-width: 1280px) {
    .menu {
        height: 60px;
    }

    .menu-fix {
        height: 60px;
    }

    .menu-height-active {
        height: 480px;
    }

    .menu-topic-pc {
        display: none;
    }

    .menu-topic-m {
        display: flex;
    }

    .menu-topic-text {
        line-height: clamp(0.875rem, 0.875rem + 0.208vw, 1rem);
        font-size: clamp(0.875rem, 0.875rem + 0.208vw, 1rem);
    }
}

@media screen and (max-width: 960px) {
    .logo-area {
        width: 152px;
        height: 24px;
    }
}

@media screen and (max-width: 600px) {
    .menu-fix {
        padding: 0px 0px 0px 30px;
    }

    .menu-topic-m {
        width: 28px;
        height: 28px;
    }

    .menu-btn {
        width: 28px;
        height: 28px;
    }

    .menu-btn-text {
        line-height: 9px;
        font-size: 9px;
    }

    .menu-topic-text-area {
        gap: 10px;
    }

    .menu-mail-bk {
        padding: 0px 20px;
    }

    .menu-text-m {
        font-size: 14px;
    }

    #btn01.active span:nth-of-type(1) {
        -webkit-transform: translateY(6px) rotate(-45deg);
        transform: translateY(6px) rotate(-30deg);
    }

    #btn01.active span:nth-of-type(3) {
        -webkit-transform: translateY(-10px) rotate(45deg);
        transform: translateY(-7px) rotate(30deg);
    }

    .mobile-menu-area {
        top: 50px;
    }
}

/*=================
category-all
==================*/
.category-fix {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: auto;
}

.category-title {
    position: absolute;
    top: 50px;
    left: 50px;
    display: flex;
    flex-direction: column;
    z-index: 7;
}

.category-title-main {
    font-size: 26px;
}

.category-title-sub {
    font-size: 16px;
}

.main-contents {
    z-index: 8;
}

@media screen and (max-width: 600px) {
    .category-title {
        left: calc((100% - 68px) / 2);
    }

    .category-title02 {
        left: calc((100% - 114px) / 2);
    }

    .category-title03 {
        top: 76px;
        left: calc((100% - 108px) / 2);
    }

    .category-title04 {
        top: 76px;
        left: calc((100% - 88px) / 2);
    }

    .category-title05 {
        left: calc((100% - 120px) / 2);
    }

    .category-title06 {
        left: calc((100% - 148px) / 2);
    }

    .category-title07 {
        left: calc((100% - 84px) / 2);
    }

    .category-title08 {
        left: calc((100% - 112px) / 2);
    }

    .category-title09 {
        left: calc((100% - 56px) / 2);
    }

    .category-title10 {
        left: calc((100% - 104px) / 2);
    }

    .category-title-main {
        font-size: 20px;
        text-align: center;
    }

    .category-title-sub {
        font-size: 14px;
        text-align: center;
    }
}

/*=================
start
==================*/
.start {
    position: fixed;
    display: flex;
    background-color: #1D1D1F;
    width: 100%;
    height: 100vh;
    z-index: 100;
    transition: all 1s linear;
}

.start-passive-opacity {
    max-width: 1920px;
    width: 100%;
    background-color: transparent;
}

.start-passive {
    display: none;
}

.start-hidden {
    visibility: hidden;
}

.pc24-img {
    position: absolute;
    top: calc((100vh - 100px) / 2);
    right: calc(-1 * (100vw + 344px));
    display: flex;
    background-image: url(../asset/img/pc24-lineimg.svg);
    background-repeat: no-repeat;
    background-size: 100%;
    width: 344px;
    height: 100px;
    transition: all 2s linear;
}

.pc24-img-active {
    right: calc((100% + 344px));
}

.logo-start {
    position: absolute;
    top: calc((100vh - 100px) / 2);
    right: calc(-1 * (100vw + 582px));
    display: flex;
    background-image: url(../asset/img/logo-w.svg);
    background-repeat: no-repeat;
    background-size: 100%;
    width: 582px;
    height: 100px;
    transition: all 2s linear;
}

.logo-start-active {
    right: calc((100% - 582px) / 2);
}

.logo-start-active2 {
    transition: all 1s linear;
}

.logo-start-move {
    top: 30px;
    right: calc(100% - 225px);
    width: 175px;
    height: 30px;
}

@media screen and (max-width: 960px) {
    .logo-start-move {
        top: 18px;
        right: calc(100% - 202px);
        width: 152px;
        height: 24px;
    }
}

@media screen and (max-width: 600px) {
    .logo-start-move {
        right: calc(100% - 182px);
    }
}



/*=================
#top
==================*/
.top {
    position: relative;
}

.top-back {
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    max-width: 1920px;
    width: 100%;
    height: 1030px;
    z-index: 1;
}

.top-back-passive {
    position: absolute;
}

@media screen and (min-width:1920px) {
    .top-back {
        left: calc((100% - 1920px) / 2);
    }
}

.top-back-fix {
    overflow: hidden;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

.top-gradation {
    position: absolute;
    top: 0;
    left: 0;
    mix-blend-mode: multiply;
    width: 100%;
    height: 100%;
}

.top-img {
    width: 1920px;
    height: 1030px;
}

.top-text-area {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 1920px;
    width: 100%;
    height: 1030px;
    z-index: 2;
}

.top-title {
    position: absolute;
    top: 400px;
    left: 160px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    mix-blend-mode: color-dodge;
    height: 400px;
    transition: all 0.5s linear;
}

.top-title-text {
    letter-spacing: 50px;
    line-height: 50px;
    font-size: 50px;
}

.top-text-area-fix {
    position: absolute;
    top: 284px;
    left: 160px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    transition: all 0.5s linear;
}

.top-text-area-box {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.title-passive {
    left: -600px;
}

.top-head-area {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 510px;
    height: auto;
}

.top-head-area-text {
    margin: 0 0 4px 0;
    text-align: center;
    letter-spacing: -10px;
    line-height: 50px;
    font-size: 61px;
}

.top-head-area-text-sub {
    letter-spacing: normal;
    line-height: 36px;
    font-size: 36px;
}

.top-head-fix {
    margin: 0;
    letter-spacing: normal;
    padding: 4px 0 2px 0;
    font-size: 16px;
    line-height: 16px;
    text-align: center;
}

.top-head-area-line {
    background-color: #DED46E;
    width: 100%;
    height: 1px;
}

.top-text-h1 {
    margin: 20px 0 0 0;
    letter-spacing: 1px;
    line-height: normal;
    font-size: 31px;
}

.top-text-h2 {
    margin: 20px 0;
    line-height: 46px;
    font-size: 22px;
}

.top-h2-fix {
    line-height: 40px;
}

.top-bottom-area {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.cta-btn-area {
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 25px;
    width: 510px;
    height: 50px;
}

.cta-btn-text {
    line-height: 22px;
    font-size: 22px;
    z-index: 4;
}

.cta-hover-item {
    position: absolute;
    top: 0;
    left: -40px;
    background-color: #FFFFFF;
    width: 30px;
    height: 50px;
    transform: skewX(-18.435deg);
    margin-left: 10px;
    z-index: 3;
    transition: all 0.5s ease-out;
}

.cta-btn-area:hover .cta-hover-item {
    left: 540px;
}

.cta-btn-backcolor {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}

.top-text-notes {
    padding: 0 0 0 8px;
    line-height: 16px;
    font-size: 16px;
}

@media screen and (max-width:1440px) {
    .top-back {
        height: 820px;
    }

    .top-back-fix {
        justify-content: flex-start;
    }

    .top-text-area {
        height: 820px;
    }

    .top-title {
        top: 260px;
        left: 100px;
    }

    .top-text-area-fix {
        top: 180px;
        left: 100px;
    }

    .title-passive {
        left: -600px;
    }
}

@media screen and (max-width:1280px) {
    .top-back {
        height: 720px;
    }

    .top-img {
        height: 720px;
    }

    .top-text-area {
        height: 720px;
    }

    .top-title {
        top: 160px;
        left: 80px;
    }

    .top-text-area-fix {
        top: 120px;
        left: 80px;
    }

    .top-head-area {
        width: 450px;
    }

    .top-head-area-text {
        font-size: 55px;
        line-height: 46px;
    }

    .top-head-area-text-sub {
        font-size: 32px;
        line-height: 32px;
    }

    .top-head-fix {
        font-size: 16px;
        line-height: 16px;
    }

    .top-text-h1 {
        line-height: 48px;
        font-size: 26px;
        letter-spacing: 1.5px;
        margin: 10px 0 0 0;
    }

    .top-text-h2 {
        line-height: 34px;
        font-size: 17px;
        margin: 0 0 24px 0;
    }

    .top-h2-fix {
        line-height: 32px;
        font-size: 17px;
        margin: 0 0 10px 0;
    }

    .top-cta {
        width: 450px;
    }

    .top-text-notes {
        font-size: 14px;
        line-height: 14px;
    }

    .title-passive {
        left: -520px;
    }
}

@media screen and (max-width:960px) {
    .top-back {
        height: 900px;
    }

    .top-back-fix {
        justify-content: center;
    }

    .top-img {
        width: auto;
        height: 900px;
    }

    .top-head-area {
        padding: 0;
        width: 510px;
    }

    .top-head-area-text {
        line-height: 44px;
        font-size: 50px;
        letter-spacing: normal;
    }

    .top-head-fix {
        padding: 4px 0 2px 0;
        font-size: 16px;
        line-height: 16px;
    }

    .top-text-area {
        margin: 0;
        height: 900px;
        align-items: center;
    }

    .top-text-area-fix {
        position: static;
        justify-content: space-between;
        height: 700px;
    }

    .top-text-h1 {
        margin: 16px 0 0 0;
        font-size: 30px;
        text-align: center;
    }

    .top-text-h2 {
        line-height: 36px;
        font-size: 19px;
        text-align: center;
        margin: 14px 0 0 0;
    }

    .top-h2-fix {
        line-height: 36px;
        font-size: 19px;
        text-align: center;
        margin: 0 0 10px 0;
    }

    .top-text-notes {
        padding: 0;
        text-align: center;
    }

    .top-cta {
        width: 510px;
    }
}

@media screen and (max-width:600px) {
    .top-back {
        height: clamp(650px, calc(360.65px + 57.8704vh), 900px);
    }

    .top-img {
        margin: 0 240px 0 0;
    }

    .top-text-area {
        margin: 10px 0 0 0;
        padding: 0 5%;
        height: clamp(650px, calc(360.65px + 57.8704vh), 900px);
    }


    .top-text-area-fix {
        height: clamp(480px, calc(155.93px + 64.8148vh), 760px);
    }

    .top-head-area {
        width: 100%;
    }

    .top-head-area-text {
        line-height: clamp(31px, calc(12.80px + 5.2000vw), 44px);
        font-size: clamp(31px, calc(12.80px + 5.2000vw), 44px);
    }

    .top-head-fix {
        font-size: clamp(14px, calc(11.20px + 0.8000vw), 16px);
        line-height: clamp(14px, calc(11.20px + 0.8000vw), 16px);
    }

    .top-text-h1 {
        margin: 20px 0 0 0;
        font-size: clamp(25px, calc(16.60px + 2.4000vw), 31px);
        width: 100%;
    }

    .top-text-h2 {
        line-height: clamp(30px, calc(18.57px + 3.5714vw), 40px);
        font-size: clamp(14px, calc(8.29px + 1.7857vw), 19px);
        width: 100%;
    }

    .top-h2-fix {
        font-feature-settings: "halt";
        font-size: clamp(14px, calc(5.67px + 2.2222vw), 19px);
    }

    .top-text-area-box {
        width: 100%;
    }

    .top-bottom-area {
        width: 100%;
    }

    .cta-btn-area {
        width: 100%;
    }

    .top-text-notes {
        width: 100%;
        line-height: normal;
        font-size: clamp(14px, calc(10.67px + 0.8889vw), 16px);
    }
}

@media screen and (max-width:550px) {
    .top-text-h1 {
        line-height: normal;
    }

    .top-text-h2 {
        margin: 16px 0 0 0;
    }

    .top-h2-fix {
        margin: 0 0 10px 0;
    }
}


/*=================
#merit
==================*/
.merit {
    position: relative;
    display: flex;
    width: 100%;
    height: 700px;
    z-index: 5;
}

.category-merit {
    display: flex;
    flex-direction: row;
    padding: 104px 0;
    max-width: 1000px;
    height: 100%;
}

.merit-item-area {
    display: flex;
    align-items: center;
}

.merit-item-fix {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.merit-item-down {
    display: flex;
    flex-grow: 1;
}

.merit-item-up {
    display: none;
    flex-grow: 1;
}

.merit-item {
    display: flex;
    justify-content: center;
    align-items: center;
    background-repeat: no-repeat;
    background-size: 100%;
    width: 356px;
    height: 356px;
}

.mitem01 {
    background-image: url(../asset/img/merit-delta-01.svg);
}

.mitem02 {
    background-image: url(../asset/img/merit-delta-02.svg);
}

.mitem03 {
    background-image: url(../asset/img/merit-delta-03.svg);
}

.fix-margin {
    margin-left: -34px;
}

.merit-text {
    text-align: center;
    line-height: 42px;
    font-size: 22px;
}

.line-height-fix {
    padding-top: 14px;
    line-height: 32px;
}

.back-effect {
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    width: 100%;
    height: 100%;
}

.back-effect-fix {
    position: relative;
    display: flex;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.back-color {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    background-color: rgba(29, 29, 31, 0.75);
    mix-blend-mode: multiply;
    width: 100%;
    height: 100%;
    z-index: 6;
}

.merit-img {
    display: flex;
    width: 1920px;
    z-index: 5;
}

@media screen and (max-width:1280px) {
    .merit-item-down {
        display: none;
    }

    .merit-item-up {
        display: flex;
    }

    .fix-margin {
        margin-left: -120px;
    }

    .merit-text {
        font-size: 18px;
    }
}

@media screen and (max-width:960px) {
    .merit {
        height: 930px;
    }

    .category-merit {
        width: 600px;
    }

    .merit-item-area {
        flex-direction: column;
        width: 100%;
    }

    .merit-item-fix {
        flex-direction: row;
        width: 100%;
    }

    .mitem01 {
        margin: 0 0 0 30px;
    }

    .mitem02 {
        margin: -172px 30px 0 0;
    }

    .mitem03 {
        margin: -172px 0 0 30px;
    }

    .merit-img {
        width: auto;
        height: 930px;
    }
}

@media screen and (max-width:600px) {
    .merit {
        overflow: hidden;
        height: 800px;
    }

    .category-merit {
        padding: 130px 0 80px 0;
    }

    .merit-item-fix {
        width: 600px;
    }

    .merit-item {
        width: 290px;
        height: 290px;
    }

    .mitem01 {
        margin: 0 0 0 80px;
    }

    .mitem02 {
        margin: -140px 80px 0 0;
    }

    .mitem03 {
        margin: -140px 0 0 80px;
    }

    .merit-text {
        font-size: 16px;
        line-height: 28px;
    }
}

/*=================
#moviebetween
==================*/
.moviebetween {
    display: flex;
    width: 100%;
    height: 600px;
    z-index: 5;
}

.category-movie {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

.movie-text {
    padding: 0 0 30px 0;
    mix-blend-mode: color-dodge;
    letter-spacing: 16px;
    font-size: 80px;
    z-index: 7;
}

.movie-gradation {
    position: absolute;
    top: 0;
    left: 0;
    mix-blend-mode: multiply;
    width: 100%;
    height: 100%;
    z-index: 6;
}

.movie-hidden {
    position: absolute;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    z-index: 5;
}

#movie {
    width: 1920px;
    height: 1080px;
}

@media screen and (max-width:1280px) {
    .movie-text {
        width: 400px;
        text-align: center;
    }
}

@media screen and (max-width:960px) {
    .moviebetween {
        height: 400px;
    }

    .movie-text {
        font-size: 60px;
    }
}

@media screen and (max-width:600px) {
    .moviebetween {
        height: 250px;
    }

    .movie-text {
        font-size: 30px;
        line-height: 60px;
        width: 300px;
        padding: 0;
    }

    #movie {
        height: 400px;
    }
}

/*=================
#concerns
==================*/
.concerns {
    position: relative;
    display: flex;
    padding: 150px 0;
    background-color: #515967;
    width: 100%;
    height: auto;
    z-index: 5;
}

.category-concerns {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 1000%;
    height: 100%;
}

.concerns-sub {
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #FFFFFF;
    border-radius: 6px;
    padding: 0 0 2px 0;
    width: 680px;
    height: 46px;
}

.concerns-sub-text {
    line-height: 20px;
    font-size: 20px;
}

.concerns-header-text {
    margin: 46px 0;
    line-height: 36px;
    font-size: 34px;
}

.concerns-main {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 18px;
}

.concerns-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
}

.concerns-box-area {
    position: relative;
    display: flex;
}

.concerns-check {
    position: absolute;
    top: -8px;
    left: 6px;
    height: 33px;
}

.concerns-box {
    background-color: #FFFFFF;
    border-radius: 6px;
    width: 32px;
    height: 32px;
}

.concerns-item-text {
    line-height: 24px;
    font-size: 22px;
}

.concerns-intro {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 100px 0 0 0;
    gap: 42px;
}

.concerns-intro-text {
    line-height: 36px;
    font-size: 34px;
}

.concerns-delta {
    width: 55px;
    height: 48px;
}

@media screen and (max-width:1280px) {
    .concerns-sub {
        width: 620px;
    }

    .concerns-sub-text {
        font-size: 18px;
        line-height: 18px;
    }

    .concerns-header-text {
        font-size: 32px;
        line-height: 34px;
        margin: 40px 0;
    }

    .concerns-item-text {
        font-size: 20px;
    }

    .concerns-intro-text {
        font-size: 32px;
        line-height: 34px;
    }

    .concerns-delta {
        width: 50px;
        height: 40px;
    }
}

@media screen and (max-width:960px) {
    .concerns {
        padding: 150px 0 80px 0;
    }

    .concerns-intro-text {
        line-height: 50px;
    }
}

@media screen and (max-width:600px) {
    .concerns {
        padding: 150px 5% 80px 5%;
    }

    .concerns-sub {
        width: 100%;
        height: 40px;
    }

    .concerns-sub-text {
        font-size: 16px;
    }

    .concerns-header-text {
        font-size: 24px;
        margin: 30px 0;
    }

    .concerns-item {
        gap: 12px;
        align-items: flex-start;
    }

    .concerns-check {
        top: -3px;
        left: 5px;
        height: 22px;
    }

    .concerns-box {
        width: 24px;
        height: 24px;
    }

    .concerns-item-text {
        line-height: normal;
        font-size: 16px;
    }

    .concerns-intro {
        margin: 60px 0 0 0;
        gap: 20px;
    }

    .concerns-intro-text {
        font-size: 24px;
        line-height: normal;
        text-align: center;
    }

    .concerns-delta {
        width: 31px;
        height: 28px;
    }
}

/*=================
#solution
==================*/
.solution {
    position: relative;
    display: flex;
    background-color: #1D1D1F;
    width: 100%;
    height: 1074px;
    z-index: 5;
}

.category-solution {
    display: flex;
    flex-direction: row;
    width: 100%;
    height: auto;
    z-index: 6;
}

.category-solution-hidden {
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: center;
    width: 100%;
    height: auto;
}

.solution-img-area {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    width: 800px;
    height: auto;
    gap: 10px;
}

.solution-back-effect-area {
    position: relative;
    display: flex;
    justify-content: flex-start;
}

.solution-back-effect {
    position: absolute;
    top: 0;
    left: 0;
    background-color: transparent;
    width: 100%;
    height: 100%;
    mix-blend-mode: multiply;

}

.solution-img-bottom {
    display: flex;
    flex-direction: row;
    width: 100%;
    gap: 10px;
}

.solution-img-bottom-le {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.solution-img-01 {
    width: 100%;
}

.solution-img-02 {
    width: 502px;
}

.solution-img-03 {
    width: 288px;
}

.solution-text-area {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-end;
    padding: 0 0 150px 0;
    width: clamp(1200px, calc(1800.00px + -41.6667vw), 1000px);
    gap: 50px;
}

.solution-text-header {
    font-size: 30px;
}

.solution-text-main-area {
    position: relative;
    padding: 6px 0;
    display: flex;
}

.solution-text-list {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.solution-text-item {
    display: flex;
    flex-direction: row;
    gap: 40px;
}

.solution-text {
    font-size: 22px;
}

.solution-letter {
    letter-spacing: 7px;
}

.s-text-fix01 {
    width: 110px;
}

.s-text-fix02 {
    width: 246px;
}

.solution-text-line {
    position: absolute;
    top: 0;
    left: 130px;
    background-color: #FFFFFF;
    width: 1px;
    height: 100%;
}

@media screen and (max-width: 1280px) {
    .solution {
        height: 937px;
    }

    .solution-img-area {
        width: 512px;
    }

    .solution-img-bottom-le {
        width: 100&;
    }

    .solution-img-02 {
        width: 512px;
    }

    .solution-img-03 {
        display: none;
    }

    .solution-text-area {
        width: 1000px;
    }

    .solution-text-header {
        font-size: 28px;
        line-height: 44px;
    }

    .solution-text {
        font-size: 20px;
    }
}

@media screen and (max-width: 960px) {
    .solution {
        height: 1102px;
    }

    .solution-img-area {
        overflow: hidden;
        width: 100%;
        height: 300px;
        justify-content: center;
    }

    .solution-img-bottom {
        display: none;
    }

    .solution-text-area {
        width: 100%;
        padding: 350px 5% 80px 5%;
        align-items: center;
        justify-content: flex-start;
    }

    .solution-text-header {
        line-height: 60px;
        text-align: center;
    }

    .solution-back-effect-area {
        justify-content: center;
    }

    .solution-back-effect {
        background-color: rgba(29, 29, 31, 0.75);
    }
}

@media screen and (max-width: 600px) {
    .solution {
        height: 796px;
    }

    .solution-img-area {
        height: 200px;
    }

    .solution-img-01 {
        width: 110%;
    }

    .solution-text-area {
        padding: 250px 5% 80px 5%;
        gap: 40px;
    }

    .solution-text-header {
        font-size: 21px;
        line-height: 50px;
    }

    .solution-text-line {
        left: 98px;
    }

    .solution-text-list {
        gap: 20px;
    }

    .solution-text-item {
        gap: 30px;
    }

    .s-text-fix01 {
        font-size: 16px;
        width: 85px;
    }

    .s-text-fix02 {
        font-size: 16px;
        width: 218px;
    }

    .solution-letter {
        letter-spacing: 5px;
    }
}

/*=================
#details
==================*/
.details {
    position: relative;
    display: flex;
    background-color: #1D1D1F;
    width: 100%;
    height: 1074px;
    z-index: 5;
}

.category-details {
    display: flex;
    flex-direction: row;
    width: 100%;
    height: auto;
    z-index: 6;
}

.category-details-hidden {
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: center;
    width: 100%;
    height: auto;
}

.details-img-area {
    position: absolute;
    top: 0;
    right: 0;
    : 0;
    display: flex;
    flex-direction: column;
    width: 800px;
    height: auto;
    gap: 10px;
}

.details-img-bottom {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 10px;
}

.details-img-bottom-le {
    display: flex;
    flex-direction: row;
    gap: 10px;
}

.details-img-01 {
    width: 100%;
}

.details-img-02 {
    width: 552px;
}

.details-img-03 {
    width: 238px;
}

.details-text-area {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    padding: 0 0 150px 0;
    width: clamp(1200px, calc(1800.00px + -41.6667vw), 1000px);
    gap: 50px;
}

.details-text-header {
    font-size: 30px;
}

.details-text-main-area {
    position: relative;
    padding: 6px 0;
    display: flex;
    flex-direction: column;
}

.details-text-list {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.details-text-item {
    display: flex;
    flex-direction: row;
    gap: 40px;
}

.details-text {
    font-size: 22px;
}

.transform18 {
    transform: scale(1.8);
    transform-origin: left;
}

.details-letter {
    letter-spacing: 7px;
}

.d-text-fix01 {
    width: 110px;
}

.d-text-fix02 {
    width: 246px;
}

.details-text-line {
    position: absolute;
    top: 0;
    left: 130px;
    background-color: #FFFFFF;
    width: 1px;
    height: 100%;
}

.details-cta-btn {
    margin: 50px 0 0 0;
}

@media screen and (max-width:1440px) {
    .details-cta-btn {
        width: 440px;
    }
}

@media screen and (max-width: 1280px) {
    .details {
        height: 866px;
    }

    .details-img-area {
        width: 512px;
    }

    .details-img-02 {
        width: 512px;
    }

    .details-img-03 {
        display: none;
    }

    .details-img-01 {
        width: 598px;
    }

    .details-text-area {
        width: 1000px;
    }

    .details-text-header {
        font-size: 28px;
    }

    .details-text {
        font-size: 20px;
    }

    .details-cta-btn {
        margin: 0;
        width: 396px;
    }

    .cta-btn-text {
        font-size: 20px;
    }
}

@media screen and (max-width: 960px) {
    .details {
        height: 990px;
    }

    .details-img-area {
        overflow: hidden;
        width: 100%;
        height: 300px;
        justify-content: center;
    }

    .details-img-bottom {
        display: none;
    }

    .details-text-area {
        width: 100%;
        padding: 350px 5% 80px 5%;
        align-items: center;
        justify-content: flex-start;
    }

    .details-text-header {
        line-height: 60px;
        text-align: center;
    }

    .details-img-01 {
        width: auto;
        height: 502px;
    }

    .details-back-effect {
        background-color: rgba(29, 29, 31, 0.75);
    }
}

@media screen and (max-width: 600px) {
    .details {
        height: 796px;
    }

    .details-img-area {
        height: 200px;
    }

    .details-img-01 {
        width: 110%;
        height: auto;
    }

    .details-text-area {
        padding: 250px 5% 80px 5%;
        gap: 40px;
    }

    .details-text-list {
        gap: 20px;
    }

    .details-text-header {
        font-size: 21px;
        line-height: 50px;
    }

    .details-text-line {
        left: 98px;
    }

    .solution-text-list {
        gap: 20px;
    }

    .details-text-item {
        gap: 30px;
    }

    .d-text-fix01 {
        font-size: 16px;
        width: 85px;
    }

    .d-text-fix02 {
        font-size: 16px;
        width: 218px;
    }

    .details-cta-btn {
        width: 100%;
    }
}

/*=================
#point
==================*/
.point {
    position: relative;
    display: flex;
    width: 100%;
    height: 858px;
    z-index: 5;
}

.category-point {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 150px 0;
    max-width: 1000px;
    height: 100%;
}

.point-item-area {
    display: flex;
    align-items: center;
    gap: clamp(20px, calc(-7.60px + 3.0000vw), 50px);
}

.point-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 36px 23px;
    border: 1px solid #FFFFFF;
    border-radius: 16px;
    width: 300px;
    height: auto;
    gap: 44px;
}

.point-icon {
    height: 100px;
}

.point-text {
    font-size: 24px;
}

.point-text-sub {
    line-height: 36px;
    font-size: 20px;
}

.point-img {
    display: flex;
    width: 1920px;
    z-index: 5;
}

@media screen and (max-width: 960px) {
    .point {
        height: 1544px;
    }

    .category-point {
        align-items: flex-start;
        padding: 150px 0 80px 0;
    }

    .point-item-area {
        flex-direction: column;
        justify-content: flex-start;
        gap: 50px;
    }

    .point-item {
        width: 500px;
    }

    .point-img {
        width: auto;
        height: 1544px;
    }
}

@media screen and (max-width: 600px) {
    .point {
        height: 1460px;
    }

    .point-item {
        width: 312px;
        gap: 37px;
    }

    .point-text {
        font-size: 20px;
    }

    .point-icon {
        height: 80px;
    }

    .point-text-sub {
        font-size: 16px;
        line-height: 30px;
    }

    .point-img {
        height: 1460px;
    }
}

/*=================
#spec
==================*/
.spec {
    position: relative;
    display: flex;
    background-color: #1D1D1F;
    width: 100%;
    height: auto;
    z-index: 5;
}

.category-spec {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 150px 0;
    max-width: 1000px;
    height: 100%;
    gap: 80px;
}

.pc24-area,
.pc12-area {
    display: flex;
    flex-direction: row;
    width: 1000px;
    gap: 90px;
}

.spec-img-area {
    position: relative;
    display: flex;
    justify-content: flex-start;
    width: 450px;
    height: 336px;
}

.spec-naem-area {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 0 2px 0;
    background-color: #DED46E;
    width: 230px;
    height: 50px;
}

.spec-naem-text {
    line-height: 20px;
    font-size: 20px;
}

.spec-img-slide-area {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    height: 100%;
}

.slide-img {
    width: 100%;
}

.spec-img-btn-area {
    position: absolute;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    margin: 0 0 10px 0;
    width: 100%;
    gap: 16px;
}

.spec-img-btn {
    background-color: #FFFFFF;
    border-radius: 50%;
    width: 12px;
    height: 12px;
}

.spec-img-btn-active {
    background-color: #981F24;
}

.spec-text-area {
    position: relative;
    display: flex;
}

.spec-text-list-area {
    display: flex;
    flex-direction: column;
    padding: 10px 0;
    gap: 29px;
}

.spec-text-list {
    display: flex;
    flex-direction: row;
    gap: 40px;
}

.spec-text {
    line-height: 20px;
    font-size: 20px;
}

.sepc-text-fix {
    letter-spacing: 7px;
}

.spec-text-decoline {
    position: absolute;
    top: 0;
    left: 122px;
    width: 1px;
    height: 100%;
    background-color: #FFFFFF;
}

.spec-modal-btn {
    display: flex;
    background-image: url(../asset/img/full-icon.svg);
    background-repeat: no-repeat;
    background-size: 100%;
    width: 20px;
    height: 20px;
}

@media screen and (max-width: 960px) {
    .category-spec {
        padding: 150px 0 80px 0;
        gap: 100px;
    }

    .pc24-area,
    .pc12-area {
        flex-direction: column;
        width: auto;
        gap: 60px;
    }
}

@media screen and (max-width: 600px) {
    .category-spec {
        padding: 150px 5% 80px 5%;
    }

    .spec-img-area {
        width: 100%;
        aspect-ratio: 75/56;
        height: auto;
    }

    .spec-naem-area {
        width: 180px;
        height: 40px;
    }

    .spec-naem-text {
        font-size: 16px;
        line-height: 16px;
    }

    .spec-text {
        font-size: 16px;
    }

    .spec-text-right {
        width: 216px;
    }

    .pc24-area,
    .pc12-area {
        align-items: center;
    }

    .spec-text-decoline {
        left: 102px;
    }

    .spec-text-list-area {
        gap: 20px;
    }

    .sepc-text-fix {
        letter-spacing: 5px;
    }
}



/* --- スライド用スタイル --- */
.pc24-area,
.pc12-area,
.spec {
    position: relative
}

.spec-img-slide-area {
    position: relative;
    z-index: 0
}

.spec-img-slide-area img {
    position: relative;
    z-index: 0
}

.spec-naem-area,
.spec-img-btn-area {
    position: absolute;
    z-index: 3
}

/* --- モーダル全画面 --- */
.spec-modal {
    position: fixed;
    inset: 0;
    display: none;
    z-index: 2147483647
}

.spec-modal.open {
    display: flex
}

.spec-modal-bg {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .85);
    backdrop-filter: saturate(120%) blur(2px);
    z-index: 0
}

.spec-modal-body {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100vw;
    height: 100vh;
    margin: 0;
    padding: 0;
    pointer-events: none;
    z-index: 1
}

.spec-modal-slide {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: min(80vw, 2560px);
    height: 100vh;
    margin: 0 auto;
    pointer-events: auto;
    z-index: 1
}

.spec-modal-slide img {
    max-width: 100%;
    max-height: 100vh;
    object-fit: contain;
    z-index: 1
}

.spec-modal-close {
    position: fixed;
    top: 16px;
    right: 16px;
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 50%;
    background: #fff;
    color: #111;
    display: grid;
    place-items: center;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    pointer-events: auto;
    z-index: 2
}

.spec-modal-close:hover {
    transform: scale(1.05)
}

.spec-modal-close:focus {
    outline: 2px solid #000;
    outline-offset: 2px
}

body.no-scroll {
    overflow: hidden
}

.spec-img-slide-area {
    position: absolute !important;
    inset: 0 !important;
}

.spec-img-slide-area .spec-img-track {
    position: absolute;
    inset: 0;
    display: flex;
    transition: transform .6s ease;
    will-change: transform;
}

.spec-img-slide-area .spec-img-track>img,
.spec-img-slide-area .spec-img-track>.slide-img {
    flex: 0 0 100%;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}


/*=================
#reason
==================*/
.reason {
    position: relative;
    display: flex;
    background-color: #394150;
    width: 100%;
    height: auto;
    z-index: 5;
}

.category-reason {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 150px 0;
    max-width: 1000px;
    height: 100%;
}

.reason-header-text {
    text-align: center;
    line-height: 90px;
    font-size: 34px;
}

.reason-header-text-deco-area {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.reason-deco-text {
    line-height: 62px;
    font-size: 46px;
}

.reason-text-deco {
    background-color: #DED46E;
    width: 103%;
    height: 1px;
}

.reason-bottom-area {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 100px 0 0 0;
    gap: 10px;
}

@media screen and (max-width: 1280px) {
    .reason-header-text {
        font-size: 30px;
        line-height: 80px;
    }

    .reason-deco-text {
        font-size: 42px;
    }

    .cta-btn-text {
        font-size: 20px;
    }
}

@media screen and (max-width: 960px) {
    .reason-header-text {
        margin: 0 0 10px 0;
    }

    .category-reason {
        padding: 150px 0 80px 0;
    }
}

@media screen and (max-width: 600px) {
    .category-reason {
        padding: 150px 5% 80px 5%;
        width: 100%;
        max-width: 100%;
    }

    .reason-header-text {
        line-height: clamp(40px, calc(26.00px + 4.0000vw), 50px);
        font-size: clamp(16px, calc(7.60px + 2.4000vw), 22px);
    }

    .reason-deco-text {
        font-size: clamp(22px, calc(10.80px + 3.2000vw), 30px);
        line-height: clamp(40px, calc(26.00px + 4.0000vw), 50px);
    }

    .reason-bottom-area {
        margin: 60px 0 0 0;
        width: 100%;
    }
}

/*=================
#flow
==================*/
.flow {
    position: relative;
    display: flex;
    background-color: #515967;
    padding: 0 2%;
    width: 100%;
    height: auto;
    z-index: 5;
}

.category-flow {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 150px 0;
    max-width: 1000px;
    width: 1000px;
    height: 100%;
}

.flow-item-area {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.flow-item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #394150;
    border-radius: 16px;
    padding: 25px;
    width: 300px;
    gap: 24px;
}

.flow-header-area {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 70px;
}

.flow-header {
    font-size: 30px;
}

.flow-header-sub {
    font-size: 18px;
}

.flow-item-text {
    text-align: center;
    line-height: 40px;
    font-size: 22px;
}

.flow-item-line {
    background-color: #FFFFFF;
    width: 100%;
    height: 1px;
}

.flow-delta {
    width: 24px;
    height: 21px;
}

.flow-bottom-area {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 100px 0 0 0;
    gap: 10px;
}

@media screen and (max-width: 1280px) {
    .flow-item {
        width: 280px;
    }

    .flow-header {
        font-size: 28px;
    }

    .flow-item-text {
        font-size: 20px;
    }
}

@media screen and (max-width: 960px) {
    .category-flow {
        padding: 150px 0 80px 0;
    }

    .flow-item-area {
        flex-direction: column;
        justify-content: flex-start;
        gap: 20px;
    }

    .flow-item {
        width: 500px;
    }

    .flow-delta {
        transform: rotate(90deg);
    }

    .flow-bottom-area {
        margin: 80px 0 0 0;
    }
}

@media screen and (max-width: 600px) {
    .category-flow {
        padding: 150px 5% 80px 5%;
    }

    .flow-item {
        width: 312px;
        gap: 18px;
    }

    .flow-header {
        font-size: 22px;
    }

    .flow-header-sub {
        font-size: 16px;
    }

    .flow-item-text {
        font-size: 18px;
        line-height: 30px;
    }
}

/*=================
#faq
==================*/
.faq {
    position: relative;
    display: flex;
    padding: 0 5%;
    background-color: #394150;
    width: 100%;
    height: auto;
    z-index: 5;
}

.category-faq {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 150px 0;
    max-width: 1000px;
    width: 1000px;
    height: 100%;
}

.faq-item-area {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 36px;
}

.faq-item {
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.faq-item-q-area {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin: 0 0 40px 0;
    transition: all 0.4s linear;
}

.faq-item-q {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 20px;
}

.faq-item-q-text {
    line-height: 36px;
    font-size: 26px;
}

.faq-icon-img {
    width: 40px;
}

.faq-btn-img {
    margin: 0 0 0 14px;
    background-repeat: no-repeat;
    background-size: 100%;
    width: 30px;
    height: 30px;
}

.faq-btn-q {
    background-image: url(../asset/img/faq-open-btn.svg);
}

.faq-btn-a {
    background-image: url(../asset/img/faq-close-btn.svg);
}

.faq-item-a-area {
    display: flex;
    flex-direction: row;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.1s linear;
}

.faq-item.open .faq-item-a-area {
    max-height: 2000px;
}

.faq-item-passive {
    margin: 0;
}

.aq-item-a {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 20px;
}

.faq-item-a-text {
    line-height: 36px;
    font-size: 22px;
}

.faq-item-line {
    background-color: #FFFFFF;
    width: 100%;
    height: 1px;
}

@media screen and (max-width: 1280px) {
    .faq-item-q-text {
        font-size: 24px;
    }

    .faq-item-a-text {
        font-size: 20px;
    }
}

@media screen and (max-width: 960px) {
    .category-faq {
        padding: 150px 0 80px 0;
        width: 500px;
    }

    .faq-item-q {
        width: calc(100% - 44px);
    }
}

@media screen and (max-width: 600px) {
    .category-faq {
        padding: 150px 7% 80px 7%;
        width: 100%;
    }

    .faq-item-q {
        width: calc(100% - 40px);
    }

    .faq-item-q-text {
        padding: 6px 0 0 0;
        line-height: 26px;
        font-size: 18px;
    }

    .faq-item-a-text {
        padding: 7px 0 0 0;
        font-size: 16px;
        line-height: 24px;
    }

    .faq-btn-img {
        width: 26px;
        height: 26px;
    }
}

/*=================
#contact
==================*/
.contact {
    position: relative;
    display: flex;
    background-color: #1D1D1F;
    width: 100%;
    height: auto;
    z-index: 5;
}

.category-contact {
    display: flex;
    flex-direction: column;
    padding: 150px 0;
    width: 678px;
    height: auto;
    gap: 80px;
}

.contact-header-area {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #DED46E;
    width: 100%;
    height: 60px;
}

.contact-header-text {
    padding: 0 0 4px 0;
    font-size: 24px;
}


/*入力フォーム*/
.form-container {
    width: 100%;
}

form {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 80px;
}

.form-main {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    gap: 40px;
}

.form-fix {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
    gap: 50px;
}

.label-appearance {
    color: #DED46E;
    font-size: 22px;
    font-weight: 400;
}

.input-text {
    font-size: 20px;
    padding: 2px 14px 2px 4px;
    color: #FFFFFF;
    flex-grow: 1;
    border-bottom: 1px solid #FFFFFF;
    height: 40px;
}

.form-input::placeholder {
    color: #787777;
}

.mailform-delta {
    position: absolute;
    bottom: 4px;
    right: 0;
    width: 14px;
    height: 14px;
}


.time-select {
    display: flex;
    align-items: center;
    gap: 50px;
    color: #FFFFFF;
}

.custom-select {
    position: relative;
    cursor: pointer;
    user-select: none;
    text-align: center;
    width: 100px;
    height: 40px;
    font-size: 20px;
}

.custom-select .selected {
    background: #1D1D1F;
    border: none;
    border-radius: 0;
    padding: 5px 30px 5px 10px;
    border-bottom: 1px solid #FFFFFF;
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.custom-select .selected::before {
    content: '';
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 10px;
    height: 6px;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="6"><polygon points="0,0 10,0 5,6" fill="%23FFFFFF"/></svg>') no-repeat center center;
    background-size: contain;
}

.custom-select .selected::after {
    content: "時";
    margin-left: 4px;
    font-size: 20px;
    color: #FFFFFF;
}

.custom-select .options {
    position: absolute;
    top: 45px;
    left: 0;
    right: 0;
    max-height: 200px;
    overflow-y: auto;
    background: #1D1D1F;
    display: none;
    z-index: 100;
    margin: 0;
    padding: 0;
    list-style: none;
    color: #FFFFFF;
    -webkit-overflow-scrolling: touch;
    /* モバイルタッチ対応 */
}

.custom-select .options li {
    padding: 10px 10px;
    text-align: center;
    background-color: #1D1D1F;
    cursor: pointer;
}

.custom-select .options li:hover,
.custom-select .options li:active {
    background-color: #DED46E;
    color: #1D1D1F;
    touch-action: manipulation;
}

.letter-space {
    letter-spacing: 4px;
}

.letter-space2 {
    letter-spacing: 8px;
}


/*ラジオボタン*/
.label-appearance-box {
    display: block;
    font-size: 22px;
    color: #DED46E;
    font-weight: 400;
    text-align: center;
    width: 154px;
}

.label-appearance-mini {
    font-size: 18px;
    font-weight: 200;
}

.radio-group {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.radio-group label {
    display: flex;
    align-items: center;
    cursor: pointer;
    position: relative;
    padding-left: 34px;
    font-size: 22px;
    color: #FFFFFF;
}

.radio-group input[type="radio"] {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

.radio-group label::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    border: none;
    background-color: #FFFFFF;
    box-sizing: border-box;
}

.radio-group input[type="radio"]:checked+label::after {
    content: '';
    position: absolute;
    left: 3px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    background-color: #C1272D;
}

/*チェックボックス*/
.checkbox-group {
    display: grid;
    grid-template-columns: repeat(2, auto);
    row-gap: 16px;
    column-gap: 30px;
}

.checkbox-group label {
    display: flex;
    align-items: center;
    cursor: pointer;
    position: relative;
    padding-left: 34px;
    font-size: 22px;
    color: #FFFFFF;
}

.checkbox-group input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

.checkbox-group label::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    border: none;
    background-color: #FFFFFF;
    box-sizing: border-box;
}

.checkbox-group input[type="checkbox"]:checked+label::after {
    content: '';
    position: absolute;
    left: 3px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    background-color: #C1272D;
}

.submit-btn-area {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.submit-btn {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 8px 0;
    border: 1px solid #DED46E;
    border-radius: 6px;
    width: 600px;
    height: auto;
    gap: 10px;
    z-index: 6;
}

.submit-btn-text {
    padding: 0 0 2px 0;
    font-weight: 600;
    font-size: 22px;
    color: #FFFFFF;
    z-index: 8;
}

.submit-btn-effect {
    position: absolute;
    top: 0;
    left: 0;
    background-color: #DED46E;
    width: 0;
    height: 100%;
    transition: all 0.2s linear;
    z-index: 7;
}

.submit-btn:hover .submit-btn-effect {
    width: 100%;
}

.submit-btn:hover .submit-btn-text {
    color: #1D1D1F;
}

.contact-notes {
    text-align: center;
    font-size: 16px;
}

.optional-area {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.optional-header-area {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 0 12px 0;
    border-top: 1px solid #DED46E;
    width: 100%;
}

.optional-border {
    display: flex;
    flex-direction: column;
    padding: 20px;
    border-top: 1px solid #DED46E;
    border-bottom: 1px solid #DED46E;
    width: 100%;
}

@media screen and (max-width: 960px) {
    .category-contact {
        padding: 150px 0 80px 0;
    }
}

@media screen and (max-width: 600px) {
    .category-contact {
        padding: 150px 7% 80px 7%;
        width: 100%;
        gap: 40px;
    }

    .contact-header-area {
        height: 80px;
    }

    .contact-header-text {
        font-size: 20px;
        text-align: center;
    }

    .form-fix {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .input-text {
        width: 100%;
        background-color: #39393b;
        font-size: 18px;
    }

    .label-appearance {
        font-size: 20px;
    }

    .label-appearance-box {
        text-align: left;
        font-size: 20px;
        width: auto;
    }

    .radio-group {
        gap: 16px;
    }

    .radio-group label {
        font-size: 18px;
        padding-left: 28px;
    }

    .form-main {
        gap: 20px;
    }

    .radio-group label::before {
        width: 20px;
        height: 20px;
    }

    .radio-group input[type="radio"]:checked+label::after {
        left: 2px;
        width: 16px;
        height: 16px;
    }

    .checkbox-group label {
        font-size: 18px;
        padding-left: 28px;
        display: inline-block;
        width: auto;
    }

    .checkbox-group label::before {
        width: 20px;
        height: 20px;
    }

    .checkbox-group input[type="checkbox"]:checked+label::after {
        left: 2px;
        width: 16px;
        height: 16px;
    }

    #request_news+label::before {
        top: 29%;
    }

    #request_news:checked+label::after {
        top: 29%;
    }

    .submit-btn {
        width: 100%;
    }

    .submit-btn-text {
        font-size: 20px;
    }

    .contact-notes {
        text-align: left;
        font-size: 14px;
    }
}

@media screen and (max-width: 518px) {
    #request_event+label::before {
        top: 29%;
    }

    #request_event:checked+label::after {
        top: 29%;
    }
}

@media screen and (max-width: 450px) {
    .checkbox-group {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
    }
}

/*=================
#company
==================*/
.company {
    position: relative;
    display: flex;
    border-top: 1px solid #DED46E;
    border-bottom: 1px solid #DED46E;
    width: 100%;
    height: 662px;
    z-index: 5;
}

.category-company {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 150px 0;
    max-width: 1000px;
    height: 100%;
}

.company-text-area {
    position: relative;
    display: flex;
}

.company-text-list-area {
    display: flex;
    flex-direction: column;
    padding: 10px 0;
    gap: 29px;
}

.company-text-list {
    display: flex;
    flex-direction: row;
    gap: 40px;
}

.company-text {
    line-height: 20px;
    font-size: 20px;
}

.company-text-fix {
    letter-spacing: 10px;
}

.company-text-line-fix {
    line-height: 14px;
    padding: 3px 0 0 0;
}

.company-text-decoline {
    position: absolute;
    top: 0;
    left: 102px;
    width: 1px;
    height: 100%;
    background-color: #FFFFFF;
}

.company-img {
    display: flex;
    width: 1920px;
    z-index: 5;
}

@media screen and (max-width: 960px) {
    .category-company {
        padding: 150px 0 80px 0;
    }
}

@media screen and (max-width: 600px) {
    .category-company {
        padding: 150px 5% 80px 5%;
    }

    .company-text {
        font-size: 16px;
    }

    .company-text-right {
        width: 218px;
    }

    .company-text-decoline {
        left: 84px;
    }

    .company-text-line-fix {
        line-height: 20px;
        padding: 0;
    }

    .company-text-list-area {
        gap: 20px;
    }

    .company-text-fix {
        letter-spacing: 8px;
    }

    .cta-btn-text {
        line-height: clamp(16px, calc(9.14px + 2.1429vw), 22px);
        font-size: clamp(16px, calc(9.14px + 2.1429vw), 22px);
    }
}

/*=================
#footer
==================*/
.footer {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #1D1D1F;
    width: 100%;
    height: 80px;
    z-index: 5;
}

.footer-text {
    font-size: 14px;
}

/*=================
単独　CSS
==================*/
body {
    font-family: "Noto Serif JP", serif;
    background-color: #1D1D1F;
}

button {
    font-family: "Noto Serif JP", serif;
}

.font-color-main {
    color: #DED46E;
}

.font-color-black {
    color: #1D1D1F;
}

.font-color-gray {
    color: #394150;
}

.font-color-gray-light {
    color: #515967;
}

.font-color-red {
    color: #C1272D;
}

.font-color-white {
    color: #FFFFFF;
}

.bgcolor-main {
    background-color: #DED46E;
}

.bgcolor-gradation-line {
    background-image: linear-gradient(90deg, #fff9b7, #ded46e 50% 100%);
}

.bgcolor-gradation-text {
    background: linear-gradient(to right, #fff9b7, #ded46e 50% 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
}

.bgcolor-gradation-circle {
    background-image: radial-gradient(#ffffff, #cbcbcb 60%, #6f6f6f 100%);
}

@media screen and (max-width:960px) {
    .bgcolor-gradation-circle {
        background-image: radial-gradient(#979797, #6f6f6f 60%, #1D1D1F 100%);
    }
}

/*=================
メールフォームエラー用
==================*/
.form-fix.has-error .input-text {
    background: #FFBEC1;
    border: 2px solid #981F24;
    color: #1D1D1F;
}

.form-fix.has-error .input-text::placeholder {
    color: #981F24;
    opacity: 1;
}

.form-fix.has-error .custom-select .selected {
    background: #FFBEC1 !important;
    border: 2px solid #981F24 !important;
    color: #981F24 !important;
}

.form-fix.has-error .custom-select .selected *,
.form-fix.has-error .custom-select .selected::before,
.form-fix.has-error .custom-select .selected::after {
    color: #981F24 !important;
    fill: #981F24 !important;
}

.form-fix.has-error .radio-group label::before,
.form-fix.has-error .checkbox-group label::before {
    outline: 2px solid #981F24;
    background: #FFBEC1;
}

input.input-text:autofill,
input.input-text:-webkit-autofill {
    -webkit-text-fill-color: #1D1D1F !important;
    caret-color: #1D1D1F !important;
    box-shadow: 0 0 0 1000px #FFFFFF inset !important;
}

.form-fix.has-error input.input-text:autofill,
.form-fix.has-error input.input-text:-webkit-autofill {
    -webkit-text-fill-color: #1D1D1F !important;
    caret-color: #1D1D1F !important;
    box-shadow: 0 0 0 1000px #FFBEC1 inset !important;
    border: 2px solid #981F24 !important;
}

input.input-text:-moz-autofill {
    box-shadow: 0 0 0 1000px #FFFFFF inset !important;
    color: #1D1D1F !important;
}

.form-fix.has-error input.input-text:-moz-autofill {
    box-shadow: 0 0 0 1000px #FFBEC1 inset !important;
    color: #1D1D1F !important;
    border: 2px solid #981F24 !important;
}

.custom-select.has-error .selected,
.custom-select.has-error .selected *,
.custom-select.has-error .selected::before,
.custom-select.has-error .selected::after {
    color: #981F24 !important;
    fill: #981F24 !important;
    background: #FFBEC1 !important;
    border: 2px solid #981F24 !important;
}

.form-fix.has-error:has(input.input-text) .mailform-delta {
    display: none !important
}

.form-global-error {
    display: none;
    text-align: center;
    font-size: 20px;
    color: #FFBEC1;
    margin: 12px 0;
}

.form-global-error.is-show {
    display: block
}

/*=================
サンクスページ
==================*/
.thanks-page-contents {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 5%;
    background-color: #1D1D1F;
    width: 100%;
    gap: clamp(30px, calc(25.54px + 1.2739vw), 50px);
}

.logo-img {
    margin: 0 0 clamp(70px, calc(63.31px + 1.9108vw), 100px) 0;
    width: clamp(150px, calc(116.56px + 9.5541vw), 300px);
}

.thanks-page-header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: clamp(8px, calc(6.22px + 0.5096vw), 16px);
}

.thanks-page-header-text {
    font-size: clamp(20px, calc(17.77px + 0.6369vw), 30px);
}

.under-line {
    background-color: #DED46E;
    width: clamp(80px, calc(53.25px + 7.6433vw), 200px);
    height: clamp(2px, calc(1.55px + 0.1274vw), 4px);
}

.thanks-page-notes {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.thanks-page-notes {
    text-align: center;
    font-size: clamp(14px, calc(13.11px + 0.2548vw), 18px);
    gap: 10px;
}

@media screen and (max-width:1280px) {
    .logo-img {
        margin: 0;
    }
}

@media screen and (max-width:960px) {
    .logo-img {
        margin: 0 0 clamp(70px, calc(63.31px + 1.9108vw), 100px) 0;
    }
}