
.bg_wrap::before{
    content: "";
    width: 100%;
    height: 100%;
    margin: 0 auto;
    background-image: url(../../static/img/common/background_1.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    min-height: 100dvh;
    z-index: -100;
    position: fixed;
    top: 0;
    left: 0;
    display: block;
    margin-top: unset;
}

.bg_wrap .bg_logo{
    position: fixed;
    top: 52%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 30%;
    z-index: -99;
}
.bg_wrap .bg_logo img{
    max-height: 100%;
}


/* 共通 */
.img_text_intro {
    display: flex;
    justify-content: space-between;
}
.img_text_intro h3 {
    width: 22.3%;
}
.img_text_intro div {
    width: 72.2%;
}
.img_text_intro .text_box p {
    font-size: 1.75vw;
    line-height: 1.7;
}


/* top */
.top{
    position: relative;
    top: 0;
    color: #FFF;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    min-height: 100vh;
    background-image: url(../../static/img/1_top/top_main_1.jpg);
    z-index: 100;
}
.top h1{
    position: absolute;
    width: 250px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.top .top_header_nav{
    position: absolute;
    top: 50%;
    right: 2.3%;
    z-index: 2;
    transform: translateY(-50%);
    color: #FFF;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: calc(100% - 7.8vh);
}
.top .top_header_other{
    position: absolute;
    top: 50%;
    left: 2.3%;
    z-index: 2;
    transform: translateY(-50%);
    color: #FFF;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: calc(100% - 7.8vh);
}
.top .top_header_nav li:first-of-type{
    width: 2.47vh;
}
.top .top_header_nav li:not(:first-of-type){
    width: 2.6vh;
}
.top .top_header_other li:first-of-type{
    width: 2.6vh;
}
.top .top_header_other li:nth-of-type(2){
    width: 2.34vh;
}
.top .top_header_other li:last-of-type{
    width: 3vh;
    margin-left: -20%;
}

.top .top_header_nav li{
    position: relative;
    overflow: hidden;
}
.top .top_header_nav li a img:last-of-type{
    top: 0;
    left: 0;
    position: absolute;
    cursor: pointer;
    transition: 0.2s;
}
.top .top_header_nav li:hover a img:last-of-type{
    opacity: 0;
}
.top .top_header_other li{
    position: relative;
    overflow: hidden;
}
.top .top_header_other li a img:last-of-type{
    top: 0;
    left: 0;
    position: absolute;
    cursor: pointer;
    transition: 0.2s;
}
.top .top_header_other li:hover a img:last-of-type{
    opacity: 0;
}

.top_intro_text_1{
    position: absolute;
    top: 50%;
    right: 15%;
    transform: translateY(-50%);
    width: 3.8vh;
}
.top_intro_text_2{
    position: absolute;
    top: 50%;
    left: 15%;
    transform: translateY(-50%);
    width: 3.8vh;
}
/* /top */


/* welcome */
#welcome{
    position: relative;
    padding-top: 7.33vw;
    padding-bottom: 7.33vw;
}
#welcome::before{
    content: "";
    background-color: #fff;
    opacity: 0.7;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -10;
}
#welcome h2{
    width: 27.1vw;
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 70px;
}
.welcome_intro_text{
    font-size: 1.46vw;
    letter-spacing: 0;
    line-height: 1.785;
    margin-bottom: 3em;
    text-align: center;
}
.welcome_inner ul{
    display: flex;
    flex-wrap: wrap;
    gap: 1.6%;
}
.welcome_inner ul li{
    width: calc((100% - 3.2%) / 3);
    aspect-ratio: 1/1;
    margin-bottom: 30px;
}
.welcome_list_4{
    justify-content: flex-end;
}
.welcome_inner ul li .img_box{
    width: 100%;
    height: 100%;
}
.welcome_inner ul li .img_box img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 18px;
}
.welcome_inner ul li .text_box{
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    font-size: 1.32vw;
    letter-spacing: 0;
    line-height: 1.8;
}
/* /welcome */

/*chanoyu*/
#chanoyu{
    padding-top: 7.33vw;
    padding-bottom: 7.33vw;
    background-image: url(../../static/img/3_chanoyu/background.jpg);
    background-size: 100%;
    width: 100%;
}
.chanoyu_line{
    background-image:url(../../static/img/3_chanoyu/chanoyu_line.png), url(../../static/img/3_chanoyu/chanoyu_line.png);
    background-repeat: no-repeat;
    background-position: left 9% top 58%, right 9% top 58%;
}
.chanoyu_top_intro{
    margin-bottom: 55px;
}
.chanoyu_taiken h4,
.chanoyu_other h4 {
    font-size: 2vw;
    font-weight: 600;
    margin-bottom: .9em; 
}
.chanoyu_taiken_1,.chanoyu_taiken_2,.chanoyu_taiken_3,.chanoyu_taiken_4{
    width: 100%;
    margin-bottom: 35px;
}
.chanoyu_taiken_waku_side{
    position: relative;
    width: 100%;
    background-image: url(../../static/img/waku/chanoyu/waku_side.svg);
    background-repeat: repeat-y;
}
.chanoyu_taiken_waku_top {
    margin-bottom: -1px;
    background-image: url(../../static/img/waku/chanoyu/waku1.svg);
    aspect-ratio: 1199 / 30;
}
.chanoyu_taiken_waku_bottom {
    background-image: url(../../static/img/waku/chanoyu/waku4.svg);
    aspect-ratio: 1199 / 30;
}

.chanoyu_taiken_waku_bottom img{
    vertical-align: top;
}
.taiken_naiyo_wrap{
    padding-left: 3.4%;
    padding-right: 3.4%;
}
.taiken_top_title{
    margin-bottom: 1em;
    padding-bottom: .8em;
    border-bottom: 1px solid #5C5C5C;
}
.chanoyu_taiken_1 .taiken_top_title{
    padding-left: 4%;
    padding-right: 4%;
    border: none;
    margin-bottom: .8em;
    padding-bottom: 0;
}
.chanoyu_taiken_1 .chanoyu_taiken_1_line{
    width: calc(100% - 60px);
    height: 1px;
    background-color: #5C5C5C;
    margin-bottom: 1.3em;
    margin-left: auto;
    margin-right: auto;
}
.taiken_top_title p {
    font-size: 1.61vw;
    line-height: 1.7;
}
.taiken_top_title p:first-of-type{
    font-size: 1.74vw;
    font-weight: 600;
}
@media (min-width: 1370px) {
    .taiken_top_title p:first-of-type {
        font-size: 1.65vw;
    }
}
.taiken_top_title .taiken_ume{
    content: "";
    width: .8em;
    aspect-ratio: 1 / 1;
    background-image: url(../../static/img/icon/icon_ume.svg);
    background-size: contain;
    display: inline-block;
    margin-right: .5em;
    margin-bottom: -.2%;
    background-repeat: no-repeat;
}
.taiken_top_title .taiken_time{
    font-weight: normal;
}
.taiken_naiyo_wrap{
    display: flex;
    justify-content: space-between;
}
.chanoyu_taiken_2 .taiken_naiyo_wrap,
.chanoyu_taiken_4 .taiken_naiyo_wrap{
    flex-direction: row-reverse;
}
.taiken_naiyo_wrap .img_box{
    max-width:41.6%;
    width: 100%;
}
.taiken_naiyo_wrap .img_box img{
    border-radius: 17px;
}
.taiken_naiyo_wrap .text_box{
    max-width: 55.5%;
    width: 100%;
}
.chanoyu_note{
    margin-top: 2em;
    margin-bottom: 3.7em;
}
.chanoyu_note li{
    display: flex;
}
.chanoyu_note li:not(:last-of-type){
    margin-bottom: 1.5em;
}
.chanoyu_other h4 span{
    content: "";
    width: .72em;
    aspect-ratio: 1 / 1;
    background-image: url(../../static/img/icon/icon_ume.svg);
    background-size: contain;
    background-repeat: no-repeat;
    display: inline-block;
    margin-right: .44em;
}
.chanoyu_other_wrap{
    display: flex;
    gap: 35px;
    position: relative;
}
.chanoyu_other_wrap .img_box{
    max-width: 400px;
    width: 44.4%;
    aspect-ratio: 40/32;
}
.chanoyu_other_wrap .img_box img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 17px;
}
.chanoyu_other_wrap .text_box ul li:not(:last-of-type) {
    margin-bottom: 1em;
}
.chanoyu_other_wrap .text_box ul li p:first-child{
    font-size: 1.17vw;
    margin-bottom: .3em;
}
.chanoyu_other_wrap .text_box ul li p:last-child{
    font-size: 1.75vw;
    font-weight: 600;
}
.chanoyu_other_wrap .text_box .text_right{
    position: absolute;
    bottom: 0;
    right: 0;
/*    font-size: clamp(1.125rem, 0.989rem + 0.68vw, 1.5rem);*/
    font-size: 1.46vw;
}
.chanoyu_btn_wrap{
/*    margin-top: 60px;*/
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
.contact_comment {
    font-size: 1.1vw;
    margin-top: 4em;
    margin-bottom: 1.5em;
}
.contact_comment li {
    display: flex;
}
.contact_comment li:not(:last-of-type) {
    margin-bottom: 1em;
}
.transparent_btn {
    background-color: #FAFAF79D;
    border: 2px solid #FAFAF7;
/*    max-width: 540px;*/
/*    width: 100%;*/
    width: 47.8%;
    position: relative;
    flex-shrink: 0;
}
.transparent_btn a{
    font-size: 1.75vw;
    text-align: center;
    padding: 1.13em;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.2s;
}
.chanoyu_reserve_btn a {
    text-indent: -1.5em;
}
.transparent_btn a:hover{
    opacity: 0.7;
}
/*/chanoyu*/

/* kimono */
#kimono{
    padding-top: 7.33vw;
    padding-bottom: 7.33vw;
    background-image: url(../../static/img/4_kimono/background.jpg);
    background-size: 100%;
    width: 100%;
}
.kimono_top_intro{
   margin-bottom: 3.5em;
}
.kimono_top_intro .img_box{
    flex-shrink: 0;
}
.kimono_img_wrap{
    display: flex;
    justify-content: space-between;
/*    gap: 50px;*/
}
.kimono_img_wrap_item{
/*    max-width: 550px;*/
    width: 46.7%;
}
.kimono_img_wrap_item img{
    border-radius: 12px;
}

.kimono_sale_intro{
    margin-top: 100px;
}
.kimono_sale_intro li{
    display: flex;
/*    gap: 70px;*/
    justify-content: space-between;
    align-items: center;
}
.kimono_sale_intro li:nth-child(2){
    flex-direction: row-reverse;
    margin-top: -3%;
    margin-bottom: -3%;
}
.kimono_sale_intro li .img_box{
/*    max-width: 370px;*/
    width: 33.3%;
}
.kimono_sale_intro li .img_box img{
    border-radius: 12px;
}
.kimono_sale_intro li .text_box{
    width: 60%;
    font-size: 1.46vw;
    line-height: 1.75;
}

.kimono_sale{
    padding-top: 90px;
    padding-top: 6.6vw;
}
.kimono_rei{
    display: flex;
    justify-content: space-between;
}
.kimono_rei > p{
    font-size: 1.75vw;
    letter-spacing: 0;
}
.kimono_rei .kimono_price p{
    font-size: 1.32vw;
    line-height: 1.7;
}
.kimono_list{
    margin-top: 2em;
    padding-left: 20px;
    padding-right: 20px;
    display: flex;
    flex-wrap: wrap;
    gap: 1.4%;
}
.kimono_list li{
    width: calc((100% - 1.4% * 4) / 5);
}
.kituke_waku_side{
    width: 100%;
    position: relative;
}
.kituke_waku_top{
    position: relative;
    top: 1px;
}
.kituke_waku_side{
    position: relative;
    width: 100%;
    background-image: url(../../static/img/waku/kimono/waku_side.svg);
    background-repeat: repeat-y;
    z-index: 1;
}
.kituke_waku_top {
    background-image: url(../../static/img/waku/kimono/waku1.svg);
    aspect-ratio: 1199 / 50;
}
.kituke_waku_bottom{
    margin-top: -1px;
    background-image: url(../../static/img/waku/kimono/waku3.svg);
    aspect-ratio: 1199 / 50;
}
/*.kituke_waku_side::before{
    content:"";
    background-image: url(../../static/img/waku/kimono/waku2.svg);
    display: block;
    background-repeat: repeat-y;
    background-position: left;
    position: absolute;
    background-size: 1.3%;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0; 
}
.kituke_waku_side::after{
    content:"";
    background-image: url(../../static/img/waku/kimono/waku3.svg);
    display: block;
    background-repeat: repeat-y;
    background-position: right;
    position: absolute;
    background-size: 1.3%;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0; 
}*/
.kituke_naiyo_container{
    /* max-width: 1082px;*/
    margin-left: auto;
    margin-right: auto;
    padding-left: 4%;
    padding-right: 4%;
}
.kituke_naiyo_wrap{
    width: 100%;
    height: 100%;
    background-color: #fff;
    display: flex;
    justify-content: space-between;
/*    gap: 40px;*/
    /* padding-left: 40px;*/
    /* padding-right: 40px;*/
}
.kituke_naiyo_wrap .img_box{
/*    max-width: 320px;*/
/*    width: 100%;*/
    width: 29.1%;
    flex-shrink: 0;
}
.kituke_naiyo_wrap .img_box img{
    border-radius: 17px;
}
.kituke_naiyo_wrap .text_box {
    width: 67.4%;
}
.kituke_naiyo_wrap .kituke_title h4{
    font-size: 1.75vw;
    font-weight: 600;
    margin-bottom: .2em;
}
.kituke_naiyo_wrap .text_box .kituke_title p:first-of-type{
    font-size: 1.46vw;
    margin-bottom: .35em;
}
.kituke_naiyo_wrap .text_box .kituke_title p:last-of-type{
    font-size: 1.46vw;
    margin-bottom: .35em;
}
.kituke_line{
    height: 1px;
    background-color: #5C5C5C;
/*    margin-right: 26%;*/
    margin-top: .9em;
    margin-bottom: .9em;
}
.kituke_naiyo_wrap .text_box .kituke_text{
/*    font-size: 1.32vw;*/
}
.kyoshitsu .contact_comment {
    display: flex;
    justify-content: center;
    margin-top: 3.4em;
}
.site_btn{
    margin: 5.5% auto 10%;
}
/*.site_btn a{
    padding-top: 29px;
    padding-bottom: 29px;
    font-size: clamp(1.25rem, 1.068rem + 0.91vw, 1.75rem);
    line-height: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.2s;
}*/
.kyoshitsu_btn{
    margin-left: auto;
    margin-right: auto;
}
/*.kyoshitsu_btn a{
    padding-top: 29px;
    padding-bottom: 29px;
    font-size: clamp(1.25rem, 1.068rem + 0.91vw, 1.75rem);
    line-height: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.2s;
}*/
/* /kimono */

/*etceteta*/
#etcetera{
    padding-top: 7.33vw;
    padding-bottom: 7.33vw;
    background-image: url(../../static/img/5_etcetera/background.jpg);
    background-size: cover;
    width: 100%;
}
.etceteta_top{
    display: flex;
    justify-content: space-between;
/*    gap: 95px;*/
}
.etceteta_top h3{
/*    max-width: 225px;*/
    width: 22.3%;
    min-width: 158px;
}
.etceteta_top_intro{
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 72.2%;
}
.etceteta_top_intro .img_box{
    position: relative;
/*    max-width: 485px;*/
    width: 55%;
}
.etceteta_top_intro .text_box{
    margin-top: .8em;
}
#etcetera p{
/*    font-size: 1.32vw;*/
    line-height: 1.67;
}
.etceteta_beads{
    margin-top: 4.3%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.etceteta_gacha{
    margin-top: -6%;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;;
}
.etceteta_beads .img_box,
.etceteta_gacha .img_box {
    position: relative;
    width: 35%;
    display: block;
}
.etceteta_beads .text_box,
.etceteta_gacha .text_box {
    width: 61.6%;
}
.etceteta_beads .text_box {
    margin-top: -3em;
}
.etceteta_gacha .text_box {
    margin-bottom: -4em;
}
/*/etcetera*/

/* about */
#about{
    position: relative;
    padding-top: 7.33vw;
}
/*#about::before{
    content: "";
    background-color: #fff;
    opacity: 0.7;
    display: block;
    position: absolute;
    top: 0;
    bottom: -168px;
    left: 0;
    right: 0;
    z-index: -10;
}*/
#about .about_container{
    position: relative;
}
#about h3{
    max-width: 257px;
    min-width: 187px;
    width: 13.7vw;
    margin-left: 6%;
}
.about_eigyou_wrap{
    position: relative;
    width: 29vw;
    min-width: 396px;
    z-index: 100;
    margin-left: 35%;
}
.about_eigyou_wrap .eigyou_img{
    max-width: 98%;
    display: inline-block;
}
.about_eigyou_wrap .open_wrap {
    font-size: 1vw;
    background: url(../img/waku/open_side.svg);
    padding: 1em 2em 0 2.4em;
}
.about_eigyou_wrap .opening_hours {
    font-size: 1.46vw;
    font-weight: 600;
    line-height: 1.7;
    margin-bottom: 0.4em;
}
.eigyo_waku_top {
    margin-bottom: -1px;
    background: url(../img/waku/open_top.svg) no-repeat;
    aspect-ratio: 496 / 70;
}
.eigyo_waku_bottom {
    margin-top: -9%;
    background: url(../img/waku/open_bottom.svg) no-repeat;
    aspect-ratio: 496 / 70;
}

.about_eigyou_wrap .about_insta_btn{
    width: 9.7vw;
    min-width: 132px;
    aspect-ratio: 1/1;
    position: absolute;
    top: 2%;
    right: -7%;
}
.about_eigyou_wrap .about_insta_btn a{
    transition: 0.2s;
}
.about_eigyou_wrap .about_insta_btn a:hover{
    opacity: 0.7;
}
.about_img_1{
    position: relative;
    width: 18.75%;
    aspect-ratio: 1/1;
    margin-top: -10%;
    margin-left: 15%;
}
.about_img_2{
    position: relative;
    width: 22.4%;
    aspect-ratio: 43/60;
    margin-top: -10%;
    margin-left: auto;
    margin-right: 16%;
}
.about_img_3{
    position: relative;
    width: 33.3%;
    aspect-ratio: 31/22;
    margin-top: -15%;
    margin-left: 8%;
}
.about_img_4{
    position: relative;
    width: 18.75%;
    aspect-ratio: 1/1;
    margin-top: -14%;
    margin-left: 39%;
}

#access{
    padding-top: 6.6vw;
}

.access_inner{
    position: relative;
}
.access_waku_top{
    position: relative;
    top: 1px;
}
.access_waku_bottom{
    position: relative;
    top: -1px;
}
.access_waku_side{
    width: 100%;
    position: relative;
    background-image: url(../../static/img/waku/access/waku_side.svg);
    background-repeat: repeat-y;
    background-position: center;
}
.access_waku_top {
    background-image: url(../../static/img/waku/access/waku1.svg);
    aspect-ratio: 1200 / 90;
}
.access_waku_bottom {
    background-image: url(../../static/img/waku/access/waku4.svg);
    aspect-ratio: 1200 / 55;
}
/*.access_waku_side::before{
    content:"";
    background-image: url(../../static/img/waku/access/waku2.svg);
    display: block;
    background-repeat: repeat-y;
    background-position: left;
    position: absolute;
    width: 100%;
    background-size: 2%;
    height: 100%;
    top: 0;
    left: 0; 
}
.access_waku_side::after{
    content:"";
    background-image: url(../../static/img/waku/access/waku3.svg);
    display: block;
    background-repeat: repeat-y;
    background-position: right;
    position: absolute;
    width: 100%;
    background-size: 1.4%;
    height: 100%;
    top: 0;
    right: 0px; 
}*/
.access_naiyo_container{
/*    max-width: 1082px;*/
    margin-left: auto;
    margin-right: auto;
    padding: 2.5% 5% 0;
}
.access_naiyo_wrap{
    width: 100%;
    height: 100%;
    background-color: #fff;
/*    padding-left: 50px;
    padding-right: 50px;*/
}
.g_map{
    width: 100%;
    aspect-ratio: 541/185;
}
.access_address{
    margin: 2.5% 0;
}
.access_address p:first-of-type{
    color: #739489;
    font-weight: 600;
    margin-bottom: 5px;
}
.access_address p:first-of-type span{
    margin-right: 1em;
}
.access_address p:last-of-type{
    font-size: 1.17vw;
    color: #739489;
}
.traffic{
    background-color: #F2F5F4;
    padding: 4% 2.5%;
}
.traffic_list_title{
    color: #739489;
    font-weight: 600;
}
.traffic_list_title span{
   content: "";
    width: 1.1em;
    aspect-ratio: 1 / 1;
    background-image: url(../../static/img/icon/icon_ume_gr.svg);
    background-size: contain;
    display: inline-block;
    margin-right: .7em;
    margin-bottom: .-3%;
}
.traffic_list_text{
    font-size: 1.17vw;
    line-height: 1.7;
    margin-top: .5em;
    margin-left: 2em;
}
.traffic_list_text li{
    color: #739489;
    display: flex;
}
.traffic_inner{
    margin-top: 1.8vw;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.traffic_list_3{
    margin-top: 1.8vw;
}
.traffic_list_wrap {
    width: 63%;
}
.shop_map{
/*  max-width: 288px;*/
/*  width: 100%;*/
    width: 32.5%;
  flex-shrink: 0;
}
.shop_map p{
    margin-top: 6px;
    font-size: 15px;
    font-weight: 600;
    color: #739489;
}
.access_insta_btn{
    width: 19.8vw;
    min-width: 270px;
    display: block;
    margin-top: 4.4vw;
    margin-left: auto;
    margin-right: auto;
}
.access_insta_btn a{
    transition: 0.2s;
}
.access_insta_btn a:hover{
    opacity: 0.7;
}
/* /about */ 


/* spot */
#spot{
    padding-top: 10.3vw;
}
.spot_bg{
    background-image: url(../../static/img/7_spot/background.jpg);
    background-size: 100%;
    background-position: center;
}
.spot_bg_inner{
    padding-left: 25px;
    padding-right: 25px;
    margin-left: auto;
    margin-right: auto;
}
#spot .container{
    position: relative;
    background-color: #fff;
}
.spot_container_1{
    padding-top: 7.33vw;
    margin-left: auto;
    margin-right: auto;

}
.spot_container_2{
    padding-top: 7.33vw;
    padding-bottom: 7.33vw;
    margin-left: auto;
    margin-right: auto;
}
.spot_title_1{
    width: 500px;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
}
.spot_title_2{
    width: 430px;
    margin: 0 auto 2.3%;
}
.spot_inner{
    margin-left: auto;
    margin-right: auto;
    padding-left: 2.3%;
    padding-right: 2.3%;
}
.spot_inner ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 2.78em 0;
}
.spot_inner ul li{
    width: calc((100% - 4.5% * 2) / 3);
}
.spot_inner ul li .text_box h4{
    font-size: 1.46vw;
    font-weight: 600;
    line-height: 1;
    color: #739489;
    margin-top: .8em;
    margin-bottom: .6em;
}
.spot_inner ul li .text_box h4 span{
    font-size: 1vw;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.5;
    display: block;
    color: #739489;
    margin-top: .3em;
}
.spot_inner ul li .text_box p{
    font-size: 1.17vw;
    color: #739489;
}
/* /spot */

/* pagetop */
.page_top{
    position: fixed;
    bottom: 40px;
    right: 10%;
    display: inline-block;
    transition: 1s;
    opacity: 0;
    width: 6vw;
    height: 6vw;
    min-width: 82px;
    min-height: 82px;
    background-color: #FFF;
    border: 2px solid #5C5C5C;
    border: .12em solid #5C5C5C;
    border-radius: 4px;
    transform: rotate(45deg);
    z-index: 1000;
}
.page_top a{
    font-size: 1.17vw;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-45deg);
    display: block;
    width: 150%;
    height: 150%;
}
.page_top:hover{
    opacity: 0.7;
}
.page_top_text{
    position: absolute;
    top: 4.6vw;
    top: 54%;
    left: 50%;
    transform: translateX(-50%);
}
.top_arrow{
    display: block;
    position: relative;
    top: 2.8vw;
    top: 32%;
    left: calc(50% - 1px);
}
.top_arrow::before{
    content: "";
    display: inline-block;
    width: .125em;
    height: 1.44em;
    background-color: #5C5C5C;
}
.top_arrow::after{
    position: absolute;
    content:"";
    display: inline-block;
    width: .125em;
    height: .6em;
    background-color: #5C5C5C;
    top: -1px;
    left: -2.3%;
    transform: rotate(220deg);
}
.view {
    transition: 1s;
    opacity: 1;
  }
/* /pagetop */

@media (max-width: 1400px){
/*    .top{
        top: -75px;
    }*/
/*    #welcome{
        margin-top: -75px;
    }
*/

    .chanoyu_line {
        background: none;
    }

    #spot .spot_bg{
        padding-left: 25px;
        padding-right: 25px;
    }
    #spot .container{
        padding-left: unset;
        padding-right: unset;
    }
}

@media (max-width: 1365px) {
    #welcome {
        padding-top: 100px;
        padding-bottom: 100px;
    }
    #welcome h2 {
        width: 100%;
        max-width: 370px;
    }
    .welcome_intro_text {
        font-size: 20px;
    }
    .welcome_inner ul li .text_box {
        font-size: 18px;
    }

    /* 茶の湯 */
    #chanoyu {
        padding-top: 100px;
        padding-bottom: 100px;
    }
    .img_text_intro .text_box p {
        font-size: 24px;
        font-size: clamp(1.19rem, calc(1.08rem + 0.50vw), 1.50rem);
    }
    .chanoyu_taiken h4, .chanoyu_other h4 {
        font-size: 28px;
    }
    .taiken_top_title p:first-of-type {
        font-size: 22px;
    }
    .taiken_top_title p {
        font-size: 20px;
    }
    .chanoyu_other_wrap .text_box ul li p:first-child {
        font-size: 16px;
    }
    .chanoyu_other_wrap .text_box ul li p:last-child {
        font-size: 24px;
    }
    .chanoyu_other_wrap .text_box .text_right {
        font-size: 20px;
    }
    .contact_comment {
        font-size: 15px;
    }
    .transparent_btn a {
        font-size: 24px;
        font-size: clamp(1.25rem, calc(1.15rem + 0.41vw), 1.50rem);;
    }

    /* 着物 */
    #kimono {
        padding-top: 100px;
        padding-bottom: 100px;
    }
    .kimono_sale_intro li .text_box {
        font-size: 20px;
    }
    .kimono_sale {
        padding-top: 90px;
    }
    .kimono_rei > p {
        font-size: 24px;
    }
    .kimono_rei .kimono_price p {
        font-size: 18px;
    }
    .kituke_naiyo_wrap .kituke_title h4 {
        font-size: 24px;
    }
    .kituke_naiyo_wrap .text_box .kituke_title p:first-of-type,
    .kituke_naiyo_wrap .text_box .kituke_title p:last-of-type {
        font-size: 20px;
    }

    /* エトセトラ */
    #etcetera {
        padding-top: 100px;
        padding-bottom: 100px;
    }

    /* 店舗紹介 */
    #about {
        padding-top: 100px;
    }
    .about_eigyou_wrap .open_wrap {
        font-size: 13px;
    }
    .about_eigyou_wrap .opening_hours {
        font-size: 20px;
    }

    /* アクセス */
    #access {
        padding-top: 100px;
    }
    .access_address p:last-of-type,
    .traffic_list_text {
        font-size: 16px;
    }
    .access_insta_btn {
        margin-top: 50px;
    }
    
    /* スポット */
    #spot {
        padding-top: 120px;
    }
    .spot_container_2 {
        padding-bottom: 100px;
    }
    .spot_inner ul li .text_box h4 {
        font-size: 20px;
    }
    .spot_inner ul li .text_box h4 span {
        font-size: 14px;
    }
    .spot_inner ul li .text_box p {
        font-size: 16px;
    }

    /* pagetop */
    .page_top a {
        font-size: 16px;
    }

}

@media (max-width: 1260px){

}
@media (max-width: 1140px){

}
@media (max-width: 1000px){
    .chanoyu_other_wrap .text_box .text_right{
        position: static;
        margin-top: 1.5em;
    }

    .spot_inner ul li{
/*       width: calc((100% - 70px) / 2);*/
    }


}
@media (max-width: 960px){
    #welcome {
        padding-bottom: 60px;
    }
    .welcome_inner ul{
        gap: 40px 2.8%;
        margin-bottom: 40px;
    }
    .welcome_inner ul li{
        aspect-ratio: unset;
        margin-bottom: 0;
    }
    .welcome_list_1 li:first-child,
    .welcome_list_3 li:first-child,
    .welcome_list_5 li:first-child{
        width: calc((100% - 2.8%) / 2);
    }
    .welcome_list_1 li:nth-child(2),
    .welcome_list_3 li:nth-child(2),
    .welcome_list_5 li:nth-child(2){
        width: 100%;
        order: 2;
    }
    .welcome_list_1 li:last-child,
    .welcome_list_3 li:last-child,
    .welcome_list_5 li:last-child{
        width: calc((100% - 2.8%) / 2);
    }
    .welcome_list_2,
    .welcome_list_4,
    .welcome_list_6{
        flex-direction: column;
        align-items: center;
    }
    .welcome_list_2 li:first-child,
    .welcome_list_6 li:first-child{
        width: calc((100% - 2.8%) / 2);
        order: 2;
    }
    .welcome_list_2 li:last-child,
    .welcome_list_6 li:last-child{
        width: 50%;
    }
    .welcome_list_4 li:first-child{
        width: calc((100% - 2.8%) / 2);
    }
    .welcome_list_4 li:last-child{
        width: 100%;
    }
    .welcome_list_7 li:first-child,
    .welcome_list_7 li:last-child{
        width: calc((100% - 2.8%) / 2);
    }
    .welcome_list_7 li:nth-child(2){
        width: 100%;
        order: 2;
    }

    .chanoyu_other .contact_comment {
        width: fit-content;
        margin-left: auto;
        margin-right: auto;
    }
    .chanoyu_btn_wrap {
        flex-direction: column;
        gap: 20px;
    }
    .transparent_btn {
        width: 100%;
        max-width: 430px;
    }

    .kimono_list {
        justify-content: center;
        gap: 30px 20px;
        padding-left: 25px;
        padding-right: 25px;
    }
    .kimono_sale .kimono_list li {
        width: calc((100% - 20px * 2) / 3);
    }

    .etceteta_beads {
        margin-top: 50px;
    }
}
@media (max-width: 860px) {
    .chanoyu_other_wrap {
        flex-direction: column;
        align-items: center;
    }
    .chanoyu_other_wrap .img_box {
        width: 100%;
    }
    .chanoyu_other_wrap .text_box ul li p:first-child,
    .chanoyu_other_wrap .text_box .text_right {
        font-size: 18px;
    }
    .chanoyu_other_wrap .text_box ul li:not(:last-of-type) {
        margin-bottom: 1.4em;
    }

    .traffic{
        padding: 30px 15px;
    }
    .traffic_list_2{
        margin-top: 40px;
    }
    .sp_traffic_ume{
        display: block;
        width: 20px;
        height: 20px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 15px;
    }
    .sp_traffic_ume img {
        display: block;
    }
    .traffic_list_title{
        font-size: clamp(1.13rem, calc(1.04rem + 0.40vw), 1.25rem);
        text-align: center;
        letter-spacing: 0.5px;
    }
    .traffic_list_text{
        margin-left: 0;
    }
    .shop_map{
        margin: 15px auto 35px;
        width: 100%;
        max-width: 290px;
    }

    .spot_container_1,
    .spot_container_2 {
        padding-top: 67px;
    }
    .spot_title_1 {
        width: 100%;
        max-width: 500px;
    }
    .spot_title_2 {
        width: 100%;
        max-width: 430px;
    }
    .spot_inner ul li {
        width: calc((100% - 4%) / 2);
    }
}
@media (max-width: 768px){
    .top{
        position: relative;
        top: 0;
        color: #FFF;
        width: 100%;
        height: 100%;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        min-height: 100vh;
        background-image: none;
        z-index: 100;
    }
    .top h1{
        width: 48%;
        top: 50%;
        transform: translate(-50%,-50%);
    }
    .bg_logo.hidden{
        display: none;
    }
    #welcome h2,
    .welcome_intro_text {
        margin-bottom: 50px;
    }
    .welcome_list_2 li:first-child,
    .welcome_list_6 li:first-child{
        width: 100%;
    }
    .welcome_list_2 li:last-child,
    .welcome_list_6 li:last-child{
        width: 100%;
    }
    .welcome_list_4 li:first-child{
        width:  100%;
    }


    #chanoyu{
        background-image: url(../../static/img/3_chanoyu/background_sp.jpg);
    }
    /*.chanoyu_line{
        background: none;
    }*/
    .chanoyu_top_intro{
        flex-direction: column;
        align-items: center;
        margin-bottom: 60px;
        gap: 50px;
    }
    .img_text_intro h3 {
        width: 43.5%;
        width: 38%;
        min-width: 170px;
    }
    .img_text_intro div {
        width: 100%;
    }
    .img_text_intro .text_box p {
        font-size: 20px;
    }
    .chanoyu_taiken h4{
        text-align: center;
/*        margin-bottom: 45px;*/
    }
    .chanoyu_taiken_waku_side{
        background-image: url(../../static/img/waku/chanoyu/sp_waku_side.svg);
    }
    .chanoyu_taiken_waku_top {
        background-image: url(../../static/img/waku/chanoyu/sp_waku1.svg);
        aspect-ratio: 17 / 2;
    }
    .chanoyu_taiken_waku_bottom {
        background-image: url(../../static/img/waku/chanoyu/sp_waku4.svg);
        aspect-ratio: 17 / 2;
    }
    .taiken_naiyo_wrap{
        padding-left: 20px;
        padding-right: 20px;
        padding-left: 6%;
        padding-right: 6%;
        flex-direction: column !important;
        gap: 15px;
    }
    .chanoyu_taiken_1 .taiken_top_title{
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 12px;
        border-bottom: 1px solid #5C5C5C;
    }
    .taiken_naiyo_wrap .img_box,
    .taiken_naiyo_wrap .text_box{
        max-width: 100%;
    }
    .taiken_naiyo_wrap .img_box img {
        aspect-ratio: 15 / 8;
        object-fit: cover;
    }
    /*.taiken_top_title{
        margin-top: 10px;
        margin-bottom: 10px;
        padding-bottom: 12px;
    }*/
    .taiken_top_title p {
        line-height: 1.5;
    }
    .taiken_top_title p:not(:last-of-type) {
        margin-bottom: .3em;
    }
    .taiken_top_title .taiken_ume {
        width: .9em;
        margin-right: .3em;
        margin-bottom: -.6%;
    }
    .taiken_top_title .taiken_time{
        display: block;
    }
    .chanoyu_note{
        margin-top: 30px;
        margin-bottom: 80px;
    }
    .chanoyu_note li:not(:last-of-type){
        margin-bottom: 20px;
    }
    .chanoyu_other_wrap .text_box .text_right{
        margin-top: 40px;
    }


    #kimono{
        background-image: url(../../static/img/4_kimono/background_sp.jpg);
    }
    .kimono_top_intro{
        flex-direction: column;
        align-items: center;
    }
    .kimono_intro_img .img_box{
        display: flex;
        gap: 2.7%;
        margin-bottom: 2.7em;
    }
    .kimono_intro_img .img_box img{
        border-radius: 12px;
    }
    .kimono_sale_intro{
        margin-top: 60px;
    }
    .kimono_sale_intro li{
        flex-direction: column;
        gap: 20px;
    }
    .kimono_sale_intro li:nth-child(2) {
        flex-direction: column;
        margin-top: 40px;
        margin-bottom: 40px;
    }
    .kimono_sale_intro li .img_box {
        width: 100%;
        max-width: 355px;
    }
    .kimono_sale_intro li .text_box {
        width: 100%;
    }
    .kimono_rei{
        flex-direction: column;
        gap: 30px;
    }
    .kimono_rei > p {
        font-size: 30px;
    }
    .kimono_rei .kimono_price p {
        font-size: 20px;
    }
    .kimono_price{
        display: flex;
        flex-direction: column;
        align-items: flex-end;
    }
    .kimono_sale .kimono_list{
        margin-top: 30px;
    }
    .kituke_naiyo_container{
        padding-right: 30px;
        padding-left: 30px;
        padding-right: 6%;
        padding-left: 6%;
    }
    .kituke_waku_side{
        background-image: url(../../static/img/waku/kimono/sp_waku_side.svg);
    }
    .kituke_waku_top {
        background-image: url(../../static/img/waku/kimono/sp_waku1.svg);
        aspect-ratio: 768 / 72.3;
    }
    .kituke_waku_bottom{
        background-image: url(../../static/img/waku/kimono/sp_waku4.svg);
        aspect-ratio: 768 / 72.3;
    }
/*    .kituke_waku_side::before{        background-image: url(../../static/img/waku/kimono/sp_waku2.svg);
        background-size: 2.8%;
    }
    .kituke_waku_side::after{
        background-image: url(../../static/img/waku/kimono/sp_waku3.svg);
        background-size: 2.8%;
        right: 0;
    }*/
    .kituke_waku_bottom img{
        vertical-align: top;
    }
    .kituke_naiyo_wrap{
        flex-direction: column;
        align-items: center;
    /* padding-left: 20px;*/
    /* padding-right: 20px;*/
        gap: 15px;
    }
    .kituke_naiyo_wrap .img_box,
    .kituke_naiyo_wrap .text_box {
        width: 100%;
    }
    .kituke_naiyo_wrap .img_box img {
        max-height: 380px;
        width: 100%;
        object-fit: cover;
        aspect-ratio: 1/1;
        object-position: 0 80%;
    }
    .kituke_naiyo_wrap .kituke_title h4 {
        font-size: 22px;
        margin-bottom: .3em;
    }
    .kituke_line{
        width: 100%;
        margin-right: 0;
        margin-top: .8em;
        margin-bottom: .8em;
    }
    .site_btn{
        margin-top: 40px;
        margin-bottom: 60px;
    }
    .kyoshitsu_btn{
/*        margin-top: 40px;*/
    }


    #etcetera{
        background-image: url(../../static/img/5_etcetera/background_sp.jpg);
    }
    .etceteta_top{
        flex-direction: column;
        align-items: center;
        gap: 50px;
    }
    .etceteta_top h3 {
        width: 38%;
        min-width: 170px;
    }
    .etceteta_beads,
    .etceteta_gacha {
        flex-direction: column;
        margin-top: 50px;
        gap: 25px;
    }
    .etceteta_top_intro{
        width: 100%;
        gap: 25px;
    }
    .etceteta_top_intro .text_box {
        margin-top: 0;
    }
    .etceteta_top_intro .img_box,
    .etceteta_beads .img_box, 
    .etceteta_gacha .img_box {
        width: 100%;
        max-width: 460px;
    }
    .etceteta_beads .text_box {
        width: 100%;
        margin-top: 0;
    }
    .etceteta_gacha .text_box {
        width: 100%;
        margin-bottom: 0;
    }

    #about{
        padding-top: 50px;
    }
    #about h3{
        max-width: 175px;
        margin-left: 0;
        margin-bottom: 40px;
    }
    .about_eigyou_wrap{
        width: 100%;
        max-width: 450px;
        min-width: auto;
        margin-right: auto;
        margin-left: auto;
    }
    .eigyo_waku_top {
        background: url(../img/waku/sp_open_top.svg) no-repeat;
        aspect-ratio: 34 / 7;
    }
    .eigyo_waku_bottom {
        margin-top: -15%;
        background: url(../img/waku/sp_open_bottom.svg) no-repeat;
        aspect-ratio: 34 / 7;
    }
    .about_eigyou_wrap .about_insta_btn{
        position: relative;
        top: auto;
        right: auto;
        width: 100%;
        max-width: unset;
        aspect-ratio: auto;
        background: url(../img/waku/sp_open_side.svg);
    }
    .about_eigyou_wrap .about_insta_btn a {
        display: block;
        width: 50%;
        max-width: 230px;
        padding-top: 20px;
        margin: 0 auto;
    }
    .about_eigyou_wrap .open_wrap {
        font-size: 16px;
        background: url(../img/waku/sp_open_side.svg);
        padding: 15px 6% 0;
    }
    .about_eigyou_wrap .opening_hours {
        font-size: 22px;
        text-align: center;
    }
    .about_img_1{
        margin-top: 13%;
        margin-left: 25px;
        width: 38.5%;
    }
    .about_img_2{
        margin-right: 0;
        width: 47.5%;
    }
    .about_img_3{
        margin-top: -7%;
        margin-left: 0;
        width: 70.5%;
    }
    .about_img_4{
        margin-left: auto;
        margin-right: 25px;
        width: 38.5%;
    }
    .access_naiyo_container{
        padding-left: 30px;
        padding-right: 30px;
        padding-top: 20px;
        padding-left: 6%;
        padding-right: 6%;
    }
    .access_waku_side{
        background-image: url(../../static/img/waku/access/sp_waku_side.svg);
    }
    .access_waku_top {
        background-image: url(../../static/img/waku/access/sp_waku1.svg);
        aspect-ratio: 340 / 70;
    }
    .access_waku_bottom {
        background-image: url(../../static/img/waku/access/sp_waku4.svg);
        aspect-ratio: 340 / 32;
    }
/*    .access_waku_side::before{
        background-image: url(../../static/img/waku/access/sp_waku2.svg);
        background-size: 2.8%;
    }
    .access_waku_side::after{
        background-image: url(../../static/img/waku/access/sp_waku3.svg);
        background-size: 2.9%;
        right: 0px;
    }*/
    .access_waku_bottom img{
        vertical-align: top;
        position: relative;
        top: -1px;
        z-index: -1;
    }
    .access_naiyo_wrap{
        padding-left: 30px;
        padding-right: 30px;
    }
    
    .g_map{
        aspect-ratio: 3/2;
    }
    .access_insta_btn{
        width: 100%;
        max-width: 340px;
        min-width: auto;
    }

    .access_address {
        margin: 18px 0 30px;
    }
    .access_address p:first-of-type {
        font-size: 16px;
    }

    .spot_bg{
        background-image: url(../../static/img/7_spot/background_sp.jpg);
    }


    .page_top {
        width: 60px;
        height: 60px;
        min-width: auto;
        min-height: auto;
        border-width: 1px;
        right: 8%;
    }
    .top_arrow {
        top: 25%;
    }
    .top_arrow::before {
        width: 1px;
        height: 15px;
    }
    .top_arrow::after {
        width: 1px;
        height: 7px;
        top: 1px;
    }
    .page_top_text {
        top: 49%;
        font-size: 15px;
    }
}
@media (max-width: 590px){
    .chanoyu_reserve_btn,
    .chanoyu_note_btn{
        max-width: 100%;
    }
    .chanoyu_reserve_btn a{
        /* margin-left: -30px;*/
    }
    .chanoyu_reserve_btn a .arrow{
        /* right: 30px;*/
    }

    .kimono_sale .kimono_list{
        justify-content: flex-start;
    }
    .kimono_sale .kimono_list li{
        width: calc((100% - 20px) / 2);
    }

    .site_btn,
    .kyoshitsu_btn{
        max-width: 100%;
    }
    
    .spot_container_1,
    .spot_container_2 {
        padding-top: 15vw;
    }
    .spot_container_2 {
        padding-bottom: 50px;
    }
    .spot_inner {
        padding-left: 5.7%;
        padding-right: 5.7%;
    }
    .spot_inner ul li div:not(.text_box){
        margin-right: -4.4%;
    }
    .spot_inner ul li{
       width: 100%; 
    }
    .spot_inner ul li .text_box h4 {
        font-size: 22px;
        margin: .5em 0;
    }
    .spot_inner ul li .text_box h4 span {
        font-size: 16px;
    }
    .spot_inner ul li .text_box p {
        font-size: 18px;
    }
}

@media (max-width: 450px){
    .welcome_intro_text {
        font-size: clamp(1.06rem, calc(-0.19rem + 5.56vw), 1.38rem);
    }

    .kituke_waku_side::before,
    .kituke_waku_side::after{
        background-size: 2.9%;
    }
/*    .access_waku_side::before{
        background-size: 2.9%;
    }
    .access_waku_side::after{
        background-size: 3%;
    }*/

    .spot_title_2 {
        margin-bottom: -8%;
        position: relative;
        z-index: 10;
    }
}