@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400..800;1,400..800&family=Zen+Kaku+Gothic+New&family=Zen+Old+Mincho&display=swap');
.eb-garamond-regular {
	font-family: "EB Garamond", serif;
	font-weight: 300;
	font-style: normal;
}
.zen-kaku-gothic-new-regular {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 300;
	font-style: normal;
}
.zen-old-mincho-regular {
	font-family: "Zen Old Mincho", serif;
	font-weight: 300;
	font-style: normal;
}

body {
	/* background-image: url('../img/bg.jpg');
	background-attachment: fixed;
	background-size: 100% cover;
	background-position: center; */
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 300;
	font-style: normal;
	letter-spacing: 0.06em;
}

.PointColor {
	color: #5b0d08;
}

/* SP */
@media screen and (max-width: 750px) {
	body,p {
		font-size: 4vw;
		line-height: 1.5;
	}
	.pcOnly {display: none;}
	.spOnly {display: block;}
}
/* PC */
@media screen and (min-width: 751px) {
	body,p {
		font-size: 20px;
	}
	.pcOnly {display: block;}
	.spOnly {display: none;}
}

div.lp-wrapper {
	max-width: 750px;
}
.lp-wrapper p {
	margin: 0;
}
ul,ul li {
	list-style: none;
	margin: 0;
	padding: 0;
}
strong {
  font-weight: bold;
  -webkit-text-stroke: 0.5px currentColor;
  paint-order: stroke fill;
}


/* -----------------------------
	ページスクロール アニメーション
----------------------------- */
/* 上から下に */
.fadeInBottom {
	opacity: 0;
	transform: translateY(-50px);
	transition: all 1s;
}
/* 左から右へ */
.fadeInLeft {
	opacity: 0;
	transform: translateX(-50px);
	transition: all 1s;
}
/* 右から左へ */
.fadeInRight {
	opacity: 0;
	transform: translateX(50px);
	transition: all 1s;
}
/* アニメーション実行時に付与する共通クラス */
.fadeInAnime {
	opacity: 1 !important;
	transform: translate(0, 0) !important;
}


/* -----------------------------
	背景アニメーション
----------------------------- */
.decorated-block {
	position: relative;
	overflow: hidden;
}
.bg-decoration {
	position: absolute;
	width: 60%;
	z-index: 1;
	opacity: 0;
	transition: all 1.5s ease-out;
}
/* 左から出る場合 */
.bg-decoration.is-left {
	left: 0;
	transform: translateX(-100%);
}
/* 右から出る場合 */
.bg-decoration.is-right {
	right: 0; /* 右端に固定 */
	transform: translateX(100%); /* 右の外側に隠す */
}
/* --- 色のパターン（必要に応じて増設） --- */
.bg-decoration.type-pink { background-color: rgba(244, 237, 233, 0.6); }
.bg-decoration.type-yellow { background-color: rgba(239, 241, 234, 0.6); }
.bg-decoration.type-purple { background-color: rgba(246, 244, 250, 0.6); }
.bg-decoration.type-blue { background-color: rgba(239, 245, 247, 0.6); }
.bg-decoration.type-gray { background-color: rgba(233, 235, 231, 0.4); }
/* --- 実行時（JSで .fadeInAnime がついた時） --- */
.bg-decoration.fadeInAnime {
	opacity: 1;
	transform: translateX(0); /* 左右どちらも定位置(0)に戻る */
}
/* コンテンツレイヤー */
.decorated-block_inner {
	position: relative;
	z-index: 2;
}


/* -----------------------------
	ぼやけるアニメーション
----------------------------- */
@keyframes blurInOnly {
	0% {
		filter: blur(20px);
		opacity: 0;
	}
	100% {
		filter: blur(0px);
		opacity: 1;
	}
}
.fade-blur-text {
	opacity: 0;
	filter: blur(20px);
	transform: none !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	top: auto !important;
	bottom: auto !important;
}
.blurInAnime {
	animation: blurInOnly 3s linear forwards !important;
	transform: none !important;
}


/* -----------------------------
	header
----------------------------- */
.header {
	position: fixed;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 750px;
	height: 80px;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	transition: background-color 0.3s ease, backdrop-filter 0.3s ease;
	background-color: transparent;
	z-index: 100;
}

/* SP */
@media screen and (max-width: 750px) {
	.header {
		width: 100%;
		height: 80px;
		left: 0;
		transform: none;
		justify-content: flex-end;
		padding: 0;
		padding-right: 20px;
	}
}
/* PC */
@media screen and (min-width: 751px) {
	.header {
		width: 750px;
		margin: 0 auto;
		padding: 0;
	}
}

.drawer_open span,
.drawer_open span::before,
.drawer_open span::after {
	background: #333;
	transition: background 0.3s;
}
.header.scrolled .drawer_open span,
.header.scrolled .drawer_open span::before,
.header.scrolled .drawer_open span::after {
	background: #000;
}
#drawer_input {
	display: none;
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

/* -----------------------------
	hamburger menu
----------------------------- */
.nav-wrapper {
	position: absolute;
	margin: 0 auto;
	width: 750px;
	top: 15px;
	right: 20px;
}

/* ハンバーガーアイコン */
.drawer_open {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	right: 10px;
	top: 5px;
	width: 40px;
	height: 40px;
	cursor: pointer;
	z-index: 101;
}
.drawer_open span,
.drawer_open span:before,
.drawer_open span:after {
	content: '';
	display: block;
	height: 2px;
	width: 30px;
	background: #000;
	position: absolute;
	transition: 0.4s;
}
.drawer_open span:before { bottom: 10px; }
.drawer_open span:after { top: 10px; }
#drawer_input:checked ~ .drawer_open span { background: transparent; }
#drawer_input:checked ~ .drawer_open span:before { bottom: 0; transform: rotate(45deg); background: #000; }
#drawer_input:checked ~ .drawer_open span:after { top: 0; transform: rotate(-45deg); background: #000; }

/* メニュー本体 */
.nav_content {
	position: fixed;
	top: 0;
	right: -100vw; /* ← ★ 完全に画面外へ。750pxではなく画面幅ベース */
	width: 750px;
	height: 100vh;
	background: rgba(255,255,255,1);
	padding: 80px 0;
	text-align: center;
	transition: right 0.5s ease;
	z-index: 99;
}
/* 開く時だけ中央にスライドイン */
#drawer_input:checked ~ .nav_content {
  right: calc(50% - 375px); /* ★ 中央750px範囲の右端に出現 */
}

/* スマホ */
@media screen and (max-width: 750px) {
	.nav_content {
		right: -100vw; /* ★ 初期は完全非表示 */
		width: 100vw;
	}
	#drawer_input:checked ~ .nav_content {
		left: 0;
	}
}

/* 背景オーバーレイ */
.nav-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background: rgba(0,0,0,0.2);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
	z-index: 98;
}
/* 開いた時だけ表示 */
#drawer_input:checked ~ .nav-overlay {
	opacity: 1;
	pointer-events: auto;
}

/* メニュー内装飾 */
p.menu_btn {
	margin: 30px 10%;;
	border: 1px solid #4d5f7a;
}
p.menu_btn a {
	display: block;
	padding: 20px 0;
}
.nav_list {
	list-style: none;
	text-align: left;
	margin: 0;
	padding: 0;
}
.nav_item {
	padding: 3px 8%;
}
.nav_item a,
.nav_item span {
	display: block;
	padding: 10px 0;
	text-decoration: none;
}
.nav_item.item a {
	padding-left: 1em;
}


/* -----------------------------
	fv
----------------------------- */
#fvTxt {
	background-color: #f0f2ed;
	text-align: center;
}
.fv_ttl {
	font-family: "Zen Old Mincho", serif;
	line-height: 1;
	letter-spacing: 0.1em;
}
.fv_txt {
	font-family: "Zen Old Mincho", serif;
	line-height: 1.8;
}

/* SP */
@media screen and (max-width: 750px) {
	#fvTxt {
		padding-top: 8vw;
		padding-bottom: 8vw;
	}
	.fv_ttl {
		font-size: 5.8vw;
		padding-bottom: 2vw;
	}
	.fv_txt {
		font-size: 2.5vw;
	}
}
/* PC */
@media screen and (min-width: 751px) {
	#fvTxt {
		padding-top:35px;
		padding-bottom: 35px;
	}
	.fv_ttl {
		font-size: 2em;
		padding-bottom: 10px;
	}
	.fv_txt {
		font-size: 0.9em;
	}
}

/* -----------------------------
	section00
----------------------------- */

/* SP */
@media screen and (max-width: 750px) {
	.section00 {
		padding-top: 20vw;
		padding-bottom: 20vw;
	}
}
/* PC */
@media screen and (min-width: 751px) {
	.section00 {
		padding-top: 100px;
		padding-bottom: 100px;
	}
}

/* -----------------------------
	section01
----------------------------- */
.section01 .bg-decoration {
	top: 0%;
	height: 70%;
}
.section01 {text-align: center;}
.section01_ttl {
	font-family: "Zen Old Mincho", serif;
	line-height: 1.5;
}
.section01_txt {line-height: 1.8;}

/* SP */
@media screen and (max-width: 750px) {
	.section01 .decorated-block_inner {
		padding-top: 8vw;
		padding-bottom: 5vw;
	}
	.section01_ttl {
		font-size: 6vw;
		padding-bottom: 0.8em;
	}
	.section01_txt {
		font-size: 3vw;
	}
}
/* PC */
@media screen and (min-width: 751px) {
	.section01 .decorated-block_inner {
		padding-top: 40px;
	}
	.section01_ttl {
		font-size: 40px;
		padding-bottom: 0.5em;
	}
	.section01_txt {
		padding-bottom: 30px;
	}
}


/* -----------------------------
	section02
----------------------------- */
.section02 .bg-decoration {
	top: 45%;
	height: 25%;
	width: 55%;
}
.section02_L {
	float: left;
	width: 25%;
}
.section02_R {
	padding-top: 3%;
	float: right;
	width: 70%;
}
.section02 {
	color: #3e403b;
	background-image: url('../img/section02_bg.png');
	background-repeat: repeat-y;
	background-size: 100% auto;
}
/* SP */
@media screen and (max-width: 750px) {
	.section02 {
		padding-top: 20vw;
	}
	.section02_L_txt {
		width: 70%;
		padding-left: 35%;
	}
	.section02_R_img {
		padding-bottom: 6vw;
	}
	.section02_txt {
		font-size: 3vw;
		letter-spacing: 0.1em;
		padding-right: 7%;
		padding-bottom: 1em;
	}
}
/* PC */
@media screen and (min-width: 751px) {
	.section02 {
		padding-top: 80px;
	}
	.section02_L_txt {
		width: 65%;
		padding-left: 35%;
	}
	.section02_R_img {
		padding-top: 30px;
	}
	.section02_txt {
		letter-spacing: 0.05em;
		line-height: 1.6;
		padding-right: 6%;
		padding-bottom: 1.5em;
	}
}

/* -----------------------------
	section03
----------------------------- */
.section03_box01_01 span {
	font-family: "Zen Old Mincho", serif;
	letter-spacing: 0.2em;
	color: #fff;
	background-color: #303b4c;
}
.section03_box01_02 {
	line-height: 1.2;
	font-family: "Zen Old Mincho", serif;
}
.section03_box01_02 span.supText {
	font-size: 28%;
	vertical-align: top;
	position: relative;
	top: 1em;
}
.section03_box01_03 {
	color: #3e403b;
}
.section03_box01_03 span.supText {
	font-size: 62%;
	vertical-align: top;
	position: relative;
	top: 0;
}

/* SP */
@media screen and (max-width: 750px) {
	.section03 {
		padding-bottom: 10vw;
		padding-top: 13vw;
	}
	.section03_box01 {
		padding-left: 8%;
		padding-right: 8%;
	}
	.section03_box01_01 span {
		font-size: 2vw;
		padding: 0 1.2em 2px;
	}
	.section03_box01_02 {
		font-size: 5.3vw;
		padding-top: 8vw;
		letter-spacing: 0.05em;
	}
	.section03_box01_03 {
		padding-top: 2vw;
		font-size: 3vw;
	}
}
/* PC */
@media screen and (min-width: 751px) {
	.section03 {
		padding-top: 150px;
		padding-bottom: 50px;
	}
	.section03_box01 {
		padding-left: 7.5%;
		padding-right: 7.5%;
	}
	.section03_box01_01 span {
		font-size: 16px;
		padding: 0 25px 2px;
	}
	.section03_box01_02 {
		font-size: 40px;
		padding-top: 15px;
		line-height: 1.4;
	}
	.section03_box01_03 {
		padding-top: 30px;
		line-height: 1.7;
	}
}


/* -----------------------------
	section04
----------------------------- */
.section04L {
	float: left;
	width: 35%;
}
.section04R {
	float: right;
	width: 65%;
}
p.section04R_ttl {
	font-family: "EB Garamond", serif;
	color: #1a1f1d;
}
p.section04R_txt {
	color: #767772;
}
p.section04R_txtSub {
	color: #9c9d97;
}
p.section04R_txt span.supText {
	font-size: 50%;
	vertical-align: top;
	position: relative;
	top: 0;
}

p.section04R_ttl {
	display: flex;
	align-items: center; /* 上下中央に配置 */
	width: 80%;        /* 親要素の幅いっぱいに広げる */
	gap: 15px;          /* テキストと線の間の余白（お好みで調整） */
}

/* 擬似要素を使ってテキストの右側に線を出す */
p.section04R_ttl::after {
	content: "";
	flex-grow: 1;       /* 右側の余白をすべて埋めるように線を伸ばす */
	height: 1px;        /* 線の太さ */
	background-color: #ccc; /* 線の色（グレー） */
}

/* SP */
@media screen and (max-width: 750px) {
	.section04 {
		padding-bottom: 20vw;
	}
	p.section04R_img {
		margin-bottom: 6vw;
	}
	p.section04R_ttl,
	p.section04R_txt {
		padding-left: 5vw;
		padding-right: 5vw;
		margin-bottom: 2vw;
	}
	p.section04R_ttl {
		font-size: 4vw;
	}
	p.section04R_txt {
		line-height: 1.5em;
		font-size: 2.5vw;
	}
	p.section04R_txtSub {
		padding-left: 5vw;
		margin-bottom: 5vw;
		font-size: 2.5vw;
	}
}
/* PC */
@media screen and (min-width: 751px) {
	.section04 {
		padding-bottom: 150px;
	}
	p.section04R_img {
		margin-bottom: 40px;
	}
	p.section04R_ttl,
	p.section04R_txt {
		padding-left: 60px;
		padding-right: 60px;
		margin-bottom: 15px;
	}
	p.section04R_txtSub {
		padding-left: 50px;
		margin-bottom: 40px;
	}
	p.section04R_ttl {
		font-size: 32px;
	}
	p.section04R_txt {
		line-height: 1.5em;
		font-size: 0.95em;
	}
	p.section04R_txtSub {
		font-size: 14px;
	}
}
/* -----------------------------
	section05,06
----------------------------- */
.section05,
.section06 {
  background-image: linear-gradient(to bottom, #f7f8f7 0%, #fff 100%);
  background-repeat: no-repeat;
  background-position: center;
  background-size: calc(100% - 8%) 100%;
  width: 100%;
}
.section05_inner,
.section06_inner {
	background-image: url('../img/section05_bg.png');
	background-position: center top;
	background-size: 100% auto;
	background-repeat: no-repeat;
}

.section05_txt01,
.section06_txt01 {
	font-family: "Zen Old Mincho", serif;
	text-align: center;
	color: #1a1f1d;
}
.section05_txt02,
.section06_txt02 {
	font-family: "EB Garamond", serif;
	text-align: center;
	color: #767772;
}
.section05_txt03,
.section06_txt03 {
	text-align: center;
}
.section05_txt03 span,
.section06_txt03 span {
	font-family: "EB Garamond", serif;
	background-color: #303b4c;
	padding: 2px 3em;
	color: #fff;
	border-radius: 2px;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
}
.section05L {
	float: left;
	width: 65%;
	padding-top: 10%;
}
.section05R {
	float: right;
	width: 35%;
}
.section06L {
	float: left;
	width: 38%;
}
.section06R {
	float: right;
	width: 62%;
}
.section05_ttl,
.section06_ttl {
	font-family: "Zen Old Mincho", serif;
	line-height: 1.5;
	color: #1a1f1d;
	padding-left: 10%;
}
.section05_ttl span.supText,
.section06_ttl span.supText {
	font-size: 28%;
	vertical-align: top;
	position: relative;
	top: 1em;
}
.section05_txt,
.section06_txt {
	line-height: 1.5;
	color: #1a1f1d;
	padding-left: 10%;
}
.section05_txt06,
.section06_txt06 {
	line-height: 1.5;
	color: #9c9d97;
	padding-left: 10%;
}
/* SP */
@media screen and (max-width: 750px) {
	.section05_inner,
	.section06_inner {
		padding-bottom: 15vw;
		padding-top: 10vw;
	}
	.section05_txt01,
	.section06_txt01 {
		font-size: 7vw;
		padding-bottom: 3vw;
	}
	.section05_txt02,
	.section06_txt02 {
		padding-bottom: 2.5vw;
	}
	.section05_txt03,
	.section06_txt03 {
		font-size: 2vw;
	}
	.section06_txt03 {
		padding-bottom: 4.5vw;
	}
	.section05_ttl,
	.section06_ttl {
		font-size: 5vw;
		padding-bottom: 4.5vw;
	}
	.section05_txt,
	.section06_txt {
		font-size: 3vw;
		padding-bottom: 1em;
	}
	.section05_txt06 {
		font-size: 2.5vw;
	}
}
/* PC */
@media screen and (min-width: 751px) {
	.section05_inner,
	.section06_inner {
		padding-bottom: 100px;
		padding-top: 100px;
	}
	.section05_txt01,
	.section06_txt01 {
		font-size: 48px;
		padding-bottom: 16px;
	}
	.section05_txt02,
	.section06_txt02 {
		font-size: 32px;
		padding-bottom: 16px;
	}
	.section05_txt03,
	.section06_txt03 {
		padding-bottom: 37px;
	}
	.section06_txt03 {
		padding-bottom: 10%;
	}
	.section05_txt03 span,
	.section06_txt03 span {
		font-size: 16px;
		line-height: 16px;
	}
	.section05_ttl,
	.section06_ttl {
		font-size: 35px;
		padding-bottom: 20px;
	}
	.section05_txt,
	.section06_txt {
		padding-bottom: 23px;
	}
	.section05_txt06 {
		font-size: 14px;
	}
}

/* -----------------------------
	section07
----------------------------- */
.section07_box01_01 {
	display: flex;
	align-items: center; /* 上下中央に配置 */
	width: 100%;        /* 親要素の幅いっぱいに広げる */
	gap: 5px;          /* テキストと線の間の余白（お好みで調整） */
}

/* 擬似要素を使ってテキストの右側に線を出す */
.section07_box01_01::after {
	content: "";
	flex-grow: 1;       /* 右側の余白をすべて埋めるように線を伸ばす */
	height: 1px;        /* 線の太さ */
	background-color: #ccc; /* 線の色（グレー） */
}
.section07_box01_01 span {
	font-family: "Zen Old Mincho", serif;
	letter-spacing: 0.2em;
	color: #303b4c;
	border: 1px solid #303b4c;
}
.section07_ttl {
	font-family: "Zen Old Mincho", serif;
	position: relative;
	z-index: 2;
	color: #1a1f1d;
}
.section07_inner {
	position: relative;
	z-index: 1;
	color: #3e403b;
	padding-bottom: 50px;
}
/* SP */
@media screen and (max-width: 750px) {
	.section07 {
		margin-left: 6%;
		margin-right: 6%;
	}
	.section07_box01_01 span {
		font-size: 2vw;
		padding: 0 1.2em 2px;
	}
	.section07_ttl {
		font-size: 6vw;
		padding-top: 10vw;
		padding-bottom: 5vw;
		letter-spacing: 0.05em;
	}
	.section07_txt {
		letter-spacing: 0.1em;
		padding-bottom: 2vw;
	}
}
/* PC */
@media screen and (min-width: 751px) {
	.section07 {
		margin-left: 10%;
		margin-right: 10%;
	}
	.section07_box01_01 span {
		font-size: 16px;
		padding: 5px 16px;
	}
	.section07_ttl {
		font-size: 40px;
		line-height: 1.4;
		padding-top: 20px;
		padding-bottom: 50px;
		letter-spacing: 0.12em;
	}
	.section07_txt {
		line-height: 1.8;
		letter-spacing: 0.12em;
		padding-bottom: 20px;
	}
}


/* -----------------------------
	section08
----------------------------- */
.section08_ttl {
	font-family: "Zen Old Mincho", serif;
	position: relative;
	z-index: 2;
	color: #1a1f1d;
	text-align: center;
}
.section08_txt {
	text-align: center;
}
.section08_inner {
	position: relative;
	z-index: 1;
	color: #3e403b;
}
/* SP */
@media screen and (max-width: 750px) {
	.section08 {
		margin-left: 6%;
		margin-right: 6%;
		padding-bottom: 10vw;
	}
	.section08_ttl {
		font-size: 6vw;
		padding-top: 10vw;
		padding-bottom: 5vw;
		letter-spacing: 0.05em;
	}
	.section08_txt {
		letter-spacing: 0.1em;
	}
}
/* PC */
@media screen and (min-width: 751px) {
	.section08 {
		margin-left: 10%;
		margin-right: 10%;
	}
	.section08_ttl {
		font-size: 40px;
		line-height: 1.4;
		padding-top: 100px;
		padding-bottom: 50px;
		letter-spacing: 0.12em;
	}
	.section08_txt {
		line-height: 1.8;
		letter-spacing: 0.12em;
		padding-bottom: 20px;
	}
}


/* -----------------------------
	section09
----------------------------- */
.concept_cart_btn a {
	display: block;
	text-align: center;
	color: #fff;
	background-color: #303b4c;
	font-family: "Zen Old Mincho", serif;
}
/* SP */
@media screen and (max-width: 750px) {
	.section09 {
		padding-bottom: 20vw;
	}
	.concept_cart {
		background-color: #e9ebe7;
		background-image: url('../img/sec_a1_06_bg.png');
		background-position: 50% 14%;
		background-repeat: no-repeat;
		background-size: 90%;
	}
	.concept_cart_inner {
		background-image: url('../img/concept_cart_ttl_bottom.png');
		background-position: center bottom;
		background-repeat: no-repeat;
		padding-bottom: 10vw;
		background-size: 100%;
	}
	.concept_cart_box {
		padding-left: 5vw;
		padding-right: 5vw;
	}
	.concept_cart_ttl {
		text-align: center;
		color: #fff;
		padding-top: 5vw;
		padding-bottom: 9vw;
		font-family: "Zen Old Mincho", serif;
		background-image: url('../img/concept_cart_ttl_bg1.png');
		background-position: 0 0;
		background-repeat: no-repeat;
		background-size: 100%;
		font-size: 4.5vw;
	}
	.section09 .concept_cart_ttl {
		padding-top: 4vw;
		background-image: url('../img/concept_cart_ttl_bg2.png');
	}
	.concept_cart_img {
		text-align: center;
		padding-bottom: 6vw;
	}
	.concept_cart_img img {
		width: 50%;
	}
	.concept_cart_txt01 {
		font-family: "Zen Old Mincho", serif;
		font-size: 3.5vw;
		color: #e18d29;
		line-height: 1;
	}
	.concept_cart_txt02 {
		font-family: "Zen Old Mincho", serif;
		font-size: 9vw;
		margin-bottom: 2vw !important;
		padding-bottom: 2vw;
		border-bottom: 1px solid #000;
	}
	.concept_cart_txt03 {
		font-size: 4vw;
		padding-bottom: 5vw;
	}
	.concept_cart_txt03 span {
		font-size: 70%;
	}
	.concept_cart_txt05 {
		font-size: 6vw;
		font-family: "Zen Old Mincho", serif;
		margin-bottom: 5vw !important;
		text-align: right;
		line-height: 1.2;
	}
	.concept_cart_txt05 span {
		font-size: 70%;
	}
	.concept_cart_txt06 {
		font-size: 3vw;
		color: #767772;
	}
	.concept_cart_txt07 {
		font-size: 3vw;
		text-align: right;
		margin-bottom: 20vw !important;
	}
	.concept_cart_txt08 {
		font-size: 3vw;
		text-align: right;
	}
	.concept_cart_txt09 {
		font-size: 4vw;
		font-family: "Zen Old Mincho", serif;
		margin-bottom: 5vw !important;
		text-align: right;
	}
	.concept_cart_txt09 span {
		font-size: 70%;
	}
	
	.concept_cart_btn a,
	.concept_cart_btn2 a,
	.concept_cart_btn2 span,
	.concept_cart_btn3 a,
	.concept_cart_btn3 span {
		font-size: 6vw;
		display: block;
		text-align: center;
		color: #fff;
		padding: 5vw;
	}
	.concept_cart_btn a {
		background-color: #303b4c;
	}
	.concept_cart_btn2 a,
	.concept_cart_btn2 span,
	.concept_cart_btn3 a,
	.concept_cart_btn3 span {
		background-color: #9c9d97;
	}
	.concept_cart_btn2,
	.concept_cart_btn3 {
		margin-bottom: 20vw !important;
	}

}
/* PC */
@media screen and (min-width: 751px) {
	.section09 {
		padding-bottom: 150px;
	}
	.concept_cart {
		position: relative;
	}
	.concept_cart_btn {
		position: absolute;
		right: 11.5%;
	}
	.concept_cart_btn {
		bottom: 64px;
	}
	.concept_cart_btn a {
		width: 330px;
		height: 64px;
		line-height: 64px;
		font-size: 22px;
	}
}


/* -----------------------------
	qa
----------------------------- */
.qa_box {
	text-align: center;
	padding-bottom: 50px;
}
.qa_ttl {
  font-family: "EB Garamond", serif;
}
.qa_txt1 {
	font-family: "Zen Old Mincho", serif;
	text-align: center;
}
.qa_txt2 {
	font-family: "EB Garamond", serif;
	text-align: center;
	color: #a0a496;
}
/* SP */
@media screen and (max-width: 750px) {
	.qa_ttl {
		font-size: 7vw;
		letter-spacing: 0.07em;
		padding-bottom: 4vw;
	}
	.qa_txt1 {
		font-size: 5vw;
		padding-bottom: 3vw;
	}
	.qa_txt2 {
		padding-bottom: 5vw;
	}
}
/* PC */
@media screen and (min-width: 751px) {
	.qa_ttl {
		font-size: 56px;
		letter-spacing: 0.07em;
		padding-bottom: 45px;
	}
	.qa_txt1 {
		font-size: 28px;
		padding-bottom: 20px;
	}
	.qa_txt2 {
		font-size: 18px;
		padding-bottom: 45px;
	}
}

/* ============ secA5_menu ============ */
.secA5_menu {
	padding-right: 8%;
	padding-left: 8%;
	text-align: left;
}
.secA5_menu input[type="checkbox"].on-off {
	display: none;
}
.secA5_menu-label {
	display: block;
	cursor: pointer;
	position: relative;
	
	background-image: url('../img/ico_q.png');
	background-repeat: no-repeat;
	background-position: 0 50%;
	
	border-bottom: 1px dotted #babcb5;
}
/* 右側のアイコン設定（閉じている時：＋） */
.secA5_menu-label::after {
	content: '＋';
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	color: #767772;
}
/* 【開いている時】アイコンを「－」に切り替え */
.secA5_menu input[type="checkbox"].on-off:checked + .secA5_menu-label::after {
	content: '－';
}
/* メニューの初期状態（閉じている） */
.secA5_menu-content {
	transition: all 0.4s ease;
	margin: 0;
	padding: 0;
	list-style: none;
	overflow: hidden;
	height: 0;
	opacity: 0;
}
/* 【開いている時】メニューを表示 */
.secA5_menu input[type="checkbox"].on-off:checked + .secA5_menu-label + .secA5_menu-content {
	height: auto;
	opacity: 1;
}
.secA5_menu-content p span.supText {
	font-size: 62%;
	vertical-align: top;
	position: relative;
	top: 0;
}
p.aq_inner_txt01 {
	color: #30322e;
}
p.aq_inner_txt02 {
	color: #9c9d97;
}
/* SP */
@media screen and (max-width: 750px) {
	.signature-menu {
		padding-bottom: 10vw;
	}
	.secA5_menu-label {
		background-size: auto 7vw;
		padding: 2vw 4vw 2vw 8vw;
		margin-bottom: 1vw;
	}
	.secA5_menu-label::after {
		font-size: 7vw;
	}
	.secA5_menu input[type="checkbox"].on-off:checked + .secA5_menu-label + .secA5_menu-content {
		padding: 1vw 0;
	}
	p.aq_inner_txt01,
	p.aq_inner_txt02 {
		padding-left: 8vw;
	}
	p.aq_inner_txt01 {
		margin-bottom: 2vw;
	}
	p.aq_inner_txt02 {
		font-size: 3vw;
		padding-left: 4em;
		text-indent: -1em;
	}
}
/* PC */
@media screen and (min-width: 751px) {
	.signature-menu {
		padding-bottom: 50px;
	}
	.secA5_menu-label {
		background-size: auto 55px;
		line-height: 1.5;
		font-size: 24px;
		padding: 15px 40px 25px 65px;
		margin-bottom: 10px;
	}
	.secA5_menu-label::after {
		font-size: 40px;
	}
	.secA5_menu input[type="checkbox"].on-off:checked + .secA5_menu-label + .secA5_menu-content {
		padding: 10px 0;
	}
	p.aq_inner_txt01,
	p.aq_inner_txt02 {
		padding-left: 65px;
	}
	p.aq_inner_txt01 {
		line-height: 1.5;
		margin-bottom: 20px;
	}
	p.aq_inner_txt02 {
		font-size: 13px;
	}
}


/* -----------------------------
	seibun
----------------------------- */
p.seibun_ttl {
	font-family: "EB Garamond", serif;
	text-align: center;
	letter-spacing: 0.07em;
}
p.seibun_inner {
	color: #30322e;
	line-height: 1.5;
}
.seibun_menu {
	padding-right: 8%;
	padding-left: 8%;
	text-align: left;
}
.seibun_menu input[type="checkbox"].on-off {
	display: none;
}
.seibun_label {
	display: block;
	cursor: pointer;
	position: relative;
	
	border-bottom: 1px dotted #babcb5;
}
.seibun_label::after {
	content: '＋';
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	color: #767772;
}
.seibun_menu input[type="checkbox"].on-off:checked + .seibun_label::after {
	content: '－';
}
.seibun_content {
	transition: all 0.4s ease;
	margin: 0;
	padding: 0;
	list-style: none;
	overflow: hidden;
	height: 0;
	opacity: 0;
}
.seibun_menu input[type="checkbox"].on-off:checked + .seibun_label + .seibun_content {
	height: auto;
	opacity: 1;
}
.seibun_content p span.supText {
	font-size: 62%;
	vertical-align: top;
	position: relative;
	top: 0;
}
/* SP */
@media screen and (max-width: 750px) {
	p.seibun_ttl {
		padding-bottom: 4vw;
		font-size: 7vw;
	}
	p.seibun_inner {
		margin-bottom: 2vw;
		font-size: 2.5vw;
	}
	.seibun_menu {
		padding-bottom: 10vw;
	}
	.seibun_label {
		padding: 2vw 4vw 2vw 2vw;
		margin-bottom: 1vw;
	}
	.seibun_label::after {
		font-size: 7vw;
	}
	.seibun_menu input[type="checkbox"].on-off:checked + .seibun_label + .seibun_content {
		padding: 1vw 0;
	}
}
/* PC */
@media screen and (min-width: 751px) {
	p.seibun_ttl {
		padding-bottom: 45px;
		font-size: 56px;
	}
	p.seibun_inner {
		margin-bottom: 20px;
		font-size: 15px;
	}
	.seibun_menu {
		padding-bottom: 50px;
	}
	.seibun_label {
		padding: 15px 40px 25px 15px;
		margin-bottom: 10px;
	}
	.seibun_label::after {
		font-size: 40px;
	}
	.seibun_menu input[type="checkbox"].on-off:checked + .seibun_label + .seibun_content {
		padding: 10px 0;
	}
}


/* -----------------------------
	footer
----------------------------- */
#footer {
	background-color: #e9ebe7;
	text-align: center;
}
.footer_logo_box {
	padding-right: 8%;
	padding-left: 8%;
}
.footer_logo01 {
	float: left;
	width: 12%;
}
.footer_logo02 {
	float: left;
	width: 12%;
	padding-right:2%;
}
.footer_logo03 {
	float: right;
	width: 10%;
}
/* SP */
@media screen and (max-width: 750px) {
	#footer {
		padding-bottom: 2vw;
	}
	.footer_logo_box {
		padding-top: 5vw;
		padding-bottom: 5vw;
	}
	.footer_link {
		font-size: 2.7vw;
		letter-spacing: 0.1em;
		padding-bottom: 5vw;
	}
	.footer_copy {
		font-size: 2vw;
	}
}
/* PC */
@media screen and (min-width: 751px) {
	#footer {
		padding-bottom: 10px;
	}
	.footer_logo_box {
		padding-top: 50px;
		padding-bottom: 50px;
	}
	.footer_link {
		font-size: 19px;
		letter-spacing: 0.1em;
		padding-bottom: 50px;
	}
	.footer_copy {
		font-size: 15px;
	}
}

/* -----------------------------
	clearfix
----------------------------- */
.cfx:after{
	content: ".";
	display: block;
	height: 0;
	font-size:0;
	clear: both;
	visibility:hidden;
}
.cfx{
	display: inline-block;
} 
/* Hides from IE Mac */
* html .cfx{
	height: 1%;
}
.cfx{
	display:block;
}
/* End Hack */
