@charset "UTF-8";
body {
    width: 100vw;
    margin: 0;
    height: auto;
    font-family: sans-serif;
    background-image: url('kaori_bkg.svg');
    background-repeat: no-repeat;
    background-size:100vw auto;
}
.lead{
    text-align: center;
    margin-top: 28vw;
    font-size: 2vw;
    font-weight: 500;
}
.lead-box{
    display: grid;
    text-align: center;
    margin: 2vw 0vw 8vw 0vw;
    width: 100vw;
    justify-content: center;
    align-items: start;
}
.lead-img{
    grid-area: 1 / 1 / 1 / 1;
}
.lead-img img{
    width: 71vw;
}
.lead-shoulder{
    width: 0vw;
    grid-area: 1 / 2 / 1 / 2;
    filter: drop-shadow(0.4vw 0.4vw 0.2vw rgba(0,0,0,0.2));
    transform: translateZ(0);
    will-change: filter;
}
.lead-shoulder img{
    width: 35vw;
    margin-left: -23vw;
    margin-top: -11vw;
}
.item-box-wrap{
    display: grid;
}
.item-box{
    display: grid;
    width: 65vw;
    height: auto;
    margin: -7vw auto 2vw auto;
    padding-bottom: 3vw;
    border-radius: 0vw;
    background-color: rgba( 255, 255, 255, 1 );
    filter: drop-shadow(0.4vw 0.4vw 0vw rgba(0,0,0,0.8));
    border: solid 0.5px black;
    transform: translateZ(0);
    will-change: filter;
    align-content: center;
}
.new-svg{
    margin: -6vw 0vw 0 9vw;
    grid-area: 1 / 1 / 1 / 1;
    z-index: 99;
}
.new-svg img{
    width: 12vw;
}
.banner-towel-svg{
    margin: 3vw auto 1vw auto;
    grid-area: 1 / 1 / 1 / 3;
}
.banner-towel-svg img{
    width: 45vw;
    filter: drop-shadow(0.2vw 0.2vw 0.2vw rgba(0,0,0,0.5));
    transform: translateZ(0);
    will-change: filter;
}
.item-name{
    font-size: 2.3vw;
    font-weight: bold;
    margin: 0 auto;
    grid-area: 2 / 1 / 2 / 3; 
}
.item-exp01{
    font-size: 1.2vw;
    margin: 1vw auto;
    text-align: center;
    grid-area: 3 / 1 / 3 / 3;
}
br.invisible{
    display: none;
}
br.visible{
    display: block;
}
.item-exp02{
    font-size: 1vw;
    margin: 0 auto;
    text-align: center;
    grid-area: 4 / 1 / 4 / 3;
}
.item-exp02 span{
    font-size: 1.2vw;
    font-weight: bolder;
    color: red;
}
.item-price{
    font-size: 2vw;
    font-weight: bolder;
    color: red;
    text-align: center;
    margin: 2vw auto;
    grid-area: 5 / 1 / 5 / 3; 
}
.item-price span{
    font-size: 1.5vw;
}
.item-cart01{
    display: grid;
    place-items: center end;
    text-align: center;
    margin-right: 3vw;
    grid-area: 6 / 1 / 6 / 3;
    justify-items: center;
}
.item-cart02{
    display: grid;
    place-items: center start;
    text-align: center;
    margin-left: 3vw;
}
.item-cart01,.item-cart02{
    font-size: 0.8vw;
}
.item-cart01 span,.item-cart02 span{
    color: red;
    font-weight: bolder;
    font-size: 1.5vw;
}
.input-cnt input{
    font-size: 1.5vw;
}
.input-cnt{
    display: flex;
    font-size: 1vw;
    align-items: center;
    line-height: 4.5vw;
}
.cart-btn {
	width: 14vw;
    transition: 0.5s;
}
.cart-btn:hover {
	opacity: 0.5 ;
}
.cart-btn-soldout {
	width: 21vw;
    transition: 0.5s;
}
.cart-btn-soldout:hover {
	opacity: 0.5 ;
}
.item-exp03{
    font-size: 1.5vw;
    margin: 1vw auto;
    text-align: center;
    grid-area: 7 / 1 / 7 / 3 ;
    color: blue;
    font-weight: bold;
    text-decoration:underline;
    text-decoration-color: red;
}

.Message-box{
    display: grid;
    align-content: center;
    justify-content: center;
    width: 100vw;
    height: 30vw;
    margin: 0vw auto;
    padding: 0vw 0;
    background-image: url('kaori_msg_bkg.svg');
    background-repeat: no-repeat;
    background-size:100vw auto;
    align-items: center; 
}
.massage-sign{
    grid-area: 3 / 2 / 4 / 3;
    margin: 0vw 0vw -4vw 9vw;
}
.massage-sign img{
    width: 20vw;    
}
.message-title-svg{
    grid-area: 1 / 2 / 1 / 2;
    margin: -2vw 1vw 0 1vw;
    padding: 0vw 0 0 0;
}
.message-title-svg img{
    width: 30vw;
}
.message-text{
    width: 26vw;
    grid-area: 2 / 2 / 3 / 3;
    margin: 1vw 0 0 1vw;
    padding: 0vw 0 0vw 0;
}
.massage-img{
    grid-area: 1 / 1 / 4 / 2;
    margin-bottom: 0.5vw;
}
.massage-img img{
    width: 23vw;
    filter: drop-shadow(0.4vw 0.4vw 0.2vw rgba(0,0,0,0.2));
    margin-left: 0vw;
    margin-top: 0vw;
}
.message-mascot{
    margin: -13.3vw 0vw 0 12vw;
}
.message-mascot img{
    width: 18vw;
}
.photo_credit{
    grid-area: 3 / 3 / 3 / 3;
    text-align: left;
    margin-bottom: 0.5vw;
    margin-left: 9vw;
    font-size: 1vw;
}

.attention-box{
    width: 58vw;
    margin: 4vw auto;
    padding: 1vw;
    border: solid 0.5px black;
    text-align: left;
    position: relative;
    z-index: 3;
    font-size: 0.8vw;
}
.attention-box span{
    font-weight: bold;
    color: red;
}
.footer-box {
	display: grid;
    width: 100vw;
    margin: 0;
    text-align: center;
	grid-template-rows: 5vw;
	grid-template-columns: repeat(11, auto);
    justify-content: center;
    align-items: center;
    background-color: #f0f0f0;
    z-index: 2;
    position: relative;
}
.link {
	text-align: center;
	font-size: 0.8vw;
	color: black;
}
.link a:link, a:visited, a:hover, a:active {
	color: black;
	text-decoration: none;
}

/*モーダル*/
body.open_popup {
    overflow: hidden;
}
.bg_onetime_popup {
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 9999;
    width: 100vw;
    height: 100vh;
    background-color: rgba(178, 178, 178, 0.8);
    opacity: 0;
    visibility: hidden;
    transition: 0.5s;
}
body.open_popup .bg_onetime_popup {
    opacity: 1;
    visibility: visible;
}
.onetime_popup {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 50%;
    min-width: 500px;
    background-color: #fff3bc;
    border-top: solid 0.8vw #ff8b18;
    border-bottom: solid 0.8vw #ff8b18;
}
.onetime_popup_title {
    position: relative;
    margin: 0vw auto;
    text-align: center;
}
.onetime_popup_title img {
    width: 25vw;
    margin-top: 1vw;
}
.onetime_popup_title_close {
    position: absolute;
    top: 215%;
    right: 1vw;
    width: 3vw;
    height: 1vw;
    transform: translateY(-50%);
    cursor: pointer;
}
.onetime_popup_title_close::before,
.onetime_popup_title_close::after {
    position: absolute;
    top: 3000%;
    left: 70%;
    transform: translateX(-50%) translateY(-50%);
    width: 100%;
    height: 4px;
    background-color: #f0f0f0;
    content: "";
}
.onetime_popup_title_close::before {
    transform: translateX(-50%) translateY(-50%) rotate(45deg);
}
.onetime_popup_title_close::after {
    transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}
.onetime_popup_content {
    padding: 1vw 1vw;
    text-align: left;
    font-size: 1.2vw;
    display: grid;
    justify-content: center;
}
.onetime_popup_content p{
    margin: 0 11vw 0vw 0;
}
.onetime_popup_content_text{
    grid-area: 1 / 2 / 1 / 2;
    text-align: left;
    margin: 1vw 2vw 2vw 2vw;
    line-height: 1.6vw;
}
.onetime_popup_content_img01{
    grid-area: 1 / 1 / 4 / 2;
    text-align: center;
    align-self: center;
}
.onetime_popup_content_img01 img{
    width: 20vw;
    margin: 0vw 0 0 0;
    filter: drop-shadow(0.4vw 0.4vw 0.2vw rgba(0,0,0,0.2));
    transform: translateZ(0);
    will-change: filter;
}
.onetime_popup_content_img02{
    grid-area: 3 / 2 / 3 / 2;
    text-align: right;
    margin: 0vw 6vw 0 0vw;
}
.onetime_popup_content_img02 img{
    width: 15vw;
    margin: 0 0 0 2vw;
}
.onetime_popup_content_img03{
    grid-area: 2 / 2 / 2 / 2 ;
    text-align: left;
    margin: -2vw 0 0 0vw;
    filter: drop-shadow(0.4vw 0.4vw 0.2vw rgba(0,0,0,0.2));
    transform: translateZ(0);
    will-change: filter;
}
.onetime_popup_content_img03 img{
    width: 13vw;
    margin: 0 0 0vw 0vw;
    padding: 1vw;
}


@media screen and (max-width: 559px) {
    body {
        width: 100vw;
        margin: 0;
        height: auto;
        font-family: sans-serif;
        background-image: url('kaori_bkg.svg');
        background-repeat: no-repeat;
        background-size: 100vw auto;
        background-position: center top;
    }
    .lead{
        text-align: center;
        margin-top: 30vw;
        font-size: 3.5vw;
        font-weight: 400;
        line-height: 4vw;
    }
    .lead-box{
        display: grid;
        text-align: center;
        margin-top: 2vw;
        width: 100vw;
        justify-content: center;
        align-items: start;
    }
    .lead-img{
        grid-area: 1 / 1 / 1 / 1;
    }
    .lead-img img{
        width: 80vw;
        margin-top:3vw;
    }
    .lead-shoulder{
        width: 0vw;
        grid-area: 1 / 2 / 1 / 2;
        filter: drop-shadow(0.4vw 0.4vw 0.2vw rgba(0,0,0,0.2));
        transform: translateZ(0);
        will-change: filter;
    }
    .lead-shoulder img{
        width: 24vw;
        margin-left: -15vw;
        margin-top: -8vw;
    }
    .item-box-wrap{
        display: grid;
    }
    .item-box{
        display: grid;
        width: 80vw;
        height: auto;
        margin: -8vw auto 2vw auto;
        padding-bottom: 3vw;
        border-radius: 0vw;
        background-color: rgba( 255, 255, 255, 1 );
        filter: drop-shadow(0.4vw 0.4vw 0vw rgba(0,0,0,0.8));
        border: solid 0.5px black;
        transform: translateZ(0);
        will-change: filter;
        align-content: center;
    }
    .new-svg{
        margin: -5vw 0 0 3vw;
        grid-area: 1 / 1 / 1 / 1; 
    }
    .new-svg img{
        width: 15vw;
        text-align: right;
    }
    .banner-towel-svg{
        margin: 3vw auto 0vw auto;
        grid-area: 1 / 1 / 1 / 3
    }
    .banner-towel-svg img{
        width: 55vw;
        filter: drop-shadow(0.4vw 0.4vw 0.6vw rgba(0,0,0,0.5));
        transform: translateZ(0);
        will-change: filter;
    }
    .item-name{
        font-size: 4vw;
        font-weight: bolder;
        margin: 0 auto;
        grid-area: 2 / 1 / 2 / 3 
    }
    .item-exp01{
        font-size: 3vw;
        margin: 1vw auto;
        text-align: center;
        grid-area: 3 / 1 / 3 / 3 ;
    }
    br.invisible{
        display: block;
    }
    br.visible{
        display: none;
    }
    .item-exp02{
        font-size: 2.5vw;
        margin: 0 auto;
        text-align: center;
        grid-area: 4 / 1 / 4 / 3 ;
    }
    .item-exp02 span{
        font-size: 2.5vw;
        font-weight: bolder;
        color: red;
    }
    .item-price{
        font-size: 4vw;
        font-weight: bolder;
        color: red;
        text-align: center;
        margin: 2vw auto;
        padding-left: 4vw;
        grid-area: 5 / 1 / 5 / 3 
    }
    .item-price span{
        font-size: 1.5vw;
    }
    .item-cart01{
        display: grid;
        place-items: center;
        text-align: center;
        margin: 1.5vw 0vw;
        grid-area: 6 / 1 / 6 / 3 
    }
    .item-cart02{
        display: grid;
        place-items: center;
        text-align: center;
        margin: 1.5vw 0vw;
        grid-area: 7 / 1 / 7 / 3 
    }
    .item-cart01,.item-cart02{
        font-size: 2vw;
    }
    .item-cart01 span,.item-cart02 span{
        color: red;
        font-weight: bolder;
        font-size: 3vw;
        margin-bottom: 1vw;
    }
    .input-cnt input{
        font-size: 2.5vw;
    }
    .input-cnt{
        display: flex;
        font-size: 1.5vw;
        align-items: center;
        line-height: 5.5vw;
    }
    .cart-btn {
        width: 25vw;
        transition: 0.5s;
    }
    .cart-btn:hover {
        opacity: 0.5 ;
    }
    .cart-btn-soldout {
        width: 40vw;
        transition: 0.5s;
    }
    .cart-btn-soldout:hover {
        opacity: 0.5 ;
    }
    .item-exp03{
        font-size: 1.8vw;
        margin: 1vw auto;
        text-align: center;
        color: blue;
        font-weight: bold;
        grid-area: 8 / 1 / 8 / 3 ;
        text-decoration:underline;
        text-decoration-color: red;
    }
    
    .Message-box{
        display: grid;
        align-content: center;
        align-items: end;
        justify-content: center;
        width: 100vw;
        height: auto;
        margin: 4vw auto;
        padding: 2vw 0;
        background-image: url('kaori_msg_bkg_smp.svg');
        background-repeat: no-repeat;
        background-size:100vw auto;
    }
    .massage-img{
        margin: auto;
        grid-area: 1 / 1 / 4 / 2 ;
    }
    .massage-img img{
        width: 30vw;
        margin-top: -4vw;
        filter: drop-shadow(0.4vw 0.4vw 0.6vw rgba(0,0,0,0.2));
        transform: translateZ(0);
        will-change: filter;
    }
    .message-title-svg{
        margin: -1.5vw 0 0 3vw;
        grid-area: 1 / 2 / 2 / 2;
    }
    .message-title-svg img{
        width: 40vw;
    }
    .message-text{
        width: 35vw;
        margin: 2vw 0vw 0vw 3vw;
        text-align: left;
        grid-area: 2 / 2 / 2 / 2 ; 
    }
    .message-mascot{
        margin: -15.3vw 0vw 0 6vw;
        grid-area: 3 / 2 / 4 / 2;
    }
    .message-mascot img{
        width: 22vw;
    }
    .massage-sign{
        margin: 0vw 0vw 0vw 16vw;
        grid-area: 3 / 2 / 4 / 3 ;
        z-index: 10;
    }
    .massage-sign img{
        width: 25vw;    
    }
    .photo_credit{
        grid-area: 3 / 4 / 3 / 4;
        text-align: left;
        margin-bottom: 0.5vw;
        margin-left: 13vw;
        font-size: 1.5vw;
    }
    .attention-box{
        width: 90vw;
        margin: 4vw auto;
        padding: 2vw;
        border: solid 0.5px black;
        text-align: left;
        position: relative;
        z-index: 3;
        font-size: 2.3vw;
    }
    .attention-box span{
        font-weight: bold;
        color: red;
    }
    .attention-box ul{
        padding-left: 5vw;
        margin-bottom: 0vw;
    }
    .attention-box li{
        padding-left: 0vw;
    }
    .footer-box {
        display: grid;
        width: 100vw;
        margin: 0;
        text-align: center;
        grid-template-rows: 5vw;
        grid-template-columns: repeat(11, auto);
        justify-content: center;
        align-items: center;
        background-color: #f0f0f0;
        z-index: 2;
        position: relative;
    }
    .link {
        text-align: center;
        font-size: 1.5vw;
        color: black;
    }
    .link a:link, a:visited, a:hover, a:active {
        color: black;
        text-decoration: none;
    }
        /*モーダル*/
    body.open_popup {
        overflow: hidden;
    }
    .bg_onetime_popup {
        position: fixed;
        top: 0px;
        left: 0px;
        z-index: 9999;
        width: 100vw;
        height: 100vh;
        background-color: rgba(178, 178, 178, 0.8);
        opacity: 0;
        visibility: hidden;
        transition: 0.5s;
    }
    body.open_popup .bg_onetime_popup {
        opacity: 1;
        visibility: visible;
    }
    .onetime_popup {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translateX(-50%) translateY(-50%);
        width: 50%;
        min-width: 65vw;
        background-color: #fff3bc;
        border-top: solid 0.8vw #ff8b18;
        border-bottom: solid 0.8vw #ff8b18;
    }
    .onetime_popup_title {
        position: relative;
        margin: 0vw auto;
        text-align: center;
    }
    .onetime_popup_title img {
        width: 50vw;
        margin-top: 4vw;
    }
    .onetime_popup_title_close {
        position: absolute;
        top: 360%;
        right: 1vw;
        width: 3vw;
        height: 1vw;
        transform: translateY(-50%);
        cursor: pointer;
    }
    .onetime_popup_title_close::before,
    .onetime_popup_title_close::after {
        position: absolute;
        top: 3000%;
        left: 40%;
        transform: translateX(-50%) translateY(-50%);
        width: 100%;
        height: 2px;
        background-color: #f0f0f0;
        content: "";
    }
    .onetime_popup_title_close::before {
        transform: translateX(-50%) translateY(-50%) rotate(45deg);
    }
    .onetime_popup_title_close::after {
        transform: translateX(-50%) translateY(-50%) rotate(-45deg);
    }
    .onetime_popup_content {
        padding: 1vw 1vw;
        text-align: left;
        font-size: 2vw;
        display: grid;
        justify-content: center;
        margin-bottom: 2vw;
    }
    .onetime_popup_content p{
        margin: 0 11vw 0vw 0;
    }
    .onetime_popup_content_text{
        grid-area: 2 / 1 / 2 / 1;
        text-align: center;
        margin: 1vw;
        line-height: 2.8vw;
        align-self: center;
    }
    .onetime_popup_content_img01{
        grid-area: 1 / 1 / 1 / 1;
        text-align: center;
        align-self: center;
    }
    .onetime_popup_content_img01 img{
        width: 50vw;
        margin: 0vw 0 0 0;
        filter: drop-shadow(0.4vw 0.4vw 0.2vw rgba(0,0,0,0.2));
        transform: translateZ(0);
        will-change: filter;
    }
    .onetime_popup_content_img02{
        grid-area: 3 / 1 / 3 / 1;
        text-align: center;
        margin: 0vw;
        z-index: 5;
    }
    .onetime_popup_content_img02 img{
        width: 20vw;
        margin: 0 0 0vw 0vw;
        padding: 1vw;
    }
    .onetime_popup_content_img03{
        grid-area: 1 / 1 / 1 / 1;
        text-align: left;
        margin: -2vw 0vw 0 32vw;
    }
    .onetime_popup_content_img03 img{
        width: 15vw;
        margin: 0 0 0vw 0vw;
        padding: 0vw;
    }
}