@charset "UTF-8";

/* 共通部分
------------------------------- */
html {
    font-size: 100%;
}
body{
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 1.7;
    color: #1f1f1f;
    font-size: 14px;
    margin: 0;
    background-color: #1f1f1f;
}
a {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 1.7;
    font-size: 14px;
    color: #1f1f1f;
    text-decoration-color: none;  /*リンクの色を消す*/
}
img {
    object-fit: fill;
    object-position: center center;
    width: 100%;
}

.logo{
    object-fit: contain;
}

.b {
    font-weight: 600;
}



.text{
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 1.7;
    font-size: 1.5vw;
    color: #1f1f1f;
}



  html,body {
    overflow-x: hidden;
  }



/*画像の下の隙間を消すコード*/


div{
	text-align:center;
}
img{
	vertical-align:top;
}


.sp {
    display: none;
}

.pc {
    display: block;
}

.top_ga {
    background-image: url(../images/20251031_12212x.png);
    background-size: cover;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.top_ga img {
    width: 70%;
}

.area2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    background-image: url(../images/20251031_12262x.png);
    background-size: cover;
    background-position: center;
    padding: 5vw 0;
}

.area2 img {
    width: 70%;
}

.area2 a img {
    width: 100%;
}

.cta_area {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.cta_area a {
    width: 50%;
}

.area3 {
    margin: 10vw 0;
}
.area3 .inner{
    margin: 0 auto;
    width: 70%;
    display: flex;
    flex-direction: column;
    gap: 5vw;
}

.area3 .box {
    background-color: #ffffff90;
    padding: 3vw;
}

.area3 .container2 {
    border: solid #ffffff 0.2vw;
    padding: 3vw;
}

.area3 .container2 .text {
    color: #ffffff;
}


.area4 img {
    width: 100%;
}

.area4 {
    padding: 5vw 0;
}

.area4 .inner {
    width: 70%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5vw;
}

.footer {
    background-color: #ffff;
    padding: 3vw 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 5vw;
}

a:hover {
  opacity: 0.7; /* 透過具合（0〜1で調整） */
}

a {
    animation: pulse 2s infinite ease-in-out; /* ← 常に動く */
}

@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1); /* 少し大きく */
  }
  100% {
    transform: scale(1);
  }

}


.banner {
    position: fixed;
    right: 0;
    bottom: 0vw;
    width: 12vw;
}





/*モバイル版
--------------------------------------------------------------------------モバイル版*/
@media (max-width: 600px) {

    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    .text {
        font-size: 4.5vw;
    }

    .top_ga img{
        width: 100%;
    }

    .cta_area a {
        width: 80%;
    }

    .area2 {
        background-position: left;
        padding: 15vw 0;
    }

    .area2 img {
        width: 80%;
    }

    .area3 {
        margin: 20vw 0;
    }

    .area3 .inner {
        width: 90%;
        gap: 15vw;
    }

    .area3 img {
        width: 100%;
    }
    .area3 .container2 {
        border: solid #ffffff 0.8vw;
        padding: 3vw;
    }

    .area4 {
        padding: 15vw 0;
    }

    .area4 img {
        width: 100%;
    }


    .area4 .inner {
        width: 90%;
        gap: 10vw;
    }

    .footer {
        margin-top: 20vw;
    }

    .banner {
        bottom: 0;
        width: 100%;
    }
}
