/* CSS Document */
/*キャッチコピー*/
#wccatchcopy{
  width: 0;
  height: 0;
  opacity: 0;
  overflow: hidden;
  border-bottom: 0 !important;
}
#wccatchcopy div.wcinner > * {
  padding: 0 !important;
  white-space: inherit !important;
  line-height: 0 !important;
  font-size: 0 !important;
  height: 0  !important;
}
/*透明*/
.opa{
	display: block;
	width: 0;
	height: 0;
	opacity: 0;
	overflow: hidden;
}
/*画像*/
figure{
}
figure picture{
	width: 100%;
	height: 100%;
	display: block;
}
figure img{
	width: 100%;
	height: auto;
	object-fit: cover;
}
/*main*/
main{
	margin-top: calc(var(--headerHeight) * -1);
}
/*コンテンツタイトル*/
.contents_title{
	font-size: 1.45rem;
  font-weight: 500;
  margin-bottom: 1.15rem;
	transition: opacity 600ms ease-out,filter 600ms ease-out;
	filter: blur(10px);
	opacity: 0;
}
.contents_title.white{
	color: #fff;
}
.contents_title.wcvisible{
	opacity: 1;
	filter: blur(0);
}
.contents_title::before{
	content: "Concept";
	font-size: 1.45rem;
	letter-spacing: 1px;
	font-weight: 600;
	display: table;
	line-height: 1em;
	font-family: "Quicksand";
}
.contents_title.white::before{
	color: #fff;
}
.contents_title.two_lines::before{
	margin-bottom: 0.75rem;
}
/*ボタン*/
.btn{
	width: fit-content;
}
.btn a{
	display: flex;
  border: solid 1px var(--accentColor);
  background-color: #fff;
  font-weight: 500;
  border-radius: 2rem;
  padding: 0.35rem 0.35rem 0.35rem 1rem;
  text-decoration: none;
  font-size: 1.2rem;
  color: var(--accentColor);
  align-items: center;
  box-sizing: border-box;
}
.btn a::after{
	content: "";
	width: 2rem;
	height: 2rem;
	background-color: var(--accentColor);
  -webkit-mask-image: var(--wciconsrc);
  mask-image: var(--wciconsrc);
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
	flex: none;
  margin-left: auto;
}
/*ボタンブロック*/
.btn_block{
	display: flex;
	width: fit-content;
}
body[wc-view-code="sp"] .btn_block{
	flex-direction: column;
	gap:0.75rem;
}
body:not([wc-view-code="sp"]) .btn_block{
	gap:1.25rem;
	align-items: center;
}
.btn_block .btn{
	width: 100%;
}
.btn_block .btn a{
	width: 100%;
	white-space: nowrap;
}
/*お問い合わせ共通*/
.contact{
	position: relative;
	z-index: 3;
	box-sizing: border-box;
	display: flex;
	overflow: hidden;
}
body[wc-view-code="sp"] .contact{
	padding: var(--headerHeight) 7vw;
	flex-direction: column;
}
body[wc-view-code="tb"] .contact{
	padding: var(--headerHeight) 5vw;
}
body[wc-view-code="pc"] .contact{
	padding: calc(var(--headerHeight) + 2rem) calc((100vw - 1100px) / 2);
}
.contact .contents_title::before{
	content: "Contact";
}
.contact .c_text *{
	color: #fff;
}

.contact .c_text{
	box-sizing: border-box;
}
body[wc-view-code="tb"] .contact .c_text{
	padding-right: 2rem;
}
body[wc-view-type="tb-l"] .contact .c_text{
	width: 50%;
}
body[wc-view-code="pc"] .contact .c_text{
	width: 40%;
	padding-right: 2.5rem;
}
.contact .c_text > p{
	line-height: 1.8rem;
}
.contact .c_text .b_time_block{
	display: flex;
	align-items: center;
	gap:1rem; 
	margin-top: 0.75rem;
}
.contact .c_text .b_time_block .business_time{
	display: flex;
	align-items: center;
} 
.contact .c_text .b_time_block .business_time > dt{
}
.contact .c_text .b_time_block .business_time > dt span{
	border: solid 1px #fff;
	display: table;
	box-sizing: border-box;
	color: #fff;
	font-size: 0.85rem;
	padding: 0 0.35rem;
	border-radius: 1rem;
}
.contact .c_text .b_time_block .business_time > dd{
	padding-left: 0.35rem;
	box-sizing: border-box;
}
.contact .c_btn_area{
	box-sizing: border-box;
}
body[wc-view-code="sp"] .contact .c_btn_area{
	margin-top: 1rem;
}
body[wc-view-type="tb-l"] .contact .c_btn_area{
	width: 50%;
}
body[wc-view-code="pc"] .contact .c_btn_area{
	width: 60%;
}
.contact .c_btn_area .c_btn_block{
	display: flex;
	width: fit-content;
	gap:1rem;
}
body[wc-view-code="sp"] .contact .c_btn_area .c_btn_block,
body[wc-view-code="tb"] .contact .c_btn_area .c_btn_block{
	flex-direction: column;
}
body[wc-view-code="sp"] .contact .c_btn_area .c_btn_block{
	gap:0.5rem;
}
body[wc-view-code="tb"] .contact .c_btn_area .c_btn_block{
	gap:0.75rem;margin-top: 4.85rem;
}
body[wc-view-type="tb-l"] .contact .c_btn_area .c_btn_block{
	margin-left: auto;
}
body[wc-view-code="pc"] .contact .c_btn_area .c_btn_block{
	margin-top: 4.85rem;
}
.contact .c_btn_area .c_btn_block .btn{
	width: 100% !important;
}
body:not([wc-view-code="sp"]) .contact .c_btn_area .c_btn_block .btn{
	min-width: 310px;
}
.contact .c_btn_area .c_btn_block .btn a{
  padding: 0.75rem 0.75rem 0.75rem 1.35rem;
  font-size: 1.5rem;
	white-space: nowrap;
}
body[wc-view-code="sp"] .contact .c_btn_area .c_btn_block .btn a{
	font-size: 1.4rem;
}
.contact .c_btn_area .c_btn_block .btn.tel a{
	font-family: "Quicksand";
	font-size: 1.85rem;
}
body[wc-view-code="sp"] .contact .c_btn_area .c_btn_block .btn.tel a{
	font-size: 1.5rem;
}
.contact .contact_back{
	position: absolute;
	z-index: -1;
	display: flex;
	inset:0;
}
.contact .contact_back::before{
	content: "";
	position: absolute;
	inset:0;
	background-color: rgba(79,62,57,0.55);
}
body[wc-view-code="sp"] .contact .contact_back,
body[wc-view-type="tb"] .contact .contact_back{
	flex-wrap:wrap;
}
.contact .contact_back figure{
}
body[wc-view-code="sp"] .contact .contact_back figure,
body[wc-view-type="tb"] .contact .contact_back figure{
	width: 50%;
	height: 50%;
}
body[wc-view-code="pc"] .contact .contact_back figure{
	width: calc(100% / 4);
}
.contact .contact_back figure img{
	height: 100%;
}
/*ページタイトル*/
.page_title{
	box-sizing: border-box;
	position: relative;
	z-index: 3;
	display: flex;
	align-items: center;
}
body[wc-view-code="sp"] .page_title{
	padding: var(--headerHeight) 7vw 0 7vw;
  height: 205px;
}
body[wc-view-code="tb"] .page_title{
	padding: var(--headerHeight) 5vw 0 5vw;
  height: 275px;
}
body[wc-view-code="pc"] .page_title{
	padding: var(--headerHeight) calc((100vw - 1100px) / 2) 0 calc((100vw - 1100px) / 2);
  height: 315px;
}
.page_title .contents_title{
	position: relative;
	z-index: 4;
}
.page_title > figure{
	position: absolute;
	z-index: 1;
	inset:0;
}
.page_title > figure::before{
	content: "";
	position: absolute;
	inset:0;
	background-color: rgba(79,62,57,0.55);
	z-index: 2;
}
body[wc-view-code="sp"] .page_title > figure::before{
	border-radius: 0 0 2.5rem 2.5rem;
}
body[wc-view-code="tb"] .page_title > figure::before{
	border-radius: 0 0 4rem 4rem;
}
body[wc-view-code="pc"] .page_title > figure::before{
	border-radius: 0 0 6rem 6rem;
}
.page_title > figure img{
}
body[wc-view-code="sp"] .page_title > figure img{
  height: 205px;
	border-radius: 0 0 2.5rem 2.5rem;
}
body[wc-view-code="tb"] .page_title > figure img{
  height: 275px;
	border-radius: 0 0 4rem 4rem;
}
body[wc-view-code="pc"] .page_title > figure img{
  height: 315px;
	border-radius: 0 0 6rem 6rem;
}
.page_title .page_position{
	position: absolute;
	z-index: 4;
	bottom: 0.6rem;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
body[wc-view-code="sp"] .page_title .page_position{
	width: 86vw;
}
body[wc-view-code="tb"] .page_title .page_position{
	width: 90vw;
}
body[wc-view-code="pc"] .page_title .page_position{
	width: 1100px;
}
.page_title .page_position .return,
.page_title .page_position .current_location{
	font-weight: 500;
}
.page_title .page_position .return{
	width: fit-content;
  text-decoration: none;
  color: #fff;
  display: table;
  padding-left: 1rem;
  position: relative;
  z-index: 1;
}
.page_title .page_position .return::before{
	content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  webkit-mask-image: var(--wciconsrc);
  mask-image: var(--wciconsrc);
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
  background-color: #fff;
  width: 1.75rem;
  height: 1.75rem;
  left: -0.4rem;
}
.page_title .page_position .current_location{
	color: #fff;
}
/*ドロワーメニュー*/
.wcdrawermenu div.header div.drawerclosebtn[wc-icon] span::before{
	mask-size:cover;
}
/*footer　共通*/
footer .namedataarea[flex-flow]{
  justify-content: flex-start !important;
}
footer .namedataarea{
}
footer div.footer .footeritem.logolineitem {
  width: fit-content !important;
  margin: 0 !important;
}
footer .namedataarea{
  width: auto !important;
}
body[wc-view-code="pc"] footer div.footer .footeritem.logolineitem{
  margin-left: 1.5rem !important;
}
footer .footerflex {
  flex-direction: column !important;
  align-items: baseline !important;
}
body[wc-view-code="tb"] footer div.footer,
body[wc-view-code="pc"] footer div.footer{
  justify-content: flex-start !important;
}
body[wc-view-code="tb"] footer .footerflex > :not(.topauto),
body[wc-view-code="pc"] footer .footerflex > :not(.topauto){
  margin-top: 0 !important;
}

.footersnsarea > div{
  background-color: transparent !important;
}
.footersnsarea > div[svg-color="true"] a {
  background-color: #fff8eb !important;
}