@charset "utf-8";
#root {
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    position: relative;
}

body {
    margin: 0 auto !important;
    max-width: 1920px;
    width: 100%;
    -webkit-text-size-adjust: ('none' '100%' 'auto');
    background-color: #F9F6EF;
    font-size: 18px;
	font-weight: 500;
    letter-spacing: 0.05em;
    color: #736F67;
}

.telWrap {
    color: inherit;
}

.telWrap:hover {
    color: inherit;
    text-decoration: underline;
}

.hidden {
    overflow: hidden;
}

.opacity_hover:hover {
    opacity: .7;
}

.cursol-pointer {
    cursor: pointer;
}

.inLink>a:hover {
    text-decoration: underline;
    color: #485053;
}

/*===========================================================
共通パーツ
===========================================================*/

.padding01 {
    padding: 0 25px;
}

.box-shadow01 {
    box-shadow: 40px 40px 0 #F0E9DF;
}

.box-shadow02 {
    box-shadow: -30px 30px 0 #F0E9DF;
}

.sns-link {
	display: block;
	max-width: 35px;
	width: 100%;
}

.sns-link img {
	transition: all .3s;
}

.sns-link:hover img {
    transform: scale(1.2, 1.2);
}

.en-main-title-box01 {
    display: flex;
    align-items: center;
    position: relative;
}

.en-main-title-box01:before {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    margin: 0 10px 0 0;
    background: #77866B;
}

.en-main-title-box02 {
    display: flex;
    align-items: center;
    position: relative;
}

.en-main-title-box02:before {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    margin: 0 10px 0 0;
    background: #FFF;
}

.en-main-title-box03 {
    display: flex;
    align-items: center;
    position: relative;
}

.en-main-title-box03:before {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    margin: 0 10px 0 0;
    background: #97A18C;
}

/*===========================================================
カラー
===========================================================*/

.default-color {
    color: #736F67;
}

.color-green {
    color: #77866B;
}

.color-brown {
    color: #7B6C5D;
}

.color-white {
    color: #FFFFFF;
}

.bg-green {
	background: #77866B;
}

.bg-dark-green {
	background: #6A775F;
}

.bg-orange {
    background: #D9885B;
}

.bg-beige {
    background: #F0E9DF;
}

.bg-brown {
    background: #7B6C5D;
}

/*===========================================================
フォント・テキスト
===========================================================*/

.default-font {
	font-family: "Zen Kaku Gothic New", sans-serif;
}

.en-font {
	font-family: "Lato", sans-serif;
}

.en-title01 {
	font-size: clamp(14px, calc(0.875rem + ((1vw - 3.75px) * 0.3883)), 20px);
	font-family: "Lato", sans-serif;
    font-weight: 700;
}

.en-title01-margin {
	margin: 22px 0 0 0;
}

.en-title02 {
	font-size: clamp(20px, calc(1.25rem + ((1vw - 3.75px) * 1.2945)), 40px);
	font-family: "Lato", sans-serif;
    font-weight: 700;
}

.title01 {
	font-size: clamp(18px, calc(1.125rem + ((1vw - 3.75px) * 1.4239)), 40px);
	line-height: 1.375em;
    letter-spacing: 0.05em;
}

.title02 {
	font-size: clamp(17px, calc(1.0625rem + ((1vw - 3.75px) * 0.8414)), 30px);
	line-height: 1.5em;
    letter-spacing: 0.05em;
}

.title03 {
	font-size: clamp(18px, calc(1.125rem + ((1vw - 3.75px) * 0.4531)), 25px);
    letter-spacing: 0.05em;
}

.text01 {
	font-size: clamp(14px, calc(0.875rem + ((1vw - 3.75px) * 0.3883)), 20px);
	line-height: 2.9em;
}

.text02 {
	font-size: clamp(14px, calc(0.875rem + ((1vw - 3.75px) * 0.2589)), 18px);
	line-height: 2em;
}

.text03 {
	font-size: clamp(12px, calc(0.75rem + ((1vw - 3.75px) * 0.2589)), 16px);
	line-height: 1.875em;
}

.text04 {
	font-size: clamp(14px, calc(0.875rem + ((1vw - 3.75px) * 0.5178)), 22px);
    font-weight: 500;
	line-height: 1.454545em;
}

.text05 {
	font-size: clamp(14px, calc(0.875rem + ((1vw - 3.75px) * 0.3883)), 20px);
    font-weight: 500;
	line-height: 1.8em;
}

/*===========================================================
ボタン
===========================================================*/

.btn01 {
	max-width: 220px;
	width: 100%;
	padding: 16px 21px 16px 30px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	border: 1px solid #DBD7D0;
	font-size: clamp(14px, calc(0.875rem + ((1vw - 3.75px) * 0.2589)), 18px);
	font-family: "Lato", sans-serif;
    font-weight: 700;
	color: #7B6C5D;
	position: relative;
}

.btn01:hover {
	color: #7B6C5D;
}

.btn01::after {
	content: "";
    display: block;
    max-width: 22px;
    width: 100%;
    height: 5px;
    background: url(/system_panel/uploads/images/arrow_black.svg);
    background-attachment: scroll;
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
    transition: all .3s;
}

.btn01:hover::after {
	transform: translateX(6px);
}

.btn02 {
	max-width: 220px;
	width: 100%;
	padding: 16px 21px 16px 30px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	border: 1px solid #DBD7D0;
	font-size: clamp(14px, calc(0.875rem + ((1vw - 3.75px) * 0.2589)), 18px);
	font-family: "Lato", sans-serif;
    font-weight: 700;
	color: #FFF;
	position: relative;
}

.btn02:hover {
	color: #FFF;
}

.btn02::after {
	content: "";
    display: block;
    max-width: 22px;
    width: 100%;
    height: 5px;
    background: url(/system_panel/uploads/images/arrow_white.svg);
    background-attachment: scroll;
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
    transition: all .3s;
}

.btn02:hover::after {
	transform: translateX(6px);
}

.btn03 {
	max-width: 149px;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: clamp(14px, calc(0.875rem + ((1vw - 3.75px) * 0.2589)), 18px);
	font-family: "Lato", sans-serif;
    font-weight: 700;
	color: #7B6C5D;
	position: relative;
}

.btn03:hover {
	color: #7B6C5D;
}

.btn03::after {
	content: "";
    display: block;
    max-width: 22px;
    width: 100%;
    height: 5px;
    background: url(/system_panel/uploads/images/arrow_black.svg);
    background-attachment: scroll;
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
    transition: all .3s;
}

.btn03:hover::after {
	transform: translateX(6px);
}

.btn04 {
	max-width: 180px;
	width: 100%;
	padding: 0 15px 15px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-bottom: 1px solid #F9F6EF;
	font-size: clamp(14px, calc(0.875rem + ((1vw - 3.75px) * 0.2589)), 18px);
	font-family: "Lato", sans-serif;
    font-weight: 700;
	color: #F9F6EF;
	position: relative;
    z-index: 1;
}

.btn04:hover {
	color: #FFF;
}

.btn04::after {
	content: "";
    display: block;
    max-width: 22px;
    width: 100%;
    height: 5px;
    background: url(/system_panel/uploads/images/arrow_white.svg);
    background-attachment: scroll;
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
    transition: all .3s;
}

.banner-link:hover .btn04::after {
	transform: translateX(6px);
}

.btn05 {
	max-width: 230px;
	width: 100%;
	padding: 0 15px 10px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-bottom: 1px solid #7B6C5D;
	font-size: clamp(14px, calc(0.875rem + ((1vw - 3.75px) * 0.2589)), 18px);
    font-weight: 500;
	color: #7B6C5D;
	position: relative;
    z-index: 1;
}

.btn05:hover {
	color: #7B6C5D;
}

.btn05::after {
	content: "";
    display: block;
    max-width: 22px;
    width: 100%;
    height: 5px;
    background: url(/system_panel/uploads/images/arrow_black.svg);
    background-attachment: scroll;
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
    transition: all .3s;
}

.menu-btn01:hover .btn05::after {
	transform: translateX(6px);
}

.menu-btn01 {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: clamp(14px, calc(0.875rem + ((1vw - 3.75px) * 0.5178)), 22px);
    font-weight: 500;
    color: #7B6C5D;
    background: #F9F6EF;
    padding: 4% 2% 2%;
}

.menu-btn01:hover {
    color: #7B6C5D;
}

.menu-btn01 p {
    margin: 0 0 2%;
}

.tel-btn01 {
    max-width: 326px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: clamp(22px, calc(1.375rem + ((1vw - 3.75px) * 1.165)), 40px);
    font-weight: 700;
    font-family: "Lato", sans-serif;
    letter-spacing: 0.05em;
    color: #FFF;
    position: relative;
}

.tel-btn01 p {
    margin: 0 0 5px;
}

.tel-btn01::before {
    content: "";
    display: block;
    max-width: 28px;
    width: 10%;
    height: 37px;
    margin: 0 4% 0 0;
    background: url(/system_panel/uploads/images/tel_white.svg);
    background-attachment: scroll;
    background-position: center top;
    background-size: contain;
    background-repeat: no-repeat;
    transition: all .3s;
}

.reserve-btn01 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 400px;
    width: 100%;
    padding: 26px 2% 28px 25px;
    font-size: clamp(12px, calc(0.75rem + ((1vw - 3.75px) * 0.8414)), 25px);
    letter-spacing: 0;
    color: #FFF;
    background: #D9885B;
    border: 1px solid #D9885B;
    position: relative;
    transition: all .3s;
}

.reserve-btn01::after {
    content: "";
    display: block;
    max-width: 23px;
    width: 100%;
    height: 5px;
    margin: 0 17px 0 1%;
    background: url(/system_panel/uploads/images/arrow_white.svg);
    background-attachment: scroll;
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
    transition: all .3s;
}

.reserve-btn01:hover {
    color: #D9885B;
    background: #FFF;
}

.reserve-btn01:hover::after {
    transform: translateX(6px);
    background: url(/system_panel/uploads/images/arrow_orange.svg);
    background-attachment: scroll;
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
}

.reserve-btn02 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 300px;
    width: 100%;
    padding: 20px 1% 20px 8%;
    font-size: clamp(12px, calc(0.75rem + ((1vw - 3.75px) * 0.3883)), 18px);
    letter-spacing: 0;
    color: #FFF;
    background: #D9885B;
    border: 1px solid rgba(249, 246, 239, 60%);
    position: relative;
    transition: all .3s;
}

.reserve-btn02:after {
    content: "";
    display: block;
    max-width: 23px;
    width: 100%;
    height: 5px;
    margin: 0 17px 0 1%;
    background: url(/system_panel/uploads/images/arrow_white.svg);
    background-attachment: scroll;
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
    transition: all .3s;
}

.reserve-btn02:hover {
    color: #D9885B;
    background: #FFF;
}

.reserve-btn02:hover:after {
    transform: translateX(6px);
    background: url(/system_panel/uploads/images/arrow_orange.svg);
    background-attachment: scroll;
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
}

.reserve-btn03 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 20px 2% 20px 7%;
    font-size: clamp(12px, calc(0.75rem + ((1vw - 3.75px) * 0.6472)), 22px);
    letter-spacing: 0;
    color: #FFF;
    background: #D9885B;
    border: 1px solid rgba(249, 246, 239, 60%);
    position: relative;
    transition: all .3s;
}

.reserve-btn03:after {
    content: "";
    display: block;
    max-width: 23px;
    width: 100%;
    height: 5px;
    margin: 0 17px 0 1%;
    background: url(/system_panel/uploads/images/arrow_white.svg);
    background-attachment: scroll;
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
    transition: all .3s;
}

.reserve-btn03:hover {
    color: #D9885B;
    background: #FFF;
}

.reserve-btn03:hover:after {
    transform: translateX(6px);
    background: url(/system_panel/uploads/images/arrow_orange.svg);
    background-attachment: scroll;
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
}

/* .page-btn01 {
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    font-size: clamp(14px, calc(0.875rem + ((1vw - 3.75px) * 0.3883)), 20px);
    color: #FFF;
    background: #D9885B;
    border: 1px solid #D9885B;
    transition: all .3s;
}

.page-btn01:hover {
    color: #D9885B;
    background: #FFF;
} */

.page-btn01 {
    padding: 15px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    font-size: clamp(14px, calc(0.875rem + ((1vw - 3.75px) * 0.5178)), 22px);
    font-weight: 500;
    color: #736F67;
    border-bottom: 1px solid #DBD7D0;
    transition: all .3s;
}

.page-btn01::after {
    content: "";
    display: block;
    max-width: 30px;
    width: 100%;
    height: 30px;
    margin: 0 0 0 1%;
    background: url(/system_panel/uploads/images/arrow_beige.svg);
    background-attachment: scroll;
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
    transition: all .3s;
}

.page-btn01:hover {
    color: #736F67;
}

.page-btn01:hover::after {
    background: url(/system_panel/uploads/images/arrow_blown.svg);
    background-attachment: scroll;
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
}

.common-btn01 {
    max-width: 320px;
    width: 100%;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: clamp(14px, calc(0.875rem + ((1vw - 3.75px) * 0.2589)), 18px);
    font-weight: 500;
    color: #7B6C5D;
    border: 1px solid #DBD7D0;
    transition: all .3s;
}

.common-btn01::before {
    content: "";
    display: block;
    max-width: 22px;
    width: 100%;
    height: 5px;
    margin: 0 3% 0 0;
    background: url(/system_panel/uploads/images/back_arrow.svg);
    background-attachment: scroll;
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
    transition: all .3s;
}

.common-btn01:hover {
    color: #7B6C5D;
}

.common-btn01:hover::before {
    transform: translateX(-6px);
}

/*===========================================================
バナー
===========================================================*/

.banner-link {
    padding: 6% 0 0;
    display: flex;
    align-items: center;
    justify-content: space-around;
    flex-direction: column;
    width: 100%;
    height: 200px;
    position: relative;
}

.banner-link::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    background: rgba(51, 44, 31, 60%);
    z-index: 1;
    transition: all .3s;
}

.banner-link:hover::before {
    background: rgba(51, 44, 31, 20%);
}

.banner-title-box {
    width: max-content;
    color: #FFF;
    text-align: center;
    position: relative;
    z-index: 2;
}

.banner-title-box .en-title01 {
    font-size: clamp(14px, calc(0.875rem + ((1vw - 3.75px) * 0.1942)), 17px);
}

.banner-title-box .title01 {
    font-size: clamp(20px, calc(1.25rem + ((1vw - 3.75px) * 0.9709)), 35px);
}

.top-salon-banner {
    background: url(/system_panel/uploads/images/top_salon_banner.jpg);
    background-attachment: scroll;
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
    transition: all .3s;
}

.salon-banner {
    background: url(/system_panel/uploads/images/salon_banner01.jpg);
    background-attachment: scroll;
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
    transition: all .3s;
}

.top-staff-banner {
    background: url(/system_panel/uploads/images/top_staff_banner.jpg);
    background-attachment: scroll;
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
    transition: all .3s;
}

.staff-banner {
    background: url(/system_panel/uploads/images/staff_banner01.jpg);
    background-attachment: scroll;
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
    transition: all .3s;
}

.top-recruitment-banner {
    background: url(/system_panel/uploads/images/top_recruitment_banner.jpg);
    background-attachment: scroll;
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
    transition: all .3s;
}

.recruitment-banner {
    background: url(/system_panel/uploads/images/recruitment_banner01.jpg);
    background-attachment: scroll;
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
    transition: all .3s;
}

.gallery-banner {
    background: url(/system_panel/uploads/images/gallery_banner01.jpg);
    background-attachment: scroll;
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
    transition: all .3s;
}

.ourstrengths-banner {
    background: url(/system_panel/uploads/images/ourstrengths_banner01.jpg);
    background-attachment: scroll;
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
    transition: all .3s;
}

.menu-banner {
    background: url(/system_panel/uploads/images/menu_banner01.jpg);
    background-attachment: scroll;
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
    transition: all .3s;
}

.beauty-banner {
    background: url(/system_panel/uploads/images/beauty_banner01.jpg);
    background-attachment: scroll;
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
    transition: all .3s;
}

/*===========================================================
下層カバー
===========================================================*/

.in-cover {
    margin: 30px auto 0;
    padding: 0 25px;
    max-width: 1550px;
    width: 100%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.in-cover-title {
    font-size: clamp(20px, calc(1.25rem + ((1vw - 3.75px) * 1.9417)), 50px);
    letter-spacing: 0.05em;
    color: #77866B;
    text-align: center;
}

/* .in-cover-sub-title {
    font-size: clamp(20px, calc(1.25rem + ((1vw - 3.2px) * 1.25)), 40px);
    font-weight: 700;
    letter-spacing: 0.05em;
    font-family: "Lato", sans-serif;
    color: #77866B;
    text-align: center;
} */

/*===========================================================
パンくず
===========================================================*/

.bread-wrapper {
    max-width: 1920px;
    width: 100%;
    padding: 40px 25px 0;
}

.bread-box {
    max-width: 1720px;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: auto;
    font-size: 12px;
    letter-spacing: 0.05em;
}

.bread-link {
    display: block;
    color: #33322E;
    text-decoration: underline;
}

.bread-link:hover {
    color: #33322E;
    text-decoration: none;
}

/*===========================================================
inner
===========================================================*/

.in-wrapper {
    max-width: 1920px;
    width: 100%;
    margin: 0 auto;
    padding: 60px 0;
    position: relative;
}

.in-first-wrapper {
    max-width: 1920px;
    width: 100%;
    margin: 0 auto;
    padding: 30px 0 60px;
    position: relative;
}

.inner01 {
    max-width: 1220px;
    width: 100%;
    margin: 0 auto;
}

.inner02 {
    max-width: 1320px;
    width: 100%;
    margin: 0 auto;
}

.inner03 {
    max-width: 1600px;
    width: 100%;
    margin: 0 auto;
}

.inner04 {
    max-width: 1740px;
    width: 100%;
    margin: 0 auto;
}

/*===========================================================
スライダー
===========================================================*/

.loopImgBx01 {
    width: 299px;
    padding-top: 299px;
    margin: 0 5px;
    position: relative;
}

.loop-wrapper {
    display: flex;
    align-items: center;
    overflow: hidden;
    height: auto;
}

.loopImgBx01>img {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    object-fit: cover;
    height: 100%;
}

.loopImgArea {
    display: flex;
    animation: loop-slide 50s infinite linear 1s both;
}

.loopImgBx01>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/*ここまで*/

.loopImgBx img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    max-width: 100%;
    width: auto;
    max-height: 100%;
    height: auto;
}

/*アニメーション*/
@keyframes loop-slide {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}

/*===========================================================
お知らせ
===========================================================*/

.news-link {
    display: block;
    padding: 20px 5% 20px 4%;
    border-bottom: 1px solid #DED7CA;
    position: relative;
    transition: all .3s;
}

.news-link:hover {
    opacity: 0.7;
}

.news-link::before {
    content: "";
    display: block;
    width: 23px;
    height: 5px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 3.5%;
    margin: auto;
    background: url(/system_panel/uploads/images/arrow_black.svg);
    background-attachment: scroll;
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
    transition: all .3s;
}

.news-link:hover::before {
    transform: translateX(6px);
}

.news-item:first-child .news-link {
    border-top: 1px solid #DED7CA;
}

.news-cate-flex {
    display: flex;
    flex-direction: column;
}

.news-date {
    display: inline-block;
    margin: 0 2% 0 0;
    font-size: clamp(12px, calc(0.75rem + ((1vw - 3.75px) * 0.3883)), 18px);
    font-family: "Lato", sans-serif;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: #736F67;
}

.news-cate {
    display: inline-block;
    width: max-content;
    margin: 5px 0 0 0;
    padding: 2px 2%;
    font-size: clamp(12px, calc(0.75rem + ((1vw - 3.75px) * 0.2589)), 16px);
    letter-spacing: 0.05em;
    background: #F0E9DF;
    color: #736F67;
}

.news-title {
    margin: 10px 0 0 0;
    display: block;
    font-size: clamp(14px, calc(0.875rem + ((1vw - 3.75px) * 0.3883)), 20px);
    letter-spacing: 0.05em;
    color: #736F67;
}

/*===========================================================

===========================================================*/

.inBalanceImg01>img {
    justify-content: center;
    align-items: center;
    position: absolute;
    display: flex;
    top: 0;
    right: 0;
    max-height: 100%;
    height: auto;
    max-width: 100%;
    width: auto;
    bottom: 0;
    left: 0;
    margin: auto;
}

.objectFitImg {
    justify-content: center;
    align-items: center;
    position: absolute;
    display: flex;
    top: 0;
    right: 0;
    max-height: 100%;
    height: 100%;
    max-width: 100%;
    width: 100%;
    bottom: 0;
    left: 0;
    margin: auto;
    object-fit: cover;
}


a[data-lightbox] {
    position: relative;
    display: block;
}

a[data-lightbox]:before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(255,255,255,0.3);
    opacity: 0;
    transition: .5s;
}

a[data-lightbox]:hover:before {
    opacity: 1;
    transition: .5s;
}

.galleryImg01>a[data-lightbox] {
    padding-top: 100%;
}

.galleryImg01>a[data-lightbox] img {
    max-height: 100%;
    height: 100%;
    max-width: 100%;
    width: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

/*----*/

.compBaseTb {
    border: 1px solid #ccc;
}

.compBaseTr {
    border: 1px solid #ccc;
}

.compBaseTh {
    padding: 15px;
    background-color: #555;
    color: #fff;
}

.compBaseTd {
    padding: 15px;
    background: #fff;
}

/*----*/


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

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

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 375px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

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

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */




/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 414px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

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

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */



/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 544px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

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

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

    /*===========================================================
    ボタン
    ===========================================================*/

    .btn01 {
        max-width: 320px;
    }

    .btn02 {
        max-width: 320px;
    }

    .reserve-btn01 {
        max-width: 600px;
        padding: 34px 3% 36px 6%;
        font-size: clamp(14px, calc(0.875rem + ((1vw - 7.68px) * 0.9549)), 25px);
    }

    .page-btn01 {
        padding: 15px;
    }

    .page-btn01::after {
        max-width: 50px;
        width: 100%;
        height: 50px;
    }

    /*===========================================================
    テキスト
    ===========================================================*/

    .title02 {
        font-size: clamp(17px, calc(1.0625rem + ((1vw - 7.68px) * 1.1285)), 30px);
    }

    /*===========================================================
    スライダー
    ===========================================================*/

    .loopImgBx01 {
        width: 299px;
        padding-top: 299px;
    }

    /*===========================================================
    下層カバー
    ===========================================================*/

    .in-cover {
        margin: 60px auto 0;
    }

    /*===========================================================
    inner
    ===========================================================*/

    .in-wrapper {
        padding: 80px 0;
    }

    .in-first-wrapper {
        padding: 60px 0 80px;
    }

    /*===========================================================
    お知らせ
    ===========================================================*/

    .news-link {
        padding: 40px 5% 40px 4%;
    }

    .news-cate-flex {
        flex-direction: row;
        align-items: center;
    }

    .news-cate {
        margin: 0;
    }

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 768px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

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

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */



/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 992px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

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

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
    
    /*===========================================================
    ボタン
    ===========================================================*/

    .reserve-btn01 {
        padding: 44px 4% 46px 8%;
    }

    
    /*===========================================================
    バナー
    ===========================================================*/

    .banner-link {
        height: 330px;
    }

    /*===========================================================
    下層カバー
    ===========================================================*/

    .in-cover {
        margin: 100px auto 0;
    }

    /*===========================================================
    パンくず
    ===========================================================*/

    .bread-box {
        font-size: 14px;
    }

    /*===========================================================
    inner
    ===========================================================*/

    .in-wrapper {
        padding: 130px 0;
    }

    .in-first-wrapper {
        padding: 60px 0 130px;
    }

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 1024px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */