﻿@font-face {
	font-display: swap;
	font-family: "YakuHanJP";
	font-style: normal;
	font-weight: 400;
	src: url("./font/YakuHanJP-Regular.woff2") format("woff2")
}
@font-face {
	font-display: swap;
	font-family: "YakuHanJP";
	font-style: normal;
	font-weight: 500;
	src: url("./font/YakuHanJP-Medium.woff2") format("woff2")
}
@font-face {
	font-display: swap;
	font-family: "YakuHanJP";
	font-style: normal;
	font-weight: 700;
	src: url("./font/YakuHanJP-Bold.woff2") format("woff2")
}
@font-face {
	font-display: swap;
	font-family: "YakuHanMP";
	font-style: normal;
	font-weight: 400;
	src: url("./font/YakuHanMP-Regular.woff2") format("woff2")
}
@font-face {
	font-display: swap;
	font-family: "YakuHanMP";
	font-style: normal;
	font-weight: 500;
	src: url("./font/YakuHanMP-Medium.woff2") format("woff2")
}
@font-face {
	font-display: swap;
	font-family: "YakuHanMP";
	font-style: normal;
	font-weight: 700;
	src: url("./font/YakuHanMP-Bold.woff2") format("woff2")
}
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: rgba(0, 0, 0, 0)
}
body {
	line-height: 1
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block
}
ul {
	list-style: none
}
blockquote, q {
	quotes: none
}
blockquote:before, blockquote:after, q:before, q:after {
	content: none
}
a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: rgba(0, 0, 0, 0)
}
ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none
}
mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold
}
del {
	text-decoration: line-through
}
abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor: help
}
table {
	border-collapse: collapse;
	border-spacing: 0
}
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0
}
input, select {
	vertical-align: middle
}
button {
	background-color: rgba(0, 0, 0, 0);
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none
}
h1, h2, h3, h4, h5, p, dl, dt, dd, ul, li, span {
	font-feature-settings: "palt" on
}
:root {
	--font-main: "YakuHanJP", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	--font-sub: "YakuHanMP", "Noto Serif JP", "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
	--font-ryumin: a-otf-ryumin-pr6n, "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", Hiragino Mincho ProN, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	--color-main: #007564;
	--color-key: #FFFCD1;
	--color-text: #475258;
	--color-sub01: #B0439E;
	--color-sub02: #519795;
	--color-sub03: #578DCD;
	--color-sub04: #F5A70F;
	--color-sub05: #F07276
}
html {
	color: var(--color-text);
	height: -webkit-fill-available
}
body {
	font-family: "YakuHanJP", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	font-size: 140%;
	line-height: 1.5;
	-webkit-text-size-adjust: 100%;
	font-feature-settings: "palt";
	background-color: #fff
}
#main {
	display: block
}
html {
	font-size: 62.5%
}
.text_link {
	color: #0ca7dc;
	text-decoration: underline
}
.tel_link {
	pointer-events: none;
	cursor: none;
	color: #000
}
.mv_area {
	aspect-ratio: 16/9;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto
}
.mv_area iframe {
	width: 100%;
	height: 100%
}
@media screen and (max-width: 768px) {
	.tel_link {
		pointer-events: inherit;
		cursor: pointer;
		text-decoration: underline
	}
}
rt {
	font-size: .6rem;
	font-weight: 400
}
a {
	color: #333;
	text-decoration: none;
	text-underline-offset: .15em;
	word-break: break-all
}
a:visited {
	color: #333;
	text-decoration: none
}
a:hover {
	color: #333;
	text-decoration: underline
}
img {
	line-height: 1;
	vertical-align: bottom;
	height: auto
}
table th img, table td img {
	vertical-align: middle
}
.fr {
	float: right
}
.fl {
	float: left
}
.pcbr {
	display: block !important
}
.tbbr {
	display: none !important
}
.spbr {
	display: none !important
}
@media screen and (max-width: 768px) {
	.pcbr {
		display: none !important
	}
	.tbbr {
		display: none !important
	}
	.spbr {
		display: block !important
	}
}
.mt0 {
	margin-top: 0px !important
}
.mt5 {
	margin-top: 5px !important
}
.mt10 {
	margin-top: 10px !important
}
.mt15 {
	margin-top: 15px !important
}
.mt20 {
	margin-top: 20px !important
}
.mt25 {
	margin-top: 25px !important
}
.mt30 {
	margin-top: 30px !important
}
.mt35 {
	margin-top: 35px !important
}
.mt40 {
	margin-top: 40px !important
}
.mt45 {
	margin-top: 45px !important
}
.mt50 {
	margin-top: 50px !important
}
.mt55 {
	margin-top: 55px !important
}
.mt60 {
	margin-top: 60px !important
}
.mb0 {
	margin-bottom: 0px !important
}
.mb5 {
	margin-bottom: 5px !important
}
.mb10 {
	margin-bottom: 10px !important
}
.mb15 {
	margin-bottom: 15px !important
}
.mb20 {
	margin-bottom: 20px !important
}
.mb25 {
	margin-bottom: 25px !important
}
.mb30 {
	margin-bottom: 30px !important
}
.mr0 {
	margin-right: 0px !important
}
.mr5 {
	margin-right: 5px !important
}
.mr10 {
	margin-right: 10px !important
}
.mr15 {
	margin-right: 15px !important
}
.mr20 {
	margin-right: 20px !important
}
.ml0 {
	margin-left: 0px !important
}
.ml5 {
	margin-left: 5px !important
}
.ml10 {
	margin-left: 10px !important
}
.ml15 {
	margin-left: 15px !important
}
.ml20 {
	margin-left: 20px !important
}
.pt0 {
	padding-top: 0px !important
}
.pt5 {
	padding-top: 5px !important
}
.pt10 {
	padding-top: 10px !important
}
.pt15 {
	padding-top: 15px !important
}
.pt20 {
	padding-top: 20px !important
}
.pt25 {
	padding-top: 25px !important
}
.pt30 {
	padding-top: 30px !important
}
.pt35 {
	padding-top: 35px !important
}
.pt40 {
	padding-top: 40px !important
}
.pt45 {
	padding-top: 45px !important
}
.pt50 {
	padding-top: 50px !important
}
.pt55 {
	padding-top: 55px !important
}
.pt60 {
	padding-top: 60px !important
}
.pb0 {
	padding-bottom: 0px !important
}
.pb5 {
	padding-bottom: 5px !important
}
.pb10 {
	padding-bottom: 10px !important
}
.pb15 {
	padding-bottom: 15px !important
}
.pb20 {
	padding-bottom: 20px !important
}
.pb25 {
	padding-bottom: 25px !important
}
.pb30 {
	padding-bottom: 30px !important
}
.pr0 {
	padding-right: 0px !important
}
.pr5 {
	padding-right: 5px !important
}
.pr10 {
	padding-right: 10px !important
}
.pr15 {
	padding-right: 15px !important
}
.pr20 {
	padding-right: 20px !important
}
.pl0 {
	padding-left: 0px !important
}
.pl5 {
	padding-left: 5px !important
}
.pl10 {
	padding-left: 10px !important
}
.pl15 {
	padding-left: 15px !important
}
.pl20 {
	padding-left: 20px !important
}
input, textarea, label {
	vertical-align: middle
}
.text-r {
	text-align: right !important
}
.text-c, table.text-c th, table.text-c td, table.th-c th {
	text-align: center !important
}
.text-l {
	text-align: left !important
}
img {
	max-width: 100%
}
.color01 {
	color: var(--color-sub01)
}
.color02 {
	color: var(--color-sub02)
}
.color03 {
	color: var(--color-sub03)
}
.color04 {
	color: var(--color-sub04)
}
.color05 {
	color: var(--color-sub05)
}
@font-face {
	font-family: "fontello";
	src: url("./font/fontello.eot?97777879");
	src: url("./font/fontello.eot?97777879#iefix") format("embedded-opentype"), url("./font/fontello.woff2?97777879") format("woff2"), url("./font/fontello.woff?97777879") format("woff"), url("./font/fontello.ttf?97777879") format("truetype"), url("./font/fontello.svg?97777879#fontello") format("svg");
	font-weight: normal;
	font-style: normal
}
[class^=icon-]:before, [class*=" icon-"]:before {
	font-family: "fontello";
	font-style: normal;
	font-weight: normal;
	speak: never;
	display: inline-block;
	text-decoration: inherit;
	width: 1em;
	margin-right: .2em;
	text-align: center;
	font-variant: normal;
	text-transform: none;
	line-height: 1em;
	margin-left: .2em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale
}
.icon-down:before {
	content: ""
}
.icon-down-open:before {
	content: ""
}
.icon-left:before {
	content: ""
}
.icon-up-1:before {
	content: ""
}
.icon-right:before {
	content: ""
}
.icon-zoom-in:before {
	content: ""
}
.icon-up-open:before {
	content: ""
}
.icon-right-open:before {
	content: ""
}
.icon-left-open:before {
	content: ""
}
@keyframes scroll-hint-appear {
	0% {
		transform: translateX(40px);
		opacity: 0
	}
	10% {
		opacity: 1
	}
	50%, 100% {
		transform: translateX(-40px);
		opacity: 0
	}
}
.scroll-hint.is-right-scrollable {
	background: linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0))
}
.scroll-hint.is-right-scrollable.is-left-scrollable {
	background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)), linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0))
}
.scroll-hint.is-left-scrollable {
	background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0))
}
.scroll-hint-icon {
	position: absolute;
	top: calc(50% - 25px);
	left: calc(50% - 60px);
	box-sizing: border-box;
	width: 120px;
	height: 80px;
	border-radius: 5px;
	transition: opacity .3s;
	opacity: 0;
	background: rgba(0, 0, 0, .7);
	text-align: center;
	padding: 20px 10px 10px 10px
}
.scroll-hint-icon-wrap {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	max-height: 100%;
	pointer-events: none
}
.scroll-hint-text {
	font-size: 10px;
	color: #fff;
	margin-top: 5px
}
.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
	opacity: .8
}
.scroll-hint-icon:before {
	display: inline-block;
	width: 40px;
	height: 40px;
	color: #fff;
	vertical-align: middle;
	text-align: center;
	content: "";
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=)
}
.scroll-hint-icon:after {
	content: "";
	width: 34px;
	height: 14px;
	display: block;
	position: absolute;
	top: 10px;
	left: 50%;
	margin-left: -20px;
	background-repeat: no-repeat;
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
	opacity: 0;
	transition-delay: 2.4s
}
.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
	opacity: 1
}
.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
	animation: scroll-hint-appear 1.2s linear;
	animation-iteration-count: 2
}
.scroll-hint-icon-white {
	background-color: #fff;
	box-shadow: 0 4px 5px rgba(0, 0, 0, .4)
}
.scroll-hint-icon-white:before {
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=)
}
.scroll-hint-icon-white:after {
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==)
}
.scroll-hint-icon-white .scroll-hint-text {
	color: #000
}
@keyframes scroll-anim {
	100% {
		background-position: -3907px 0
	}
}
@keyframes bright01 {
	0% {
		opacity: 0;
		width: 20%;
		filter: brightness(100%), saturate(100%)
	}
	20% {
		opacity: 1;
		width: 80%;
		filter: brightness(200%), saturate(0%)
	}
	100% {
		opacity: 0;
		width: 100%;
		filter: brightness(100%), saturate(100%)
	}
}
@keyframes bright02 {
	0% {
		display: block;
		opacity: 0;
		transform: rotate(0deg) translateX(0);
		filter: brightness(100%)
	}
	40% {
		opacity: 1;
		filter: brightness(200%)
	}
	99% {
		opacity: 0;
		transform: rotate(80deg) translateX(-15vw);
		filter: brightness(100%)
	}
	100% {
		display: none
	}
}
@keyframes bright01_sp {
	0% {
		opacity: 0;
		width: 20%;
		filter: brightness(100%), saturate(100%)
	}
	18% {
		opacity: 1;
		width: 200%;
		filter: brightness(200%), saturate(0%)
	}
	100% {
		opacity: 0;
		width: 230%;
		filter: brightness(100%), saturate(100%)
	}
}
@keyframes bright02_sp {
	0% {
		display: block;
		opacity: 0;
		transform: rotate(0deg) translateX(0);
		filter: brightness(100%)
	}
	40% {
		opacity: 1;
		filter: brightness(200%)
	}
	99% {
		opacity: 0;
		transform: rotate(20deg) translateX(-105vw);
		filter: brightness(100%)
	}
	100% {
		display: none
	}
}
@keyframes floatup {
	0% {
		-webkit-transform: translate(0, 1%);
		transform: translate(0, 1%)
	}
	50% {
		-webkit-transform: translate(0, 7%);
		transform: translate(0, 7%)
	}
	100% {
		-webkit-transform: translate(0, 1%);
		transform: translate(0, 1%)
	}
}
@keyframes mochimochi {
	30% {
		transform: scale(1, 1)
	}
	50% {
		transform: scale(1, 0.8)
	}
	60% {
		transform: scale(0.8, 1.1)
	}
	80% {
		transform: scale(1, 1)
	}
	100% {
		transform: scale(1, 1)
	}
}
@keyframes gradient {
	0% {
		background-position: 0% 0%
	}
	100% {
		background-position: -1600px 0%
	}
}
@keyframes shine {
	0% {
		left: -100%
	}
	50% {
		left: 0%
	}
	100% {
		left: 200%
	}
}
@keyframes scale-easeOutElastic {
	0% {
		opacity: 0;
		transform: scale(1)
	}
	16% {
		transform: scale(-0.32)
	}
	28% {
		transform: scale(0.13)
	}
	44% {
		transform: scale(-0.05)
	}
	59% {
		transform: scale(0.02)
	}
	73% {
		transform: scale(-0.01)
	}
	88% {
		transform: scale(0)
	}
	100% {
		opacity: 1;
		transform: scale(0)
	}
}
@keyframes reflection {
	0% {
		transform: scale(0) rotate(45deg);
		opacity: 0;
		filter: blur(1px)
	}
	10% {
		transform: scale(0) rotate(45deg);
		opacity: .5;
		filter: blur(1px)
	}
	11% {
		transform: scale(4) rotate(45deg);
		opacity: 1;
		filter: blur(0px)
	}
	30% {
		transform: scale(180) rotate(45deg);
		opacity: 0;
		filter: blur(0.5px)
	}
	100% {
		transform: scale(180) rotate(45deg);
		opacity: 0
	}
}
@-webkit-keyframes tracking-in-expand {
	0% {
		letter-spacing: -0.5em;
		opacity: 0
	}
	40% {
		opacity: .6
	}
	100% {
		opacity: 1
	}
}
@keyframes tracking-in-expand {
	0% {
		letter-spacing: -0.5em;
		opacity: 0
	}
	40% {
		opacity: .6
	}
	100% {
		opacity: 1
	}
}
.animation-trigger {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	opacity: 0;
	transform: translate3d(-100px, 0, 0);
	transition: 1.2s cubic-bezier(0.14, 1, 0.34, 1)
}
.animation-trigger.reserve {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	opacity: 0;
	transform: translate3d(100px, 0, 0);
	transition: 1.2s cubic-bezier(0.14, 1, 0.34, 1)
}
.animation-trigger.up {
	opacity: 0;
	transform: translate3d(0, 50px, 0)
}
.animation-trigger.down {
	opacity: 0;
	transform: translate3d(0, -50px, 0)
}
.animation-trigger.scale {
	opacity: 0;
	transform: scale(0)
}
.animation-trigger.viewed {
	-webkit-backface-visibility: hidden !important;
	backface-visibility: hidden !important;
	opacity: 1 !important;
	transform: translateZ(0) !important
}
.animation-trigger.scale.viewed {
	opacity: 1 !important;
	transform: scale(1) !important
}
.animation-trigger-block>* {
	opacity: 0;
	transform: translate3d(0, 50px, 0);
	transition: transform 1.2s cubic-bezier(0.14, 1, 0.34, 1), opacity .4s cubic-bezier(0.215, 0.61, 0.355, 1)
}
.animation-trigger-block.left>* {
	opacity: 0;
	transform: translate3d(-100px, 0, 0);
	transition: transform 1.2s cubic-bezier(0.14, 1, 0.34, 1), opacity .4s cubic-bezier(0.215, 0.61, 0.355, 1)
}
.animation-trigger-block.scale>* {
	opacity: 0;
	transform: scale(0);
	transition: transform 1.2s cubic-bezier(0.14, 1, 0.34, 1), opacity .4s cubic-bezier(0.215, 0.61, 0.355, 1)
}
.animation-trigger-block.viewed>* {
	opacity: 1;
	transform: translateZ(0)
}
.animation-trigger-block.scale.viewed>* {
	opacity: 1;
	transform: scale(1)
}
.animation-trigger-block>*:nth-child(0) {
	transition-delay: 0s
}
.animation-trigger-block>*:nth-child(1) {
	transition-delay: 0s !important
}
.animation-trigger-block>*:nth-child(2) {
	transition-delay: 0.08s !important
}
.animation-trigger-block>*:nth-child(3) {
	transition-delay: 0.16s !important
}
.animation-trigger-block>*:nth-child(4) {
	transition-delay: 0.24s !important
}
.animation-trigger-block>*:nth-child(5) {
	transition-delay: 0.32s !important
}
.animation-trigger-block>*:nth-child(6) {
	transition-delay: 0.4s !important
}
.animation-trigger-block>*:nth-child(7) {
	transition-delay: 0.48s !important
}
.animation-trigger-block>*:nth-child(8) {
	transition-delay: 0.56s !important
}
.animation-trigger-block>*:nth-child(9) {
	transition-delay: 0.64s !important
}
.animation-trigger-block>*:nth-child(10) {
	transition-delay: 0.72s !important
}
.animation-trigger-block>*:nth-child(11) {
	transition-delay: 0.8s !important
}
.animation-trigger-block>*:nth-child(12) {
	transition-delay: 0.88s !important
}
.animation-trigger-block>*:nth-child(13) {
	transition-delay: 0.96s !important
}
.animation-trigger-block>*:nth-child(14) {
	transition-delay: 1.04s !important
}
.animation-trigger-block>*:nth-child(15) {
	transition-delay: 1.12s !important
}
.animation-trigger-block>*:nth-child(16) {
	transition-delay: 1.2s !important
}
.animation-trigger-block>*:nth-child(17) {
	transition-delay: 1.28s !important
}
.animation-trigger-block>*:nth-child(18) {
	transition-delay: 1.36s !important
}
.animation-trigger-block>*:nth-child(19) {
	transition-delay: 1.44s !important
}
.animation-trigger-block>*:nth-child(20) {
	transition-delay: 1.52s !important
}
.animation-trigger-block>*:nth-child(21) {
	transition-delay: 1.6s !important
}
.animation-trigger-block>*:nth-child(22) {
	transition-delay: 1.68s !important
}
.animation-trigger-block>*:nth-child(23) {
	transition-delay: 1.76s !important
}
.animation-trigger-block>*:nth-child(24) {
	transition-delay: 1.84s !important
}
.animation-trigger-block>*:nth-child(25) {
	transition-delay: 1.92s !important
}
.animation-trigger-block>*:nth-child(26) {
	transition-delay: 2s !important
}
.animation-trigger-block>*:nth-child(27) {
	transition-delay: 2.08s !important
}
.animation-trigger-block>*:nth-child(28) {
	transition-delay: 2.16s !important
}
.animation-trigger-block>*:nth-child(29) {
	transition-delay: 2.24s !important
}
.animation-trigger-block>*:nth-child(30) {
	transition-delay: 2.32s !important
}
.animation-trigger-block>*:nth-child(31) {
	transition-delay: 2.4s !important
}
.animation-trigger-block>*:nth-child(32) {
	transition-delay: 2.48s !important
}
.animation-trigger-block>*:nth-child(33) {
	transition-delay: 2.56s !important
}
.animation-trigger-block>*:nth-child(34) {
	transition-delay: 2.64s !important
}
.animation-trigger-block>*:nth-child(35) {
	transition-delay: 2.72s !important
}
.animation-trigger-block>*:nth-child(36) {
	transition-delay: 2.8s !important
}
.animation-trigger-block>*:nth-child(37) {
	transition-delay: 2.88s !important
}
.animation-trigger-block>*:nth-child(38) {
	transition-delay: 2.96s !important
}
.animation-trigger-block>*:nth-child(39) {
	transition-delay: 3.04s !important
}
.animation-trigger-block>*:nth-child(40) {
	transition-delay: 3.12s !important
}
.animation-trigger-block>*:nth-child(41) {
	transition-delay: 3.2s !important
}
.animation-trigger-block>*:nth-child(42) {
	transition-delay: 3.28s !important
}
.animation-trigger-block>*:nth-child(43) {
	transition-delay: 3.36s !important
}
.animation-trigger-block>*:nth-child(44) {
	transition-delay: 3.44s !important
}
.animation-trigger-block>*:nth-child(45) {
	transition-delay: 3.52s !important
}
.animation-trigger-block>*:nth-child(46) {
	transition-delay: 3.6s !important
}
.animation-trigger-block>*:nth-child(47) {
	transition-delay: 3.68s !important
}
.animation-trigger-block>*:nth-child(48) {
	transition-delay: 3.76s !important
}
.animation-trigger-block>*:nth-child(49) {
	transition-delay: 3.84s !important
}
.animation-trigger-block>*:nth-child(50) {
	transition-delay: 3.92s !important
}
.animation-trigger-block>*:nth-child(51) {
	transition-delay: 4s !important
}
.animation-trigger-block.no-delay>* {
	transition-delay: 0s !important
}
#page_tlt_area h1 {
	overflow: hidden
}
#page_tlt_area h1 span {
	display: block;
	transform: translateY(120%)
}
#page_tlt_area h1+p {
	opacity: 0
}
.wf-active #page_tlt_area h1 span {
	transform: translateY(0%);
	transition: transform 1.2s cubic-bezier(0.33, 1, 0.68, 1)
}
.wf-active #page_tlt_area h1+p {
	opacity: 1;
	transition: opacity 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition-delay: .5s
}
@media screen and (min-width: 769px) {
	.animation {
		opacity: 0;
		transform: translate3d(0, 100px, 0)
	}
	.animation.viewed {
		opacity: 1 !important;
		transform: translateZ(0) !important;
		transition-property: transform, opacity;
		transition: transform 1.5s cubic-bezier(0.14, 1, 0.34, 1), opacity .8s cubic-bezier(0.215, 0.61, 0.355, 1)
	}
}
@keyframes slideRight {
	0% {
		transform: translateX(0)
	}
	100% {
		transform: translateX(10vw)
	}
}
@keyframes appear {
	0% {
		opacity: 0
	}
	100% {
		opacity: 1
	}
}
@keyframes starflash {
	0% {
		opacity: 0
	}
	50% {
		opacity: 1
	}
	100% {
		opacity: 0
	}
}
@keyframes starflash02 {
	0% {
		opacity: .8
	}
	50% {
		opacity: 1
	}
	100% {
		opacity: .8
	}
}
@keyframes light01 {
	0% {
		opacity: .3
	}
	50% {
		opacity: 1
	}
	100% {
		opacity: .3
	}
}
.editor-box>* {
	margin-top: 40px;
	transform: rotate(0.35deg)
}
@media screen and (max-width: 768px) {
	.editor-box>* {
		margin-top: 2em
	}
}
.editor-box p {
	font-size: 1.6rem;
	font-size: clamp(14px, 11.431px + 0.334vw, 16px);
	margin-top: 1.5em;
	line-height: 1.75;
	letter-spacing: .02em
}
.editor-box p a {
	color: #000;
	text-decoration: underline
}
.editor-box p a:hover {
	color: #333;
	text-decoration: none
}
.editor-box strong {
	font-style: normal;
	color: orange
}
.editor-box .u-caption {
	font-size: clamp(12px, 9.431px + 0.334vw, 14px);
	line-height: 1.75;
	letter-spacing: .03em
}
@media screen and (max-width: 768px) {
	.editor-box .u-caption {
		margin-top: .5em
	}
}
.editor-box h1 {
	font-size: clamp(28px, 15.157px + 1.672vw, 38px);
	border-bottom: 1px solid #3c3c3c;
	padding-bottom: 5px;
	font-weight: 700
}
@media screen and (max-width: 768px) {
	.editor-box h1 {
		margin-top: 2.2em
	}
}
.editor-box h2 {
	font-size: clamp(24px, 13.726px + 1.338vw, 32px);
	margin-top: 2.111em;
	font-weight: 700
}
@media screen and (max-width: 768px) {
	.editor-box h2 {
		margin-top: 2.2em
	}
}
.editor-box h3 {
	font-size: clamp(20px, 14.863px + 0.669vw, 24px);
	margin-top: 1.8em;
	position: relative;
	display: inline-flex;
	font-weight: 700
}
.editor-box h4 {
	font-size: clamp(18px, 15.431px + 0.334vw, 20px);
	font-weight: 700
}
.editor-box h5 {
	font-size: clamp(16px, 10.863px + 0.669vw, 20px);
	font-weight: 700
}
.editor-box h6 {
	font-size: clamp(14px, 8.863px + 0.669vw, 18px);
	font-weight: 700
}
.editor-box figure {
	gap: 5px !important
}
.editor-box figure figcaption {
	font-size: clamp(12px, 9.431px + 0.334vw, 14px);
	line-height: 1.5;
	margin-top: 5px
}
@media screen and (max-width: 768px) {
	.editor-box figure figcaption {
		margin-top: .5em
	}
}
.editor-box table {
	border: 1px solid #ccc;
	width: 100%
}
.editor-box table th {
	background-color: #f4f5f8;
	font-size: clamp(16px, 13.431px + 0.334vw, 18px);
	padding: 15px 10px;
	border: 1px solid #ccc;
	text-align: left
}
.editor-box table td {
	font-size: clamp(16px, 13.431px + 0.334vw, 18px);
	padding: 15px 10px;
	border: 1px solid #ccc
}
@media screen and (max-width: 768px) {
	.editor-box table:not(.u-sctable) {
		border-top: none
	}
	.editor-box table:not(.u-sctable) th {
		display: block;
		width: 100%;
		box-sizing: border-box;
		border: none;
		border-top: 1px solid #ccc
	}
	.editor-box table:not(.u-sctable) td {
		display: block;
		width: 100%;
		box-sizing: border-box;
		border: none;
		border-top: 1px solid #ccc
	}
}
.editor-box ul {
	margin: 24px 0
}
.editor-box ul li {
	line-height: 1.75;
	margin: 1.5em 0;
	display: flex
}
.editor-box ul li::before {
	content: "";
	width: 6px;
	background-color: orange;
	height: 3px;
	border-radius: 1.5px;
	margin-right: 10px;
	flex-shrink: 0;
	transform: translateY(0.7em)
}
.editor-box ol {
	margin: 24px 0;
	list-style-type: none;
	counter-reset: item
}
.editor-box ol li {
	line-height: 1.75;
	margin: 1.5em 0;
	display: flex
}
.editor-box ol li::before {
	counter-increment: item;
	content: counter(item) ".";
	color: orange;
	font-weight: 700;
	margin-right: 10px;
	flex-shrink: 0
}
.editor-box .u-faq ul {
	margin: 0 0 24px
}
.editor-box .u-faq ul li {
	margin: 1em 0
}
.editor-box .u-faq ul li:first-child {
	margin-top: 0
}
.editor-box .u-faq ul:last-child {
	margin: 0
}
.editor-box .u-faq ul:last-child li:last-child {
	margin-bottom: 0
}
.editor-box .u-faq ol {
	margin: 0 0 24px
}
.editor-box .u-faq ol li {
	margin: 1em 0
}
.editor-box .u-faq ol li:first-child {
	margin-top: 0
}
.editor-box .u-faq ol:last-child {
	margin: 0
}
.editor-box .u-faq ol:last-child li:last-child {
	margin-bottom: 0
}
.editor-box blockquote {
	color: #777;
	padding: 55px;
	position: relative;
	background: #f8f8f8;
	border-left: 5px solid orange
}
@media screen and (max-width: 768px) {
	.editor-box blockquote {
		padding: 10% 8%
	}
}
.editor-box blockquote:before {
	content: "";
	width: 30px;
	height: 35px;
	background: url(../img/icon_blockquote01.svg) no-repeat top left;
	background-size: 100%;
	top: 15px;
	left: 15px;
	position: absolute
}
@media screen and (max-width: 768px) {
	.editor-box blockquote:before {
		width: 15px;
		height: 10px
	}
}
.editor-box blockquote::after {
	content: "";
	width: 30px;
	height: 35px;
	background: url(../img/icon_blockquote02.svg) no-repeat top left;
	background-size: 100%;
	bottom: 15px;
	right: 15px;
	position: absolute
}
@media screen and (max-width: 768px) {
	.editor-box blockquote::after {
		width: 15px;
		height: 10px
	}
}
.editor-box blockquote>* {
	margin-top: 1.5em
}
.editor-box blockquote>*:first-child {
	margin-top: 0 !important
}
.editor-box .share_list {
	display: flex;
	gap: 5px;
	flex-wrap: wrap
}
.editor-box .share_list li {
	width: calc(33.333% - 4px);
	margin-top: 0 !important
}
.editor-box .share_list li::before {
	display: none
}
.editor-box .share_list li a {
	display: flex;
	width: 100%;
	padding: 10px;
	border-radius: 3px;
	justify-content: center;
	align-items: center;
	background-color: #000;
	transition: .25s ease
}
.editor-box .share_list li a.facebook {
	background-color: #1877f2
}
.editor-box .share_list li a.twitter {
	background-color: #1da1f2
}
.editor-box .share_list li a.x {
	background-color: #000
}
.editor-box .share_list li a.line {
	background-color: #3ace01
}
.editor-box .share_list li a.pocket {
	background-color: #f43b53
}
.editor-box .share_list li a:hover {
	opacity: .6
}
.hd #hd-logo {
	position: absolute;
	left: clamp(20px, -1.739px + 5.435vw, 40px);
	top: clamp(20px, -1.739px + 5.435vw, 40px);
	width: clamp(80px, 14.783px + 16.304vw, 140px);
	z-index: 10
}
@media print, screen and (min-width: 769px) {
	.float-btn {
		position: fixed;
		right: 0;
		bottom: 0;
		z-index: 200;
		text-align: center;
		-webkit-transform: translateY(400px);
		transform: translateY(400px);
		-webkit-transition: all .4s ease;
		transition: all .4s ease
	}
	.float-btn.is-movie {
		right: 2%
	}
	.float-btn-pagetop {
		width: 60px;
		height: 60px;
		background: #e98b2b;
		display: block;
		border-radius: 50%;
		-webkit-transition: all .4s ease;
		transition: all .4s ease;
		position: relative;
		margin-left: auto;
		bottom: 0;
		right: 4%
	}
	.float-btn-pagetop a {
		width: 100%;
		height: 100%;
		display: block
	}
	.float-btn-pagetop.is-movie {
		margin-bottom: 0
	}
	.float-btn-pagetop:hover {
		opacity: .5
	}
	.float-btn-pagetop:after {
		content: "";
		width: 18px;
		height: 18px;
		position: absolute;
		top: calc(50% - 1vw);
		left: calc(50% - 2vw);
		border-top: 2px solid #fff;
		border-left: 2px solid #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg)
	}
	.float-btn-ban {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		width: 100%;
		transition: .4s ease;
		transform: translateX(0%);
		transition: .4s ease
	}
	.float-btn-ban .ban {
		width: 97%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		color: #fff
	}
	.__scrolled .float-btn {
		-webkit-transform: translateY(0);
		transform: translateY(0)
	}
	.__scroll_bottom .float-btn .float-btn-ban {
		opacity: 0;
		pointer-events: none;
		transform: translateX(100%)
	}
	.__scroll_bottom .float-btn.is-movie {
		-webkit-transform: translateY(0vw);
		transform: translateY(0vw)
	}
	.__scrolled .float-btn {
		height: auto;
		opacity: 1
	}
	.float-btn-pagetop.is-movie {
		margin-bottom: 0;
		margin-right: 4%
	}
	.float-btn-pagetop:after {
		top: calc(50% - 6px);
		left: 22px
	}
	.float-btn-ban {
		width: 660px
	}
	.__scroll_bottom .float-btn.is-movie {
		-webkit-transform: translateY(0px);
		transform: translateY(0px)
	}
	.__scroll_bottom .float-btn-pagetop {
		bottom: -20px
	}
}
@media screen and (max-width: 768px) {
	.float-btn {
		position: fixed;
		right: 0;
		bottom: 0;
		z-index: 200;
		text-align: center;
		transform: translateY(100%);
		transition: all .4s ease
	}
	.float-btn.is-movie {
		right: 2%
	}
	.float-btn-pagetop {
		width: 60px;
		height: 60px;
		margin-bottom: -6px;
		background: #e98b2b;
		display: block;
		border-radius: 50%;
		-webkit-transition: all .4s ease;
		transition: all .4s ease;
		position: relative;
		margin-left: auto;
		bottom: 0;
		right: 4%
	}
	.float-btn-pagetop a {
		width: 100%;
		height: 100%;
		display: block
	}
	.float-btn-pagetop.is-movie {
		margin-bottom: 0
	}
	.float-btn-pagetop:hover {
		opacity: .5
	}
	.float-btn-pagetop:after {
		content: "";
		width: 18px;
		height: 18px;
		position: absolute;
		top: calc(50% - 1vw);
		left: calc(50% - 2vw);
		border-top: 2px solid #fff;
		border-left: 2px solid #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg)
	}
	.float-btn-ban {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		width: 100%;
		transition: .4s ease
	}
	.float-btn-ban .ban {
		width: 100%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: flex-end;
		-ms-flex-align: flex-end;
		align-items: flex-end;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		color: #fff
	}
	.float-btn-ban .ban .sp_only {
		transform: translateX(-10px)
	}
	.__scrolled .float-btn {
		-webkit-transform: translateY(0);
		transform: translateY(0)
	}
	.__scroll_bottom .float-btn .float-btn-ban {
		opacity: 0;
		pointer-events: none;
		transform: translateY(100%)
	}
	.__scroll_bottom .float-btn.is-movie {
		-webkit-transform: translateY(0vw);
		transform: translateY(0vw)
	}
	.__scrolled .float-btn {
		height: auto;
		opacity: 1
	}
	.float-btn-pagetop.is-movie {
		margin-bottom: 0;
		margin-right: 4%
	}
	.float-btn-pagetop:after {
		top: calc(50% - 6px);
		left: 22px
	}
	.__scroll_bottom .float-btn.is-movie {
		-webkit-transform: translateY(0px);
		transform: translateY(0px)
	}
	.__scroll_bottom .float-btn-pagetop {
		bottom: -10.6vw
	}
	.slick-dots li button {
		width: 15px;
		height: 15px;
		background-color: #f2f2f2;
		border-radius: 50%;
		text-indent: -999px
	}
	.slick-dots li.slick-active button {
		background-color: #555
	}
}
header {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #fff;
	height: 65px
}
header #header_logo {
	width: 160px
}
@media screen and (max-width: 768px) {
	header {
		height: auto;
		padding: 15px 0
	}
	header #header_logo {
		width: 25%;
		max-width: 160px
	}
}
footer {
	height: 190px;
	background-color: #485359;
	color: #fff;
	text-align: center
}
footer .inner {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	height: 190px
}
footer .inner .f_logo {
	width: 25%;
	max-width: 240px;
	margin: 0 auto
}
@media screen and (max-width: 768px) {
	footer {
		height: auto
	}
	footer .inner {
		height: auto;
		padding: 25px 0
	}
	footer .inner .f_logo {
		width: 30%;
		max-width: 220px;
		margin: 0 auto
	}
	footer .f_logo {
		max-width: 70vw
	}
}
html {
	scrollbar-gutter: stable
}
.scroll-lock {
	position: absolute;
	width: 100%;
	height: 100vh;
	overflow: hidden
}
#ue-loading {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 100;
	background: #df7e00;
	width: 100vw;
	height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center
}
#ue-loading .mr-loading__logo {
	width: 40%;
	max-width: 300px
}
@media print, screen and (min-width: 769px) {
	.sp_only {
		display: none
	}
	#kv_area {
		position: relative;
		overflow: hidden
	}
	#kv_area .pc_only {
		background: url(../img/mv/bg.png) no-repeat center top;
		background-size: 100%;
		padding: 5.1% 12.8% 0 14.2%;
		display: flex
	}
	#kv_area .light01 {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		mix-blend-mode: screen;
		z-index: 2;
		opacity: .3;
		animation-name: light01;
		animation-iteration-count: infinite;
		animation-duration: 3s;
		animation-timing-function: ease
	}
	#kv_area .light02 {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		mix-blend-mode: screen;
		opacity: .3;
		animation-name: light01;
		animation-iteration-count: infinite;
		animation-duration: 5s;
		animation-timing-function: ease;
		animation-delay: 1.5s
	}
	#kv_area .item {
		width: 49%;
		position: relative;
		flex-shrink: 0
	}
	#kv_area .item .wappen {
		position: absolute;
		top: 1.5%;
		left: 0;
		width: 38%
	}
	#kv_area .item .wappen .light {
		position: absolute;
		top: 0;
		left: 0;
		mix-blend-mode: screen
	}
	#kv_area .text {
		width: 51%;
		padding: 13.8% 0% 0% 6.8%;
		display: flex;
		flex-direction: column;
		position: relative;
		z-index: 2
	}
	#kv_area .text img {
		max-width: inherit;
		width: 100%
	}
	#kv_area .text .copy01 {
		padding-bottom: 6%;
		position: relative
	}
	#kv_area .text .copy01::after {
		content: "";
		position: absolute;
		right: 0;
		left: 0;
		margin: auto;
		bottom: 0;
		width: 100%;
		height: 100%;
		background: url(../img/mv/line.png) no-repeat center bottom;
		background-size: 100%
	}
	#kv_area .text .copy02 {
		padding-top: 4.56%;
        text-align: center;
	}
	#kv_area .text .copy02 img {
		max-width: inherit;
		width: 80%
	}
	#kv_area .text .award {
		padding-top: 4.56%;
        text-align: center;
	}
	#kv_area .text .award img {
		max-width: inherit;
		width: 100%
	}
	#kv_area .bright {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		mix-blend-mode: screen;
		z-index: 3
	}
	#kv_area .bright::before {
		content: "";
		height: 100%;
		width: 30px;
		position: absolute;
		top: -500px;
		left: -500px;
		background-color: rgba(255, 255, 255, .4);
		opacity: 0;
		transform: rotate(45deg);
		z-index: 2
	}
	#kv_sample_area {
		background: url(../img/cta/bg.png) no-repeat center top;
		background-size: 100%;
		padding: 14.4% 0 10%;
		margin-top: -15%;
		z-index: 2;
		position: relative
	}
	#kv_sample_area .sample_bnr {
		width: 60%;
		margin: 0 auto
	}
	#concept_area {
		background: url(../img/concept/bg.png) no-repeat center top;
		background-size: cover;
		margin-top: -18.5%;
		padding: 17.5% 10% 8.8%
	}
	#concept_area .inner {
		max-width: 990px;
		margin: 0 auto;
		text-align: center
	}
	#concept_area .inner h2 {
		width: 80%;
		max-width: 748px;
		margin: 0 auto
	}
	#concept_area .inner .copy {
		margin: clamp(22px, -16.528px + 5.017vw, 52px) auto 0;
		width: 65%;
		max-width: 604px
	}
	#concept_area .inner .movie {
		margin: clamp(48px, 9.472px + 5.017vw, 78px) auto 0;
		position: relative
	}
	#concept_area .inner .movie .frame {
		position: absolute;
		top: clamp(20px, -5.686px + 3.344vw, 40px);
		right: clamp(20px, -5.686px + 3.344vw, 40px);
		aspect-ratio: 16/9;
		width: 65%;
		max-width: 640px
	}
	#concept_area .inner .movie .frame iframe {
		width: 100%;
		height: auto;
		aspect-ratio: 16/9
	}
	#concept_area .inner .howto {
		margin: clamp(43px, 4.472px + 5.017vw, 73px) auto 0;
		position: relative;
		background: url(../img/concept/headline02_pc__under.png) no-repeat center bottom;
		background-size: 100%;
		max-width: 809px
	}
	#concept_area .inner .howto p {
		color: #fff;
		padding: clamp(12px, -0.843px + 1.672vw, 22px) 0 clamp(25px, 12.157px + 1.672vw, 35px);
		font-size: clamp(15px, 8.579px + 0.836vw, 20px);
		font-weight: 300;
		letter-spacing: .1em;
		line-height: 1.8
	}
	#voice_area {
		background: url(../img/voice/bg.png) no-repeat center top;
		background-size: cover;
		padding: 100px 10% 75px;
		text-align: center
	}
	#voice_area h2 {
		width: 35%;
		max-width: 337px;
		margin: 0 auto
	}
	#voice_area .pc_only {
		max-width: 990px;
		margin: clamp(20px, 0.736px + 2.508vw, 35px) auto 0
	}
	#voice_area .pc_only .balloon {
		filter: drop-shadow(20px 3px 15px rgba(215, 156, 101, 0.2))
	}
	#voice_area .note {
		margin-top: clamp(30px, 4.314px + 3.344vw, 50px);
		text-align: right;
		font-size: clamp(14px, 10.147px + 0.502vw, 17px)
	}
	#product_area {
		background: url(../img/product/backgrpound_repeat.png) repeat-x left top;
		padding: 82px 10%;
		text-align: center;
		position: relative
	}
	#product_area::before {
		content: "";
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		background: url(../img/product/bg_pc.png) no-repeat center top
	}
	#product_area .inner {
		position: relative;
		z-index: 1;
		max-width: 990px;
		margin: 0 auto
	}
	#product_area .inner h2 {
		max-width: 254px;
		margin: 0 auto
	}
	#product_area .inner .img {
		max-width: 507px;
		margin: 0 auto 0
	}
	#product_area .inner .readcopy {
		width: 54%;
		max-width: 463px;
		margin: -135px auto 0
	}
	#product_area .inner .features {
		display: flex;
		flex-wrap: wrap;
		gap: clamp(25px, -13.528px + 5.017vw, 55px) clamp(35px, -16.371px + 6.689vw, 75px);
		justify-content: center;
		max-width: 990px;
		margin: clamp(42px, 3.472px + 5.017vw, 72px) auto 0
	}
	#product_area .inner .features dl {
		width: 45%;
		max-width: 426px
	}
	#product_area .inner .features dl dt {
		overflow: hidden
	}
	#product_area .inner .features dl dt span {
		position: relative;
		padding: 0 20px
	}
	#product_area .inner .features dl dt span img {
		width: 24%
	}
	#product_area .inner .features dl dt span::before {
		content: "";
		width: 150%;
		height: 2px;
		background-color: #47535a;
		position: absolute;
		left: 100%;
		top: 0;
		bottom: 0;
		margin: auto
	}
	#product_area .inner .features dl dt span::after {
		content: "";
		width: 150%;
		height: 2px;
		background-color: #47535a;
		position: absolute;
		right: 100%;
		top: 0;
		bottom: 0;
		margin: auto
	}
	#product_area .inner .features dl dd {
		font-size: clamp(15px, 8.579px + 0.836vw, 20px);
		text-align: left;
		line-height: 1.8;
		letter-spacing: .08em;
		margin-top: 18px;
		font-weight: 500
	}
	#product_area .inner .features dl dd sup {
		vertical-align: top;
		font-size: 75%
	}
	#product_area .inner .features dl .labels {
		display: flex;
		justify-content: center;
		margin-top: 5px
	}
	#product_area .inner .features dl .labels li {
		width: 33.333%;
		max-width: 144px
	}
	#product_area .inner .note {
		margin: clamp(5px, -1.421px + 0.836vw, 10px) 0 0;
		text-align: right;
		font-size: clamp(14px, 10.147px + 0.502vw, 17px)
	}
	#product_area .inner .mechanism {
		margin: clamp(30px, 4.314px + 3.344vw, 50px) auto 0;
		border: 2px solid #598ccd;
		box-shadow: 0px 0px 15px rgba(0, 0, 0, .15);
		background-color: #fff;
		box-sizing: border-box;
		padding: clamp(45px, 6.472px + 5.017vw, 75px) clamp(30px, 17.157px + 1.672vw, 40px) clamp(5px, -1.421px + 0.836vw, 10px);
		position: relative;
		display: flex;
		justify-content: space-between;
		align-items: center
	}
	#product_area .inner .mechanism h2 {
		position: absolute;
		left: 0;
		right: 0;
		top: -22.5px;
		margin: auto;
		background-color: #598ccd;
		width: 168px;
		height: 45px;
		display: flex;
		justify-content: center;
		align-items: center;
		box-sizing: border-box;
		font-size: clamp(20px, 14.863px + 0.669vw, 24px);
		font-family: var(--font-sub);
		line-height: 1;
		font-weight: 500;
		color: #fff
	}
	#product_area .inner .mechanism .text {
		width: 36%;
		max-width: 310px
	}
	#product_area .inner .mechanism .text .mechanism_copy {
		font-size: clamp(16px, 12.147px + 0.502vw, 19px);
		text-align: left;
		line-height: 1.8;
		letter-spacing: .08em;
		margin-top: clamp(18px, 0.02px + 2.341vw, 32px)
	}
	#product_area .inner .mechanism .mechanism_img {
		width: 61%;
		max-width: 610px;
		position: relative
	}
	#product_area .inner .mechanism .mechanism_img #mechanism_animation {
		position: absolute;
		left: -5px;
		top: clamp(-35px, -21.294px + -1.003vw, -29px);
		width: 100%;
		height: 100%
	}
	#product_area .inner .mechanism .mechanism_img .svg {
		position: relative;
		z-index: 2
	}
	#product_area .inner .mechanism .mechanism_img svg {
		width: 100%;
		height: auto
	}
	#product_area .inner .mechanism .mechanism_img svg .star01 {
		opacity: 0;
		animation-name: starflash;
		animation-iteration-count: infinite;
		animation-duration: 3s;
		animation-timing-function: ease-out;
		animation-delay: 1.5s
	}
	#product_area .inner .mechanism .mechanism_img svg .star02 {
		opacity: 0;
		animation-name: starflash;
		animation-iteration-count: infinite;
		animation-duration: 3s;
		animation-timing-function: ease-out
	}
	#approach_area {
		position: relative;
		padding: 82px 10%
	}
	#approach_area::before {
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 200px;
		background: #fff;
		background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgb(249, 232, 204) 100%)
	}
	#approach_area .inner {
		position: relative;
		z-index: 1;
		max-width: 990px;
		margin: 0 auto
	}
	#approach_area .inner h2 {
		width: 45%;
		max-width: 394px;
		margin: 0 auto
	}
	#approach_area .inner .step {
		list-style-type: none;
		width: 100%
	}
	#approach_area .inner .step li:not(.anchor) {
		display: flex;
		align-items: center;
		width: 100%;
		padding: 25px 0;
		gap: clamp(15px, 8.579px + 0.836vw, 20px)
	}
	#approach_area .inner .step li:not(.anchor) .wappen {
		flex-shrink: 0;
		width: 15%;
		max-width: 100px
	}
	#approach_area .inner .step li:not(.anchor) .text h3 {
		font-size: clamp(20px, 14.863px + 0.669vw, 24px);
		font-family: var(--font-sub);
		font-weight: 600;
		color: #e88a2a
	}
	#approach_area .inner .step li:not(.anchor) .text p {
		font-size: clamp(14px, 10.147px + 0.502vw, 17px);
		text-align: left;
		line-height: 1.8;
		letter-spacing: .08em;
		margin-top: 5px
	}
	#approach_area .inner .step li:not(.anchor) .img {
		width: 30%;
		max-width: 290px;
		flex-shrink: 0;
		margin-left: auto
	}
	#approach_area .inner .step .anchor {
		position: relative;
		text-align: center;
		overflow: hidden
	}
	#approach_area .inner .step .anchor span {
		display: inline-block;
		width: clamp(69px, 30.472px + 5.017vw, 99px);
		padding: 0 20px;
		position: relative
	}
	#approach_area .inner .step .anchor span::before {
		content: "";
		width: 990px;
		height: 2px;
		background-color: #c1c3c2;
		position: absolute;
		left: 100%;
		top: 0;
		bottom: 0;
		margin: auto
	}
	#approach_area .inner .step .anchor span::after {
		content: "";
		width: 990px;
		height: 2px;
		background-color: #c1c3c2;
		position: absolute;
		right: 100%;
		top: 0;
		bottom: 0;
		margin: auto
	}
	#approach_area .inner .bnr {
		margin: clamp(35px, -3.528px + 5.017vw, 65px) auto 0;
		max-width: 575px;
		width: 60%
	}
	#foot_sample {
		position: relative;
		padding: 82px 10%;
		background-color: #fff
	}
	#foot_sample .pc_only {
		position: relative;
		z-index: 1;
		max-width: 990px;
		margin: 0 auto
	}
	#laforre_info {
		padding: 90px 0;
		background-color: #c6d7e1;
		color: #333
	}
	#laforre_info h2 {
		margin-bottom: 55px;
		text-align: center
	}
	#laforre_info .wrap_box {
		display: flex;
		justify-content: space-between;
		max-width: 918px;
		margin: auto
	}
	#laforre_info .photo_box {
		max-width: 272px
	}
	#laforre_info .txt_box {
		width: calc(100% - 320px)
	}
	#laforre_info .txt_box h3 {
		margin-bottom: 30px;
		font-family: var(--font-sub);
		font-size: 20px;
		font-weight: 500
	}
	#laforre_info .txt_box p {
		margin-bottom: 30px;
		font-size: 14px;
		line-height: 24px
	}
	#laforre_info .site_link a {
		display: block;
		max-width: 382px;
		height: 56px;
		background-color: #fff;
		color: #000;
		text-align: center;
		font-size: 14px;
		font-weight: 500;
		line-height: 56px;
		text-decoration: none;
		transition: all .3s
	}
	#laforre_info .site_link a:hover {
		background-color: var(--color-key);
		color: var(--color-main)
	}
	#support_area {
		padding: 100px 0;
		background-color: #f5f5f5;
		color: #333
	}
	#support_area h2 {
		margin-bottom: 70px;
		font-size: 24px;
		font-weight: 500;
		text-align: center
	}
	.support_wrap {
		display: flex;
		justify-content: center;
		flex-wrap: wrap
	}
	.support_box {
		max-width: 280px;
		margin: 0 20px;
		text-align: center;
		line-height: 32px
	}
	.support_box .text {
		margin-top: 20px
	}
}
@media screen and (max-width: 768px) {
	.pc_only {
		display: none
	}
	.sp_only {
		display: block
	}
	#kv_area {
		position: relative;
		overflow: hidden
	}
	#kv_area .sp_only {
		background: url(../img/mv/bg_sp.png) no-repeat center 50%;
		background-size: 100%;
		padding: 10% 7% 13%
	}
	#kv_area .light01 {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		mix-blend-mode: screen;
		z-index: 2;
		opacity: .3;
		animation-name: light01;
		animation-iteration-count: infinite;
		animation-duration: 3s;
		animation-timing-function: ease
	}
	#kv_area .light02 {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		mix-blend-mode: screen;
		opacity: .3;
		animation-name: light01;
		animation-iteration-count: infinite;
		animation-duration: 5s;
		animation-timing-function: ease;
		animation-delay: 1.5s
	}
	#kv_area .box {
		position: relative
	}
	#kv_area .box .item {
		width: 100%;
		position: relative;
		padding: 2% 0 0
	}
	#kv_area .box .item .item_img {
		width: 95%;
	}
	#kv_area .box .item .wappen {
		position: absolute;
		top: 2.5%;
		left: 0;
		width: 38%
	}
	#kv_area .box .item .wappen .light {
		position: absolute;
		top: 0;
		left: 0;
		mix-blend-mode: screen
	}
	#kv_area .box .copy01 {
		padding-bottom: 6%;
		position: relative;
		z-index: 2
	}
	#kv_area .box .copy01 img {
		width: 100%;
		max-width: inherit
	}
	#kv_area .box .copy02 {
		margin-top: -36.333%;
		position: relative;
		z-index: 2;
        text-align: center;
	}
	#kv_area .box .copy02 img {
		width: 90%;
		max-width: inherit
	}
	#kv_area .box .award {
		margin-top: 4%;
		position: relative;
		z-index: 2;
        text-align: center;
	}
	#kv_area .box .award img {
		width: 100%;
		max-width: inherit
	}
	#kv_area .bright {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		mix-blend-mode: screen;
		z-index: 3
	}
	#kv_area .bright::before {
		content: "";
		height: 100%;
		width: 30px;
		position: absolute;
		top: -500px;
		left: -500px;
		background-color: rgba(255, 255, 255, .4);
		opacity: 0;
		transform: rotate(45deg);
		z-index: 2
	}
	.second_view {
		background: url(../img/second_view_bg.png) no-repeat center top;
		background-size: 100%;
		margin-top: -27%;
		z-index: 2;
		position: relative
	}
	#kv_sample_area {
		padding: 35% 7% 5%;
		z-index: 2;
		position: relative
	}
	#concept_area {
		padding: 5% 7% 10%
	}
	#concept_area .inner h2 {
		width: 100%
	}
	#concept_area .inner .copy {
		margin: 6% auto 0;
		width: 80%
	}
	#concept_area .inner .movie {
		margin: 6% auto 0;
		position: relative
	}
	#concept_area .inner .movie .frame {
		position: absolute;
		bottom: 4%;
		left: 5%;
		aspect-ratio: 16/9;
		width: 90%
	}
	#concept_area .inner .movie .frame iframe {
		width: 100%;
		height: auto;
		aspect-ratio: 16/9
	}
	#concept_area .inner .howto {
		margin: clamp(43px, 10.391px + 8.152vw, 73px) auto 0;
		position: relative;
		background: url(../img/concept/headline02_sp__under.png) no-repeat center bottom;
		background-size: 100%;
		max-width: 809px
	}
	#concept_area .inner .howto p {
		color: #fff;
		padding: 2.6% 0 8%;
		font-size: 4.3vw;
		text-align: center;
		font-weight: 300;
		letter-spacing: .1em;
		line-height: 1.8
	}
	#voice_area {
		background: url(../img/voice/bg_sp.png) no-repeat center top;
		background-size: cover;
		padding: 10% 0;
		text-align: center;
		overflow: hidden
	}
	#voice_area h2 {
		width: 60%;
		margin: 0 auto
	}
	#voice_area .sp_only {
		width: 105%;
		margin-left: -2%;
		margin-top: 6%
	}
	#voice_area .sp_only .balloon {
		filter: drop-shadow(20px 3px 15px rgba(215, 156, 101, 0.2))
	}
	#voice_area .note {
		transform: translateY(-120%);
		width: 39%;
		margin-left: auto;
		text-indent: -1.9em;
		padding-left: 1.9em;
		margin-right: 7%;
		text-align: right;
		font-size: 3vw
	}
	#product_area {
		background: url(../img/product/bg_sp.png) no-repeat center top;
		background-size: cover;
		padding: 10% 7% 10%;
		text-align: center;
		position: relative;
		overflow: hidden
	}
	#product_area .inner {
		position: relative;
		z-index: 1;
		max-width: 990px;
		margin: 0 auto
	}
	#product_area .inner h2 {
		width: 55%;
		margin: 0 auto
	}
	#product_area .inner .img {
		width: 130%;
		margin-left: -15%
	}
	#product_area .inner .readcopy {
		width: 90%;
		margin: -35% auto 0
	}
	#product_area .inner .features {
		justify-content: center;
		max-width: 990px;
		margin: clamp(42px, 3.472px + 5.017vw, 72px) auto 0
	}
	#product_area .inner .features dl {
		margin-top: 10%
	}
	#product_area .inner .features dl dt {
		overflow: hidden
	}
	#product_area .inner .features dl dt span {
		display: inline-block;
		position: relative;
		padding: 0 4%
	}
	#product_area .inner .features dl dt span img {
		width: 75%
	}
	#product_area .inner .features dl dt span::before {
		content: "";
		width: 150%;
		height: 2px;
		background-color: #47535a;
		position: absolute;
		left: 100%;
		top: 0;
		bottom: 0;
		margin: auto
	}
	#product_area .inner .features dl dt span::after {
		content: "";
		width: 150%;
		height: 2px;
		background-color: #47535a;
		position: absolute;
		right: 100%;
		top: 0;
		bottom: 0;
		margin: auto
	}
	#product_area .inner .features dl dd {
		font-size: 4.1vw;
		text-align: left;
		line-height: 1.8;
		letter-spacing: .08em;
		margin-top: 18px;
		font-weight: 500
	}
	#product_area .inner .features dl dd sup {
		vertical-align: top;
		font-size: 75%
	}
	#product_area .inner .features dl .labels {
		display: flex;
		justify-content: center;
		margin-top: 5px
	}
	#product_area .inner .features dl .labels li {
		width: 33.333%
	}
	#product_area .inner .note {
		margin-top: 5%;
		text-align: left;
		font-size: 3vw
	}
	#product_area .inner .mechanism {
		margin: clamp(30px, 4.314px + 3.344vw, 50px) auto 0;
		border: 2px solid #598ccd;
		box-shadow: 0px 0px 15px rgba(0, 0, 0, .15);
		background-color: #fff;
		box-sizing: border-box;
		position: relative;
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-direction: column;
		padding: 12% 3% 8%
	}
	#product_area .inner .mechanism h2 {
		position: absolute;
		left: 0;
		right: 0;
		top: -2.5%;
		margin: auto;
		background-color: #598ccd;
		width: 30%;
		padding: 2% 0;
		height: auto;
		display: flex;
		justify-content: center;
		align-items: center;
		box-sizing: border-box;
		font-size: 4vw;
		font-family: var(--font-sub);
		line-height: 1;
		font-weight: 500;
		color: #fff
	}
	#product_area .inner .mechanism .text {
		padding: 0 3%
	}
	#product_area .inner .mechanism .text .mechanism_copy {
		font-size: 3.5vw;
		text-align: left;
		line-height: 1.8;
		letter-spacing: .08em;
		margin-top: clamp(18px, 0.02px + 2.341vw, 32px)
	}
	#product_area .inner .mechanism .mechanism_img {
		margin-top: 10%;
		position: relative
	}
	#product_area .inner .mechanism .mechanism_img #mechanism_animation {
		position: absolute;
		left: -4px;
		top: -6.8%;
		width: 100%;
		height: 100%
	}
	#product_area .inner .mechanism .mechanism_img .svg {
		position: relative;
		z-index: 2
	}
	#product_area .inner .mechanism .mechanism_img svg {
		width: 100%;
		height: auto
	}
	#product_area .inner .mechanism .mechanism_img svg .star01 {
		opacity: 0;
		animation-name: starflash;
		animation-iteration-count: infinite;
		animation-duration: 3s;
		animation-timing-function: ease-out;
		animation-delay: 1.5s
	}
	#product_area .inner .mechanism .mechanism_img svg .star02 {
		opacity: 0;
		animation-name: starflash;
		animation-iteration-count: infinite;
		animation-duration: 3s;
		animation-timing-function: ease-out
	}
	#approach_area {
		position: relative;
		padding: 10% 7%
	}
	#approach_area::before {
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 13%;
		background: #fff;
		background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgb(249, 232, 204) 100%)
	}
	#approach_area .inner {
		position: relative;
		z-index: 1;
		max-width: 990px;
		margin: 0 auto
	}
	#approach_area .inner h2 {
		width: 100%;
		margin: 0 auto
	}
	#approach_area .inner .step {
		list-style-type: none;
		width: 100%
	}
	#approach_area .inner .step li:not(.anchor) {
		display: flex;
		width: 100%;
		padding: 25px 0 78%;
		gap: clamp(15px, 8.579px + 0.836vw, 20px);
		position: relative
	}
	#approach_area .inner .step li:not(.anchor) .wappen {
		flex-shrink: 0;
		width: 25%
	}
	#approach_area .inner .step li:not(.anchor) .text h3 {
		font-size: 5.2vw;
		font-family: var(--font-sub);
		font-weight: 600;
		color: #e88a2a
	}
	#approach_area .inner .step li:not(.anchor) .text p {
		font-size: 3.7vw;
		text-align: left;
		line-height: 1.8;
		letter-spacing: .08em;
		margin-top: 5px
	}
	#approach_area .inner .step li:not(.anchor) .img {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		flex-shrink: 0;
		margin-left: auto
	}
	#approach_area .inner .step .anchor {
		position: relative;
		text-align: center;
		overflow: hidden;
		margin-top: 7%
	}
	#approach_area .inner .step .anchor span {
		display: inline-block;
		width: 30%;
		padding: 0 20px;
		position: relative
	}
	#approach_area .inner .step .anchor span::before {
		content: "";
		width: 990px;
		height: 2px;
		background-color: #c1c3c2;
		position: absolute;
		left: 100%;
		top: 0;
		bottom: 0;
		margin: auto
	}
	#approach_area .inner .step .anchor span::after {
		content: "";
		width: 990px;
		height: 2px;
		background-color: #c1c3c2;
		position: absolute;
		right: 100%;
		top: 0;
		bottom: 0;
		margin: auto
	}
	#approach_area .inner .bnr {
		margin: 5% auto 0;
		width: 100%
	}
	#foot_sample {
		position: relative;
		padding: 10% 7%;
		background-color: #fff
	}
	#foot_sample .pc_only {
		position: relative;
		z-index: 1;
		max-width: 990px;
		margin: 0 auto
	}
	#laforre_info {
		padding: 18.667vw 7% 14.667vw;
		background-color: #c6d7e1
	}
	#laforre_info h2 {
		margin-bottom: 10%;
		text-align: center
	}
	#laforre_info .sp_logo {
		max-width: 73.333vw;
		margin: 60px auto
	}
	#laforre_info .wrap_box {
		max-width: 100%
	}
	#laforre_info .photo_box {
		max-width: 72vw;
		margin: auto
	}
	#laforre_info .txt_box {
		width: 100%
	}
	#laforre_info .txt_box h3 {
		margin-top: 15%;
		margin-bottom: 30px;
		font-family: var(--font-sub);
		font-size: 5.333vw;
		font-weight: 500;
		text-align: center;
		line-height: 8vw
	}
	#laforre_info .txt_box p {
		margin-bottom: 8vw
	}
	#laforre_info .site_link {
		padding-top: 5.333vw
	}
	#laforre_info .site_link a {
		display: flex;
		align-items: center;
		justify-content: center;
		max-width: 100%;
		height: 13.333vw;
		margin: auto;
		background-color: #fff;
		color: #000;
		text-align: center;
		font-weight: 500;
		text-decoration: none;
		transition: all .3s
	}
	#laforre_info .site_link a:hover {
		background-color: var(--color-key);
		color: var(--color-main)
	}
	#support_area {
		padding: 13.333vw 0 16vw;
		background-color: #f5f5f5
	}
	#support_area h2 {
		margin-bottom: 8vw;
		font-size: 4.267vw;
		font-weight: 500;
		line-height: 7.467vw;
		text-align: center
	}
	.support_wrap {
		display: flex;
		justify-content: center
	}
	.support_box {
		max-width: 68vw;
		margin: 0 20px;
		text-align: center;
		line-height: 5.6vw
	}
	.support_box .text {
		margin-top: 4vw
	}
}
#kv_area .lights {
	opacity: 0
}
#kv_area .item .item_img {
	opacity: 0;
	transform: translateY(10px)
}
#kv_area .item .wappen {
	opacity: 0
}
#kv_area .copy01 span {
	display: block;
	transform: translateY(-30px);
	opacity: 0
}
#kv_area .copy01::after {
	width: 0%;
	opacity: 0
}
#kv_area .copy02,
#kv_area .award {
	opacity: 0
}
#kv_area .bg {
	transform: scale(1.1) translateX(-5%);
	transform-origin: left center
}
.loaded #kv_area .item .item_img {
	opacity: 1;
	-o-transition: all 2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 2s cubic-bezier(0.33, 1, 0.68, 1);
	transform: translateY(0px);
	transition-delay: .4s
}
.loaded #kv_area .item .wappen {
	opacity: 1;
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition-delay: 1.2s
}
.loaded #kv_area .item .wappen .light {
	mix-blend-mode: screen;
	opacity: 0;
	animation-name: starflash;
	animation-iteration-count: infinite;
	animation-duration: 5s;
	animation-timing-function: ease;
	animation-delay: 2.5s
}
.loaded #kv_area .copy01 span {
	transform: translateY(0);
	opacity: 1;
	-o-transition: all 2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 2s cubic-bezier(0.33, 1, 0.68, 1)
}
.loaded #kv_area .copy01::after {
	-o-transition: all .8s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all .8s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all .8s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all .8s cubic-bezier(0.33, 1, 0.68, 1);
	width: 100%;
	opacity: 1;
	transition-delay: 1.8s
}
.loaded #kv_area .copy02 {
	opacity: 1;
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition-delay: 1.8s
}
.loaded #kv_area .award {
	opacity: 1;
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition-delay: 2.6s
}
.loaded #kv_area .bright::before {
	animation: reflection 9s;
	animation-fill-mode: forwards;
	animation-timing-function: cubic-bezier(0.33, 1, 0.68, 1)
}
@media screen and (max-width: 768px) {
	.loaded #kv_area .bright::before {
		animation: reflection 15s
	}
}
#kv_sample_area .sc_trigger {
	opacity: 0;
	transform: translateY(30px)
}
#kv_sample_area .sc_trigger.in_view {
	opacity: 1;
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transform: translateY(0px)
}
#concept_area .sc_trigger {
	opacity: 0;
	transform: translateY(30px)
}
#concept_area .sc_trigger.in_view {
	opacity: 1;
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transform: translateY(0px)
}
#voice_area h2.sc_trigger, #voice_area .note.sc_trigger {
	opacity: 0;
	transform: translateY(30px)
}
#voice_area h2.sc_trigger.in_view, #voice_area .note.sc_trigger.in_view {
	opacity: 1;
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transform: translateY(0px)
}
#voice_area .voice_img.pc_only .woman {
	opacity: 0;
	transform: translateY(30px)
}
#voice_area .voice_img.pc_only .balloon {
	opacity: 0;
	transform: translateY(10px)
}
#voice_area .voice_img.pc_only .balloon.voice01 {
	transform: translateX(10px)
}
#voice_area .voice_img.pc_only .balloon.voice02 {
	transform: translateX(-10px)
}
#voice_area .voice_img.pc_only .balloon.voice03 {
	transform: translateX(10px)
}
#voice_area .voice_img.pc_only .balloon.voice04 {
	transform: translateX(-10px)
}
#voice_area .voice_img.pc_only .balloon.voice05 {
	transform: translateX(10px)
}
#voice_area .voice_img.pc_only .balloon.voice06 {
	transform: translateX(-10px)
}
#voice_area .voice_img.pc_only.in_view .woman {
	opacity: 1;
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transform: translateY(0px)
}
#voice_area .voice_img.pc_only.in_view .balloon {
	opacity: 1;
	transform: translateX(0px);
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1)
}
#voice_area .voice_img.pc_only.in_view .balloon.voice01 {
	transition-delay: .2s
}
#voice_area .voice_img.pc_only.in_view .balloon.voice02 {
	transition-delay: .4s
}
#voice_area .voice_img.pc_only.in_view .balloon.voice03 {
	transition-delay: .6s
}
#voice_area .voice_img.pc_only.in_view .balloon.voice04 {
	transition-delay: .8s
}
#voice_area .voice_img.pc_only.in_view .balloon.voice05 {
	transition-delay: 1s
}
#voice_area .voice_img.pc_only.in_view .balloon.voice06 {
	transition-delay: 1.2s
}
#voice_area .voice_img.sp_only .woman {
	opacity: 0;
	transform: translateX(30px)
}
#voice_area .voice_img.sp_only .balloon {
	opacity: 0;
	transform: translateY(10px)
}
#voice_area .voice_img.sp_only .balloon.voice01 {
	transform: translate(15px, 15px)
}
#voice_area .voice_img.sp_only .balloon.voice02 {
	transform: translate(5px, 15px)
}
#voice_area .voice_img.sp_only .balloon.voice03 {
	transform: translate(15px, 0px)
}
#voice_area .voice_img.sp_only .balloon.voice04 {
	transform: translate(15px, 0px)
}
#voice_area .voice_img.sp_only .balloon.voice05 {
	transform: translate(15px, -15px)
}
#voice_area .voice_img.sp_only .balloon.voice06 {
	transform: translate(15px, -15px)
}
#voice_area .voice_img.sp_only.in_view .woman {
	opacity: 1;
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transform: translate(0px)
}
#voice_area .voice_img.sp_only.in_view .balloon {
	opacity: 1;
	transform: translate(0px);
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1)
}
#voice_area .voice_img.sp_only.in_view .balloon.voice01 {
	transition-delay: .2s
}
#voice_area .voice_img.sp_only.in_view .balloon.voice02 {
	transition-delay: .4s
}
#voice_area .voice_img.sp_only.in_view .balloon.voice03 {
	transition-delay: .6s
}
#voice_area .voice_img.sp_only.in_view .balloon.voice04 {
	transition-delay: .8s
}
#voice_area .voice_img.sp_only.in_view .balloon.voice05 {
	transition-delay: 1s
}
#voice_area .voice_img.sp_only.in_view .balloon.voice06 {
	transition-delay: 1.2s
}
#product_area.sc_trigger {
	opacity: 0
}
#product_area.sc_trigger.in_view {
	opacity: 1;
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1)
}
#product_area .inner h2.sc_trigger {
	opacity: 0;
	transform: translateY(30px)
}
#product_area .inner h2.sc_trigger.in_view {
	opacity: 1;
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transform: translateY(0px)
}
#product_area .inner .img.sc_trigger .item01 {
	opacity: 0;
	transform: translateX(30px)
}
#product_area .inner .img.sc_trigger .item02 {
	opacity: 0;
	transform: translateX(-30px)
}
#product_area .inner .img.sc_trigger.in_view .item01 {
	opacity: 1;
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transform: translateX(0px)
}
#product_area .inner .img.sc_trigger.in_view .item02 {
	opacity: 1;
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transform: translateX(0px)
}
#product_area .inner .readcopy.sc_trigger {
	opacity: 0;
	transform: translateY(30px)
}
#product_area .inner .readcopy.sc_trigger.in_view {
	opacity: 1;
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transform: translateY(0px)
}
#product_area .inner .features dl.sc_trigger dt span {
	opacity: 0
}
#product_area .inner .features dl.sc_trigger dt span::before {
	width: 0%
}
#product_area .inner .features dl.sc_trigger dt span::after {
	width: 0%
}
#product_area .inner .features dl.sc_trigger dd {
	opacity: 0;
	transform: translateY(30px)
}
#product_area .inner .features dl.sc_trigger .labels li {
	opacity: 0;
	transform: scale(0.9)
}
#product_area .inner .features dl.in_view dt span {
	opacity: 1;
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1)
}
#product_area .inner .features dl.in_view dt span::before {
	width: 150%;
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition-delay: .2s
}
#product_area .inner .features dl.in_view dt span::after {
	width: 150%;
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition-delay: .2s
}
#product_area .inner .features dl.in_view dd {
	opacity: 1;
	transform: translateY(0px);
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition-delay: 1.2s
}
#product_area .inner .features dl.in_view .labels li {
	opacity: 1;
	transform: scale(1);
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1)
}
#product_area .inner .features dl.in_view .labels li:nth-child(1) {
	transition-delay: 1.4s
}
#product_area .inner .features dl.in_view .labels li:nth-child(2) {
	transition-delay: 1.5s
}
#product_area .inner .features dl.in_view .labels li:nth-child(3) {
	transition-delay: 1.6s
}
#product_area .inner .note.sc_trigger {
	opacity: 0;
	transform: translateY(30px)
}
#product_area .inner .note.sc_trigger.in_view {
	opacity: 1;
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transform: translateY(0px)
}
#product_area .inner .mechanism.sc_trigger {
	opacity: 0;
	transform: translateY(30px)
}
#product_area .inner .mechanism.sc_trigger.in_view {
	opacity: 1;
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transform: translateY(0px)
}
#approach_area .inner h2.sc_trigger {
	opacity: 0;
	transform: translateY(30px)
}
#approach_area .inner h2.sc_trigger.in_view {
	opacity: 1;
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transform: translateY(0px)
}
#approach_area .inner .step.sc_trigger .anchor span img {
	opacity: 0;
	transform: translateY(-20px)
}
#approach_area .inner .step.sc_trigger .anchor span::before {
	width: 0px
}
#approach_area .inner .step.sc_trigger .anchor span::after {
	width: 0px
}
#approach_area .inner .step.sc_trigger li:not(.anchor) .wappen .wappen_circle {
	transform: rotate(-180deg);
	transform-origin: center;
	opacity: 0
}
#approach_area .inner .step.sc_trigger li:not(.anchor) .wappen .wappen_step {
	transform: scale(1.1);
	transform-origin: center;
	opacity: 0
}
#approach_area .inner .step.sc_trigger li:not(.anchor) .text h3 {
	opacity: 0;
	transform: translateX(20px)
}
#approach_area .inner .step.sc_trigger li:not(.anchor) .text p {
	opacity: 0;
	transform: translateX(20px)
}
#approach_area .inner .step.sc_trigger li:not(.anchor) .img {
	opacity: 0;
	transform: translateY(20px)
}
#approach_area .inner .step.sc_trigger.in_view li:not(.anchor).setp01 .wappen .wappen_circle {
	transform: rotate(0deg);
	opacity: 1;
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1)
}
#approach_area .inner .step.sc_trigger.in_view li:not(.anchor).setp01 .wappen .wappen_step {
	transform: scale(1);
	opacity: 1;
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition-delay: .6s
}
#approach_area .inner .step.sc_trigger.in_view li:not(.anchor).setp01 .text h3 {
	opacity: 1;
	transform: translateX(0px);
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition-delay: 1.2s
}
#approach_area .inner .step.sc_trigger.in_view li:not(.anchor).setp01 .text p {
	opacity: 1;
	transform: translateX(0px);
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition-delay: 1.4s
}
#approach_area .inner .step.sc_trigger.in_view li:not(.anchor).setp01 .img {
	opacity: 1;
	transform: translateY(0px);
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition-delay: 1.8s
}
#approach_area .inner .step.sc_trigger.in_view li:not(.anchor).setp01+.anchor span img {
	opacity: 1;
	transform: translateY(0px);
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition-delay: 2.4s
}
#approach_area .inner .step.sc_trigger.in_view li:not(.anchor).setp01+.anchor span::before {
	width: 900px;
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition-delay: 2.4s
}
#approach_area .inner .step.sc_trigger.in_view li:not(.anchor).setp01+.anchor span::after {
	width: 900px;
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition-delay: 2.4s
}
#approach_area .inner .step.sc_trigger.in_view li:not(.anchor).setp02 .wappen .wappen_circle {
	transform: rotate(0deg);
	opacity: 1;
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition-delay: 2.6s
}
#approach_area .inner .step.sc_trigger.in_view li:not(.anchor).setp02 .wappen .wappen_step {
	transform: scale(1);
	opacity: 1;
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition-delay: 3.2s
}
#approach_area .inner .step.sc_trigger.in_view li:not(.anchor).setp02 .text h3 {
	opacity: 1;
	transform: translateX(0px);
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition-delay: 3.8s
}
#approach_area .inner .step.sc_trigger.in_view li:not(.anchor).setp02 .text p {
	opacity: 1;
	transform: translateX(0px);
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition-delay: 4s
}
#approach_area .inner .step.sc_trigger.in_view li:not(.anchor).setp02 .img {
	opacity: 1;
	transform: translateY(0px);
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition-delay: 4.4s
}
#approach_area .inner .step.sc_trigger.in_view li:not(.anchor).setp02+.anchor span img {
	opacity: 1;
	transform: translateY(0px);
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition-delay: 5s
}
#approach_area .inner .step.sc_trigger.in_view li:not(.anchor).setp02+.anchor span::before {
	width: 900px;
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition-delay: 5s
}
#approach_area .inner .step.sc_trigger.in_view li:not(.anchor).setp02+.anchor span::after {
	width: 900px;
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition-delay: 5s
}
#approach_area .inner .step.sc_trigger.in_view li:not(.anchor).setp03 .wappen .wappen_circle {
	transform: rotate(0deg);
	opacity: 1;
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition-delay: 4.8s
}
#approach_area .inner .step.sc_trigger.in_view li:not(.anchor).setp03 .wappen .wappen_step {
	transform: scale(1);
	opacity: 1;
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition-delay: 5.4s
}
#approach_area .inner .step.sc_trigger.in_view li:not(.anchor).setp03 .text h3 {
	opacity: 1;
	transform: translateX(0px);
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition-delay: 6s
}
#approach_area .inner .step.sc_trigger.in_view li:not(.anchor).setp03 .text p {
	opacity: 1;
	transform: translateX(0px);
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition-delay: 6.2s
}
#approach_area .inner .step.sc_trigger.in_view li:not(.anchor).setp03 .img {
	opacity: 1;
	transform: translateY(0px);
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition-delay: 6.6s
}
#approach_area .inner .step.sc_trigger.in_view li:not(.anchor).setp03+.anchor span img {
	opacity: 1;
	transform: translateY(0px);
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition-delay: 7.2s
}
#approach_area .inner .step.sc_trigger.in_view li:not(.anchor).setp03+.anchor span::before {
	width: 900px;
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition-delay: 7.2s
}
#approach_area .inner .step.sc_trigger.in_view li:not(.anchor).setp03+.anchor span::after {
	width: 900px;
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition-delay: 7.2s
}
#approach_area .inner .bnr.sc_trigger {
	opacity: 0;
	transform: translateY(30px)
}
#approach_area .inner .bnr.sc_trigger.in_view {
	opacity: 1;
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transform: translateY(0px)
}
#laforre_info h2.sc_trigger {
	opacity: 0;
	transform: translateY(30px)
}
#laforre_info h2.sc_trigger.in_view {
	opacity: 1;
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transform: translateY(0px)
}
#laforre_info .wrap_box.sc_trigger {
	opacity: 0;
	transform: translateY(30px)
}
#laforre_info .wrap_box.sc_trigger.in_view {
	opacity: 1;
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transform: translateY(0px)
}
#support_area h2.sc_trigger {
	opacity: 0;
	transform: translateY(30px)
}
#support_area h2.sc_trigger.in_view {
	opacity: 1;
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transform: translateY(0px)
}
#support_area .support_wrap.sc_trigger {
	opacity: 0;
	transform: translateY(30px)
}
#support_area .support_wrap.sc_trigger.in_view {
	opacity: 1;
	-o-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	-moz-transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 1.2s cubic-bezier(0.33, 1, 0.68, 1);
	transform: translateY(0px)
}
.sample a {
	transition: .4s ease
}
.sample a:hover {
	opacity: .6
}
.float-btn a {
	transition: .3s ease
}
.float-btn a:hover {
	transform: scale(1.05)
}
@page {
	margin: 10mm;
	size: 210mm 297mm
}
@media print {
	body {
		-webkit-print-color-adjust: exact;
		width: 1190px;
		zoom: .8
	}
	#header, #footer {
		width: 1190px
	}
	#header {
		position: relative
	}
	#wrapper {
		padding-top: 0
	}
	.animation-trigger {
		opacity: 1;
		transform: translateZ(0)
	}
	.animation-trigger.reserve {
		opacity: 1;
		transform: translateZ(0)
	}
	.animation-trigger.up {
		opacity: 1;
		transform: translateZ(0)
	}
	.animation-trigger-block>* {
		opacity: 1;
		transform: translateZ(0)
	}
	.animation-trigger-block.left>* {
		opacity: 1;
		transform: translateZ(0)
	}
	.animation-trigger-block.viewed>* {
		opacity: 1;
		transform: translateZ(0)
	}
}
/*# sourceMappingURL=style.css.map */