@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Questrial&display=swap');



/* h.title
-----------------------------------------------------------------------------------*/
h2.title, h3.title, h4.title {
	position: relative;
}
h2.title::before,
h3.title::before, h3.title::after,
h4.title::before, h4.title::after {
	content: '';
	position: absolute;
}
/* h2 */
h2.title {
	margin-bottom: 2.2em;
	padding-bottom: 1em;
	width: 100%;
	line-height: 1.1;
	font-size: 2.5em;
}
h2.title::before {
	bottom: 0;
	left: 0;
	width: 50px;
	height: 4px;
	background-color: #ff5656;
}
h2.title span {
	display: block;
	margin-bottom: 1em;
	font-size: 0.7em;
	font-weight: normal;
	color: #e6c0c0;
}
/* h3 */
h3.title {
	margin-bottom: 0.8em;
	padding-bottom: 0.5em;
	font-size: 1.7em;
}
h3.title::before,
h3.title::after {
	bottom: 0;
	left: 0;
	height: 2px;
}
h3.title::before {
	width: 100%;
	background-color: #ddd;
}
h3.title::after {
	width: 1.5em;
	background-color: #ff5656;
}
/* h4 */
h4.title {
	margin-bottom: 0.5em;
	padding-left: 1.5em;
	font-size: 1.6em;
}
h4.title::before,
h4.title::after {
	top: 0.7em;
	left: 0;
	width: 0.7em;
	height: 4px;
}
h4.title::before {
	width: 1em;
	background-color: #ff5656;
}
h4.title::after {background-color: #ddd;}
/* h5*/
h5.title {
	margin-bottom: 1em;
	padding-left: 1em;
	font-size: 1.45em;
	color: #ff5656;
	position: relative;
	z-index: 0;
}
h5.title::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 0.75em;
	background-color: #efeeed;
	transform: skewX(-45deg);
	z-index: -1;
}

@media screen and (max-width: 480px) {
	h2.title {font-size: 1.65em;}
	h3.title, h4.title {font-size: 1.375em;}
	h5.title {font-size: 1.25em;}
}





/* text
-----------------------------------------------------------------------------------*/
.text-c {text-align: center;}
.text-r {text-align: right;}
.text-l {text-align: left;}

.f18 {font-size: 1.13em;}
.f20 {font-size: 1.25em;}

.color-red {color: #FF0000;}
.color-green {color: #00AE00;}
.color-lightblue {color: #069EFF;}

.mb1 {margin-bottom: 1em;}
.mb2 {margin-bottom: 2em;}

sub {
	vertical-align: baseline;
	font-size: 0.75em;
}

.text-block {
	display: inline-block;
	vertical-align: top;
}





/* table
-----------------------------------------------------------------------------------*/
.table {
	margin-bottom: 2em;
	width: 100%;
}
.table table {
	width: 100%;
	border-spacing: 0;
	border-collapse: collapse;
}
.table table th,
.table table td {
	padding: 2em;
	box-sizing: border-box;
	position: relative;
}
/* 通常table */
.table.t_default table {border-bottom: solid #ddd 1px;}
.table.t_default table th,
.table.t_default table td {border-top: solid #ddd 1px;}
.table.t_default table th {
	width: 25%;
	text-align: left;
	vertical-align: top;
}
.table.t_default table th::before {
	content: '';
	position: absolute;
	top: -1px;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #ff5656;
}
.table.t_default table td {width: 75%;}
/* products, ingredients */
.table.t_products table,
.table.t_ingredients table {
	border-top: solid #e8e8e8 1px;
}
.table.t_products table th,
.table.t_products table td,
.table.t_ingredients table th,
.table.t_ingredients table td {
	padding: 1em 1.5em;
}
.table.t_products table th,
.table.t_ingredients table th {
	background-color: #ede4e1;
	border-bottom: solid #fff 1px;
}
.table.t_products table th:not(:last-child),
.table.t_ingredients table th:not(:last-child) {
	border-right: solid #fff 1px;
}
.table.t_products table td,
.table.t_ingredients table td {
	background-color: #fff;
	border-bottom: solid #e8e8e8 1px;
}
.table.t_products table td:not(:last-child),
.table.t_ingredients table td:not(:last-child) {
	border-right: solid #e8e8e8 1px;
}
.table.t_products table td.name {font-weight: 600;}
.table.t_products table td.component,
.table.t_products table td.use,
.table.t_products table td.standard {
	width: 20%;
	text-align: center;
}
.table.t_products table td.explanation {
	width: 40%;
}
/* contact */
.table.t_contact {font-size: 1.1em;}
.table.t_contact table {
	border-collapse: separate;
	border-spacing: 0 1em;
}
.table.t_contact table th {
	width: 27%;
	min-width: 270px;
	background-color: #eaeaea;
	text-align: left;
}
.table.t_contact table td {
	background-color: #fff;
	border: solid #eaeaea 1px;
}

@media screen and (max-width: 1500px) {
	.table.t_ingredients {overflow-x: auto;}
	.table.t_ingredients table th,
	.table.t_ingredients table td {
		padding: 1em;
		white-space: nowrap;
	}
}

@media screen and (max-width: 897px) {
	.table table th,
	.table table td {padding: 2em 1em;}
	.table.t_default table th,
	.table.t_default table td,
	.table.t_contact table th,
	.table.t_contact table td {
		display: block;
		width: 100%;
	}
	.table.t_default table th {
		padding-bottom: 1em;
		border-color: #ddd;
	}
	.table.t_default table th::before {width: 25%;}
	.table.t_default table td {
		padding-top: 0;
		border-top: none;
	}
	.table.t_contact table {
		border-collapse: collapse;
		border-spacing: 0;
	}
	.table.t_contact table th,
	.table.t_contact table td {padding: 1em;}
	.table.t_products {overflow-x: auto;}
	.table.t_products table th,
	.table.t_products table td {
		padding: 1em;
		white-space: nowrap;
	}
}





/* list
-----------------------------------------------------------------------------------*/
ul.list-ul_note {
	margin-top: 80px;
	padding-top: 80px;
	border-top: dashed #ccc 1px;
}
ul.list-ul li,
ul.list-ul_tb li,
ul.list-ul_note li,
ol.list-ol li {
	margin-bottom: 1em;
	padding-left: 2em;
	position: relative;
}
ul.list-ul_tb li {padding-left: 1em;}
ul.list-ul_note li {
	margin-bottom: 0.5em;
	padding-left: 1.2em;
	color: #888;
}
ul.list-ul li:not(:last-child),
ul.list-ul_tb li:not(:last-child) {margin-bottom: 0.5em;}
ol.list-ol li:not(:last-child) {margin-bottom: 0.8em;}
ul.list-ul li::before {
	position: absolute;
	top: 0.2em;
	left: 0.7em;
	content: '';
	width: 0.8em;
	height: 0.8em;
	background-color: #ff5656;
	border-radius: 50%;
}
ul.list-ul_tb li::before {
	position: absolute;
	top: 0.5em;
	left: 0;
	content: '';
	width: 5px;
	height: 5px;
	background-color: #ccc;

}
ul.list-ul_note li::before {
	position: absolute;
	top: 0;
	left: 0;
	content: '※';
	width: 1em;
	height: 1em;
	color: #888;

}
ol.list-ol li::before {
	position: absolute;
	top: 0;
	left: 0;
	counter-increment: number 1;
	content: counter(number, decimal);
	width: 1.5em;
	height: 1.5em;
	background-color: #00afcc;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 600;
	color: #fff;
}






/* mainimage
-----------------------------------------------------------------------------------*/
#mainimage {
	height: 500px;
	min-height: 300px;
	position: relative;
	background: #e6e6e6;
}
#mainimage h2 {
	position: absolute;
	inset: auto 0 30%;
	margin: auto;
	line-height: 1.2;
	letter-spacing: 0.1em;
	text-align: center;
	text-shadow: 0 0 5px rgba(0,0,0,0.5);
	font-size: 3.8em;
	color: #fff;
	z-index: 1;
}
#mainimage h2 span {
	display: block;
	margin-bottom: 0.5em;
	letter-spacing: normal;
	font-family: "Questrial", serif;
	font-size: 0.4em;
}
#mainimage::before,
#mainimage::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	mix-blend-mode: soft-light;
}
#mainimage::before {background: linear-gradient(165deg, rgba(247,246,245,0) 0%,rgba(247,246,245,0) 70%,rgba(247,246,245,1) 70.1%,rgba(247,246,245,1) 100%);}
#mainimage::after {background: linear-gradient(-165deg, rgba(247,246,245,0) 0%,rgba(247,246,245,0) 70%,rgba(247,246,245,1) 70.1%,rgba(247,246,245,1) 100%);}

@media screen and (max-width: 1280px) {
	#mainimage {height: 40vh;}
	#mainimage h2 {font-size: 3em;}
}

@media screen and (max-width: 897px) {
	#mainimage {height: 30vh;}
}

@media screen and (max-width: 480px) {
	#mainimage h2 {font-size: 2.5em;}
}






/* pagenavi
-----------------------------------------------------------------------------------*/
#pagenavi {
	padding: 1em;
	width: 100%;
	/*background: linear-gradient(175deg, rgba(248,248,248,1) 55%,rgba(241,241,241,1) 55.1%) bottom center/100% 3em no-repeat;*/
	background-color: #f1f1f1;
	border-top: solid #ff5656 7px;
	line-height: 1;
	box-sizing: border-box;
	font-size: 12px;
	color: #666;
	overflow-x: auto;
}
#pagenavi ul {
	margin: 0 auto;
	width: 100%;
	max-width: 1600px;
	display: flex;
	justify-content: flex-end;
}
#pagenavi ul li {white-space: nowrap;}
#pagenavi ul li:not(:last-child) {
	margin-right: 3em;
	position: relative;
}
#pagenavi ul li:not(:last-child)::after {
	content: '';
	position: absolute;
	inset: 0 -1.5em 0 auto;
	margin: auto;
	width: 0.3em;
	height: 0.3em;
	border-top: solid #666 1px;
	border-right: solid #666 1px;
	transform: rotate(45deg);
}
#pagenavi ul li a {color: #666;}
#pagenavi ul li a:hover {color: #ff5656;}

@media screen and (max-width: 480px) {
	#pagenavi ul {
		display: inherit;
		text-align: right;
		overflow-x: auto;
		white-space: nowrap;
	}
	#pagenavi ul li {display: inline-block;}
	#pagenavi ul li:not(:last-child) {margin-right: 2.5em;}
}






/* main
-----------------------------------------------------------------------------------*/
main {
	margin: 0 0 17px;
	padding: 5em 0 10.125em;
	background: linear-gradient(to bottom,  rgba(248,248,248,1) 0%,rgba(248,248,248,1) 100%) top center/100% calc(100% - 8.125em - 17px) no-repeat,
		linear-gradient(175deg, rgba(241,241,241,1) 45%,rgba(248,248,248,1) 45.1%) bottom center/100% 8.125em no-repeat;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-wrap: wrap;
}
main article:not(:last-of-type) {margin-bottom: 170px;}
main article section:not(:last-of-type) {margin-bottom: 50px;}
main p:not(:last-of-type) {margin-bottom: 1em;}

/* content-area */
#content-area {
	margin-bottom: 50px;
	width: 75%;
	max-width: 1200px;
	box-sizing: border-box;
	order: 1;
}
#content-area br.sp {display: none;}

/* sidemenu */
#list-area {
	padding: 0 2em 0 0;
	width: 25%;
	max-width: 400px;
	position: sticky;
	top: 150px;
	order: 0;
	box-sizing: border-box;
}
#list-area li,
.list-area-sub p,
.list-area-sub-child {
	padding: 0.7em 1.1em 0.7em 1.6em;
	line-height: 1.2;
	font-size: clamp(1rem, 0.801rem + 0.27vw, 1.125rem);/*18px~16px*/
	position: relative;
	background-color: #fff;
}
.list-area-sub {margin-top: 0.7em;}
main .list-area-sub p,
.list-area-sub-child {
	margin: 3px 0 0;
	font-size: clamp(0.938rem, 0.838rem + 0.14vw, 1rem);
	background-color: #f8f8f8;
}
.list-area-sub-child {
	display: block;
}
#list-area li:not(:last-child) {margin-bottom: 3px;}
#list-area li:first-child {border-radius: 5px 5px 0 0;}
#list-area li:last-child {border-radius: 0 0 5px 5px;}
#list-area li a,
.list-area-sub p a,
.list-area-sub-child a,
#list-area li.current .list-area-sub p a,
#list-area li.current .list-area-sub p.current .list-area-sub-child a {
	display: block;
	color: #999;
}
#list-area li.current::before,
#list-area li.current .list-area-sub p.current::before,
#list-area li.current .list-area-sub p.current .list-area-sub-child.current::before {
	content: "";
	position: absolute;
	inset: 0.95em auto auto 0.5em;
	width: 0.6em;
	height: 0.6em;
	background-color: #ff5656;
	border-radius: 50%;
}
#list-area li.current a,
#list-area li a:hover,
.list-area-sub p.current a,
.list-area-sub p a:hover,
.list-area-sub-child.current a,
.list-area-sub-child a:hover,
#list-area li.current .list-area-sub p.current a,
#list-area li.current .list-area-sub p.current .list-area-sub-child.current a {
	color: #333;
}

/* title-sub-child */
.title-sub-child {
	margin-bottom: 1em;
	padding-left: 0.5em;
	border-left: solid #ccc 7px;
	font-size: clamp(1rem, 0.942rem + 0.26vw, 1.25rem);/*20px~16px*/
	color: #194aab;
}

@media screen and (max-width: 1600px) {
	#list-area {padding: 0;}
}

@media screen and (max-width: 897px) {
	main {
		margin-bottom: 7px;
		padding: 4.375em 0 6.375em;
		background: linear-gradient(to bottom, rgba(248,248,248,1) 0%,rgba(248,248,248,1) 100%) top center/100% calc(100% - 4.375em - 17px) no-repeat,
			linear-gradient(175deg, rgba(241,241,241,1) 45%,rgba(248,248,248,1) 45.1%) bottom center/100% 4.375em no-repeat;
	}
	#content-area {width: 100%;}
	#content-area br.sp {display: block;}
	#list-area {display: none;}
}

@media screen and (max-width: 480px) {
	main article:not(:last-of-type) {margin-bottom: 150px;}
}





/* 印刷用
------------------------------------------------------------------------*/
@media print {
	#mainimage {height: 300px;}
	#mainimage h2 {
		inset: auto 0 25%;
		font-size: 2.8em;
	}
	#content-area {
		width: 95%;
		max-width: inherit;
	}
	#list-area {display: none;}
}





