@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');


#splash {
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 99999999999;
    background: #e9e9e9;
}

.logo-fade {
    width: 50vw;
    margin: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation-name: logo-fade;
    animation-duration: 2s;
    animation-fill-mode: forwards;
    opacity: 0;
    animation-delay: 0.5s;
}

@keyframes logo-fade {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@media(max-width:1000px) {
    .logo-fade {
        width: 90vw;
    }
}



#fixed_nav ul li:nth-child(1) a,
.header-index ul li:nth-child(1) a {
    color: #FF4D4D;
}

.header-index {
    box-shadow: 0px 5px 10px #3333334d;
    background-color: #ffffffa9;
    z-index: 1;
    position: fixed;
    display: flex;
    width: 100vw;
    justify-content: space-between;
    align-items: center;
    top: 0px;
}

.header-index ul {
    padding: 0;
    display: flex;
    list-style: none;
}

.header-index h1 {
    padding: 0.2em 0 0.2em 0.5em;
    width: calc(20vw + 210px);
}
   
.header-index h1 span {
    display: block;
    font-size: 18px;
}

.header-index ul li {
    margin-right: calc(10vw - 100px);
}

.header-index ul li a {
    display: inline-block;
    position: relative;
    font-size: 20px;
    text-decoration: none;
    color: #333;
    letter-spacing: 2px;
}

.header-index ul li a::after,
.header-index ul li a::before {
    content: "";
    width: 0;
    height: 2px;
    background-color: #ee2d7b;
    transition: .3s;
    position: absolute;
}

.header-index ul li a::before {
    top: 0;
    left: 0;
}

.header-index ul li a::after {
    bottom: 0;
    right: 0;
}

.header-index ul li a:hover::before,
.header-index ul li a:hover::after {
    width: 100%;
}


#header-index.UpMove {
    animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime {
    from {
        opacity: 1;
        transform: translateY(0);
    }

    to {
        opacity: 0;
        transform: translateY(-100px);
    }
}

#header-index.DownMove {
    animation: DownAnime 0.5s forwards;
}

@keyframes DownAnime {
    from {
        opacity: 0;
        transform: translateY(-100px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media(max-width:1000px) {
    .header-index ul {
        display: none;
    }

    .header-index {
        top: 0px;
        background-color: transparent;
    }

    .header-index h1 {
        font-size: 28px;
        margin-left: 0px;
    }

    .header-index h1 span {
        font-size: 14px;
    }
}

.firstview_container {
    overflow: hidden;
    height: 100vh;
    width: 100vw;
    margin: 0 auto;
    display: grid;
    gap: 1px 1px;
    grid-auto-columns: 1fr;
    grid-auto-rows: 1fr;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
}

.img {
    height: 50vh;
    width: 100vw;
    overflow: hidden;
}

.img img {
    height: 50vh;
    width: 100vw;
    object-fit: cover;
    filter: grayscale(100%);
    transition: 1.5s all;
}

.img img:hover {
    filter: grayscale(0%) brightness(110%);
    transition: 0.5s all;
    transform: scale(1.1);
}

.img2 img {
    animation-delay: 1s;
}

.img3 img {
    animation-delay: 2s;
}

.img4 img {
    animation-delay: 3s;
}

.img5 img {
    animation-delay: 4s;
}

.img6 img {
    animation-delay: 5s;
}

.img7 img {
    animation-delay: 6s;
}

.img8 img {
    animation-delay: 7s;
}


.img1 img,
.img4 img {
    object-position: top;
}

.service {
    position: relative;
    width: 80vw;
    margin: 80px auto 180px;
    text-align: center;
}

.mission-catch {
    text-align: center;
    margin-top: 120px;
    opacity: 0;
    transform: translateY(100px);
    transition: 2s all;
}


.mission-catch.fadein-mission-catch {
    opacity: 1;
    transform: translateY(0px);
    transition: 2s all;
}

.mission-catch h1 {
    background: linear-gradient(transparent 40%, #ff5f15b7);
    display: inline-block;
    font-size: 36px;
    margin-bottom: 40px;
}


.point {
    width: 70vw;
    margin: 40px auto 180px;
}

.point_title {
    text-align: center;
}

.point h1 {
    font-size: 32px;
    backdrop-filter: blur(1px);
    display: inline-block;
    text-align: center;
    margin: 40px auto;
    border: #333 1px solid;
    padding: 0.5em 1em;
    box-shadow: 5px 5px 0px #333;
}

.point ul {
    padding: 0;
    list-style: none;
    margin: 0 auto;
}

.point ul li {
    margin-bottom: 48px;
    padding: 2em 3em;
    position: relative;
}

.point_subtitle {
    display: flex;
    justify-content: start;
    align-items: center;
    text-align: center;
    margin-bottom: 24px;
}

.point_subtitle svg {
    width: 60px;
    height: 80px;
    margin-right: 8px;
}

.point ul li h2 {
    display: inline-block;
}

.point ul li p {
    line-height: 38px;
    font-size: 18px;
}

.point ul li p a {
    color: #333;
}

.point ul li p b {
    color: #ff0000;
}

.point_sign01 {
    width: 60vw;
    opacity: 0;
    transition: 2s all;
    transform: translateY(100px)
}

.point_sign01 li {
    box-shadow: 2px 2px 5px #a1a1a1;
    background-color: #ffffffc7;
}

.point_sign02 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.sign {
    background-color: #ffffffe8;
    opacity: 0;
    transition: 2s all;
    transform: translateY(100px);
    width: 30vw;
    margin: 0 8px;
    box-shadow: 2px 2px 5px #a1a1a1
}

.sign.fadein-sign {
    opacity: 1;
    transition: all 2s;
    transform: translateY(0px);
}
.point_sign01.fadein-point_sign01 {
    opacity: 1;
    transition: 2s all;
    transform: translateY(0);
}

.service {
    width: 70vw;
    margin: 180px auto 0;
}

.service h1 {
    background: linear-gradient(transparent 40%, #ff5f15b7);
    display: inline-block;
    font-size: 32px;
}

.service ul {
    width: 85%;
    justify-content: space-between;
    list-style: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    margin: 40px auto;
}

.service ul li:nth-child(4) img {
    object-position: 50% 25%
}

.service_list {
    opacity: 0;
    transition: all 2s;
    transform: scale(0);
    width: 18vw;
    height: 14vw;
    margin: 40px 0px ;
}

.service_list.fadein-service_list {
    opacity: 1;
    transition: all 2s;
    transform: scale(1);
}

.service_list h3 {
    margin-top: 16px;
    font-weight: 900;
    font-size: 22px;
}

.service_img {
    border: #ff9249 2px solid;
    width: 100%;
    height: 100%;
    overflow: hidden;
    transition: all 0.5s;
}

.service_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.5s;
}

.service_img:hover {
    box-shadow: 0px 0px 10px #333;
    transition: all 0.5s;
}

.service_img img:hover {
    filter: brightness(0.8);
    transition: all 0.5s;
    transform: scale(1.1);
}

.modal {
    display: none;
    height: 100vh;
    position: fixed;
    top: 0;
    width: 100%;
}

.modal__bg {
    background: rgba(0, 0, 0, 0.8);
    height: 100vh;
    position: absolute;
    width: 100%;
}

.modal__content {
    background-color: #ffffff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cg fill-rule='evenodd'%3E%3Cg fill='%23d1d1d1' fill-opacity='0.4'%3E%3Cpath opacity='.5' d='M96 95h4v1h-4v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9zm-1 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-9-10h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm9-10v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-9-10h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm9-10v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-9-10h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm9-10v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-9-10h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9z'/%3E%3Cpath d='M6 5V0H5v5H0v1h5v94h1V6h94V5H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    left: 50%;
    padding: 2em 3em;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 50vw;
    text-align: center;
    border-radius: 20px;
}

.model_title h1 {
    background: linear-gradient(transparent 40%, #ff5f15b7);
    text-align: center;
    margin: 0 auto 40px;
    display: inline-block;
}

.modal__content p {
    line-height: 32px;
    font-size: 18px;
}

.modal__content a {
    text-align: center;
    display: block;
    margin-top: 40px;
}
.modal__content-img {
    display: flex;
    justify-content: center;
}
.modal__content img {
    width: 25%;
    display: block;
    margin: 0 16px 40px;
}
.modal_link {
    text-align: center;
    margin-top: 40px;
}

.modal_link a {
    margin: 16px 0 0 0;
    display: inline-block;
    text-decoration: none;
    color: #fff;
    font-weight: 900;
    border: 1px solid #ff3232;
    padding: 0.5em 1em;
    transition: 0.5s all;
    background-color: #ff32327c;
}

.modal_link a:hover {
    transition: 0.5s all;
    box-shadow: 2px 2px 0px #333;
}
.goto_form {
    margin: 120px auto 0px;
    text-align: center;
    padding: 3em 0;
}

.goto_form-title {
    margin: 0 auto 40px;
}

.goto_form-title h1 {
    font-size: 32px;
    border: 1px #333 solid;
    display: inline-block;
    padding: 0.3em 0.5em;
    box-shadow: 3px 3px 0px #333;
    backdrop-filter: blur(1px);
}

.goto_form-question {
    display: flex;
    margin: 80px auto 40px;
    justify-content: center;
}

.goto_form-question h2 {
    font-size: 18px;
    line-height: 34px;
    background-color: #ffffff;
    margin: 0 8px;
    width: calc(20vw - 40px);
    padding: 2em;
    text-align: left;
    border: #333 1px solid;
    box-shadow: 1px 1px 0px #333;
    border-radius: 10px;
}

.goto_form-question--list {
    transition: .5s all;
    transform: scale(0);
}

.goto_form-question--list.fadein-goto_form-question--list {
    transition: 1.5s all;
    transform: scale(1.0);
}

.goto_form-question--list:hover {
    transition: .5s all;
    transform: scale(1.05);
    border-radius: 0;
    border-color: #ff3232;
}

.goto_form p {
    width: 65vw;
    margin: 0 auto 24px;
    font-size: 18px;
    line-height: 32px;
}

.goto_form p span {
    display: inline;
    font-size: 12px;
}

.goto_form p b {
    color: #ff0000;
}

.goto_form span {
    display: block;
    margin: 0 auto;
}


.btn_wrap {
    margin: 0 auto;
    width: 60vw;
    display: flex;
    justify-content: center;
    align-items: center;
}

.cs_btn {
    text-align: center;
    padding: 0;
    margin: 0px auto 80px;
}

.cs_btn a {
    transition: all 500ms;
    font-weight: 900;
    text-decoration: none;
    color: #333;
    padding: 1.5em 3em;
    background-color: #6aff2fb7;
    box-shadow: rgba(0, 0, 0, 0.3) 2px 8px 8px;
    border: 1px rgba(255, 255, 255, 0.4) solid;
    border-bottom: 1px rgba(40, 40, 40, 0.35) solid;
    border-right: 1px rgba(40, 40, 40, 0.35) solid;
}

.cs_btn a:hover {
    transition: all 500ms;
    border-radius: 20px;
    background-color: #6aff2f;
}

.next_bar {
    text-align: center;
    margin: 40px auto;
}

.next_bar svg {
    animation: firstview_scroll-move 3s infinite;
}

.about {
    width: 80vw;
    margin: 120px 0 180px auto;
}

.about_title {
    font-size: 60px;
    letter-spacing: 4px;
    margin-bottom: 40px;
    color: #333;
    opacity: 0;
    transform: translateY(80px);
    z-index: -999;
}

.about_title span {
    letter-spacing: 1px;
    display: block;
    font-size: 18px;
    margin-bottom: 40px;
}

.about_title.fadein-about_title {
    transition: 1s ease-in;
    transform: translateY(0px);
    opacity: 1;
    z-index: 1;
}

.about_container {
    margin: 0 0 0 auto;
    width: 80vw;
    display: flex;
    justify-content: space-between;
}

.about_img-container {
    margin-right: 40px;
}

.about_text {
    box-shadow: rgba(0, 0, 0, 0.3) 2px 8px 8px;
    border: 1px rgba(255, 255, 255, 0.4) solid;
    border-bottom: 1px rgba(40, 40, 40, 0.35) solid;
    border-right: 1px rgba(40, 40, 40, 0.35) solid;
    padding: 1em 2em;
    background-color: #ffffffb0;
    font-weight: 800;
    width: 35vw;
    line-height: 42px;
}

.about_text p:nth-child(1) {
    margin-bottom: 24px;
}

.about_img01 {
    opacity: 0;
    transform: translate(0, 100px);
    transition: all 2s;
    width: 40vw;
    height: 280px;
    margin-bottom: 16px;

}

.about_img01.fadein-about_img01 {
    opacity: 1;
    transform: translate(0, 0);
}

.about_img01 img {
    object-fit: cover;
    width: 40vw;
    height: 280px;
}

.about_img02 {
    opacity: 0;
    transform: translate(0, 100px);
    transition: all 2s;
    width: 40vw;
    height: 280px;
}

.about_img02 img {
    object-fit: cover;
    width: 40vw;
    height: 280px;
}

.about_img02.fadein-about_img02 {
    opacity: 1;
    transform: translate(0, 0);
}

.about_btn-schedule a,
.about_btn-works a {
    display: inline-block;
    color: #333;
    margin-top: 16px;
    transition: all 200ms;
}

.about_btn-schedule a:hover,
.about_btn-works a:hover {
    color: #FF4D4D;
    transition: all 200ms;
}

.benefits {
    width: 80vw;
    margin: 80px 0 40px auto;
}

.benefits_title {
    opacity: 0;
    transform: translateY(80px);
    display: inline-block;
    font-size: 60px;
    letter-spacing: 4px;
    margin-bottom: 40px;
    color: #333;
}

.benefits_title span {
    letter-spacing: 1px;
    display: block;
    font-size: 16px;
}

.benefits_title.fadein-benefits_title {
    transition: 1s ease-in;
    transform: translateY(0px);
    opacity: 1;
    z-index: 1;
}


.benefits h2 {
    width: 90%;
}

.benefits_list {
    flex-wrap: wrap;
    margin: 40px auto 40px 0;
    width: 70vw;
    padding: 0;
    list-style: none;
    display: flex;
    justify-content: space-around;
}

.benefits_list li {
    width: 30vw;
    max-width: 700px;
    margin: 24px;
    border: 1px rgba(255, 255, 255, 0.4) solid;
    border-bottom: 1px rgba(40, 40, 40, 0.35) solid;
    border-right: 1px rgba(40, 40, 40, 0.35) solid;
    background-color: #ffffffc2;
    padding: 2em;
    box-shadow: 3px 3px 10px #333333;
}

.benefits_list-01,
.benefits_list-02 {
    transform: scale(0.7);
    opacity: 0;

}

.benefits_list-01.fadein-benefits_list,
.benefits_list-02.fadein-benefits_list {
    transform: scale(1.0);
    opacity: 1;
    transition: all 1s;
}

.benefits_list-title {
    margin: 0 0 40px 0;
    width: 90%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.benefits_list-title svg {
    margin: 0;
    width: 100px;
    height: 100px;
}

.benefits_list li p {
    line-height: 34px;
}

.benefits_list li p a {
    color: #333;
}

.benefits_list li p a:hover {
    color: #FF4D4D;
}


.works {
    width: 80vw;
    margin: 0px 0 40px auto;
}

.works_title {
    font-size: 60px;
    letter-spacing: 4px;
    margin-bottom: 40px;
    color: #333;
    opacity: 0;
    transform: translateY(80px);
    z-index: -999;
}

.works_title.fadein-works_title {
    transition: 1s ease-in;
    transform: translateY(0px);
    opacity: 1;
    z-index: 1;
}

.works_title span {
    letter-spacing: 1px;
    display: block;
    margin-top: 24px;
    font-size: 16px;
}

.works_container {
    width: 80vw;
    margin: 0 0 0 auto;
}

.works_container ul {
    list-style: none;
    padding: 0;
}


.works_container ul li {
    margin-bottom: 64px;
    display: flex;
    justify-content: space-between;
    align-items: self-end;
    border-bottom: 1px solid #333;
    padding-bottom: 64px;
}

.works_container ul li:nth-child(4) {
    border: none;
}

.works_list-img {
    width: 45vw;
    height: calc(100px + 20vw);
    position: relative;
    box-shadow: rgba(0, 0, 0, 0.3) 2px 8px 8px;
    border: 1px rgba(255, 255, 255, 0.4) solid;
    border-bottom: 1px rgba(40, 40, 40, 0.35) solid;
    border-right: 1px rgba(40, 40, 40, 0.35) solid;
}

.works_list-img::after {
    position: absolute;
    top: 0;
    height: 100%;
    width: 100%;
    content: '';
    background-color: #F1F1F1;
    display: block;
}

.fadein-works_list-img.works_list-img::after {
    transition: all 500ms;
    width: 0%;
}

.works_list-img img {
    filter: brightness(120%) saturate(120%);
    width: 45vw;
    height: calc(100px + 20vw);
    object-fit: cover;
}

.works_list-text {
    box-shadow: rgba(0, 0, 0, 0.3) 2px 8px 8px;
    border: 1px rgba(255, 255, 255, 0.4) solid;
    border-bottom: 1px rgba(40, 40, 40, 0.35) solid;
    border-right: 1px rgba(40, 40, 40, 0.35) solid;
    background-color: #fff;
    width: 30vw;
    padding: 40px;
    margin: 0 24px;
}

.works_list-text.fadein-works_list-text {
    transition: all 2s;
    border-radius: 40px 0 40px 0;
}

.works_list-text h2 {
    font-size: 18px;
}

.works_list-text span {
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
    display: block;
    font-size: 16px;
    margin: 32px 0;
}

.works_list-text p {
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
    font-size: 16px;
    line-height: 40px;
}

.works_button {
    text-align: center;
}

.works_button a {
    font-weight: 800;
    transition: all 500ms;
    padding: 1em 4em;
    text-decoration: none;
    color: #333;
    font-size: 20px;
    background-color: #ff9696b7;
    box-shadow: rgba(0, 0, 0, 0.3) 2px 8px 8px;
    border: 1px rgba(255, 255, 255, 0.4) solid;
    border-bottom: 1px rgba(40, 40, 40, 0.35) solid;
    border-right: 1px rgba(40, 40, 40, 0.35) solid;
}

.works_button a:hover {
    transition: all 500ms;
    border-radius: 20px;
    background-color: #ff9696;
}

.others {
    width: 80vw;
    margin: 180px 0 0 auto;
}

.others_title {
    font-size: 60px;
    letter-spacing: 4px;
    margin-bottom: 40px;
    color: #333;
    opacity: 0;
    transform: translateY(80px);
    z-index: -1;
}

.others_title.fadein-others_title {
    transition: 1s ease-in;
    transform: translateY(0px);
    opacity: 1;
}

.others_title span {
    letter-spacing: 1px;
    display: block;
    margin-top: 16px;
    font-size: 16px;
    line-height: 24px;
}

.others ul {
    list-style: none;
    padding: 0;
}

.others ul li {
    margin-bottom: 32px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.others_list-img {
    width: 50vw;
    height: 200px;
    border-radius: 40px 0 40px 0;
}

.others_list-img img {
    filter: brightness(90%);
    border-radius: 40px 0 40px 0;
    width: 50vw;
    height: 200px;
    object-fit: cover;
}

.others_list-link {
    opacity: 1;
    transform: translateX(-360px);
    margin-right: 5vw;
}

.others_list-link.fadein-others_list-link {
    transition: all 2s;
    transform: translateX(0px);
}


.others_list-link a {
    width: 240px;
    display: block;
    text-decoration: none;
    color: #333;
    font-size: 32px;
    text-align: left;
    position: relative;
}

.others_list-link a::after {
    width: 100%;
    height: 1px;
    display: block;
    content: "";
    background-color: #FF4D4D;
}

.others_list-link a::before {
    width: 20px;
    height: 1px;
    display: block;
    content: "";
    background-color: #FF4D4D;
    transform: rotate(40deg);
    position: absolute;
    bottom: 6px;
    right: -2px;
}

.others_list-link a span {
    display: inline-block;
    font-size: 18px;
    font-weight: 900;
    background: linear-gradient(transparent 40%, #ff5f15b7);
}

.FAQ {
    width: 80vw;
    margin: 180px 0 0 auto;
}

.FAQ_title {
    font-size: 60px;
    letter-spacing: 4px;
    margin-bottom: 40px;
    color: #333;
    z-index: -1;
}

.FAQ_title span {
    letter-spacing: 1px;
    display: block;
    margin-top: 16px;
    font-size: 16px;
    line-height: 24px;
}


/*=========
accordion
=========*/

.accordion_area {
    width: 55vw;
}

.accordion_area .accordion_one .ac_header {
    background-color: #ffffff;
    border: 1px solid #ccc;
    padding: 1.1rem 4rem 1.1rem 2rem;
    position: relative;
    z-index: +1;
    cursor: pointer;
    transition: .2s;
}

.accordion_area .accordion_one .ac_header:not(.open):hover {
    background-color: #f1f8ff;
}

.accordion_area .accordion_one:nth-child(odd) .ac_header {
    background-color: #f5f5f5;
}

.accordion_area .accordion_one:nth-child(odd) .ac_header:not(.open):hover {
    background-color: #f1f8ff;
}

.accordion_area .accordion_one .ac_header .i_box {
    position: absolute;
    top: 50%;
    right: 2rem;
    width: 20px;
    height: 20px;
    margin-top: -10px;
}

.accordion_area .accordion_one .ac_header .i_box:before,
.accordion_area .accordion_one .ac_header .i_box:after {
    position: absolute;
    content: "";
    margin: auto;
    box-sizing: border-box;
    vertical-align: middle;
}

.accordion_area .accordion_one .ac_header .i_box:before {
    border-top: 2px solid #014897;
    width: 20px;
    height: 0;
    top: 0;
    bottom: 0;
    right: 0;
}

.accordion_area .accordion_one .ac_header .i_box:after {
    border-left: 2px solid #014897;
    width: 0;
    height: 20px;
    top: 0;
    bottom: 0;
    right: 9px;
    transition: .3s;
}

.accordion_area .accordion_one .ac_header.open .i_box:after {
    height: 0;
}

.accordion_area .accordion_one .ac_inner {
    display: none;
    padding: 1.5rem 2rem 1.5rem 2rem;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    box-sizing: border-box;
    background: #fff;
}
.accordion_one {
    margin-bottom: 8px;
}
/*=========
faq
=========*/

.p-faq__headinner {
    display: block;
    padding-left: 35px;
    position: relative;
    line-height: 1.5;
}

.p-faq__headinner::before {
    position: absolute;
    left: 0;
    content: "Q．";
    color: #09357f;
    font-size: 18px;
    font-weight: bold;
}

.p-faq__headinner p.p-faq__q-txt {
    font-size: 18px;
}

.p-faq__bodyinner {
    display: block;
    padding-left: 35px;
    position: relative;
    line-height: 1.5;
}

.p-faq__bodyinner::before {
    position: absolute;
    left: 0;
    content: "A．";
    color: #de0000;
    font-size: 18px;
    font-weight: bold;
}

.p-faq__bodyinner p.p-faq__a-txt {
    font-size: 16px;
}


@media(min-width:450px) {
    .firstview_container {
        z-index: 1;
        overflow: hidden;
        height: 100vh;
        width: 100vw;
        margin: 0 auto;
        display: grid;
        gap: 1px 1px;
        grid-auto-columns: 1fr;
        grid-auto-rows: 1fr;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr 1fr;
    }

    .img {
        height: 50vh;
        width: 50vw;
        overflow: hidden;
    }

    .img img {
        height: 50vh;
        width: 50vw;
        object-fit: cover;
        filter: grayscale(100%);
        animation: FV_img-move 8s infinite;
    }
}

@media(min-width:1000px) {
    .firstview_container {
        z-index: 1;
        overflow: hidden;
        height: 100vh;
        width: 100vw;
        margin: 0 auto;
        display: grid;
        gap: 1px 1px;
        grid-auto-columns: 1fr;
        grid-auto-rows: 1fr;
        grid-template-columns: 1fr 1fr 1fr 1fr;
        grid-template-rows: 1fr 1fr;
    }

    .img {
        height: 50vh;
        width: 25vw;
        overflow: hidden;
    }

    .img img {
        height: 50vh;
        width: 25vw;
        object-fit: cover;
        filter: grayscale(100%);
        animation: FV_img-move 8s infinite;
    }
}

@media(max-width:1000px) {
    .btn_wrap {
        width: 95vw;
        display: block;
    }

    .cs_btn a {
        padding: 1.5em 3.5em;
    }

    .header-index {
        box-shadow: none;
        background-color: #ffffffe0;
    }

    .header-index h1 {
        padding: 0.8em 0.5em;
        width: 350px;
    }

    .mission-catch {
        width: 95vw;
        margin: 60px auto;
    }

    .mission-catch h1 {
        background: none;
        font-size: 28px;
        margin-bottom: 0px;
        line-height: 48px;
        position: relative;
        border-radius: 10px;
        font-weight: 900;
    }

    .point {
        width: 95vw;
        margin: 40px auto;
    }

    .point h1 {
        backdrop-filter: none;
        font-size: 26px;
        margin: 40px auto;
        border: #333 1px solid;
    }

    .point ul li {
        margin-bottom: 24px;
        padding: 2em;
        border-radius: 20px;
        position: relative;
    }

    .point_subtitle {
        font-size: 16px;
    }

    .point ul li p a {
        color: #333;
    }

    .point ul li p b {
        color: #ff0000;
    }

    .point_sign01 {
        width: 95vw;
    }

    .sign {
        width: 95vw;
        margin: 0;
    }

    .service {
        width: 95vw;
        margin: 80px auto;
    }

    .service h1 {
        background: none;
        font-size: 24px;
    }
    .service ul {
        width: 90vw;
        justify-content: center;
    }

    .service_list {
        width: 100%;
        height: 280px;
        margin: 40px 0;
    }

    .service_list h3 {
        margin: 8px 4px;
        font-size: 16px;
    }

    .modal__content {
        padding: 1em;
        width: 95vw;
    }

    .model_title h1 {
        font-size: 24px;
    }

    .modal__content p {
        line-height: 28px;
        font-size: 14px;
    }
    .modal__content img {
        width: 40%;
        display: block;
        margin: 0 16px 40px;
    }
    .modal_link {
        text-align: center;
        margin-top: 40px;
    }
    .goto_form {
        margin: 120px auto 0px;
        text-align: center;
        padding: 3em 0;
    }

    .goto_form-question {
        display: block;
        margin: 40px auto;
    }

    .goto_form-question h2 {
        font-size: 16px;
        line-height: 28px;
        margin: 16px auto;
        width: 80vw;
        padding: 1em;
    }

    .goto_form p {
        width: 95vw;
        padding: 1em;
        font-size: 16px;
        line-height: 28px;
        font-weight: 900;
    }

    .goto_form p b {
        color: #ff0000;
    }

    .goto_form span {
        display: block;
        margin: 0 auto 80px;
    }

    .goto_form-title h1 {
        font-size: 24px;
        box-shadow: 2px 2px 0px #333;
        backdrop-filter: blur(0px);
    }

    .next_bar {
        transform: scale(0.7);
    }

    .benefits {
        width: 95vw;
        margin: 0 auto;
    }

    .benefits h1 {
        font-size: 38px;
        letter-spacing: 0px;
        margin-bottom: 8px;
        color: #333;
        z-index: -999;
    }

    .benefits h1 span {
        letter-spacing: 0px;
        display: block;
        font-size: 14px;
    }

    .benefits h2 {
        font-size: 14px;
    }

    .benefits_list {
        margin: 40px auto;
        width: 95vw;
        padding: 0;
        list-style: none;
        display: block;
        justify-content: space-around;
    }

    .benefits_list li {
        width: 95vw;
        max-width: 700px;
        margin: 0 auto 40px;
        border: 1px rgba(255, 255, 255, 0.4) solid;
        border-bottom: 1px rgba(40, 40, 40, 0.35) solid;
        border-right: 1px rgba(40, 40, 40, 0.35) solid;
        background-color: #ffffffc2;
        padding: 2em;
        box-shadow: 3px 3px 10px #333333;
    }

    .benefits_list-title {
        margin: 0 0 40px 0;
        width: 90%;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .benefits_list-title svg {
        margin: 0;
        width: 100px;
        height: 100px;
    }

    .benefits_list li p {
        line-height: 34px;
    }

    .benefits_list li p a {
        color: #333;
    }

    .benefits_list li p a:hover {
        color: #FF4D4D;
    }

    .about {
        max-width: 600px;
        width: 95vw;
        margin: 80px auto;
    }

    .about_title {
        opacity: 1;
        transform: none;
        font-size: 38px;
        letter-spacing: 4px;
        margin-bottom: 40px;
        color: #333;
        z-index: -999;
    }

    .about_title span {
        letter-spacing: 1px;
        display: block;
        font-size: 14px;
        margin-bottom: 0px;
    }

    .about_container {
        margin: 0 auto;
        max-width: 600px;
        width: 90vw;
        display: block;
    }

    .about_img-container {
        margin: 0 auto;
        width: 95%;
    }

    .about_text {
        max-width: 500px;
        width: 100%;
        margin: 0 auto 32px;
    }

    .about_img01 {
        transition: none;
        transform: none;
        opacity: 1;
        width: 100%;
        max-width: 500px;
        height: 200px;
        margin: 0 auto 24px;
    }

    .about_img01 img {
        max-width: 500px;
        width: 100%;
        height: 200px;
    }

    .about_img02 {
        transition: none;
        transform: none;
        opacity: 1;
        max-width: 500px;
        width: 100%;
        height: 200px;
        margin: 0 auto;
    }

    .about_img02 img {
        max-width: 500px;
        width: 100%;
        height: 200px;
    }

    .works {
        max-width: 520px;
        width: 95vw;
        margin: 0 auto;
    }

    .works_title {
        opacity: 1;
        transform: none;
        font-size: 32px;
        letter-spacing: 4px;
    }

    .works_title span {
        letter-spacing: 1px;
        margin-top: 16px;
    }

    .works_container {
        width: 100%;
        margin: 0 auto;
    }

    .works_container ul {
        list-style: none;
        padding: 0;
    }

    .works_container ul li {
        margin-bottom: 24px;
        display: block;
        padding-bottom: 24px;
    }

    .works_list-img {
        width: 100%;
        max-width: 420px;
        height: 200px;
        margin: 0 auto 24px;
    }

    .works_list-img img {
        width: 100%;
        max-width: 420px;
        height: 200px;
    }

    .works_list-text {
        background-color: #ffffffb6;
        width: 100%;
        max-width: 420px;
        padding: 2em;
        margin: 0 auto 24px;
    }

    .works_list-text h2 {
        font-size: 18px;
    }

    .works_list-text span {
        display: block;
        font-size: 12px;
        margin: 16px 0;
    }

    .works_list-text p {
        font-size: 14px;
        line-height: 40px;
    }

    .works_button a {
        border: none;
        padding: 1em 4em;
        text-decoration: none;
        color: #333;
        background-color: #ff9696b7;
        font-size: 20px;
    }

    .works_list-img::after {
        display: none;
    }

    .others {
        max-width: 520px;
        width: 95vw;
        margin: 120px auto;
    }

    .others_title {
        opacity: 1;
        transform: none;
        font-size: 32px;
        letter-spacing: 4px;
    }

    .others_title span {
        margin-top: 8px;
        font-size: 12px;
    }

    .others ul li {
        margin-bottom: 32px;
        display: block;
    }

    .others_list-img {
        z-index: 0;
        width: 95%;
        height: 120px;
        margin: 0 auto;
    }

    .others_list-img img {
        width: 95%;
        height: 120px;
        margin: 0 auto;
    }

    .others_list-link {
        z-index: 1;
        opacity: 1;
        transform: none;
        margin: 8px auto 0;
    }

    .others_list-link.fadein-others_list-link {
        transition: all 2s;
        transform: none;
    }

    .others_list-link a {
        width: 80%;
        display: block;
        text-decoration: none;
        color: #333;
        font-size: 24px;
        text-align: left;
        position: relative;
        margin: 0 auto;
    }
    .FAQ {
        width: 95vw;
        margin: 120px auto;
    }
    .FAQ_title {
        font-size: 32px;
        letter-spacing: 0cm;
        margin-bottom: 32px;
    }
    
    .FAQ_title span {
        margin-top: 8px;
    }
    .accordion_area {
        width: 100%;
    }
}