@charset "UTF-8";

/*!
 * ress.css • v5.0.2
 * MIT License
	* github.com/filipelinhares/ress
 */
html{-webkit-text-size-adjust:100%;box-sizing:border-box;-moz-tab-size:4;tab-size:4;word-break:normal}*,:after,:before{background-repeat:no-repeat;box-sizing:inherit}:after,:before{text-decoration:inherit;vertical-align:inherit}*{margin:0;padding:0}hr{color:inherit;height:0;overflow:visible}details,main{display:block}summary{display:list-item}small{font-size:80%}[hidden]{display:none}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}a{background-color:transparent}a:active,a:hover{outline-width:0}code,kbd,pre,samp{font-family:monospace,monospace}pre{font-size:1em}b,strong{font-weight:bolder}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:inherit;text-indent:0}iframe{border-style:none}input{border-radius:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}button,input,optgroup,select,textarea{font:inherit}optgroup{font-weight:700}button{overflow:visible}button,select{text-transform:none}[role=button],[type=button],[type=reset],[type=submit],button{cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button:-moz-focusring{outline:1px dotted ButtonText}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}button,input,select,textarea{background-color:transparent;border-style:none}a:focus,button:focus,input:focus,select:focus,textarea:focus{outline-width:0}select{-moz-appearance:none;-webkit-appearance:none}select::-ms-expand{display:none}select::-ms-value{color:currentColor}legend{border:0;color:inherit;display:table;max-width:100%;white-space:normal}::-webkit-file-upload-button{-webkit-appearance:button;color:inherit;font:inherit}[disabled]{cursor:default}img{border-style:none}progress{vertical-align:baseline}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled=true]{cursor:default}

html {
	scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
	/* アニメーションを減らす設定の場合は通常通りの挙動 */
	html {
		scroll-behavior: auto;
	}
}
body {
	position: relative;
	background-color: #000;
	color: #fff;
	font-family: serif;
	font-size: 16px;
	line-height: 1.1;
	
	text-shadow: 0 0 5px #000000, 0 0 5px #000000, 0 0 5px #000000, 0 0 10px #000000, 0 0 10px #000000, 0 0 10px #000000;
}
strong, a {
	font-weight: 700;
}
select, input, textarea { color: #333; background: #fff; }
a { color: #fff; font-weight: bold; text-decoration: underline; }
figure { line-height: 0; text-align: center; }
figure img { filter: drop-shadow(0 0 3px #000) drop-shadow(0 0 12px #000); }
figcaption { line-height: 1.1; }
.disabled { opacity: 0.3; -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); filter: grayscale(100%); }
.center { text-align: center; }
.clearfix:after { content: ""; display: block; clear: both; }

::-webkit-input-placeholder { color: #999 }
::-moz-placeholder { color: #999 }
:-ms-input-placeholder { color: #999 }
::-ms-input-placeholder { color: #999 }
::placeholder { color: #999 }

::-moz-selection {background: #333; color: #fff; text-shadow: none; }
::selection {background: #333; color: #fff; text-shadow: none; }
input::-moz-selection, textarea::-moz-selection{ color:#fff }
input::selection,textarea::selection{ color:#fff }

@media (hover: hover) and (pointer: fine) {
	a:hover { color: #ccc }
	a:hover img { opacity: 0.7; filter: alpha(opacity=70); }
}

.pc-br {
	display: block;
	height: 0;
	overflow: hidden;
	opacity: 0.01;
}
.sp-br {
	display: inline;
	overflow: unset;
	opacity: 1;
}

.loading main,
.loading footer {
	opacity: 0;
}
.loading.done main,
.loading.done footer {
	opacity: 1;
	transition: opacity 1s ease;
}

.bg1, .bg2 {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-position: center top;
}
.bg2 {
	background-image: url('../images/pr_20th_bg.png');
	background-repeat: repeat;
	background-size: auto 240px;
	z-index: 2;
	mix-blend-mode: multiply;
}
.bg1 {
	background-image: url('../images/pr_20th_bg_keyvisual.png');
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 1;
}
.bg3 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url('../images/pr_20th_bg_feather.png');
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: center bottom;
	z-index: 3;
	mix-blend-mode: screen;
}
header, main, footer {
	position: relative;
	z-index: 10;
}
h1, h2, h3, .catch, .section-no {
	font-family: "Zen Antique Soft", serif;
	font-weight: 400;
	font-style: normal;
	/* font-feature-settings: 'palt' 1; */
	letter-spacing: -1px;
	transition: opacity 1s ease;
}
/* webfont表示用 */
/* html.wf-loading h1,
html.wf-loading h2,
html.wf-loading h3,
html.wf-loading .catch,
html.wf-loading .section-no {
	opacity: 0;
}
html.wf-active h1,
html.wf-active h2,
html.wf-active h3,
html.wf-active .catch,
html.wf-active .section-no {
	opacity: 1;
} */
img {
	max-width: 100%;
	height: auto;
}
p.btn {
	text-align: center;
}
a.btn {
	display: inline-block;
	min-width: 240px;
	margin-top: 15px;
	padding: 10px 20px;
	background: #fff;
	border-radius: 100px;
	color: #000;
	font-family: sans-serif;
	font-size: 1.2rem;
	text-align: center;
	text-decoration: none;
	text-shadow: none;
	transition: all .2s ease;
}
a.btn:hover {
	background: transparent;
	box-shadow: 0 0 0 2px #fff inset;
	color: #fff;
}
a.btn-normal {
	background: transparent;
	box-shadow: 0 0 0 2px #fff inset;
	color: #fff;
}
a.btn-normal:hover {
	background: rgba(255,255,255,.25);
}
p.btn a.btn {
	min-width: 280px;
	padding: 15px 30px;
	font-size: 20px;
}
a.btn-small {
	font-size: 1rem;
}
.nav-start {
	margin-top: 50px;
}
.list-btn {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
	justify-content: center;
	list-style: none;
}
.list-btn a.btn {
	min-width: 280px;
	margin-top: 0;
}
.lead {
	margin: 30px auto;
	font-size: 24px;
	line-height: 1.75;
	text-align: center;
}
.icn-feather {
	position: relative;
	display: inline-block;
	width: 2em;
	height: 1em;
}
.icn-feather span {
	position: absolute;
	bottom: -25%;
	right: -10px;
	display: block;
	width: 100%;
	height: 120%;
	background: url('../images/icn_feather.png') no-repeat left bottom;
	background-size: contain;
	background-blend-mode: screen;
}
.icn-flip {
	transform: scale(-1, 1);
}
.center,
.pc-center {
	text-align: center;
}
.new {
	color: #f44;
	font-family: sans-serif;
	letter-spacing: 1px;
}
.readmore {
	margin-top: 5px;
}
.figure-center {
	display: flex;
	gap: 30px;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}



/* main
-------------------------------------------------------------------------------*/
main section {
	max-width: 900px;
	padding: 0 25px;
	margin-left: auto;
	margin-right: auto;
}
main section + section {
	margin-top: 100px;
}
main section > * + * {
	margin-top: 30px;
}
main section section {
	padding: 0;
}
main section figure {
	max-width: 750px;
	margin-left: auto;
	margin-right: auto;
}
main section h1 {
	margin-top: 50px;
	font-size: 70px;
	line-height: 1.3;		
	text-align: center;
}
main section p {
	line-height: 1.8;
}
main section p + p {
	margin-top: 1em;
}
main .keyvisual {
	margin: 50px auto;
	box-shadow: 2px 10px 50px 0 #000000, 2px 10px 50px 0 #000000, 2px 10px 30px 0 #000000, 0 0 3px 0 #000000;
}

main .keyvisual {
	transition-duration: 3s !important;
}
main .keyvisual[data-aos^="fade"][data-aos^="fade"] {
	transition-property: transform, opacity, filter;
	transform: scale(0.75) !important;
	filter: blur(100px) brightness(2) !important;
}
main .keyvisual[data-aos^="fade"][data-aos^="fade"].aos-animate {
	transform: scale(1) !important;
	filter: blur(0) brightness(1) !important;
}


.section-no,
.catch {
	margin: 30px auto;
	font-size: 50px;
	text-align: center;
}
.catch {
	margin: unset;
}
.section-no {
	letter-spacing: 10px;
}
main section h2 {
	font-size: 60px;
	line-height: 1.3;
	text-align: center;
}
main section h3 {
	font-size: 30px;
	line-height: 1.3;
}
.list-product {
	width: 100%;
	border-collapse: collapse;
}
.list-product th,
.list-product td {
	line-height: 1.75;
	border-bottom: 30px solid transparent;
	vertical-align: top;
}
.list-product th {
	position: relative;
	width: 25%;
	padding: 0 50px 0 0;
	text-align: right;
	white-space: nowrap;
}
.list-product th::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 10px;
	height: 100%;
	background: rgba(255,255,255,.3);
	border-radius: 10px;
}
.list-product td {
	width: 75%;
	padding: 0 0 0 40px;
}
.list-product td > * + * {
	margin-top: 20px;
}
.list-product td > * + br {
	margin-top: unset;
}
ul.list {
	margin-left: 1.5em;
}
.list-product-summary {
	font-size: 1.5em;
}
.title-comment {
	font-size: 36px;
}
dl.comment {
	font-family: "Shippori Mincho", serif;
	font-weight: 400;
	font-style: normal;
	line-height: 1.8;
}
dl.comment dt {
	margin-bottom: 18px;
}
dl.comment dd {
	padding: 15px 20px;
	background: rgba(255,255,255,.2);
}




/* footer
-------------------------------------------------------------------------------*/
footer {
	max-width: 900px;
	margin: 150px auto 0;
	padding: 0 25px 200px;
	font-family: sans-serif;
	font-size: 12px;
	line-height: 1.8;
	text-align: center;
}
footer > * + * {
	margin-top: 30px;
}
footer ul {
	display: flex;
	justify-content: center;
	gap: 20px;
	list-style: none;
}




/* Print styles
-------------------------------------------------------------------------------*/
@media print {

}


/* Media queries
-------------------------------------------------------------------------------*/
@media screen and (max-width: 600px) {
	.pc-br {
		display: inline;
		overflow: unset;
		opacity: 1;
	}
	.sp-br {
		display: block;
		height: 0;
		overflow: hidden;
		opacity: 0.01;
	}
	.pc-center {
		text-align: left;
	}
	main .keyvisual {
		margin: 0 -25px 30px;
	}
	main section + section {
		margin-top: 80px;
	}
	main section h1 {
		font-size: 9vw;
	}
	main section h1 img {
		width: 70%;
	}
	main section h2 {
		margin: 20px auto;
		font-size: 6.5vw;
	}
	main section h3 {
		font-size: 5.7vw;
	}
	.section-no,
	.catch {
		margin: 20px auto;
		font-size: 5.5vw;
	}
	.list-product,
	.list-product tbody,
	.list-product tr,
	.list-product th,
	.list-product td {
		display: block;
		width: 100%;
		margin: 0;
		padding: 0;
		border-bottom: 0 none;
	}
	.list-product tr > * {
		margin-top: 20px;
	}
	.list-product th {
		padding: 8px 0;
		background: rgba(255,255,255,.2);
		text-align: center;
	}
	.list-product th::after {
		display: none;
	}
	.list-product-summary {
		text-align: center;
	}
	.lead {
		font-size: 18px;
		text-align: left;
	}
	.title-comment {
		font-size: 7vw;
		letter-spacing: -3px;
	}
}
