@charset "UTF-8";

/* ------------------------　↓ 追記はここから　↓ ------------------------- */

/* コンテンツ-------------------------------- */

.cont-block_wrap img {
    max-width: 100%;
}

.cont-block {
    position: relative;
}

.cont-block p {
    font-size: clamp(14px,1.2vw,18px);
    line-height: 1.8;
    letter-spacing: 0.08em;
    width: 95%;
    margin: 1em auto;
}

/* タイトル-------------------------------- */
.ttl {
    text-align: center;
    font-weight: bold;
    letter-spacing: 0.05em;
}

.ttl::before,
.ttl::after {
    display: none;
}

h2.ttl {
    font-size: clamp(20px, 2vw, 40px);
}

h3.ttl {
    font-size: clamp(16px, 1.5vw, 35px);
}

h2.ttl_full {
    background: #4baa9b;
    margin: 0 0 1em;
    padding: 0.5em 0.5em 0.3em;
    color: #fff;

}

h2.ttl_c-dark {
    background: #41373d;
    color: #fff;
    padding: 0.3em 0.5em;
    width: 95%;
    margin: auto;
}

h2.ttl_c-light{
    width: 95%;
    margin: 1em auto;
    background: url('../images/bg_light.webp');
    padding: 0.8em;
    color: #fff;
}


@media screen and (max-width:425px) {
    h2.ttl_c-light {
        background: transparent;
        color: #333333;
        text-align: left;
        padding: 0.5em 0;
        border-bottom: 1px solid;
        letter-spacing: 0.1em;
    }
}


h3.ttl {
    background: none;
    color: #000;
    text-align: left;
    width: 95%;
    margin: auto;
    padding: 1em 0 0;
}

/*項目-------------------------------- */
ul.cont-note,ul.cont-attention {
    width: 95%;
    margin: 1em auto;
}

ul.cont-note li,ul.cont-attention {
    font-size: clamp(14px,1.2vw,18px);
    line-height: 1.5;
    position: relative;
    padding-left: 1em;
    margin-bottom: 0.5em;
    letter-spacing: 0.08em;
}

ul.cont-note li::before{
    content: "・";
    position: absolute;
    top: 0;
    left: 0;
}

ul.cont-attention  li::before{
    content: "※";
    position: absolute;
    top: 0;
    left: 0;
}

/* ボーダー-------------------------------- */

.border_bottom {
    border-bottom: #000 dashed 1px;
}

/*執筆者一覧-------------------------------- */

.artist_list {
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
    font-size: clamp(10px, 1vw, 16px);
    justify-content: flex-start;
    width: 95%;
    margin: 3% auto;
    padding: 0 0 3%;
}

.artist_list h3.ttl_c-light {
    width: 100%;
    margin: 0 0 0.5em;    
    text-align: left;
    padding: 0;

}

.artist_list h3.ttl_c-light span {
    width: fit-content;    
    display: block;
    background: url('../images/bg_light.webp');
    padding: 0.6em 1em ;
    color: #fff;
    font-size: 1rem;
}


.artist_item {
    flex-grow: 1;
    width: fit-content;
    margin: 1%;
    background: #41373d;
}

.btn_artist {
    display: block;
    background-color: #41373d;
    border-radius: 9999px;
    color: #fff;
    text-align: center;
    padding: 0.5em 0.5em 0.3em;
    width: calc(100%/11);
    min-width: 8.5em;
    letter-spacing: 0.05em;
    font-size: 1em;
    flex: 1 1 auto;
}

/* サイン入り作品一覧準備中の為クリック不可設定↓*/
/* .btn_artist{
    pointer-events: none;
} */

.btn_artist.hidden {
    visibility: hidden;
}

/*メニュー-------------------------------- */

.menu_block {
    display: flex;
    gap: 1.5em;
    margin: 0 auto 3%;
    width: 95%;
    justify-content: center;
}

.menu_block:nth-of-type(2){
    gap: 3.5em;
}

.manu_btn-img{
    position: relative;
    font-size: clamp(16px,1.9vw,27px);
}

.menu_btn {    
    position: relative;
    font-size: clamp(16px,1.4vw,20px);
    width: 30%;
    background: #41373d;
    display: block;
    color: #fff;
    text-align: center;
    padding: 1em;
    letter-spacing: 0.1em;
    font-weight: bold;
    line-height: 1;
    cursor: pointer;
}

.menu_btn::after{
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-left: 0.5em;
    background: url('../images/icon_arrow_bottom.webp')no-repeat center 78%;
}

.menu_btn:hover{
    opacity: 0.7;
}

.menu_btn.hidden,.manu_btn-img.hidden{
    pointer-events: none;    
}



@media screen and (max-width:425px) {
    .menu_wrap {
        display: flex;
        flex-direction: column-reverse;
    }
    
    .menu_btn {
        width: 100%;
    }
    
    .menu_block:nth-of-type(2) {
        gap: 1em;
        flex-wrap: wrap;
    }
}


/* タブ切り替え */

input[name="tab_btn"]{
    display: none;
}

.tab_cont{
    display: none;
}

input[name="tab_btn"]:checked + .tab_cont{
    display: block;
    animation: appear 0.5s ease; 
}

@keyframes appear {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}


/*サイン入り作品一覧-------------------------------- */
#sign + .tab_cont  .ttl_c-light {
    margin-bottom: 0;
}

.sign-book_list {
    display: flex;
    flex-wrap: wrap;
    width: 95%;
    margin: auto;
}

h3.ttl_artist {
    background: repeating-linear-gradient(-45deg, transparent, transparent 15px, #ffffff1c 15px, #ffffff1c 30px), #41373d;
    text-align: center;
    padding: 0.5em 0.5em 0.5em;
    font-weight: normal;
    color: #fff;
    letter-spacing: 0.1em;
    min-width: 100%;
}

.artist_sns_wrap {
    text-align: center;
    display: flex;
    height: min(14vw,80px);
    width: fit-content;
    margin: 3vw auto;
}

.artist_sns {
    height: 100%;
    aspect-ratio: 1/1;
    padding: min(3vw,1em);
    background: #fff;
    border-radius: 999px;
    margin: 0 0.5em;
}

.artist_sns img {
    height: 100%;
    width: 100%;
    object-fit: contain;
}

.book_list {
    margin: 3% auto;
    padding: 0 3% 3%;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.book_item {
    padding: 1em;
    text-align: center;
    letter-spacing: 0.05em;
    width: min(42vw,240px);
    margin: 1%;
    color: #ffffff;
    background: #4dab9b;
}

.book_img img{
    width: 100%;
    aspect-ratio: 938/1338;
    object-fit: contain;
    background: #f2f2f2;
}

.book_sales-method{
    padding: 0.8em 0.5em 0.5em;
    font-size: clamp(14px,6vw,1.5rem);
    color: #41373d;
}

.book_sales-place{
    padding: 0.5em;
    line-height: 1.5;
    font-size: clamp(10px,3vw,0.8rem);
}


/*フッター-------------------------------- */

.footer_link {
    display: flex;
    width: 95%;
    margin: 3% auto;
    justify-content: center;
    gap: 3%;
}

.footer_link_btn {
    display: block;
    color: white;
    background: #4baa9b;
    width: 50%;
    text-align: center;
    padding: 1em;
    font-weight: bold;
    max-width: 15em;
    font-size: clamp(13px,1.4vw,20px);
}

.footer_link_btn::after{
    content: "特設会場";
}

.footer_link_btn[href=""]{
    pointer-events: none;
}

@media screen and (max-width:425px) {
    .footer_link_btn::after{
        content: "";
    }
}

.cont-footer {
    background: url('../images/bg_dark.webp');
    padding: 3%;
    display: flex;
    justify-content: center;
}

.cont-footer .footer_logo{
    width: 50%;
    max-width: 200px;
    display: block;
}


footer {
    box-shadow: none;
    letter-spacing: 0.05em;
}