@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Zen+Old+Mincho:wght@400;500;600;700;900&family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap');

:root{
	--base_font_family: 'Noto Sans CJK JP' , 'Noto Sans JP'  ,sans-serif;
	--zen_old: "Zen Old Mincho" , serif;
	--zen_maru: "Zen Maru Gothic", sans-serif;
	--base_font_color: #303030;
	--sec_space:200px;
}

*{
	margin:0;
	padding:0;
	list-style: none;
	box-sizing: border-box;
	text-decoration: none;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

*::before,
*::after{
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	box-sizing: border-box;
}

html {
	-ms-text-size-adjust: none;
	-webkit-text-size-adjust: none;
}

input,
select,
textarea{
	font-family: var(--base_font_family);
	color:var(--base_font_color);
	-webkit-font-smoothing: antialiased;
	-ms-text-size-adjust: none;
	-webkit-text-size-adjust: none;
	font-feature-settings: 'palt';
	touch-action: manipulation;
	resize: none;
	display: block;
}

button{
	border: none;
	background: none;
	border-radius: 0;
	cursor: pointer;
}

body{
	color: var(--base_font_color);
	font-size: 16px;
	font-family: var(--base_font_family);
	-webkit-font-smoothing: antialiased;
	-ms-text-size-adjust: none;
	-webkit-text-size-adjust: none;
}

body.fixed {
	width: 100%;
	height: 100%;
	position: fixed;
}


img{
	display: block;
	object-position: center;
	width: 100%;
}

#body_wrap{
	overflow: clip;
}

.hide{
	display: none!important;
}

a{
	color: var(--base_font_color);
}

.fax a{
	pointer-events: none;
}

@media (any-hover:hover){
a[href^="tel:"] {
	pointer-events: none;
}
}

/*
------------------------------------
アニメーション関係
------------------------------------
*/

.c_hover_opa{
	transition-duration:0.4s
}


@media (any-hover:hover){
	.c_hover_opa:hover{
		opacity: 0.7;
	}
	
}

.c_hover_scale_frame{
	overflow: hidden;
}

.c_hover_scale_item{
	width:100%;
	height:100%;
	object-fit: cover;
	transition-duration: 0.4s;
}

@media (any-hover:hover){
	.c_hover_scale_trigger:hover.c_hover_scale_item,
	.c_hover_scale_trigger:hover .c_hover_scale_item{
		transform: scale(1.1);
	}
}

.anime_fadein_bottom{
	opacity: 0;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	transform: translateY(40px);
}

.anime_fadein_bottom.anime_active ,
.anime_active .anime_fadein_bottom{
	animation-name:anime_fadein_bottom;
}

@keyframes anime_fadein_bottom {
	0% {
	opacity:0;
	}
	100% {
		opacity:1;
		transform: translateY(0);
	}
}




/*
------------------------------------
共通パーツ
------------------------------------
*/

.hide{
	display: none;
}

.container{
	max-width: 1240px;
	padding:0 20px;
	margin:0 auto;
}

.container1000{
	max-width: 1000px;
	margin-inline: auto;
}


/*moreボタン*/
.c_more_button{
	display: flex;
	align-items: center;
	width: fit-content;
	gap:14px;
	font-family: var(--zen_maru);
	font-size: 17px;
	font-weight: 700;
}

.c_more_button .radi{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 27px;
	height: 14px;
	border-radius: 3px;
	border:1px solid var(--base_font_color);
	transition-duration: 0.4s;
}

.c_more_button .radi::after{
	content:'';
	width:15px;
	height:6px;
	background-image: url('../img/common/icon_arrow_right_black.svg');
	background-position: right;
	transition-duration: 0.4s;
}

.c_more_button.white{
	color:#fff;
}
.c_more_button.white .radi{
	border-color: #fff;	
}
.c_more_button.white .radi::after{
	background-image: url('../img/common/icon_arrow_right_white.svg');
}

.c_more_button.brown{
	color:#AC6932;
}
.c_more_button.brown .radi{
	border-color: #AC6932;	
}
.c_more_button.brown .radi::after{
	background-image: url('../img/common/icon_arrow_right_brown.svg');
}


@media(any-hover:hover){
	.c_more_button:hover .radi{
		background-color: var(--base_font_color);
	}
	.c_more_button:hover .radi::after{
		background-image: url('../img/common/icon_arrow_right_white.svg');
	}

	.c_more_button.white:hover .radi{
		background-color: #fff;
	}
	.c_more_button.white:hover .radi::after{
		background-image: url('../img/common/icon_arrow_right_black.svg');
	}

	.c_more_button.brown:hover .radi{
		background-color: #AC6932;
	}
	.c_more_button.brown:hover .radi::after{
		background-image: url('../img/common/icon_arrow_right_white.svg');
	}
}

/*ブログ一覧*/
.c_blog_list{
	max-width: 840px;
	margin-inline: auto;
	margin-top: 40px;
}

.c_blog_list .blog_item + .blog_item{
	margin-top: 40px;
}

.c_blog_list .blog_block{
	display: flex;
	align-items: flex-start;
	gap:72px;
}

.c_blog_list .blog_thumb{
	flex-shrink: 0;
	width:228px;
	aspect-ratio: 1 / calc(150 / 228);
}

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

.c_blog_list .blog_text_area{
	width:100%;
}

.c_blog_list .blog_info_flex{
	display: flex;
	align-items: flex-start;
}

.c_blog_list .blog_date{
	width:290px;
	font-family: var(--zen_old);
	font-size: 13px;
}

.c_blog_list .blog_situation{
	display: flex;
	justify-content: center;
	align-items: center;
	min-height:22px;
	padding:3px 6px;
	border-radius: 3px;
	background-color: var(--base_font_color);
	color: #FFF;
	font-family: var(--zen_old);
	font-size: 12px;
	letter-spacing: 0.13em;
}

.c_blog_list .blog_title{
	margin-top: 12px;
	font-family: var(--zen_old);
	font-size: 15px;
}

.c_blog_list .blog_category{
	margin-top: 16px;
	font-size: 13px;
}

.c_page_nation{
	margin-top: 100px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap:24px;
}


.c_page_nation span.current{
	border-bottom:1px solid var(--base_font_color);
}

/*
------------------------------------
ヘッダー
------------------------------------
*/

header{
	position: fixed;
	top:0;
	left: 0;
	width:100%;
	pointer-events: none;
	z-index: 100;
}

header .header_inner{
	padding-inline: 30px;
}

header .header_flex{
	display: flex;
	justify-content: flex-end;
	
}

header .header_right{
	display: flex;
	align-items: center;
	gap:20px;
	padding-top: 28px;
}

header .header_contact{
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 102px;
	min-height: 32px;
	border-radius: 3px;
	background-color: var(--base_font_color);
	color:#fff;
	padding:3px 5px;
	pointer-events: auto;
}
header .drawer_open{
    display: flex;
    justify-content: center;
    align-items: center;
    width:42px;
	min-height:16px;
    cursor: pointer;
	pointer-events: auto;
	position: relative;
	z-index: 130;
}

header .drawer_open_inner{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

header .drawer_open .bar{
    width:42px;
    height:1px;
    background-color: var(--base_font_color);
    transition-duration: 0.5s;
	transition-property: transform;
}

header .drawer_open .bar02{
    margin:7px 0;
}

header .drawer_open.active .bar{
	background-color: #fff!important;
	width: 30px;
}

header .drawer_open.white .bar{
	background-color: #fff;
}


header .drawer_open.active .bar01 {
	transform: translateY(1px) rotate(-45deg);
}
header .drawer_open.active .bar02 {
	display: none;
}
header .drawer_open.active .bar03 {
	transform: translateY(0) rotate(45deg);
}

#drawer_menu_bg{
    position: fixed;
    top:0;
    left:0;
    z-index:90;
    width:100%;
    height:100vh;
    opacity: 0;
    pointer-events: none;
    transition-duration:0.7s;
}

#drawer_menu_bg.show{
    pointer-events: auto;
}


#drawer_menu{
    position: fixed;
    top:0;
    right:0;
    z-index:120;
    width:400px;
    background-color: var(--base_font_color);
    transition-duration: 0.7s;
    opacity: 0;
    pointer-events: none;
	padding-right: 5px;
}

#drawer_menu.show{
	opacity: 1;
	pointer-events: auto;
}

#drawer_menu .drawer_menu_inner{
	height: 100vh;
    height: calc(var(--vh2, 1vh) * 100);
	padding-top: 72px;
}

#drawer_menu .drawer_menu_scroll{
	height:100%;
	overflow-y: auto;
}


/* --- Firefox 用（簡易） --- */
/* #drawer_menu .drawer_menu_scroll {
	scrollbar-width: thin;
	scrollbar-color: #fff;
} */

#drawer_menu .drawer_menu_scroll::-webkit-scrollbar {
	width: 2px;
}
#drawer_menu .drawer_menu_scroll::-webkit-scrollbar-track {
	background-color: #909090;
}
#drawer_menu .drawer_menu_scroll::-webkit-scrollbar-thumb {
	background-color: #fff;
}


#drawer_menu .drawer_menu_contents{
	/* padding-inline: 25px; */
	padding-left: 24px;
	padding-right: 16px;
	padding-top: 8px;
	padding-bottom: 24px;
}

#drawer_menu .drawer_menu_nav{
	white-space: nowrap;
}

#drawer_menu .drawer_parent_item_top{
	/* padding-bottom: 8px;
	border-bottom:1px solid #fff; */
}

#drawer_menu .drawer_parent_item + .drawer_parent_item{
	margin-top: 24px;
}

#drawer_menu .drawer_parent_link{
	display: flex;
	align-items: flex-start;
	width:fit-content;
	transition-duration: 0.4s;
	gap:12px;
} 

@media(any-hover:hover){
	#drawer_menu .drawer_parent_link:hover{
		opacity: 0.7;
	}
}

#drawer_menu .drawer_parent_link_en{
	font-size: 18px;
	color:#fff;
	line-height: 1.5;
}

#drawer_menu .drawer_parent_link_ja{
	
	color: #909090;
	font-family: var(--zen_old);
	font-size: 12px;
	padding-top: 1px;
}

#drawer_menu .drawer_parent_link_en + .drawer_parent_link_ja{
	margin-top: 4px;
}	

#drawer_menu .drawer_contact{
	width: fit-content;
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 130px;
	min-height: 48px;
	border-radius: 3px;
	background-color: #fff;
	padding:3px 5px;
	margin-left: auto;
	margin-top: -24px;
	font-size: 20px;
	position: relative;
	z-index: 1;
}

#drawer_menu .sns_list{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap:30px;
	margin-top: 40px;
	padding-right: 20px;
}

#drawer_menu .sns_list .insta{
	width:15px;
}

#drawer_menu .sns_list .facebook{
	width:11px;
}

/*
------------------------------------
フッター
------------------------------------
*/

footer{
	margin-top: var(--sec_space);
	padding-top: 64px;
	padding-bottom: 88px;
	background-color: var(--base_font_color);
}

footer .footer_logo{
	display: block;
	width:175px;
}

footer .footer_flex{
	margin-top: 56px;
	display: flex;
	align-items: flex-start;
	gap:80px;
}

footer .footer_left{

}

footer .footer_info{
	color: #FFF;
	font-family: var(--zen_old);
	font-size: 13px;
	font-weight: 400;
	line-height: 1.53; 
}

footer .tel{
	color: #FFF;
	text-decoration: underline;
}

footer .footer_right{
	margin-top: -4px;
}
footer .footer_nav{
	display: flex;
	align-items: flex-start;
	gap:64px;
}


footer .footer_parent_item + .footer_parent_item{
	margin-top: 16px;
}

footer .footer_parent_link{
	display: block;
	width: fit-content;
	color:#fff;
	font-size: 13px;
	line-height: 2.3; 
	transition-duration: 0.4s;
}

@media(any-hover:hover){
	footer .footer_parent_link:hover{
		opacity: 0.7;
	}
}

footer .footer_bottom{
	margin-top: 16px;
}

footer .sns_list{
	display: flex;
	align-items: center;
	gap:16px;
}

footer .sns_list .insta{
	width:15px;
}

footer .sns_list .facebook{
	width:11px;
}

footer .footer_copy{
	margin-top: 5px;
	color: #fff;
	font-family: var(--zen_old);
	font-size: 13px;
	line-height: 1.6;
}

footer .footer_copy span{
	border-bottom:1px solid;
}


/*
------------------------------------
共通 magazinセクション
------------------------------------
*/

.c_magazine_contents{
	position: relative;
}

.c_magazine_contents .magazine_flex{
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	gap:24px;
}

.c_magazine_contents .magazine_flex::before{
	content:'';
	width:1312px;
	height:calc(100% - 60px);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: -1;
	background-color: #F5F5F5;
}

.c_magazine_contents .magazine_head{
	font-size: 26px;
	font-weight: 700;
	letter-spacing: 0.38em;
}

.c_magazine_contents .magazine_text{
	margin-top: 20px;
	font-family: var(--zen_old);
	font-weight: 700;
	line-height: 2.5;
	letter-spacing: 0.08em;
}

.c_magazine_contents .magazine_link{
	margin-top: 40px;
	font-family: var(--zen_old);
	font-size: 14px;
	line-height: 2.14;
}

.c_magazine_contents .magazine_link a{
	border-bottom:1px solid;
}

.c_magazine_contents .magazine_right{
	flex-shrink: 0;
	width:428px;
}

.c_magazine_contents .magazine_list{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	gap:48px 0;
}

.c_magazine_contents .magazine_item{
	width:190px;
}

.c_magazine_contents .magazine_card{
	display: block;
	aspect-ratio: 1 / calc(248 / 190);
	box-shadow: 0 0 8px 0 rgba(48, 48, 48, 0.50);
}

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


/*
------------------------------------
共通 Worksセクション
------------------------------------
*/

.c_works_section{
	padding-top: var(--sec_space);
}

.c_works_section .sec_head{
	font-size: 26px;
	font-weight: 700;
	letter-spacing: 0.38em;
	text-align: center;
}

.c_works_section .slide_area{
	/* max-width: 1920px; */
	max-width: 1440px;
	margin-inline: auto;
	margin-top: 40px;
	position: relative;
	overflow: hidden;
}

.c_works_section .work_slide{
	width: fit-content;
	/* padding-inline: 20px; */
	height:486px;
	width:220px;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	/* margin-right: 330px; */
	margin-inline: 160px;
}

.c_works_section .work_slide img{
	width:100%;
	height:100%;
	object-fit: cover;
	object-position: center;

}

.c_works_section .work_thumb{
	width:100%;
	height:100%;
}

.c_works_section .work_card{
	display: block;
	transition-duration: 0.7s;	
	width:100%;
	height:291px;
	flex-shrink: 0;
}

.c_works_section .work_slide.swiper-slide-active .work_card{
	height:100%;
	width:800px;
}

.c_works_section .work_slide.swiper-slide-next .work_card{

}

.c_works_section .work_slide.swiper-slide-prev{
	align-items: flex-end;
}

.c_works_section .work_slide.swiper-slide-prev .work_card{
	height:394px;
}

.c_works_section .slide_nav{
	position: absolute;
	bottom:0;
	z-index: 30;
	left:calc(50% + 440px);
	width:146px;
	height:20px;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	border-bottom:1px solid var(--base_font_color);
	cursor: pointer;
}

.c_works_section .slide_nav::before{
	content:'';
	width:1px;
	height:20px;
	background-color: var(--base_font_color);
	transform: rotateZ(-45deg);
	transform-origin: bottom right;
	flex-shrink: 0;
}
/*
------------------------------------
TOP
------------------------------------
*/

.top_fv_section{
	position: relative;
	overflow: hidden;
	background-color: var(--base_font_color);
}

.top_fv_section .fv_slide_list{
	position: relative;
	height:100vh;
	min-height: 600px;
	max-height: 1200px;
}

.top_fv_section .fv_slide{
	position: absolute;
	width:100%;
	height:100%;
	top:0;
	left:0;
	opacity: 0;
	transition-duration: 0.7s;
	
}

.top_fv_section .fv_slide.show{
	opacity: 1;
}

.top_fv_section .fv_slide img,
.top_fv_section .fv_slide video{
	width:100%;
	height:100%;
	object-fit: cover;
}

.top_fv_section .fv_slide img{
	transition-delay: 3s;
	transition-duration: 10s;
}

.top_fv_section .fv_slide.show img{
	transition-delay: 0s;
	transform: scale(1.15);
}

.top_fv_section .fv_slide img[data_img_step='1']{
	transform-origin: left top;
}
.top_fv_section .fv_slide img[data_img_step='2']{
	transform-origin: right top;
}
.top_fv_section .fv_slide img[data_img_step='3']{
	transform-origin: left bottom;
}
.top_fv_section .fv_slide img[data_img_step='4']{
	transform-origin: right bottom;
}

.top_fv_section .site_title{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width:467px;
	
}

.top_guide_section{
	padding-top: var(--sec_space);
}

.top_guide_section .owl{
	max-width: 91px;
	margin-inline: auto;
}

.top_guide_section .guide_head{
	margin-top: 32px;
	font-size: 26px;
	text-align: center;
	font-weight: 700;
}

.top_guide_section .guide_flex{
	margin-top: 120px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding-left: 20px;
}

.top_guide_section .guide_left{
	width:380px;
	padding-top: 36px;
}
.top_guide_section .guide_right{
	width:450px;
}

.top_guide_section .guide_text{
	font-family: var(--zen_old);
	font-weight: 700;
	line-height: 2.75;
	letter-spacing: 0.3em;
	text-align: center;
}

.top_theme_section{
	padding-top: var(--sec_space);
}

.top_theme_section .sec_head{
	font-size: 26px;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.38em;
}

.top_theme_section .theme_area{
	position: relative;
	/* min-height:720px; */
	min-height:600px;
	margin-top: 170px;
	padding-left: 500px;
}

.top_theme_section .theme_list{
	display: flex;
	gap:40px;
}

.top_theme_section .theme_item{
	width:230px;
	cursor: pointer;
}

.top_theme_section .theme_item.active{
	display: none;
}

.top_theme_section .theme_card{
	position: relative;
	pointer-events: none;
}

.top_theme_section .theme_thumb{
	aspect-ratio: 1 / calc(482 / 230);
}

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

.top_theme_section .theme_name{
	position: absolute;
	bottom:100%;
	left:0;
	padding-bottom: 12px;
	font-family: var(--zen_old);
	font-size: 24px;
	font-weight: 700;
	opacity: 0.5;
}

.top_theme_section .main_theme_item{
	position: absolute;
	width:460px;
	left:0;
	top:0;
	opacity: 0;
	pointer-events: none;
	transition-duration: 0.4s;
}

.top_theme_section .main_theme_item.show{
	opacity: 1;
	pointer-events: auto;
}

.top_theme_section .main_theme_block{
	display: block;
	position: relative;
}

.top_theme_section .main_theme_thumb{
	aspect-ratio: 1 / calc(606 / 460);
}

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

.top_theme_section .mani_theme_name{
	position: absolute;
	bottom:100%;
	left:0;
	padding-bottom: 14px;
	font-family: var(--zen_old);
	font-size: 93px;
	font-weight: 700;
	line-height: 1;
	opacity: 0.16;
}

.top_theme_section .mani_theme_name.min{
	font-size: 46px;
}

.top_theme_section .theme_info_list{
	margin-top: 32px;

}

.top_theme_section .theme_info{
	display: none;
}

.top_theme_section .theme_info.show{
	display: block;
}

.top_theme_section .theme_text{
	/* text-align: right; */
	font-family: var(--zen_old);
	/* font-size: 14px; */
	font-size: 24px;
	min-height: 58px;
	line-height: 1.2;
}

.top_theme_section .theme_more_frame{
	display: flex;
	justify-content: flex-end;
	/* margin-top: 40px; */
	margin-top: 12px;
}

.top_theme_section .theme_arrow{
	
	position: absolute;
    z-index: 10;
	top:700px;
    left: 0;
    width: 146px;
    height: 20px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    border-bottom: 1px solid var(--base_font_color);
    cursor: pointer;
	display: none;
}


.top_theme_section .theme_arrow::before {
    content: '';
    width: 1px;
    height: 20px;
    background-color: var(--base_font_color);
    transform: rotateZ(45deg);
    transform-origin: bottom left;
    flex-shrink: 0;
}

.top_house_section{
	padding-top: var(--sec_space);
}

.top_house_section .house_box{
	border:4px solid #AC6932;
	padding-top: 40px;
	padding-bottom: 40px;
	color:#AC6932;
	text-align: center;
	display: block;
}

@media(any-hover:hover){
	.top_house_section .house_box:hover .more_button .radi{
		background-color: #AC6932;
	}
	.top_house_section .house_box:hover .more_button .radi::after{
		background-image: url('../img/common/icon_arrow_right_white.svg');
	}
}


.top_house_section .house_head{
	font-size: 26px;
	font-weight: 700;
	letter-spacing: 0.38em;
}

.top_house_section .house_head_en{
	margin-top: 24px;
	letter-spacing: 0.38em;
}

.top_house_section .house_more_frame{
	margin-top: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.top_shop_section{
	padding-top: var(--sec_space);
}

.top_shop_section .sec_head{
	font-size: 26px;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.38em;
}

.top_shop_section .shop_flex{
	margin-top: 40px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.top_shop_section .shop_block{
	width:484px;
}

.top_shop_section .shop_card{
	display: block;
}

.top_shop_section .shop_thumb{
	aspect-ratio: 1 / calc(428 / 484);
}

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

.top_shop_section .shop_text_area{
	margin-top: 16px;
	font-family: var(--zen_old);
	font-size: 13px;
}

.top_news_section{
	padding-top: var(--sec_space);
}

.top_news_section .news_block{
	display: block;
	background-color: #F3F3F3;
}

.top_news_section .news_inner{
	min-height:108px;
	padding:24px 0;
	max-width: 1300px;
	width: 92%;
	margin-inline: auto;
	padding-right: 56px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.top_news_section .news_left{
	display: flex;
	align-items: flex-start;
}

.top_news_section .news_sec_head{
	font-family: var(--zen_maru);
	font-size: 18px;
	font-weight: 700;
	flex-shrink: 0;
	margin-right: 24px;
}

.top_news_section .news_sec_date{
	margin-right: 16px;
	flex-shrink: 0;
	font-family: var(--zen_old);
	font-size: 13px;
	padding-top: 4px;
}

.top_news_section .news_title{
	font-family: var(--zen_old);
	font-size: 14px;
	padding-top: 3px;
}

.top_news_section .news_right{
	flex-shrink: 0;
	margin-left: 16px;
}

.top_news_section .news_arrow{
	width:146px;
	height:20px;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	border-bottom:1px solid var(--base_font_color);
	cursor: pointer;
}

.top_news_section .news_arrow::before{
	content:'';
	width:1px;
	height:20px;
	background-color: var(--base_font_color);
	transform: rotateZ(-45deg);
	transform-origin: bottom right;
	flex-shrink: 0;
}

.top_news_section .pickup_head{
	margin-top: 200px;
	font-size: 26px;
	text-align: center;
	font-weight: 700;
	letter-spacing: 0.38em;
}

.top_news_section .blog_more_frame{
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 40px;
}

.top_magazine_section{
	padding-top: var(--sec_space);
}

/*
------------------------------------
下層共通
------------------------------------
*/

.page_mv_section{

}



/*
------------------------------------
パンクズ
------------------------------------
*/

.c_bread_section{
	padding:40px 0;
}

.c_bread_section .bread_list{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap:15px;
	line-height: 1.2;
	letter-spacing: 0;
}

.c_bread_section .bread_list a{
	color: #00436d;
	transition-duration: 0.4s;
}

@media(any-hover:hover){
	.c_bread_section .bread_list a:hover{
		opacity: 0.5;
	}
}

.c_bread_section .bread_list .arrow{
	width: 6px;
	height: 10px;
	background-image: url('../img/c/angle_right_blue.png');
	margin-top: 1px;
}



/*
------------------------------------
クラージュプラスについて
------------------------------------
*/
.about_fv_section{

}

.about_fv_section .about_fv_frame{
	position: relative;
	height:100vh;
	min-height: 600px;
	max-height: 1200px;
	display: flex;
	justify-content: center;
}

.about_fv_section .about_fv_frame::before{
	content:'';
	width:100%;
	height:100%;
	background-color: rgba(255,255,255,0.5);
	position: absolute;
	top:0;
	left:0;
	z-index: -1;
}

.about_fv_section .about_fv_frame img{
	width:100%;
	height:100%;
	object-fit: cover;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: -2;
}

.about_fv_section .about_fv_text{
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #fff;	
	width:clamp(calc(172 / 780 * 600px), calc(172 / 780 * 100vh), calc(172 / 780 * 1200px));
	height:100%;
	color: #8A6638;
	font-family: var(--zen_old);
	font-size: clamp(calc(48 / 780 * 600px), calc(48 / 780 * 100vh), calc(48 / 780 * 1200px));
	font-weight: 700;
	line-height: 1.08;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.about_info_section{
	padding-top: var(--sec_space);
}

.about_info_section .info_head{
	width: 298px;
	margin-inline: auto;
}

.about_info_section .info_text{
	margin-top: 40px;
	text-align: center;
	font-family: var(--zen_old);
	font-weight: 700;
	line-height: 3; /* 300% */
	letter-spacing: 0.2;
}

.about_info_section .info_frame{
	margin-top: 200px;
	margin-inline: auto;
	max-width: 960px;
}

.about_commit_section{
	padding-top: var(--sec_space);
}

.about_commit_section .commit_head{
	text-align: center;
	font-family: var(--zen_old);
	font-size: 26px;
	font-weight: 700;
	letter-spacing: 0.38em;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap:18px;
}

.about_commit_section .commit_head::after{
	content:'';
	width:88px;
	height:94px;
	background-image: url('../img/about/commit_head_deco.svg');

}

.about_commit_section .commit_area{
	
}

.about_commit_section .commit_list{
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-wrap: wrap;
	gap:0px 65px;
	margin-top: 88px;
}

.about_commit_section .commit_item{
	width:346px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	padding-top: 40px;
	text-align: center;
}

.about_commit_section .commit_icon_frame{
	width:64px;
	aspect-ratio: 1 / 1;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-inline: auto;
}
.about_commit_section .commit_icon01{
	width:64px;
}
.about_commit_section .commit_icon02{
	width:50px;
}
.about_commit_section .commit_icon03{
	width:56px;
}
.about_commit_section .commit_icon04{
	width:54px;
}
.about_commit_section .commit_icon05{
	width:32px;
}

.about_commit_section .commit_title{
	margin-top: 12px;
	font-family: var(--zen_old);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
}

.about_commit_section .commit_text{
	margin-top: 24px;
	font-size: 14px;
	line-height: 2.14;
}

.about_commit_section .commit_item.dammy{
	display: none;
}

.about_commit_section .commit_item01{
	background-color: rgba(229, 192, 155, 0.6);
}
.about_commit_section .commit_item02{
	background-color: rgba(225, 217, 198, 0.6);
}
.about_commit_section .commit_item03{
	background-color: rgba(238, 232, 220, 0.6);
}
.about_commit_section .commit_item04{
	background-color: rgba(223, 201, 203, 0.6);
}
.about_commit_section .commit_item05{
	background-color: rgba(208, 181, 181, 0.6);
}

@media screen and (min-width:768px){
	.about_commit_section .commit_list{
		transform: none!important;
	}
	.about_commit_section .commit_item{
		transform: none!important;
	}
}

.about_mansion_section{
	padding-top: var(--sec_space);
}

.about_mansion_section .mansion_block{
	position: relative;
	aspect-ratio: 1 / calc(323 / 996);
	display: flex;
	justify-content: center;
	align-items: center;
}

.about_mansion_section .mansion_block img{
	width:100%;
	height:100%;
	object-fit: cover;
	position: absolute;
	top:0;
	left:0;
}

.about_mansion_section .mansion_block::after{
	content:'';
	width:100%;
	height:100%;
	background: rgba(48, 48, 48, 0.40);
	position: absolute;
	top:0;
	left:0;
}

.about_mansion_section .mansion_text{
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 476px;
	min-height: 70px;
	padding:4px 12px;
	border: 1px solid #FFF;
	box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.70);
	color:#fff;
	text-shadow: 0 0 2px rgba(0, 0, 0, 0.40);
	font-family: var(--zen_old);
	font-size: 26px;
	font-weight: 900;
	letter-spacing: 0.38em;
	position: relative;
	z-index: 3;
}

/*
------------------------------------
クラージュハウスについて
------------------------------------
*/

body.house_body{
	
}

main.house_main{

}

.house_section .sec_head{
	font-size: 26px;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.38em;
}

.house_guide_section{

}

.house_guide_section .house_guide_flex{
	display: flex;
	align-items: flex-start;
	position: relative;
}

.house_guide_section .house_guide_left{
	width:50%;
	height:100vh;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--base_font_color);
	position:sticky;
	left:0;
	top:0;
}

.house_guide_section .house_guide_icon{
	width:217px;
}

.house_guide_section .house_guide_right{
	width:50%;
}

.house_guide_section .house_guide_inner{
	padding-inline: 24px;
	padding-top: 300px;
	padding-bottom: 240px;
}

.house_guide_section .page_title{
	max-width: 332px;
	margin-inline: auto;
}

.house_guide_section .house_guide_since{
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 80px;
	gap:20px;
	font-size: 20px;
	font-weight: 700;
}
.house_guide_section .house_guide_since span{
	font-size: 48px;
	font-weight: 700;
}

.house_guide_section .house_guide_concept_head{
	margin-top: 380px;
	font-size: 26px;
	text-align: center;
	font-weight: 700;
}

.house_guide_section .house_guide_concept_text{
	margin-top: 40px;
	font-family: var(--zen_old);
	font-weight: 700;
	line-height: 2.5; /* 250% */
	letter-spacing: 0.2em;
	text-align: center;
	width: fit-content;
	margin-inline: auto;
}

.house_award_section{
	padding-top: var(--sec_space);
}

.house_award_section .house_award_list{
	width: fit-content;
	margin-inline: auto;
	margin-top: 80px;
	font-family: var(--zen_old);
	font-size: 14px;
	line-height: 2.1; 
}

.house_award_section .house_award_list a{
	border-bottom:1px solid ;
}

.house_award_section .house_award_line + .house_award_line{
	margin-top: 8px;
}

.house_theme_section{
	padding-top: var(--sec_space);
}

.house_theme_section .theme_list{
	margin-top: 80px;
}

.house_theme_section .theme_item + .theme_item{
	margin-top: 120px;
}

.house_theme_section .theme_img_area{
	width:480px;
}

.house_theme_section .theme_img{
	aspect-ratio: 1 / calc(400 / 480);
}

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

.house_theme_section .theme_block{
	display: flex;
	justify-content: space-between;
}

.house_theme_section .theme_text_area{
	width:408px;
	display: flex;
	align-items: center;
}

.house_theme_section .theme_title{
	font-size: 36px;
	font-weight: 500;
}

.house_theme_section .theme_text{
	margin-top: 24px;
	font-size: 14px;
	line-height: 2;
	letter-spacing: 0.15em;
}

.house_theme_section .theme_more_frame{
	display: flex;
	justify-content: flex-end;
	margin-top: 24px;
}

.house_theme_section .theme_item:nth-child(odd) .theme_block{
	flex-direction: row-reverse;
}

.house_achive_section{
	padding-top: var(--sec_space);
}

.house_achive_section .house_achive_frame{
	width: fit-content;
	position: relative;
	margin-inline: auto;
	margin-top: 40px;
	padding-top: 40px;
	padding-inline: 30px;
	border-top:1px solid var(--base_font_color);
}

.house_achive_section .house_achive_list{
	font-family: var(--zen_old);
	font-size: 14px;
	line-height: 2.1;
}

.house_achive_section .house_achive_list strong{
	font-size: 16px;
	font-weight: 700;
}

.house_achive_section .house_achive_list a{
	border-bottom:1px solid;
	transition-duration: 0.4s;
	transition-property: border-color;
}

.house_achive_section .house_achive_list a:hover{
	border-color: transparent;
}

.house_achive_section .house_achive_bottom{
	margin-top: 120px;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap:24px;
}

.house_achive_section .house_achive_logo{
	width:78px;
}

.house_achive_section .house_achive_bottom_text{
	font-size: 13px;
}

.house_achive_section .house_achive_bottom_text p{
	text-align:justify;
	text-align-last:justify;
}

.house_about_section{
	padding-top: var(--sec_space);
}

.house_about_section .house_about_flex{
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap:24px;
}

.house_about_section .house_about_left{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
}

.house_about_section .house_about_block{
	display: flex;
	justify-content: center;
	align-items: center;
	width:296px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	text-align: center;
	font-family: var(--zen_old);
}

.house_about_section .house_about_block + .house_about_block{
	margin-left: -40px;
}

.house_about_section .house_about_block:nth-last-child(1){
	background-color: rgba(208, 181, 181, 0.6);
	
}
.house_about_section .house_about_block:nth-last-child(2){
	background-color: rgba(229, 192, 155, 0.6);
}

.house_about_section .house_about_block_head{
	font-size: 26px;
	font-weight: 700;
	
}

.house_about_section .house_about_block_info{
	margin-top: 12px;
	font-size: 14px;
	line-height: 1.78;
}

.house_about_section .house_about_text{
	font-family: var(--zen_old);
	font-size: 14px;
	line-height: 2.14;
	text-align: center;
}

.house_renove_section{
	margin-top: var(--sec_space);
	background-color: #6D6D6D;
	padding-top: 40px;
	padding-bottom: 40px;
	color:#fff;
	text-align: center;
}

.house_renove_section .renove_head{
	font-size: 32px;
	font-weight: 700;
	letter-spacing: 0.15em;
}

.house_renove_section .renove_catch{
	margin-top: 20px;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.05em;
}

.house_renove_section .renove_contents{
	margin-top: 40px;
	padding-top: 40px;
	border-top:1px solid #fff;
}

.house_renove_section .renove_text{
	font-family: var(--zen_old);
	font-size: 14px;
	font-weight: 700;
	line-height: 2;
	letter-spacing: 0.15em;
}

.house_renove_section .renove_img_flex{
	margin-top: 64px;
	display: flex;
	justify-content: center;
	align-items: flex-start;
}

.house_renove_section .renove_img{
	width:260px;
	aspect-ratio: 1 / 1;
	position: relative;
	z-index: 2;
}

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

.house_renove_section .renove_img + .renove_img{
	z-index: 1;
	margin-left: -20px;
	margin-top: 32px;
}


/*
------------------------------------
動画ギャラリー
------------------------------------
*/


body.movie_body{
	
}

main.movie_main{

}

.movie_section{
	padding-top: 120px;
}

.movie_section .page_title{
	position: relative;
	width: fit-content;
	min-height: 96px;
	padding-top: 16px;
	padding-bottom: 16px;
	padding-right: 80px;
	display: flex;
	align-items: center;
	font-size: 26px;
	font-family: var(--zen_old);
	color:#fff;
}

.movie_section .page_title::before{
	content:'';
	width:100vw;
	height:100%;
	background-color: var(--base_font_color);
	position: absolute;
	top:0;
	right:0;
	z-index: -1;
}

.movie_section .movie_area{
	margin-top: 200px;
}

.movie_section .movie_item + .movie_item{
	margin-top: 112px;
}

.movie_section .movie{
	width:600px;
	aspect-ratio: 1 / 0.5625;
}

.movie_section .movie video{
	display: block;
	width:100%;
	height:100%;
	object-fit: cover;
}

.movie_section .movie_block{
	display: flex;
	align-items: flex-start;
	gap:40px;
}

.movie_section .movie_text{
	font-size: 18px;
	font-family: var(--zen_old);
	line-height: 1.94;
	letter-spacing: 0.2em;
}


.movie_section .movie_item:nth-child(even) .movie_block{
	flex-direction: row-reverse;
	text-align: right;
}

/*
------------------------------------
オリジナル雑誌
------------------------------------
*/

.magazine_main_section{
	padding-top: 200px;
}

.magazine_list_section{
	padding-top: 100px;
}

.magazine_list_section .magazine_flex{
	display: flex;
	justify-content: center;
	align-items: center;
	gap:24px;
}

.magazine_list_section .magazine_link_text{
	font-family: var(--zen_old);
	line-height: 1.5;
}

.magazine_list_section .link_list{
	display: flex;
	align-items: center;
	gap:24px;
}

.magazine_list_section .link_list .link{
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top: 3px;
	padding-bottom: 3px;
	padding-inline: 12px;
	min-height: 31px;
	border-radius: 3px;
	border:1px solid #000;
	font-family: var(--zen_old);
}

.magazine_list_section .magezine_list_area{
	margin-top: 80px;
}

.magazine_list_section .sec_head{
	font-size: 26px;
	text-align: center;
	font-weight: 700;
	letter-spacing: 0.38em;
	margin-top: 48px;
}

.magazine_list_section .number_text{
	width: fit-content;
	line-height: 2;
	font-family: var(--zen_old);
	margin-inline: auto;
	margin-top: 32px;
}

.magazine_list_section .magazine_list{
	margin-top: 48px;
	max-width: 650px;
	margin-inline: auto;
}

.magazine_list_section .magazine_item + .magazine_item{
	margin-top: 40px;
}

.magazine_list_section .magazine_block{
	display: flex;
	gap:80px;
}

.magazine_list_section .magazine_img{
	flex-shrink: 0;
	width:146px;
}

.magazine_list_section .magazine_text_area{
	display: flex;
	align-items: center;
	font-family: var(--zen_old);
}

.magazine_list_section .magazine_title{
	font-size: 16px;
	font-weight: 400;
}

.magazine_list_section .magazine_text{
	margin-top: 24px;
	font-size: 13px;
	line-height: 2.3;
}

.magazine_insta_section{
	padding-top: var(--sec_space);
}

.magazine_insta_section .insta_flex{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	max-width: 700px;
	margin-inline: auto;
	gap:32px;
	font-family: var(--zen_old);
}

.magazine_insta_section .insta_left{
	flex-shrink: 0;
}

.magazine_insta_section .insta_link{
	position: relative;
	padding-bottom: 10px;
	padding-right: 30px;
	font-size: 24px;
	font-weight: bold;
	display: block;
	border-bottom:1px solid var(--base_font_color);

}

.magazine_insta_section .insta_link::after{
	content:'';
	width:1px;
	height:24px;
	background-color: var(--base_font_color);
	position: absolute;
	bottom:0;
	right:0;
	transform: rotateZ(-40deg);
	transform-origin: bottom right;
}


.magazine_insta_section .insta_head{
	font-size: 12px;
	font-weight: bold;
}

.magazine_insta_section .insta_text{
	font-size: 10px;
	font-weight: bold;
	margin-top: 24px;
}

/*
------------------------------------
会社概要
------------------------------------
*/

.company_logo_section{
	padding-top: var(--sec_space);
}

.company_logo_section .logo_flex{
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap:220px;
}

.company_logo_section .courage_logo{
	width:350px;
}
.company_logo_section .house_logo{
	width:372px;
}

.company_text_section{
	padding-top: var(--sec_space);
}

.company_text_section .sec_head{
	font-size: 26px;
	text-align: center;
	font-weight: 700;
}

.company_text_section .company_text{
	margin-top: 36px;
	font-size: 14px;
	text-align: center;
	line-height: 2.14;
}

.company_info_section{
	padding-top: var(--sec_space);
}

.company_info_section .company_info_list{
	max-width: 530px;
	margin-inline: auto;
}

.company_info_section .company_info_line{
	padding-top: 40px;
	display: flex;
	align-items: flex-end;
	font-family: var(--zen_old);
	font-size: 14px;
	font-weight: 400;
	border-bottom:1px solid var(--base_font_color);
	padding-bottom: 4px;
	line-height: 2.14;
}

.company_info_section .company_info_head{
	flex-shrink: 0;
	width:192px;
	padding-right: 10px;
	padding-left: 4px;
}

.company_mission_section{
	padding-top: var(--sec_space);
}

.company_mission_section .sec_head{
	font-size: 26px;
	text-align: center;
	font-weight: 700;
	letter-spacing: 0.38em;
}

.company_mission_section .mission_box{
	margin-top: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 200px;
	background-color: var(--base_font_color);
	padding:10px;
	color:#fff;
	font-family: var(--zen_old);
	font-size: 26px;
	font-weight: 700;
}

.company_mission_section .mission_text{
	margin-top: 40px;
	font-family: var(--zen_old);
	font-size: 14px;
	text-align: center;
	line-height: 2.14;
}


/*
------------------------------------
スタッフ一覧
------------------------------------
*/

.staff_list_section{
	padding-top: var(--sec_space);
}

.staff_list_section .page_title{
	font-size: 43px;
	text-align: center;
	font-weight: 700;
	letter-spacing: 0.38em;	
}

.staff_list_section .staff_card{
	display: block;
	text-align: center;
	font-family: var(--zen_old);
}

.staff_list_section .staff_img{
	aspect-ratio: 1 / calc(402 / 302);
}

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

.staff_list_section .staff_text_area{
	margin-top: 24px;
}

.staff_list_section .staff_job{
	
}

.staff_list_section .staff_name{
	margin-top: 8px;
}

.staff_list_section .staff_name01{
	font-size: 20px;
	font-weight: 700;
}

.staff_list_section .staff_name02{
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.2em;
	opacity: 0.5;
}

.staff_list_section .staff_tag_list{
	margin-top: 24px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap:8px;
}

.staff_list_section .staff_tag_list li{
	min-height: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 3px;
	border:1px solid var(--base_font_color);
	font-size: 14px;
	padding:4px 8px;
}

.staff_list_section .staff_message{
	margin-top: 24px;
	font-size: 14px;
	line-height: 2.14;
}

.staff_list_section .president_list{
	margin-top: 200px;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-wrap: wrap;
	gap:40px;
}

.staff_list_section .president_list .president_item{
	width:302px;
}

.staff_list_section .staff_list{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap:80px 48px;
	margin-top: 200px;
}

.staff_list_section .staff_list .staff_message{
	text-align: left;
}

/*
------------------------------------
スタッフ詳細
------------------------------------
*/

.staff_single_section{
	padding-top: var(--sec_space);
}


.staff_single_section .staff_flex{
	display: flex;
}

.staff_single_section .staff_img_area{
	flex-shrink: 0;
	width:407px;
}

.staff_single_section .staff_img{
	aspect-ratio: 1 / calc(542 / 402);
}

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

.staff_single_section .staff_info_area{
	width:100%;
	display: flex;
	align-items: center;
	font-family: var(--zen_old);
	color:#fff;
}

.staff_single_section .staff_info_box{
	width:100%;
	min-height:380px;
	padding-top: 32px;
	padding-bottom: 32px;
	padding-inline: 60px;
	background-color: var(--base_font_color);
	display: flex;
	align-items: center;
}

.staff_single_section .staff_job{

}

.staff_single_section .staff_name{
	display: flex;
	align-items: flex-end;
	flex-wrap: wrap;
	gap:12px 20px;
	font-weight: 700;
}

.staff_single_section .staff_name01{
	font-size: 34px;
}
.staff_single_section .staff_name02{
	font-size: 18px;
	opacity: 0.5;
	letter-spacing: 0.2em;
	padding-bottom: 4px;
}

.staff_single_section .staff_tag_list{
	margin-top: 24px;
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap:8px;
}

.staff_single_section .staff_tag_list li{
	min-height: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 3px;
	border:1px solid #fff;
	font-size: 14px;
	padding:4px 8px;
}


.staff_single_section .staff_career{
	margin-top: 16px;
	font-size: 14px;
	line-height: 2.14;
}

.staff_single_section .staff_text_area{
	margin-top: 80px;
	font-size: 14px;
	line-height: 2.5;
	font-family: var(--zen_old);
}

/*
------------------------------------
リクルート
------------------------------------
*/

.recruit_section{

}

.recruit_section .sec_head{
	font-size: 26px;
	text-align: center;
	font-weight: bold;
	letter-spacing: 0.38em;
}

.recruit_guide_section{
	padding-top: var(--sec_space);
}

.recruit_guide_section .page_title{
	font-size: 43px;
	text-align: center;
	font-weight: bold;
	letter-spacing: 0.38em;
}

.recruit_guide_section .guide_text{
	max-width: 447px;
	margin-inline: auto;
	margin-top: 200px;
	font-size: 26px;
	text-align: center;
	font-weight: 700;
	letter-spacing: 0.38em;
	font-family: var(--zen_old);
}

.recruit_staff_section{
	padding-top: var(--sec_space);
}

.recruit_staff_section .logo{
	max-width: 240px;
	margin-inline: auto;
}

.recruit_staff_section .slide_area{
	position: relative;
    margin-top: 180px;
    display: flex;
    justify-content: center;
}

.recruit_staff_section .slide_frame {
    flex-shrink: 0;
    max-width: 1920px;
    width: 100vw;
    overflow: hidden;
}

.recruit_staff_section .staff_swiper{
	width:100%;
	overflow: hidden;
}

.recruit_staff_section .swiper-wrapper{
	transition-timing-function: linear;
}

.recruit_staff_section .staff_slide{
	width:253px;
	padding-inline: 24px;
}

.recruit_staff_section .staff_card{
	display: block;
	aspect-ratio: 1 / calc(272 / 205);
}

.recruit_staff_section .staff_card a img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.recruit_style_section{
	padding-top: var(--sec_space);
}

.recruit_style_section .system_area{
	display: flex;
	justify-content: center;
	margin-top: 80px;
	/* margin-top: 150px; */
}

.recruit_style_section .system_block{
	flex-shrink: 0;
	width:calc(100vw + 200px);
	max-width: calc(1920px + 200px);
	padding-top: 80px;
	padding-bottom: 80px;
	overflow: hidden;
}

.recruit_style_section .system_slide{
	width:280px;
	aspect-ratio: 1 / calc(184 / 280);
	/* margin-inline: 12px; */
	margin-inline: 67px;
	transition-duration: 1s;
}

.recruit_style_section .system_card{
	transition-duration: 0.4s;
}

.recruit_style_section .swiper-slide-active .system_card{
	transform: scale(1.78);
	/* transition-delay: 0.4s; */
}

.recruit_style_section .system_slide:has(+ .system_slide + .system_slide + .swiper-slide-prev) .system_card{
    transform: translateX(330px);
}
.recruit_style_section .system_slide:has(+ .system_slide + .swiper-slide-prev) .system_card{
    transform: translateX(220px);
}
.recruit_style_section .system_slide:has(+ .swiper-slide-prev) .system_card{
	transform: translateX(110px);
}
.recruit_style_section .swiper-slide-next + .system_slide .system_card{
	transform: translateX(-110px);
}
.recruit_style_section .swiper-slide-next + .system_slide + .system_slide .system_card{
	transform: translateX(-220px);
}
.recruit_style_section .swiper-slide-next + .system_slide + .system_slide + .system_slide .system_card{
	transform: translateX(-330px);
}

.recruit_style_section .system_card{
	aspect-ratio: 1 / calc(184 / 280);

}

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

.recruit_appli_section{
	padding-top: var(--sec_space);
}

.recruit_appli_section .sec_head{
	font-family: var(--zen_old);
	font-size: 26px;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.38em;
}

.recruit_appli_section .table_frame{
	max-width: 856px;
	margin-inline: auto;
	margin-top: 24px;
}

.recruit_appli_section .table_line{
	display: flex;
	align-items: flex-end;
	padding-top: 16px;
	border-bottom:1px solid var(--base_font_color);
	font-family: var(--zen_old);
	font-size: 14px;
	line-height: 2.14;
}

.recruit_appli_section .table_head{
	flex-shrink: 0;
	width:240px;
	padding-right: 10px;
}
.recruit_appli_section .table_contents{
	width:100%;
}

.recruit_appli_section .entry_button{
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 404px;
	min-height: 56px;
	background-color: var(--base_font_color);
	margin-inline: auto;
	margin-top: 100px;
	color:#fff;
	font-family: var(--zen_old);
	font-size: 26px;
	font-weight: 700;
	letter-spacing: 0.38em;
}


/*
------------------------------------
店舗
------------------------------------
*/

body.shop_body{
	
}

main.shop_main{

}

.shop_section .sec_head{
	font-size: 26px;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.38em;
}

.shop_fv_section{
	padding-top: 120px;
}

.shop_fv_section .shop_flex{
	width:92%;
	margin-inline: auto;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap:32px;
}

.shop_fv_section .shop_block{
	aspect-ratio: 1 / calc(500 / 650);
	position: relative;
}
.shop_fv_section .shop_block::before{
	content:'';
	width:100%;
	height:100%;
	background: rgba(255, 255, 255, 0.50);
	position: absolute;
	top:0;
	left:0;
	z-index: 1;
}

.shop_fv_section .shop_block.active{
	pointer-events: none;
}

.shop_fv_section .shop_block.active::before{
	content:none;
}
.shop_fv_section .shop_block .shop_pic{
	width:100%;
	height:100%;
	object-fit: cover;
}

.shop_fv_section .shop_block .shop_news{
	width:100%;
	min-height:48px;
	background-color: #9A1919;
	padding:4px 8px;
	position: absolute;
	bottom:0;
	left:0;
	z-index: 3;
	display: flex;
	justify-content: center;
	align-items: center;
	color:#fff;
	font-size: 26px;
	font-weight: bold;
	letter-spacing: 0.2em;
}	

.shop_fv_section .shop_title{
	margin-top: 112px;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height:96px;
	background-color: var(--base_font_color);
	padding:8px 12px;
	font-family: var(--zen_old);
	font-size: 26px;
	color:#fff;
	font-weight: 700;
}


.shop_commit_section{
	padding-top: var(--sec_space);
}

.shop_commit_section .commit_head{
	text-align: center;
	font-family: var(--zen_old);
	font-size: 26px;
	font-weight: 700;
	letter-spacing: 0.38em;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap:18px;
}



.shop_commit_section .commit_head::after{
	content:'';
	width:88px;
	height:94px;
	background-image: url('../img/about/commit_head_deco.svg');
}


.shop_commit_section .commit_head_pc{
	position: absolute;
	right:146px;
	top:345px;
}


.shop_commit_section .commit_area{
	position: relative;
	width:920px;
	height:1025px;
	margin-inline: auto;
}

/* .shop_commit_section .commit_list{
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-wrap: wrap;
	gap:0px 65px;
	margin-top: 88px;
} */

.shop_commit_section .commit_item{
	width:268px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	padding-top: 30px;
	text-align: center;
	position: absolute;
	z-index: 2;
}

.shop_commit_section .commit_icon_frame{
	width:50px;
	aspect-ratio: 1 / 1;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-inline: auto;
}
.shop_commit_section .commit_icon01{
	width:50px;
}
.shop_commit_section .commit_icon02{
	width:40px;
}
.shop_commit_section .commit_icon03{
	width:41px;
}
.shop_commit_section .commit_icon04{
	width:43px;
}
.shop_commit_section .commit_icon05{
	width:24px;
}

.shop_commit_section .commit_title{
	margin-top: 12px;
	font-family: var(--zen_old);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
}

.shop_commit_section .commit_text{
	margin-top: 12px;
	font-size: 12px;
	line-height: 2.14;
}

.shop_commit_section .commit_item.dammy{
	display: none;
}

.shop_commit_section .commit_item01{
	background-color: rgba(229, 192, 155, 0.6);
	top:0;
	left:292px;
}
.shop_commit_section .commit_item02{
	background-color: rgba(225, 217, 198, 0.6);
	top:195px;
	left:16px;
}
.shop_commit_section .commit_item03{
	background-color: rgba(238, 232, 220, 0.6);
	top:571px;
	left:0;
}
.shop_commit_section .commit_item04{
	background-color: rgba(223, 201, 203, 0.6);
	bottom:0;
	left:292px;
}
.shop_commit_section .commit_item05{
	background-color: rgba(208, 181, 181, 0.6);
	right:0;
	bottom:72px;
}

@media screen and (min-width:1201px){
	.shop_commit_section .commit_list{
		transform: none!important;
	}
	.shop_commit_section .commit_item{
		transform: none!important;
	}
}

.shop_concept_section{
	padding-top: var(--sec_space);
}

.shop_concept_section .concept_text{
	margin-top: 40px;
	font-family: var(--zen_old);
	font-weight: 700;
	line-height: 2.5;
	letter-spacing: 0.2em;
	text-align: center;
}

.shop_concept_section .slide_area{
	position: relative;
    margin-top: 140px;
    display: flex;
    justify-content: center;
}

.shop_concept_section .slide_frame {
    flex-shrink: 0;
    max-width: 1920px;
    width: 100vw;
    display: flex;
    overflow: hidden;
}

.shop_concept_section .shop_gal_swiper{
	width:100%;
	overflow: hidden;
}

/* .shop_concept_section .swiper-wrapper{
	transition-timing-function: linear;
} */

.shop_concept_section .shop_gal_slide{
	width:320px;
	padding-inline: 20px;
}


.shop_concept_section .shop_gal_slide img{
	width:100%;
	aspect-ratio: 1 / calc(134 / 280);
	object-fit: cover;
}


.shop_floor_section{
	padding-top: var(--sec_space);
}

.shop_floor_section .floor{
	max-width: 390px;
	margin-inline: auto;
}

.shop_view_section{
	padding-top: var(--sec_space);
}

.shop_view_section .view_frame{
	max-width: 850px;
	aspect-ratio: 1 / calc(402 / 850);
	margin-inline: auto;
	margin-top: 44px;
	margin-bottom: 44px;
}

.shop_view_section .view_frame iframe{
	width:100%;
	height:100%;
	display: block;
}


.shop_view_section .lect_map{
	max-width: 600px;
	margin-inline: auto;
	margin-bottom: 100px;
}
.shop_view_section .reserve_button{
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 190px;
	min-height:32px;
	margin-inline: auto;
	background-color: var(--base_font_color);
	font-family: var(--zen_old);
	color:#fff;
	border-radius: 3px;
}

.shop_view_section .info_list{
	width: fit-content;
	margin-inline: auto;
	margin-top: 40px;
}

.shop_view_section .info_line{
	display: flex;
	align-items: flex-start;
	font-family: var(--zen_old);
	font-size: 14px;
	line-height: 1.5;
}

.shop_view_section .info_line + .info_line{
	margin-top: 10px;
}

.shop_view_section .info_head{
	width:64px;
	padding-right: 6px;
	flex-shrink: 0;
}

.shop_access_section{
	padding-top: var(--sec_space);
}

.shop_access_section .map_frame{
	height:337px;
	margin-top: 40px;
}

.shop_access_section .map_frame iframe{
	display: block;
	width:100%;
	height:100%;
}

.shop_access_section .access_list{
	margin-top: 40px;
}

.shop_access_section .access_line{
	font-family: var(--zen_old);
	font-size: 14px;
	line-height: 2.14;
	position: relative;
	padding-left: 24px;
}

.shop_access_section .access_line::before{
	content:'';
	width:9px;
	height:9px;
	background-color: var(--base_font_color);
	position: absolute;
	left:0;
	top:11px;
}

.shop_staff_section{
	padding-top: var(--sec_space);
}


.shop_staff_section .staff_list{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap:80px 40px;
	margin-top: 32px;
} 

.shop_staff_section .staff_card{
	display: block;
	font-family: var(--zen_old);
}

.shop_staff_section .staff_thumb{
	aspect-ratio: 1 / calc(272 / 212);
}

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

.shop_staff_section .staff_text_area{
	padding-top: 40px;
}

.shop_staff_section .staff_name{
	font-size: 20px;
	font-weight: 700;
}

.shop_staff_section .staff_job{
	margin-top: 8px;
}

.shop_staff_section .staff_message{
	margin-top: 8px;
	font-size: 14px;
	line-height: 2.14;
}

.shop_staff_section .staff_more_frame{
	display: flex;
	justify-content: flex-end;
	margin-top: 40px;
}

/*
------------------------------------
ブログ一覧
------------------------------------
*/

body.archive_body{
	
}

main.archive_main{

}

.archive_head_section{
	padding-top: var(--sec_space);
}

.archive_head_section .page_title{
	font-size: 43px;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.38em;
}

.archive_head_section .link_flex{
	position: relative;
	margin-top: 200px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap:150px;
	min-height: 100px;
}

.archive_head_section .link_flex::before{
	content:'';
	width:100vw;
	height:100%;
	background-color: #F5F5F5;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

.archive_head_section .link{
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	gap:14px;
	font-weight: 700;
	letter-spacing: 0.2em;
}

.archive_head_section .link .check{
	width:20px;
	aspect-ratio: 1 / 1;
	position: relative;
	border:1px solid var(--base_font_color);
}


.archive_head_section .link.active{
	pointer-events: none;
}

.archive_head_section .link.active .check::after{
	content:'';
	width:36px;
	height:23px;
	background-image: url('../img/common/icon_check_black.svg');
	position: absolute;
	bottom:5px;
	left:-4px;
}

.archive_list_section{
	padding-top: var(--sec_space);
} 




/*
------------------------------------
ブログ詳細
------------------------------------
*/

.single_blog_section{
	padding-top: 200px;
}

.single_blog_section .blog_title{
	margin-top: 40px;
	text-align: center;
	font-family: var(--zen_old);
	font-size: 26px;
	font-weight: 700;
	letter-spacing: 0.38em;
}

.single_blog_section .blog_date{
	margin-top: 24px;
	font-family: var(--zen_old);
	font-size: 14px;
	text-align: center;
	/* text-transform: full-width; */
}

.single_blog_section .blog_thumb{
	aspect-ratio: 1 / calc(500 / 850);
}

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


.single_blog_section .blog_situation{
	display: flex;
	justify-content: center;
	align-items: center;
	min-height:22px;
	padding:3px 6px;
	border-radius: 3px;
	background-color: var(--base_font_color);
	color: #FFF;
	font-family: var(--zen_old);
	font-size: 12px;
	letter-spacing: 0.13em;
	margin-inline: auto;
	width: fit-content;
	margin-top: 16px;
}

.single_blog_section .blog_tag_list{
	width: fit-content;
	margin-inline: auto;
	margin-top: 24px;
	display: flex;
	align-items: flex-start;
	gap:8px;
	font-family: var(--zen_old);
	font-size: 14px;
	line-height: 1.5;
}

.single_blog_section .single_frame{
	margin-top: 80px;
	/* max-width: 800px; */
	margin-inline: auto;
}

.single_blog_section .single_block{
	font-family: var(--zen_old);
	line-height: 1.5;
}

.single_blog_section .single_block img{
	width: auto;
	max-width: 100%;
	display: inline-block;
}

.single_blog_section .single_block a{
	border-bottom: 1px solid;
}

.single_blog_section .single_block a:has(img){
	border:none;
}

.single_blog_section .single_block p{
	margin: 24px 0;
}


.single_blog_section .single_block h2{
	margin:24px 0;
	font-size: 24px;
	font-weight: 700;
}

.single_blog_section .single_block h3{
	margin:24px 0;
	font-size: 20px;
	font-weight: 700;
}

.single_blog_section .staff_box{
	margin-top: 200px;
	background-color: #F5F5F5;
	padding:80px 32px;
	font-family: var(--zen_old);
}	

.single_blog_section .staff_box_inner{
	max-width: 720px;
	margin-inline: auto;
}

.single_blog_section .staff_contents{
	position: relative;
	min-height: 250px;
	padding-right: 200px;
}

.single_blog_section .staff_head{
	font-weight: 700;
	letter-spacing: 0.2em;
	font-family: var(--base_font_family);
}

.single_blog_section .staff_job{
	margin-top: 80px;

}

.single_blog_section .staff_img{
	display: block;
	width:186px;
	aspect-ratio: 1 / calc(244 / 186);
	position: absolute;
	right:0;
	top:0;
}

.single_blog_section .staff_img img{
	width:100%;
	height:100%;
	object-fit: cover;
	border-radius: 50%;
}
.single_blog_section .staff_name{
	display: flex;
	align-items: center;
	gap:10px;
	flex-wrap: wrap;
}

.single_blog_section .staff_name01{
	font-size: 34px;
	font-weight: 700;
}
.single_blog_section .staff_name02{
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.2em;
	opacity: 0.5;
}

.single_blog_section .staff_tag_list{
	margin-top: 24px;
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap:8px;
}

.single_blog_section .staff_tag_list li{
	display: flex;
	justify-content: center;
	align-items: center;
	min-height:30px;
	border:1px solid var(--base_font_color);
	padding:3px 8px;
	font-size: 14px;
}

.single_blog_section .staff_career{
	margin-top: 24px;
	font-size: 14px;
	line-height: 2.14;
}

/*特別記事用*/
.single_blog_section .single_block.special{

}

.single_blog_section .single_block.special table{
	margin: 32px 0;
}

.single_blog_section .single_block.special table,
.single_blog_section .single_block.special table td,
.single_blog_section .single_block.special table th{
	border:none;
	vertical-align: top;
	height:auto!important;
}
.single_blog_section .single_block.special table tr{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	gap:40px;
	height:auto!important;
}

.single_blog_section .single_block.special table td,
.single_blog_section .single_block.special table th{
	width:48%!important;
}

.single_blog_section .single_block.special table td *:first-child,
.single_blog_section .single_block.special table th *:first-child{
	margin-top: 0;
}


.single_recommend_section{
	padding-top: var(--sec_space);
}

.single_recommend_section .recommend_flex{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap:10px;
}

.single_recommend_section .sec_head{
	font-size: 26px;
	font-weight: 700;
	text-align: left;
	letter-spacing: 0.38em;
}

.single_recommend_section .recommend_left{
	flex-shrink: 0;
	max-width:310px;
}

.single_recommend_section .recommend_right{
	width:680px;
}

.single_recommend_section .recommend_list{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap:40px;
}

.single_recommend_section .recommend_block{
	display: block;
	font-family: var(--zen_old);
}

.single_recommend_section .recommend_thumb{
	aspect-ratio: 1 / calc(215 / 323);
}

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

.single_recommend_section .recommend_text_area{
	padding-top: 12px;
}

.single_recommend_section .recommend_date{
	font-size: 15px;
	letter-spacing: 0.15em;
}

.single_recommend_section .recommend_title{
	margin-top: 12px;
	font-size: 13px;
	line-height: 1.5;
}


/*
------------------------------------
フォーム関係
------------------------------------
*/

.form_section{
	padding-top: 200px;
}

.form_section .form_frame{
	position: relative;
}

.form_section .page_title{
	font-size: 26px;
	font-weight: 700;
	text-align: left;
	letter-spacing: 0.38em;
	margin-top: -100px;
}

.form_section .form_front_flex{
	margin-top: 40px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.form_section .form_guide{
	position: sticky;
	width: fit-content;
	margin-left: auto;
	top:80px;
	right:0;
	z-index: 20;
	flex-shrink: 0;
}

.form_section .form_guide_box{
	display: flex;
	justify-content: center;
	align-items: center;
	width:fit-content;
	min-width:140px;
	min-height:100px;
	position: relative;
	padding:8px;
	border-radius: 8px;
	background-color: var(--base_font_color);
}

.form_section .form_guide_box::before{
	content:'';
	width:16px;
	aspect-ratio: 1 / 1;
	background-color: var(--base_font_color);
	position: absolute;
	bottom:24px;
	right:calc(100% - 1px);
	clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}

.form_section .form_guide_text{
	font-size: 14px;
	color:#fff;
	text-align: center;
	position: relative;
	z-index: 2;
}

.form_section .form_guide_text span{
	font-size: 26px;
	font-weight: bold;
	padding-inline: 6px;
}

.form_section .form_text{
	font-size: 14px;
	line-height: 2;
}

.form_section .form_text strong{
	color:#9A1919;
	font-weight: 700;
}

.form_section .form_text p + p{
	margin-top: 8px;
}

.form_section .form_text ul{
	font-size: 12px;
	line-height: 2;
	margin-top: 8px;
}

.form_section .form_area{
	margin-top: 80px;
}

.form_section .floor_map{
	max-width:365px;
	margin-inline: auto;
	margin-top: 120px;
}

.c_form_contents{

} 

.c_form_contents .form_line{
	display: flex;
	align-items: flex-start;
	gap:12px;
	margin-top: 25px;
}

.c_form_contents .form_line.verti{
	flex-direction: column;
}

.c_form_contents .sub_form_line_wrap{
	padding-left: 16px;
}

.c_form_contents .form_label{
	flex-shrink: 0;
	min-width:150px;
	min-height:32px;
	display: flex;
	align-items: center;
	font-size: 16px;
	font-weight: 700;
}

.c_form_contents .form_label::after{
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.2em;
	color:#9A1919;
	margin-left: 10px;
	white-space: nowrap;
}

.c_form_contents .form_label_text::after{
	content:none!important;
}

.c_form_contents .form_line:has([aria-required="true"]) .form_label::after,
.c_form_contents .form_line:has(.wpcf7-radio) .form_label::after{
	content:'＊必須';
}
.c_form_contents .form_line:has(.wpcf7-checkbox.wpcf7-validates-as-required) .form_label::after{
	content:'＊必須　複数選択可';
}

.c_form_contents .form_right{
	width:100%;
	/* font-size: 14px;
	line-height: 1.85;
	letter-spacing: 0.05em; */
}

.c_form_contents input:not([type="file"]){
	width:100%;
	display: block;
	height:32px;
	border:1px solid var(--base_font_color);
	padding-inline: 12px;
	font-size: 14px;
	letter-spacing: 0.05em;
}

.c_form_contents textarea{
	width:100%;
	display: block;
	height:360px;
	border:1px solid var(--base_font_color);
	padding: 20px;
	font-size: 14px;
	letter-spacing: 0.05em;
}

.c_form_contents .select_frame{
	position: relative;
}

.c_form_contents .select_frame::after{
	content:'';
	width:10px;
	height:7px;
	background-color: var(--base_font_color);
	position: absolute;
	top: 14px;
	right:6px;
	pointer-events: none;
	clip-path: polygon(50% 100%, 0 0, 100% 0);
}

.c_form_contents select{
	width:100%;
	display: block;
	height:32px;
	border:1px solid var(--base_font_color);
	padding-inline: 12px;
	font-size: 14px;
	letter-spacing: 0.05em;
	text-align: left;
	cursor: pointer;
	border-radius: 0;
	background-color: #fff;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
}

.c_form_contents input[type="date"]{
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	display: flex;
	align-items: center;
}


.c_form_contents .wpcf7-list-item{
	margin: 0!important;
}

.c_form_contents input[type="radio"],
.c_form_contents input[type="checkbox"]{
	display: none;
	width:10px;
	height:10px;
}

.c_form_contents .wpcf7-radio,
.c_form_contents .wpcf7-checkbox{
	display: flex;
	flex-wrap: wrap;
	gap:24px 60px;
}

.c_form_contents .wpcf7-radio{
	padding-top: 6px;
}

.c_form_contents .wpcf7-radio label,
.c_form_contents .wpcf7-checkbox label{
	display: flex;
	align-items: flex-start;
	cursor: pointer;
	gap:10px;
	font-size: 14px;
	position: relative;
}

.c_form_contents .wpcf7-radio label::before,
.c_form_contents .wpcf7-checkbox label::before{
	content:"";
	flex-shrink: 0;
	width:14px;
	height:14px;
	border:1px solid var(--base_font_color);
	transform: translateY(4px);
}

.c_form_contents label:has(input:checked)::after{
	content:'';
	width:20px;
	height:12px;
	background-image: url('../img/common/icon_check_black.svg');
	position: absolute;
	top:3px;
	left:-2px;
}

.c_form_contents .birth_flex{
	display: flex;
	align-items: flex-start;
	gap:10px;
}

.c_form_contents .birth_box{
	display: flex;
	align-items: flex-start;
	line-height: 2;
	gap:8px;
}

.c_form_contents .birth_box .select_frame.year{
	width:110px;
}
.c_form_contents .birth_box .select_frame{
	width:70px;
}

.c_form_contents .file_area{
	padding-bottom: 20px;
}


.c_form_contents .file_line{
	display: flex;
	align-items: flex-start;
	margin-top: 30px;
	gap:20px;
}

.c_form_contents .file_line .file_head{
	flex-shrink: 0;
	min-width:100px;
	font-size: 16px;
	font-weight: bold;
}

.c_form_contents .form_alert{
	margin-top: 16px;
	font-size: 14px;
	line-height: 2;
}

.c_form_contents .form_alert span{
	color:#9A1919
}

.c_form_contents .form_info{
	margin-top: 40px;
	font-size: 14px;
	line-height: 2;
}

.c_form_contents .form_info span{
	color:#9A1919
}


.c_form_contents .privacy_box{
	height:230px;
	border:1px solid var(--base_font_color);
	overflow-y: auto;
	padding:24px;
	font-family: var(--zen_old);
	font-size: 14px;
	line-height: 1.75;
	letter-spacing: 0.02em;
	margin-top: 80px;
}

.c_form_contents .agree_area{
	width: fit-content;
	margin-inline: auto;
	margin-top: 16px;
}

.c_form_contents .agree_area label{
	font-weight: 500;
	font-size: 16px;
	color:#01698C;
	line-height: 1.3;
}

.c_form_contents .submit_area{
	margin-top: 80px;
	width: fit-content;
	margin-inline: auto;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-direction: column;
}

.c_form_contents input[type="submit"]{
	display: flex;
	justify-content: center;
	align-items: center;
	width:fit-content;
	min-width: 236px;
	min-height:48px;
	padding:6px 24px;
	background-color: var(--base_font_color);
	color:#fff;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.38em;
	cursor: pointer;
}

/*来店予約用*/
.c_form_contents .form_line.mt{
	margin-top: 50px;
}

.c_form_contents .time_sample{
	font-size: 14px;
	line-height: 1.85;
	letter-spacing: 0.05em;
}

.c_form_contents .shop_time{
	font-size: 14px;
	line-height: 1.85;
	letter-spacing: 0.05em;
}

.c_form_contents .select_frame.shop{
	width:220px;
	margin-left: 16px;
}


.c_form_contents .date_line{
	display: flex;
	align-items: flex-start;
}

.c_form_contents .date_line .date_line_head{
	display: flex;
	align-items: center;
	min-height: 32px;
	flex-shrink: 0;
	width:90px;
	padding-right: 8px;
	font-size: 14px;
	font-weight: 700;
}

.c_form_contents .date_line + .date_line{
	margin-top: 24px;
}

.c_form_contents .date_line .date_flex{
	display: flex;
	align-items: flex-start;
	gap:12px;
}

.c_form_contents .date_line .date_box{
	display: flex;
	align-items: flex-start;
	gap:6px;
}

.c_form_contents .date_box .select_frame{
	width:70px;
}

.c_form_contents .date_box .input_frame.date{
	width:140px;
}

.c_form_contents .date_box .input_frame.date input{
	border-radius: 0;
	background-color: #fff;
}

.c_form_contents .date_line p{
	min-height: 32px;
	display: flex;
	align-items: center;
	font-size: 14px;
	font-weight: 700;
}

.c_form_contents .date_line .must{
	color: #9A1919;
}

/*
------------------------------------
ブランドページ
------------------------------------
*/

.brand_section{

}

.brand_fv_section{
	padding-top: var(--sec_space);
}

.brand_fv_section .page_title{
	font-size: 43px;
	font-weight: 700;
	line-height: 1.44;
	letter-spacing: 0.38em;
	text-align: center;
}

.brand_fv_section .page_sub_title{
	margin-top: 24px;
	font-size: 43px;
	font-weight: 700;
	line-height: 1.44;
	letter-spacing: 0.38em;
	text-align: center;
} 

.brand_list_section{
	padding-top: var(--sec_space);
} 

.brand_list_section .list_frame{
	display: flex;
	justify-content: center;
}

.brand_list_section .brand_list{
	flex-shrink: 0;
	width:calc(1320 / 1440 * 100vw);
	max-width: 1320px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap:18px 14px;
}

.brand_list_section .brand_list a{
	display: block;
	aspect-ratio: 1 / calc(57 / 315);
}

.brand_list_section .brand_list a img{
	width:100%;
	height:100%;
	object-fit: contain;
}

.brand_list_section .other_brand_area{
	margin-top: 40px;
}

.brand_list_section .other_brand_contents{
	display: none;
}

.brand_list_section .other_brand_list{
	width: fit-content;
	margin-inline: auto;
	font-size: 14px;
	line-height: 2;
}

.brand_list_section .other_brand_list span{
	display: inline-block;
	padding-inline: 3px;
}

.brand_list_section .other_brand_area .other_brand_button{
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	width: fit-content;
	margin-inline: auto;
	cursor: pointer;
	font-size: 14px;
	padding:5px 0;
}

.brand_info_section{
	padding-top: var(--sec_space);
} 

.brand_info_section .brand_logo{
	display: flex;
	justify-content: center;
}

.brand_info_section .brand_logo img{
	width: fit-content;
	max-width: 100%;
}

.brand_info_section .brand_text{
	margin-top: 40px;
	font-family: var(--zen_old);
	line-height: 2.5;
	letter-spacing: 0.2em;
	max-width: 800px;
	margin-inline: auto;
	text-align: center;
}

.brand_info_section .brand_gal_area{
	margin-top: 80px;
	display: flex;
	justify-content: center;
}

.brand_info_section .brand_gal_frame{
	flex-shrink: 0;
	width:100vw;
	max-width: 1920px;
}

.brand_info_section .brand_gal_swiper{
	width: 100%;
	overflow: hidden;
}

.brand_info_section .brand_gal_slide{
	width:312px;
	padding-inline: 16px;
}

.brand_info_section .brand_gal_card{
	aspect-ratio: 1 / calc(188 / 280);
}

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

.brand_info_section .contact_button{
	margin-top: 112px;
	margin-inline: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	width: fit-content;
	min-height: 32px;
	border:1px solid var(--base_font_color);
	padding:4px 24px;
	border-radius: 3px;
	font-family: var(--zen_old);
}

.brand_blog_section{
	padding-top: var(--sec_space);
}

.brand_blog_section .sec_head{
	font-size: 26px;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.38em;
}

.brand_blog_section .blog_more_frame{
	display: flex;
	justify-content: flex-end;
	margin-top: 32px;
}

/*
------------------------------------
プロジェクト一覧ページ
------------------------------------
*/

.project_fv_section .fv_frame{
	position: relative;
	height:100vh;
	max-height: 1080px;
	min-height: 600px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top: 10%;
}

.project_fv_section .fv_frame img{
	position: absolute;
	width:100%;
	height:100%;
	object-fit: cover;
	top:0;
	left:0;
}

.project_fv_section .page_title{
	display: flex;
	flex-direction: column;
	align-items: center;
	color:#fff;
	font-size: 32px;
	font-weight: 700;
	position: relative;
	z-index: 3;
}	

.project_fv_section .page_title span{
	font-size: 20px;
}

.project_tag_section{
	padding-top: var(--sec_space);
}

.project_tag_section .banner_flex{
	display: flex;
	justify-content: center;
	gap:16px;
}

.project_tag_section .banner{
	width:400px;
	border-radius: 5px;
	
	padding-inline: 16px;
	border: 1px solid var(--base_font_color);
}

.project_tag_section .banner.plus{
	background-color: var(--base_font_color);
	color:#fff;
}

.project_tag_section .banner .banner_inner{
	height:100%;
	min-height: 135px;
	padding-top: 10px;
	padding-bottom: 10px;
	max-width: 320px;
	margin-inline: auto;
	display: flex;
	align-items: center;
	gap:40px;
}

.project_tag_section .banner .banner_icon{
	flex-shrink: 0;
	width:47px;
}

.project_tag_section .banner .banner_name{
	font-size: 32px;
	font-weight: 700;
	line-height: 1.2;
	white-space: nowrap;
}

.project_tag_section .banner .banner_name span{
	font-size: 20px;
	display: block;
}

.project_tag_section .banner .banner_text{
	margin-top: 15px;
	font-size: 14px;
	font-weight: 500;
}

.project_tag_section .tag_area{
	margin-top: 40px;
}

.project_tag_section .selected_tag_list{
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap:8px;
}

.project_tag_section .selected_tag_list li{
	min-height: 32px;
	display: flex;
	align-items: center;
	padding:3px 32px 3px 8px;
	border-radius: 3px;
	border:1px solid var(--base_font_color);
	font-family: var(--zen_old);
	font-size: 14px;
	position: relative;
}

.project_tag_section .selected_tag_list .selected_tag_delete{
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	right:6px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.project_tag_section .selected_tag_list .selected_tag_delete::after{
	content:'';
	width:20px;
	height:20px;
	background-image: url('../img/common/icon_close_black.svg');
}

.project_tag_section .switch_head_list{
	margin-top: 24px;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap:18px;
}

.project_tag_section .switch_head_list .switch_head{
	width:108px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap:16px;
	cursor: pointer;
}

.project_tag_section .switch_head_list .switch_head_icon{
	position: relative;
	width:12px;
	height:12px;
}

.project_tag_section .switch_head_list .switch_head_icon::before,
.project_tag_section .switch_head_list .switch_head_icon::after{
	content:'';
	background-color: var(--base_font_color);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.project_tag_section .switch_head_list .switch_head_icon::before{
	width:100%;
	height:2px;
}
.project_tag_section .switch_head_list .switch_head_icon::after{
	width:2px;
	height:100%;
}

.project_tag_section .switch_head_list .switch_head.active .switch_head_icon::after{
	content:none;
}

.project_tag_section .tag_block{
	margin-top: 40px;
}

.project_tag_section .project_tag_list{
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap:8px;
	cursor: pointer;
	font-size: 20px;
	line-height: 2;
}

.project_tag_section .project_tag_list li{
	display: flex;
	justify-content: center;
	align-items: center;
	min-height:32px;
	padding:3px 8px;
	border-radius: 3px;
	font-family: var(--zen_old);
	font-size: 14px;
	border:1px solid var(--base_font_color);
}

.project_tag_section .project_tag_list li.active{
	background-color: var(--base_font_color);
	color:#fff;
}

.project_tag_section .project_tag_list.project_tag_list_house li.active.all{
	pointer-events: none;
}

.project_tag_section .house_cat_area{
	display: flex;
	justify-content: center;
	margin-bottom: 40px;
}

.project_tag_section .house_cat_frame{
	flex-shrink: 0;
	width:100vw;
	max-width: 1920px;
	overflow: hidden;
}

.project_tag_section .house_cat_frame .house_cat_swiper{
	width:100%;
	overflow: hidden;
}

.project_tag_section .house_cat_slide{
	width:calc(460px * 0.6);
	padding-inline: calc(40px * 0.6);

}

.project_tag_section .project_house_cat_item{
	position: relative;
	aspect-ratio: 1 / calc(665 / 377);
	cursor: pointer;
}

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

.project_tag_section .project_house_cat_name{
	position: absolute;
	bottom:12px;
	left:0;
	z-index: 1;
	width:100%;
	padding-inline: 16px;
	color: #FFF;
	font-family: var(--zen_old);
	font-size: 14px;
	font-weight: 700;
	text-align: left;
}


.project_list_section{
	padding-top:100px;
}

.project_list_section .project_list_head{
	width: fit-content;
	margin-inline: auto;
	font-size: 26px;
	font-weight: 700;
}

.project_list_section .project_list_area{
	margin-top: 40px;
	display: flex;
	justify-content: center;
}

.project_list_section .project_list_frame{
	flex-shrink: 0;
	width:92vw;
	max-width: 1160px;
}

.project_list_section .project_list{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap:32px 24px;
	position: relative;
}

.project_list_section .no_result{
	text-align: center;
	width: 100%;
	position: absolute;
	top:0;
	left:0;
}

.project_list_section .project_card{
	display: block;
}

.project_list_section .project_thumb{
	aspect-ratio: 1 / calc(248 / 370);
}

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

.project_list_section .project_title{
	margin-top: 10px;
	font-family: var(--zen_old);
	font-size: 13px;
} 
/*
------------------------------------
プロジェクト詳細ページ
------------------------------------
*/

.project_single_section{
	padding-top: var(--sec_space);
}

.project_single_section .project_main_img{
	aspect-ratio: 1 / calc(540 / 1000);
}

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

.project_single_section .project_title{
	margin-top: 16px;
	font-family: var(--zen_old);
	font-size: 20px;
	font-weight: 700;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.project_single_section .project_tag_list{
	margin-top: 48px;
	display: flex;
	/* flex-direction: column; */
	align-items: flex-start;
	flex-wrap: wrap;
	gap:8px;
}

.project_single_section .project_tag_list li{
	min-height: 24px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding:3px 8px;
	border-radius: 3px;
	border:1px solid var(--base_font_color);
	font-size: 14px;
	font-family: var(--zen_old);
}

.project_single_section .project_text{
	margin-top: 40px;
	font-family:var(--zen_old);
	font-size: 14px;
	line-height: 2.14;
}

.project_single_section .project_gal_list{
	margin-top: 40px;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap:22px;
}

.project_single_section .project_gal_item img{
	width:100%;
	height:100%;
	object-fit: cover;
	cursor: zoom-in;
}

.project_single_section .project_gal_item:nth-child(7n + 1),
.project_single_section .project_gal_item:nth-child(7n + 2),
.project_single_section .project_gal_item:nth-child(7n + 3)
{
	width:318px;
	height:478px;
}

.project_single_section .project_gal_item:nth-child(7n + 4){
	width:658px;
	height:478px;
}
.project_single_section .project_gal_item:nth-child(7n + 5){
	width:318px;
	height:478px;
}

.project_single_section .project_gal_item:nth-child(7n + 6){
	width:318px;
	height:478px;
}
.project_single_section .project_gal_item:nth-child(7n){
	width:658px;
	height:478px;
}

.project_single_section .link_flex{
	margin-top: 50px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.project_single_section .link_flex .link{
	width:146px;
}

.project_single_section .link_flex .link a{
	width: 146px;
    height: 20px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    border-bottom: 1px solid var(--base_font_color);
    cursor: pointer;
}


.project_single_section .link_flex .link a::before {
    content: '';
    width: 1px;
    height: 20px;
    background-color: var(--base_font_color);
    transform: rotateZ(-45deg);
    transform-origin: bottom right;
    flex-shrink: 0;
}

.project_single_section .link_flex .link.link_prev a{
	transform: rotateY(180deg);
}

.project_relation_section{
	padding-top: var(--sec_space);
}

.project_relation_section .sec_head{
	font-size: 14px;
	font-family: var(--zen_old);
	font-weight: 400;
}

.project_relation_section .relation_area{
	display: flex;
	justify-content: center;
	margin-top: 40px;
}

.project_relation_section .relation_frame{
	flex-shrink: 0;
	width:100vw;
	max-width: 1920px;
	overflow: hidden;
}

.project_relation_section .relation_swiper{
	width:100%;
	overflow: hidden;
}

.project_relation_section .relation_slide{
	width:304px;
	padding-inline: 12px;
}

.project_relation_section .relation_card{
	display: block;
}

.project_relation_section .relation_card .relation_thumb{
	aspect-ratio: 1 / calc(188 / 280);
}

.project_relation_section .relation_card .relation_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.c_img_modal{
	position: fixed;
	width:100%;
	background-color: rgba(0,0,0,0.6);
	z-index: 3000;
	top:0;
	left:0;
	transition-duration: 0.4s;
	opacity: 0;
	pointer-events: none;
}

.c_img_modal.show{
	opacity: 1;
	pointer-events: auto;
}

.c_img_modal .img_modal_inner{
	height:100vh;
	display: flex;
	justify-content: center;
	align-items: center;
}

.c_img_modal .img_modal_close{
	position: absolute;
	cursor: pointer;
	z-index: 3;
	top:20px;
	right:20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width:40px;
	height:40px;
}

.c_img_modal .img_modal_close::before,
.c_img_modal .img_modal_close::after{
	content:'';
	width:40px;
	height:3px;
	border-radius: 9999px;
	background-color: #fff;
}

.c_img_modal .img_modal_close::before{
	transform: rotateZ(45deg);
}
.c_img_modal .img_modal_close::after{
	transform: rotateZ(-45deg);
	margin-top: -3px;
}

.c_img_modal .img_modal_frame{
	position: relative;
	width:1000px;
	max-width: 92%;
	max-height: 80vh;
	
}

.c_img_modal .img_modal_frame img{
	width:100%;
	max-width:100%;
	max-height: 80vh;
	object-fit: contain;
}

/*
------------------------------------
フォーム完了画面
------------------------------------
*/

.complete_section{
	padding-top: var(--sec_space);
}

.complete_section .p01{
	font-size: 24px;
	text-align: center;
	font-weight: 700;
}

.complete_section .p02{
	width: fit-content;
	margin:24px auto 0;
	line-height: 2;
}

/*
------------------------------------
404
------------------------------------
*/

.page404_section{
	padding-top: var(--sec_space);
}

.page404_section .p01{
	font-size: 24px;
	text-align: center;
	font-weight: 700;
}

.page404_section .p02{
	width: fit-content;
	margin:24px auto 0;
	line-height: 2;
}

.page404_section .top_button{
	display: flex;
	justify-content: center;
	align-items: center;
	width: fit-content;
	min-height: 30px;
	padding:4px 24px;
	border-radius: 5px;
	background-color: var(--base_font_color);
	color:#fff;
	font-family: var(--zen_old);
	font-size: 18px;
	font-weight: 700;
	margin-inline: auto;
	margin-top: 40px;
}