@charset "utf-8";

/* first visual */
.wrap_fv_grid{
  width: 100%;
	position: relative;
}

.hd_logo_small{
    position: absolute;
		top:0;
		left: 0;
		width: 23%;
		max-width: 247px;
		z-index: 100;
		background: var(--color-cream);
}

.hd_logo_small img{
	padding:15%;
}

.fv_wrap {
	position: relative;
	top: 20px;
	width: 100%;
	padding: 5% 0 10%;
	max-width: 800px;
	margin: auto;
}

.fv_txt_calligraphy {
	position: absolute;
	top:-10px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
	width:44.5%;
	max-width: 530px;
}

.fv_txt_calligraphy img {
	width: 100%;
}

.picture_main {
	width: 86%;
	margin: auto;
}

.picture_right {
	position: absolute;
	top: 0;
	right: 0;
	width: 26%;
}

.picture_object {
	background-color: var(--color-beige);
	min-width: 50px;
	min-height: 50px;
	width: 14%;
	padding-top: 14%;
	position: absolute;
	left: 0;
	top:65%;
	z-index: -1;
}

.main {
	clear: both;
}

.section .sec_inner h2 {
	align-items: center;
	position: relative;
	bottom: 1em;
	margin-bottom: 0;
}

.sec_inner {
	width: 90%;
	margin: auto;
	max-width:750px;
}

@media (1024px < width) {
	.sec_inner {
		width: 75%;
		margin-right: 3%;
		margin-left: 22%;
		/*max-width:1000px;*/
	}
}
@media (1500px < width) {
	.sec_inner {
		width: 90%;
		margin: auto;	
		/*max-width: 1200px;*/
		max-width: 900px;
	}
}

.category_wrapper .intro_h2 {
	align-items: center;
	padding: 45px 0;
	margin: 45px 0 0;
	font-size: clamp(1.13rem, -0.182rem + 3.41vw, 2.375rem);
	background: linear-gradient(90deg, #F4F3F0 0%, #F4F3F0 68%, #fff 68%, #fff 100%);
	letter-spacing: 0.1em;
	position: relative;
	z-index: 1;
}


/* category */

.category_list {
	margin: auto;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 13px;
	text-align: center;
}

.category_list li a {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 0.4em;
	border: 1px solid var(--color-base);
	height: 45px;
	line-height: 1.2;
	background: #fff;
	font-weight: 600;
	font-size: 13px;
}

.category_list li a.current {
	background: var(--color-orange);
	color: #fff;
}


/* nav */

.nav {
	position: fixed;
	width: 100%;
	z-index: 999;
	bottom: 0;
	padding: 0 50px;
	background-color: #F4B165;
	border-radius: 30px 30px 0 0;
	opacity: 0;
	transition: transform var(--animation-hover);
	transform: translate(0, 100%);
}

.nav.js_show {
	transform: translate(0, 0);
}

.nav_pc {
	display: none;
}

.gnav_lists {
	display: grid;
	grid-template-columns: repeat(4, auto);
	justify-content: space-between;
}

.gnav_lists li {
	text-align: center;
	height: var(--height-nav);
	display: flex;
	align-items: center;
	padding: 10px 0;
}

.gnav_lists a {
	font-size: clamp(0.875rem, -0.125rem + 4vw, 1.75rem);
	line-height: 1;
}

.gnav_lists a::before {
	content: "";
	display: block;
	width: 45px;
	height: 45px;
	background-repeat: no-repeat;
	background-size: contain;
	margin: 0 auto;
}

.gnav_lists li:first-of-type a::before {
	background-image: url("../images/teaser/ic_nav_news.svg");
}

.gnav_lists li:nth-of-type(2) a::before {
	background-image: url("../images/teaser/ic_nav_shop.svg");
}

.gnav_lists li:nth-of-type(3) a::before {
	background-image: url("../images/teaser/ic_nav_access.svg");
}

.gnav_lists .nav_recruit a::before {
	background-image: url("../images/teaser/ic_nav_recruit.svg");
}

@media (600px>=width) {
	.section .sec_inner .h2_en {
		font-size: 22px;
		margin-top: 1em;
		margin-bottom: 0;;
	}
	.news_date {
		position: absolute;
		right: 0;
		bottom: -30px;
	}
}

@media (600px <=width) {
	.nav {
		border-radius: 60px 60px 0 0;
	}
	.gnav_lists li {
		height: 20vh;
		max-height: var(--height-nav);
	}
	.gnav_lists a::before {
		width: 80px;
		height: 80px;
	}
	.br_sp {
		display: none;
	}
}

.img_pc{
	display: none;
}
@media (1024px < width) {
	.img_pc{
		display: block;
	}
	.img_sp{
		display:none;
	}
}

@media (1024px < width) {
	.nav {
		max-width: 750px;
		/*padding: 0 min(2.343vw, 45px);*/
		padding: 0 min(3.125vw, 60px);
		background-color: rgba(255, 255, 255, 77%);
		box-shadow: 0 -3px 10px rgba(0, 0, 0, 10%);
		-webkit-backdrop-filter: blur(12px);
		backdrop-filter: blur(12px);
		border-radius: 45px 45px 0 0;
		opacity: 0;
		left: 50%;
		transform: translate(-50%, 100%);
	}
	.nav.js_show {
		transform: translate(-50%, 0);
	}
	.gnav_lists a {
		font-size: clamp(1.5rem, 0.045rem + 2.27vw, 1.75rem);
		transition: color var(--animation-hover);
	}
	.gnav_lists a::before {
		display: none;
	}
	.gnav_lists li:not([class~="nav_recruit"]) span {
		border-bottom: 2px solid var(--color-base);
	}
	.gnav_lists a:hover {
		color: var(--color-orange);
	}
	.gnav_lists li:not([class~="nav_recruit"]) a:hover span {
		border-bottom: 2px solid var(--color-orange);
	}
	.nav_recruit {
		position: relative;
	}
	.nav_recruit a {
		border: 1px solid var(--color-base);
		padding: 10px 45px 10px 16px;
		color: #fff;
		background-color: var(--color-orange);
		transition: background-color var(--animation-hover), color var(--animation-hover);
	}
	.nav_recruit a::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 16px;
		transform: translateY(-50%);
		width: 16px;
		height: 14px;
		clip-path: polygon(0 0, 90% 50%, 0 100%, 0 80%, 55% 50%, 0 20%);
		background-color: #fff;
		transition: background-color var(--animation-hover);
	}
	.gnav_lists a::before {
		display: none;
	}
	.gnav_lists .nav_recruit a:hover {
		background-color: var(--color-base);
		color: var(--color-orange);
	}
	.gnav_lists .nav_recruit a:hover::after {
		background-color: var(--color-orange);
	}
	.nav_pc {
		display: block;
		position: absolute;
		top: var(--height-logo);
		left: calc((var(--width-logo) - var(--width-logo-img)) / 2);
		z-index: 999;
	}
	.nav_pc .gnav_lists {
		display: block;
	}
	.nav_pc .gnav_lists li {
		width: auto;
		height: auto;
		max-height: none;
		text-align: left;
	}
	.nav_pc .gnav_lists li:not(:last-of-type) {
		margin-bottom: 40px;
	}
	.nav_pc .gnav_lists a {
		font-size: 1.75rem;
		line-height: inherit;
	}
}

@media (1920px < width) {
	.nav_pc .gnav_lists a {
		font-size: clamp(1.75rem, 0.247rem + 1.25vw, 2.25rem);
	}
}

.intro_line {
	position: relative;
}

.intro_line::before,
.intro_line::after {
	position: absolute;
	content: "";
	top: 54%;
	transform: translate(0, -50%);
	width: min(13.333vw, 100px);
	height: 1px;
	background-color: var(--color-base);
}

.intro_line::before {
	left: calc((min(13.333vw, 100px) + 10px) * -1);
}

.intro_line::after {
	right: calc((min(13.333vw, 100px) + 10px) * -1);
}

.categoryshop_list {
	width: 90%;
	max-width: 1096px;
	margin: auto;
	min-height: 400px;
	padding: 80px 0;
}

.categoryshop_list li {
	padding-bottom: 50px;
	word-break: break-all;
}

.ttl_line {
	position: relative;
	border-bottom: 1px solid #000;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: linear-gradient(90deg, #F38200 0%, #F38200 10px, #fff 10px, #fff 100%);
	margin-bottom: 40px;
}

.ttl_line h3 {
	padding-left: 15px;
	font-size: 18px;
	font-weight: 600;
	padding-bottom: 5px;
}

.categoryshop_inner {
	width: 94%;
	margin: auto;
}

.shopdata_wrap {
	width: 94%;
	margin: auto;
}

.category_left {
	width: 90%;
	margin: 0 auto 30px;
}

.category_right {
	width: 100%;
}

.shoplogo_wrap {
	position: relative;
	overflow: hidden;
	width: 100%;
	padding-top: 75%;
	border: 1px solid var(--color-base);
}

.shoplogo_wrap>img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	/*padding: 15%;*/
	object-fit: contain;
}

.shop_copy {
	font-size: 16px;
	font-weight: 500;
	margin-bottom: 20px;
}

.shopdata_list {
	font-size: 14px;
}

.shopdata_list div {
	border-bottom: 1px solid #ddd;
	grid-template-columns: 100px auto;
	line-height: 1.5;
	padding: 1em 0;
	gap: 20px;
}

.shopdata_list div:first-child {
	border-top: 1px solid #ddd;
}

.shopdata_list div:last-child {
	border: none;
}

.shopdata_list dt {
	text-align: center;
	font-weight: 600;
	margin-bottom:1.5em;
}

.shopdata_list a{
	display: inline;
}

.shopdata_list a:not([href*="tel:"]){
	text-decoration: underline;
	transition: opacity .4s cubic-bezier(.25, .46, .45, .94);
}

.shopdata_list a:hover{
	opacity: 70%;
}

.mail {
	text-decoration: underline;
    transition: color var(--animation-hover);
	}

	.mail:hover{
		color: var(--color-orange);
	}

@media (1024px < width) {
	.wrap_fv_grid{
		margin-bottom: 50px;
	}
	.wrap_fv_grid::after{
		content: "";
		display: block;
		clear: both;
	}
	.hd_logo_small{
    position:inherit;
		float: left;
		top:0;
		left: 0;
		width: 23%;
		max-width: 247px;
		z-index: 100;
		background: var(--color-cream);
}
	
.fv_wrap {
	top: 40px;
	padding-top:28%;
	width: 77%;
	max-width: 1470px;
	float:left;
}
.fv_txt_calligraphy {
	top: 0;
	left: 1.8%;
	transform:translateX(0);
}	

	.picture_main {
		margin: 0;
		position: absolute;
		max-width: 1150px;
		top:75px;
		left: 6%;
	}
	.picture_right {
		position: absolute;
		top: 0;
		right: 0;
		max-width: 372px;
	}

@media (1920px <= width) {
	.wrap_fv_grid{
		margin-bottom:20px;
	}
.fv_wrap {
	padding-top: 0;
	height: 590px;
	margin-left:3.4%;
	margin-top: 10px;
	}
}
	.category_wrapper {
		position: relative;
		overflow: hidden;
	}
	.category_wrapper .intro_h2 {
		grid-row: auto / auto;
		align-items: center;
		padding: 70px 0;
		margin: 0;
		font-size: 28px;
		background: linear-gradient(90deg, #F4F3F0 0%, #F4F3F0 68%, #fff 68%, #fff 100%);
		letter-spacing: 0.1em;
	}
	.intro_line::before,
	.intro_line::after {
		width: min(5.208vw, 100px);
	}
	.intro_line::before {
		left: calc((min(5.208vw, 100px) + 15px) * -1);
	}
	.intro_line::after {
		right: calc((min(5.208vw, 100px) + 10px) * -1);
	}

	/* category */

	.category_list {
		display: grid;
		/*grid-template-columns: repeat(4, 1fr);*/
		grid-template-columns: repeat(3, 1fr);
		gap: 20px;
		margin-bottom: 80px;
	}
	
@media (1500px <= width) {
	.category_list {
		/*grid-template-columns: repeat(6, 1fr);*/
		grid-template-columns: repeat(3, 1fr);
	}
}
	.category_list li a {
		height: 55px;
		font-size: 16px;
	}
	
	.categoryshop_list {
		padding: 150px 0 0;
		min-height: 600px;
	}
	
	.categoryshop_list li {
		padding-bottom: 150px;
	}

	.ttl_line {
		position: relative;
		border-bottom: 1px solid #000;
		display: flex;
		justify-content: space-between;
		align-items: center;
		background: linear-gradient(90deg, #F38200 0%, #F38200 19px, #fff 19px, #fff 100%);
		margin-bottom: 40px;
	}
	.ttl_line h3 {
		padding-left: 30px;
		font-size: 28px;
		font-weight: 600;
		padding-bottom: 5px;
	}
	.categoryshop_inner {
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.category_left {
		width: 28%;
	}
	.category_right {
		width: 72%;
		padding-left: 4%;
	}
	
	.shop_copy {
		font-size: 22px;
		margin-bottom: 40px;
	}
	.shopdata_list {
		font-size: 16px;
	}
	.shopdata_list div {
		border-bottom: 1px solid #ddd;
		display: grid;
		grid-template-columns: 100px auto;
		line-height: 2.4;
		gap: 22px;
	}
	.shopdata_list div:first-child {
		border-top: none;
	}
	.shopdata_list div:last-child {
		border: none;
	}
	.shopdata_list dt {
		text-align: center;
		margin-bottom: 0;
	}
	
}

@media (1920px < width) {
	.intro_h2 {
		font-size: clamp(2.375rem, -1.035rem + 2.83vw, 3.5rem);
	}
}

.news_date {
	display: flex;
	align-items: center;
}

.ic_new {
	color: #fff;
	background-color: var(--color-orange);
	padding: 0 10px 0 5px;
	text-align: center;
	-webkit-clip-path: polygon(0% 0%, 85% 0%, 100% 50%, 85% 100%, 0% 100%);
	clip-path: polygon(0% 0%, 85% 0%, 100% 50%, 85% 100%, 0% 100%);
	margin-right: 14px;
}

.news_txt_date {
	font-size: clamp(1rem, 0.571rem + 1.71vw, 1.375rem);
	letter-spacing: .1em;
}

.category_list li a:hover {
	color: #fff;
	background: var(--color-orange);
}

@media (1024px < width) {
	.ic_new {
		font-size: clamp(1rem, -0.455rem + 2.27vw, 1.25rem);
	}
	.news_txt_date {
		font-size: clamp(1.188rem, 0.824rem + 0.57vw, 1.25rem);
	}
}

.btn_shoplist {
	margin: 80px auto 0;
}


.main_bg_object {
	position: relative;
}

/* 背景装飾フォント */

.obj_font {
	display: none;
}

@media (1147px < width) {
	.obj_font{
			display: block;
			position: absolute;
			width: min(6.354vw, 122px);
	}

	.obj_font_r{
			top:30px;
			right: 0;
			z-index: 2;
	}

	.obj_font_l{
			left: 0;
			bottom:0;
	} 
}


@media (1024px < width) {
	.sec_access {
		padding: min(7.968vw, 153px) var(--space-side) min(9.635vw, 185px);
	}
	.sec_access::before {
		display: none;
	}
	.access_grid {
		flex-direction: row-reverse;
		padding: 0 0 0 var(--space-inner-side);
	}
	.cnt_access {
		margin: 0 0 0 min(5.208vw, 100px);
	}
	.txt_address {
		font-size: 1.125rem;
		font-weight: var(--font-medium);
		margin-bottom: min(1.822vw, 35px);
	}
	.cnt_address address {
		font-size: 0.938rem;
	}
	.cnt_map {
		position: relative;
	}
	.iframe_map {
		height: 557px;
		margin: 0;
	}
	.btn_access {
		position: absolute;
		bottom: calc(var(--height-btn-common) / 2 * -1);
		right: min(-8.958vw, -172px);
		margin: 0;
	}
}

@media (1920px < width) {
	.txt_address {
		font-size: clamp(1.125rem, -0.002rem + 0.94vw, 1.5rem);
	}
	.cnt_address address {
		font-size: clamp(0.938rem, -0.378rem + 1.1vw, 1.375rem);
	}
}


/* footer */

.bg_footer {
	position: relative;
	background: #F4F4F4;
}

.sec_grplinks {
	padding: min(11.914vw, 122px) var(--space-side) calc(var(--size-btn-top) + 20px);
}

.grplink_lists {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px 20px;
	justify-content: space-between;
	margin: 0 0 45px;
}

.grplink_lists li {
	border: 1px solid var(--color-base);
}

.grplink_lists a {
	transition: opacity var(--animation-hover);
}

.grplink_lists a:hover {
	opacity: 70%;
}

.btn_scrolltop {
	width: var(--size-btn-top);
	height: var(--size-btn-top);
	position: absolute;
	bottom: 20px;
	right: 20px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background-color: var(--color-aqua);
	border-radius: 16px;
	padding-top: 10px;
	cursor: pointer;
	transition: background-color var(--animation-hover);
}

.btn_scrolltop:hover {
	background-color: var(--color-orange);
}

.ic_arrow {
	width: 12px;
	height: 25px;
	border-left: 2px solid #fff;
	border-top: 2px solid #fff;
	transform: skewY(-135deg);
	margin-left: 5px;
}

.btn_txt_top {
	font-size: clamp(1.125rem, 0.911rem + 0.86vw, 1.313rem);
	color: #fff;
	text-align: center;
	line-height: 1;
}

.sec_copy {
	background-color: #9B7F62;
	padding: 45px 0 calc(var(--height-nav) + 30px);
	text-align: center;
}

.sec_copy img {
	width: 60%;
	margin: 0 auto 26px;
}

.sec_copy small {
	font-family: "Outfit", sans-serif;
	font-size: clamp(0.625rem, 0.545rem + 0.26vw, 0.813rem);
	font-weight: var(--font-light);
	letter-spacing: .08em;
	color: #fff;
}

@media (600px <=width) {
	.grplink_lists {
		grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
		gap: 40px 40px;
	}
	.btn_scrolltop {
		border-radius: 24px;
	}
	.sec_copy img {
		width: 30%;
		max-width: 282px;
	}
}

@media (1024px < width) {
	.sec_grplinks {
		padding: min(5.208vw, 100px) var(--space-side) calc(var(--size-btn-top) + 30px);
	}
	.grplink_lists {
		margin: 0;
	}
	.btn_txt_top {
		font-size: clamp(1.25rem, 0.886rem + 0.57vw, 1.313rem);
	}
}

@media (1200px <=width) {
	.sec_grplinks {
		padding: min(5.208vw, 100px) var(--space-side);
	}
}

@media (1920px < width) {
	.sec_copy {
		padding: 45px 0;
	}
	.sec_copy small {
		font-size: 1rem;
	}
}

