@charset "utf-8";

main{
    font-family: 'Noto Serif JP', serif;
}

.sate_bg01{
    background: url(../img/satellite/sate_bg.jpg) repeat-y;
    background-size: contain;
}

.sate_ttl_en{
    font-size: 22px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    text-align: center;
    margin-bottom: 30px;

    font-family: "canto", serif;
}

.page_ttl_ja{
    color: #231815;
}

.page_lead02{
    text-align: inherit;
    color: #231815;
}

.sate_inner01{
    max-width: 1000px;
    margin: 0 auto;
}

.sate_info{
    text-align: center;
}

.sate_info_en{
    font-size: 20px;
    letter-spacing: 0.15em;
    text-transform: uppercase;

    font-family: "canto", serif;
}

.sate_info_jp{
    font-size: 24px;
    letter-spacing: 0.2em;
    font-weight: 600;
    line-height: 1.5;
}

.sate_info_jp_lead{
    margin-top: 15px;
    font-size: 16px;
    letter-spacing: 0.1em;
    line-height: 1.8em;
}

.sate_db01{
    position: relative;
}
.sate_db01::before{
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    top: 0;
    background: #000;
}
.sate_db01::after{
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    top: 6px;
    background: #000;
}

.img_bd{
    padding: 5px;
    border: 1px solid;
}

.img_bd_w100 > img{
    max-width: 988px;
}

.flex_base{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.flex_base.col02 > li,.flex_base.col02 > div{
    width: 48%;
}

.flex_base.col02 > li:nth-of-type(n + 3),.flex_base.col02 > div:nth-of-type(n + 3){
    margin-top: 40px;
}

.hexagon_with_lines {
    display: grid;
    grid-template-columns: 1fr auto 1fr; 
    align-items: center;
    gap: 30vw;
}

.hexagon_with_lines::before,
.hexagon_with_lines::after {
    content: "";
    display: block;
    height: 1px;
    background-color: #333333;
}


.hexagon_wrapper {
    margin: 20px auto;
    width: 90px;
    height: 77px; 
    background-color: #000000;

    clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);

    display: flex;
    justify-content: center;
    align-items: center;
}

.hexagon_number {
    color: #ffffff;
    font-size: 42px;
    margin-top: 4px; 

    font-family: "canto", serif;
}

.title_with_icon {
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-bottom: 20px;
}

.title_icon {
    width: 34px;
    height: auto;
    flex-shrink: 0;
}

.title_with_icon_badge {
    background-color: #e1dfcb;
    border-radius: 9999px;
    padding: 12px 0;
    justify-content: center;
}


.cau_box {
    background: #e1dfcb;
    position: relative;
    margin-top: 120px;
    padding: 30px 20px;
    text-align: center;
}

.cau_box::before {
    content: "";
    width: 100%;
    height: 1px;
    position: absolute;
    background: #000;
    top: -5px;
    left: 0;
    z-index: 1;
}
.cau_box::after {
    content: "";
    width: 100%;
    height: 1px;
    position: absolute;
    background: #000;
    bottom: -5px;
    left: 0;
    z-index: 1;
}

.cau_box .page_lead02{
    position: relative;
    z-index: 2;
}

.notice_header {
    position: absolute;
    top: 40px;
    left: 50%;
    transform: translate(-50%, -100%);
    z-index: 2;
}

.notice_title {
    background: #e1dfcb;
    width: 170px;
    height: 80px;
    border-radius: 100px 100px 0 0;
    
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    font-size: 20px;
    letter-spacing: 0.2em;
    
    padding-bottom: 1px;
    margin-bottom: -1px;
}

.page_lead02 {
    margin: 0;
    line-height: 1.8;
}

.sate_sec_pd{
    padding: 80px 0;
}

.sate_info02{
    text-align: center;
}

.info02_03{
    max-width: 200px;
    margin: 0 auto;
}
#salon_map{
    padding-top: 130px;
    margin-top: -130px;
}
.sate_map {
    max-width: 900px;
    margin: 0 auto;
}
.sate_map_cap{
    font-size: 17px;
    margin: 1em 0 0;
    text-align: center;
}

.sate_tel{
    margin: 0 auto;
    max-width: 500px;
    transition-duration: 0.6s;
}

.sate_tel:hover{
    opacity: 0.6;
}

.btn_res01,.btn_res02{
    filter: drop-shadow(-2px 4px 6px #5b4a43);
    transition-duration: 0.6s;
}
.btn_res01:hover,.btn_res02:hover{
    opacity: 0.6;
}

.btn_res01 img, .btn_res02 img{
    box-shadow: 0px 4px 11px rgb(0 0 0 / 50%);
}

.mt60{
    margin-top: 60px;
}
.mt40{
    margin-top: 40px;
}
.mt20{
    margin-top: 20px;
}


@media(max-width:1000px) {



}

@media(max-width:750px) {

    .sate_sec_pd{
        padding: 60px 0;
    }

    .flex_base.col02 > li, .flex_base.col02 > div {
        width: 100%;
    }

    .flex_base.col02 > li:nth-of-type(n + 2),.flex_base.col02 > div:nth-of-type(n + 2){
        margin-top: 30px;
    }

    .flex_base.col02.col02_sp > li,.flex_base.col02.col02_sp > div{
        width: 48%;
    }

    .flex_base.col02.col02_sp > li:nth-of-type(n + 2),.flex_base.col02.col02_sp > div:nth-of-type(n + 2){
        margin-top: 0;
    }


    .sate_info_en{
        font-size: 16px;
    }

    .title_with_icon_badge{
        padding: 10px 0;
    }

    .btn_res01, .btn_res02 {
        filter: drop-shadow(-2px 4px 3px #5b4a43);
        max-width: 528px;
        margin: 0 auto;
    }

    .cau_box{
        margin-top: 80px;
        padding: 25px 10px 20px;
    }

    .notice_title{
        width: 140px;
        height: 71px;
        font-size: 16px;
    }

    .hexagon_with_lines{
        gap: 25vw;
    }


    .hexagon_wrapper{
        width: 75px;
        height: 62px;
    }
    .hexagon_number{
        font-size: 34px;
    }

    .sate_info_jp{
        font-size: 18px;
    }

    .sate_info_jp_lead {
        font-size: 14px;
    }

    .title_icon {
        width: 28px;
    }
    .title_with_icon{
        font-size: 16px;
        gap: 10px;
    }


    .mt60 {
        margin-top: 40px;
    }
    .mt40{
        margin-top: 30px;
    }
    .sate_map_cap{
    font-size: 12px;
 
}

}