@charset "utf-8";

html{
	font-size: 16px;
	scroll-padding-top: 100px;
}

*,
*::before,
*::after{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body{
	width: 100%;
	font-family: "dnp-shuei-gothic-gin-std", sans-serif, "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", yu-mincho-pr6, serif;
	letter-spacing: 0.05em;
	position: relative;
}

a{
	color: #000;
	text-decoration: none;
	transition: all 0.5s;
}

a:hover{
	opacity: 0.5;
}

li{
	list-style: none;

}

img{
	width: 100%;
}

main {
	padding-top: 100px;
}

/* ☆ヘッダー */

header {
	width: 100%;
	height: 100px;
	padding-left: 32px;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	position: fixed;
	z-index: 1000;
	background-color: #fff;
}

.header_logo{
	position: relative;
	z-index: 3;
}

.header_logo a{
	display: flex;
}

.header_logo img{
	width: 100%;
	max-width: 180px;
}

.header_nav ul{
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 64px;
	font-size: 16px;
	font-family: "ab-hiro", sans-serif;
	font-weight: 400;
	font-style: normal;
}

.header_beginner{
	display: flex;
	align-items: center;
}

.beginner_mark{
	width: auto;
	height: 100%;
	max-height: 13px;
	margin-right: 4px;
}

.header_reserve_button{
    width: 200px;
    height: 100px;
    color: #3A3A3A;
    background-color: #DFF5E5;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
}

.header_reserve_button span{
	text-align: center;
	display: block;
	width: 100%;
	max-width: 152px;
}

.burger_btn_wrapper{
	display: none;
}

.nav-wrapper{
	display: none;
}

/* ファーストビュー（スライダー） */
.first_view{
	width: 100%;
	position: relative;
}

.slick-slide img{
	height: 460px;
	object-fit: cover;
}

.scroll_icon {
	position: absolute;
	left: 20%;
	transform: translateX(-50%);
	bottom: 2%;
	z-index: 10;
}

.scroll_icon::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 11;
	width: 5px;
	height: 105px;
	background: #808080;
}

.scroll_icon::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: -8px;
	z-index: 12;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #000;
	animation: circlemove 3s ease-in-out infinite,
	cirlemovehide 3s ease-out infinite;
}

@keyframes circlemove {
	0% {
	  bottom: 95px;
	}
	100% {
	  bottom: 0px;
	}
  }
  
  @keyframes cirlemovehide {
	0% {
	  opacity: 0;
	}
	50% {
	  opacity: 1;
	}
	80% {
	  opacity: 0.9;
	}
	100% {
	  opacity: 0;
	}
}

/* 共通 */

.section_title{
	width: 95%;
	max-width: 500px;
	margin: 0 auto 40px;
	padding: 8px;
	border-bottom: 1px solid #666;
	color: #666;
	display: flex;
	justify-content: center;
	font-size: 20px;
	font-family: "dnp-shuei-gothic-gin-std", sans-serif;
	font-weight: 500;
	font-style: normal;
}

.section_title_page{
	width: 95%;
	max-width: 500px;
	margin: 40px auto 30px;
	padding: 8px;
	border-bottom: 1px solid #666;
	color: #333 !important;
	display: flex;
	justify-content: center;
	font-size: 22px;
	font-family: "dnp-shuei-gothic-gin-std", sans-serif;
	font-weight: 500;
	font-style: normal;
}
.reserve_page_title{
    display: block;
    height: auto;
    line-height: 1.6;
    font-size: 24px;
    color: #333 !important;
    text-align: center;
    text-indent: 0;
    visibility: visible;
    opacity: 1;
	margin: 80px auto 30px;
}
.content_wrapper{
	width: 95%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 30px 0 80px;
}

.more_button{
    width: 100%;
    max-width: 305px;
    height: 64px;
    margin: 50px auto;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border: 1px solid #3A3A3A;
    box-shadow: none;
    text-decoration: none;
    transition: all .3s ease;
}

.more_button:hover{
    background: #555;
    box-shadow: none;
    transform: none;
    filter: none;
    opacity: 1;
}

.more_button p{
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    z-index: 2;
    width: auto;
    color: #3A3A3A;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .12em;
    text-align: center;
}.more_button{
    width: 100%;
    max-width: 305px;
    height: 64px;
    margin: 50px auto;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border: 1px solid #3A3A3A;
    box-shadow: none;
    text-decoration: none;
    transition: all .3s ease;
}

.more_button:hover{
    background: #3A3A3A;
    box-shadow: none;
    transform: none;
    filter: none;
    opacity: 1;
}

.more_button p{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    position: relative;
    z-index: 2;
    color: #3A3A3A;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .12em;
    text-align: center;
}





.more_button:hover p{
    color: #ffffff;
}

.more_button img{
    display: none;
}
.more_button{
    width: 100%;
    max-width: 305px;
    height: 64px;
    margin: 50px auto;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border: 1px solid #3A3A3A;
    box-shadow: none;
    text-decoration: none;
    transition: all .3s ease;
}

.more_button:hover{
    background: #3A3A3A;
    box-shadow: none;
    transform: none;
    filter: none;
    opacity: 1;
}

.more_button p{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    position: relative;
    z-index: 2;
    width: auto;
    color: #3A3A3A;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: .08em;
    text-align: center;
}
.more_button p::after{
    content: "→";
    font-size: 16px;
    font-weight: 300;
}

.more_button:hover p{
    color: #ffffff;
}

.more_button img{
    display: none;
}

.more_button:hover p{
    color: #ffffff;
}

.more_button img{
    display: none;
}
}


.button_arrow {
	position: relative;
	display: inline-block;
	width: 45px;
	height: 1px;
	margin-top: 18px;
	border-radius: 9999px;
	background-color: #ffffff;
	
}

.button_arrow::before {
	content: "";
	position: absolute;
	top: calc(50% - 1px);
	right: 0;
	width: 12px;
	height: 1px;
	border-radius: 9999px;
	background-color: #ffffff;
	transform: rotate(45deg);
	transform-origin: calc(100% - 1px) 50%;
}

.more_button img{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

.post_parent .no_posts {
	text-align: center;
}

/* ☆トップページ */

/* 掲載サロン */

.top_salon_list{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:24px;
    width:100%;
}

.top_salon_list li{
    width:100%;
    min-width:0;
    background:#fff;
}

.top_salon_list a{
    display:block;
    width:100%;
    height:auto;
    padding:16px;
    box-sizing:border-box;
    border-radius:20px;
    box-shadow:0 3px 7px rgba(0,0,0,.2);
    overflow:hidden;
    transition:all .5s;
}


.hover_active {
	opacity: 0;
	margin-bottom: 0;
	text-overflow: clip;
	overflow: visible;
	white-space: normal;
	pointer-events: none;
	transition: opacity 0.4s ease;
	visibility: hidden;
}

@media (hover: hover) {
	.excerpt_text_area {
		position: relative;
		margin-bottom: 8px;
		height: 1.6em;
		overflow: hidden;
		transition: height 0.4s ease;
	}

	.top_salon_list a:hover .excerpt_text {
		opacity: 0;
		visibility: hidden;
	}

	.top_salon_list a:hover .excerpt_text_area {
		height: 3em;
	}

	.top_salon_list a:hover .hover_active {
		opacity: 1;
		visibility: visible;
	}
}

.icon_bg_color {
	width: 100px;
	height: 100px;
	clip-path: polygon(0 0, 0% 100%, 100% 0);
	position: absolute;
	top: 0;
	left: 0;
}

.icon_bg_color > img{
	width: 35px;
	height: auto;
	position: absolute;
	top: 10px;
	left: 10px;
}

.scissors_icon{
	width: 89px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}

.category-icon {
	width: auto;
	height: 13px;
	margin-right: 4px;
	vertical-align: middle;
	display: inline-block;
	fill: currentColor;
}

.salon_title{
	width: 100%;
	padding: 15px 0 10px 0;
	font-size: 24px;
	font-style: normal;
	border-bottom: 1px solid #000;
	text-align: center;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}

.top_reserve_title {
	height: 50px;
	line-height: 50px;
}

.salon_title > img,
.archive_salon_title > img{
	width: auto;
	height: 50px;
	object-fit: cover;
}

.salon_title img,
.top_reserve_title {
	margin-left: 64px;
}

.top_salon_excerpt{
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	width: 100%;
	height: 100%;
	padding: 10px;
	text-align: center;
	font-family: "dnp-shuei-gothic-gin-std", sans-serif;
	font-weight: 500;
	font-style: normal;
	padding-top: 16px;
}

.top_salon_excerpt .excerpt_text {
	margin-bottom: 0;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
	transition: opacity 0.4s ease;
}

.top_salon_excerpt .excerpt_text,
.hover_active {
	line-height: 1.6;
}

.excerpt_text_area {
	position: relative;
	margin-bottom: 8px;
}    

.hover_active {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
}

.excerpt_access{
	font-size: 11px;
	margin-bottom: 16px;
}

.excerpt_img{
	width: 280px;
	height: 178px;
	object-fit: cover;
}

#top_salon .excerpt_img {
	width: 100%;
}

.salon_information_category .top_topic_category{
	margin: 10px auto 0;
}

/* トピックス */
.top_topics_slider{
	width: 100%;
	margin: 60px 0;
}

.topics_text{
	font-size: 18px;
	font-family: "aktiv-grotesk", sans-serif;
	font-weight: 400;
	font-style: normal;
	margin-top: 4px;
	display: flex;
	flex-direction: column-reverse;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
}

.topics_title{
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 4px;
	word-break: break-all;
	width: 100%;
	margin-top: 7px;
}

.layout_topics a {
	display: block;
}


.topics_title_wrap{
	display: block;
	width: 400px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.max_wrap{
	max-width: clamp(540px, 70.22vw, 800px);
}



.topics_date{
	color: #4d4d4d;
	font-size: 14px;
	white-space: nowrap;
}

.topic_category{
	width: fit-content;
	padding: 4px 8px;
	font-size: 13px;
	color: #FFF;
	background-color: #000;
	border-radius: 50px;
	display: flex;
	white-space: nowrap;
}

.topic_category img{
	width: auto;
	height: 13px;
	margin-right: 4px;
	vertical-align: middle;
}

.topic_category .category-icon{
	display: inline-block;
	fill: currentColor;
}

.top_topics_row{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	gap: 32px;
}

.top_topics_row > a{
	width: 50%;
}

.top_topics_row > .top_topics_row_empty{
	width: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	aspect-ratio: 4.8 / 3;
	max-width: 100%;
	border: 1px solid #e8e4e0;
	background-color: #faf8f6;
	padding: 16px;
}

.top_topics_row_empty .topics_empty_message{
	margin: 0;
	text-align: center;
	font-size: 16px;
	font-family: "aktiv-grotesk", sans-serif;
	font-weight: 400;
	color: #666;
	line-height: 1.6;
}

.top_topics_row a > img{
	width: 500px;
	max-width: 100%;
	height: auto;
	aspect-ratio: 4.8 / 3;
	object-fit: cover;
}

.slick-next{
	right: 25px;
}

.slick-prev{
	left: 25px;
	z-index: 10;
}

.slick-next,
.slick-prev{
	color: #000
}

.slick-next:before,
.slick-prev:before{
	color: #000
}

/* ニュース */
.top_news_list{
	display: flex;
	flex-direction: column;
	gap: 32px;
	width: 100%;
}

.top_news_list li {
	width: 100%;
}

.top_news_list figure{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	gap: 32px;
	width: 100%;
}

.top_news_list a {
	display: block;
}

.top_news_list a img{
	max-width: 250px;
	max-height: 113px;
	object-fit: cover;
}

.news_row{
	width: 100%;
	max-width: 721px;
	padding: 44px 16px;
	border-top: 1px solid #4d4d4d;
	border-bottom: 1px solid #4d4d4d;
	font-family: "aktiv-grotesk", sans-serif;
	font-weight: 400;
	font-style: normal;
	display: grid;
	grid-template-columns: 1fr 90px;
	justify-content: space-between;
	position: relative;
}

.news_row h3{
	font-size: 16px;
	margin: 4px 0;
	word-break: break-all;
	display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
	max-width: 550px;
	overflow: hidden;
	text-overflow: ellipsis;
}

.news_row .top_news_title {
	-webkit-line-clamp: 1;
}

.news_category {
	width: fit-content;
	height: auto;
	background-color: #956057;
	color: #fff;
	font-size: 10px;
	padding: 3px 8px;
}

.front_news_style {
	position: absolute;
	top: 10px;
	left: 16px;
}

.single_news_style{
	width: fit-content;
	height: auto;
	background-color: #956057;
	color: #fff;
	font-size: 12px;
	display: inline-block;
}

.archive_news_style {
	position: absolute;
	left: 100px;
}

.single_news_style a {
	color: #fff;
	display: block;
	width: 100%;
	padding: 3px 8px;
}



/* カフェ */
.top_cafe_bg{
	background-color: #dfd1bd;
}

.top_advertisement_content {
	font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", yu-mincho-pr6, serif;
}

/* 広告：表示端末（PC/SP）ブロックの切り替え */
.top_advertisement_content .ad-display-both { display: block; }
.top_advertisement_content .ad-display-pc { display: block; }
.top_advertisement_content .ad-display-sp { display: none; }

/* 初めての方へ */
.top_beginner_bg{
	width: 100%;
	height: 550px;
	background-image: url(../images/coupon_img.jpg);
	background-repeat: no-repeat;
	object-fit: cover;
	background-position: center;
}

.top_beginner_bg h2{
	font-size: 26px;
	text-align: center;
	padding-top: 90px;
	color: #fff;
}

.top_beginner_mark{
	width: auto;
	height: 20px;
	margin-right: 4px;
}

.top_beginner_s{
	text-align: center;
	margin: 20px 0;
	color: #fff;
}

.top_beginner_l{
	text-align: center;
	font-size: 32px;
	font-family: "ab-hiro", sans-serif;
	font-weight: 400;
	font-style: normal;
	margin-top: 100px;
	margin-bottom: 20px;
	color: #FFF;
}

.top_beginner_l span {
	display: inline-block;
	animation: bright 5s ease-in-out infinite;
}

@keyframes bright{
	0%{
		filter: drop-shadow(0 0 1px rgba(255, 255, 255, 0.8));
	}

	5%{
		filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.8));
	}

	10%{
		filter: drop-shadow(0 0 1px rgba(255, 255, 255, 0.8));
	}
}

.top_beginner_arrow {
	margin: 0 auto;
	display: block;
	width: 190px;
	height: 70px;
	background: #ffffff;
	clip-path: polygon(0 28.6%, 18.4% 28.6%, 18.4% 0, 81.6% 0, 81.6% 28.6%, 100% 28.6%, 50% 100%);
}

.top_beginner_bg .more_button{
	margin-top: 24px;
}

/* ☆サロンページ */
.filter_form{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 32px;
    padding: 20px 28px;
    margin-bottom: 40px;
    background-color: #fafbfb;
    border-radius: 16px;
}

.filter_form button{
	width: 200px;
	height: 42px;
	border: 0;
	background-color: #00ad86;
	border-radius: 14px;
	color: #fff;
	box-shadow: 0 6px 14px rgba(0, 173, 134, 0.18);
}
.filter_form button:hover{
    transform: translateY(-2px);
    opacity: 0.9;
}

.select_row{
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 4px;
	font-family: "dnp-shuei-gothic-gin-std", sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: 14px;
color: #555;
}

.select_row select{
	border: 0;
	padding: 0 10px;
	height: 42px;
	border-radius: 12px;
	color: #808080;
	background-color: #d4e4f1b3;
	width: 180px;
	box-shadow: 0 4px 10px rgba(80, 100, 110, 0.08);
}
.salon_category_select{
    transition: background-color 0.3s ease, color 0.3s ease;
}
.salon_category_select.is-eyelash{
    background-color: #8f70d6;
    color: #fff;
}
.salon_category_select.is-esthe{
    background-color: #55c3df;
    color: #fff;
}
.salon_category_select.is-nail{
    background-color: #e6a0bd;
    color: #fff;
}
.salon_category_select.is-hair{
    background-color: #86c9b2;
    color: #fff;
}


.font_size_designation {
	font-size: 14px;
}



.layout_grid{
    width: 100%;
    display: grid;
    gap: 40px;
    justify-content: center;
    margin-bottom: 60px;
}

.archive_topics_container .layout_grid {
	grid-template-columns: repeat(2, minmax(200px, 1fr));
}

.archive_reserve_container .layout_grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.layout_grid li{
	width: 100%;
	height: auto;
	margin: 0 auto;
}


.salon_card{
	width: 100%;
	height: 100%;
	border: 1px solid #dddddd;
	display: flex;
	flex-direction: column;
	border-radius: 20px;
	font-family: "dnp-shuei-gothic-gin-std", sans-serif;
	font-weight: 500;
	font-style: normal;
	letter-spacing: 0.05em;
}
.salon_card .more_content{
    display: flex;
    flex-direction: column;
    flex: 1;
}

.salon_information{
	color: #fff;
	background: #956057;
	padding: 24px;
	min-height: 228px;
	border-radius: 19px 19px 0 0;
}

.salon_information_category{
	display: flex;
	flex-direction: row;
	gap: 8px;
}

.salon_information_category .topic_category{
	color: #956057;
	background-color: #fff;
}

.salon_information_category .top_topic_category{
	background-color: #956057;
	color: #fff;
}

.salon_card span{
	margin-right: 8px;
}

.salon_card h3{
	font-size: 36px;
	font-weight: 400;
	font-style: normal;
	padding: 0 10px 10px;
	margin: 10px 0 15px;
	border-bottom: 1px solid #fff;
	overflow-wrap: anywhere;
	word-break: normal;
	line-break: strict;

	white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}


.archive_salon_title img{
	height: 100%;
}

.salon_reservation_img{
	width: 100%;
	max-width: 300px;
	align-self: flex-end;
	filter: brightness(1.0) drop-shadow(0px 2px 3px rgb(0, 0, 0));
	transition: all 0.5s;
}

.salon_excerpt_images a{
	opacity: 1;
}

.salon_excerpt_images a:hover .salon_reservation_img{
	transform: translate(0, 3px);
	filter: brightness(1.1) drop-shadow(0px 0px 0px rgb(0, 0, 0));
}

.salon_information_texts p{
	font-size: 13px;
	margin: 14px 0;
	display: flex;
	align-items: center;
}

.salon_information_texts p:last-child{
	margin-bottom: 0;
}
.salon_caption_limit{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    line-height: 1.5;
    min-height: 3em;
}

.salon_information_texts span{
	width: 16px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
}

.salon_information_texts img{
	margin-right: 4px;
	width: auto;
	height: 16px;
}

.salon_excerpt{
	padding: 24px 24px 10px;
	gap: 16px;
	display: flex;
	flex: 1;
}

.salon_excerpt_inner {
	width: 50%;
}

.salon_excerpt_img{
	width: 50%;
	height: 180px;
	object-fit: cover;
	margin: 0 auto;
}

.salon_excerpt_title {
	font-size: 18px;
}

.top_salon_excerpt_title {
	color: #956057;
}

.salon_excerpt_text{
    font-size: 14px;
    line-height: 1.65;
    letter-spacing: 0.02em;
    font-weight: 400;
    color: #3f3f3f;
}


.salon_excerpt_images{
	display: flex;
	flex-direction: row;
	justify-content: center;
	gap: 32px;
	padding: 0 24px 34px 24px;
	margin-top: auto;
}

.salon_excerpt_images a{
	display: block;
	text-align: center;
}

.salon_excerpt_images p{
	font-size: 13px;
}

.margin_bottom_15 {
	margin-bottom: 15px;
}

.pagination{
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	gap: 16px;
	font-size: 18px;
	font-family: "aktiv-grotesk", sans-serif;
	font-weight: 400;
	font-style: normal;
}

.pagination li{
	list-style: none;
}

.pagination li a,
.pagination li span{
	color: #4d4d4d;
	text-decoration: none;
}

.pagination li.active span{
	font-weight: 700;
	color: #fff;
	background-color: #956057;
	padding: 6px 6px;
	border-radius: 50%;
}

.pagination_prev{
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
	border-right: 12px solid #4d4d4d;
	border-left: 0;
}

.pagination_next{
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
	border-left: 12px solid #4d4d4d;
	border-right: 0;
}

.more_btn {
	display: none;
}

.archive_salon_excerpt_title {
	color: #fff;
}

.archive_reserve_container {
	margin-bottom: 60px;
}

/* ☆トピックスページ */
.topics_textbox{
	margin-top: 16px;
	word-break: break-all;
	text-align: left;
}

.topics_single{
	margin: 60px 0;
	text-align: center;
}

.topics_img {
	height: 300px;
	object-fit: cover;
	margin: 0 auto;
}

.archive_topics_container .topics_img{
	width: 100%;
	height: auto;
	max-height: 300px;
	aspect-ratio: 4.8 / 3;
}

.topics_single_img{
	width: 70%;
	min-width: 250px;
	height: auto;
	max-height: 400px;
	object-fit: contain;
	margin: 0 auto;
}

.return_button{
	width: 120px;
	height: 45px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #4d4d4d;
	border: 1px solid #4d4d4d;
	margin: 0 auto;
	margin-bottom: 180px;
}

.return_button span {
	position: relative;
	display: inline-block;
	width: 8.9px;
	height: 13.9px;
	margin-right: 4px;
}

.return_button span::before,
.return_button span::after {
	content: "";
	position: absolute;
	top: calc(50% - 1px);
	left: 0;
	width: 11px;
	height: 2px;
	border-radius: 9999px;
	background-color: #4d4d4d;
	transform-origin: 1px 50%;
}

.return_button span::before {
	transform: rotate(45deg);
}

.return_button span::after {
	transform: rotate(-45deg);
}

/* ☆ニュースページ */
.news_layout_grid{
	display: grid;
	grid-template-columns: repeat(3, minmax(200px, 1fr));
	gap: 40px;
	margin-bottom: 60px;
}

.news_layout_grid li{
	width: 100%;
	max-width: 300px;
	margin: 0 auto;
}

.news_layout_grid li a {
	display: block;
}

.news_layout_grid a img{
	max-width: 300px;
	width: 100%;
	height: auto;
	object-fit: cover;
	aspect-ratio: 3 / 2;
}

.news_text{
	font-family: "aktiv-grotesk", sans-serif;
	font-weight: 400;
	font-style: normal;
	position: relative;
}

.news_date{
	color: #4d4d4d;
	margin: 4px 0;
	font-size: 14px;
	margin-right: 10px;
	text-align: right;
}


.news_single{
	margin: 134px 0;
	font-family: "aktiv-grotesk", sans-serif;
	font-weight: 400;
	font-style: normal;
}

.news_single_flex{
	display: flex;
	flex-direction: row;
	gap: 16px;
}

.news_single_flex > img{
	width: 380px;
	max-height: 300px;
	object-fit: cover;
}

.news_single_text{
	word-break: break-all;
	position: relative;
}

.news_title{
	font-size: 18px;
	word-break: break-all;
	margin-top: 7px;
}

.archive_news_title {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	width: 100%;
}

.news_textbox{
	font-size: 16px;
	font-family: "dnp-shuei-gothic-gin-std", sans-serif;
	font-weight: 500;
	font-style: normal;
	margin: 16px 0;
}

/* ☆初めての方へページ */
.section_title_page img{
	width: auto;
	height: 26px;
	margin-right: 4px;
}

.beginner_box{
	font-family: "dnp-shuei-gothic-gin-std", sans-serif;
	font-weight: 500;
	font-style: normal;
	display: flex;
	flex-direction: row;
	margin-bottom: 60px;
	line-height: 1.75;
	letter-spacing: 0.05em;
}

.beginner_message1{
	max-width: 678px;
}

.beginner_message1_mobile{
	display: none;
}

.beginner_message2{
	max-width: 520px;
}

.beginner_box p{
	padding: 16px 32px;
}

.beginner_box > img{
	max-width: 400px;
	object-fit: cover;
}

.beginner_bubble{
	max-width: 408px;
	margin-left: -15px;
}

.beginner_choice_grid{
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 60px 0;
	justify-items: center;
}

.beginner_choice_grid img{
	max-width: 406px;
	margin-left: -25px;
}

.beginner_can{
	max-width: 525px;
}

.fade_in h3 {
	font-size: 18px;
	margin-bottom: 16px;
}

.beginner_use{
	width: 100%;
	height: 240px;
	border: 1px solid #4d4d4d;
	border-radius: 34px;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 16px;
	padding: 32px;
	margin-bottom: 16px;
}

.beginner_use:nth-of-type(2){
	position: relative;
	z-index: 1;
}

.beginner_use .beginner_use_text {
	width: 70%;
	text-align: center;
}

.beginner_use_text p {
	width: fit-content;
	text-indent: -1em;
	padding-left: 1em;
	word-break: auto-phrase;
	text-align: left;
}

.beginner_use p span{
	color: #00ad86;
	font-weight: 600;
}

.beginner_check{
	max-width: 243px;
	margin-bottom: 16px;
}

.beginner_photos{
	max-width: 312px;
}

.beginner_sample{
	max-width: 100px;
	transform: rotate(15deg);
	filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.4));
}

.beginner_bottom_message{
	text-align: center;
	font-size: 21px;
	line-height: 1.4;
	word-break: auto-phrase;
	margin-bottom: 40px;
}

.beginner_bottom_message span{
	word-break: auto-phrase;
	font-weight: 600;
}

.beginner_bottom_message_indent {
	display: inline-block;
}

.beginner_sample_site_img {
	max-width: 300px;
	object-fit: cover;
	box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, 0.4);
}

.beginner_photos_box{
	width: 30%;
	min-width: 260px;
}

.beginner_sample_site_box {
	text-align: center;
}

.section_margin {
	margin-bottom: 120px;
}

.margin_bottom_60 {
	margin-bottom: 60px;
}


.coupon_bg{
	background-color: #eff9f8;
}

.coupon_wrapper{
	padding: 50px 0 120px 0;
}

.coupon_wrapper h3{
	font-size: 42px;
	font-family: "ab-hiro", sans-serif;
	font-weight: 400;
	font-style: normal;
	text-align: center;
	margin-bottom: 50px;
}

.coupon_wrapper h3 span{
	font-size: 20px;
	font-family: "dnp-shuei-gothic-gin-std", sans-serif;
	font-style: normal;
	display: block;
}

.coupon_wrapper ul{
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.coupon_card{
	width: 100%;
	height: 182px;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	background-color: #fff;
}

.coupon_new{
	width: 40px;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #FFF;
	background-color: #808080;
	font-size: 14px;
	writing-mode: vertical-lr;
	letter-spacing: 0.5em;
}

.coupon_header{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	border-bottom: 1px solid #4d4d4d;
	padding: 4px 0;
	max-width: 580px;

}

.coupon_header h4{
	font-size: 20px;
	font-weight: 400;
	font-style: normal;
	padding: 4px 16px;
}

.coupon_category_flex{
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 8px;
}

.coupon_category_flex p{
	font-size: 10px;
	padding: 4px 8px;
	color:#FFF;
	background-color: #4d4d4d;
}

.coupon_content{
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: row;
}

.coupon_content > div{
	width: 100%;
}

.coupon_comment_large{
	color: #00ad86;
	margin: 10px 8px;
}

.coupon_comment_large span{
	color: #ff0000;
}

.coupon_comments{
	max-width: 580px;

}

.coupon_comment{
	font-size: 12px;
	margin: 12px 8px;
}

.coupon_comment_small{
	font-size: 11px;
	margin: 12px 8px;
}

.coupon_reservation_img{
	max-width: 107px;
	aspect-ratio: 1 / 1;
	align-self: center;
	display: block;
}

.coupon_card_flex{
	display: flex;
	flex-direction: row;
}

.coupon_under{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	margin-top: 8px;
}


.coupon_img{
	width: 190px;
	height: 120px;
	object-fit: cover;
	margin: 0 16px;
	filter: brightness(1.0) drop-shadow(0px 1px 2px rgb(0, 0, 0));
}

.coupon_reservation_img:hover {
	transform: translate(0, 3px);
	filter: brightness(1.1) drop-shadow(0px 0px 0px rgb(0, 0, 0));
	opacity: 1;
}

.coupon_bottom_message{
	font-size: 14px;
	text-align: right;
	margin-top: 16px;
}

.beginner_choice_title {
	margin-bottom: 16px;
}

/* ☆運営情報ページ */
.operation_content{
	margin: 100px auto 140px auto;
}

.operation_row{
	display: flex;
	flex-direction: row;
	align-items: center;
	margin-bottom: 16px;
	width: 440px;
	margin-left: auto;
}

.operation_row p:first-child{
	width: 154px;
	height: 45px;
	color: #666;
	clip-path: polygon(0 0, 100% 0%, 75% 100%, 0% 100%);
	display: flex;
	align-items: center;
	padding-left: 16px;
}

/* ☆利用規約ページ */
.terms_top_message,
.terms_box{
	font-family: "dnp-shuei-gothic-gin-std", sans-serif;
	font-style: normal;
	line-height: 1.5;
}

.terms_top_message{
	margin: 80px 0 40px 0;
	font-weight: 600;
}

.terms_box{
	margin: 32px 0;
}

.terms_box:last-child{
	margin-bottom: 186px;
}

.terms_box h3{
	font-size: 18px;
	color: #00ad86;
}

.terms_box li{
	list-style-type: decimal;
	margin-left: 1.5em;
}

/* ☆フッター */
footer{
	border-top: 1px solid #4d4d4d;
}
.footer_block{
display: grid;
grid-template-columns: 260px 1fr 200px;
align-items: start;
gap: 40px;
}
.footer_wrapper{
    width: 95%;
    max-width: 1000px;
    margin: 24px auto 28px;
    padding: 36px 40px 20px;
    background-color: #f7f8f8;

    border-radius: 26px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(40, 70, 65, 0.16);
}

.footer_sns_wrapper{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding-top: 80px;
}

.footer_logo img{
	max-width: 235px;
}

.footer_logo{
    display: block;
}

.footer_brand_text{
    margin-top: 16px;
    max-width: 230px;
}

.footer_brand_text{
    margin-top: 18px;
    font-size: 14px;
    line-height: 1.8;
    color: #555;
    letter-spacing: 0.08em;
}

.footer_brand{
    padding-top: 55px;
	border-right: 1px solid #d9e7e2;
padding-right: 36px;
}
.footer_nav{
	font-family: "ab-hiro", sans-serif;
	font-weight: 400;
	font-style: normal;
	display: flex;
	flex-direction: row;
	gap: 60px;
	
}

.footer_nav ul{
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.footer_nav{
    padding-top: 8px;
    justify-self: end;
    width: 220px;
}

.footer_nav_title{
    margin-bottom: 16px;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.08em;
    color: #555;
}

.footer_nav_list{
    display: flex;
    flex-direction: column;
    gap: 0;
}

.footer_nav_list li{
    border-bottom: 1px dashed #d8d8d8;
}

.footer_nav_list li:last-child{
    border-bottom: none;
}

.footer_nav_list a{
    position: relative;
    display: block;
    padding: 9px 0 9px 20px;
    font-size: 14px;
    color: #444;
	white-space: nowrap;
    transition: color 0.3s ease;

}

.footer_nav_list a::before{
    content: "›";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    color: #79c9b4;
    font-size: 18px;
    font-weight: 700;
}

.footer_nav_list a:hover{
    color: #00ad86;
}
.footer_beginner_mark{
	width: auto;
	height: 12px;
	margin-right: 4px;
}

.footer_nav_color{
	font-size: 14px;
	color: #4d4d4d;
	margin-left: 1em;
}

.footer_nav ul:last-child a{
	color: #4d4d4d;
}

.insert_space{
	margin-left: 12px;
}

.copyright{
    width: 100%;
    margin: 36px 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 22px;

    font-size: 12px;
    font-family: "noto-sans", sans-serif;
    font-weight: 600;
    font-style: normal;
    text-align: center;
    color: #555;
}

.copyright::before,
.copyright::after{
    content: "";
    width: 180px;
    height: 1px;
    background-color: #d9e7e2;
}
 
.footer_sns_title{
    width: 100%;
    margin-bottom: 18px;
      padding-top: 40px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;

    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.18em;
    color: #79bfae;
}

.footer_sns_title::before,
.footer_sns_title::after{
    content: "";
    width: 70px;
    height: 1px;
    background-color: #b8ddd3;
}

.footer_sns_block {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 14px;
}

.footer_sns_icon a{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    min-width: 120px;
    height: 48px;
    padding: 0 18px;

    background-color: #fff;
    border: 1px solid #9fd9c7;
    border-radius: 999px;

    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
    transition: all 0.3s ease;
}

.footer_sns_icon a {
	display: flex;
	align-items: center;
}

.footer_sns_x{
    width: 25px;
    height: auto;
}

.footer_sns_x img{
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.footer_sns_instagram {
	width: fit-content;
	height: auto;
}

.footer_sns_instagram img {
	margin-right: 3px;
	width: 30px;
}

.footer_sns_youtube {
	width: 90px;
	height: auto;
}

.footer_youtube_logo_sp {
	display: none;
}

/* js用 */
.fade_in_single,
.fade_in_child{
	transition: 0.5s ease-in;
	opacity: 0;
	transform: translateY(40px);
}

.fade_in_single{
	transform: translateY(0);
}

.fade_in_scale{
	transition: 0.5s ease-in-out;
	transform: scale(0);
}

.fade_in_single.show,
.fade_in_child.show{
	transform: translateY(0);
	opacity: 1;
}

.fade_in_scale.show{
	transform: scale(1);
}

.fade_in_child {
	height: fit-content;
}

/* =========================
   RECRUIT PAGE
========================= */

.recruit_page {
    width: 100%;
}

.recruit_hero {
    max-width: 1000px;
    margin: 0 auto;
    padding: 80px 30px 70px;
    text-align: center;
}

.recruit_hero_en {
    margin: 0 0 18px;
    color: #67b99f;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.22em;
}

.recruit_hero h1 {
    margin: 0 0 24px;
    color: #333;
    font-size: 36px;
    line-height: 1.4;
    letter-spacing: 0.06em;
}

.recruit_hero_text {
    margin: 0;
    color: #666;
    font-size: 16px;
    line-height: 2;
}

.recruit_search_area {
    max-width: 1000px;
    margin: 0 auto 80px;
    padding: 0 30px;
}

.recruit_search_box {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 150px;
    gap: 12px;
    padding: 18px;
    background: #f7f8f8;
    border-radius: 18px;
    box-shadow: 0 8px 24px rgba(40, 70, 65, 0.10);
}

.recruit_search_item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 70px;
    padding: 12px 16px;
    background: #fff;
    border: 1px solid #e2ebe7;
    border-radius: 12px;
}

.recruit_search_label {
    margin-bottom: 6px;
    color: #70bda7;
    font-size: 12px;
    font-weight: 600;
}

.recruit_search_value {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    color: #333;
    font-size: 15px;
}
.recruit_search_arrow {
    margin-left: 12px;
    color: #7b8d87;
    font-size: 11px;
}

.recruit_search_button {
    border: none;
    border-radius: 12px;
    background: #67b99f;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
	box-shadow: 0 6px 14px rgba(103, 185, 159, 0.28);
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.recruit_search_area .recruit_search_button:hover {
    background: #4fa98d !important;
    transform: translateY(-3px) scale(1.02) !important;
    box-shadow: 0 12px 24px rgba(103, 185, 159, 0.42) !important;
}
.recruit_jobs {
    max-width: 1000px;
    margin: 0 auto 100px;
    padding: 0 30px;
}

.recruit_jobs_heading {
    margin-bottom: 26px;
}

.recruit_jobs_heading p {
    margin: 0 0 8px;
    color: #67b99f;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.18em;
}

.recruit_jobs_heading h2 {
    margin: 0;
    color: #333;
    font-size: 30px;
    letter-spacing: 0.05em;
}

.recruit_job_card {
    display: grid;
    grid-template-columns: 360px 1fr;
    overflow: hidden;
    margin-bottom: 28px;
    background: #fff;
    border: 1px solid #e4ece9;
    border-radius: 20px;
    box-shadow: 0 10px 28px rgba(40, 70, 65, 0.10);
}


.recruit_job_image {
    min-height: 300px;
    background: #eef4f1;
}

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

.recruit_job_content {
    padding: 34px 38px;
}

.recruit_job_tags {
    display: flex;
    gap: 8px;
    margin-bottom: 18px;
}

.recruit_job_meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}

.recruit_job_meta .recruit_job_tags {
    margin-bottom: 0;
}

.recruit_job_meta .recruit_interview_badge {
    margin: 0;
    white-space: nowrap;
}
.recruit_job_tags span {
    padding: 6px 12px;
    color: #4f9f88;
    font-size: 12px;
    font-weight: 600;
    background: #e9f6f1;
    border-radius: 20px;
}

.recruit_job_shop {
    margin: 0 0 10px;
    color: #6f8f86;
    font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.12em;
}
.recruit_interview_badge {
    display: inline-flex;
    align-items: center;
    margin: 0 0 8px;
    padding: 5px 10px;
    color: #4f8f7d;
    background: #eef8f4;
    border: 1px solid #b9dfd2;
    border-radius: 20px;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.04em;
}
.recruit_job_content h3 {
    margin: 0 0 24px;
    color: #3f4744;
    font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.04em;
}

.recruit_job_info {
    margin: 0 0 28px;
}

.recruit_job_info div {
    display: grid;
    grid-template-columns: 90px 1fr;
    padding: 10px 0;
    border-bottom: 1px dotted #d5dfdb;
}

.recruit_job_info dt {
    color: #7b8d87;
    font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.04em;
}

.recruit_job_info dd {
    margin: 0;
    color: #3f4744;
    font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: 0.02em;
}
.recruit_job_info div {
    display: grid;
    grid-template-columns: 90px 1fr;
    align-items: start;
    padding: 10px 0;
    border-bottom: 1px dotted #d5dfdb;
}


.recruit_job_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 170px;
    padding: 14px 24px;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    background: #67b99f;
    border-radius: 10px;
}

.recruit_job_buttons {
    display: flex;
    gap: 10px;
}

.recruit_job_button_primary {
    background: #67b99f;
    color: #fff;
}

.recruit_job_button_secondary {
    background: #fff;
    color: #5f9f8d;
    border: 1px solid #9fd5c4;
}
/* -------------タブレット版------------- */
@media screen and (max-width:1024px){
	/* ハンバーガーメニュー */
	.header_nav{
		display: none;
	}

	header {
		width: 100%;
		position: fixed;
		background-color: #fff;
		padding: 0 32px;
	}

	body {
		padding-top: 0;
	}

	main {
		padding-top: 100px;
	}

	button {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		background: transparent;
		border: 0;
		border-radius: 0;
		color: inherit;
		cursor: pointer;
		font: inherit;
		margin: 0;
		outline: none;
		padding: 0;
		vertical-align: middle;
	}

	.burger_btn_wrapper {
		display: block;
		width: 50px;
		height: 50px;
		position: relative;
		right: 0;
		top: 0;
		z-index: 100;
		border: none;
		background-color: #00ad86;
		border-radius: 50%;
	}

	.burger-btn{
		display: block;
		width: 28px;
		height: 20px;
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate( -50%, -50%);
	}

	.bar{
		width: 100%;
		height: 2px;
		display: block;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		background-color: #fff;
		transition: all .3s ease;
	}
	.bar_top{
		top: 0;
	}
	.bar_mid{
		top: 50%;
		transform: translate(-50%,-50%);
	}
	.bar_bottom{
		bottom: 0;
	}

	.burger-btn.close .bar_top{
		top: 50%;
		transform: translate(-50%, -50%) rotate(45deg);
	}
	.burger-btn.close .bar_mid{
		opacity: 0;
	}
	.burger-btn.close .bar_bottom{
		bottom: 50%;
		transform: translate(-50%, 50%) rotate(-45deg);
	}

	.nav-wrapper{
		visibility: hidden;
		opacity: 0;
		width: 100vw;
		height: 100vh;
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		transition: all .5s;
		z-index: 2;
	}
	.header-nav{
		width: 100%;
		height: 100%;
		background-color:#1B1310;
		z-index: 2;
	}
	.nav-list{
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		text-align: center;
		margin-top: 40px;
	}
	.nav-item{
		margin-right: 0;
		margin-bottom: 40px;
	}

	.header_beginner{
		justify-content: center;
	}

	.noscroll{
		overflow: hidden;
	}

	/* メニューオープン時 */
	.nav-wrapper.fade {
		visibility: visible;
		opacity: 1;
	}

	.header_nav_mobile{
		background-color: #fff;
	}

	.header_nav_mobile .header_reserve_button {
		width: 230px;
		height: 100px;
		color: #fff;
		background-color: transparent;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		position: relative;
	}

	.header_nav_mobile .header_reserve_button p {
		text-align: center;
		display: block;
		width: 100%;
		max-width: 152px;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		z-index: 1;
	}

	.header_nav_mobile .header_reserve_button span {
		position: relative;
		display: inline-block;
		width: 45px;
		height: 1px;
		margin-top: 18px;
		border-radius: 9999px;
		background-color: #ffffff;
	}

	.header_nav_mobile .header_reserve_button img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: contain;
		display: block;
		z-index: 0;
	}

	/* トップページ */
	.scissors_icon{
		width: clamp(65px, 8.45vw ,89px);
	}

	.salon_title{
		padding: 12px 0 8px 0;
		font-size: clamp(20px, 6.67vw, 24px);
	}


	.top_salon_list{
		gap: clamp(20px, 6vw ,30px);
	}

	.top_salon_list a{
		width: 100%;
		height: auto;
	}

	.excerpt_text{
		font-size: clamp(12px, 1.56vw, 16px);
	}

	.excerpt_access{
		font-size: 11px;
	}

	.excerpt_img{
		width: 100%;
		height: auto;
		aspect-ratio: 280 / 178;
	}

	.top_topics_row a > img{
		width: 100%;
	}

	/* 初めての方へページ */
	.beginner_message1_img{
		display: none;
	}

	.beginner_message1_mobile{
		display: block;
	}

	.beginner_box > img{
		max-width: 340px;
	}

	.coupon_wrapper h3{
		font-size: 32px;
	}

	.coupon_wrapper h3 span{
		font-size: 16px;
	}

	.coupon_header h4{
		font-size: 13px;
	}

	.coupon_comment_large{
		font-size: 12px;
	}

	.coupon_comment{
		font-size: 10px;
	}

	.coupon_comment_small{
		font-size: 10px;
	}

	.coupon_reservation_img{
		width: 70px;
	}

	.coupon_img {
		width: clamp(170px, 22.1vw, 205px);
	}


	.beginner_photos_box {
		text-align: center;
	}
}






/* -------------スマホ版------------- */

@media screen and (max-width:768px) {
	html{
		scroll-padding-top: 70px;
	}


	header{
		padding: 0 16px;
		height: 70px;
	}

	main {
		padding-top: 70px;
	}

	.header_logo img {
		width: 75%;
	}

	.burger_btn_wrapper {
		width: 45px;
		height: 45px;
	}

	.burger-btn{
		right: 0;
		width: 25px;
	}

	.content_wrapper {
		width: 100%;
		padding: 40px 20px 40px;
	}

	.section_title_page {
		margin: 0 auto 60px;
	}

	.salon_title {
		margin: 0 auto;
	}

	.top_salon_item .salon_title {
		text-overflow: clip;
		white-space: normal;
		word-break: normal;
		line-break: auto;
		overflow: visible;
		overflow-wrap: normal;
		-webkit-hyphens: auto;
		hyphens: auto;
		min-width: 0;
	}

	@supports (word-break: auto-phrase) {
		.top_salon_item .salon_title {
			word-break: auto-phrase;
		}
	}

	.top_salon_list {
		width: 100%;
	}

	.top_salon_list li{
		width: 100%;
		max-width: 350px;
	}

	.top_salon_list,
	.top_news_list figure{
		flex-direction: column;
		align-items: center;
	}



	.top_salon_excerpt .excerpt_text{
		font-size: clamp(15px, 5vw, 16px);
		text-overflow: clip;
		white-space: normal;
		overflow: visible;
		word-break: auto-phrase;
	}

	.hover_active{
		display: none;
	}


	.excerpt_address{
		font-size: clamp(9px, 3vw, 10px);
	}

	.topics_wrapper{
		width: 100dvw;
		padding: 40px 0;
	}

	.top_topics_slider{
		margin: 30px 0;
	}

	.more_button{
		width: 250px;
		height: 70px;
		margin: 35px auto 25px;
	}

	.slick-slide img{
		max-height: clamp(186px, 58.12vw, 460px);
	}

	.slick-prev{
		left: 10px;
	}

	.slick-next{
		right: 10px;
	}

	.top_topics_row{
		gap: 16px;
		width: 95%;
		margin: 0 auto;
		max-width: 1000px;
	}

	.topics_text{
		flex-direction: column-reverse;
		align-items: flex-start;
		gap: 4px;
	}

	.insert_padding{
		padding: 0 2.5%;
	}

	.topics_title{
		font-size: 16px;
		display: flex;
		align-items: center;
	}

	.topics_title_single {
		align-items: flex-start;
		flex-direction: column;
	}

	.topics_title_wrap{
		font-size: 16px;
	}

	.top_topics_row > a {
		width: calc(50% - 8px);
	}

	.top_topics_row > .top_topics_row_empty {
		width: calc(50% - 8px);
	}

	.topics_single_img {
		max-height: clamp(250px, 78.12vw, 400px);
		height: auto;
		width: 100%;
	}


	.archive_wrap{
		max-width: clamp(280px, 93.33vw, 470px);
		width: calc(100dvw - 116px);
	}

	.topics_date{
		font-size: 12px;
	}

	.topic_category{
		font-size: 12px;
	}

	.topic_category img{
		height: 12px;
	}

	.category-icon {
		height: 12px;
	}


	.top_news_list li{
		margin: 0 auto;
		width: 100%;
		height: auto;
	}

	.top_news_list figure{
		gap: 4px;
		width: 100%;
	}

	.top_news_list a img{
		width: 100%;
		max-width: none;
		height: auto;
		max-height: none;
        aspect-ratio: 3 / 2;
	}

	.news_row{
		padding: 0;
		border-top: 0;
		border-bottom: 0;
		justify-content: center;

	}

	.news_category {
		padding: 3px clamp(5px, 1.67vw, 8px);
		white-space: nowrap;
	}

	.single_news_style a {
		padding: 3px clamp(5px, 1.67vw, 8px);
        font-size: clamp(10px, 3.33vw, 12px);
        white-space: nowrap;
	}

	.front_news_style {
		position: initial;
		display: flex;
		align-items: center;
	}


	.news_row h3,
	.news_title,
	.archive_news_title{
		font-size: 16px;
		max-width: 600px;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 1;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: normal;
	}

	.news_single_text .news_title{
		display: block;
		overflow: visible;
		text-overflow: initial;
		white-space: normal;
		max-width: 100%;
		-webkit-line-clamp: unset;
		-webkit-box-orient: unset;
	}

	.news_date{
		font-size: 12px;
		margin-right: 0;
	}


	/* 広告：表示端末ブロック（SP時） */
	@media screen and (max-width: 768px) {
		.top_advertisement_content .ad-display-pc {
			display: none;
		}
		.top_advertisement_content .ad-display-sp {
			display: block;
		}
	}



	.top_beginner_bg{
		background-image: url(../images/coupon_img_mobile.png);
		aspect-ratio: 195 / 115;
		background-size: cover;
	}

	.top_beginner_bg h2,
	.top_beginner_l{
		font-size: clamp(20px,6.25vw, 26px);
	}

	.top_beginner_bg h2{
		padding-top: 45px;
	}

	.top_beginner_s{
		font-size: clamp(10px, 3.12vw, 16px);
	}

	.top_beginner_l{
		margin-top: 60px;
	}

	.top_beginner_arrow{
		width: clamp(100px, 31.25vw, 190px);
		height: clamp(40px, 12.5vw ,70px);
	}

	/* トピックスページ */
	.archive_topics_container .layout_grid{
		grid-template-columns: repeat(1,1fr);
		justify-items: center;
	}

	.layout_topics{
		width: 100%;
		max-width: 470px;
	}

	.topics_img{
		width: 100%;
		height: auto;
		aspect-ratio: 3 / 2;
	}

	.topics_single{
		margin: 30px 0;
	}

	.topics_textbox{
		font-size: 14px;
	}

	.filter_form .archive_topics--button {
		width: 230px;
	}

	/* ニュースページ */
	.news_layout_grid{
		grid-template-columns: repeat(1, minmax(200px, 470px));
		justify-content: center;
	}

	.news_single{
		margin: 30px 0;
	}

	.news_single_flex{
		flex-direction: column;
		gap:8px;
	}

	.news_single_flex img{
		width: 100%;
		height: auto;
		max-height: 300px;
	}

	.news_textbox{
		font-size: 14px;
	}

	.pagination{
		margin: 35px 0 0;
	}

	.return_button{
		margin-bottom: 90px;
	}

	.news_layout_grid li {
		max-width: initial;
	}

	.news_layout_grid a img {
		max-width: initial;
	}

	.news_layout_grid .noPosts {
		text-align: center;
	}

	/* サロンページ */
	.salon_card h3 {
		font-size: 30px;
	}

	.filter_form{
		flex-direction: column;
		gap: 15px;
	}

	.filter_form .select_row{
		margin: 0;
	}

	.salon_card{
		width: clamp(270px, 90vw, 500px);
		height: auto;
		margin: auto;
	}

	.salon_excerpt {
		flex-direction: column;
		align-items: center;
		gap: 16px;
		padding: 0 0 20px 0;
		overflow-x: hidden;
	}

	.salon_excerpt_inner {
		width: 100%;
	}

	.salon_information{
		padding: 12px;
	}

	.salon_information_texts p{
		font-size: 12px;
	}

	.salon_excerpt_title{
		font-size: clamp(14px, 4.6vw, 16px);
	}

	.salon_excerpt_text{
		font-size: clamp(12px, 4vw, 13px);
		order: 2;
		padding: 0 12px;
	}

	.salon_excerpt_img{
		width: 100%;
		height: 220px;
		aspect-ratio: 3 / 1;
		object-fit: cover;
		object-position: center;
		order: 1;
	}

	.n2-section-smartslider,
	.n2-ss-align.n2-ss-align-visible,
	.n2-padding,
	.n2-ss-slider,
	.n2-ss-slider-1,
	.n2-ss-slider-2,
	.n2-ss-slider-3,
	.n2-ss-slide-backgrounds,
	.n2-ss-slide-background,
	.n2-ss-slider-4,
	.n2-ss-slide{
		height: 220px;
	}


	.margin_bottom_15 {
		margin-bottom: 0px;
	}

	.salon_excerpt_images p{
		font-size: 10px;
	}

	.salon_reservation_img {
		max-width: 280px;
	}

	.text_indent {
		padding-left: 1em;
		text-indent: -1em;
	}

	.filter_form .archive_reserve--button {
		width: 200px;
	}

	.more_content {
		max-height: 50svh;
		overflow: hidden;
		position: relative;
		transition: max-height 0.3s ease-out;
		cursor: pointer;
	}

	.more_content::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		height: 100px;
		background: linear-gradient(transparent 5%, #fff);
		pointer-events: none;
	}

	.more_content.open::after {
		display: none;
	}

	.more_btn {
		width: 100%;
		padding: 0 0 30px;
		display: block;
		cursor: pointer;
		text-align: center;
	}

	.more_btn button {
		width: 70%;
		height: auto;
		padding: 5px 30px;
		font-size: 16px;
	}

	.button_active button {
		background-color: #666;
		color: #fff;
		border-radius: 20px;
		font-size: 12px;
	}



	/* 初めての方へページ */
	.beginner_box{
		flex-direction: column;
		align-items: center;
	}

	.beginner_box p{
		font-size: clamp(12px, 4vw, 14px);
	}

	.beginner_message1{
		max-width: 390px;
		margin: 0 auto;
	}

	.beginner_choice_grid{
		grid-template-columns: repeat(1, 1fr);
	}

	.beginner_choice_grid li{
		text-align: center;
	}

	.beginner_choice_grid img{
		max-width: clamp(235px, 78.33vw, 300px);
	}

	.beginner_use{
		height: auto;
		flex-direction: column;
		padding: 16px;
		padding-bottom: 32px;
	}

	.beginner_use p{
		font-size: 14px;
		margin: 0 auto;
	}

	.beginner_check{
		max-width: clamp(100px, 33vw, 150px) ;
	}

	.beginner_photos {
		max-width: clamp(230px, 76.6vw, 312px);
	}

	.beginner_use .more_button{
		margin: 0;
	}

	.beginner_bottom_message{
		font-size: 13px;
		margin-bottom: 20px;
	}

	.beginner_sample_site_img {
		max-width: clamp(200px, 66.66vw, 300px);
	}

	.beginner_use .beginner_use_text {
		text-align: center;
		width: 100%;
	}

	.beginner_photos_box {
		width: 100%;
	}

	.beginner_box {
		margin-bottom: 40px;
	}

	.beginner_choice_grid {
		gap: 40px;
	}

	.section_margin {
		margin-bottom: 60px;
	}

	.margin_bottom_60 {
		margin-bottom: 30px;
	}

	.coupon_wrapper{
		padding: 40px 15px 60px 15px;
	}

	.coupon_wrapper h3{
		font-size: 24px;
		margin-bottom: 40px;
	}

	.coupon_wrapper h3 span{
		font-size: 12px;
	}

	.coupon_card_flex{
		gap: 8px;
		margin: 0 4px;
		display: grid;
		grid-template-columns: clamp(65px, 21.66vw ,90px);
		justify-items: center;
	}

	.coupon_card {
		padding-right: 5px;
	}

	.coupon_comment_large {
        font-size: clamp(10px, 3.33vw ,12px);
		margin: 4px 0;
		margin-left: 4px;
    }

	.coupon_comment {
		font-size: clamp(9px, 3vw, 11px);
		margin: 4px 0;
		margin-left: 4px;
	}

	.coupon_comment_small {
		font-size: clamp(8px, 2.66vw, 11px);
		margin: 4px 0;
		margin-left: 4px;
	}

	.coupon_reservation_img {
		max-width: clamp(65px, 21.66vw ,90px);

	}

	.coupon_header h4{
		font-size: clamp(10px, 3.33vw ,13px);
		padding: 2px 4px;
	}

	.coupon_img {
		width: 100%;
		height: 60px;
		object-fit: cover;
		margin: 0 4px;
	}

	.coupon_category_flex{
		gap: 4px;
	}

	.coupon_category_flex p {
		font-size: clamp(6px, 2vw, 10px);
		padding: 2px;

	}

	.coupon_new{
		width: 16px;
		font-size: 10px;
	}

	.coupon_bottom_message{
		font-size: 11px;
	}

	/* 規約ページ */

	.terms_top_message,
	.terms_box{
		font-size: 13px;
	}

	.terms_top_message {
		margin: 0 0 40px 0
	}

	.operation_content {
		margin: 40px auto 80px auto;
	}

	.operation_row{
		flex-direction: column;
		align-items: start;
		width: 232px;
		font-size: 13px;
	}

	.operation_row p:first-child{
		padding-left: 0;
	}

	/* フッター */

	.footer_wrapper{
		padding: 30px 20px 20px;
	}

	.footer_block,
	.footer_nav{
		flex-direction: column;
		align-items: center;
	}

	.footer_block{
		gap: 25px;
	}

	.copyright{
		font-size: 10px;
		margin: 0;
	}

	.footer_sns_wrapper {
		width: fit-content;
	}

	.footer_sns_block {
		flex-direction: row;
		align-items: start;
		gap: 25px;
	}

	.footer_sns_x {
		width: 27px;
	}

	.footer_sns_instagram img {
		width: 35px;
		margin-right: 0px;
	}

	.footer_sns_instagram span {
		display: none;
	}

	.footer_youtube_logo_pc {
		display: none;
	}

	.footer_youtube_logo_sp {
		display: block;
	}

	.footer_sns_youtube {
		width: 45px;
	}

	.footer_nav ul {
		align-items: center;
		gap: 22px;
	}

	.footer_nav {
		gap: 40px;
		margin-bottom: 15px;
	}

	.insert_space {
		margin-left: 0;
	}

	.footer_nav_color  {
		margin-left: 0;
	}

	.footer_beginner_wrapper {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.line_breaks {
		display: none;
	}

	.footer_sns_icon a {
		display: block;
	}

	.section_title {
		margin: 0 auto 30px;
	}
}

@media screen and (max-width:560px) {
	.top_beginner_bg{
		height: 400px;
		aspect-ratio: 0;
		background-size: cover;
	}

	.top_beginner_arrow {
        width: 80px;
        height: 30px;
    }
}

/* 404ページ */
.page_404{
    max-width: 1000px;
    margin: 0 auto;
	padding: 200px 20px;
    text-align: center;
}
.page404_title{
    font-size: 50px;
    margin-bottom: 5px;
}
.page404_subtitle{
    font-size: 20px;
    margin-bottom: 20px;
}
.page404_text{
    font-size: 16px;
    line-height: 1.5;
	margin-bottom: 50px;
}
.page404_button{
    width: 200px;
	height: 50px;
    margin: 0 auto;
}
.page404_button a{
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #222;
    color: #fff;
}
.page404_button a:hover{
    opacity: 0.8;
}

@media screen and (max-width: 768px) {
	.page404_title{
		font-size: 24px;
	}
	.page404_subtitle{
		font-size: 16px;
	}
	.page404_text{
		font-size: 14px;
	}
}
.salonism_line{
    padding: 70px 20px;
    background: #ffffff;
}

.salonism_line_inner{
    max-width: 1100px;
    margin: 0 auto;
    padding: 45px 60px;
    background: #f5f5f5;
    display: flex;
    align-items: center;
    gap: 70px;
}

.salonism_line_image{
    width: 42%;
    text-align: center;
}

.salonism_line_image img{
    width: 100%;
    max-width: 330px;
    display: block;
    margin: 0 auto;
}

.salonism_line_content{
    width: 58%;
}

.salonism_line_en{
    margin-bottom: 15px;
    font-family: serif;
    font-size: 24px;
    font-style: italic;
    color: #666666;
}

.salonism_line_content h2{
    margin: 0 0 20px;
    font-size: 30px;
    line-height: 1.5;
    color: #222222;
}

.salonism_line_text{
    margin-bottom: 30px;
    font-size: 15px;
    line-height: 1.9;
    color: #3A3A3A;
}

.salonism_line_button{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 300px;
    min-height: 58px;
    padding: 12px 30px;
    background: #06c755;
    color: #ffffff;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    transition: .3s;
}

.salonism_line_button:hover{
    background: #05a847;
    color: #ffffff;
    opacity: 1;
}

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

    .salonism_line{
        padding: 40px 16px;
    }

    .salonism_line_inner{
        padding: 35px 22px;
        flex-direction: column;
        gap: 30px;
    }

    .salonism_line_image,
    .salonism_line_content{
        width: 100%;
    }

    .salonism_line_image img{
        max-width: 240px;
    }

    .salonism_line_content{
        text-align: center;
    }

    .salonism_line_content h2{
        font-size: 23px;
    }

    .salonism_line_text{
        font-size: 14px;
    }

    }.salonism_line_button{
    width: 100%;
    min-width: 0;
}/* ========================================
   グルメPRセクション
======================================== */

.food_pr {
    padding: 72px 40px 88px;
    background: #fbf8f4;
}

.food_pr_inner {
    max-width: 1180px;
    margin: 0 auto;
}

/* セクション見出し */
.food_pr_title {
    margin: 0 0 14px;
    font-family: "Shippori Mincho", "Yu Mincho", serif;
    font-size: 34px;
    line-height: 1.35;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: #2f2b28;
}

.food_pr_title span {
    display: inline-block;
    margin-left: 16px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 18px;
    font-weight: 400;
    font-style: italic;
    letter-spacing: 0.04em;
    color: #b99a66;
}

.food_pr_text {
    margin: 0 0 36px;
    font-size: 15px;
    line-height: 1.9;
    letter-spacing: 0.04em;
    color: #6d6762;
}

/* カード一覧 */
.food_pr_list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
}

/* カード */
.food_pr_item {
    display: block;
    overflow: hidden;
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(64, 49, 34, 0.08);
    color: inherit;
    text-decoration: none;
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.food_pr_item:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 40px rgba(64, 49, 34, 0.13);
}

/* 画像 */
.food_pr_item > img {
    display: block;
    width: 100%;
    height: 245px;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.food_pr_item:hover > img {
    transform: scale(1.035);
}

/* 文章エリア */
.food_pr_body {
    min-height: 205px;
    padding: 24px 26px 28px;
}

/* PRラベル */
.food_pr_label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    padding: 5px 11px;
    margin-bottom: 15px;
    background: #c8a66a;
    border-radius: 4px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 12px;
    line-height: 1;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: #ffffff;
}

/* カードタイトル */
.food_pr_body h3 {
    margin: 0 0 13px;
    font-family: "Shippori Mincho", "Yu Mincho", serif;
    font-size: 24px;
    line-height: 1.55;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: #302c29;
}

/* 説明文 */
.food_pr_body p {
    margin: 0;
    font-size: 14px;
    line-height: 1.85;
    letter-spacing: 0.025em;
    color: #716a65;
}

/* タブレット */
@media screen and (max-width: 1024px) {
    .food_pr {
        padding: 60px 28px 72px;
    }

    .food_pr_list {
        gap: 22px;
    }

    .food_pr_item > img {
        height: 210px;
    }

    .food_pr_body {
        min-height: 195px;
        padding: 22px 22px 25px;
    }

    .food_pr_body h3 {
        font-size: 21px;
    }
}

/* スマホ */
@media screen and (max-width: 767px) {
    .food_pr {
        padding: 46px 18px 56px;
    }


    .food_pr_text {
        margin-bottom: 26px;
        font-size: 14px;
        line-height: 1.8;
    }

    .food_pr_list {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .food_pr_item {
        border-radius: 13px;
    }

    .food_pr_item > img {
        height: 220px;
    }

    .food_pr_body {
        min-height: auto;
        padding: 21px 20px 24px;
    }

    .food_pr_body h3 {
        font-size: 21px;
        line-height: 1.5;
    }

    .food_pr_body p {
        font-size: 14px;
        line-height: 1.8;
    }
	/* ===== セクションタイトル ===== */

.section_divider{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:28px;

    max-width:1200px;
    margin:90px auto 55px;
}

.section_divider::before,
.section_divider::after{

    content:"";

    flex:1;

    height:1px;

    background:#ccb07a;
}

.section_divider span{

    display:flex;
    flex-direction:column;
    align-items:center;

    font-family: "Cormorant Garamond", serif;

    font-size:64px;

    font-weight:500;

    letter-spacing:.10em;

    color:#b8945d;

    line-height:1;
}

.section_divider span small{

    margin-top:12px;

    font-size:15px;

    font-family:"Noto Sans JP", sans-serif;

    letter-spacing:.15em;

    color:#666;
}}/* ========================================
   GOURMET・FOLLOW US 共通見出し
======================================== */

.food_pr {
    padding: 72px 40px 82px;
    background: #fbf8f3;
}

.food_pr_inner {
    max-width: 1180px;
    margin: 0 auto;
}

/* GOURMET見出し */
.food_pr_title,
.section_divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 34px;
    width: 100%;
    max-width: 1180px;
    margin: 0 auto 36px;
    text-align: center;
}

.food_pr_title::before,
.food_pr_title::after,
.section_divider::before,
.section_divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: #b99a63;
}

/* 見出し中央 */
.food_pr_title {
    position: relative;
}

.food_pr_title_en,
.section_divider span {
    flex-shrink: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 52px;
    line-height: 1;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.12em;
    color: #ad8951;
}

/* 日本語サブタイトル */
.food_pr_title small,
.section_divider span small {
    display: block;
    margin-top: 11px;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 13px;
    line-height: 1.3;
    font-weight: 500;
    letter-spacing: 0.13em;
    color: #3f3b38;
}

/* 説明文 */
.food_pr_text {
    max-width: 620px;
    margin: -8px auto 40px;
    text-align: center;
    font-size: 15px;
    line-height: 1.9;
    letter-spacing: 0.04em;
    color: #68615c;
}

/* ========================================
   グルメカード
======================================== */

.food_pr_list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
}

.food_pr_item {
    display: block;
    overflow: hidden;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 12px 32px rgba(72, 56, 39, 0.08);
    color: inherit;
    text-decoration: none;
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.food_pr_item:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 42px rgba(72, 56, 39, 0.13);
}

.food_pr_item > img {
    display: block;
    width: 100%;
    height: 250px;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.food_pr_item:hover > img {
    transform: scale(1.035);
}

.food_pr_body {
    min-height: 184px;
    padding: 22px 26px 26px;
}

.food_pr_label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    margin-bottom: 15px;
    padding: 5px 11px;
    background: #c8a45f;
    border-radius: 14px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 12px;
    line-height: 1;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: #fff;
}

.food_pr_body h3 {
    margin: 0 0 13px;
    font-family: "Shippori Mincho", "Yu Mincho", serif;
    font-size: 22px;
    line-height: 1.55;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: #282522;
}

.food_pr_body p {
    margin: 0;
    font-size: 14px;
    line-height: 1.85;
    letter-spacing: 0.025em;
    color: #665f5a;
}

/* ========================================
   FOLLOW US
======================================== */

.section_divider {
    margin-top: 70px;
    margin-bottom: 28px;
}

.section_divider span {
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* ========================================
   スマホ
======================================== */

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

    .food_pr {
        padding: 52px 18px 58px;
    }

    .food_pr_title,
    .section_divider {
        gap: 14px;
        margin-bottom: 28px;
    }

    .food_pr_title_en{
    font-size: 82px;
    line-height: 1;
    letter-spacing: .08em;
    color:#b08b54;
    font-family: Georgia, "Times New Roman", serif;
}

    .food_pr_title small,
    .section_divider span small {
        margin-top: 8px;
        font-size: 11px;
    }

    .food_pr_text {
        margin: -4px auto 28px;
        padding: 0 8px;
        text-align: center;
        font-size: 14px;
        line-height: 1.8;
    }

    .food_pr_list {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .food_pr_item > img {
        height: 220px;
    }

    .food_pr_body {
        min-height: auto;
        padding: 20px 20px 24px;
    }

    .food_pr_body h3 {
        font-size: 20px;
    }

    .section_divider {
        margin-top: 54px;
        margin-bottom: 24px;
    }
}/* GOURMET見出しの最終調整 */

.food_pr_title {
    gap: 38px;
    margin-bottom: 18px;
}

.food_pr_title_en {
    font-size: 68px;
    line-height: 1;
    letter-spacing: 0.11em;
}

.food_pr_title small {
    position: static;
    transform: none;
    display: block;
    margin-top: 12px;
    font-size: 13px;
    line-height: 1.4;
}

.food_pr_text {
    max-width: 640px;
    margin: 34px auto 44px;
    text-align: center;
    line-height: 2;
}

/* 線の中央に丸を追加 */
.food_pr_title::before,
.food_pr_title::after{
    flex:1;
    height:1px;
    background:#b08b54;
}

/* スマホ */
@media screen and (max-width: 767px) {
    .food_pr_title {
        gap: 14px;
        margin-bottom: 16px;
    }

    .food_pr_title_en {
        font-size: 40px;
        letter-spacing: 0.07em;
    }

    .food_pr_title small{
    display:block;
    margin-top:14px;
    font-size:14px;
    letter-spacing:.15em;
}

    .food_pr_text{
    margin:42px auto 48px;
    text-align:center;
    line-height:2;
    max-width:650px;
}/* GOURMET見出し 最終修正 */

.food_pr_title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 38px;
    width: 100%;
    margin: 0 0 24px;
}

.food_pr_title::before,
.food_pr_title::after {
    content: "";
    flex: 1;
    height: 1px;
    background: #b08b54;
}

.food_pr_title .food_pr_title_center {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
}

.food_pr_title .food_pr_title_en {
    display: block;
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 82px;
    line-height: 0.95;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.08em;
    color: #b08b54;
}

.food_pr_title .food_pr_title_center small {
    display: block;
    position: static;
    transform: none;
    margin-top: 14px;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 500;
    letter-spacing: 0.15em;
    color: #333;
}

.food_pr_text {
    max-width: 650px;
    margin: 36px auto 48px;
    text-align: center;
    line-height: 2;
}

@media screen and (max-width: 767px) {
    .food_pr_title {
        gap: 14px;
    }

    .food_pr_title .food_pr_title_en {
        font-size: 42px;
        letter-spacing: 0.06em;
    }

    .food_pr_title .food_pr_title_center small {
        margin-top: 8px;
        font-size: 11px;
    }

    .food_pr_text {
        margin: 28px auto 30px;
    }
}
}
.top_beauty .section_title {
    color: #d58bbd;
    border-bottom-color: #d58bbd;
}
.top_beauty .news_row {
    border-top-color: #d58bbd;
    border-bottom-color: #d58bbd;
}
.top_beauty .news_category {
    background-color: #d58bbd;
}
.top_beauty .more_button {
    border-color: #d58bbd;
}

.top_beauty .more_button p {
    color: #d58bbd;
}
.top_beauty .more_button {
    border-color: #d58bbd;
}

.top_beauty .more_button:hover {
    background: #d58bbd;
}
.top_beauty .more_button p,
.top_beauty .more_button:hover p {
    color: #3A3A3A;
}
.top_beauty .news_category {
    background-color: #d58bbd !important;
}
.top_haircare .section_title {
    color: #8fb4d8;
    border-bottom-color: #8fb4d8;
}

.top_haircare .news_row {
    border-top-color: #8fb4d8;
    border-bottom-color: #8fb4d8;
}

.top_haircare .news_category {
    background-color: #8fb4d8 !important;
}

.top_haircare .more_button {
    border-color: #8fb4d8;
}

.top_haircare .more_button:hover {
    background: #8fb4d8;
}

.top_haircare .more_button p,
.top_haircare .more_button:hover p {
    color: #3A3A3A;
}
.top_news .content_wrapper {
    padding-bottom: 10px;
}

.top_beauty .content_wrapper {
    padding-top: 10px;
    padding-bottom: 10px;
}

.top_haircare .content_wrapper {
    padding-top: 10px;
}
.top_news .section_title {
    color: #e47fa0;
    border-bottom-color: #e47fa0;
}

.top_news .news_row {
    border-top-color: #e47fa0;
    border-bottom-color: #e47fa0;
}

.top_news .news_category {
    background-color: #e47fa0 !important;
}

.top_news .more_button {
    border-color: #e47fa0;
}

.top_news .more_button:hover {
    background: #e47fa0;
}

.top_news .more_button p,
.top_news .more_button:hover p {
    color: #3A3A3A;
}
#top_topics .top_topics_month {
    color: #3a3a3a;
    font-size: 26px;
    font-weight: 500;
    letter-spacing: 0.08em;
    border-bottom-color: #c9a86a;
}
#top_topics .top_topics_month {
    font-size: 20px;
    letter-spacing: 0.04em;
}
#top_topics .topics_title_wrap {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    white-space: normal;
    line-height: 1.6;
}
#top_topics .topics_title {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}

#top_topics .topics_date {
    font-size: 13px;
    color: #777;
}

#top_topics .topics_title_wrap {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.6;
}
.beauty_archive {
    padding: 40px 0 60px;
}

.beauty_archive .section_title {
    color: #d58bbd;
    border-bottom-color: #d58bbd;
    margin-bottom: 50px;
}

.beauty_archive .news_row {
    border-top-color: #d58bbd;
    border-bottom-color: #d58bbd;
}
.beauty_archive .section_title {
    color: #d58bbd !important;
    opacity: 1 !important;
    visibility: visible !important;
}
.beauty_archive .section_title {
    display: flex !important;
    color: #d58bbd !important;
    font-size: 26px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-indent: 0 !important;
}
.beauty_archive .section_title {
    margin-top: 40px !important;
}
.hair_item_archive {
    padding: 40px 0 60px;
}

.hair_item_archive .section_title {
    color: #8fb4d8 !important;
    border-bottom-color: #8fb4d8;
    font-size: 26px !important;
    margin-top: 40px !important;
    margin-bottom: 50px;
    opacity: 1 !important;
    visibility: visible !important;
}

.hair_item_archive .news_row {
    border-top-color: #8fb4d8;
    border-bottom-color: #8fb4d8;
}