

/* Buttons */
.btn {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 15px 70px 15px 40px;
    /* Right padding for arrow space, optional if we center content */
    border-radius: 60px;
    min-width: 320px;
    position: relative;
    text-align: center;
    line-height: 1.2;
    overflow: hidden; 
    z-index: 1;
    transition: color 0.4s ease; 
}
.btn::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color-red); /* hover時の背景色 */
    transform: translateX(-100%);
    transition: transform 0.4s ease;
    z-index: -1; 
    border-radius: 100px;
    border: none;
}
.btn:hover::before {
    transform: translateX(0); /* 左から中央へスライド */
}
.btn:hover{
    border: none;
}
.btn-main {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 1.3rem;
    letter-spacing: 0.1em;
    display: block;
}

.btn-sub {
    font-family: var(--font-body);
    font-size: 0.7rem;
    font-weight: normal;
    margin-top: 5px;
    opacity: 0.9;
    letter-spacing: 0.05em;
    display: block;
}

.btn--black {
    background-color: var(--color-black);
    color: var(--color-white);
}
.btn--white {
    background-color: var(--color-white);
    color: var(--color-black);
    min-width: 300px;
}
.btn--red {
    background-color: var(--wp--preset--color--vivid-red);
    color: var(--color-white);
}

.btn--black::before {
    background-color: #424242; /* hover時の背景色 */
}

.arrow {
    position: absolute;
    right: 25px;
    top: 50%;
    transform: translateY(-50%);
    background-image: url('data:image/svg+xml,%3Csvg%0A%20%20clip-rule%3D%22evenodd%22%0A%20%20fill%3D%22%23fff%22%0A%20%20fill-rule%3D%22evenodd%22%0A%20%20stroke-linejoin%3D%22round%22%0A%20%20stroke-miterlimit%3D%222%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%3E%0A%20%20%3Cpath%20d%3D%22m10.211%207.155c-.141-.108-.3-.157-.456-.157-.389%200-.755.306-.755.749v8.501c0%20.445.367.75.755.75.157%200%20.316-.05.457-.159%201.554-1.203%204.199-3.252%205.498-4.258.184-.142.29-.36.29-.592%200-.23-.107-.449-.291-.591-1.299-1.002-3.945-3.044-5.498-4.243z%22%2F%3E%0A%3C%2Fsvg%3E');
    background-repeat: no-repeat;
    background-size: contain;
    width: 30px;
    height: 30px;
}
.arrow.black{
    background-image: url('data:image/svg+xml,%3Csvg%20clip-rule%3D%22evenodd%22%20ill-rule%3D%22evenodd%22%20stroke-linejoin%3D%22round%22%20stroke-miterlimit%3D%222%22%20viewBox%3D%220%200%2024%2024%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m10.211%207.155c-.141-.108-.3-.157-.456-.157-.389%200-.755.306-.755.749v8.501c0%20.445.367.75.755.75.157%200%20.316-.05.457-.159%201.554-1.203%204.199-3.252%205.498-4.258.184-.142.29-.36.29-.592%200-.23-.107-.449-.291-.591-1.299-1.002-3.945-3.044-5.498-4.243z%22%2F%3E%3C%2Fsvg%3E');
}


.website__btn-wrapper {
    display: flex;
    max-width: 760px;
    margin: auto;
}
.website__btn-wrapper .btn{
    margin: auto;
}
@media screen and (max-width: 767px) {
    .website__btn-wrapper {
        flex-direction: column-reverse;
        gap: 15px;
    }
}

