@charset "utf-8";

/* --------------------------------------------------- */
/* ホップ由来のCBD */
/* --------------------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Shippori+Mincho:wght@400;600&display=swap');

span { display: inline-block; }
span, em {
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	text-align: inherit;
}


footer { margin-top: 0; }
footer h2 { z-index: 10; }
#cbd { background-color: #222; color: #fff; }
#cbd  img { width: 100%; height: auto; }
.int { padding-left: 1.0em; text-indent: -1.0em; line-height: 1.5;}
.small { font-size: 75%; }
.serif { font-family: "Shippori Mincho", serif; }


/* 画像 */
/* --------------------------------------------------- */
/* 縦画像 */
#cbd figure.portlate {
	margin: 0 auto;
	width: 100%;
	max-width: 320px;
}

/* エリア */
/* --------------------------------------------------- */
#cbd .inner {
	margin: 0 auto;
	width: 92%;
	max-width: 960px;
}



/* --------------------------------------------------- */
/* ヘッドライン */
/* --------------------------------------------------- */
#headline {
	padding: 1.0em 0;
	background-color: #333;
}
#headline div {
	margin: 0 auto;
	width: 90%;
	max-width: 840px;
}

/* --------------------------------------------------- */
/* 製品紹介 */
/* --------------------------------------------------- */
#pgtitle { position: relative; padding: 8.0em 0; }
#pgtitle > div {
	position: relative;
	margin: 0 auto;
	width: 90%;
	max-width: 1280px;
}
#pgtitle figure {
	position: relative;
	display: block;
	margin: 0 auto;
	width: 240px;
}
#pgtitle figure::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: 624px;
	height: 624px;
	border-radius: 50%;
	background-color: #164125;
	transform: translate(-50%, -50%);
}
#pgtitle figure img {
	position: relative;
	z-index: 1;
}
#pgtitle h1 {
	position: absolute;
	top: -0.5em;
	left: 50%;
	z-index:2;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	display: block;
	width: 72px;
	height: 7.0em;
	font-family: "Shippori Mincho", serif;	
	font-size: 80px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.15em;
	transform: translateX(-280px);
}
#pgtitle .info {
	position: absolute;
	bottom: -4.0em;
	left: 50%;
	z-index:2;
	width: 200px;
	transform: translateX(144px);
}
#pgtitle .info h3 {
	font-size: 21px;
	font-weight: 600;
	line-height: 1.5;
}
#pgtitle .info h3 + p {
	margin-top: 2.0em;
	font-size: 16px;
}
#pgtitle .info .btn {
	display: block;
	margin: 1.0em 0 0;
	width: 128px;
	height:128px;
	background-color: #bfdf28;
	border-radius: 50%;
	color: #0f7312;
	font-size: 21px;
	font-weight: 600;
	text-align: center;
	line-height: 128px;
}
#pgtitle .info .btn:hover { background-color: #fd0; }


@media screen and (max-width: 767px) {
	#pgtitle { overflow: hidden; }
	#pgtitle figure { width: 180px; }
	#pgtitle figure::before {
		width: 540px;
		height: 540px;
	}
	#pgtitle h1 {
		position: absolute;
		top: -1.5em;
		left: 50%;
		z-index:2;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		display: block;
		width: 72px;
		font-family: "Shippori Mincho", serif;	
		font-size: 64px;
		transform: translateX(-176px);
	}
	#pgtitle .info {
		position: relative;
		bottom: initial;
		left: initial;
		z-index:2;
		margin: 1.5em auto 0;
		width: 200px;
		text-align: center;
		transform: none;
	}
	#pgtitle .info .btn {
		display: block;
		margin: 1.0em 0 0;
		width: 100%;
		height:auto;
		background-color: #bfdf28;
		border-radius: 100px;
		color: #0f7312;
		font-size: 18px;
		font-weight: 600;
		text-align: center;
		line-height: 2.0em;
	}

}
@media screen and (max-width: 420px) {
	#pgtitle { position: relative; padding: 6.0em 0; }
	#pgtitle figure { width: 144px; }
	#pgtitle figure::before {
		top: 55%;
		width: 420px;
		height: 420px;
	}
	#pgtitle h1 {
		position: absolute;
		top: -1.25em;
		left: 50%;
		z-index:2;
		width: 56px;
		font-family: "Shippori Mincho", serif;	
		font-size: 48px;
		transform: translateX(-140px);
	}
	#pgtitle .info {
		margin: 1.0em auto 0;
		width: 240px;
		text-align: center;
		transform: none;
	}
	#pgtitle .info h3 + p {
		margin-top: 1.0em;
		font-size: 14px;
	}
	#pgtitle .info .btn {
		display: block;
		margin: 1.0em 0 0;
		width: 100%;
		border-radius: 100px;
		color: #0f7312;
		font-size: 16px;
		font-weight: 600;
		text-align: center;
		line-height: 2.5em;
	}

}


/* --------------------------------------------------- */
/* About */
/* --------------------------------------------------- */
#about { padding: 5.0em 0; }
#about > div {
	margin: 0 auto;
	width: 90%;
	max-width: 1280px;
}
#about h2 {
	position: relative;
	color: #999;
	font-size: 1.4rem;
	font-weight: 700;
	text-align: center;
}
#about h2::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	width: 100%;
	height: 1px;
	background: linear-gradient(to right, #222, #666, #222);
}
#about h2 span {
	position: relative;
	padding: 0 1.5em;
	background-color: #222;
}
#about ul {
	display: flex;
	justify-content: space-between;
	margin: 4.0em auto 0;
	width: 90%;
	color: #ccc;
	font-size: 14px;
}
#about ul li {
	box-sizing: border-box;
	padding: 3.0em 4%;
	width: 48.0%;
	background-color: #2a2a2a;
	border-radius: 1.0em;
}

@media screen and (max-width: 767px) {
	#about { padding: 4.0em 0; }
	#about ul {
		flex-direction: column;
		margin: 2.0em auto 0;
		width: 90%;
		gap: 2.0em;
	}
	#about ul li {
		padding: 2.5em 4%;
		width: 100.0%;
	}
}
@media screen and (max-width: 420px) {
	#about { padding: 2.0em 0; }
	#about h2 {
		font-size: 1.2rem;
	}
	#about h2 span {
		position: relative;
		padding: 0 0.75em;
		background-color: #222;
	}
	#about ul {
		margin: 2.0em auto 0;
		width: 100%;
		gap: 1.0em;
	}
	#about ul li {
		padding: 2.0em 5%;
	}
}



/* --------------------------------------------------- */
/* 発見 */
/* --------------------------------------------------- */
#discovery {
	position: relative;
	margin: 8.0em 0 0;
	padding: 0 7%;
	background-image: url('../../cbd/image/Kriya_Hops_04.jpg');
	background-size: cover;
	background-position: 50% 50%;
}
#discovery::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 75%;
	background: linear-gradient(to top, #222, transparent);
	opacity: 0.7;
}
#discovery > div {
	position: relative;
	display: block;
	margin: 0 auto;
	padding: 8.0em 0;
	width: 100%;
	max-width: 800px;
	min-height: 7.0em;
}
#discovery h2 {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-family: "Shippori Mincho", serif;	
	font-size: 64px;
	font-weight: 600;
	letter-spacing: 0.15em;
}
#discovery h2 span:first-child {
	position: absolute;
	top: -1.5em;
	right: 0;
	z-index:2;
	display: block;
	width: 72px;
	height: 9.0em;
}
#discovery h2 span:last-child {
	position: absolute;
	bottom: -2.0em;
	right: 1.5em;
	z-index:2;
	width: 72px;
	height: 7.0em;
}
#discovery h2 + div {
	padding-right: 200px;
}
#discovery h3 {
	margin-bottom: 1.0em;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.4;
}
#discovery h3 em {
	display: block;
	color: #fff;
	font-size: 96px;
	font-weight: 700;
	line-height: 1.2;
}

@media screen and (max-width: 767px) {
	#discovery {
		margin: 8.0em 0 0;
		padding: 0 5%;
	}
	#discovery > div {
		padding: 5.0em 0;
	}
	#discovery h2 {
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		font-family: "Shippori Mincho", serif;	
		font-size: 42px;
		font-weight: 600;
		letter-spacing: 0.15em;
	}
	#discovery h2 span:first-child {
		position: absolute;
		top: -1.5em;
		right: 0;
		z-index:2;
		display: block;
		width: 64px;
	}
	#discovery h2 span:last-child {
		position: absolute;
		bottom: -2.0em;
		right: 1.25em;
		z-index:2;
		width: 64px;
	}
	#discovery h2 + div {
		padding-right: 144px;
	}
	#discovery h3 {
		margin-bottom: 1.0em;
		font-size: 18px;
	}
	#discovery h3 em {
		font-size: 72px;
		font-weight: 700;
		line-height: 1.2;
	}

}

@media screen and (max-width: 420px) {
	#discovery {
		margin: 8.0em 0 0;
		padding: 0 8%;
	}
	#discovery > div {
		padding: 4.0em 0;
	}
	#discovery h2 {
		position: relative;
		margin: -4.0em auto 0;
		height: 8em;
		font-size: 36px;
		font-weight: 600;
		letter-spacing: 0.15em;
		line-height: 1.4;
	}
	#discovery h2 span:first-child {
		position: static;
		display: inline;
		width: 48px;
		height: initial;
		white-space: nowrap;
	}
	#discovery h2 span:last-child {
		position: static;
		display: inline;
		margin-top: 2.0em;
		width: 48px;
		height: initial;
		white-space: nowrap;
	}
	#discovery h2 + div {
		margin-top: 6.0em;
		padding-right: 0;
	}
	#discovery h3 {
		margin-bottom: 1.0em;
		font-size: 18px;
	}
	#discovery h3 em {
		font-size: 72px;
		font-weight: 700;
		line-height: 1.2;
	}

}


/* --------------------------------------------------- */
/* 医師 */
/* --------------------------------------------------- */
#doctor { padding: 10.0em 0; }
#doctor .halfcolumn {
	display: flex;
}
#doctor .halfcolumn > div {
	box-sizing: border-box;
	padding: 4.0em 5%;
	width: 50%;
}
#doctor .halfcolumn > div.usa {
	margin-bottom: 7.0em;
	background-color: #333;
}
#doctor .halfcolumn > div.jpn {
	margin-top: 7.0em;
	background-color: #444;
}
#doctor .halfcolumn > div > div {
	margin: 0 auto;
	width: 100%;
	max-width: 540px;
}
#doctor h2 {
	margin: 2.0em auto 1.5em;
	width: 100%;
}
#doctor h3 {
	position: relative;
	color: #aaa;
	font-size: 16px;
	font-weight: 700;
}
#doctor h3::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	width: 100%;
	height: 1px;
	background: linear-gradient(to right, #222, #666, #222);
}
#doctor h3 span {
	position: relative;
}
#doctor .usa h3 { text-align: left; }
#doctor .jpn h3 { text-align: right; }
#doctor .usa h3 span {
	padding-right: 1.0em;
	background-color: #333;
}
#doctor .jpn h3 span {
	padding-left: 1.0em;
	background-color: #444;
}
#doctor .usa h3::before {
	background: linear-gradient(to right, #666, #333);
}
#doctor .jpn h3::before {
	background: linear-gradient(to right, #444, #666);
}
#doctor p { color: #ddd; font-size: 16px; }
#doctor .usa figure {
	margin: 4.0em auto;
	width: 100%;
	max-width: 280px;
}
#doctor .btn {
	display: block;
	margin: 0 auto;
	width: 100%;
	border: 1px solid #ddd;
	border-radius: 120px;
	max-width: 240px;
	text-align: center;
}
#doctor .btn span {
	color: #fff;
	font-weight: 500;
	line-height: 2.5;
}
#doctor .jpn figure {
	margin: 4.0em auto;
	width: 100%;
}
#doctor dl.book {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	gap: 1.0em;
}
#doctor dl.book dt {
	width: 144px;
}
#doctor dl.book p { color: #aaa; font-size: 12px; }
#doctor dl.book h4 {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.3;
}
#doctor dl.book h4 em {
	display: block;
	color: #fff;
	font-size: 21px;
	font-weight: 600;
}
#doctor .ybox {
	margin: 5.0em auto 0;
	width: 86%;
	max-width: 800px;
}
#doctor .ybox > div { position: relative; }
#doctor .ybox > div::before {
	content: '';
	display: block;
	width: 100%;
	padding-top: 56.8%;
}
#doctor .ybox > div iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#doctor .ybox  p {
	margin-top: 1.0em;
	color: #999;
	font-size: 14px;
	text-align: center;
}

@media screen and (max-width: 767px) {
	#doctor { padding: 8.0em 0; }
	#doctor .halfcolumn > div.usa { margin-bottom: 5.0em; }
	#doctor .halfcolumn > div.jpn { margin-top: 5.0em; }
	#doctor dl.book h4 { font-size: 14px; }
	#doctor dl.book h4 em { font-size: 18px; }
}
@media screen and (max-width: 640px) {
	#doctor { padding: 6.0em 0; }
	#doctor .halfcolumn { flex-direction: column; }
	#doctor .halfcolumn > div {
		box-sizing: border-box;
		padding: 4.0em 5%;
		width: 100%;
	}
	#doctor .halfcolumn > div.usa { margin-bottom: 0; }
	#doctor .halfcolumn > div.jpn { margin-top: 0; }
	#doctor .halfcolumn > div.usa{ background: linear-gradient(to bottom, #222, #333); }
	#doctor .halfcolumn > div.jpn {
		background: linear-gradient(to bottom, #393939, #222);
	}
	#doctor .usa h3 span { background-color: #232323; }
	#doctor .jpn h3 span { background-color: #373737; }
	#doctor .usa figure {
		margin: 2.0em auto;
		width: 66.66%;
		max-width: 240px;
	}
	#doctor p { font-size: 14px; }
	#doctor .ybox {
		margin: 0 auto 0;
		width: 90%;
	}
	#doctor .ybox  p {
		font-size: 12px;
	}
}
@media screen and (max-width: 420px) {
	#doctor { padding: 0; }
	#doctor .ybox {
		margin: 0 auto 0;
		width: 100%;
	}
	#doctor .ybox  p { padding: 0 2.0em; }
}


/* --------------------------------------------------- */
/* 素材 */
/* --------------------------------------------------- */
#material { position: relative; margin-top: 8.0em; padding: 0; }
#material::before {
	content: '素材';
	position: absolute;
	top: -0.75em;
	left: 2%;
	font-family: "Shippori Mincho", serif;
	font-size: 20.0vw;
	font-weight: 600;
	line-height: 1.0;
	opacity: 0.05;
}
#material > div {
	position: relative;
	display: flex;
	margin: 0 auto;
	width: 86%;
	max-width: 1080px;
	gap: 0 7%;
}
#material > div > div:first-child {
	width: calc(93% - 320px);
}
#material > div > div:last-child {
	width: 320px;
}
#material  h2 {
	font-family: "Shippori Mincho", serif;
	font-size: 80px;
	font-weight: 600;
	line-height: 1.1;
}
#material  h3 {
	margin: 0.5em 0 1.0rem;
	color: #fff300;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.4;
}
#material  h3 + p { color: #ddd; font-size: 16px; }
#material figure {
	margin: 2.0em auto; width: 75%;
}
#material  h4 {
	font-size: 18px;
	font-weight: 600;
}
#material .int { color: #999; font-size: 12px; }


@media screen and (max-width: 900px) {
	#material > div > div:first-child { width: 67%; }
	#material > div > div:last-child { width: 30%; }
}
@media screen and (max-width: 767px) {
	#material { margin-top: 6.0em; }
	#material::before {
		top: -0.60em;
		left: 0;
		font-size: 30.0vw;
	}
	#material > div {
		flex-direction: column;
		width: 90%;
		gap: 3.0em 0;
	}
	#material > div > div:first-child { width: 100%; }
	#material > div > div:last-child { width: 100%; text-align: center; }
	#material  h2 { font-size: 64px; }
	#material  h3 { font-size: 24px; }
	#material > div > div:last-child img {
		width: 66.6%;
		max-width: 240px;
	}
}
@media screen and (max-width: 420px) {
	#material::before {
		top: -0.60em;
		left: -0.25em;
		font-size:35.0vw;
	}
	#material  h2 { font-size: 48px; }
	#material  h3 { font-size: 21px; }
	#material  h3 + p { color: #ddd; font-size: 14px; }
}


/* --------------------------------------------------- */
/* 声 */
/* --------------------------------------------------- */
#voice {
	position: relative;
	margin-top: 8.0em;
	padding: 6.0em 0 0;
	background-image: url('../../cbd/image/Kriya_Hops_08.jpg');
	background-size: cover;
	background-position: 50% 50%;
}
#voice::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 50%;
	background: linear-gradient(to top, #222, transparent);
}
#voice > div {
	position: relative;
	margin: 0 auto;
	width: 86%;
	max-width: 1280px;
}
#voice > div ul {
	width: 100%;
	font-size: 28px;
}
#voice > div ul li {
	box-sizing: border-box;
	padding: 0.75em 0.5em;
	width: 60%;
	border: 2px solid #999;
	background-color: #eee;
}
#voice > div ul li:first-child { margin: 0 auto 0 5%; border-radius: 32px 32px 32px 0; }
#voice > div ul li:nth-child(2) { margin:  -0.4em 3% 0 auto; border-radius: 32px 32px 0 32px; }
#voice > div ul li:last-child { margin: -0.4em auto 0; border-radius: 32px 32px 32px 0; }
#voice > div ul li  p {
	color: #333;
	font-family: "Shippori Mincho", serif;
	font-weight: 600;
	text-align: center;
}
#voice h2 {
	margin-top: 1.5em;
	font-size: 28px;
	font-weight: 700;
	text-align: center;
}
#voice > div:last-child {
	margin-top: 4.0em;
	max-width: 720px;
}
#voice > div:last-child p {
	font-size: 16px;
}
#voice > div:last-child p em {
	color: #ffee00;
	font-size: 21px;
	font-weight: 600;
}

@media screen and (max-width: 767px) {
	#voice > div {
		width: 92%;
	}
	#voice > div ul { font-size: 24px; }
	#voice > div ul li {
		padding: 0.75em 0.25em;
		width: 75%;
	}
	#voice > div ul li:first-child { margin: 0 auto 0 2%;  }
	#voice > div ul li:nth-child(2) { width: 60%;  }
	#voice > div:last-child {
		margin-top: 4.0em;
		width: 80%;
		max-width: 720px;
	}

}
@media screen and (max-width: 420px) {
	#voice > div ul { font-size: 21px; }
	#voice > div ul li {
		padding: 0.75em 0.25em;
		width: 85%;
	}
	#voice > div:last-child {
		margin-top: 3.0em;
		width: 90%;
	}
	#voice h2 {
		margin-top: 1.0em;
		font-size: 24px;
	}
	#voice > div:last-child p {
		font-size: 14px;
	}

}


/* --------------------------------------------------- */
/* イスラエル */
/* --------------------------------------------------- */
#israel { margin-top: 5.0em; }
#israel > div {
	box-sizing: border-box;
	margin: 0 auto;
	padding: 3.0em;
	width: 86%;
	max-width: 880px;
	background-color: #000;
	border-radius: 12px;
}
#israel > div p { font-size: 18px; font-weight: 600; }
#israel > div p + p { margin-top: 1.0em; color: #aaa; font-size: 12px; font-weight: 400; }

@media screen and (max-width: 420px) {
	#israel { margin-top: 4.0em; }
	#israel > div {
		padding: 2.0em 6%;
		width: 90%;
	}
}


/* --------------------------------------------------- */
/* バナー */
/* --------------------------------------------------- */
#item { margin-top: 8.0em; }
#item dl {
	display: flex;
	margin: 0 auto;
	width: 100%;
}
#item dl dt,
#item dl dd {
	box-sizing: border-box;
	padding: 3.0em 5%;
	width: 50%;
	text-align: center;
}
#item dl dt { background-color: #164125; }
#item dl dd { background-color: #eaecdf; }
#item dl img { width: 100%; max-width: 360px; }

@media screen and (max-width: 767px) {
	#item { margin-top: 6.0em; }
	#item dl dt,
	#item dl dd {
		box-sizing: border-box;
		padding: 2.5em 3%;
		width: 50%;
		text-align: center;
	}
}
@media screen and (max-width: 480px) {
	#item dl {
		flex-direction: column;
	}
	#item dl dt,
	#item dl dd {
		box-sizing: border-box;
		padding: 3.0em 7%;
		width: 100%;
		text-align: center;
	}
	#item dl img { width: 100%; max-width: 280px; }

}


/* --------------------------------------------------- */
/* プレゼント */
/* --------------------------------------------------- */
#present {
	padding: 8.0em 0 0;
	overflow: hidden;
}
#present > div {
	position: relative;
	margin: 0 auto;
	width: 86%;
	max-width: 800px;
}
#present h2 {
	position: relative;
	z-index: 2;
	margin-bottom: 1.5em;
	color: #ffee00;
	font-size: 36px;
	font-weight: 600;
	text-align: center;
	line-height: 1.4;
}
#present figure {
	position: relative;
	margin: 0 auto;
	text-align: center;
}
#present figure::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: 480px;
	height: 480px;
	border-radius: 50%;
	background-color: #164125;
	transform: translate(-50%, -50%);
}
#present figure img {
	position: relative;
	width: 90%;
	max-width: 560px;
}
#present h4 {
	position: relative;
	z-index: 2;
	margin-top: 2.0em;
	font-size: 21px;
	font-weight: 600;
	line-height: 1.5;
	text-align: center;
}
#present .btn {
	display: block;
	margin: 2.0em auto 2.0em;
	width: 100%;
	max-width: 280px;
	height:auto;
	background-color: #bfdf28;
	border-radius: 140px;
		color: #0f7312;
		font-size: 18px;
	font-weight: 600;
	text-align: center;
		line-height: 3.0em;
}
#present .btn:hover { background-color: #fd0; }
#present .btn + p { text-align: center; }
#present .note {
	margin-top: 2.0em;
	color: #aaa;
	font-size: 12px;
}

@media screen and (max-width: 767px) {
	#present figure::before {
		width: 420px;
		height: 420px;
	}
}
@media screen and (max-width: 420px) {
	#present > div { width: 90%; }
	#present h2 {
		margin-bottom: 1.0em;
		color: #ffee00;
		font-size: 32px;
	}
	#present figure img { width: 100%; }
	#present h4 {
		margin-top: 2.0em;
		font-size: 18px;
	}
	#present .btn {
		display: block;
		margin: 2.0em auto 1.5em;
		max-width: 240px;
			font-size: 18px;
			line-height: 2.5em;
	}
}



/* --------------------------------------------------- */
/* 奥付 */
/* --------------------------------------------------- */
#colophon {
	margin-top: 12.0em;
	padding: 0 0 0;
	position: relative;
	background-image: url('../../cbd/image/Kriya_Hops_ft.jpg');
	background-size: cover;
	background-position: 50% 0;
}
#colophon::before {
	content: '';
	position: absolute;
	top: -1px;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(to bottom, #222, #222 20%, transparent);
}
#colophon::after {
	content: '革命';
	position: absolute;
	top: -0.4em;
	right: 2%;
	font-family: "Shippori Mincho", serif;
	font-size: 20.0vw;
	font-weight: 600;
	line-height: 1.0;
	opacity: 0.05;
}
#colophon > div {
	position: relative;
	z-index:2;
	margin: 0 auto;
	width: 86%;
	max-width: 800px;
}
#colophon h3 {
	margin-bottom: 2.0em;
	font-size: 18px;
	font-weight: 600;
}

@media screen and (max-width: 767px) {
	#colophon {
		margin-top: 10.0em;
		padding: 0 0 0;
		background-position: 50% 0;
	}
	#colophon > div { width: 90%; }
	#colophon::after {
		top: -0.60em;
		right: 0;
		font-size: 30.0vw;
	}
}
@media screen and (max-width: 420px) {
	#colophon {
		margin-top: 8.0em;
		background-position: 50% 0;
	}
	#colophon::before {
		height: 100%;
		background: linear-gradient(to bottom, #222, #222 8%, transparent);
	}
	#colophon::after {
		top: -0.60em;
		right: -0.1em;
		font-size:35.0vw;
	}
}

#colophon > div + div {
	z-index:1;
	box-sizing: border-box;
	margin-top: 8.0em;
	padding: 3.0em 4% 6.0em;
	width: 100%;
	max-width: 100%;
	background-color: rgba(255,255,255,0.6);

}
#colophon .words p { color: #222; font-size: 12px;}
#colophon .words ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25em 1.5em;
	justify-content: center;
	margin-top: 2.0em;
	padding-top: 1.5em;
	border-top: 1px solid #888;
	font-size: 10px;
}
#colophon .words ul li{
}
#colophon .words ul li a { color: #333; }



/* --------------------------------------------------- */
/* #product */
/* --------------------------------------------------- */
#product { margin-top: 48px; padding-bottom: 64px; }
#product p { margin-top: 1.0em;  font-size: 18px; }
#product h4 {
  margin-bottom: 0.5em;
  font-size: 25px;
  font-weight: 600;
  line-height: 1.5;
  color: #ffffff;
  text-align: center;
}
@media screen and (max-width: 767px) {
	#product { margin-top: 36px; }
	#product p { font-size: 16px; }
}


/* --------------------------------------------------- */
/* #data */
/* --------------------------------------------------- */
#data { margin-top: 64px; }
#data .spritlayout { margin-top: 36px; }
#data h4 {
	margin-bottom: 0.5em;
	font-size: 24px;
	font-weight: 600;
}
#data p { font-size: 18px; }
@media screen and (max-width: 767px) {
	#data { margin-top: 36px; }
	#data .spritlayout { margin-top: 32px; }
	#data p { font-size: 16px; }
}
