@charset "UTF-8";

* {
    margin: 0;
    padding: 0;
}

.flexbox {
    display: flex;
}

body {
    width: 100%;
    margin: 0 auto;
    background-image: url(../img/bakugroundimage_all.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    background-attachment: fixed;
    font-family: century-gothic, 'Noto Sans JP', sans-serif;
}

h2 {
    font-family: "Garamond";
    font-size: 2.5rem;
    color: #761b1b;
    white-space: nowrap;
}

header {
    width: 100%;
    height: 210px;
    position: relative;
}

.topline {
    height: 15px;
    background-color: #761b1b;
}

h1 {
    margin-top: 7px;
    height: 78.5%;
    text-align: center;
    border-top: 1px solid #761b1b;
    border-bottom: 1px solid #761b1b;
}

h1 a img {
    padding-top: 10px;
    height: 100%;
}

header>a img {
    width: 22%;
    position: absolute;
    top: 12%;
    right: 1%;
}

header>a img:hover {
    opacity: 0.7;
}

header nav {
    width: 100%;
    position: absolute;
    top: 76%;
    left: 50%;
    transform: translate(-50%, 0);
}

header nav ul li {
    width: 13%;
    text-align: center;
    list-style-type: none;
}

header nav ul li:nth-child(3) {
    margin-right: 11%;
}

header nav ul li:nth-child(4) {
    margin-left: 11%;
}

header nav ul li a {
    text-decoration: none;
    font-size: 1rem;
    letter-spacing: 0.1rem;
    color: black;
    /* ホバー時のcss反映がふわっと */
    transition: all 0.3s ease 0s;
}

header nav ul li:first-child a {
    font-size: 1.2rem;
    font-weight: bolder;
    letter-spacing: 0.08rem;
    color: #761b1b;
}

header nav ul li a:hover {
    font-size: 1.05rem;
    font-weight: bolder;
    color: #761b1b90;
}


/* ここからトップイメージ */
#topimage {
    width: 100%;
    height: 590px;
    border-bottom: 1px solid #761b1b;
    position: relative;
}

#topimage .topimagephoto {
    width: 100%;
    height: 570px;
}

#topimage .topimagephoto img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#topimage>img {
    width: 35%;
    position: absolute;
    top: 60%;
    left: 5%;
}




/* ここからスクロールダウン */

/*スクロールリンクの形状*/
.scroll-top {
    /*表示位置*/
    position: fixed;
    right: 50px;
    bottom: 10px;
    z-index: 2;
    /*はじめは非表示*/
    opacity: 0;
    visibility: hidden;
    transition: opacity .5s, visibility .5s;
    /*それぞれに0.5秒の変化のアニメーション*/
    /*縦書き*/
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    /*改行禁止*/
    white-space: nowrap;
    /*矢印の動き*/
    animation: arrowmove 2s ease-in-out infinite;
}

/* スクロールリンクのリピートの動き */
@keyframes arrowmove {
    0% {
        bottom: 20px;
    }

    50% {
        bottom: 30px;
    }

    100% {
        bottom: 20px;
    }
}

/*.scroll-viewクラスがついたら出現*/
.scroll-top.scroll-view {
    opacity: 1;
    visibility: visible;
}

/*リンク全体の aタグの形状*/
.scroll-top a {
    text-decoration: none;
    color: #761b1b;
    text-shadow: 2px 2px 4px #fff, -2px -2px 4px #fff, 2px -2px 4px #fff, -2px 2px 4px #fff;
    text-transform: uppercase;
    font-size: 1rem;
    display: block;
}

/*スクロールリンクの形状*/
.js-scroll a::after {
    content: "";
    position: absolute;
    top: -15px;
    right: 0;
    width: 1px;
    height: 90px;
    background: #761b1b;
}

.js-scroll a::before {
    content: "";
    position: absolute;
    top: 55px;
    right: -6px;
    width: 1px;
    height: 20px;
    background: #761b1b;
    transform: skewX(-31deg);
}

/*Edge IE11 hack*/
_:-ms-lang(x),
.js-scroll a::before {
    right: -11px;
}

/*ページトップリンクの形状*/
.js-pagetop a::after {
    content: "";
    position: absolute;
    top: -5px;
    right: 0;
    width: 1px;
    height: 90px;
    background: #761b1b;
}

.js-pagetop a::before {
    content: "";
    position: absolute;
    top: -6px;
    right: -6px;
    width: 1px;
    height: 20px;
    background: #761b1b;
    transform: skewX(31deg);
}

/*Edge IE11 hack*/
_:-ms-lang(x),
.js-pagetop a::before {
    right: 0;
}

/* ここまでスクロールダウン */

/* ここまでトップイメージ */


/* ここからトップニュース */
#topnews {
    margin: 100px auto 0 auto;
    width: 100%;
    background-color: #ebded095;
    position: relative;
}

#topnews h2 {
    position: absolute;
    top: -25px;
    left: 50%;
    transform: translate(-50%, 0);
}

#topnews ul {
    margin: 0 auto;
    padding: 7% 0 4%;
    width: 100%;
    max-width: 1366px;
    justify-content: center;
}

#topnews ul li {
    margin: 0 3.7%;
    width: 20%;
    max-width: 300px;
    aspect-ratio: 8/11;
    text-align: center;
    list-style-type: none;
    background-color: #761b1b;
}

#topnews ul li a {
    text-decoration: none;
}

#topnews ul li a>div {
    margin: 1.8%;
    width: 96.4%;
    aspect-ratio: 8/11.5;
    /* height: 360px; */
    background-color: #fff;
    overflow: hidden;
    transition: all 0.3s ease 0s;
}

#topnews ul li a>div:hover {
    margin: 3.85%;
    width: 92.3%;
    aspect-ratio: 8/11;
    opacity: 0.5;
}

#topnews ul li a>div div {
    width: 100%;
    aspect-ratio: 3/2.5;
}

#topnews ul li a>div img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#topnews ul li a>div p {
    font-size: 0.9rem;
    line-height: 1.4;
    color: #000;
}

#topnews ul li a>div p span {
    font-size: 1rem;
    font-weight: bolder;
    letter-spacing: 1.2px;
    color: #761b1b;
}


/* ここからmorereadの動く矢印 */
#topnews .moreread-button {
    /*形状*/
    display: inline-block;
    margin: 0 0 25px 80%;
    font-size: 1.2rem;
    letter-spacing: 0.05em;
    white-space: nowrap;
    color: #761b1b;
    text-decoration: none;
    outline: none;
    transition: 0.3s ease-out;
    /*矢印と下線の基点とするためrelativeを指定*/
    position: relative;
}

/*矢印と下線の形状*/
.moreread-button::before {
    content: '';
    /*絶対配置で下線の位置を決める*/
    position: absolute;
    bottom: 4px;
    left: -10px;
    /*下線の形状*/
    width: 130%;
    height: 1px;
    background: #761b1b;
    /*アニメーションの指定*/
    transition: all .4s ease-out 0s;
}

.moreread-button::after {
    content: '';
    /*絶対配置で矢印の位置を決める*/
    position: absolute;
    bottom: 14px;
    right: -29px;
    /*矢印の形状*/
    width: 35px;
    height: 1px;
    background: #761b1b;
    transform: rotate(33deg);
    /*アニメーションの指定*/
    transition: all .4s ease-out 0s;
}

/*hoverした際の移動*/

.moreread-button:hover {
    font-weight: bolder;
    opacity: 0.7;
}

.moreread-button:hover::before {
    left: -16px;
    width: 148%;
}

.moreread-button:hover::after {
    right: -38%;
}

/* ここまでmorereadの動く矢印 */

/* ここまでTop News */


/* ここからコンセプト */
#concept {
    height: 470px;
    background-image: url(../img/backgroundimage_concept.jpg);
    background-position: center center;
    background-size: cover;
}

#concept>div {
    margin: 0 auto;
    width: 100%;
    max-width: 1366px;
    height: 100%;
    position: relative;
}

#concept h2 {
    padding: 10% 0 0 35%;
    color: #fff;
    text-shadow: 0 4px 5px #761b1b;
}

#concept p {
    margin: 2% 0 0 40%;
    padding-right: 2%;
    font-size: 0.93rem;
    font-weight: 400;
    line-height: 1.9;
    letter-spacing: 0.09rem;
    color: #fff;
    text-shadow: 4px 4px 5px #761b1b, -4px 4px 5px #761b1b, 2px -2px 5px #761b1b, -2px -2px 5px #761b1b;
    position: relative;
}

#concept p span {
    font-size: larger;
    font-weight: bolder;
}

#concept p::before {
    content: "";
    display: block;
    width: 1px;
    height: 145%;
    background-color: #fff;
    position: absolute;
    top: -15px;
    left: -12px;
}


/* ここまでコンセプト */


/* ここからサロンリスト */
#salonlist {
    margin: 185px 0 190px;
    position: relative;
}

#salonlist h2 {
    text-align: center;
    line-height: 0.5;
}

#salonlist .salonlistline {
    width: 100%;
    height: 1px;
    background-color: #761b1b;
    position: absolute;
    top: 21px;
    left: 50%;
    transform: translate(-50%, 0);
}

#salonlist h2 span {
    font-size: 14px;
}

#salonlist ul {
    margin: 0 auto;
    width: 100%;
    max-width: 1366px;
}

#salonlist ul #salonlist-box1 {
    margin-top: 90px;
}

#salonlist ul li {
    margin: 0 auto;
    width: 73%;
    aspect-ratio: 2/1;
}

#salonlist ul li div {
    width: 50%;
    text-align: center;
}

#salonlist ul #salonlist-box2 div:first-child {
    order: 1;
}

#salonlist ul li div img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#salonlist ul li .salonlist-box-address h3 {
    padding: 15% 0 0 15%;
    text-align: left;
    font-family: "HGPｺﾞｼｯｸM";
    /* "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif; */
    color: #761b1b;
    font-size: 2.0rem;
    font-weight: 500;
    text-shadow: 0 3px 3px #0008;
}

#salonlist ul li .salonlist-box-address h3:hover {
    font-weight: 600;
    text-shadow: none;
}

#salonlist ul li .salonlist-box-address p {
    margin-top: 3%;
    font-family: "游ｺﾞｼｯｸ体", YuGothic, "游ｺﾞｼｯｸ Medium", "Yu Gothic Medium", "游ｺﾞｼｯｸ", "Yu Gothic", sans-serif;
    font-size: 1.05rem;
    line-height: 1.3;
}

#salonlist ul li .salonlist-box-address p span {
    font-size: 0.95rem;
    letter-spacing: 0.1rem;
    font-weight: bolder;
}

#salonlist ul li .salonlist-box-address p a {
    color: #761b1b;
}

#salonlist ul li .salonlist-box-address p a:hover {
    background-color: #761b1b;
    color: #fff;
}

#salonlist ul li .salonlist-box-button {
    margin: 7% auto 0;
    height: 13%;
    width: 60%;
    background-image: url(../u-kuri_main_comp-assets/webyoyaku_mark.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    transition: all 0.3s ease;
}

#salonlist ul li .salonlist-box-button:hover {
    background-image: url(../u-kuri_main_comp-assets/webyoyaku_mark_hover.png);
}

/* ここまでサロンリスト */


/* ここからフッター */
footer {
    padding-top: 30px;
    background-color: #ebded095;
    position: relative;
}

footer::before {
    content: "";
    width: 100%;
    height: 1px;
    background-color: #761b1b;
    position: absolute;
    top: 2%;
    z-index: 100;
}

footer::after {
    content: "";
    width: 100%;
    height: 1px;
    background-color: #761b1b;
    position: absolute;
    bottom: 15%;
}

footer #footer-box {
    margin: 0 auto;
    width: 100%;
    max-width: 1366px;
    height: 70%;
    justify-content: space-between;
    align-items: center;
}

footer nav {
    width: 30%;
    height: 125px;
}

footer nav ul {
    width: 100%;
    height: 100%;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-content: space-between;
    list-style-type: none;
}

footer nav ul li {
    font-size: 0.9rem;
    letter-spacing: 0.05rem;
    text-align: center;
}

footer nav ul li:nth-child(2n+1) {
    width: 53%;
}

footer nav ul li:nth-child(2n) {
    width: 40%;
}

footer nav ul li a {
    text-decoration: none;
    color: black;
    transition: all 0.5s ease 0s;
}

footer nav ul li a:hover {
    font-size: larger;
    font-weight: bolder;
    color: #761b1b70;
}

footer h2 {
    width: 40%;
    text-align: center;
}

footer h2 img {
    width: 100%;
}

footer #footerlink-box {
    width: 30%;

}

footer #footerlink-box img {
    margin-right: 10%;
    width: 80%;
    transition: all 0.2s ease 0s;

}

footer #footerlink-box img:hover {
    opacity: 0.7;
}

footer #underline {
    margin-top: 20px;
    height: 5%;
    background-color: #761b1b;
}

footer #underline p {
    padding: 30px;
    text-align: center;
    color: #fff;
}

/* ここまでフッター */



/* ★ここからメディアクエリ１ */


@media screen and (min-width:1025px) {

    #concept p .br-2,
    .br-3 {
        display: none;
    }
}

@media screen and (min-width:768px) {

    #concept p .br-3 {
        display: none;
    }
}

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

    h2 {
        font-size: 2rem;
    }

    /* ヘッダー */
    header {
        height: 150px;
    }

    h1 a img {
        padding-top: 0;
    }

    header>a img {
        width: 20%;
        position: absolute;
        top: 15%;
        right: 1%;
    }


    header nav ul li {
        width: 14%;
    }

    header nav ul li:nth-child(3) {
        margin-right: 8%;
    }

    header nav ul li:nth-child(4) {
        margin-left: 8%;
    }

    header nav ul li a {
        font-size: 0.8rem;
        letter-spacing: 0.05rem;
    }

    header nav ul li:first-child a {
        font-size: 0.95rem;
        letter-spacing: 0.03rem;
    }

    /*ヘッダー終わり */

    /* トップイメージ２ */
    #topimage {
        height: 480px;
    }

    #topimage .topimagephoto {
        height: 470px;
    }

    #topimage>img {
        width: 38%;
        position: absolute;
        top: 60%;
        left: 5%;
    }

    /* トップイメージ２終わり */

    /* トップニュース２ */
    #topnews {
        margin: 80px auto 0 auto;
    }

    #topnews h2 {
        /* position: absolute; */
        top: -20px;
        /* left: 50%;
        transform: translate(-50%, 0); */
    }


    #topnews ul li a>div p {
        font-size: 0.8rem;
        line-height: 1.6;
        color: #000;
    }

    #topnews ul li a>div p span {
        font-size: 0.9rem;
        font-weight: bolder;
        letter-spacing: 1.2px;
        color: #761b1b;
    }

    #topnews .moreread-button {
        margin: 0 0 20px 80%;
        font-size: 1rem;
        letter-spacing: 0.05em;
    }

    .moreread-button::before {
        /*下線の形状*/
        width: 135%;
    }

    /* コンセプト */
    #concept {
        height: 380px;
    }

    /* コンセプト終わり */

    #concept h2 {
        padding: 8% 0 0 22%;
    }

    #concept p {
        margin: 2% 0 0 27%;
        padding-right: 2%;
        font-size: 0.88rem;
        /* position: relative; */
    }

    #concept p::before {
        /* position: absolute; */
        top: -12px;
    }

    /* サロンリスト２ */
    #salonlist {
        margin: 150px 0 140px;
    }

    #salonlist ul li .salonlist-box-address h3 {
        padding: 12% 0 0 15%;
        font-size: 1.5rem;
    }

    #salonlist ul li .salonlist-box-address p {
        margin-top: 3%;
        font-size: 0.9rem;
        line-height: 1.2;
    }

    #salonlist ul li .salonlist-box-button {
        margin: 5% auto 0;
    }

    #salonlist ul li .salonlist-box-address p span {
        font-size: 0.93rem;
        letter-spacing: 0.05rem;
        font-weight: bolder;
    }

    /* サロンリスト２終わり */

    /*  フッター２*/
    footer nav ul li {
        font-size: 0.8rem;
        letter-spacing: 0.05rem;
    }

    /* フッター２終わり */

}


/* ★ここからメディアクエリ２ */

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

    h2 {
        font-size: 1.5rem;
    }

    /* ヘッダー３ */
    header {
        height: 120px;
    }

    h1 {
        margin-top: 1%;
        padding-bottom: 2%;
        height: 70%;
        text-align: center;
        border-top: 1px solid #761b1b;
        border-bottom: 1px solid #761b1b;
    }

    h1 a img {
        height: 115%;
    }

    header>a img {
        width: 200px;
        position: absolute;
        top: 105%;
        right: 1%;
        z-index: 200;
    }

    header nav {
        display: none;
        /* width: 100%;
        position: absolute;
        top: 76%;
        left: 50%;
        transform: translate(-50%, 0); */
    }

    /*
    header nav ul li {
        width: 14%;
    }

    header nav ul li:nth-child(3) {
        margin-right: 8%;
    }

    header nav ul li:nth-child(4) {
        margin-left: 8%;
    }

    header nav ul li a {
        font-size: 0.8rem;
        letter-spacing: 0.05rem;
    }

    header nav ul li:first-child a {
        font-size: 0.95rem;
        letter-spacing: 0.03rem;
    } */

    /*ヘッダー３終わり */

    /* ここからトップイメージ３ */
    #topimage {
        width: 100%;
        height: 330px;
        /* position: relative; */
    }

    #topimage .topimagephoto {
        width: 100%;
        height: 96%;
    }

    #topimage .topimagephoto img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    #topimage>img {
        width: 300px;
        position: absolute;
        top: 50%;
        left: 4%;
    }

    /* ここからトップニュース３ */
    #topnews {
        margin: 45px auto 0;
        position: relative;
    }

    #topnews ul {
        margin: 0 auto;
        padding: 10% 0 6%;
        width: 100%;
        justify-content: center;
    }

    #topnews ul li:not(:first-child) {
        display: none;
    }

    #topnews ul li {
        margin: 0 3.7%;
        width: 55%;
    }

    #topnews ul li a {
        text-decoration: none;
    }

    #topnews ul li a>div p {
        font-size: 1rem;
        line-height: 1.4;
        color: #000;
    }

    #topnews ul li a>div p span {
        font-size: 1rem;
        font-weight: bolder;
        letter-spacing: 1.2px;
        color: #761b1b;
    }

    #topnews .moreread-button {
        margin: 0 0 20px 60%;
        letter-spacing: 0.04em;
    }

    /* トップニュース３終わり */

    /* コンセプト３ */
    #concept {
        padding: 35px 0 0;
        height: 500px;
        background-image: url(../img/backgroundimage_concept.jpg);
        background-position: center center;
        background-size: cover;
    }

    #concept h2 {
        text-align: center;
        margin-bottom: 30px;
        padding: 0 0;
        position: relative;
    }

    #concept h2::before {
        content: "";
        display: block;
        width: 85%;
        height: 1px;
        background-color: #fff;
        position: absolute;
        bottom: -1px;
    }

    #concept p {
        margin: 3% 0 0 0;
        padding: 0 7%;
        text-align: center;
        font-size: 0.88rem;
        font-weight: 400;
        line-height: 2;
        letter-spacing: 0.09rem;
        position: relative;
    }

    #concept p::before {
        display: none;
    }

    /* コンセプト３終わり */

    /* サロンリスト３ */
    #salonlist {
        margin: 60px 0 0;
        position: relative;
    }

    #salonlist h2 span {
        font-size: 0.8rem;
    }

    #salonlist .salonlistline {
        /* position: absolute; */
        top: 12px;
        /* left: 50%;
        transform: translate(-50%, 0); */
    }

    #salonlist ul li {
        display: inline;
    }

    #salonlist ul li div {
        margin: 0 auto;
        width: 80%;
        aspect-ratio: 1/1;
    }

    #salonlist ul #salonlist-box1 div:first-child {
        padding-top: 30px;
    }


    #salonlist ul li div:last-child {
        padding-bottom: 35px;
    }

    #salonlist ul li .salonlist-box-address h3 {
        padding: 8% 0 0 15%;
        text-align: left;
        font-family: "HGPｺﾞｼｯｸM";
        /* "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif; */
        color: #761b1b;
        font-size: 1.4rem;
        font-weight: 500;
        text-shadow: 0 3px 3px #0008;
    }

    #salonlist ul #salonlist-box2 .salonlist-box-address h3 {
        padding: 8% 15% 0 0;
        text-align: right;
    }

    #salonlist ul li .salonlist-box-address p {
        margin-top: 3%;
        font-family: "游ｺﾞｼｯｸ体", YuGothic, "游ｺﾞｼｯｸ Medium", "Yu Gothic Medium", "游ｺﾞｼｯｸ", "Yu Gothic", sans-serif;
        font-size: 0.9rem;
        line-height: 1.3;
    }

    #salonlist ul li .salonlist-box-button {
        margin: 7% auto 0;
        height: 15%;
    }

    /* サロンリスト３終わり */

    /* フッター３ */
    footer #footer-box {
        display: inline;
    }

    footer nav {
        margin: 30px auto;
        width: 80%;
        height: 125px;
        order: -1;
    }

    footer nav ul {
        justify-content: center;
    }

    footer nav ul li:nth-child(2n) {
        margin-right: 20px;
    }

    footer #footerlink-box {
        margin: 0 auto;
        width: 90%;
        text-align: center;
        order: 1;

    }

    footer #footerlink-box img {
        margin-right: 0;
        width: 100%;
    }


    footer #underline {
        margin-top: 30px;
        height: 5%;
        background-color: #761b1b;
    }

    footer #underline p {
        padding: 30px;
        text-align: center;
        color: #fff;
    }

    footer h2 {
        display: none;
    }

    /* フッター３終わり */
}