/* 共通設定 */
/* 各セクションの設定　交互に背景色を変化させる */
main section {
    position: relative;
    padding-top: 5rem!important;
    padding-bottom: 5rem!important;
}
main section:nth-child(even) {
    background-color: #efe8df!important;
    
}
main section:nth-child(even):before {
    content: ''!important;
    position: absolute!important;
    inset: 0!important;
    background: radial-gradient(rgba(255,230,200,0.3), transparent)!important;
    pointer-events: none!important;
}

/* 見出しに横線を加えるクラス */
/* 見出し：左右に線（flex版・ズレない） */
.border-horizon {
    font-size: 1.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    margin: 0 auto 5rem;
    text-align: center;
    width: 100%;
}

/* 左右の線 */
.border-horizon::before,
.border-horizon::after {
    content: '';
    height: 1px;
    background: #c8b8a6;
    flex: 1;
    max-width: 8rem; /* PC時の線の長さ上限 */
}

/* 画面が狭い時は線を短く */
@media (max-width: 575.98px) {
    .border-horizon::before,
    .border-horizon::after {
        max-width: 6rem;
    }
}
.normal-title {
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 2rem;
    color: #6a5846;
    text-align: center!important;
}


/* タイトルロゴ周り */
#hero {
    padding-top: 0!important;
    padding-bottom: 0!important;
    text-align: center;
    margin-bottom: 5rem;
}
#hero p {
    margin-top: 1.75rem;
    font-size: 1.375rem;
    color: var(--color_3);
}

/* 新着情報 */
#news {
}
#news dl {
    text-align: center;
    border-bottom: 1px dashed var(--color_3);
    padding-bottom: 0.75rem;
}
#news dl dt {
    font-size: 0.875rem;
    color: #9b9085;
    margin-bottom: 0.75rem;
}
#news dl dd {
    
}

/* 今月の新刊 */
#newbook .wrap {
    align-items: stretch;
}
#newbook .card {
    background-color: white;
    border-radius: 0.5rem;
    padding: 2rem;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    display: inline-flex!important;
    transition: 0.3s;
    flex-direction: column;
}
#newbook .card:hover {
    transform: translateY(-8px);
    box-shadow: rgba(0, 0, 0, 0.1) 0px 25px 60px;
    transition: 0.3s;
}
/* figureが「額縁」になる */
#newbook .card figure {
    width: 100%;
    height: 200px;          /* 基本の高さ */
    overflow: hidden;
    margin: 0 0 3rem 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* imgは額縁に完全追従 */
#newbook .card figure img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 0.75rem;
}

/* 画面幅で高さだけ変える（img側は触らない） */
@media (max-width: 575.98px) {
    #newbook .card figure { height: 300px; }
}
@media (min-width: 992px) {
    #newbook .card figure { height: 600px; }
}
@media (min-width: 1200px) {
    #newbook .card figure { height: 800px; }
}
#newbook .card .bookname {
    font-weight: 600;
    font-size: 1.25rem;
    margin-bottom: 1.75rem;
}
#newbook .card .name {
    font-size: 0.875rem;
    font-weight: 300;
}
#newbook .card .price {
    
}
#newbook .card .discription {
    font-size: 0.875rem;
}

/* 過去の出版物 */
#newbook .container:nth-child(2) {
    padding-top: 5rem;
}
.past-list {
    list-style: none;
    padding: 0;
    max-width: 700px;
    margin: 0 auto 40px;
}
.past-list li {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 15px 0;
    border-bottom: 1px solid var(--sub_accent_color);
}
.past-list img {
    width: 60px;
    border-radius: 6px;
}
.past-name {
    display: block;
}
.past-author {
    font-size: 0.875rem;
    color: #8a8075;
}
.past-link {
    text-align: center;
}

/* 阿吽塾とは */
#about {
    
}

/* 店主のコラム */
#column article {
    text-align: left;
}
#column article .date {
    font-size: 0.875rem;
    color: #9b9085;
    margin-bottom: 1.75rem;
    text-align: right;
}
#column article h2 {
    font-size: 1.17rem;
    font-weight: 600;
    margin-bottom: 1.875rem;
}
#column article a {
    width: 9rem!important;
}


.btn2 {
    display: block;
    width: 60%;
    margin-top: 15px;
    margin-left: auto;
    margin-right: auto;
    padding: 8px 18px;
    font-size: 13px;
    text-decoration: none;
    color: #6a5846;
    border: 1px solid #d8cfc6;
    border-radius: 20px;
    transition: all 0.3s ease;
}
