@charset "UTF-8";
/* common.css */

header *,
footer *,
main *,
header *:before,
footer *:before,
main *:before,
header *:after,
footer *:after,
main *:after,
#sp_fixed    {
	font-family: shippori-mincho-b1, "Shippori Mincho", serif;
	font-weight: 400;
	letter-spacing: .12em;
	box-sizing: border-box;
	border-collapse: collapse;
}
#sp_fixed {
	display: none;
}

/* ページリンク */
.page_link {
	margin-top: -80px;
	padding-top: 80px;
}
@media screen and (max-width:900px) {
	.page_link {
		margin-top: -70px;
		padding-top: 70px;
	}
}



/* ===== Wrap ===== */
.wrap {
	width: 100%;
	margin: auto;
	padding: 0 60px;
	padding-left:  clamp(40px,6vw,60px);
	padding-right: clamp(40px,6vw,60px);
}
.wrap {
	max-width: 1120px;
}
.flex_box {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
}


/* ===== color ===== */
.color_gray { color:#3d3d3d !important; }

.bg_white { background-color:#ffffff !important; }
.bg_beige { background-color:#f5f2ee !important; }


/* ===== Font Family ===== */
.ff_notos { font-family:'Noto Sans JP', sans-serif !important; }


/* ===== text ===== */
html,
h1,
h2,
h3,
h4,
a { color:inherit; }

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 500;
	line-height: 1.5;
}
ul,
li,
dl,
dd,
dt,
a,
p {
	font-size: 16px;
	font-size: clamp(14px,1.6vw,16px);
	line-height:   1.7em;
	letter-spacing: .1em;
}
p       { text-align:justify;   }
span    { letter-spacing:.1em;  }
a       { text-decoration:none; }
a:hover { color:inherit; text-decoration:none; }

.fw_normal { font-weight:normal !important; }
.fw_500    { font-weight:500 !important;    }
.fw_bold   { font-weight:bold !important;   }

.align_left    { text-align:left !important;    }
.align_right   { text-align:right !important;   }
.align_center  { text-align:center !important;  }
.align_justify { text-align:justify !important; }

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

.small { font-size:.75em; }

span.small { font-size:12px; }
.copyright { font-size:12px; text-align:center; }


/* ===== 表示・非表示 ===== */
.pc_blk { display:block !important; }
.sp_blk { display:none !important;  }

.pc_inline { display:inline !important; }
.sp_inline { display:none !important;   }

.flex_box.pc_blk { display:flex !important; }
.flex_box.sp_blk { display:none !important; }


/* ===== 余白 ===== */
/* 
.marXXL_T { margin-top:120px !important; }
.marXL_T  { margin-top:100px !important; }
.marL_T   { margin-top: 80px !important; }
.marM_T   { margin-top: 60px !important; }
.marS_T   { margin-top: 40px !important; }
.marXS_T  { margin-top: 30px !important; }
.marXXS_T { margin-top: 20px !important; }

.marXXL_B { margin-bottom:120px !important; }
.marXL_B  { margin-bottom:100px !important; }
.marL_B   { margin-bottom: 80px !important; }
.marM_B   { margin-bottom: 60px !important; }
.marS_B   { margin-bottom: 40px !important; }
.marXS_B  { margin-bottom: 30px !important; }
.marXXS_B { margin-bottom: 20px !important; }

.padXXL_T { padding-top:120px !important; }
.padXL_T  { padding-top:100px !important; }
.padL_T   { padding-top: 80px !important; }
.padM_T   { padding-top: 60px !important; }
.padS_T   { padding-top: 40px !important; }
.padXS_T  { padding-top: 30px !important; }
.padXXS_T { padding-top: 20px !important; }

.padXXL_B { padding-bottom:120px !important; }
.padXL_B  { padding-bottom:100px !important; }
.padL_B   { padding-bottom: 80px !important; }
.padM_B   { padding-bottom: 60px !important; }
.padS_B   { padding-bottom: 40px !important; }
.padXS_B  { padding-bottom: 30px !important; }
.padXXS_B { padding-bottom: 20px !important; } */

.marXXL_T { margin-top:min(12vw,120px) !important; }
.marXL_T  { margin-top:min(10vw,100px) !important; }
.marL_T   { margin-top:min(8vw,80px) !important;   }
.marM_T   { margin-top:min(6vw,60px) !important;   }
.marS_T   { margin-top:min(4vw,40px) !important;   }
.marXS_T  { margin-top:min(3vw,30px) !important;   }
.marXXS_T { margin-top:min(2vw,20px) !important;   }

.marXXL_B { margin-bottom:min(12vw,120px) !important; }
.marXL_B  { margin-bottom:min(10vw,100px) !important; }
.marL_B   { margin-bottom:min(8vw,80px) !important;   }
.marM_B   { margin-bottom:min(6vw,60px) !important;   }
.marS_B   { margin-bottom:min(4vw,40px) !important;   }
.marXS_B  { margin-bottom:min(3vw,30px) !important;   }
.marXXS_B { margin-bottom:min(2vw,20px) !important;   }

.padXXL_T { padding-top:min(12vw,120px) !important; }
.padXL_T  { padding-top:min(10vw,100px) !important; }
.padL_T   { padding-top:min(8vw,80px) !important;   }
.padM_T   { padding-top:min(6vw,60px) !important;   }
.padS_T   { padding-top:min(4vw,40px) !important;   }
.padXS_T  { padding-top:min(3vw,30px) !important;   }
.padXXS_T { padding-top:min(2vw,20px) !important;   }

.padXXL_B { padding-bottom:min(12vw,120px) !important; }
.padXL_B  { padding-bottom:min(10vw,100px) !important; }
.padL_B   { padding-bottom:min(8vw,80px) !important;   }
.padM_B   { padding-bottom:min(6vw,60px) !important;   }
.padS_B   { padding-bottom:min(4vw,40px) !important;   }
.padXS_B  { padding-bottom:min(3vw,30px) !important;   }
.padXXS_B { padding-bottom:min(2vw,20px) !important;   }

.pad0_T { padding-top:    0 !important; }
.pad0_B { padding-bottom: 0 !important; }




/* ===== 画像 ===== */
img { width:100%; height:auto; }


/* ===== Header menu ===== */
header {
	width: 100%;
	height: 80px;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	position: fixed;
	top: 0;
	padding: 10px 50px 10px 30px;
	padding-left:  clamp(20px,2vw,20px);
	padding-right: clamp(20px,3vw,50px);
	box-shadow: 0px 2px 2px -2px rgb(127 101 67 / 20%);
	background-color: #f5f2ee;
	z-index: 1000;
}
.header_logo,
.header_logo > a img {
	height: 5vw !important;
	max-height: 60px;
	min-height: 45px;
}
.header_logo {
	width: fit-content;
	margin-right: 20px;
}
.header_logo > a {
	width: fit-content;
	height: auto;
	display: block;
	opacity: 1;
	transition: opacity .5s;
}
.header_logo > a img {
	width: 16vw;
	max-width: 190px;
	min-width: 145px;
	height: 100%;
	object-fit: contain;
	object-position: left;
}

/* --- ▼ 動き --- */
.header_logo > a:hover {
	opacity: .7;
}
/* --- ▲ 動き 上まで --- */

#g-nav ul {
	display: flex;
	flex-wrap: nowrap;
}
#g-nav li {
	font-size: 18px;
	font-size: min(1.7vw,18px);
}
#g-nav .header_nav li:not(:first-of-type) {
	margin-left: 30px;
	margin-left: clamp(20px,2.5vw,30px);
}
/* pc メニュー項目 */
#g-nav a {
	width: 100%;
	font-size: 1em;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0;
	text-align: center;
	display: inline-block;
}
#g-nav a small {
	font-size: 12px;
	font-size: min(1.1vw,12px);
	font-weight: bold;
	display: inline-block;
	padding-top: .5em;

}
/* header animation */
#g-nav a {
	display: flex;
	position: relative;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

#g-nav .header_nav a:after {
	content: "";
	width:  5.5em;
	height: 5.5em;
	min-width: 5.5em;
	display: block;
	position: absolute;
	background-image: url(../../img/common/header_active.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	opacity: 0;
	transform: scale(0);
	transition: opacity   1.5s cubic-bezier(.4,.4,0,1),
				transform 1s cubic-bezier(.4,.4,0,1);
}
#g-nav .header_nav a:hover:after {
	opacity: 1;
	transform: scale(1.1);
}

/* ----- header sns ----- */
#g-nav-list {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-end;
}
.header_sns {
	width: fit-content;
	align-items: center;
	justify-content: flex-end;
	margin-left: 30px;
	margin-left: clamp(30px,3vw,40px);
}
.header_sns a,
.header_sns a img {
	width:  25px;
	height: 28px;
	min-width:  25px;
	min-height: 28px;
}
.header_sns li + li {
	margin-left: 12px;
	margin-left: clamp(14px,1.2vw,20px);
}
/* アメブロ右（insta左）の余白だけ小さく */
#g-nav .hmenu_insta_btn {
	margin-left: 8px;
	margin-left: clamp(12px,0.8vw,16px);
}
.hsns_pc a {
	opacity: 1;
	transition: opacity .5s;
}
.hsns_pc a:hover {
	opacity: .7;
}

/* --- ▼ SNS 背景画像をSVGに変換 --- */
/* instagram */
.svg_sns .st0 {
	fill: #3d3d3d;
	transition: fill .5s;
}





/* --- ▲ SNS 背景画像をSVGに変換 --- */


/* ----- SPメニューボタン非表示 ----- */
.openbtn1,
.spmenu_sns,
.hsns_sp {
	display: none !important;
}
.hsns_pc {
	display: flex !important;
} 


/* ===== ボタン装飾 ===== */
/* btn_deco */
.yoyaku_deco {
	width:  1.25em;
	height: 1.25em;
	min-width:  1.25em;
	min-height: 1.25em;
	margin-left: .35em;
}
.yoyaku_deco .st0 {
	fill: none;
	fill: #fff;
	stroke: #fff;
	stroke-width: 1.25px;
	stroke-miterlimit: 10;
}
.yoyaku_deco .st1 {
	fill: #fff;
	fill: #d36d57;
}
.yoyaku_deco .st2 {
	opacity: 1;
}


/* ===== SNS btn_deco ===== */
.sns_deco {
	width:  1.5em;
	height: 1.5em;
	min-width:  1.5em;
	min-height: 1.5em;
	margin-left: .75em;
}
.sns_deco .st0 {
	fill: none;
	stroke: #000;
	stroke-width: 1.25px;
	stroke-miterlimit: 10;
	transition: stroke .5s;
}
.sns_deco .st1 {
	fill: #000;
	transition: fill .5s;
}
.sns_deco .st2 {
	opacity: 1;
}
/* hover */
a:hover .sns_deco .st0 {
	stroke: #fff;
}
a:hover .sns_deco .st1 {
	fill: #fff;
}


/* ===== mouse stoker ===== */
#mouse-stalker {
	pointer-events: none;
	position: fixed;
	top:  -7.5px;
	left: -7.5px;
	width:  15px;
	height: 15px;
	background: #e7e5e2;
	border-radius: 50%;
	transform: translate(0, 0);
	transition: 0.2s;
	transition-timing-function: ease-out;
	z-index: 5000;
	mix-blend-mode: difference;
	mix-blend-mode: multiply;
}
#mouse-stalker.is_active {
	top:  -12.5px;
	left: -12.5px;
	width:  25px;
	height: 25px;
	transition: 0.2s;
}
@media screen and (max-width:768px) {
	#mouse-stalker {
		display: none !important;
	}
}


/* ===== 動きの記述 ===== */
/* fadein */
.anim_fade,
.anim_fade_late {
	opacity: 0;
	transition: opacity 1s cubic-bezier(.4,.4,0,1);
}
.is-active.anim_fade,
.is-active.anim_fade_late,
.is-active .anim_fade,
.is-active .anim_fade_late {
	opacity: 1;
}
.is-active.anim_fade_late,
.is-active .anim_fade_late {
	transition-delay: .5s;
}

/* fadeup */
.anim_fadeup {
	opacity: 0;
	transform: translateY(5%);
	transition: transform 1s cubic-bezier(.4,.4,0,1), opacity 1s cubic-bezier(.4,.4,0,1);
}
.is-active.anim_fadeup,
.is-active .anim_fadeup {
	opacity: 1;
	transform: translateY(0);
}


/* mask 下から上へ */
.mask_totop {
	opacity: 0;
	clip-path: inset(50% 0 0 0);
}
.is-active.mask_totop,
.is-active .mask_totop {
	animation: clip_totop cubic-bezier(.4,.4,0,1) 1.5s forwards;
}
@keyframes clip_totop {
	0%   {
		opacity: 0;
		clip-path: inset(50% 0 0 0);
	}
	100% {
		opacity: 1;
		clip-path: inset(0 0 0 0);
	}
}

/* 要素にブラー */
.anim_blur {
	opacity: 0;
}
.is-active .anim_blur,
.is-active.anim_blur {
	animation: blur .6s both ease;
}
.is-active .anim_blur {
	animation-delay: .4s;
}
@keyframes blur {
    from {
		filter: blur(50px);
		opacity: 0;
	}
    to   {
		filter: blur(0);
		opacity: 1;
	}
}












/* ===== Footer menu ===== */
footer {
	position: relative;
	z-index: 10;
}
.footer_wrap {
	width: 100%;
	color: #fff;
	padding: 60px 60px 80px;
	padding-left:  clamp(40px,6vw,60px);
	padding-right: clamp(40px,6vw,60px);
	background-image: url(../../img/common/footer_bg_pc.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
.ft_width {
	width: 100%;
	max-width: 850px;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	margin: auto;
}
.footer_logo {
	width: 20%;
}
.footer_cont {
	width: 71%;
}
.footer_cont p {
	font-size: 14px;
	line-height: 2;
	letter-spacing: .15em;
}
/* footer 一番下 */
.footer_bottom {
	width: 100%;
	padding: 25px 60px;
	padding-left:  clamp(40px,6vw,60px);
	padding-right: clamp(40px,6vw,60px);
	background-color: #fff;
}
.fb_width {
	max-width: 1000px;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	margin-left:  auto;
	margin-right: auto;
}
.fnav_privacy {
	font-size: 12px;
	line-height: 1;
	text-decoration: underline !important;
}
.copyright {
	font-size: 10px;
	letter-spacing: .1em;
}





@media screen and (max-width:900px) {
	body.overflowY {
		overflow-y: hidden;
	}
	/* ===== Header menu ===== */
	header {
		width:  100%;
		height:  70px;
		padding: 15px 10px 15px 15px;
	}
	.header_logo {
		max-height: 30px;
	}
	.header_logo > a img {
		width: fit-content;
		width: auto;
		max-width: 145px;
		min-width: inherit;
		max-height: 30px;
	}
	/* ----- ハンバーガーボタン ----- */
	.openbtn1 {
		width:  70px;
		height: 50px;
		display: flex !important;
		position: relative;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: center;
		cursor: pointer;
	}
	.openbtn1 span {
		font-size: 12px;
		position: absolute;
		text-align: center;
		transition: opacity .3s;
	}
	.openbtn1 span.open_text  {
		opacity: 1;
	}
	.openbtn1 span.close_text {
		color: #fff;
		opacity: 0;
	}
	/* svg */
	.openbtn1 svg {
		width:  100%;
		height: 100%;
	}
	.openbtn1 svg .st0 {
		fill: #fff;
		transition: fill .3s;
	}
	/* active */
	.openbtn1.active svg .st0 {
		fill: #7f6543;
	}
	.openbtn1.active span.open_text {
		opacity: 0;
	}
	.openbtn1.active span.close_text {
		opacity: 1;
	}


	/* ----- ハンバーガーメニューの中身 ----- */
	.header_wrap {
		transition: background-color .6s;
	}
	.overflowY .header_wrap {
		background-color: #fff;
	}	
	#g-nav {
		width:  100%;
		height: calc(100vh - 70px);
		position: fixed;
		top:  0;
		left: 0;
		opacity: 0;
		pointer-events: none;
		background: #f5f2ee;
		transition: opacity .3s;
		z-index: -2;
	}
	#g-nav.panelactive {
		pointer-events: auto;
		opacity: 1;
		z-index: 990;
		overflow-y: scroll;
		transform: translateY(69px);
		transition: opacity .3s;
	}
	#g-nav-list {
		width: 100%;
		max-width: 450px;
		min-width: inherit;
		display: block;
		margin-left:  auto;
		margin-right: auto;
		padding: 40px 30px 60px;
		padding-top: clamp(40px,5.208vw,60px);
	}
	#g-nav > * {
		opacity: 0;
	}
	#g-nav.panelactive > * {
		opacity: 1;
	}
	#g-nav ul {
		width: 100%;
		display: inline;
	}
	#g-nav li a {
		width: 100%;
		font-size: 18px;
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: flex-start;
	}
	#g-nav a:after  {
		content: none !important;
	}
	#g-nav a small {
		font-size: 11px;
		padding-top: 0;
		padding-left: 1.5em;
	}
	#g-nav a br.add_blk {
		display: none !important;
	}
	#g-nav .header_nav li:not(:first-of-type) {
		margin-left: 0;
		margin-top: 35px;
	}
	#g-nav .header_nav li {
		margin-left: 3em !important;
	}
	/* ----- SPメニューボタン非表示 ----- */
	.spmenu_sns {
		display: flex !important;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: flex-end;
		margin-left:  auto;
		margin-right: 15px;
	}
	.spmenu_sns a,
	.spmenu_sns a img {
		width:  25px;
		height: 28px;
		min-width:  25px;
		min-height: 28px;
	}
	.spmenu_sns li + li {
		margin-left: 12px;
	}
	.spmenu_sns .hmenu_insta_btn {
		margin-left: 8px;
	}
	
	/* ----- SP gnav内 SNSメニュー ----- */
	.hsns_pc {
		display: none !important;
	}
	.hsns_sp {
		width: 100%;
		display: block !important;
		margin-left:  auto;
		margin-right: auto;
	}
	.hsns_sp li {
		font-size: 18px;
		display: inline;
	}
	.hsns_sp li a {
		width: 100%;
		height: auto;
		min-width:  inherit;
		min-height: inherit;
		font-size: 1em;
		display: flex;
		flex-wrap: nowrap;
		justify-content: flex-start;
		padding: 15px 30px;
		border-radius: 5px;
		background-color: #fff;
	}
	.hsns_sp li + li {
		margin-top: 15px;
	}
	.hsns_sp a:before {
		width:  2.15em;
		height: 2.15em;
		min-width:  2.15em;
		min-height: 2.15em;
		margin-right: .75em;
	}
	.hsns_sp .sns_deco {
		width:  2.25em;
		height: 2.25em;
		min-width:  2.25em;
		min-height: 2.25em;
		margin-left:  auto;
		margin-right: 0;
		padding-left: 0;
	}
	/* ----- メニュー開いた際のSNSボタン 装飾 ----- */
	#g-nav .hsns_sp {
		margin-top: 40px;
	}
	#g-nav .hsns_sp li {
		width: 100%;
		display: inline-block;
	}
	#g-nav .hsns_sp li + li {
		margin-left: 0;
	}
	#g-nav .hsns_sp .svg_sns  {
		content: "";
		width:  2.25em;
		height: 2.25em;
		min-width:  2.25em;
		min-height: 2.25em;
		display: block;
		margin-right: 1em;
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
	}
	/* ----- hover アクション ----- */
	/* ボタン */
	#g-nav .hsns_sp a {
		transition: color .5s, background-color .5s;
	}
	#g-nav .hsns_sp a:hover {
		color: #fff;
		background-color: #7f6543;
	}
	/* SNS装飾 */
	#g-nav .hsns_sp a:hover .svg_sns .st0 {
		fill: #fff;
	}
}























@media screen and (max-width:768px) {
	/* ===== Wrap ===== */
	.wrap {
		width: 100%;
		margin: auto;
		padding: 0 30px;
	}
	.wrap {
		max-width: 660px;
	}


	/* ===== text ===== */
	ul,
	li,
	dl,
	dd,
	dt,
	a,
	p { font-size: 14px; }

	.fb_normal-SP { font-weight:normal !important; }
	.fb_500-SP    { font-weight:500 !important;    }
	.fb_bold-SP   { font-weight:bold !important;   }

	.align_left-SP    { text-align:left !important;    }
	.align_right-SP   { text-align:right !important;   }
	.align_center-SP  { text-align:center !important;  }
	.align_justify-SP { text-align:justify !important; }


	/* ===== 余白 ===== */
	.marXXL_T { margin-top:60px !important; }
	.marXL_T  { margin-top:50px !important; }
	.marL_T   { margin-top:40px !important; }
	.marM_T   { margin-top:30px !important; }
	.marS_T   { margin-top:20px !important; }
	.marXS_T  { margin-top:10px !important; }

	.marXXL_B { margin-bottom:60px !important; }
	.marXL_B  { margin-bottom:50px !important; }
	.marL_B   { margin-bottom:40px !important; }
	.marM_B   { margin-bottom:30px !important; }
	.marS_B   { margin-bottom:20px !important; }
	.marXS_B  { margin-bottom:10px !important; }

	.marXXL_T-SP { margin-top:60px !important; }
	.marXL_T-SP  { margin-top:50px !important; }
	.marL_T-SP   { margin-top:40px !important; }
	.marM_T-SP   { margin-top:30px !important; }
	.marS_T-SP   { margin-top:20px !important; }
	.marXS_T-SP  { margin-top:10px !important; }
	.mar0_T-SP   { margin-top: 0px !important; }

	.marXXL_B-SP { margin-bottom:60px !important; }
	.marXL_B-SP  { margin-bottom:50px !important; }
	.marL_B-SP   { margin-bottom:40px !important; }
	.marM_B-SP   { margin-bottom:30px !important; }
	.marS_B-SP   { margin-bottom:20px !important; }
	.marXS_B-SP  { margin-bottom:10px !important; }
	.mar0_B-SP   { margin-bottom: 0px !important; }

	/* pad */
	.padXXL_T { padding-top:60px !important; }
	.padXL_T  { padding-top:50px !important; }
	.padL_T   { padding-top:40px !important; }
	.padM_T   { padding-top:30px !important; }
	.padS_T   { padding-top:20px !important; }
	.padXS_T  { padding-top:10px !important; }

	.padXXL_B { padding-bottom:60px !important; }
	.padXL_B  { padding-bottom:50px !important; }
	.padL_B   { padding-bottom:40px !important; }
	.padM_B   { padding-bottom:30px !important; }
	.padS_B   { padding-bottom:20px !important; }
	.padXS_B  { padding-bottom:10px !important; }

	.padXXL_T-SP { padding-top:60px !important; }
	.padXL_T-SP  { padding-top:50px !important; }
	.padL_T-SP   { padding-top:40px !important; }
	.padM_T-SP   { padding-top:30px !important; }
	.padS_T-SP   { padding-top:20px !important; }
	.padXS_T-SP  { padding-top:10px !important; }
	.pad0_T-SP   { padding-top: 0px !important; }

	.padXXL_B-SP { padding-bottom:60px !important; }
	.padXL_B-SP  { padding-bottom:50px !important; }
	.padL_B-SP   { padding-bottom:40px !important; }
	.padM_B-SP   { padding-bottom:30px !important; }
	.padS_B-SP   { padding-bottom:20px !important; }
	.padXS_B-SP  { padding-bottom:10px !important; }
	.pad0_B-SP   { padding-bottom: 0px !important; }


	/* ===== 表示・非表示 ===== */
	.pc_blk { display:none  !important; }
	.sp_blk { display:block !important; }

	.pc_inline { display:none !important;   }
	.sp_inline { display:inline !important; }

	.flex_box.pc_blk { display:none !important; }
	.flex_box.sp_blk { display:flex !important; }

	.flex_box { flex-wrap:wrap; }



	/* ===== footer ===== */
	.footer_wrap {
		width: 100%;
		padding: 60px 30px;
		padding-top:    40px;
		padding-bottom: 40px;
		background-image: url(../../img/common/footer_bg_sp.jpg);
	}
	.ft_width {
		max-width: 600px;
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	.footer_logo {
		width: 40%;
		max-width: 120px;
		margin-bottom: 20px;
	}
	.footer_cont {
		width: 100%;
	}
	.footer_cont p {
		width: fit-content;
		letter-spacing: 0;
		margin-left:  auto;
		margin-right: auto;
	}
	/* copyright */
	.footer_bottom {	
		padding: 20px 30px;
	}
	.fb_width {
		width: 100%;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
		flex-direction: column;
	}
	.fnav_privacy {
		display: inline-block;
		margin-bottom: .75em;
	}


	/* ===== SP画面 下部分 fixed ===== */
	.footer_bottom {
		margin-bottom: 60px;
	}
	#sp_fixed,
	#sp_fixed a {
		width: 100%;
	}
	#sp_fixed a,
	#sp_fixed a span {
		line-height: 1;
	}
	#sp_fixed {
		display: inline-block;
		position: fixed;
		left:   0;
		bottom: 0;
		z-index: 50;
	}
	#sp_fixed a {
		height: 60px;
		font-size: 18px;
		font-size: min(4.8vw,18px);
		font-weight: bold;
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: center;
		color: #fff;
		background-color: #d36d57;
	}
	#sp_fixed .yoyaku_deco {
		width:  1.5em;
		height: 1.5em;
		min-width:  1.5em;
		min-height: 1.5em;
		margin-left: .5em;
	}

	/* ===== SNS btn_deco ===== */
	.sns_deco {
		width: 2.25em;
		min-width: 2.25em;
		margin-left:  auto;
		margin-right: 0;
		padding-left: .75em;
	}
}