@charset "UTF-8";

/* 全体の基本設定 --------------------------------- */
* {
    scroll-behavior: smooth;
    font-family: 'inter', 'noto sans jp', sans-serif;
}

a {
    text-decoration: none;
    color: inherit;
}

:root{
    --background-color: #f9f9f9;
    --main-theme-color: #ff43b7;
    --basic-text-color: #383838;
}




/* BODY全体の縁取り設定 --------------------------------- */
body{
    background-color: var(--background-color);
}




/* HEADER --------------------------------- */
header{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 70px;
    margin-top: -70px;
    position: fixed;
    border-top: solid var(--main-theme-color) 8px;
    border-right: solid var(--main-theme-color) 8px;
    border-left: solid var(--main-theme-color) 8px;
    border-bottom: solid #747474 .8px;
    background-color: #f9f9f9;
    z-index: 99;
}

.header__container{
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 95%;
    max-width: 1300px;
    height: auto;
}

.header__logoBox, .header__navBox{
    display: flex;
    justify-content: center;
    align-items: center;
    width: auto;
    height: auto;
}

.header__logoBox img{
    display: block;
    height: 30px;
    width: auto;
}

.header__navBox a{
    display: block;
    font-weight: 500;
    font-size: 13px;
    color: var(--basic-text-color);
    transition: .2s;
}

.header__navBox a:nth-child(1){
    margin-right: 25px;
}

.header__navBox a:hover{
    text-decoration: underline;
    transition: .2s;
}




/* MAIN --------------------------------- */
main{
    margin-top: 70px;
    border-right: solid var(--main-theme-color) 8px;
    border-left: solid var(--main-theme-color) 8px;
}


/* MAIN SECTION 1 --------------- */
.mainSection01{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
    padding: 30px 0;
}

.mainSection01__container{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 95%;
    max-width: 1300px;
    height: auto;
}

.mainSection01__container img{
    display: block;
    width: 100%;
    height: auto;
}


/* MAIN SECTION 2 --------------- */
.mainSection02{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
    padding: 40px 0;
}

.mainSection02__container{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 95%;
    max-width: 1000px;
    height: auto;
    row-gap: 40px;
}

.mainSection02__productCard{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 200px;
    height: auto;
    margin: 0 20px;
}

.mainSection02__productImage{
    display: block;
    width: 200px;
    height: 230px;
    background-size: cover;
    background-position: center;
}

#item01{
    background-image: url('../images/itemImage01.webp');
}

#item02{
    background-image: url('../images/itemImage02.webp');
}

#item03{
    background-image: url('../images/itemImage03.webp');
}

#item04{
    background-image: url('../images/itemImage04.webp');
}

#item05{
    background-image: url('../images/itemImage05.webp');
}

#item06{
    background-image: url('../images/itemImage06.webp');
}

#item07{
    background-image: url('../images/itemImage07.webp');
}

#item08{
    background-image: url('../images/itemImage08.webp');
}

#item09{
    background-image: url('../images/itemImage09.webp');
}

.mainSection02__productInfo{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 192px;
    height: auto;
    margin-top: 10px;
}

.mainSection02__printMark{
    display: flex;
    justify-content: center;
    align-items: center;
    width: auto;
    height: auto;
    padding: 2.2px 8px;
    border: solid var(--main-theme-color) .8px;
    border-radius: 2rem;
    font-weight: 400;
    font-size: 9px;
    color: var(--main-theme-color);
    background-color: #ffecf8;
}

.mainSection02__itemTitle{
    display: block;
    width: 100%;
    height: auto;
    padding: 0 3px;
    font-weight: 500;
    font-size: 12px;
    margin-top: 3px;
}

.mainSection02__itemSize{
    display: block;
    width: 100%;
    height: auto;
    padding: 0 3px;
    font-weight: 300;
    font-size: 10px;
    margin-top: 1px;
}


/* MAIN SECTION 3 --------------- */
.mainSection03{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
    padding: 60px 0;
    margin-top: 30px;
}

.mainSection03__container{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 95%;
    max-width: 900px;
    height: auto;
}

.mainSection03__container img{
    display: block;
    width: 100%;
    height: auto;
}


/* MAIN SECTION 4 --------------- */
.mainSection04{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
    padding: 60px 0;
    margin-top: 30px;
}

.mainSection04__container{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 95%;
    max-width: 900px;
    height: auto;
}

.mainSection04__container img{
    display: block;
    width: 100%;
    height: auto;
}


/* MAIN SECTION 5 --------------- */
.mainSection05{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
    padding: 60px 0;
    margin-top: 30px;
}

.mainSection05__container{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 95%;
    max-width: 900px;
    height: auto;
}

.mainSection05__container img{
    display: block;
    width: 100%;
    height: auto;
}

.mainSection05__priceBox{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
    border-top: solid #dcdcdc .8px;
    border-bottom: solid #dcdcdc .8px;
}

.mainSection05__priceColumnTop{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: calc(100% / 7);
    height: auto;
    background-color: #eaeaea;
    border-right: solid #dcdcdc .8px;
}

.mainSection05__priceColumn{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: calc(100% / 7);
    height: auto;
    border-right: solid #dcdcdc .8px;
}

.mainSection05__priceTitle{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 60px;
    font-weight: 400;
    font-size: 14px;
    color: #383838;
    border-bottom: solid #dcdcdc .8px;
}

.mainSection05__priceInfo{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 60px;
    font-weight: 400;
    font-size: 14px;
    color: #383838;
}


/* MAIN SECTION 6 --------------- */
.mainSection06{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
    padding: 60px 0 120px 0;
    margin-top: 30px;
}

.mainSection06__container{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 95%;
    max-width: 900px;
    height: auto;
    background-color: #efefef;
    padding: 40px 70px;
}

.mainSection06__titleBox{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
    font-weight: 600;
    font-size: 20px;
    color: #383838;
}

.mainSection06__topDescription{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
    margin-top: 20px;
    margin-bottom: 20px;
}

.mainSection06__topDescription p{
    display: block;
    width: 100%;
    height: auto;
    font-weight: 400;
    font-size: 13px;
    color: #454545;
    text-align: center;
}

.mainSection06__descriptionList{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
    margin-top: 30px;
}

.mainSection06__descriptionList span{
    display: block;
    width: 100%;
    height: auto;
    font-weight: 500;
    font-size: 13px;
    color: #383838;
    text-align: left;
    margin-bottom: 5px;
}

.mainSection06__descriptionList p{
    display: block;
    width: 100%;
    height: auto;
    font-weight: 400;
    font-size: 12px;
    color: #454545;
    text-align: left;
}


/* 商品詳細ページ mainSection01 --------------- */
.productMainSection01{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
    padding: 80px 0;
}

.productMainSection01__container{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 95%;
    max-width: 1000px;
    height: auto;
}

.productMainSection01__topInfoBox{
    display: flex;
    justify-content: center;
    align-items: flex-end;
    width: 100%;
    height: auto;
}

.productMainSection01__imageBox{
    display: block;
    width: 40%;
    aspect-ratio: 3 / 4;
    border-radius: 8px;
    background-size: cover;
    background-position: center;
}

.productMainSection01__topInfo{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 60%;
    padding-left: 20px;
}

.productMainSection01__nameBox{
    display: block;
    font-weight: 500;
    font-size: 18px;
    color: #383838;
    margin-top: 4px;
}

.productMainSection01__numberBox{
    display: block;
    font-weight: 400;
    font-size: 12px;
    color: #383838;
    margin-top: 3px;
}

.productMainSection01__orderInfoBox{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    height: auto;
    margin-top: 30px;
    padding: 30px 20px;
    border-radius: 5px;
    background-color: #f1f1f1;
}

.productMainSection01__orderInfoTitle{
    display: block;
    font-weight: 600;
    font-size: 13px;
    color: #383838;
    border-bottom: solid 1.2px #555;
}

.productMainSection01__orderInfoList{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    height: auto;
    margin-top: 25px;
}

.productMainSection01__orderInfoListTitle{
    display: block;
    font-weight: 500;
    font-size: 12px;
    color: #383838;
}

.productMainSection01__orderInfoListTitle a{
    font-weight: 600;
    color: var(--main-theme-color);
    transition: .2s;
}

.productMainSection01__orderInfoListTitle a:hover{
    text-decoration: underline;
    transition: .2s;
}

.productMainSection01__orderInfoListText{
    display: block;
    margin-left: 12px;
    font-weight: 400;
    font-size: 11px;
    color: #454545;
    margin-top: 5px;
}

.productMainSection01__orderInfoEmail{
    display: block;
    margin-left: 12px;
    padding: 15px 20px;
    font-weight: 400;
    font-size: 11px;
    color: #454545;
    background-color: #fefefe;
    margin-top: 10px;
}




/* FOOTER --------------------------------- */
footer{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
    padding: 50px 0;
    background-color: #191919;
}

.footer__container{
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 95%;
    max-width: 1300px;
    height: auto;
}

.footer__logoBox{
    display: flex;
    justify-content: center;
    align-items: center;
    width: auto;
    height: 22px;
}

.footer__logoBox img{
    display: block;
    width: auto;
    height: 100%;
}

.footer__navBox{
    display: flex;
    justify-content: center;
    align-items: center;
    width: auto;
    height: auto;
}

.footer__navBox a{
    display: block;
    font-weight: 400;
    font-size: 12px;
    color: #efefef;
    transition: .2s;
    padding: 0 15px;
    border-right: solid #999 .8px;
}

.footer__navBox a:hover{
    text-decoration: underline;
    transition: .2s;
}