@charset "utf-8" ;
:root {
    --primary-yellow: #FDD03C;
    --primary-black: #000000;
    --primary-red: #F00002;
    --primary-orange: #E14D19;
    --primary-green: #549800;
    --primary-pink: #F908B8;
    --primary-brown: #923312;
    --contentWidth: 89.7%;
    --contentPadding: 5.1%;
}


/* header sp */
.header fixed-header{
    display: none;
}

.kasou__headerpc{
    display: none;
}

.kasou__headersp{
    background-color: var(--primary-yellow);
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 70px;
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 3;
    padding: 0 6.2%;  
}

.kasou__headerlogo{
    width: 100px;
    height: 61px;
}

.menu__btn{
    width: 50px;
}

/* header pc */
@media screen and (min-width: 1000px) {
.header fixed-header{
    display: block;
}

.kasou__headersp{
    display: none;
}

.kasou__headerpc{
    background-color: var(--primary-yellow);
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 0;
}

.kasou__header__logo{
    width: 150px;
}

.kasou__header__list{
    display: block;
    display: flex;
}

.kasou__header__item img{
    width: auto;
    height: calc(100vw* 15 / 390);
}

.kasou__headericon_list{
    display: flex;
}

.kasou__headericon_item img{
    width: 70px;
    height: 70px;
}

.topic_ja {
    font-size: 2.5rem;
    margin: 0 0 60px;
}

}/* 1000px */

/* =============
main
============= */

/* section  sp*/
.section--portfolio{
    margin: 110px 0;
}

.portfolio__category{
    color: #FF2A8C;
    font-family: "Yuji Mai";
    font-size: 2.3rem;
    line-height: 1.5;
    text-align: center;
}
/* 
.section--portfolio{
    padding: 60px 0;
} */

.topic_list{
    flex-wrap: wrap;
    display: flex;
    /* gap: 10px; */
    align-items: center;
    justify-content: space-evenly;
    width: 100%;
    margin: 0 auto;
    margin-top: 50px;
}

.topic_item img{
    border-radius: 20px;
    width: calc(100vw * 170 / 390);
    height: calc(100vw * 252 / 390);
}


.btn--portfolio{
    margin: 30px 0 0;
}

.topic_item{
    /* margin: 20px 0 0 10px ; */
    margin-top: 20px;
}

.topic_yokolist{
    text-align: center;
    margin: 20px 0 40px;
}

.topic_yokoitem img{
    border-radius: 20px;
    width: calc(100vw * 350 / 390);
    height: calc(100vw * 240 / 390);
    margin-top: 20px;
}

.topic_yokoitem:first-of-type {
    margin: 0;
}

/* section  pc*/
@media screen and (min-width: 769px) {
.topic{
    margin-top: 120px;
}

/* .topic_item {
    margin: 50px 0 0 28px;
} */

.portfolio__category{
    font-size: 4.0rem;
}

.topic_item img{
    border-radius: 40px;
    width: calc(100vw * 408 / 1440);
    height: calc(100vw * 596 / 1440);
}

.topic_itempc{
    display: block;
}

.topic_yokolist{
    flex-wrap: wrap;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 0 auto;
    margin-bottom: 120px;
}

.topic_yokoitem img{
    margin-top: 50px;
    width: calc(100vw * 600 / 1440);
    height: calc(100vw * 400 / 1440);
    border-radius: 40px;
}

.topic_yokoitem:nth-of-type(odd){
    margin-right: 5.6%;
}/* 奇数の時 */

}/* 769px */

/* ======
modal 
======*/ 
/* 拡大する画像  sp*/

.modal_item,
.modal_yokoitem
{
    background-color: var(--primary-yellow);
    z-index: -10;
    opacity: 0;
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

.modal_item__inner{
    height: 200vh;
    padding: 45px 15%;
}

.modal_item.open,
.modal_yokoitem.open
{
    z-index: 100;
    opacity: 1;
    height: 100vh;
    overflow: scroll;
    width: 100%;
}

.series{
    text-align: center;
    font-size: 2.0rem;
    line-height: 1;
    margin-top: 21px;
}


.art__name{
    text-align: center;
    font-size: 2.5rem;
    line-height: 1;
    margin-top: 20px;
}


.art__size{
    font-size: 1.7rem;
    line-height: 1;
    margin-top: 21px;
    text-align: center;
}

.art__txt{
    font-size: 1.8rem;
    line-height: 1.5;
    margin-top: 21px;
}

.btn--bought{
    background: #9A8383;
    padding: 8px 10px;
    font-size: 1.8rem;
    margin-top: 21px;
    box-shadow: 0px 0px 0px 0px;
}

.btn-buy{
    margin: 21px 0 0;
    position: relative;
    display: inline-block;
    background: #F83B3B;
    padding: 10px 40px 10px 20px;
    text-align: center;
    /* アニメーションの指定 */
    transition: ease.2s;
    font-size: 1.8rem;
}

.btn-buy::after{
    content: '';
    position: absolute;
    top: 36%;
    right:  16px;
    width: 13px;
    height: 13px;
    border-top: 3px solid var(--primary-black);
    border-right:   3px solid var(--primary-black);
    transform: rotate(45deg);
}

.btn-buy:hover::after{
    animation: arrow .5s;
}

@keyframes arrow{
    50%{
        right: 10px;
    }
    100%{
        right: 13px;
    }
}



/* modalの背景 sp*/
.container::after{
    display: none;
    content: '';
    background-color: var(--primary-yellow);
    width: 100%;
    height: 100vh;
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    z-index: 50;
}

.container.open::after{
    display: block;
}


/* 閉じるボタン sp*/
.close{
    display: none;
    width: 20px;
    height: 20px;
    position: fixed;
    right: 3%;
    top: 3%;
    z-index: 100;
}

.close.open {
    display: block;
}

.close img{
    width: 100%;
}


/* 拡大する画像  pc*/
@media screen and (min-width: 769px) {

.modal_item.open,
.modal_yokoitem.open
{
    z-index: 100;
    opacity: 1;
}


.modal_item__inner{
    height: 220vh;
    padding: 101px 29%;
}

.series{
    font-size: 2.2rem;
}


.art__name{
    text-align: center;
    font-size: 3.0rem;
    line-height: 1;
    margin-top: 20px;
}

.art__size{
    font-size: 2.2rem;
    line-height: 1;
    margin-top: 10px;
    text-align: center;
}

.art__txt{
    font-size: 2.2rem;
    line-height: 1.5;
    margin-top: 20px;
}


.btn--bought{
    background: #9A8383;
    font-size: 2.2rem;
    margin-top: 21px;
    padding: 10px 20px;
}

.btn--bought:hover{
    opacity: 1;
}

/* modalの背景 pc*/
.container::after{
    display: none;
    content: '';
    background-color: var(--primary-yellow);
    width: 100%;
    height: 100vh;
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    z-index: 50;
}

.container.open::after{
    display: block;
    padding-top: 45px;
}

/* 閉じるボタン sp*/
.close{
    display: none;
    width: 20px;
    height: 20px;
    position: fixed;
    right: 3%;
    top: 3%;
    z-index: 100;
}

.close.open {
    display: block;
}

.close img{
    width: 100%;
}

}/* 769px */



/* footer sp */
.footer{
    background-color: var(--primary-pink);
}

.imgfooter__sp{
    img{
    padding: 0 10px;
    }
}



