/* layout.css - ページレイアウトと背景 */

/* ボックス共通設定 */
.box {
    padding: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

/* 背景画像設定 */
#box1 {
    background: url("../img/bg_sp01.jpeg") no-repeat center;
    background-size: cover;
}

#box1.box {
    justify-content: flex-start;
}

@media screen and (max-width:768px) {
    #box1.box {
        justify-content: center;
    }
}

#box2 {
    background: url("../img/bg_sp02.jpeg") no-repeat center;
    background-size: cover;
}

#box3 {
    background: url("../img/bg_sp03.jpeg") no-repeat center;
    background-size: cover;
}

#box4 {
    background: url("../img/bg_sp04.jpeg") no-repeat center;
    background-size: cover;
}

#box5 {
    background: url("../img/bg_sp05.jpeg") no-repeat center;
    background-size: cover;
}

/* ページネーション */
.pagination {
    position: fixed;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1em;
    z-index: 10;
    list-style: none;
}

.pagination a {
    display: block;
    height: 20px;
    margin-bottom: 5px;
    color: #fff;
    position: relative;
    padding: 4px;
}

.pagination a.active:after {
    box-shadow: inset 0 0 0 5px;
}

.pagination a .hover-text {
    position: absolute;
    right: 15px;
    top: 0;
    opacity: 0;
    transition: opacity 0.5s ease;
    padding-right: 15px;
}

.pagination a:hover .hover-text {
    opacity: 1;
}

.pagination a:after {
    transition: box-shadow 0.5s ease;
    width: 10px;
    height: 10px;
    display: block;
    border: 1px solid;
    border-radius: 50%;
    content: '';
    position: absolute;
    margin: auto;
    top: 0;
    right: 3px;
    bottom: 0;
}

@media screen and (max-width:768px) {
    .pagination a .hover-text {
        display: none;
    }
}
