@charset "utf-8";

/* すべての要素に適用 */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}


html {
    font-size: 16px;
    scroll-behavior: smooth;
}

body {
    background-color: #fff;
    font-size: 1rem;
    margin: 0px;
    font-family: "Yu Mincho", "Noto Serif JP", serif;
}

img {
    max-width: 100%;

}




.section-header {
    margin-top: 5rem;
    position: relative;
}

.section-header:before {
    content: "";
    background: url(../images/hero__img1.jpg) no-repeat;
    background-size: cover;
    height: 50px;
    width: 50%;
    display: block;
    position: absolute;
    right: 0;
    top: 80%;

    clip-path: polygon(10% 0, 100% 0%, 100% 100%, 0 100%);
}

.black-area {
    height: 42.6vw;
    border-top: 1px solid #2589d0;
    border-bottom: 1px solid #2589d0;
    background-color: #fff;
}

.section-inner {
    padding: 11.7vw 4.8vw 0 4.8vw;
}

.text-area {
    opacity: 1;
    transform: translateY(0);
}

.section-header h2 {
    font-size: 6.93333vw;
    letter-spacing: 0.8vw;
    color: #2589d0;
}

.text-mini {
    font-size: 3.2vw;
    margin-top: 3.2vw;
    color: #2589d0;
}



.section-detail_image {
    margin-top: 20.6vw;
    margin-bottom: 8.53vw;
    opacity: 1;
    transform: translateY(0);
}

.main-pict {
    margin-bottom: 2.77vw;
}

.main-pict figure {
    width: 100%;
    display: flex;
    flex-direction: reverse;
    justify-content: center;
    gap: 10px;
}

.f-img {
    width: 30%;

}

.s-img {
    width: 45%;
}




.section-detail_work h2 {
    font-size: 5.6vw;
    line-height: 9.6vw;
    padding-left: 10vw;
    position: relative;
}

.section-detail_work h2:before {
    content: "";
    background: url(../images/niji-t.png) no-repeat;
    width: 32px;
    height: 88px;
    background-size: 100%;
    position: absolute;
    left: 0;
}

.section-detail_work h2 span {
    color: #000;
    display: block;
}

.section-detail_work h2 .text-cat {
    font-size: 12px;
    color: #888888;
}

.section-detail_work h2 span:first-of-type {
    margin: 0;
    font-size: 1rem;
}


.section-inner a:before {
    content: "";
    background: url(../images/新しいウィンドウで開くボタン\　1.png) no-repeat;
    width: 18px;
    height: 18px;
    background-size: 100%;
    position: absolute;
    left: 23px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}




.button-54 {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 225px;
    margin: 0 auto 0 10vw;
    padding: .7em 3em .7em 2em;
    border: 1px solid #2589d0;
    border-radius: 5px;
    background-color: #fff;
    color: #2589d0;
    font-size: 1em;
    cursor: pointer;
}

.button-54::after {
    position: absolute;
    right: 2em;
    transform: translateY(-50%);
    transform-origin: left;
    width: 2em;
    height: .5em;
    background-color: #2589d0;
    clip-path: polygon(0 100%, 100% 100%, 70% 40%, 70% 90%, 0% 90%);
    content: '';
    transition: transform .3s;
}

.button-54:hover::after {
    transform: translateY(-50%) scaleX(1.4);
}


.text-box h3 {
    font-size: 4.8vw;
    margin-bottom: 6.4vw;
    line-height: 8vw;
}

.text {
    font-size: 4vw;
    line-height: 8vw;
    margin-bottom: 6.4vw;
}