@charset "UTF-8";
/* @import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700|Poppins:400,600,700"); */
html {
	overflow-y: scroll;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	background: #fff;
	-webkit-text-size-adjust: 100%;
	font-size: 10px;
	font-feature-settings: "palt" 1;
	-webkit-transition: all 0.5s linear;
	transition: all 0.5s linear;
	-webkit-transition-property: opacity, visibility;
	transition-property: opacity, visibility;
	-webkit-font-feature-settings: "palt" 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

@media screen and (min-width: 1500px) {
	html {
		font-size: 12.5px;
	}
}

@media screen and (max-width: 767px) {
	html {
		font-size: 18px;
	}
}

@media screen and (max-width: 639px) {
	html {
		font-size: 10px;
	}
}
* {
	/* line-height: 1.5 !important; */
	letter-spacing: 0.12rem !important;
	word-spacing: 0.16rem !important;
}

body {
	position: relative;
	margin: 0;
	color: #222;
	font-family: "Poppins", "kittithada", "Noto Sans JP",
		"Hiragino Kaku Gothic ProN", "ãƒ’ãƒ©ã‚®ãƒŽè§’ã‚´ ProN W3", ãƒ¡ã‚¤ãƒªã‚ª,
		sans-serif;
	line-height: 1.6;
}

header,
footer {
	position: relative;
	margin: 0;
	color: #222;
	font-family: "Poppins", "kittithada", "Noto Sans JP",
		"Hiragino Kaku Gothic ProN", "ãƒ’ãƒ©ã‚®ãƒŽè§’ã‚´ ProN W3", ãƒ¡ã‚¤ãƒªã‚ª,
		sans-serif;
	line-height: 1.6;
}

nav {
	color: #000;
	font-family: "Poppins", "kittithada", "Noto Sans JP",
		"Hiragino Kaku Gothic ProN", "ãƒ’ãƒ©ã‚®ãƒŽè§’ã‚´ ProN W3", ãƒ¡ã‚¤ãƒªã‚ª,
		sans-serif;
	line-height: 1.6;
}

body:lang(zh-cmn-Hant) {
	font-family: "Poppins", "Segoe UI", SegoeUI, "Microsoft JhengHei",
		å¾®è»Ÿæ­£é»‘é«”, "Helvetica Neue", Helvetica, Arial, sans-serif;
}

@media screen and (min-width: 768px) {
	header,
	footer,
	nav {
		font-size: 1.6rem;
	}
}

@media screen and (max-width: 767px) {
	header,
	footer,
	nav {
		font-size: 1.2rem;
	}
}

body:after {
	position: fixed;
	top: 0;
	left: 0;
	display: block;
	visibility: hidden;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.4);
	content: "";
	opacity: 0;
	-webkit-transition: opacity 0.2s ease-out, visibility 0.2s ease-out;
	transition: opacity 0.2s ease-out, visibility 0.2s ease-out;
}

@media screen and (min-width: 768px) {
	body:after {
		z-index: 100;
	}
}

@media screen and (max-width: 767px) {
	body:after {
		z-index: 10;
	}
}

.-menu-open body:after {
	visibility: visible;
	opacity: 1;
}

*,
::before,
::after {
	-webkit-box-sizing: inherit;
	box-sizing: inherit;
	background-repeat: no-repeat;
}

::before,
::after {
	vertical-align: inherit;
	text-decoration: inherit;
}

* {
	margin: 0;
	padding: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section {
	display: block;
}

a {
	background-color: transparent;
	-webkit-text-decoration-skip: objects;
}

a:active,
a:hover {
	outline-width: 0;
}

b,
strong {
	font-weight: bolder;
}

header input,
footer input {
	border-radius: 0;
}

button,
[type="button"],
[type="submit"],
[role="button"] {
	cursor: pointer;
}

header button,
header input,
footer button,
footer input {
	font: inherit;
}

button {
	overflow: visible;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	padding: 0;
}

button:-moz-focusring,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	outline: 1px dotted ButtonText;
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

header button,
header select,
footer button,
footer select .kv button,
.kv select,
nav button,
nav select {
	text-transform: none;
}

header button,
header input,
footer button,
footer input,
.kv input,
.kv button,
nav input,
nav button {
	border-style: none;
	background-color: transparent;
	color: inherit;
}

img {
	border-style: none;
}

progress {
	vertical-align: baseline;
}

svg:not(:root) {
	overflow: hidden;
}

audio,
canvas,
progress,
video {
	display: inline-block;
}

[aria-busy="true"] {
	cursor: progress;
}

[aria-controls] {
	cursor: pointer;
}

[aria-disabled] {
	cursor: default;
}

::-moz-selection {
	background-color: #b3d4fc;
	color: #000;
	text-shadow: none;
}

::selection {
	background-color: #b3d4fc;
	color: #000;
	text-shadow: none;
}

header strong,
footer strong,
nav strong {
	font-weight: 600;
}

header a,
footer a,
nav a {
	position: relative;
	outline: none;
	color: #222;
	text-decoration: none;
	-webkit-touch-callout: none;
}

a:hover {
	text-decoration: none;
}

a:hover img {
	opacity: 1 !important;
}

*:focus {
	outline: none;
}

button:focus {
	outline: none;
}

section {
	position: relative;
}

footer ul,
footer ol,
header ul,
header ol,
.kv ul,
.kv ol,
nav ul,
nav ol {
	list-style: none;
}

header li,
footer li,
.kv li nav li {
	position: relative;
}

header h1,
header h2,
header h3,
header h4,
header h5,
header h6,
footer h1,
footer h2,
footer h3,
footer h4,
footer h5,
footer h6,
nav h1,
nav h2,
nav h3,
nav h4,
nav h5,
nav h6 {
	font-weight: 600;
}

.for-sp {
	display: none !important;
}

@media screen and (max-width: 767px) {
	.for-sp {
		display: block !important;
	}
}

.for-pc {
	display: block !important;
}

@media screen and (max-width: 767px) {
	.for-pc {
		display: none !important;
	}
}

.caption {
	margin-top: 1em;
}

.keycolor {
	color: #3088ce;
}

.text.-keycolor {
	color: #3088ce;
}

.text.-external {
	position: relative;
	padding-right: 13px;
}

.text.-external:after {
	position: absolute;
	top: 50%;
	right: 0;
	display: block;
	margin-top: -1px;
	width: 7px;
	height: 8px;
	background: url("../images/icn-external-b.svg") center center no-repeat;
	background-size: 7px auto;
	content: "";
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
}

.text.-green {
	color: #6cbc2e;
}

area,
map {
	position: relative;
}

area .cursor,
map .cursor {
	display: none;
}

@media screen and (min-width: 768px) {
	.innerEl,
	.innerEl-tight,
	.innerEl-wide,
	.innerEl-huge,
	.innerEl-full,
	.innerEl-max {
		-webkit-box-sizing: content-box;
		box-sizing: content-box;
		margin-right: auto;
		margin-left: auto;
		padding-right: 1.5625em;
		padding-left: 1.5625em;
		max-width: 1320px;
	}
}

@media screen and (min-width: 1500px) {
	.innerEl,
	.innerEl-tight,
	.innerEl-wide,
	.innerEl-huge,
	.innerEl-full,
	.innerEl-max {
		max-width: 1500px;
	}
}

@media screen and (max-width: 767px) {
	.innerEl,
	.innerEl-tight,
	.innerEl-wide,
	.innerEl-huge,
	.innerEl-full,
	.innerEl-max {
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		padding-right: 0.71429em;
		padding-left: 0.71429em;
	}
}

@media screen and (min-width: 768px) {
	.innerEl-tight {
		max-width: 62.5em;
		/*  max-width: 80em;*/
	}
}

@media screen and (min-width: 768px) {
	.innerEl-wide {
		max-width: 75em;
	}
}

@media screen and (min-width: 768px) {
	.innerEl-full {
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		padding-right: 0.625em;
		padding-left: 0.625em;
		max-width: inherit;
	}
}

@media screen and (min-width: 1500px) {
	.innerEl-full {
		max-width: 1500px;
	}
}

@media screen and (max-width: 767px) {
	.innerEl-full {
		padding-right: 0;
		padding-left: 0;
	}
}

@media screen and (min-width: 768px) {
	.innerEl-max {
		padding-right: 0;
		padding-left: 0;
		max-width: inherit;
	}
}

@media screen and (min-width: 1500px) {
	.innerEl-max {
		max-width: calc(1500px - 0.625em * 2);
	}
}

@media screen and (max-width: 767px) {
	.innerEl-max {
		padding-right: 0;
		padding-left: 0;
	}
}

.txtalign-c,
.-align-c {
	text-align: center;
}

.-dummy {
	color: red !important;
}

.partsName {
	padding-top: 3.33333em;
	padding-bottom: 0.83333em;
	color: red;
	font-size: 3.6rem;
}

@media screen and (max-width: 767px) {
	.partsName {
		padding-top: 4em;
		padding-bottom: 1.5em;
		font-size: 2rem;
	}
}

.partsName:first-child {
	padding-top: 4.16667em;
}

@media screen and (max-width: 767px) {
	.partsName:first-child {
		padding-top: 5em;
	}
}

.partsName-sub {
	padding: 0.66667em 0;
	color: red;
	font-size: 3rem;
}

.partsName span {
	display: block;
	font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
	.partsName span {
		font-size: 1.2rem;
	}
}

.partsBlock {
	padding-top: 5em;
	padding-bottom: 5em;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

@media screen and (max-width: 767px) {
	.partsBlock {
		padding-top: 2.85714em;
		padding-bottom: 2.85714em;
	}
}

.partsBlock.-header {
	padding-bottom: 2.5em;
}

@media screen and (max-width: 767px) {
	.partsBlock.-header {
		padding-bottom: 2.85714em;
	}
}

.partsBlock.-section {
	padding-top: 0;
	padding-bottom: 2.5em;
}

@media screen and (max-width: 767px) {
	.partsBlock.-section {
		padding-bottom: 2.85714em;
	}
}

.partsName + .partsBlock {
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

@media screen and (min-width: 768px) {
	.border-bottom {
		padding-bottom: 5.625em;
		border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	}
}

.lineout {
	position: relative;
	display: inline-block;
	overflow: hidden;
}

.lineout:before,
.lineout:after {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background: rgba(34, 34, 34, 0.7);
	content: "";
}

.lineout:before {
	-webkit-transform: translateX(0);
	-moz-transform: translateX(0);
	-ms-transform: translateX(0);
	-o-transform: translateX(0);
	transform: translateX(0);
}

.lineout:after {
	-webkit-transform: translateX(-100%);
	-moz-transform: translateX(-100%);
	-ms-transform: translateX(-100%);
	-o-transform: translateX(-100%);
	transform: translateX(-100%);
}

@media screen and (min-width: 768px) {
	button:hover .lineout:before,
	button:focus .lineout:before,
	.lineout:hover:before,
	a:hover .lineout:before,
	.lineout:focus:before,
	a:focus .lineout:before {
		-webkit-transition: -webkit-transform 0.5s 0.1s
			cubic-bezier(0.165, 0.84, 0.44, 1);
		transition: -webkit-transform 0.5s 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
		transition: transform 0.5s 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
		transition: transform 0.5s 0.1s cubic-bezier(0.165, 0.84, 0.44, 1),
			-webkit-transform 0.5s 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
		-webkit-transform: translateX(100%);
		-moz-transform: translateX(100%);
		-ms-transform: translateX(100%);
		-o-transform: translateX(100%);
		transform: translateX(100%);
	}
	button:hover .lineout:after,
	button:focus .lineout:after,
	.lineout:hover:after,
	a:hover .lineout:after,
	.lineout:focus:after,
	a:focus .lineout:after {
		-webkit-transition: -webkit-transform 0.5s 0.6s
			cubic-bezier(0.165, 0.84, 0.44, 1);
		transition: -webkit-transform 0.5s 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
		transition: transform 0.5s 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
		transition: transform 0.5s 0.6s cubic-bezier(0.165, 0.84, 0.44, 1),
			-webkit-transform 0.5s 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
		-webkit-transform: translateX(0);
		-moz-transform: translateX(0);
		-ms-transform: translateX(0);
		-o-transform: translateX(0);
		transform: translateX(0);
	}
}

.lineout.-dib {
	padding-bottom: 6px;
}

.lineout.-none:before {
	width: 0;
	-webkit-transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
	transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.lineout.-none:after {
	display: none;
}

@media screen and (min-width: 768px) {
	button:hover .lineout.-none:before,
	button:focus .lineout.-none:before,
	a:hover .lineout.-none:before,
	.lineout.-none:focus:before,
	a:focus .lineout.-none:before {
		left: 0;
		width: 100%;
		-webkit-transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
		transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
		-webkit-transform: translateX(0);
		-moz-transform: translateX(0);
		-ms-transform: translateX(0);
		-o-transform: translateX(0);
		transform: translateX(0);
	}
}

.lineout.-blue {
	color: #3088ce;
}

.lineout.-blue:before,
.lineout.-blue:after {
	background: #3088ce;
}

.lineout.-hover_blue {
	-webkit-transition: color 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
	transition: color 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.lineout.-hover_blue:before,
.lineout.-hover_blue:after {
	background: #3088ce;
}

@media screen and (min-width: 768px) {
	button:hover .lineout.-hover_blue,
	button:focus .lineout.-hover_blue,
	.lineout.-hover_blue:hover,
	a:hover .lineout.-hover_blue,
	.lineout.-hover_blue:focus,
	a:focus .lineout.-hover_blue {
		color: #3088ce;
	}
}

.lineout.-white:before,
.lineout.-white:after {
	background: #fff;
}

@-webkit-keyframes arw {
	0% {
		-webkit-transform: translateX(0);
		-moz-transform: translateX(0);
		-ms-transform: translateX(0);
		-o-transform: translateX(0);
		transform: translateX(0);
	}
	50% {
		-webkit-transform: translateX(100%);
		-moz-transform: translateX(100%);
		-ms-transform: translateX(100%);
		-o-transform: translateX(100%);
		transform: translateX(100%);
	}
	50.01% {
		-webkit-transform: translateX(-100%);
		-moz-transform: translateX(-100%);
		-ms-transform: translateX(-100%);
		-o-transform: translateX(-100%);
		transform: translateX(-100%);
	}
	100% {
		-webkit-transform: translateX(0);
		-moz-transform: translateX(0);
		-ms-transform: translateX(0);
		-o-transform: translateX(0);
		transform: translateX(0);
	}
}

@keyframes arw {
	0% {
		-webkit-transform: translateX(0);
		-moz-transform: translateX(0);
		-ms-transform: translateX(0);
		-o-transform: translateX(0);
		transform: translateX(0);
	}
	50% {
		-webkit-transform: translateX(100%);
		-moz-transform: translateX(100%);
		-ms-transform: translateX(100%);
		-o-transform: translateX(100%);
		transform: translateX(100%);
	}
	50.01% {
		-webkit-transform: translateX(-100%);
		-moz-transform: translateX(-100%);
		-ms-transform: translateX(-100%);
		-o-transform: translateX(-100%);
		transform: translateX(-100%);
	}
	100% {
		-webkit-transform: translateX(0);
		-moz-transform: translateX(0);
		-ms-transform: translateX(0);
		-o-transform: translateX(0);
		transform: translateX(0);
	}
}

.arwout {
	position: relative;
	display: inline-block;
	overflow: hidden;
}

.arwout.-blue {
	color: #3088ce;
}

.arwout.-flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	-ms-flex-align: center;
	justify-content: space-between;
	align-items: center;
	-webkit-box-align: center;
	-webkit-box-pack: justify;
}

.arwout__icn {
	position: relative;
	top: 1px;
	right: 1px;
	display: inline-block;
	overflow: hidden;
	margin-left: 0.375em;
	width: 6px;
	height: 9px;
	vertical-align: middle;
}

@media screen and (max-width: 767px) {
	.arwout__icn {
		margin-left: 8px;
	}
}

.-ex .arwout__icn {
	width: 8px;
	height: 8px;
}

.arwout__icn:after {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background-image: url("../images/arw.svg");
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	content: "";
	-webkit-transform: translateX(0);
	-moz-transform: translateX(0);
	-ms-transform: translateX(0);
	-o-transform: translateX(0);
	transform: translateX(0);
}

.arwout .lineout {
	vertical-align: middle;
}

@media screen and (min-width: 768px) {
	button:hover .arwout .arwout__icn:after,
	button:focus .arwout .arwout__icn:after,
	.arwout:hover .arwout__icn:after,
	a:hover .arwout .arwout__icn:after,
	.arwout:focus .arwout__icn:after,
	a:focus .arwout .arwout__icn:after {
		-webkit-animation: arw 1s cubic-bezier(0.78, 0.07, 0, 1) normal;
		animation: arw 1s cubic-bezier(0.78, 0.07, 0, 1) normal;
		-webkit-animation-fill-mode: both;
		animation-fill-mode: both;
	}
}

.more {
	position: relative;
	display: inline-block;
	overflow: hidden;
	color: #3088ce;
	white-space: nowrap;
	font-weight: 600;
	cursor: pointer;
}

.more.-expand {
	padding-bottom: 0.9375em;
}

@media screen and (max-width: 767px) {
	.more.-expand {
		display: block;
	}
}

.more.-btn {
	padding: 1.125em 0;
	min-width: 12.5em;
	background: #f0f4f7;
	text-align: center;
}

.more__icn {
	position: relative;
	right: 1px;
	display: inline-block;
	overflow: hidden;
	vertical-align: middle;
}

@media screen and (min-width: 768px) {
	.more__icn {
		top: 0;
		margin-left: 0.375em;
		width: 6px;
		height: 9px;
	}
}

@media screen and (max-width: 767px) {
	.more__icn {
		top: 0;
		margin-left: 5px;
		width: 4px;
		height: 7px;
	}
}

@media screen and (min-width: 768px) {
	.-text .more__icn {
		top: 0;
	}
}

@media screen and (min-width: 768px) {
	.-pdf .more__icn {
		width: 26px;
		height: 14px;
	}
}

@media screen and (max-width: 767px) {
	.-pdf .more__icn {
		width: 1.85714em;
		height: 1em;
	}
}

@media screen and (min-width: 768px) {
	.-external .more__icn {
		width: 7px;
		height: 7px;
	}
	.ie .-external .more__icn {
		width: 8px;
		height: 8px;
	}
}

@media screen and (max-width: 767px) {
	.-external .more__icn {
		width: 8px;
		height: 8px;
	}
}

@media screen and (min-width: 768px) {
	.-play .more__icn,
	.-dl .more__icn,
	.-tw .more__icn,
	.-fb .more__icn {
		width: 18px;
		height: 18px;
	}
}

@media screen and (max-width: 767px) {
	.-play .more__icn,
	.-dl .more__icn,
	.-tw .more__icn,
	.-fb .more__icn {
		width: 1.14286em;
		height: 1.14286em;
	}
}

.-expand .more__icn {
	position: absolute;
	top: inherit;
	right: inherit;
	bottom: 0;
	left: 50%;
	-webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	-o-transform: rotate(90deg);
	transform: rotate(90deg);
}

@media screen and (min-width: 768px) {
	.-expand .more__icn {
		margin-left: -3px;
	}
}

.more__icn:after {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background-image: url("../images/arw.svg");
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	content: "";
	-webkit-transform: translateX(0);
	-moz-transform: translateX(0);
	-ms-transform: translateX(0);
	-o-transform: translateX(0);
	transform: translateX(0);
}

.-black .more__icn:after {
	background-image: url("../images/arw-b.svg");
}

.-pdf .more__icn:after {
	background-image: url("../images/icn-pdf.jpg");
	-webkit-animation: none !important;
	animation: none !important;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}

.-external .more__icn:after {
	background-image: url("../images/icn-external-b.svg");
	-webkit-animation: none !important;
	animation: none !important;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}

.-play .more__icn:after {
	background-image: url("../images/icn-play-b.svg");
	-webkit-animation: none !important;
	animation: none !important;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}

.-dl .more__icn:after {
	background-image: url("../images/icn-dl.svg");
	-webkit-animation: none !important;
	animation: none !important;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}

.-tw .more__icn:after {
	background-image: url("../images/icn-tw.svg");
	-webkit-animation: none !important;
	animation: none !important;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}

.-fb .more__icn:after {
	background-image: url("../images/icn-fb.svg");
	-webkit-animation: none !important;
	animation: none !important;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}

.more__text {
	position: relative;
	display: inline-block;
	overflow: hidden;
	vertical-align: middle;
}

.more__text:before {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 100%;
	width: 0;
	height: 1px;
	background: #3088ce;
	content: "";
	-webkit-transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
	transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
	-webkit-transform: translateX(0);
	-moz-transform: translateX(0);
	-ms-transform: translateX(0);
	-o-transform: translateX(0);
	transform: translateX(0);
}

.rollup .more__text:before {
	display: none;
}

.more__text.-none:before {
	display: none;
}

.-black .more__text:before,
.-txt-black .more__text:before {
	background: #222;
}

@media screen and (min-width: 768px) {
	button:hover .more__text:before,
	button:focus .more__text:before,
	.more__text:hover:before,
	a:hover .more__text:before,
	.more__text:focus:before,
	a:focus .more__text:before {
		left: 0;
		width: 100%;
		-webkit-transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
		transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
		-webkit-transform: translateX(0);
		-moz-transform: translateX(0);
		-ms-transform: translateX(0);
		-o-transform: translateX(0);
		transform: translateX(0);
	}
}

@media screen and (min-width: 768px) {
	button:hover .more .more__icn:after,
	button:focus .more .more__icn:after,
	.more:hover .more__icn:after,
	a:hover .more .more__icn:after,
	.more:focus .more__icn:after,
	a:focus .more .more__icn:after {
		-webkit-animation: arw 1s cubic-bezier(0.78, 0.07, 0, 1) alternate;
		animation: arw 1s cubic-bezier(0.78, 0.07, 0, 1) alternate;
		-webkit-animation-fill-mode: both;
		animation-fill-mode: both;
	}
}

.elastic__header {
	position: relative;
}

.elastic__detail {
	display: none;
}

.elastic__detail.-debug,
.-debug .elastic__detail {
	display: block;
}

@media screen and (min-width: 768px) {
	.-only-sp .elastic__detail {
		display: block !important;
		opacity: 1 !important;
	}
}

.elastic__icn {
	position: absolute;
	top: 50%;
	display: block;
	border: 1px solid #fff;
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	border-radius: 100%;
	content: "";
	-webkit-transition: background 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	transition: background 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	-ms-border-radius: 100%;
}

.modalMenu .elastic__icn {
	border-color: #000;
}

@media screen and (min-width: 768px) {
	.elastic__icn {
		right: 1.75em;
		margin-top: -0.625em;
		width: 1.25em;
		height: 1.25em;
	}
	.-only-sp .elastic__icn {
		display: none;
	}
}

@media screen and (max-width: 767px) {
	.elastic__icn {
		right: 0.71429em;
		margin-top: -0.42857em;
		width: 0.85714em;
		height: 0.85714em;
		font-size: 1.4rem;
	}
	.modalMenu .elastic__icn {
		margin-top: -0.92857em;
	}
	.footer .elastic__icn {
		margin-top: -0.71429em;
	}
}

.elastic__icn:before,
.elastic__icn:after {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	margin-top: -0.0625em;
	background: #fff;
	content: "";
	-webkit-transition: -webkit-transform 0.3s
		cubic-bezier(0.25, 0.46, 0.45, 0.94);
	transition: -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94),
		-webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.modalMenu .elastic__icn:before,
.modalMenu .elastic__icn:after {
	background: #000;
}

@media screen and (min-width: 768px) {
	.elastic__icn:before,
	.elastic__icn:after {
		margin-left: -0.25em;
		width: 0.5em;
		height: 0.125em;
	}
}

@media screen and (max-width: 767px) {
	.elastic__icn:before,
	.elastic__icn:after {
		margin-top: -0.03571em;
		margin-left: -0.17857em;
		width: 0.35714em;
		height: 0.07143em;
	}
}

.elastic__icn:after {
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transform: rotate(0deg);
}

.elastic__icn:after {
	-webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	-o-transform: rotate(90deg);
	transform: rotate(90deg);
}

.-opened .elastic__icn:before {
	-webkit-transform: rotate(180deg);
	-moz-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	-o-transform: rotate(180deg);
	transform: rotate(180deg);
}

.-opened .elastic__icn:after {
	-webkit-transform: rotate(180deg);
	-moz-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	-o-transform: rotate(180deg);
	transform: rotate(180deg);
}
