@charset "UTF-8";

:root {

    --blue: #1c5099;
}

*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    word-wrap: break-word;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #333;
    font-size: 16px;
    font-family: "Zen Maru Gothic", "游ゴシック Medium", "Yu Gothic Medium", YuGothicM, 游ゴシック体, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
    font-weight: 400;
    font-style: normal;
    overflow-wrap: break-word;
    background: url(https://publications.asahi.com/design_items/pc/img/winter_fair2026/background.jpg) repeat #fff;
    background-attachment: fixed;
}

.winter_fair2026{
    position: relative;
}
.winter_fair2026::before{
    content:"";
    display: inline-block;
    position: absolute;
    z-index: 10;
    top:0;
    left:0;
    width: 100%;
    height: 25px;
    background: var(--blue);
}


img, iframe {
    outline: none;
    vertical-align: bottom;
}

img {
    max-width: 100%;
    height: auto;
}

a {
    color: #333;
    text-decoration: none;
}
a:hover {
    color: var(--blue);
}


/* layout */
.wrapper {
    overflow: clip;
}
/* .summer_fair2024 {
    position: relative;
    background: var(--yellow-pale);
}
.summer_fair2024::before {
    z-index: 5;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100px;
    background: url(https://publications.asahi.com/design_items/pc/img/summer_fair2024/wave_white.svg) no-repeat top center / cover;
    rotate: 180deg;
} */

.contents-inner {
    max-width: 1032px;
    margin: 0 auto;
    padding: 0 16px;
}
.col-wrapper {
    display: flex;
}

/* hero */
.hero {
    position: relative;
    box-shadow: 0 10px 20px -10px #000;
    padding-top: 70px;
    padding-bottom: 20px;
    /* background: url(https://publications.asahi.com/design_items/pc/img/summer_fair2024/img_main.png) no-repeat center bottom / cover; */
    background: #fff;
}
/* .hero::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 35%;
    background: linear-gradient(to bottom, rgba(128,164,8,0) 0%, rgba(128,164,8,1) 90%);
} */
.hero-inner {
    max-width: 1032px;
    margin: 0 auto;
    padding: 0 16px;
    position: relative;
    z-index: 10;
}
.hero-text{
    position: absolute;
    top:-65px;
right:10%;
}

.hero-inner h1{
    max-width: 50%;
}
@media screen and (max-width: 800px) {
    .hero-inner h1{
        max-width: 100%;
    }
}


/* .hero::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100px;
    background: url(https://publications.asahi.com/design_items/pc/img/summer_fair2024/wave_y.svg) no-repeat top center / cover;
} */
.hero .contents-inner {
    position: relative;
    padding-bottom: 80px;
}

/* .hero .contents-inner::before,
.hero .contents-inner::after {
    content: "";
    position: absolute;
    z-index: 5;
    bottom: -80px;
    left: -160px;
    width: 330px;
    height: clamp(160px, 2.4vw, 240px);
    background: url(https://publications.asahi.com/design_items/pc/img/summer_fair2024/img_sunflower-_l.png) no-repeat bottom center / contain;
}
.hero .contents-inner::after {
    left: auto;
    right: -160px;
    background: url(https://publications.asahi.com/design_items/pc/img/summer_fair2024/img_sunflower-_r.png) no-repeat bottom center / contain;

} */
.hero h1 {
    /* display: none; */
}
@keyframes fadeInBlur {
    0% {
        opacity: 0;
        filter: blur(10px);
    }
    100% {
        opacity: 1;
        filter: blur(0);
    }
}

.hero-title {
    position: relative;
    animation: fadeInBlur 1s ease-out forwards;
    margin-top: -30%;
}
@media (max-width: 800px) {
    .hero-title {
        margin-top: 0;
    }
}
@media (min-width: 1500px) {
    .hero-title {
        margin-top: -20%;
    }
}
@media (min-width: 2400px) {
    .hero-title {
        margin-top: -15%;
    }
}
/* .hero-title::before {
    content: "";
    position: absolute;
    top: 0;
    right: -150px;
    width: 300px;
    height: 360px;
    background: url(https://publications.asahi.com/design_items/pc/img/summer_fair2024/hero-img-bird.png) no-repeat top right / contain;

} */
.hero .summary {
    margin-top: 16px;
    font-size: clamp(14px, 2vw, 18px);
    font-weight: bold;

max-width: 50%;    /* text-shadow: 0 1px 4px #3A4900; */
}
@media screen and (max-width: 800px) {
    .hero .summary {
        max-width: 100%;
    }
}
@media screen and (max-width: 800px) {
    .hero {
        background-position: 55% 0%;
    }
    .hero-title::before {
        display: none;
    }
}
@media screen and (max-width: 640px) {
    /* .hero::before {
        background: none;
    }
    .hero .summary {
        text-shadow: none;
    }
    .hero .contents-inner {
        padding-bottom: 240px;
    } */

}


/* book recommend */
.book-recommend {
    position: relative;
    padding-top: 80px;
}
.book-recommend .contents-inner{
background:#fff;
border:5px solid var(--blue);    
border-radius: 20px;
padding: 20px;
box-shadow: 0 10px 20px -10px #000;
}
@media screen and (max-width: 640px) {
    .book-recommend .contents-inner{
        max-width: 90%;
        margin:0 auto;
    }
}

.bubble {
    text-align: center;
    background: var(--blue);
    color: #fff;
    padding: 10px;
    border-radius: 10px;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.3;
    border:1px solid #efefef;
    margin-bottom: 20px;
}
.book-recommend .col-wrapper {
    position: relative;
    gap: 40px;
    justify-content: space-between;
    /* padding-bottom: 160px; */
}

/* .book-recommend .col-wrapper::before,
.book-recommend .col-wrapper::after {
    content: "";
    position: absolute;
    top: -80px;
    left: -80px;
    display: block;
    width: 160px;
    height: 160px;
    background: url(https://publications.asahi.com/design_items/pc/img/summer_fair2024/img_sunflower-s-l.png) no-repeat center center;
}
.book-recommend .col-wrapper::after {
    top: auto;
    left: auto;
    bottom: 0;
    right: -160px;
    background: url(https://publications.asahi.com/design_items/pc/img/summer_fair2024/img_sunflower-s-r.png) no-repeat center center;
} */

.book-recommend .col-wrapper .col-book {
    position: relative;
    width: calc(40% - 20px);
    flex-shrink: 0;
    border:1px solid #efefef;
}
.book-recommend .col-wrapper .col-book a img {
    transition: 0.2s border;
}
.book-recommend .col-wrapper .col-book a:hover img {
    border: 4px solid var(--blue);
}
.book-recommend .col-wrapper .col-text {
    display: flex;
    flex-direction: column;
    gap: 16px;
    color: var(--blue);
    font-size: clamp(14px, 1.8vw, 18px);
    font-weight: bold;
    line-height: 1.8;
}

.book-recommend .col-wrapper .col-text h2 {
    padding-bottom: 8px;
    font-size: clamp(24px, 4vw, 40px);
    line-height: 1.3;
    border-bottom: 3px dotted var(--blue);
}

.book-recommend .book-shop-link {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    padding: 16px 0;
}

.book-recommend .book-shop-link img {
    border: 1px solid #000;
}
.book-recommend .related-article {
    margin: 0 auto;
    font-size: 16px;
}

.btn-area {
    text-align: center;
}
.btn-area a {
    display: inline-block;
    position: relative;
    min-width: 300px;
    padding: 16px 40px 16px 16px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    border-radius: 50px;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    background: var(--blue);
}
.btn-area a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%) rotate(45deg);
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transition: right 0.2s ease;

}
.btn-area a:hover::after {
    right: 16px;
}

.btn-area a:hover {
    background: var(--blue);
    text-decoration: underline;
}


@media screen and (max-width: 640px) {
    .book-recommend .col-wrapper {
        flex-direction: column;
        align-items: center;
        margin-top: 16px;
        /* padding-bottom: 80px; */
    }
    .book-recommend .col-wrapper::before, .book-recommend .col-wrapper::after {
        display: none;
    }
    .book-recommend .col-wrapper .col-book {
        width: 80%;
    }
}


/* book lineup */
.book-lineup {
    position: relative;
    margin-top: 90px;
    padding: 40px 0 160px;
    background: rgba(230, 247, 255, 0.97);
}
/* .book-lineup::before {
    content: "";
    position: absolute;
    top: -120px;
    left: 0;
    display: block;
    width: 100%;
    height: 120px;
    background: url(https://publications.asahi.com/design_items/pc/img/summer_fair2024/wave_blue.svg) no-repeat bottom center / cover;
} */

.book-lineup .bg {
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
}
.bg-goldfish {
    position: absolute;
    top: 0;
    right: 0;
}
.bg-morningglory {
    position: absolute;
    bottom: 0;
    left: 0;
}
.ripple,
.ripple2,
.ripple3,
.ripple4 {
    position: absolute;
    top: -80px;
    right: -80px;
    width: 600px;
    height: 600px;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    border: 1px solid var(--blue);
    opacity: 0;
    transform: scale(0,0);
    animation: ripple 4s linear 0s infinite;
}
.ripple2 {
    animation: ripple 4s linear 1s infinite;
}
.ripple3,
.ripple4 {
    top: auto;
    bottom: -150px;
    right: auto;
    left: -80px;
    animation: ripple 4s linear 1s infinite;
}
.ripple4 {
    animation: ripple 4s linear 2s infinite;
}
@keyframes ripple {
    0% {
        opacity: 0;
        transform: scale(0,0);
    }
    50% {
        opacity: 1;
        transform: scale(0.5,0.5);
    }
    100% {
        opacity: 0;
        transform: scale(1,1);
    }

}

.book-lineup h2 {
    position: relative;
    margin-bottom: 40px;
    padding: 16px;
    color:  var(--blue);
    font-size: clamp(24px, 4vw, 40px);
    line-height: 1.3;
    text-align: center;
    border: 2px solid var(--blue);
    -webkit-border-radius: 24px;
    -moz-border-radius: 24px;
    border-radius: 24px;
    background: #fff;
}

.book-lineup .contents-inner {
    margin-top: -100vh;
}
.book-lineup .col-wrapper {
    position: relative;
    flex-wrap: wrap;
    gap: 40px 16px;
}
.book-lineup-panel {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: calc(33.3% - calc(32px/3));
    padding: 24px 16px;
    background: #fff;
    -webkit-border-radius: 32px;
    -moz-border-radius: 32px;
    border-radius: 32px;
    box-shadow: 0 10px 20px -25px #000;
}

.book-lineup-panel .book-thumb {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
}

.book-lineup-panel .book-thumb img {
    max-height: 300px;
    width: 100%;
    height: 100%;
    aspect-ratio: 1/1;
    object-fit: contain;
    transition: 0.2s border;
}
.book-lineup-panel a:hover .book-thumb img {
    border: 8px solid var(--blue);
}
.book-lineup-panel h3 {
    font-size: clamp(16px, 1.8vw, 18px);
    line-height: 1.3;
    min-height: 45px;
}
.book-lineup-panel p {
    font-size: 14px;
}
.book-lineup-panel p.book-summary {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.book-shop-link {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    padding: 16px 0;
}

.book-shop-link img {
    border: 1px solid #000;
}

.book-shop-link a:hover img {
    border-color: var(--blue);
}
.related-article {
    position: relative;
    display: inline-block;
    padding-left: 16px;
     font-weight: bold;
    font-size: clamp(14px, 1.4vw, 14px);
    text-align: center;
    padding: 16px 20px 16px 16px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    border-radius: 50px;
    color: #fff;
    font-weight: bold;
    background: var(--blue);
}
.related-article:hover {
    background: var(--blue);color:#fff;
    text-decoration: underline;
}
.related-article::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%) rotate(45deg);
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transition: right 0.2s ease;
}
.related-article:hover::after {
right:16px;
}
@media screen and (max-width: 640px) {

    .related-article{
        padding: 10px 20px 10px 10px;
    }
    .related-article::after {
        right: 10px;        
    }
    .book-lineup .col-wrapper {
        gap: 16px 12px;
    }
    .book-lineup h2::after {
        top: 8px;
    }
    .book-lineup-panel {
        width: calc(50% - 6px);
        padding: 24px 8px;
    }
}


.copyright {
    margin-bottom: 24px;
}


/* utility */
.font-s {
    font-size: 14px;
    color: #333 !important;
}

/* footer */
footer {
    position: relative;
    padding: 40px 16px;
    text-align: center;
    background: #fff;

}
