/* CSS Document */


:root{
    --bg-color:#ebe7d9;
    --point-color: #bfab82;
    --light-color: #f5f3ea;
    --dark-color: #8f733e;
    --ttl-color:#cab38c;
    --limited: #f1ebe0;
    --gray:#f3f3f3;
    --pg-En-sans: "orator-std", monospace;
}

/*
font-family: adventures-unlimited, sans-serif;
font-family: zen-kaku-gothic-new, sans-serif;
font-family: montserrat, sans-serif;
*/

#gift_wrap{
	max-width: 800px;
	margin: auto;	
    text-align: center;
    font-size: clamp(1.6rem, 0.6rem + 1.85vw, 2.2rem);
    margin-bottom: 80px;
    font-family: zen-kaku-gothic-new, sans-serif;
    font-style: normal;
    line-height: 1.6;
}

#gift_wrap li{
    list-style: none;
}

#gift_wrap a{
}

#gift_wrap sup{
    font-size: 11px;
}

#gift_wrap .comm_flex{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

#gift_wrap .comm_w90{
    width: 90%;
    margin: auto;
}

#gift_wrap .comm_mt{
    margin-top: 90px;
}

#gift_wrap .comm_ttl{
    margin-bottom: 1em;
}

#gift_wrap .comm_ttl dt{
    letter-spacing: 0.15rem;
    margin: 15px auto;
    font-family: var(--pg-En-sans);
	font-weight: 500;
}

#gift_wrap .comm_ttl dd h2{
    font-size: clamp(2.4rem, 1.264rem + 3.4vw, 5.6rem);
    letter-spacing: 0.1rem;
	font-weight: 500;
}

#gift_wrap .comm_ttl dd h2 span{
    font-size: 80%;
}

#gift_wrap .comm_ttl dd{

}

#gift_wrap .comm_ttl::before{
    content: "";
    display: block;
    mix-blend-mode: multiply;
    width: 15%;
    margin: auto;
}



#gift_wrap .comm_btn{
	border-radius: 50px;
    font-size: clamp(1.5rem, 0.695rem + 2.13vw, 2.8rem);
    position: relative;
    background: #fff;
    font-family: "source-han-sans-japanese", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    box-shadow: 3px 3px 5px #ccc;
}

#gift_wrap .comm_btn a{
	display: block;
	padding: 0.8em 0;
}

#gift_wrap .comm_btn a::after{
    content: "";
    width: 2%;
    aspect-ratio:1/1;
    border: 0;
    border-top: solid 2px;
    border-right: solid 2px;
    position: absolute;
    top: 50%;
    margin-top: -5px;
    transform: rotate(45deg);
    right: 8%;
}










#gift_wrap #intro{
    background: var(--bg-color);
    padding-bottom: 2em;
}

#gift_wrap #intro h2{
    background: var(--ttl-color);
    color: #fff;
    padding: 5px 0 2px;
    font-weight: 500;
}

#gift_wrap #intro .text{
    margin: 1em auto;
    word-break: keep-all;
    overflow-wrap: anywhere;
    line-height: 1.8;
    margin-bottom: 3em;
}

#gift_wrap #intro .text p{
    margin-top: 1em;
}

#gift_wrap #intro .text p a{
    border-bottom: 1px solid;
    padding-bottom: 5px;
}

#gift_wrap #intro dl{
    background: #fff;
    width: 48%;
    margin-bottom: 5%;
    padding: 5% 2% 2.5em;
    box-sizing: border-box;
    border-radius: 150px 150px 5px 5px;
    box-shadow: 3px 3px 5px #ccc;
    position: relative;
}

#gift_wrap #intro dl dt{
    color: var(--dark-color);
    margin-bottom: 20px;
    word-break: keep-all;
    overflow-wrap: anywhere;
}

#gift_wrap #intro dl dt span{
    display: block;
    font-family: var(--pg-En-sans);
    color: var(--ttl-color);
}

#gift_wrap #intro dl dd{
    font-size: 80%;
}

#gift_wrap #intro dl dd p{
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50%;
}

#gift_wrap #intro dl a::after{
    content: "";
    width: 8px;
    height: 8px;
    border: 0;
    border-bottom: solid 2px;
    border-right: solid 2px;
    position: absolute;
    bottom: 5%;
    transform: rotate(45deg);
    left: 50%;
}



#gift_wrap #nayami{
    background: url("nayami.jpg") no-repeat;
    padding: 2em 5% 3em;
}

#gift_wrap #nayami .comm_ttl{
    color: #fff;
}

#gift_wrap #nayami .block{
    background: rgba(252,252,252,0.8); 
    padding: 2em 1.5em 1em;
    border-radius: 5px;
}

#gift_wrap #nayami .block ol{
    display: inline-block;
    text-align: left;
}

#gift_wrap #nayami .block ol li{
    margin-bottom: 1em;
    vertical-align: middle;
}

#gift_wrap #nayami .block ol li span{
    margin-right: 5px;
    display: inline-block;
    vertical-align: sub;
}

#gift_wrap #nayami .block ol li .material-symbols-outlined {
  font-variation-settings:
  'FILL' 1,
  'wght' 400,
  'GRAD' 0,
  'opsz' 28
}



#gift_wrap #point .comm_ttl{
    margin-bottom: 50px;
}

#gift_wrap #point .comm_flex{
    text-align: left;
    align-items: center;
    margin-bottom: 20px;
}

#gift_wrap #point .comm_flex:nth-of-type(even){
    flex-direction: row-reverse;
}


#gift_wrap #point .comm_flex dl{
    width: 51%;
}

#gift_wrap #point .comm_flex dt{
    font-size: 115%;
    border-bottom: 1px dashed;
    padding-bottom: 10px;
    margin-bottom: 20px;
    color: var(--dark-color);
}


#gift_wrap #point .comm_flex p{
    width: 46%;
    max-width: 345px;
}




#gift_wrap #budget{
    background: var(--bg-color);
    padding: 3em 0;
}

#gift_wrap #budget .comm_ttl::before{
    background: url("budget.jpg") no-repeat;
    background-size: 100%;
    max-width: 80px;
    aspect-ratio:110/69;
}

#gift_wrap #budget ol{
    margin-top: 50px;
}

#gift_wrap #budget ol li{
    margin-bottom: 20px;
}




#gift_wrap #gift-cate{
    background: var(--light-color);
    padding: 3em 0;
}

#gift_wrap #gift-cate .comm_ttl::before{
    background: url("category.jpg") no-repeat;
    background-size: 100%;
    max-width: 80px;
    aspect-ratio: 1/1;
}

#gift_wrap #gift-cate ul{
    margin-top: 50px;
}

#gift_wrap #gift-cate ul li{
    width: 24%;
    margin-bottom: 20px;
    font-size: clamp(1.1rem, 0.539rem + 1.25vw, 2.2rem);
}





#gift_wrap #cate-list h2{
    color: var(--ttl-color);
    border-bottom: 2px solid;
    font-size: clamp(2rem, -0.333rem + 8.89vw, 4rem);
    font-weight: normal;
    padding-bottom: 15px;
    margin-bottom: 50px;
}

#gift_wrap #cate-list .block dl{
    margin-bottom: 2em;
}

#gift_wrap #cate-list .block dl::before{
    content: "";
    width: 24%;
    display: block;
    order: 1;
}

#gift_wrap #cate-list .block dl::after{
    content: "";
    width: 24%;
    display: block;
}

#gift_wrap #cate-list .block dt{
    width: 100%;
    text-align: left;
    margin-bottom: 10px;
}

#gift_wrap #cate-list .block dt a{
    color: var(--ttl-color);
}

#gift_wrap #cate-list .block dd{
    width: 24%;
    border: 1px solid #a8a8a8;
    margin-bottom: 2%;
    font-size: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

#gift_wrap #cate-list .block dd a{
    display: block;
    padding: 8px 0 5px;
}





#gift_wrap #event{
    background: var(--bg-color);
    padding: 3em 0;
}

#gift_wrap #event .comm_ttl::before{
    background: url("event.jpg") no-repeat;
    background-size: 100%;
    max-width: 87px;
    aspect-ratio:87/105;
}

#gift_wrap #event .block{
    margin-top: 2em;
}

#gift_wrap #event .block h3{
    background: #fff;
    font-weight: normal;
    padding: 5px 0;
}

#gift_wrap #event .block p{
    text-align: left;
    margin: 15px auto 30px;
    width: 98%;
}




#gift_wrap #service{
    background: var(--gray);
    padding: 3em 0;
}

#gift_wrap #service .comm_ttl::before{
    background: url("ribbon.jpg") no-repeat;
    background-size: 100%;
    max-width: 61px;
    aspect-ratio: 61/70;
}

#gift_wrap #service .limited{
    background: var(--limited);
    margin-top: 50px;
    padding-bottom: 2em;
}


#gift_wrap #service .limited p{
    width: 90%;
    max-width: 600px;
    margin: 0 auto 20px;
}

#gift_wrap #service .limited .time{
    border-top: 2px solid var(--ttl-color);
    border-bottom: 2px solid var(--ttl-color);
    padding: 5px;
    width: 90%;
    max-width: 580px;
    margin: auto;
    font-size: clamp(2.8rem, 1.82rem + 2.8vw, 4.6rem);
    font-family: var(--pg-En-sans);
    letter-spacing: -6px;
}

#gift_wrap #service .limited .time::before{
    content: "対象期間";
    margin-right: 3%;
    font-size: 50%;
    letter-spacing: 0.01em;
    letter-spacing: normal;
}

#gift_wrap #service .limited .time span{
    font-size: 70%;
    letter-spacing: -2px;
}

#gift_wrap #service .gift-price{
    margin-top: 20px;
    font-size: clamp(3.2rem, 1.832rem + 4.21vw, 5.2rem);
}

#gift_wrap #service .gift-price span{
    font-size: 60%;
    margin-left: 10px;
}

#gift_wrap #service .att{
    font-size: 14px;
    margin-bottom: 20px;
}

#gift_wrap #service .limited p br,
#gift_wrap #service .att br{
    display: none;
}



#gift_wrap #notes h2{
    background: var(--ttl-color);
    color: #fff;
    padding: 0.2em 0;
    font-size: clamp(2.2rem, 0.968rem + 3.79vw, 4rem);
    font-weight: normal;
}

#gift_wrap #notes dl{
    background: #fff;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    padding: 5% 3%;
    box-sizing: border-box;
}

#gift_wrap #notes dl dt{
    width: 25%;
    margin-right: 3%;
    max-width: 135px;
    margin-bottom: 1.2em;
}

#gift_wrap #notes dl dd{
    width: 70%;
    text-align: left;
    margin-bottom: 1.2em;
    font-size: clamp(1.4rem, 1.126rem + 0.84vw, 1.8rem);   
}

#gift_wrap #notes dl dd p{
    font-weight: bold;
    font-size: 110%;
}

#gift_wrap #notes dl dd span{
    text-align: center;
    display: block;
    width: 130%;
    margin: auto;
}

#gift_wrap #notes ol{
    text-align: left;
    margin: 30px auto;
    font-size: 85%;
    width: 95%;
}

#gift_wrap #notes ol li{
    text-indent: -1.2em;
    padding-left: 1.2em;
    line-height: 1.8;
}

#gift_wrap #notes ol li:not(:first-of-type)::before{
    content: "● ";
}

#gift_wrap #service ul{
    margin-top: 50px;
}

#gift_wrap #service ul li.comm_btn{
    margin-bottom: 0.8em;
    background: var(--bg-color);
    text-align: left;
    display: flex;
    align-items: center;
    padding-left: 8%;
}

#gift_wrap #service ul li.comm_btn::before{
    content: "";
    display: inline-block;
    width: 10%;
    max-width: 45px;
    aspect-ratio:1/1;
    mix-blend-mode: multiply;
    margin-right: 20px;
    background: url("category.jpg") no-repeat;
    background-size: cover;
}

#gift_wrap #service ul li.comm_btn:nth-of-type(2)::before{
    background: url("budget.jpg") no-repeat;
    background-size: cover;
    aspect-ratio:110/69;
}

#gift_wrap #service ul li.comm_btn:nth-of-type(3)::before{
    background: url("event.jpg") no-repeat;
    background-size: cover;
    aspect-ratio:87/105;
}



#gift_wrap #other{
    background: var(--bg-color);
    padding: 2em 0;
}

#gift_wrap #other ol li{
    width: 48%;
    margin-bottom: 20px;
}

#gift_wrap #other ol li dl{
    margin-top: 0.3em;
}

#gift_wrap #other ol li dt{
    font-size: 80%;
}

#gift_wrap #other .comm_btn{
    margin: 1.5em auto;
}











@media only screen and (max-width: 620px) {  
    #gift_wrap #service .limited p br,
    #gift_wrap #service .att br{
        display: block;
    }

    #gift_wrap #service .limited .time{
        letter-spacing: -4px;
    }

    #gift_wrap #cate-list .block dd{
        width: 32%;
    }
    #gift_wrap #cate-list .block dl::before {
        display: none;
    }
    #gift_wrap #cate-list .block dl::after {
        content: "";
        width: 32%;
        display: block;
    }

    #gift_wrap #notes dl{
        align-items: flex-start;
    }

}





@media only screen and (max-width: 480px) {  

/*#gift_wrap #intro dl dd p{
    width: 50%;
    margin: 0 auto 20px;
}*/
#gift_wrap #intro dl dd p img {
    max-height: 68px;
}
#gift_wrap #cate-list .block dd {
        width: 49%;
    }
#gift_wrap #point .comm_flex dt br{
    display: none;
}




















}





















