@charset "UTF-8";

@font-face {
	font-family: swiper-icons;
	src: url("../fonts/7ce11af139a645a5bc3a53e0d5a261ab.woff") format("woff");
	font-weight: 400;
	font-style: normal
}
:root {
	--swiper-theme-color: #007aff
}

.swiper-container {
	margin-left: auto;
	margin-right: auto;
	position: relative;
	overflow: hidden;
	list-style: none;
	padding: 0;
	z-index: 1
}

.swiper-container-vertical>.swiper-wrapper {
	flex-direction: column
}

.swiper-wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	z-index: 1;
	display: flex;
	transition-property: transform;
	box-sizing: content-box
}

.swiper-container-android .swiper-slide,
.swiper-wrapper {
	transform: translateZ(0)
}

.swiper-container-multirow>.swiper-wrapper {
	flex-wrap: wrap
}

.swiper-container-multirow-column>.swiper-wrapper {
	flex-wrap: wrap;
	flex-direction: column
}

.swiper-container-free-mode>.swiper-wrapper {
	transition-timing-function: ease-out;
	margin: 0 auto
}

.swiper-slide {
	flex-shrink: 0;
	width: 100%;
	height: 100%;
	position: relative;
	transition-property: transform
}

.swiper-slide-invisible-blank {
	visibility: hidden
}

.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
	height: auto
}

.swiper-container-autoheight .swiper-wrapper {
	align-items: flex-start;
	transition-property: transform, height
}

.swiper-container-3d {
	perspective: 1200px
}

.swiper-container-3d .swiper-cube-shadow,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-wrapper {
	transform-style: preserve-3d
}

.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 10
}

.swiper-container-3d .swiper-slide-shadow-left {
	background-image: linear-gradient(270deg, rgba(0, 0, 0, .5), transparent)
}

.swiper-container-3d .swiper-slide-shadow-right {
	background-image: linear-gradient(90deg, rgba(0, 0, 0, .5), transparent)
}

.swiper-container-3d .swiper-slide-shadow-top {
	background-image: linear-gradient(0deg, rgba(0, 0, 0, .5), transparent)
}

.swiper-container-3d .swiper-slide-shadow-bottom {
	background-image: linear-gradient(180deg, rgba(0, 0, 0, .5), transparent)
}

.swiper-container-css-mode>.swiper-wrapper {
	overflow: auto;
	scrollbar-width: none;
	-ms-overflow-style: none
}

.swiper-container-css-mode>.swiper-wrapper::-webkit-scrollbar {
	display: none
}

.swiper-container-css-mode>.swiper-wrapper>.swiper-slide {
	scroll-snap-align: start start
}

.swiper-container-horizontal.swiper-container-css-mode>.swiper-wrapper {
	scroll-snap-type: x mandatory
}

.swiper-container-vertical.swiper-container-css-mode>.swiper-wrapper {
	scroll-snap-type: y mandatory
}

:root {
	--swiper-navigation-size: 44px
}

.swiper-button-next,
.swiper-button-prev {
	position: absolute;
	top: 50%;
	width: calc(var(--swiper-navigation-size)/44*27);
	height: var(--swiper-navigation-size);
	margin-top: calc(var(--swiper-navigation-size)*-1/2);
	z-index: 10;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--swiper-navigation-color, var(--swiper-theme-color))
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
	opacity: .35;
	cursor: auto;
	pointer-events: none
}

.swiper-button-next:after,
.swiper-button-prev:after {
	font-family: swiper-icons;
	font-size: var(--swiper-navigation-size);
	text-transform: none !important;
	letter-spacing: 0;
	text-transform: none;
	font-variant: normal;
	line-height: 1
}

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
	left: 10px;
	right: auto
}

.swiper-button-prev:after,
.swiper-container-rtl .swiper-button-next:after {
	content: "prev"
}

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
	right: 10px;
	left: auto
}

.swiper-button-next:after,
.swiper-container-rtl .swiper-button-prev:after {
	content: "next"
}

.swiper-button-next.swiper-button-white,
.swiper-button-prev.swiper-button-white {
	--swiper-navigation-color: #fff
}

.swiper-button-next.swiper-button-black,
.swiper-button-prev.swiper-button-black {
	--swiper-navigation-color: #000
}

.swiper-button-lock {
	display: none
}

.swiper-pagination {
	position: absolute;
	text-align: center;
	transition: opacity .3s;
	transform: translateZ(0);
	z-index: 10
}

.swiper-pagination.swiper-pagination-hidden {
	opacity: 0
}

.swiper-container-horizontal>.swiper-pagination-bullets,
.swiper-pagination-custom,
.swiper-pagination-fraction {
	bottom: 10px;
	left: 0;
	width: 100%
}

.swiper-pagination-bullets-dynamic {
	overflow: hidden;
	font-size: 0
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
	transform: scale(.33);
	position: relative
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
	transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
	transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
	transform: scale(.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
	transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
	transform: scale(.33)
}

.swiper-pagination-bullet {
	width: 8px;
	height: 8px;
	display: inline-block;
	border-radius: 100%;
	background: #000;
	opacity: .2
}

button.swiper-pagination-bullet {
	border: none;
	margin: 0;
	padding: 0;
	box-shadow: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
	cursor: pointer
}

.swiper-pagination-bullet-active {
	opacity: 1;
	background: var(--swiper-pagination-color, var(--swiper-theme-color))
}

.swiper-container-vertical>.swiper-pagination-bullets {
	right: 10px;
	top: 50%;
	transform: translate3d(0, -50%, 0)
}

.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
	margin: 6px 0;
	display: block
}

.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
	top: 50%;
	transform: translateY(-50%);
	width: 8px
}

.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
	display: inline-block;
	transition: transform .2s, top .2s
}

.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
	margin: 0 4px
}

.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
	left: 50%;
	transform: translateX(-50%);
	white-space: nowrap
}

.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
	transition: transform .2s, left .2s
}

.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
	transition: transform .2s, right .2s
}

.swiper-pagination-progressbar {
	background: rgba(0, 0, 0, .25);
	position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
	background: var(--swiper-pagination-color, var(--swiper-theme-color));
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	transform: scale(0);
	transform-origin: left top
}

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
	transform-origin: right top
}

.swiper-container-horizontal>.swiper-pagination-progressbar,
.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
	width: 100%;
	height: 4px;
	left: 0;
	top: 0
}

.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-container-vertical>.swiper-pagination-progressbar {
	width: 4px;
	height: 100%;
	left: 0;
	top: 0
}

.swiper-pagination-white {
	--swiper-pagination-color: #fff
}

.swiper-pagination-black {
	--swiper-pagination-color: #000
}

.swiper-pagination-lock {
	display: none
}

.swiper-scrollbar {
	border-radius: 10px;
	position: relative;
	-ms-touch-action: none;
	background: rgba(0, 0, 0, .1)
}

.swiper-container-horizontal>.swiper-scrollbar {
	position: absolute;
	left: 1%;
	bottom: 3px;
	z-index: 50;
	height: 5px;
	width: 98%
}

.swiper-container-vertical>.swiper-scrollbar {
	position: absolute;
	right: 3px;
	top: 1%;
	z-index: 50;
	width: 5px;
	height: 98%
}

.swiper-scrollbar-drag {
	height: 100%;
	width: 100%;
	position: relative;
	background: rgba(0, 0, 0, .5);
	border-radius: 10px;
	left: 0;
	top: 0
}

.swiper-scrollbar-cursor-drag {
	cursor: move
}

.swiper-scrollbar-lock {
	display: none
}

.swiper-zoom-container {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center
}

.swiper-zoom-container>canvas,
.swiper-zoom-container>img,
.swiper-zoom-container>svg {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain
}

.swiper-slide-zoomed {
	cursor: move
}

.swiper-lazy-preloader {
	width: 42px;
	height: 42px;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -21px;
	margin-top: -21px;
	z-index: 10;
	transform-origin: 50%;
	animation: swiper-preloader-spin 1s linear infinite;
	box-sizing: border-box;
	border-radius: 50%;
	border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
	border-top: 4px solid transparent
}

.swiper-lazy-preloader-white {
	--swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
	--swiper-preloader-color: #000
}

@keyframes swiper-preloader-spin {
	to {
		transform: rotate(1turn)
	}
}

.swiper-container .swiper-notification {
	position: absolute;
	left: 0;
	top: 0;
	pointer-events: none;
	opacity: 0;
	z-index: -1000
}

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
	transition-timing-function: ease-out
}

.swiper-container-fade .swiper-slide {
	pointer-events: none;
	transition-property: opacity
}

.swiper-container-fade .swiper-slide .swiper-slide {
	pointer-events: none
}

.swiper-container-fade .swiper-slide-active,
.swiper-container-fade .swiper-slide-active .swiper-slide-active {
	pointer-events: auto
}

.swiper-container-cube {
	overflow: visible
}

.swiper-container-cube .swiper-slide {
	pointer-events: none;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	z-index: 1;
	visibility: hidden;
	transform-origin: 0 0;
	width: 100%;
	height: 100%
}

.swiper-container-cube .swiper-slide .swiper-slide {
	pointer-events: none
}

.swiper-container-cube.swiper-container-rtl .swiper-slide {
	transform-origin: 100% 0
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-active .swiper-slide-active {
	pointer-events: auto
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-next,
.swiper-container-cube .swiper-slide-next+.swiper-slide,
.swiper-container-cube .swiper-slide-prev {
	pointer-events: auto;
	visibility: visible
}

.swiper-container-cube .swiper-slide-shadow-bottom,
.swiper-container-cube .swiper-slide-shadow-left,
.swiper-container-cube .swiper-slide-shadow-right,
.swiper-container-cube .swiper-slide-shadow-top {
	z-index: 0;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden
}

.swiper-container-cube .swiper-cube-shadow {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background: #000;
	opacity: .6;
	-webkit-filter: blur(50px);
	filter: blur(50px);
	z-index: 0
}

.swiper-container-flip {
	overflow: visible
}

.swiper-container-flip .swiper-slide {
	pointer-events: none;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	z-index: 1
}

.swiper-container-flip .swiper-slide .swiper-slide {
	pointer-events: none
}

.swiper-container-flip .swiper-slide-active,
.swiper-container-flip .swiper-slide-active .swiper-slide-active {
	pointer-events: auto
}

.swiper-container-flip .swiper-slide-shadow-bottom,
.swiper-container-flip .swiper-slide-shadow-left,
.swiper-container-flip .swiper-slide-shadow-right,
.swiper-container-flip .swiper-slide-shadow-top {
	z-index: 0;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden
}

html {
	color: #000;
	background: #fff
}

blockquote,
body,
code,
dd,
div,
dl,
dt,
fieldset,
figcaption,
figure,
form,
h1,
h2,
h3,
h4,
h5,
h6,
input,
legend,
li,
ol,
p,
pre,
td,
textarea,
th,
ul {
	margin: 0;
	padding: 0
}

table {
	border-collapse: collapse;
	border-spacing: 0
}

fieldset,
img {
	border: 0
}

caption,
th {
	text-align: left
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 100%;
	font-weight: 400
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
	display: block
}

caption {
	text-align: left
}

img {
	vertical-align: top
}

html {
	font-size: 100%;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%
}

abbr,
acronym {
	border: 0;
	font-variant: normal
}

input,
select,
textarea {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	font-size: 100%
}

button,
input,
select,
textarea {
	font-size: 100%;
	font-family: inherit;
	color: inherit
}

input[type=checkbox],
input[type=radio] {
	box-sizing: border-box;
	padding: 0
}

input[type=button],
input[type=submit] {
	border-radius: 0;
	-webkit-appearance: none
}

textarea {
	overflow: auto;
	vertical-align: top
}

li {
	list-style: none
}

cite,
em,
i {
	font-style: normal
}

em {
	font-weight: 700
}

button,
input,
textarea {
	border: none;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	border-radius: 0
}

button,
input,
select,
textarea {
	-webkit-appearance: none;
	background: transparent;
	max-width: 100%;
	outline: none
}

select {
	-moz-appearance: none;
	appearance: none;
	padding: 0;
	margin: 0;
	border-radius: 0;
	cursor: pointer
}

::-webkit-search-cancel-button {
	-webkit-appearance: none
}

html:not(.sp-view) ::placeholder {
	line-height: 110%
}

html.sp-view ::-webkit-input-placeholder {
	padding-top: .1em;
	line-height: 110%
}

:root,
html.light-mode body.page-special-feature {
	--ui-base: #1b1b1b;
	--ui-primary-100: #fff;
	--ui-secondary: grey;
	--ui-tertiary: #454545;
	--ui-4th: #353535;
	--ui-5th: #252525;
	--ui-6th: #252525;
	--ui-7th: #252525;
	--ui-error: #d42a2a;
	--ui-circle: #fff;
	--background-primary: #1b1b1b;
	--background-secondary: #131313;
	--background-tertiary: #0e0e0e;
	--background--4th: #171717;
	--text-primary-100: #fff;
	--text-secondary: grey;
	--text--tertiary: #353535;
	--text-background-text: #131313;
	--text-error: #d42a2a;
	--background-primary-dialog: 27, 27, 27
}

html.light-mode {
	--ui-base: #1b1b1b;
	--ui-primary-100: #1b1b1b;
	--ui-secondary: grey;
	--ui-tertiary: #cfcfcf;
	--ui-4th: #dbd8d8;
	--ui-5th: #ebebeb;
	--ui-6th: #dbd8d8;
	--ui-7th: #dbd8d8;
	--ui-error: #d42a2a;
	--ui-circle: #1b1b1b;
	--background-primary: #fff;
	--background-secondary: #f3f2f2;
	--background-tertiary: #ececec;
	--background--4th: #e7e7e7;
	--text-primary-100: #1b1b1b;
	--text-secondary: #535353;
	--text--tertiary: #d7d7d7;
	--text-background-text: #f8f8f8;
	--text-error: #d42a2a;
	--background-primary-dialog: 255, 255, 255
}

@font-face {
	font-family: bodoni;
	src: url(../fonts/font.woff2) format("woff2"), url(../fonts/font.woff) format("woff")
}

html {
	font-size: 62.5%
}

body {
	min-width: 100%;
	width: 100%;
	font-size: 1.6rem;
	line-height: 100%;
	letter-spacing: .01em;
	color: var(--text-primary-100);
	background: var(--background-primary);
	/* font-family: Helvetica, YuGothic, Yu Gothic, 游ゴシック体, 游ゴシック, ヒラギノ角ゴ Pro W3, ヒラギノ角ゴ W3, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, ＭＳ Ｐゴシック, Osaka, MS PGothic, Arial, sans-serif; */
	font-family: "微软雅黑";
	word-wrap: break-word;
	transition: all .3s linear 0s;
	-webkit-font-smoothing: antialiased
}

img,
svg {
	max-width: 100%;
	width: 100%;
	height: auto
}

.sp,
.tb {
	display: none
}

@media screen and (max-width:980px) {
	.tb {
		display: block
	}
}

@media screen and (max-width:750px) {
	body {
		font-size: 2.93vw
	}

	.pc {
		display: none
	}

	.sp {
		display: block
	}
}

a,
a:hover {
	color: var(--text-primary-100);
	transition: opacity 1s ease
}

a {
	text-decoration: none
}

#wrapper {
	overflow: hidden;
	position: relative
}

.jp,
dt,
h1,
h2,
h3,
h4,
h5,
time {
	/* font-family: 游明朝, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif; */
	font-family: "微软雅黑";
	letter-spacing: .02em
}

.en {
	font-family: "微软雅黑";
	letter-spacing: .01em
}

.font-base {
	/* font-family: Helvetica, YuGothic, Yu Gothic, 游ゴシック体, 游ゴシック, ヒラギノ角ゴ Pro W3, ヒラギノ角ゴ W3, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, ＭＳ Ｐゴシック, Osaka, MS PGothic, Arial, sans-serif */
	font-family: "微软雅黑";
}

figure,
p,
path,
span {
	transition: opacity 1s ease
}

.txt_kerning {
	font-feature-settings: "palt";
	font-style: normal;
	/* font-family: YuGothic, Yu Gothic */
	font-family: "微软雅黑";
}

.light,
html.light-mode .dark {
	display: none
}

html.light-mode .light {
	display: block
}

@keyframes load {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg)
	}

	to {
		-webkit-transform: rotate(1turn);
		transform: rotate(1turn)
	}
}

@keyframes line1 {
	0% {
		width: 0
	}

	99.9%,
	to {
		width: 14px
	}
}

@keyframes line2 {
	0% {
		width: 14px
	}

	99.9%,
	to {
		width: 0
	}
}

@keyframes pinAnim {
	0% {
		opacity: .5;
		transform: translateY(-50%) scale(1)
	}

	to {
		opacity: 1;
		transform: translateY(-50%) scale(1.2)
	}
}

#landscape svg .circle,
.btn-pdf svg path,
.catalog-wrap .check .icon svg path,
.file-wrap .icon svg path,
.icn-search svg path,
.logo svg path,
.search-btn svg path,
a.icn-link .icon svg path {
	fill: var(--ui-primary-100);
	transition: fill 1s ease
}

#landscape svg .path01 {
	stroke: var(--ui-tertiary);
	transition: stroke 1s ease
}

#landscape svg .path02 {
	stroke: var(--ui-primary-100);
	transition: stroke 1s ease
}

.icon-wrap .icon svg path,
cite a.icn-link .icon svg path {
	fill: var(--text-secondary);
	transition: fill 1s ease
}

.icon-wrap {
	position: relative;
	display: inline-block
}

.icon-wrap .icon {
	position: absolute;
	display: block;
	content: "";
	top: 50%;
	right: 0;
	transform: translateY(-50%)
}

.icon-wrap .icon svg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%
}

.icn-facebook {
	padding-right: 38px
}

.icn-facebook .icon {
	width: 9px;
	height: 19px
}

.icn-instagram {
	padding-right: 36px
}

.icn-instagram .icon {
	width: 21px;
	height: 21px
}

.icn-youtube {
	padding-right: 55px
}

.icn-youtube .icon {
	width: 20px;
	height: 14px
}

.icn-link {
	padding-right: 29px
}

.icn-link .icon {
	width: 13px;
	height: 13px
}

@media screen and (max-width:750px) {
	.icn-facebook {
		padding-right: 7.4vw
	}

	.icn-facebook .icon {
		width: 1.6vw;
		height: 3.46vw
	}

	.icn-instagram {
		padding-right: 6.86vw
	}

	.icn-instagram .icon {
		width: 3.86vw;
		height: 3.86vw
	}

	.icn-youtube {
		padding-right: 11.1vw
	}

	.icn-youtube .icon {
		width: 3.6vw;
		height: 2.53vw
	}

	.icn-link {
		padding-right: 5.2vw
	}

	.icn-link .icon {
		width: 3.2vw;
		height: 3.2vw
	}
}

.icn-circle .icon {
	width: 24px;
	height: 24px
}

.icn-circle .icon:before {
	left: 0;
	width: 100%;
	height: 100%;
	transform: translateY(-50%);
	border: 1px solid var(--ui-primary-100);
	border-radius: 50%
}

.icn-circle .icon:after,
.icn-circle .icon:before {
	position: absolute;
	content: "";
	top: 50%;
	box-sizing: border-box
}

.icn-circle .icon:after {
	left: 50%;
	width: 3px;
	height: 3px;
	transform: translate(-50%, -50%);
	background: var(--ui-primary-100);
	border-radius: 50%
}

.icn-anchor {
	padding-right: 20px
}

.icn-anchor .icon {
	width: 20px;
	height: 20px
}

.icn-anchor .icon:before {
	position: absolute;
	content: "";
	top: 50%;
	left: 50%;
	width: 5px;
	height: 5px;
	transform: translate(-50%, -50%);
	background: var(--ui-primary-100);
	border-radius: 50%;
	box-sizing: border-box
}

@media screen and (max-width:750px) {
	.icn-circle .icon {
		width: 6vw;
		height: 6vw
	}

	.icn-anchor {
		padding-right: 6.66vw
	}

	.icn-anchor .icon {
		width: 6.66vw;
		height: 6.66vw
	}

	.icn-anchor .icon:before {
		width: 1.2vw;
		height: 1.2vw
	}
}

.mode-switch {
	display: flex;
	align-items: center
}

.mode-switch p {
	font-size: 1rem;
	transition: all .3s ease
}

.mode-switch .switch {
	position: relative;
	cursor: pointer;
	width: 32px;
	height: 16px;
	border: 1px solid var(--ui-primary-100);
	box-sizing: border-box;
	margin: 0 10px
}

.mode-switch .switch:after {
	position: absolute;
	content: "";
	top: -1px;
	right: -1px;
	width: calc(50% + 1px);
	height: calc(100% + 2px);
	background: var(--ui-primary-100);
	transition: all .3s ease
}

.mode-switch .txt-light {
	opacity: .4
}

html.light-mode .mode-switch .switch:after {
	right: 50%
}

html.light-mode .mode-switch .txt-light {
	opacity: 1
}

html.light-mode .mode-switch .txt-dark {
	opacity: .4
}

@media screen and (max-width:750px) {
	.mode-switch p {
		font-size: 2.93vw
	}

	.mode-switch .switch {
		width: 9.6vw;
		height: 4.8vw;
		margin: 0 2.26vw
	}

	.mode-switch.side p {
		font-size: 2vw
	}

	.mode-switch.side .switch {
		width: 6.4vw;
		height: 3.2vw;
		margin: 0 2vw
	}
}

.main .mode-switch.side {
	position: absolute;
	right: 45px;
	transform: rotate(90deg) translate(100%, 50%);
	transform-origin: right;
	z-index: 10;
	opacity: 0;
	transition: opacity 1.2s ease
}

body.init .main .mode-switch.side {
	opacity: 1
}

@media screen and (max-width:750px) {
	.main .mode-switch.side {
		right: 4.8%
	}
}

.bottomlineanimation,
.ttl-line {
	position: relative
}

.ttl-line {
	padding-bottom: 10px
}

.ttl-line-bottom,
.ttl-line:before {
	position: absolute;
	content: "";
	top: 100%;
	left: 0;
	width: 100%;
	height: 1px;
	background: var(--ui-4th);
	overflow: hidden;
	display: block
}

.ttl-line:after {
	top: 100%
}

.ttl-line-bottom .ttl-line-bottom-move,
.ttl-line:after {
	position: absolute;
	content: "";
	left: 0;
	width: 16px;
	height: 1px;
	background: var(--ui-primary-100)
}

.ttl-line-bottom .ttl-line-bottom-move {
	top: 0
}

.bottomlineanimation.noline .ttl-line-bottom .ttl-line-bottom-move {
	width: 60px;
	transform: translate(-100%)
}

@media (min-width:751px) {
	html:not(.sp-view) .bottomlineanimation.noline:hover .ttl-line-bottom .ttl-line-bottom-move {
		transform: translateX(100%);
		-webkit-transition: transform .4s ease 0s;
		-moz-transition: transform .4s ease 0s;
		-o-transition: transform .4s ease 0s;
		-ms-transition: transform .4s ease 0s;
		transition: transform .3s ease 0s;
		left: 100%;
		transform: translate(0);
		-webkit-transition: left .4s ease 0s, transform .4s ease 0s;
		-moz-transition: left .4s ease 0s, transform .4s ease 0s;
		-o-transition: left .4s ease 0s, transform .4s ease 0s;
		-ms-transition: left .4s ease 0s, transform .4s ease 0s;
		transition: left .3s ease 0s, transform .3s ease 0s
	}
}

@media screen and (max-width:750px) {
	.ttl-line {
		padding: 4.9vw 0
	}
}

@media (min-width:751px) {
	html:not(.sp-view) .hoveranimation a {
		transition: color 1s ease
	}

	html:not(.sp-view) .hoveranimation a.out {
		color: var(--text--tertiary)
	}
}

.btn-next,
.btn-prev,
.btn-view {
	position: relative;
	display: block;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	box-sizing: border-box;
	z-index: 10;
	overflow: hidden;
	outline: none
}

#footer .pagetop svg,
.btn-movie>svg,
.btn-next svg,
.btn-prev svg,
.btn-view svg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	stroke: var(--ui-circle);
	stroke-width: 1px;
	fill: none;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden
}

@media (-webkit-min-device-pixel-ratio:2),
(min-resolution:2dppx) {

	#footer .pagetop svg,
	.btn-movie>svg,
	.btn-next svg,
	.btn-prev svg,
	.btn-view svg {
		stroke-width: .5px
	}
}

#footer .pagetop svg:first-of-type,
.btn-movie>svg:first-of-type,
.btn-next svg:first-of-type,
.btn-prev svg:first-of-type,
.btn-view svg:first-of-type {
	opacity: .2
}

.btn-movie>svg:last-of-type,
.btn-next svg:last-of-type,
.btn-prev svg:last-of-type,
.btn-view svg:last-of-type {
	stroke-dasharray: 226.19448px 226.19448px;
	stroke-dashoffset: 226.19448px
}

#footer .pagetop svg:last-of-type,
.btn-movie>svg:last-of-type,
.btn-next svg:last-of-type,
.btn-prev svg:last-of-type,
.btn-view svg:last-of-type {
	visibility: hidden;
	-webkit-transition: visibility 0s 1.5s;
	transition: visibility 0s 1.5s;
	-webkit-animation: arrow-button__border-out 1.5s cubic-bezier(.215, .61, .355, 1);
	animation: arrow-button__border-out 1.5s cubic-bezier(.215, .61, .355, 1)
}

#footer .pagetop svg:last-of-type {
	stroke-dasharray: 78.53975px 78.53975px;
	stroke-dashoffset: 78.53975px
}

html:not(.sp-view) #common-pagelink .sec-links li a:hover .btn-view svg:last-of-type,
html:not(.sp-view) #footer .pagetop:hover svg:last-of-type,
html:not(.sp-view) .btn-link a:hover .btn-view svg:last-of-type,
html:not(.sp-view) .btn-movie-wrap:hover .btn-movie>svg:last-of-type,
html:not(.sp-view) .btn-next:hover svg:last-of-type,
html:not(.sp-view) .btn-prev:hover svg:last-of-type,
html:not(.sp-view) .cont-profile a:hover .btn-link .btn-view svg:last-of-type,
html:not(.sp-view) .product-image a:hover .btn-view svg:last-of-type,
html:not(.sp-view) .product-index .product-main .swiper-slide a:hover .btn-view svg:last-of-type,
html:not(.sp-view) .sec-special .cont-wrap .swiper-slide a:hover .btn-view svg:last-of-type {
	visibility: inherit;
	-webkit-transition: none;
	transition: none;
	-webkit-animation: arrow-button__border-over 1.5s cubic-bezier(.215, .61, .355, 1) forwards;
	animation: arrow-button__border-over 1.5s cubic-bezier(.215, .61, .355, 1) forwards
}

@-webkit-keyframes arrow-button__border-out {
	0% {
		-webkit-transform: rotate(90deg);
		transform: rotate(90deg);
		stroke-dashoffset: 0
	}

	to {
		-webkit-transform: rotate(270deg);
		transform: rotate(270deg);
		stroke-dashoffset: -226.19448px
	}
}

@keyframes arrow-button__border-out {
	0% {
		-webkit-transform: rotate(90deg);
		transform: rotate(90deg);
		stroke-dashoffset: 0
	}

	to {
		-webkit-transform: rotate(270deg);
		transform: rotate(270deg);
		stroke-dashoffset: -226.19448px
	}
}

@-webkit-keyframes arrow-button__border-over {
	0% {
		-webkit-transform: rotate(-90deg);
		transform: rotate(-90deg)
	}

	to {
		-webkit-transform: rotate(90deg);
		transform: rotate(90deg);
		stroke-dashoffset: 0
	}
}

@keyframes arrow-button__border-over {
	0% {
		-webkit-transform: rotate(-90deg);
		transform: rotate(-90deg)
	}

	to {
		-webkit-transform: rotate(90deg);
		transform: rotate(90deg);
		stroke-dashoffset: 0
	}
}

.btn-next,
.btn-prev {
	border-color: var(--ui-4th);
	cursor: pointer
}

.btn-next span,
.btn-prev span,
.btn-view span {
	position: absolute;
	display: block;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 1rem
}

.btn-view {
	margin-top: 35px;
	opacity: 0
}

.btn-view.go {
	margin-top: 0;
	opacity: 1
}

@media screen and (max-width:750px) {

	.btn-next,
	.btn-prev,
	.btn-view {
		width: 14.9vw;
		height: 14.9vw
	}

	.btn-next span,
	.btn-prev span,
	.btn-view span {
		font-size: 2.4vw
	}
}

.btn-link .btn-inr,
.btn-link a {
	position: relative;
	display: inline-block;
	padding-right: calc(72px + 2.4vw)
}

.btn-link .btn-inr>p,
.btn-link a>p {
	display: flex;
	align-items: center;
	font-size: 1.2vw;
	line-height: 160%;
	padding: 0
}

.btn-link .ttl-line:before {
	width: 112px;
	display: none
}

.btn-link .ttl-line:after {
	width: 32px;
	display: none
}

.ttl-line .ttl-line-bottom {
	overflow: hidden
}

.ttl-line .ttl-line-bottom .ttl-line-bottom-move {
	width: 32px
}

.ttl-category .ttl-line-bottom .ttl-line-bottom-move {
	width: 60px;
	transform: translate(-100%)
}

html:not(.sp-view) .ttl-category:hover .ttl-line-bottom .ttl-line-bottom-move {
	left: 100%;
	transform: translate(0);
	-webkit-transition: left .4s ease 0s, transform .4s ease 0s;
	-moz-transition: left .4s ease 0s, transform .4s ease 0s;
	-o-transition: left .4s ease 0s, transform .4s ease 0s;
	-ms-transition: left .4s ease 0s, transform .4s ease 0s;
	transition: left .4s ease 0s, transform .4s ease 0s
}

html:not(.sp-view) .btn-link:hover .ttl-line .ttl-line-bottom .ttl-line-bottom-move,
html:not(.sp-view) a:hover .ttl-line .ttl-line-bottom .ttl-line-bottom-move {
	left: 100%;
	-webkit-transition: left .4s ease 0s;
	-moz-transition: left .4s ease 0s;
	-o-transition: left .4s ease 0s;
	-ms-transition: left .4s ease 0s;
	transition: left .4s ease 0s
}

.btn-link .btn-view {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%) translateZ(0)
}

.btn-link .btn-view span.viewstr0 {
	left: -50%;
	transition: none
}

html.sp-view .btn-link .btn-view span.viewstr0 {
	display: none !important
}

.btn-link .btn-view span.viewstr1 {
	transition: none
}

@media (min-width:751px) {

	.btn-link .btn-inr>p,
	.btn-link a>p {
		min-width: 112px;
		min-height: 72px
	}

	.btn-link .ttl-line .ttl-line-bottom {
		min-width: 112px
	}

	html:not(.sp-view) #common-pagelink .sec-links li a:hover .btn-view span.viewstr0,
	html:not(.sp-view) .btn-link a:hover .btn-view span.viewstr0,
	html:not(.sp-view) .product-image a:hover .btn-view span.viewstr0,
	html:not(.sp-view) .sec-special .cont-wrap .swiper-slide a:hover .btn-view span.viewstr0 {
		left: 50%;
		-webkit-transition: left .3s ease .3s;
		-moz-transition: left .3s ease .3s;
		-o-transition: left .3s ease .3s;
		-ms-transition: left .3s ease .3s;
		transition: left .3s ease .3s
	}

	html:not(.sp-view) #common-pagelink .sec-links li a:hover .btn-view span.viewstr1,
	html:not(.sp-view) .btn-link a:hover .btn-view span.viewstr1,
	html:not(.sp-view) .product-image a:hover .btn-view span.viewstr1,
	html:not(.sp-view) .sec-special .cont-wrap .swiper-slide a:hover .btn-view span.viewstr1 {
		left: 150%;
		-webkit-transition: left .3s ease 0s;
		-moz-transition: left .3s ease 0s;
		-o-transition: left .3s ease 0s;
		-ms-transition: left .3s ease 0s;
		transition: left .3s ease 0s
	}
}

@media screen and (max-width:980px) {

	.btn-link .btn-inr>p,
	.btn-link a>p {
		font-size: 2.44vw
	}
}

@media screen and (max-width:750px) {

	.btn-link .btn-inr,
	.btn-link a {
		min-width: 14.9vw;
		padding-right: 19vw
	}

	.btn-link .ttl-line .ttl-line-bottom {
		width: 14.9vw
	}

	.btn-link .btn-inr>p,
	.btn-link a>p {
		font-size: 3.2vw;
		min-height: 14.9vw
	}

	.btn-link .ttl-line:before {
		width: 14.9vw
	}

	.btn-link .ttl-line:after {
		width: 4.26vw
	}
}

.btn-movie {
	position: relative;
	display: block;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	box-sizing: border-box;
	z-index: 10;
	overflow: hidden;
	outline: none
}

.btn-movie span svg {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-40%, -50%);
	width: 12px;
	height: 7px
}

@media screen and (max-width:750px) {
	.btn-movie {
		width: 8.53vw;
		height: 8.53vw
	}

	.btn-movie span svg {
		width: 1.2vw;
		height: 2.13vw
	}
}

.btn-more {
	position: relative;
	width: 120px;
	height: 120px;
	margin: 0 auto;
	cursor: pointer
}

.btn-more:before {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	width: 98%;
	height: 98%;
	margin-left: 1%;
	border: 1px solid var(--ui-tertiary);
	border-left-color: var(--ui-primary-100);
	border-radius: 50%;
	box-sizing: border-box;
	animation: load 1.1s linear infinite
}

.btn-more p {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: var(--text-primary-100);
	font-size: 1.4rem
}

@media screen and (max-width:750px) {
	.btn-more {
		width: 22.4vw;
		height: 22.4vw
	}

	.btn-more p {
		font-size: 2.4vw
	}
}

.btn-wrap .btn-base {
	position: relative;
	border: 1px solid var(--ui-tertiary);
	overflow: hidden
}

.btn-wrap .btn-base:not(.btn-submit-wrap):before {
	position: absolute;
	content: "";
	top: 50%;
	right: 9.4%;
	width: 5px;
	height: 5px;
	transform: translateY(-50%);
	background: var(--ui-primary-100);
	border-radius: 50%
}

.btn-wrap [class^=btn-]:not(.btn-link) a {
	display: block;
	padding: 22px 31px;
	text-decoration: none !important;
	line-height: 200%
}

.btn-wrap .btn-pdf:not(.btn-link) a {
	padding-right: 44px
}

.btn-wrap.column2 p {
	position: relative;
	overflow: hidden
}

.btn-wrap.column2 p a,
.btn-wrap.column2 p input {
	display: block;
	width: 100%;
	padding: 23px 27px;
	text-align: left;
	box-sizing: border-box;
	text-decoration: none !important;
	cursor: pointer
}

@media (min-width:751px) {
	.btn-wrap.column2 {
		display: flex;
		justify-content: space-between
	}

	.btn-wrap.column2 p[class^=btn-] {
		width: 48.8%;
		box-sizing: border-box
	}

	.btn-wrap.column2 p[class^=btn-]:not(.btn-link) a,
	.btn-wrap.column2 p[class^=btn-]:not(.btn-link) input {
		display: flex;
		align-items: center;
		height: 100%
	}
}

@media screen and (max-width:750px) {
	.btn-wrap .btn-base:before {
		right: 8.25%;
		width: 1.2vw;
		height: 1.2vw
	}

	.btn-wrap.column2 p+p {
		margin-top: 5%
	}

	.btn-wrap.column2 p a,
	.btn-wrap.column2 p input,
	.btn-wrap [class^=btn-]:not(.btn-link) a {
		padding: 5.5% 6.9%
	}

	.btn-wrap .btn-pdf:not(.btn-link) a {
		padding-right: 10.15%
	}
}

.btn-pdf {
	position: relative;
	border: 1px solid var(--ui-tertiary)
}

.btn-pdf a {
	position: relative;
	text-decoration: none !important
}

.btn-pdf .icon-pdf {
	left: 31px;
	vertical-align: middle;
	width: 24px;
	height: 32px
}

.btn-pdf .icn-dl,
.btn-pdf .icon-pdf {
	position: absolute;
	top: 50%;
	transform: translateY(-50%)
}

.btn-pdf .icn-dl {
	content: "";
	right: 31px;
	width: 13px;
	height: 13px
}

.btn-pdf .pdf-inr {
	display: inline-block;
	padding-left: 44px
}

@media screen and (max-width:750px) {
	.btn-pdf .icon-pdf {
		left: 6.98%;
		width: 6.4vw;
		height: 8.53vw
	}

	.btn-pdf .icn-dl {
		right: 6.03%;
		width: 3.46vw;
		height: 3.46vw
	}

	.btn-pdf .pdf-inr {
		padding-left: 17%
	}
}

.read-wrap .ttl {
	font-size: 4vw;
	line-height: 110%
}

.read-wrap .ttl span.subtitle {
	display: block;
	font-size: .8vw;
	line-height: 120%;
	padding-bottom: .7%
}

.read-wrap .type {
	font-size: .83vw
}

.read-wrap .btn-link {
	display: inline-block;
	padding-top: 1.85%
}

.read-wrap .btn-link p {
	font-size: 1.22vw;
	line-height: 140%
}

.read-wrap .btn-link .btn-view svg {
	stroke: #fff
}

.read-wrap .btn-link .btn-view svg:first-of-type {
	opacity: 1
}

html:not(.sp-view) .read-wrap .btn-link a:hover .btn-view svg:first-of-type {
	opacity: .2
}

@media screen and (max-width:980px) {
	.read-wrap .ttl {
		font-size: 8.16vw
	}

	.read-wrap .ttl span.subtitle {
		font-size: 1.63vw;
		padding-bottom: 1%
	}

	.read-wrap .type {
		font-size: 1.22vw
	}

	.read-wrap .btn-link {
		padding-top: 2.72%
	}

	.read-wrap .btn-link p {
		font-size: 2.44vw
	}
}

@media screen and (max-width:750px) {
	.read-wrap .ttl {
		font-size: 11.73vw
	}

	.read-wrap .ttl span.subtitle {
		font-size: 2.66vw;
		padding-bottom: 1.7%
	}

	.read-wrap .type {
		font-size: 2.66vw;
		padding-top: 2.5%
	}

	.read-wrap .btn-link {
		padding-top: 9.5%
	}

	.read-wrap .btn-link p {
		font-size: 3.46vw;
		line-height: 140%
	}
}

.bg-txt {
	position: absolute;
	color: var(--text-background-text);
	font-size: 25vw;
	line-height: 80%;
	pointer-events: none
}

.bg-txt span {
	display: inline-block;
	padding-left: .5em
}

@media screen and (max-width:750px) {
	.bg-txt {
		font-size: 24vw
	}
}

.search-btn-wrap {
	position: relative
}

.search-btn-wrap .search-wrap {
	width: calc(100% - 152px)
}

.search-btn-wrap .btn-submit-wrap {
	position: absolute;
	top: 50%;
	right: 0;
	width: 136px;
	height: 100%;
	transform: translateY(-50%);
	margin-left: 16px
}

.search-btn-wrap .btn-submit {
	display: block;
	text-align: left;
	width: 100%;
	height: 100%;
	padding-left: 27px;
	box-sizing: border-box;
	background: var(--ui-7th);
	font-size: 1.3rem;
	cursor: pointer
}

@media screen and (max-width:750px) {
	.search-btn-wrap .search-wrap {
		width: 74.3%
	}

	.search-btn-wrap .btn-submit-wrap {
		width: 23.17%;
		margin-left: 2.53%
	}

	.search-btn-wrap .btn-submit {
		font-size: 2.93vw;
		padding-left: 25%
	}
}

@media screen and (max-width:480px) {
	.search-btn-wrap .search-wrap {
		width: 97%;
		margin: -1% 0 0 -12%
	}

	.search-btn-wrap .search-wrap input {
		padding-left: 14px
	}

	.search-btn-wrap .btn-submit-wrap {
		height: 80%
	}
}

.search-wrap {
	position: relative;
	overflow: hidden
}

.btn-submit-wrap .icn-search {
	position: absolute;
	display: block;
	content: "";
	width: 13px;
	height: 13px;
	top: 50%;
	right: 25px;
	transform: translateY(-50%);
	line-height: 100%
}

.search-wrap input {
	border: 1px solid var(--ui-tertiary);
	background: none;
	width: 100%;
	padding: 23px 30px;
	font-size: 1.3rem;
	line-height: 100%;
	border-radius: 0;
	outline: unset
}

.search-wrap input:focus {
	background: var(--background-primary);
	border-color: var(--ui-secondary)
}

@media screen and (max-width:750px) {
	.btn-submit-wrap .icn-search {
		width: 3.2vw;
		height: 3.2vw;
		right: 15%
	}

	.btn-submit-wrap.btn-base .icn-search {
		right: 6.9%
	}

	.search-wrap input {
		font-size: 2.93vw;
		padding: 5% 6%
	}
}

@media screen and (max-width:545px) {
	.search-wrap input {
		font-size: 1.6rem;
		padding: 25px calc(30px + 4%) 25px 26px
	}
}

@media screen and (max-width:480px) {
	.search-wrap {
		width: 133%;
		margin: -1% 0 0 -16.5%;
		box-shadow: none !important
	}

	.search-wrap input {
		transform: scale(.75)
	}

	.search-wrap input:focus {
		box-shadow: 0 0 13px 0 rgba(0, 0, 0, .3)
	}

	.search-wrap .hoverline {
		display: none
	}
}

.search-product .ttl-line {
	font-size: 1.6rem !important;
	line-height: 100% !important;
	padding: 1.5rem 0
}

.search-product .ttl-line .ttl-line-bottom {
	display: none
}

.search-product .search-radio-wrap {
	padding: 26px 0;
	font-size: 1.3rem
}

.search-product .search-radio-wrap p {
	color: var(--text-secondary);
	line-height: 200%;
	margin-right: 36px
}

.search-product .search-radio-wrap li+li {
	margin-left: 16px
}

@media (min-width:751px) {
	.search-product .ttl-line:before {
		width: 72px
	}

	.search-product .search-radio-wrap {
		display: flex;
		flex-wrap: wrap;
		align-items: center
	}
}

@media screen and (max-width:750px) {
	.search-product .ttl-line {
		font-size: 4.26vw !important
	}

	.search-product .search-radio-wrap {
		font-size: 2.93vw;
		padding: 10.15% 0 7.3%
	}

	.search-product .search-radio-wrap p {
		margin: 0 0 7.61%
	}

	.search-product .search-radio-wrap .radio {
		display: block
	}

	.search-product .search-radio-wrap .radio li {
		width: 100%;
		margin: 0
	}

	.search-product .search-radio-wrap .radio li+li {
		margin: 2.85% 0 0
	}
}

.product-image {
	padding: 28px 0 63px
}

.product-image .ttl.en {
	color: var(--text-secondary);
	font-size: 3.2rem;
	line-height: 140%
}

.product-image .ttl.en span.subtitle {
	display: block;
	font-size: 1.2rem;
	line-height: 120%;
	padding: 24px 0 5px
}

.product-image .type {
	font-size: 1.2rem;
	line-height: 120%;
	padding-bottom: 14px
}

.product-image .btn-link p {
	font-size: 2.4rem;
	line-height: 120%
}

@media screen and (max-width:980px) {
	.product-image .btn-link p {
		font-size: 2.2vw
	}
}

@media screen and (max-width:750px) {
	.product-image {
		padding: 5% 0 12.7%
	}

	.product-image .ttl.en {
		font-size: 8.53vw;
		line-height: 100%
	}

	.product-image .ttl.en span.subtitle {
		font-size: 2.66vw;
		padding: 5% 0 2.69%
	}

	.product-image .type {
		font-size: 2.66vw;
		padding: 1.26% 0 3%
	}

	.product-image .btn-link p {
		font-size: 3.46vw;
		line-height: 140%
	}
}

.product-list {
	padding-bottom: 70px
}

.product-list .cont-inr {
	font-size: 1.3rem;
	line-height: 200%
}

.product-list .ttl-type,
.product-list li .kana {
	color: var(--text-secondary)
}

.product-list li .kana {
	display: block;
	font-size: 1rem;
	line-height: 100%
}

.product-list .ttl-category .ttl-line-bottom {
	display: none
}

@media (min-width:751px) {
	.product-list li {
		margin-top: 7px
	}

	.product-list a {
		display: block;
		line-height: 140%
	}

	.product-list a,
	.product-list a span {
		transition: color 1s ease
	}

	html:not(.sp-view) .product-list a.out,
	html:not(.sp-view) .product-list a.out .kana {
		color: var(--text--tertiary)
	}

	.product-list .cont-warp {
		display: flex;
		justify-content: space-between;
		padding-bottom: 50px
	}

	.product-list .ttl-category {
		color: var(--text-secondary);
		padding-bottom: 19px;
		margin-bottom: 22px
	}

	.product-list .cont-inr .cont-list,
	.product-list .cont-type {
		display: flex
	}

	.product-list .cont-type+.cont-type {
		padding-top: 24px
	}

	.product-list .cont-inr {
		width: 31.4%;
		margin-right: 2.9%
	}

	.product-list .cont-inr.colum2 {
		width: 68.6%
	}

	.product-list .cont-inr.colum2 ul {
		width: 48%;
		margin-right: 4%
	}

	.product-list .cont-inr.colum2 ul:last-of-type,
	.product-list .cont-inr:last-of-type {
		margin-right: 0
	}

	.product-list .ttl-category.ttl-line:after {
		width: 68px
	}

	.product-list .ttl-type {
		white-space: nowrap
	}
}

@media screen and (max-width:750px) {
	.product-list {
		padding-bottom: 12.69%
	}

	.product-list .cont-inr {
		font-size: 2.93vw
	}

	.product-list .cont-inr+.cont-inr {
		padding-top: 5%
	}

	.product-list .ttl-category {
		color: var(--text-secondary);
		font-size: 3.2vw;
		padding: 5.87% 0;
		border-top: 1px solid var(--ui-5th)
	}

	.product-list .cont-type {
		display: none;
		border-top: 1px solid var(--ui-5th);
		padding: 4.76% 0
	}

	.product-list .cont-type+.cont-type {
		border-top: none;
		padding-top: 1.2%
	}

	.product-list .cont:last-child .cont-type:last-child,
	.product-list .cont:last-child .ttl-category {
		border-bottom: 1px solid var(--ui-5th)
	}

	.product-list .cont-warp+.cont-warp .cont:first-child .ttl-category,
	.product-list .cont:last-of-type .ttl-category+.cont-type {
		border-top: none
	}

	.product-list .ttl-category:after,
	.product-list .ttl-category:before {
		top: 50%;
		left: auto;
		right: 0;
		width: 3.8%;
		height: 1px;
		background: var(--ui-tertiary);
		transition: all .3s ease;
		pointer-events: none
	}

	.product-list .ttl-category:before {
		transform: rotate(90deg)
	}

	.product-list .ttl-type {
		font-size: 3.46vw
	}

	.product-list li {
		padding-top: 1%
	}

	.product-list .ttl-line .ttl-line-bottom {
		display: none
	}

	.product-list .view .ttl-category {
		color: var(--text-primary-100)
	}

	.product-list .view .ttl-category:after,
	.product-list .view .ttl-category:before {
		background: var(--ui-primary-100)
	}

	.product-list .view .ttl-category:before {
		transform: rotate(180deg)
	}

	.product-list li .kana {
		font-size: 2.4vw
	}
}

.sec-product .product-slider-wrap {
	position: relative;
	margin: 55px 0 60px
}

.sec-product .product-slider-wrap .swiper-container {
	overflow: visible
}

.sec-product .product-slider .swiper-slide-inner {
	position: relative
}

.sec-product .product-slider a {
	display: block
}

.sec-product .product-slider a img {
	transition: opacity .6s ease
}

html:not(.sp-view) .sec-product .product-slider a:hover img {
	opacity: .6
}

.sec-product .product-slider h3.ttl-bar {
	position: absolute;
	bottom: 100%;
	padding-left: 9px;
	margin-bottom: 55px
}

.sec-product .product-slider h3.ttl-bar:before {
	position: absolute;
	content: "";
	left: 0;
	top: 0;
	width: 1px;
	height: 100%;
	background: var(--ui-tertiary)
}

.sec-product .product-slider h3.ttl-bar:after {
	position: absolute;
	content: "";
	left: 0;
	top: 0;
	width: 1px;
	height: 50%;
	background: var(--ui-primary-100)
}

.sec-product .product-slider div.txt,
.sec-product .product-slider p {
	text-align: center;
	font-size: 1.3vw;
	line-height: 160%;
	padding-top: 16px
}

.sec-product .product-slider div.txt .name,
.sec-product .product-slider div.txt .number,
.sec-product .product-slider p .name,
.sec-product .product-slider p .number {
	display: block
}

.sec-product .product-slider div.txt-note {
	color: var(--text-secondary);
	padding-top: 8px
}

.sec-product .product-slider div.txt .icn-circle,
.sec-product .product-slider p .icn-circle {
	padding-right: 28px
}

.sec-product .product-slider div.txt .icn-circle .icon,
.sec-product .product-slider p .icn-circle .icon {
	width: 16px;
	height: 16px;
	border: 1px solid var(--ui-primary-100);
	border-radius: 50%;
	overflow: hidden;
	box-sizing: border-box
}

.sec-product .product-slider div.txt .icn-circle .icon:before,
.sec-product .product-slider p .icn-circle .icon:before {
	width: 3px;
	height: 3px;
	border: none;
	left: -5px;
	transform: translate(-50%, -50%);
	background-color: var(--ui-primary-100)
}

html:not(.sp-view) .sec-product .product-slider a:hover div.txt .icn-circle .icon:before,
html:not(.sp-view) .sec-product .product-slider a:hover p .icn-circle .icon:before {
	-webkit-transition: left .2s ease .1s;
	-moz-transition: left .2s ease .1s;
	-o-transition: left .2s ease .1s;
	-ms-transition: left .2s ease .1s;
	transition: left .2s ease .1s;
	left: 50%
}

.sec-product .product-slider div.txt .icn-circle .icon:after,
.sec-product .product-slider p .icn-circle .icon:after {
	width: 3px;
	height: 3px;
	border: none;
	left: 50%;
	transform: translate(-50%, -50%)
}

html:not(.sp-view) .sec-product .product-slider a:hover div.txt .icn-circle .icon:after,
html:not(.sp-view) .sec-product .product-slider a:hover p .icn-circle .icon:after {
	left: 120%;
	-webkit-transition: left .2s ease 0s;
	-moz-transition: left .2s ease 0s;
	-o-transition: left .2s ease 0s;
	-ms-transition: left .2s ease 0s;
	transition: left .2s ease 0s
}

.sec-product .product-slider-wrap .btn-prev {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-98%)
}

.sec-product .product-slider-wrap .btn-next {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-98%)
}

.sec-product .product-slider-wrap .btn-next,
.sec-product .product-slider-wrap .btn-prev {
	color: var(--text-primary-100);
	outline: none;
	opacity: 0;
	-webkit-transition: opacity .5s ease 0s;
	-moz-transition: opacity .5s ease 0s;
	-o-transition: opacity .5s ease 0s;
	-ms-transition: opacity .5s ease 0s;
	transition: opacity .5s ease 0s
}

.sec-product .product-slider-wrap .btn-next.show,
.sec-product .product-slider-wrap .btn-prev.show {
	opacity: 1;
	-webkit-transition: opacity .5s ease 0s;
	-moz-transition: opacity .5s ease 0s;
	-o-transition: opacity .5s ease 0s;
	-ms-transition: opacity .5s ease 0s;
	transition: opacity .5s ease 0s
}

.sec-product .product-slider-wrap .slide-pager {
	padding-top: 34px
}

@media (min-width:751px) {
	.sec-product .product-slider-wrap .tab-btn {
		display: none
	}
}

@media screen and (max-width:980px) {

	.sec-product .product-slider-wrap .btn-next,
	.sec-product .product-slider-wrap .btn-prev {
		display: none !important
	}
}

@media screen and (max-width:750px) {
	.sec-product .product-slider-wrap {
		margin: 8.2% 0 20%
	}

	.sec-product .product-slider h3.ttl-bar {
		padding-left: 2.5%;
		margin-bottom: 3.9vw
	}

	.sec-product .product-slider div.txt,
	.sec-product .product-slider p {
		font-size: 2.66vw;
		padding-top: 8%;
		width: 86%;
		margin: 0 auto
	}

	.sec-product .product-slider div.txt-note {
		text-align: left;
		padding-top: 2.66vw
	}

	.sec-product .product-slider-wrap .tab-btn {
		padding-top: 10%
	}
}

.common-nav li+li {
	padding-top: 16px
}

.common-nav .en {
	display: block;
	font-size: 2rem;
	line-height: 140%
}

.common-nav span.jp {
	font-size: 1.4rem;
	line-height: 200%
}

@media screen and (max-width:750px) {
	.common-nav {
		padding-bottom: 12.69%
	}

	.common-nav li+li {
		padding-top: 3.8%
	}

	.common-nav .en {
		font-size: 5.33vw;
		line-height: 120%
	}

	.common-nav span.jp {
		font-size: 2.66vw
	}
}

.common-link .link-list {
	font-size: 1.5rem;
	line-height: 180%;
	padding-bottom: 40px
}

.common-link .account {
	padding-bottom: 21px
}

.common-link .account p,
.common-link .website p {
	font-size: 1.2rem;
	line-height: 200%;
	padding-bottom: 8px
}

.common-link .account li,
.common-link .website li {
	padding-bottom: 13px
}

.common-link .account li:last-child,
.common-link .website li:last-child {
	padding-bottom: 0
}

.common-link .account li .en,
.common-link .website li .en {
	font-size: 1.8rem;
	line-height: 120%
}

@media (min-width:751px) {
	.common-link {
		width: 25%
	}
}

@media screen and (max-width:750px) {
	.common-link .link-list {
		font-size: 3.2vw;
		padding-bottom: 10%
	}

	.common-link .link-list li+li {
		padding-top: 1.26%
	}

	.common-link .account {
		padding-bottom: 10%
	}

	.common-link .website ul {
		display: flex
	}

	.common-link .website li+li {
		padding-left: 9vw
	}

	.common-link .account p,
	.common-link .website p {
		font-size: 2.93vw
	}

	.common-link .account li,
	.common-link .website li {
		padding-bottom: 3.8%
	}

	.common-link .account li .en,
	.common-link .website li .en {
		font-size: 4.26vw
	}
}

.copyright small {
	font-size: 1.5rem
}

@media screen and (max-width:750px) {
	.copyright small {
		font-size: 2.4vw
	}
}

.slide-pager {
	display: flex;
	align-items: center
}

.slide-pager span {
	margin-right: 14px
}

.slide-pager span:last-child {
	margin-right: 0
}

.slide-pager .number {
	font-size: 1.4rem;
	line-height: 100%
}

.slide-pager .dot {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--ui-secondary);
	-webkit-transition: width .2s ease 0s, height .2s ease 0s;
	-moz-transition: width .2s ease 0s, height .2s ease 0s;
	-o-transition: width .2s ease 0s, height .2s ease 0s;
	-ms-transition: width .2s ease 0s, height .2s ease 0s;
	transition: width .2s ease 0s, height .2s ease 0s;
	position: relative;
	overflow: visible
}

.slide-pager .dot:before {
	left: 100%
}

.slide-pager .dot:after,
.slide-pager .dot:before {
	position: absolute;
	content: "";
	display: block;
	height: 1px;
	width: 0;
	top: 50%;
	background: var(--ui-primary-100)
}

.slide-pager .dot:after {
	right: 3px
}

.slide-pager .dot.current {
	width: 8px;
	height: 8px;
	background: var(--ui-primary-100)
}

.slide-pager .dot.current:before {
	animation: line1 5s linear 1 forwards
}

.slide-pager .dot.current:after {
	animation: line2 .4s linear 1 forwards
}

.slide-pager span:nth-child(2):after,
.slide-pager span:nth-last-child(2):before {
	content: none
}

@media screen and (max-width:750px) {
	.slide-pager .number {
		font-size: 2.66vw
	}
}

.circle0 {
	position: absolute;
	content: "";
	top: 50%;
	left: -50%;
	transform: translate(-50%, -50%);
	width: 5px;
	height: 5px;
	background: var(--text-primary-100);
	border-radius: 50%;
	transition: background 1s ease
}

html.sp-view .circle0 {
	display: none
}

.circle1 {
	position: absolute;
	content: "";
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 5px;
	height: 5px;
	background: var(--text-primary-100);
	border-radius: 50%;
	transition: background 1s ease
}

.tab-btn {
	display: flex;
	width: 75%
}

.tab-btn>li {
	position: relative;
	color: var(--text-primary-100);
	font-size: 2.4rem;
	line-height: 140%;
	width: 50%;
	padding: 17px 0;
	border-bottom: 1px solid var(--ui-primary-100);
	cursor: pointer;
	transition: color 1s ease, border 1s ease
}

.tab-btn>li a {
	transition: color 1s ease
}

.tab-btn.no-tab>li {
	padding: 0
}

.tab-btn.no-tab>li a {
	display: block;
	padding: 17px 0
}

.main .scroll-tab li .tab-inr {
	position: relative;
	cursor: pointer;
	border-bottom: 1px solid var(--ui-primary-100);
	transition: color 1s ease, border 1s ease
}

.main .scroll-tab li p {
	position: relative;
	min-width: 210px;
	height: 72px;
	padding-right: 7vw;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	transition: color 1s ease
}

.main .scroll-tab .current .ttl-line-bottom,
.tab-btn .current .ttl-line-bottom {
	display: none
}

.main .scroll-tab li .circlewrap,
.tab-btn>li .circlewrap {
	position: absolute;
	top: 50%;
	right: 3%;
	width: 6.8%;
	height: 100%;
	transform: translateY(-50%);
	overflow: hidden
}

.main .scroll-tab li .ttl-line-bottom .ttl-line-bottom-move,
.tab-btn>li .ttl-line-bottom .ttl-line-bottom-move {
	transform: translateX(-101%);
	width: 100%
}

.main .scroll-tab li:not(.current) p,
.tab-btn>li:not(.current),
.tab-btn>li:not(.current) a {
	color: var(--text-secondary)
}

.main .scroll-tab li:not(.current) .tab-inr,
.tab-btn>li:not(.current) {
	border-color: var(--ui-4th)
}

.main .scroll-tab li:not(.current) .circle0,
.main .scroll-tab li:not(.current) .circle1,
.tab-btn>li:not(.current) .circle0,
.tab-btn>li:not(.current) .circle1 {
	background: var(--text-secondary)
}

ul.animation_linkline li {
	position: relative;
	overflow: hidden;
	border-color: var(--ui-4th)
}

ul.animation_linkline li:after {
	position: absolute;
	width: 20%;
	height: 1px;
	top: auto;
	bottom: 0;
	right: auto;
	left: -21%;
	content: "";
	background: var(--ui-primary-100)
}

html:not(.sp-view) ul.animation_linkline li:hover:after {
	left: 100%;
	-webkit-transition: left .4s ease 0s;
	-moz-transition: left .4s ease 0s;
	-o-transition: left .4s ease 0s;
	-ms-transition: left .4s ease 0s;
	transition: left .4s ease 0s
}

ul.animation_linkline li .circle0,
ul.animation_linkline li:not(.current) .circle0 {
	position: absolute;
	content: "";
	top: 50%;
	left: -50%;
	transform: translate(-50%, -50%);
	width: 5px;
	height: 5px;
	background: var(--text-primary-100);
	border-radius: 50%;
	transition: background 1s ease
}

html:not(.sp-view) ul.animation_linkline li:hover .circle0 {
	left: 50%;
	-webkit-transition: left .3s ease .3s;
	-moz-transition: left .3s ease .3s;
	-o-transition: left .3s ease .3s;
	-ms-transition: left .3s ease .3s;
	transition: left .3s ease .3s
}

ul.animation_linkline li:not(.current) a,
ul.animation_linkline li a {
	color: var(--text-primary-100)
}

html:not(.sp-view) ul.animation_linkline li a.out+.circlewrap .circle0,
html:not(.sp-view) ul.animation_linkline li a.out+.circlewrap .circle1 {
	background: var(--text--tertiary)
}

ul.animation_linkline li .circle1,
ul.animation_linkline li:not(.current) .circle1 {
	position: absolute;
	content: "";
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 5px;
	height: 5px;
	background: var(--text-primary-100);
	border-radius: 50%;
	transition: background 1s ease
}

html:not(.sp-view) ul.animation_linkline li:hover .circle1 {
	left: 150%;
	-webkit-transition: left .3s ease 0s;
	-moz-transition: left .3s ease 0s;
	-o-transition: left .3s ease 0s;
	-ms-transition: left .3s ease 0s;
	transition: left .3s ease 0s
}

ul.animation_linkline li .circlewrap {
	position: absolute;
	top: 50%;
	right: 0;
	width: 6.8%;
	height: 100%;
	transform: translateY(-50%);
	overflow: hidden
}

@media (min-width:751px) {
	html:not(.sp-view) .circleanimation:hover .circle0 {
		left: 50%;
		-webkit-transition: left .3s ease .3s;
		-moz-transition: left .3s ease .3s;
		-o-transition: left .3s ease .3s;
		-ms-transition: left .3s ease .3s;
		transition: left .3s ease .3s
	}

	html:not(.sp-view) .circleanimation:hover .circle1 {
		left: 150%;
		-webkit-transition: left .3s ease 0s;
		-moz-transition: left .3s ease 0s;
		-o-transition: left .3s ease 0s;
		-ms-transition: left .3s ease 0s;
		transition: left .3s ease 0s
	}

	html:not(.sp-view) .main .scroll-tab li:hover .ttl-line-bottom,
	html:not(.sp-view) .tab-btn li:hover .ttl-line-bottom {
		overflow: hidden
	}

	html:not(.sp-view) .main .scroll-tab li:hover .ttl-line-bottom .ttl-line-bottom-move,
	html:not(.sp-view) .tab-btn li:hover .ttl-line-bottom .ttl-line-bottom-move {
		transform: translateX(100%);
		-webkit-transition: transform .4s ease 0s;
		-moz-transition: transform .4s ease 0s;
		-o-transition: transform .4s ease 0s;
		-ms-transition: transform .4s ease 0s;
		transition: transform .4s ease 0s
	}

	html:not(.sp-view) .main .scroll-tab li:hover .circle0,
	html:not(.sp-view) .tab-btn li:hover .circle0 {
		left: 50%;
		-webkit-transition: left .3s ease .3s;
		-moz-transition: left .3s ease .3s;
		-o-transition: left .3s ease .3s;
		-ms-transition: left .3s ease .3s;
		transition: left .3s ease .3s
	}

	html:not(.sp-view) .main .scroll-tab li:hover .circle1,
	html:not(.sp-view) .tab-btn li:hover .circle1 {
		left: 150%;
		-webkit-transition: left .3s ease 0s;
		-moz-transition: left .3s ease 0s;
		-o-transition: left .3s ease 0s;
		-ms-transition: left .3s ease 0s;
		transition: left .3s ease 0s
	}

	html:not(.sp-view) .main .scroll-tab ul:hover li:hover p,
	html:not(.sp-view) .tab-btn:hover li:hover,
	html:not(.sp-view) .tab-btn:hover li:hover a {
		color: var(--text-primary-100)
	}

	html:not(.sp-view) .main .scroll-tab ul:hover li:hover .circle0,
	html:not(.sp-view) .main .scroll-tab ul:hover li:hover .circle1,
	html:not(.sp-view) .tab-btn:hover li:hover .circle0,
	html:not(.sp-view) .tab-btn:hover li:hover .circle1 {
		background: var(--text-primary-100)
	}

	html:not(.sp-view) .main .scroll-tab ul:hover li:not(:hover) p,
	html:not(.sp-view) .tab-btn:hover li:not(:hover),
	html:not(.sp-view) .tab-btn:hover li:not(:hover) a,
	html:not(.sp-view) ul.animation_linkline:hover li:not(:hover) a {
		color: var(--ui-tertiary)
	}

	html:not(.sp-view) .main .scroll-tab ul:hover li:not(:hover) .circle0,
	html:not(.sp-view) .main .scroll-tab ul:hover li:not(:hover) .circle1,
	html:not(.sp-view) .tab-btn:hover li:not(:hover) .circle0,
	html:not(.sp-view) .tab-btn:hover li:not(:hover) .circle1 {
		background: var(--ui-tertiary)
	}

	html:not(.sp-view) .main .scroll-tab ul:hover li:not(:hover) .tab-inr,
	html:not(.sp-view) .tab-btn:hover li:not(:hover) {
		border-color: var(--ui-4th)
	}
}

@media screen and (max-width:750px) {
	.tab-btn {
		width: 100%
	}

	.tab-btn>li {
		font-size: 3.2vw;
		line-height: 160%;
		padding: 5.39% 0
	}

	.tab-btn>li:after {
		width: 1.2vw;
		height: 1.2vw;
		right: 10%
	}

	.tab-btn.no-tab>li a {
		padding: 5.39% 0
	}

	.main .scroll-tab li .circle0,
	.tab-btn li .circle0 {
		display: none
	}
}

.main .scroll-tab .tab-wrap {
	width: 100%;
	padding-bottom: 48px;
	white-space: nowrap;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch
}

.main .scroll-tab .tab-wrap::-webkit-scrollbar {
	display: none
}

.main .scroll-tab ul {
	display: inline-flex;
	width: auto
}

.main .scroll-tab li p .en+.jp {
	padding-left: 16px
}

.main .scroll-tab .cont {
	display: none;
	transition-delay: 0;
	transition-timing-function: linear;
	transition-property: none
}

.main .scroll-tab .cont.view {
	display: block
}

@media (min-width:981px) {
	.main .scroll-tab {
		display: none
	}
}

@media screen and (max-width:750px) {
	.main .scroll-tab .ttl {
		font-size: 3.2vw
	}

	.main .scroll-tab .tab-wrap {
		width: 100vw;
		padding-bottom: 7.61%;
		margin-left: -8vw
	}

	.main .scroll-tab li:first-child {
		padding-left: 8vw
	}

	.main .scroll-tab li:last-child {
		padding-right: 8vw
	}

	.main .scroll-tab li p {
		font-size: 3.2vw;
		min-width: 28vw;
		height: 14.93vw;
		padding-right: 10vw
	}

	.main .scroll-tab li p:before {
		right: 4.4vw;
		width: 1.2vw;
		height: 1.2vw
	}

	.main .scroll-tab li p .en+.jp {
		padding-left: 2.13vw
	}
}

.main .side-tab {
	margin-right: 28%;
	min-width: 236px
}

.main .side-tab .ttl-category {
	position: relative;
	line-height: 120%;
	padding: 26px 0;
	cursor: pointer;
	transition: color 1s ease
}

.main .side-tab .cont.middle+.cont,
.main .side-tab .cont.topborder {
	border-top: 1px solid var(--ui-4th)
}

.main .side-tab .ttl-taxonomy {
	color: var(--text-secondary);
	padding-bottom: 20px
}

.sec-page-product .pc+.ttl-taxonomy {
	padding-top: 20px
}

.main .side-tab .ttl-taxonomy+.cont {
	border-top: 1px solid var(--ui-4th)
}

.main .side-tab .ttl-category:not(:hover) {
	color: var(--text-secondary)
}

html:not(.sp-view) .main .side-tab .cont.out .ttl-category {
	color: var(--text--tertiary)
}

.main .side-tab .ttl-category .en+.jp {
	padding-left: 16px
}

.main .side-tab .cont-type {
	display: none;
	color: var(--text-secondary);
	padding: 24px 0;
	border-bottom: 1px solid var(--ui-tertiary)
}

.main .side-tab .cont:last-of-type .ttl-category+.cont-type {
	border-top: none
}

.main .side-tab .cont.middle {
	margin-bottom: 32px
}

.main .side-tab .ttl-category:after,
.main .side-tab .ttl-category:before {
	position: absolute;
	content: "";
	top: 50%;
	left: auto;
	right: 0;
	width: 3.8%;
	height: 1px;
	background: var(--ui-secondary);
	transition: all .3s ease
}

.main .side-tab .ttl-category:before {
	transform: rotate(90deg)
}

.main .side-tab .cont-type .ttl-type,
.main .side-tab .cont-type li {
	font-size: 1.8rem;
	line-height: 140%
}

.main .side-tab .cont-type li a,
.main .side-tab .cont-type p {
	display: block;
	transition: color 1s ease
}

.main .side-tab .cont-type li a:not(:hover) {
	color: var(--text-secondary)
}

.main .side-tab .cont-type li.current a,
.main .side-tab .view .ttl-category {
	color: var(--text-primary-100)
}

.main .side-tab .view .ttl-category:after,
.main .side-tab .view .ttl-category:before {
	background: var(--ui-primary-100)
}

.main .side-tab .view .ttl-category:before {
	transform: rotate(180deg)
}

.main .side-tab .view-all .ttl {
	line-height: 120%;
	padding: 26px 0
}

.main .side-tab .view-all .cont-type {
	display: block !important;
	border-top: 1px solid var(--ui-tertiary);
	border-bottom: none
}

@media (min-width:751px) {
	.main .side-tab .cont .ttl-category {
		transition: color 1s ease
	}

	html:not(.sp-view) .main .side-tab .cont-type li a.out,
	html:not(.sp-view) .main .side-tab .cont .ttl-category.out,
	html:not(.sp-view) .main .side-tab .cont .ttl-category.out+.cont-type a,
	html:not(.sp-view) .main .side-tab .cont .ttl-category.out+.cont-type p {
		color: var(--text--tertiary)
	}

	html:not(.sp-view) .main .side-tab .cont .ttl-category.out+.cont-type .icon path {
		fill: var(--text--tertiary)
	}
}

@media screen and (max-width:980px) {
	.main .side-tab {
		display: none
	}
}

.info-list ul {
	position: relative;
	top: 35px;
	opacity: 0
}

.info-list.init ul {
	top: 0;
	opacity: 1;
	-webkit-transition: top .7s ease 0s, opacity .7s ease 0s;
	-moz-transition: top .7s ease 0s, opacity .7s ease 0s;
	-o-transition: top .7s ease 0s, opacity .7s ease 0s;
	-ms-transition: top .7s ease 0s, opacity .7s ease 0s;
	transition: top .7s ease 0s, opacity .7s ease 0s
}

.info-list li {
	position: relative;
	overflow: hidden
}

.info-list li:before {
	width: 100%;
	background-color: var(--ui-6th);
	left: 0;
	opacity: .6
}

.info-list li:after,
.info-list li:before {
	content: "";
	display: block;
	height: 1px;
	position: absolute;
	top: auto;
	bottom: 0
}

.info-list li:after {
	width: 100px;
	background-color: var(--ui-primary-100);
	left: -101px;
	opacity: .8
}

html:not(.sp-view) .info-list li:hover:after {
	left: 100%;
	-webkit-transition: left .6s ease 0s;
	-moz-transition: left .6s ease 0s;
	-o-transition: left .6s ease 0s;
	-ms-transition: left .6s ease 0s;
	transition: left .6s ease 0s
}

.info-list .category {
	display: flex;
	align-items: center
}

.info-list .category time {
	font-size: 1.3rem;
	line-height: 200%
}

.info-list .category .tag-cat {
	width: 66px;
	text-align: center;
	font-size: 1.2rem;
	line-height: 140%;
	padding: 3px 0;
	background: var(--ui-4th);
	margin: 0 13px 0 0;
	transition: background 1s ease
}

@media (min-width:751px) {
	.info-list a {
		display: flex;
		align-items: flex-start;
		padding: 24px 0;
		transition: color 1s ease
	}

	html:not(.sp-view) .info-list a.out {
		color: var(--text--tertiary)
	}

	html:not(.sp-view) .info-list a.out .category .tag-cat {
		background: var(--ui-5th)
	}

	.info-list .ttl {
		position: relative;
		flex: 1 auto;
		font-size: 1.5rem;
		line-height: 200%;
		padding: 0 13px
	}

	.info-list .ttl:before {
		position: absolute;
		content: "";
		top: 6px;
		left: 0;
		width: 1px;
		height: calc(100% - 12px);
		background: var(--ui-tertiary)
	}
}

@media screen and (max-width:750px) {
	.info-list a {
		display: block;
		padding: 7.6% 0
	}

	.info-list .category {
		padding-bottom: 2.5%
	}

	.info-list .category time {
		font-size: 3.46vw;
		line-height: 140%
	}

	.info-list .category .tag-cat {
		font-size: 2.66vw;
		width: 20%;
		margin: 0 3%
	}

	.info-list .ttl {
		line-height: 140%
	}
}

.pager-wrap .pager-list {
	display: flex
}

.pager-wrap .pager-list li a {
	position: relative;
	max-width: 72px;
	width: 5vw;
	height: 72px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: color 1s ease, border 1s ease;
	border-bottom: 1px solid var(--ui-primary-100)
}

.pager-wrap .pager-list li .dot {
	display: block;
	width: 5px;
	height: 5px;
	background: var(--ui-secondary);
	border-radius: 50%;
	transition: color 1s ease
}

.pager-wrap .pager-list .current .ttl-line-bottom {
	display: none
}

.pager-wrap .pager-list li:not(.current) a {
	border-color: var(--ui-4th)
}

.pager-wrap .pager-btn {
	display: flex
}

.pager-wrap .pager-btn .btn-prev {
	margin-right: 17px
}

@media (min-width:751px) {
	.pager-wrap {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-top: 80px
	}

	.pager-wrap .pager-list {
		flex: 1 auto
	}

	html:not(.sp-view) .pager-wrap .pager-list:hover li:not(:hover) a {
		border-color: var(--ui-4th);
		color: var(--ui-tertiary)
	}

	html:not(.sp-view) .pager-wrap .pager-list:hover li:not(:hover) .dot {
		background: var(--ui-tertiary)
	}
}

@media screen and (max-width:980px) {
	.pager-wrap .pager-list li a {
		width: 8.57vw
	}
}

@media screen and (max-width:750px) {
	.pager-wrap {
		margin-top: 19.84%
	}

	body:not(.article) .pager-wrap .pager-btn {
		display: none !important
	}

	.pager-wrap .pager-list li {
		width: 16.66667%
	}

	.pager-wrap .pager-list li a {
		max-width: 100%;
		width: 100%;
		height: 14.2vw;
		font-size: 4.26vw
	}

	.pager-wrap .pager-list li .dot {
		width: 1.2vw;
		height: 1.2vw
	}

	.pager-wrap .pager-btn .btn-prev {
		margin-right: 2.13vw
	}
}

.cont-footer {
	padding: 144px 0;
	background: var(--background-secondary)
}

@media (min-width:981px) {
	.cont-footer {
		display: none
	}
}

@media screen and (max-width:750px) {
	.cont-footer {
		padding: 19.2% 0
	}
}

.slide-img {
	position: relative;
	padding-top: 140%;
	overflow: hidden
}

.slide-img img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 0
}

#article-wrap p a {
	text-decoration: underline
}

#article-wrap p a.icn-link {
	padding-right: 18px;
	margin-right: 3px
}

#article-wrap time {
	display: block;
	font-size: 2.4rem;
	line-height: 120%;
	color: var(--text-secondary);
	margin-bottom: 40px
}

#article-wrap h1 {
	font-size: 3.2rem;
	line-height: 140%;
	margin-bottom: 24px
}

#article-wrap h2 {
	font-size: 2.4rem;
	line-height: 160%;
	margin: 32px 0 8px
}

#article-wrap h3 {
	font-size: 1.6rem;
	line-height: 160%;
	padding: 24px 0;
	margin-bottom: 32px
}

#article-wrap h4 {
	font-size: 1.6rem;
	line-height: 160%;
	margin-bottom: 8px
}

#article-wrap p {
	font-size: 1.3rem;
	margin-bottom: 16px
}

#article-wrap .txt-read {
	color: var(--text-secondary);
	margin-bottom: 24px
}

#article-wrap .txt-read p {
	font-size: 1.2rem;
	line-height: 160%
}

#article-wrap .txt-read p:first-child {
	margin-top: 0
}

#article-wrap .image {
	margin-bottom: 32px
}

#article-wrap ol,
#article-wrap ul {
	margin-bottom: 16px
}

#article-wrap ul li {
	font-size: 1.3rem;
	margin-left: 1.4em;
	list-style-type: disc;
	margin-bottom: 4px
}

#article-wrap ol li {
	font-size: 1.3rem;
	margin-left: 1em;
	list-style-type: decimal;
	margin-bottom: 4px
}

#article-wrap ol li:last-child,
#article-wrap ul li:last-child {
	margin-bottom: 0
}

#article-wrap figure {
	margin-bottom: 16px
}

#article-wrap .column-image figure {
	margin-top: 16px
}

#article-wrap blockquote {
	position: relative;
	padding-left: 90px;
	margin: 64px 0
}

#article-wrap blockquote .blockquote {
	padding: 24px 0;
	border-top: 1px solid var(--ui-5th);
	border-bottom: 1px solid var(--ui-5th)
}

#article-wrap blockquote:before {
	position: absolute;
	content: "“";
	top: 0;
	left: 0;
	color: var(--ui-5th);
	font-family: bodoni, sans-serif;
	font-size: 14rem;
	line-height: 60%
}

#article-wrap blockquote cite a {
	color: var(--text-secondary);
	font-size: 1.3rem;
	text-decoration: underline
}

#article-wrap .btn-wrap:not(.column2) .btn-base {
	max-width: 350px
}

#article-wrap .article-link {
	margin-top: 64px
}

#article-wrap .article-link .ttl-line {
	padding: 24px 0;
	margin: 0 0 64px
}

#article-wrap .article-link .btn-wrap p {
	margin: 0
}

@media (min-width:981px) {
	#article-wrap .number-hits {
		display: none
	}
}

@media (min-width:751px) {
	#article-wrap .column-txt {
		display: flex;
		justify-content: space-between
	}

	#article-wrap .column-txt .column-inr {
		width: 47.2%
	}

	#article-wrap .column-image {
		display: flex;
		justify-content: space-between;
		flex-flow: row-reverse
	}

	#article-wrap .column-image .column-inr {
		width: 47.2%
	}

	#article-wrap .column-txt+.column-txt {
		margin-top: 16px
	}
}

@media screen and (max-width:980px) {
	#article-wrap .number-hits {
		padding-bottom: 8px
	}

	#article-wrap .number-hits p {
		margin: 0
	}
}

@media screen and (max-width:750px) {
	#article-wrap .number-hits {
		padding-bottom: 1.26%
	}

	#article-wrap time {
		font-size: 3.2vw;
		margin-bottom: 2.06%
	}

	#article-wrap h1 {
		font-size: 4.26vw;
		margin-bottom: 3.8%
	}

	#article-wrap .image {
		margin-bottom: 5.07%
	}

	#article-wrap h2 {
		font-size: 4.12vw;
		margin: 10% 0 2.53%
	}

	#article-wrap h3 {
		font-size: 3.6vw;
		padding: 3.8% 0;
		margin-bottom: 6.34%
	}

	#article-wrap h4 {
		font-size: 3.2vw;
		margin-bottom: 1.26%
	}

	#article-wrap p {
		font-size: 2.93vw;
		margin-bottom: 2.53%
	}

	#article-wrap .txt-read {
		height: auto !important;
		margin-bottom: 5.07%
	}

	#article-wrap .txt-read p {
		font-size: 2.93vw
	}

	#article-wrap ol,
	#article-wrap ul {
		margin-bottom: 2.53%
	}

	#article-wrap ol li,
	#article-wrap ul li {
		font-size: 2.93vw;
		margin-bottom: 0
	}

	#article-wrap ul li {
		margin-left: 4.5vw
	}

	#article-wrap figure {
		margin-bottom: 4vh
	}

	#article-wrap p a.icn-link {
		padding-right: 4vw;
		margin-right: .8vw
	}

	#article-wrap blockquote {
		margin: 8vh 0;
		padding-left: 13.96%
	}

	#article-wrap blockquote:before {
		top: 5%;
		font-size: 18.66vw
	}

	#article-wrap blockquote .blockquote {
		padding: 4.42% 0
	}

	#article-wrap blockquote cite a {
		font-size: 2.93vw
	}

	#article-wrap .article-link {
		margin-top: 6.34%
	}

	#article-wrap .article-link .ttl-line {
		font-size: 3.2vw;
		padding: 3.8% 0;
		margin-bottom: 6.34%
	}

	#article-wrap .article-link .btn-wrap p+p {
		margin-top: 5%
	}
}

input:-webkit-autofill {
	background-color: transparent !important;
	-webkit-box-shadow: 0 0 0 50px var(--background-primary) inset;
	-webkit-text-fill-color: var(--text-primary-100) !important;
	animation-name: onAutoFillStart;
	transition: background-color 50000s ease-in-out 0s
}

.main input[type=email],
.main input[type=tel],
.main input[type=text],
.main select,
.main textarea {
	width: 100%;
	padding: 23px 27px;
	border: 1px solid var(--ui-tertiary);
	box-sizing: border-box
}

.main input[type=email]:focus,
.main input[type=tel]:focus,
.main input[type=text]:focus,
.main select:focus,
.main textarea:focus {
	background: var(--background-primary);
	border-color: var(--ui-secondary);
	box-shadow: 0 0 13px 0 rgba(0, 0, 0, .3)
}

.main input[type=email].error,
.main input[type=tel].error,
.main input[type=text].error,
.main select.error,
.main textarea.error {
	border-color: var(--ui-error)
}

.main textarea {
	width: 100%;
	resize: vertical;
	outline: none
}

#form .errortxt {
	/* font-family: YuGothic, Yu Gothic, 游ゴシック体, 游ゴシック, ヒラギノ角ゴ Pro W3, ヒラギノ角ゴ W3, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, ＭＳ Ｐゴシック, Osaka, MS PGothic, sans-serif; */
	font-family: "微软雅黑";
	color: var(--text-error);
	line-height: 160%;
	display: none
}

#form .required {
	display: inline-block;
	color: var(--text-error);
	padding-left: 3px
}

@media (min-width:751px) {
	#form dd {
		font-size: 1.3rem
	}

	#form #c_code {
		width: 50%
	}
}

@media screen and (max-width:750px) {

	.main input[type=email],
	.main input[type=tel],
	.main input[type=text],
	.main select,
	.main textarea {
		font-size: 2.93vw;
		padding: 5.39% 9% 5.39% 5.7%
	}
}

@media screen and (max-width:545px) {

	.main input[type=email],
	.main input[type=tel],
	.main input[type=text],
	.main select,
	.main textarea {
		font-size: 1.6rem;
		padding: 25px calc(30px + 4%) 25px 26px
	}
}

@media screen and (max-width:480px) {

	.main input[type=email],
	.main input[type=tel],
	.main input[type=text],
	.main select,
	.main textarea {
		transform: scale(.75)
	}

	.main .txt-input {
		width: 133%;
		margin: -1% 0 0 -16.5%
	}

	.main .tel-wrap {
		width: 108%;
		margin: 0 0 0 -4%
	}
}

.main .select-wrap {
	position: relative
}

.main .select-wrap:after {
	position: absolute;
	content: "";
	width: 0;
	height: 0;
	border-left: 2.5px solid transparent;
	border-bottom: 0 solid transparent;
	border-right: 2.5px solid transparent;
	border-top: 7px solid var(--ui-primary-100);
	top: 50%;
	right: 6.1%;
	transform: translateY(-50%)
}

@media screen and (max-width:480px) {
	.main .select-wrap:after {
		right: 18%
	}
}

.radio:not(.no-column) {
	display: flex;
	flex-wrap: wrap;
	align-items: center
}

.radio input {
	display: none
}

.radio label {
	position: relative;
	cursor: pointer;
	padding-left: 31px;
	display: flex;
	align-items: center;
	line-height: 120%;
	min-height: 25px
}

.radio label:before {
	position: absolute;
	content: "";
	top: 50%;
	left: 0;
	width: 25px;
	height: 25px;
	transform: translateY(-50%);
	border: 1px solid var(--ui-tertiary);
	box-sizing: border-box;
	border-radius: 50%
}

.radio input[type=radio]:checked+label:before {
	border-color: var(--ui-primary-100)
}

.radio input[type=radio]:checked+label:after {
	position: absolute;
	content: "";
	top: 50%;
	left: 10px;
	width: 5px;
	height: 5px;
	transform: translateY(-50%);
	background: var(--ui-primary-100);
	border-radius: 50%
}

@media screen and (max-width:750px) {
	.radio label {
		min-height: 8.53vw;
		padding-left: 10.6vw
	}

	.radio label:before {
		width: 8.53vw;
		height: 8.53vw
	}

	.radio input[type=radio]:checked+label:after {
		left: 3.3vw;
		width: 1.73vw;
		height: 1.73vw
	}

	.radio li {
		width: 48.4%;
		margin-right: 3.2%
	}

	.radio li:nth-child(2n) {
		margin-right: 0
	}

	.radio li:nth-child(n+3) {
		margin-top: 5%
	}
}

.main dl>div:not(.catalog-wrap) .check {
	display: flex;
	flex-wrap: wrap;
	align-items: center
}

.main .check input {
	display: none
}

.main .check label {
	position: relative;
	cursor: pointer;
	padding-left: 31px;
	display: flex;
	align-items: center;
	line-height: 120%;
	min-height: 25px
}

.main .check label:before {
	position: absolute;
	content: "";
	top: 50%;
	left: 0;
	width: 25px;
	height: 25px;
	transform: translateY(-50%);
	border: 1px solid var(--ui-tertiary);
	box-sizing: border-box
}

.main .check input[type=checkbox]:checked+label:before {
	border-color: var(--ui-primary-100)
}

.main .check input[type=checkbox]:checked+label:after {
	position: absolute;
	content: "";
	top: 50%;
	left: 6px;
	width: 6px;
	height: 11px;
	-webkit-transform: rotate(45deg) translateY(-50%);
	transform: rotate(45deg) translateY(-50%);
	margin-top: -3px;
	box-sizing: border-box;
	border-bottom: 2px solid var(--ui-primary-100);
	border-right: 2px solid var(--ui-primary-100)
}

@media screen and (max-width:750px) {
	.main .check label {
		min-height: 8.53vw;
		padding-left: 10.6vw
	}

	.main .check label:before {
		width: 8.53vw;
		height: 8.53vw
	}

	.main .check input[type=checkbox]:checked+label:after {
		left: 2vw;
		width: 2.4vw;
		height: 3.73vw;
		margin-top: -1vw
	}

	.main dl>div:not(.catalog-wrap) .check li {
		width: 48.4%;
		margin-right: 3.2%
	}

	.main dl>div:not(.catalog-wrap) .check li:nth-child(2n) {
		margin-right: 0
	}

	.main dl>div:not(.catalog-wrap) .check li:nth-child(n+3) {
		margin-top: 5%
	}
}

.main .file-wrap input[type=file] {
	display: none
}

.main .file-wrap label {
	position: relative;
	color: var(--text-primary-100);
	background: var(--ui-5th);
	padding: 23px 27px;
	box-sizing: border-box;
	cursor: pointer;
	margin-right: 16px
}

.main .file-wrap label .icon {
	position: absolute;
	top: 50%;
	right: 8.72%;
	width: 13px;
	height: 13px;
	transform: translateY(-50%)
}

.main .file-wrap label:after {
	position: absolute;
	content: "选择你的文件";
	top: 50%;
	left: 100%;
	white-space: nowrap;
	transform: translateY(-50%);
	margin-left: 16px;
	color: var(--text-secondary)
}

.main .file-wrap label.changed:after {
	content: ""
}

.main .file-wrap #f_photo.error~.filename {
	color: var(--ui-error)
}

@media (min-width:751px) {
	.main .file-wrap {
		display: flex;
		align-items: center
	}

	.main .file-wrap label {
		width: 58.7%
	}
}

@media screen and (max-width:750px) {
	.main .file-wrap label {
		display: block;
		padding: 7% 5.7%
	}

	.main .file-wrap label:after {
		top: 100%;
		left: 0;
		margin: 4% 0 0;
		transform: none
	}

	.main .file-wrap label .icon {
		right: 7.14%;
		width: 3.2vw;
		height: 3.2vw
	}
}

#form .btn-wrap .btn-return {
	background: var(--ui-5th)
}

@media (min-width:981px) {
	#form .btn-wrap.column2 {
		flex-flow: row-reverse
	}
}

@media (min-width:751px) and (max-width:980px) {
	#form .btn-wrap.column2 {
		display: block
	}

	#form .btn-wrap.column2 p[class^=btn-] {
		width: 100%
	}

	#form .btn-wrap.column2 p+p {
		margin-top: 20px
	}

	#form .btn-wrap .btn-base:before {
		right: 4.5%
	}
}

#landscape {
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: 9999;
	background: var(--background-primary);
	overflow: hidden;
	display: none
}

#landscape.is-active {
	display: block
}

#landscape .landscape_inner {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	text-align: center
}

#landscape .landscape_inner svg {
	width: 4.44vw;
	height: 4.44vw
}

#landscape .landscape_inner p {
	font-size: 1.25vw;
	line-height: 140%;
	padding-top: 1.66%
}

#loader {
	display: block;
	position: fixed;
	background: var(--background-primary);
	width: 100%;
	height: 100%;
	z-index: 9999
}

#loader .loader {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	text-align: center;
	transform: translate(-50%, -50%)
}

#loader .logo {
	width: 176px;
	margin: 0 auto 7px;
	opacity: 0;
	-webkit-transition: opacity .8s ease .1s;
	-moz-transition: opacity .8s ease .1s;
	-o-transition: opacity .8s ease .1s;
	-ms-transition: opacity .8s ease .1s;
	transition: opacity .8s ease .1s
}

#loader .txt {
	color: var(--text-primary-100);
	font-size: 3.2rem;
	line-height: 120%;
	opacity: 0
}

#loader .loader-bar {
	position: relative;
	width: 106px;
	height: 1px;
	margin: 40px auto 0
}

#loader .loader-bar span {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%
}

#loader .loader-bar .bar01 {
	background: var(--ui-4th)
}

#loader .loader-bar .bar02 {
	display: block;
	width: 0;
	background: var(--ui-primary-100);
	-webkit-transition: width .1s ease 0s;
	-moz-transition: width .1s ease 0s;
	-o-transition: width .1s ease 0s;
	-ms-transition: width .1s ease 0s;
	transition: width .1s ease 0s
}

@media screen and (max-width:750px) {
	#loader .logo {
		width: 28.8%;
		margin-bottom: 1.73%
	}

	#loader .txt {
		font-size: 5.33vw
	}

	#loader .loader-bar {
		margin-top: 8%;
		width: 24%
	}
}

#header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 2000;
	opacity: 0
}

#header.init {
	opacity: 1;
	-webkit-transition: opacity .5s ease 0s;
	-moz-transition: opacity .5s ease 0s;
	-o-transition: opacity .5s ease 0s;
	-ms-transition: opacity .5s ease 0s;
	transition: opacity .5s ease 0s
}

#header:after,
#header:before {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 115%;
	transition: all .3s ease;
	pointer-events: none
}

#header:before {
	background: linear-gradient(180deg, rgba(27, 27, 27, .7), rgba(27, 27, 27, .4) 50%, transparent);
	opacity: .5
}

html.light-mode #header:before {
	opacity: .08
}

#header.scroll:before,
.menu-open #header:before,
.modal-search-open #header:before {
	opacity: 0
}

#header.opensubmenu:before {
	opacity: 0 !important
}

#header:after {
	background: linear-gradient(180deg, #1b1b1b, rgba(27, 27, 27, 1) 50%, black);
	opacity: 0
}

html:not(.menu-open) body.brandstory #header.scroll:after,
html:not(.menu-open) body.home #header.scroll:after,
html:not(.menu-open) body.product-photo #header.scroll:after {
	opacity: 1
}

#header.opensubmenu:after {
	opacity: .4 !important
}

#header.menu-scroll:after,
#header.scroll:after,
.modal-search-open #header:after {
	opacity: .08
}

html:not(.light-mode) #header.menu-scroll:after,
html:not(.light-mode) #header.scroll:after,
html:not(.light-mode) .modal-search-open #header:after {
	opacity: .9
}

#header .header {
	position: relative;
	width: 86.1%;
	margin: 0 auto;
	padding: 56px 0 18px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	z-index: 2009
}

#header .logo {
	width: 220px;
	display: flex;
	align-items: center;
}

html:not(.modal-search-open):not(.menu-open) body.brandstory #header .logo svg path,
html:not(.modal-search-open):not(.menu-open) body.home #header .logo svg path,
html:not(.modal-search-open):not(.menu-open) body.product-photo #header .logo svg path {
	fill: #fff
}

@media screen and (max-width:750px) {
	#header .header {
		width: 84%;
		padding: 9.5% 0 1%
	}

	#header:after,
	#header:before {
		height: 140%
	}

	#header .logo {
		width: 35%;
		height: auto
	}
}

#gnav {
	transition-delay: 0;
	transition-timing-function: linear;
	transition-property: none
}

#gnav,
.gnav {
	display: flex;
	align-items: center
}

.gnav {
	font-size: 1.6rem;
	margin-right: 32px;
	transition: opacity .3s ease
}

.menu-open .gnav {
	opacity: 0;
	pointer-events: none
}

.gnav>li {
	position: relative;
	margin-right: 25px
}

.gnav>li:last-child {
	margin-right: 0
}

.gnav>li>a,
.gnav>li>p {
	position: relative;
	cursor: pointer;
	color: var(--text-primary-100);
	letter-spacing: .01em;
	transition: all .3s ease
}

html:not(.modal-search-open):not(.menu-open) body.brandstory .gnav>li>a,
html:not(.modal-search-open):not(.menu-open) body.brandstory .gnav>li>p,
html:not(.modal-search-open):not(.menu-open) body.home .gnav>li>a,
html:not(.modal-search-open):not(.menu-open) body.home .gnav>li>p,
html:not(.modal-search-open):not(.menu-open) body.product-photo .gnav>li>a,
html:not(.modal-search-open):not(.menu-open) body.product-photo .gnav>li>p {
	color: #fff
}

.gnav>li>a:before,
.gnav>li>p:before {
	position: absolute;
	content: "";
	bottom: -8px;
	left: 50%;
	width: 0;
	height: 1px;
	transform: translateX(-50%);
	background: var(--text-primary-100);
	transition: width .3s ease
}

html:not(.modal-search-open):not(.menu-open) body.brandstory .gnav>li>a:before,
html:not(.modal-search-open):not(.menu-open) body.brandstory .gnav>li>p:before,
html:not(.modal-search-open):not(.menu-open) body.home .gnav>li>a:before,
html:not(.modal-search-open):not(.menu-open) body.home .gnav>li>p:before,
html:not(.modal-search-open):not(.menu-open) body.product-photo .gnav>li>a:before,
html:not(.modal-search-open):not(.menu-open) body.product-photo .gnav>li>p:before {
	background: #fff
}

html:not(.sp-view) .gnav>li>a:hover:before,
html:not(.sp-view) .gnav>li>p:hover:before {
	width: 100%
}

.gnav .nav-cont {
	display: none;
	position: absolute;
	top: 100%;
	padding-top: 20px
}

.gnav .nav-cont.open {
	display: block
}

.gnav .nav-cont .nav-cont-inr {
	padding: 45px 60px 35px;
	box-sizing: border-box;
	background: var(--background-primary);
	box-shadow: 0 4px 40px 16px rgba(0, 0, 0, .3)
}

.gnav .nav-cont .ttl {
	padding-bottom: 24px
}

.gnav .nav-cont .ttl .en {
	display: block;
	font-size: 2.4rem
}

.gnav .nav-cont .ttl .jp {
	display: block;
	color: var(--text-secondary);
	font-size: 1.2rem;
	padding-top: 10px
}

.gnav .nav-cont .cont-image {
	padding-bottom: 25px
}

.gnav .nav-cont .cont-image figure {
	width: 298px;
	margin-bottom: 15px;
	position: relative;
	padding-top: 50.33%;
	overflow: hidden
}

.gnav .nav-cont .cont-image figure img {
	position: absolute;
	top: 35px;
	opacity: 0;
	-webkit-transition: top .6s ease 0s, opacity .6s ease 0s;
	-moz-transition: top .6s ease 0s, opacity .6s ease 0s;
	-o-transition: top .6s ease 0s, opacity .6s ease 0s;
	-ms-transition: top .6s ease 0s, opacity .6s ease 0s;
	transition: top .6s ease 0s, opacity .6s ease 0s;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 0
}

.gnav .nav-cont.open .cont-image figure img {
	top: 0;
	opacity: 1
}

.gnav .nav-cont .cont-image .txt-wrap .ttl {
	font-size: 1.6rem;
	line-height: 160%;
	padding: 0
}

.gnav .nav-cont .cont-image .txt-wrap .type {
	font-size: 1.2rem
}

.gnav .nav-cont .cont-image .ttl-line:before {
	max-width: 56px
}

.gnav .nav-cont .cont-image .ttl-line .ttl-line-bottom {
	display: none
}

.gnav .nav-cont .cont-image .ttl span.ttl-line-sub {
	display: block;
	color: var(--text-secondary);
	font-size: 1rem
}

.gnav .sub-products .nav-cont .nav-cont-inr,
.gnav .sub-special .nav-cont ul {
	display: flex;
	justify-content: space-between
}

.gnav .sub-products .nav-cont {
	left: -39vw
}

.gnav .sub-products .nav-cont .nav-cont-inr>.product-list {
	width: 403px;
	padding: 0 0 0 120px
}

.gnav .sub-products .nav-cont .product-list .cont-type+.cont-type {
	padding-top: 8px
}

.gnav .sub-products .nav-cont .product-list .cont-inr {
	font-size: 1.2rem;
	line-height: 140%;
	margin-right: 0;
	flex-grow: 1
}

.gnav .sub-products .nav-cont .cont-warp {
	width: 48%
}

.gnav .sub-products .nav-cont .ttl-category {
	font-size: 1.3rem;
	padding: 18px 0 10px;
	margin: 0
}

.gnav .sub-products .nav-cont .ttl-type {
	color: var(--text-secondary);
	padding-top: 14px
}

.gnav .sub-products .nav-cont .cont-inr+.cont-inr {
	padding-left: 20px
}

.gnav .sub-products .nav-cont .cont-inr li {
	padding-right: 40px
}

.gnav .sub-special .nav-cont {
	right: -15.76vw
}

.gnav .sub-special .nav-cont li+li {
	margin-left: 24px
}

@media screen and (max-height:745px) {
	.gnav .nav-cont .nav-cont-inr {
		padding-top: 5vh;
		padding-bottom: 3.5vh
	}

	.gnav .sub-products .nav-cont .product-list .cont-inr {
		font-size: 1.6vh
	}

	.gnav .sub-products .nav-cont .ttl-category {
		font-size: 1.74vh;
		padding: 2vh 0 1vh
	}

	.gnav .sub-products .nav-cont .ttl-type {
		padding-top: 1.5vh
	}

	.gnav .sub-products .nav-cont .cont-inr li {
		margin-top: .5vh
	}
}

@media (min-width:751px) {
	.gnav .nav-cont a {
		display: inline-block
	}

	#header.menu-btn-on .gnav>li>a,
	#header.menu-btn-on .gnav>li>p,
	#header.search-btn-on .gnav>li>a,
	#header.search-btn-on .gnav>li>p,
	html:not(.sp-view) .gnav .nav-cont a.out,
	html:not(.sp-view) .gnav .nav-cont a.out>*,
	html:not(.sp-view) .gnav:hover>li>a:not(:hover),
	html:not(.sp-view) .gnav:hover>li>p:not(:hover) {
		opacity: .4
	}
}

@media screen and (max-width:980px) {
	#gnav nav {
		display: none !important
	}
}

#header .search-btn {
	position: relative;
	display: block;
	width: 13px;
	height: 13px;
	margin-right: 24px;
	cursor: pointer;
	transition: opacity .3s ease
}

#header .search-btn svg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%
}

.modal-search-open #header .search-btn {
	opacity: 0;
	pointer-events: none
}

html:not(.modal-search-open):not(.menu-open) body.brandstory #header .search-btn svg path,
html:not(.modal-search-open):not(.menu-open) body.home #header .search-btn svg path,
html:not(.modal-search-open):not(.menu-open) body.product-photo #header .search-btn svg path {
	fill: #fff
}

@media (min-width:751px) {

	#header.gnav-btn-on .search-btn,
	#header.menu-btn-on .search-btn {
		opacity: .4
	}
}

@media screen and (max-width:750px) {
	#header .search-btn {
		width: 4.26vw;
		height: 4.26vw
	}
}

.menu-btn {
	position: relative;
	width: 40px;
	height: 13px;
	cursor: pointer;
	transition: opacity .3s ease
}

.menu-btn span,
.modal .close-btn span {
	position: absolute;
	display: block;
	width: 100%;
	height: 1px;
	transition: transform .3s
}

.menu-btn span.menu-btn-line-bg,
.modal .close-btn span.menu-btn-line-bg {
	top: 0;
	left: 0;
	z-index: 2009;
	background: var(--ui-primary-100);
	opacity: .5
}

.menu-btn span:before,
.modal .close-btn span:before {
	position: absolute;
	display: block;
	content: "";
	width: 0;
	height: 1px;
	top: 0;
	left: 0;
	background: var(--ui-primary-100);
	z-index: 2010
}

.menu-btn span:after,
.modal .close-btn span:after {
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 1px;
	top: 0;
	left: auto;
	right: 0;
	background: var(--ui-primary-100);
	opacity: 1
}

html:not(.modal-search-open):not(.menu-open) body.brandstory .menu-btn span:after,
html:not(.modal-search-open):not(.menu-open) body.home .menu-btn span:after,
html:not(.modal-search-open):not(.menu-open) body.product-photo .menu-btn span:after {
	background: #fff !important
}

.menu-open .menu-btn span:before,
.modal-search-open .menu-btn span:before,
.modal .close-btn span:before {
	width: 100%
}

.menu-open .menu-btn span:after,
.modal-search-open .menu-btn span:after,
.modal .close-btn span:after {
	width: 0
}

.menu-line-top {
	top: 0
}

.menu-line-center {
	top: 50%;
	margin-top: -1px
}

.menu-line-bottom {
	bottom: 0
}

.menu-btn.active .menu-line-top {
	top: 4px;
	transform: rotate(30deg)
}

.menu-btn.active .menu-line-center {
	transform: scaleX(0)
}

.menu-btn.active .menu-line-bottom {
	bottom: 9px;
	transform: rotate(-30deg)
}

@media (min-width:751px) {

	#header.gnav-btn-on .menu-btn,
	#header.search-btn-on .menu-btn {
		opacity: .4
	}

	html:not(.modal-search-open):not(.menu-open):not(.sp-view) .menu-btn:hover span.menu-line-top:after {
		width: 0;
		-webkit-transition: width .2s ease 0s;
		-moz-transition: width .2s ease 0s;
		-o-transition: width .2s ease 0s;
		-ms-transition: width .2s ease 0s;
		transition: width .2s ease 0s
	}

	html:not(.modal-search-open):not(.menu-open):not(.sp-view) .menu-btn:hover span.menu-line-center:after {
		width: 0;
		-webkit-transition: width .2s ease .15s;
		-moz-transition: width .2s ease .15s;
		-o-transition: width .2s ease .15s;
		-ms-transition: width .2s ease .15s;
		transition: width .2s ease .15s
	}

	html:not(.modal-search-open):not(.menu-open):not(.sp-view) .menu-btn:hover span.menu-line-bottom:after {
		width: 0;
		-webkit-transition: width .2s ease .3s;
		-moz-transition: width .2s ease .3s;
		-o-transition: width .2s ease .3s;
		-ms-transition: width .2s ease .3s;
		transition: width .2s ease .3s
	}

	html:not(.modal-search-open):not(.menu-open):not(.sp-view) .menu-btn:hover span.menu-line-top:before {
		width: 100%;
		-webkit-transition: width .2s ease .2s;
		-moz-transition: width .2s ease .2s;
		-o-transition: width .2s ease .2s;
		-ms-transition: width .2s ease .2s;
		transition: width .2s ease .2s
	}

	html:not(.modal-search-open):not(.menu-open):not(.sp-view) .menu-btn:hover span.menu-line-center:before {
		width: 100%;
		-webkit-transition: width .2s ease .35s;
		-moz-transition: width .2s ease .35s;
		-o-transition: width .2s ease .35s;
		-ms-transition: width .2s ease .35s;
		transition: width .2s ease .35s
	}

	html:not(.modal-search-open):not(.menu-open):not(.sp-view) .menu-btn:hover span.menu-line-bottom:before {
		width: 100%;
		-webkit-transition: width .2s ease .5s;
		-moz-transition: width .2s ease .5s;
		-o-transition: width .2s ease .5s;
		-ms-transition: width .2s ease .5s;
		transition: width .2s ease .5s
	}

	html:not(.sp-view) .menu-open .menu-btn:hover span.menu-line-center,
	html:not(.sp-view) .modal-search-open .menu-btn:hover span.menu-line-center {
		display: none
	}

	html:not(.sp-view) .menu-open .menu-btn:hover span.menu-line-top:before,
	html:not(.sp-view) .modal-search-open .menu-btn:hover span.menu-line-top:before,
	html:not(.sp-view) .modal .close-btn:hover span.menu-line-top:before {
		width: 0;
		-webkit-transition: width .2s ease 0s;
		-moz-transition: width .2s ease 0s;
		-o-transition: width .2s ease 0s;
		-ms-transition: width .2s ease 0s;
		transition: width .2s ease 0s
	}

	html:not(.sp-view) .menu-open .menu-btn:hover span.menu-line-top:after,
	html:not(.sp-view) .modal-search-open .menu-btn:hover span.menu-line-top:after,
	html:not(.sp-view) .modal .close-btn:hover span.menu-line-top:after {
		width: 100%;
		-webkit-transition: width .2s ease .15s;
		-moz-transition: width .2s ease .15s;
		-o-transition: width .2s ease .15s;
		-ms-transition: width .2s ease .15s;
		transition: width .2s ease .15s
	}

	html:not(.sp-view) .menu-open .menu-btn:hover span.menu-line-bottom:before,
	html:not(.sp-view) .modal-search-open .menu-btn:hover span.menu-line-bottom:before,
	html:not(.sp-view) .modal .close-btn:hover span.menu-line-bottom:before {
		width: 0;
		-webkit-transition: width .2s ease .15s;
		-moz-transition: width .2s ease .15s;
		-o-transition: width .2s ease .15s;
		-ms-transition: width .2s ease .15s;
		transition: width .2s ease .15s
	}

	html:not(.sp-view) .menu-open .menu-btn:hover span.menu-line-bottom:after,
	html:not(.sp-view) .modal-search-open .menu-btn:hover span.menu-line-top:after,
	html:not(.sp-view) .modal .close-btn:hover span.menu-line-bottom:after {
		width: 100%;
		-webkit-transition: width .2s ease .3s;
		-moz-transition: width .2s ease .3s;
		-o-transition: width .2s ease .3s;
		-ms-transition: width .2s ease .3s;
		transition: width .2s ease .3s
	}
}

@media screen and (max-width:750px) {
	.menu-btn {
		width: 9.6vw;
		height: 3.4vw
	}

	.menu-line-center {
		margin-top: 0;
		transform: translateY(-50%)
	}

	.menu-btn.active .menu-line-top {
		top: 0;
		margin-top: 15%
	}

	.menu-btn.active .menu-line-bottom {
		bottom: 0;
		margin-bottom: 19%
	}
}

.sec-inr {
	position: relative;
	width: 86.2%;
	margin: 0 auto
}

.cont-footer .page-ttl .en,
h1.page-ttl .en {
	display: block;
	font-size: 3.6vw;
	line-height: 120%
}

h2.ttl .en {
	display: block;
	font-size: 3.5vw;
	line-height: 110%
}

h2.ttl .en .sub {
	display: block;
	font-size: 1.5vw;
	line-height: 120%
}

.cont-footer .page-ttl .jp,
h1.page-ttl .jp,
h2.ttl .jp,
h3.ttl .jp {
	display: block;
	color: var(--text-secondary);
	line-height: 160%
}

h2.ttl .jp {
	font-size: 1.5vw
}

h3.ttl {
	color: var(--text-secondary)
}

h3.ttl .en {
	display: block;
	font-size: 3.5vw;
	line-height: 140%
}

.column-wrap .column-cont .txt-info {
	font-size: 1.3rem;
	padding-bottom: 40px
}

@media (min-width:981px) {
	.column-ttl {
		display: flex
	}

	.column-ttl .page-ttl {
		width: 33.79%
	}

	.column-ttl .cont {
		width: 66.21%
	}

	.column-wrap {
		position: relative
	}

	.column-wrap .column-side {
		position: absolute;
		top: 0;
		left: 0;
		width: 33.79%
	}

	.column-wrap .column-side.fixedcont.fixed {
		position: fixed
	}

	.column-wrap .column-cont {
		width: 57.7%;
		margin-left: 33.79%
	}
}

@media screen and (max-width:980px) {

	.cont-footer .page-ttl .en,
	h1.page-ttl .en {
		font-size: 6.53vw
	}

	h2.ttl .en {
		font-size: 8.16vw
	}

	h2.ttl .en .sub {
		font-size: 1.22vw
	}

	h2.ttl .jp {
		font-size: 1.63vw
	}
}

@media screen and (max-width:750px) {
	.sec-inr {
		width: 86.2%
	}

	.cont-footer .page-ttl .en,
	h1.page-ttl .en {
		font-size: 8.53vw
	}

	h2.ttl .en {
		font-size: 10.6vw
	}

	h2.ttl .en .sub {
		font-size: 2.13vw
	}

	.cont-footer .page-ttl .jp,
	h1.page-ttl .jp {
		font-size: 2.66vw
	}

	h2.ttl .jp {
		line-height: 140%
	}

	h2.ttl .jp,
	h3.ttl .en {
		font-size: 4.26vw
	}

	h3.ttl .jp {
		font-size: 2.13vw
	}

	.column-wrap .column-cont .txt-info {
		font-size: 2.93vw;
		padding-bottom: 15.55%
	}
}

#kv_swiper {
	width: 100%;
	height: 100%
}

#kv {
	position: relative;
	opacity: 1;
	-webkit-transition: opacity 1s ease 0s;
	-moz-transition: opacity 1s ease 0s;
	-o-transition: opacity 1s ease 0s;
	-ms-transition: opacity 1s ease 0s;
	transition: opacity 1s ease 0s
}

#kv.scrolled {
	opacity: 0
}

#kv #kv_swiper {
	opacity: 0;
	-webkit-transition: opacity 1s ease 0s;
	-moz-transition: opacity 1s ease 0s;
	-o-transition: opacity 1s ease 0s;
	-ms-transition: opacity 1s ease 0s;
	transition: opacity 1s ease 0s
}

#kv.init #kv_swiper {
	opacity: 1
}

#kv .kv {
	position: relative
}

#kv .read-wrap {
	position: absolute;
	bottom: 120px;
	left: 50%;
	width: 86.1%;
	transform: translateX(-50%);
	z-index: 2
}

#kv .read-wrap .btn-link p,
#kv .read-wrap p {
	color: #fff
}

#kv .slide-pager .dot,
#kv .slide-pager .dot:after,
#kv .slide-pager .dot:before {
	background: #fff
}

#kv .slide-pager .dot.current:before {
	animation: line1 10s linear 1 forwards
}

#kv .slide-pager .dot.current:after {
	animation: line2 .4s linear 1 forwards
}

#kv .btn-next,
#kv .btn-prev {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	color: #fff;
	border-color: #fff;
	outline: none;
	opacity: 0;
	-webkit-transition: opacity .5s ease 0s;
	-moz-transition: opacity .5s ease 0s;
	-o-transition: opacity .5s ease 0s;
	-ms-transition: opacity .5s ease 0s;
	transition: opacity .5s ease 0s
}

#kv .btn-prev {
	left: 2.5vw
}

#kv .btn-next {
	right: 2.5vw
}

#kv .btn-next.show,
#kv .btn-prev.show {
	opacity: 1;
	-webkit-transition: opacity .5s ease 0s;
	-moz-transition: opacity .5s ease 0s;
	-o-transition: opacity .5s ease 0s;
	-ms-transition: opacity .5s ease 0s;
	transition: opacity .5s ease 0s
}

#kv .read-wrap .btn-link .btn-view {
	color: #fff;
	border-color: #fff
}

#kv .btn-next svg,
#kv .btn-prev svg {
	stroke: #fff
}

#kv .kv .slide-bgimg {
	content: "";
	display: block;
	z-index: 1
}

#kv .kv .slide-bgimg,
#kv .kv .slide-bgimg-inner {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%
}

#kv .kv .slide-bgimg-inner {
	transform: scale(1.15)
}

#kv .kv.gozoom .slide-bgimg .slide-bgimg-inner {
	transform: scale(1);
	-webkit-transition: transform 13s ease 0s;
	-moz-transition: transform 13s ease 0s;
	-o-transition: transform 13s ease 0s;
	-ms-transition: transform 13s ease 0s;
	transition: transform 13s ease 0s
}

#kv .swiper-slide {
	overflow: hidden;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden
}

#kv .kv .slide-bgimg-inner {
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: cover;
}


#kv .slide-pager {
	position: absolute;
	bottom: 60px;
	left: 50%;
	width: 86.1%;
	transform: translateX(-50%);
	color: #fff;
	opacity: 0;
	z-index: 10
}

#kv .slide-pager.init {
	opacity: 1;
	-webkit-transition: opacity .5s ease 0s;
	-moz-transition: opacity .5s ease 0s;
	-o-transition: opacity .5s ease 0s;
	-ms-transition: opacity .5s ease 0s;
	transition: opacity .5s ease 0s
}

@media screen and (max-width:980px) {

	#kv .btn-next,
	#kv .btn-prev {
		display: none !important
	}
}

@media screen and (max-width:750px) {
	#kv #kv_swiper {
		opacity: 0;
		transform: scale(1.03);
		-webkit-transition: transform 3s ease 0s, opacity 1s ease 0s;
		-moz-transition: transform 3s ease 0s, opacity 1s ease 0s;
		-o-transition: transform 3s ease 0s, opacity 1s ease 0s;
		-ms-transition: transform 3s ease 0s, opacity 1s ease 0s;
		transition: transform 3s ease 0s, opacity 1s ease 0s
	}

	#kv.init #kv_swiper {
		opacity: 1;
		transform: scale(1)
	}

	#kv .kv .slide-bgimg-inner {
		position: absolute;
		top: 0;
		left: auto;
		right: 0;
		width: 170%;
		height: 100%;
		transform: scale(1)
	}

	#kv .kv.gozoom .slide-bgimg .slide-bgimg-inner {
		transform: scale(1);
		left: auto;
		right: -70%;
		-webkit-transition: right 22s linear 0s;
		-moz-transition: right 22s linear 0s;
		-o-transition: right 22s linear 0s;
		-ms-transition: right 22s linear 0s;
		transition: right 22s linear 0s
	}

	#kv .btn-next.init,
	#kv .btn-prev.init {
		opacity: 1;
		-webkit-transition: opacity .5s ease 0s;
		-moz-transition: opacity .5s ease 0s;
		-o-transition: opacity .5s ease 0s;
		-ms-transition: opacity .5s ease 0s;
		transition: opacity .5s ease 0s
	}

	#kv .read-wrap {
		bottom: 9.2vh;
		width: 84%
	}

	#kv .kv01 .slide-bgimg-inner {
		background: url(../images/img_kv01_sp.jpg) no-repeat 50% 0/cover
	}

	#kv .kv02 .slide-bgimg-inner {
		background: url(../images/img_kv02_sp.jpg) no-repeat 50% 0/cover
	}

	#kv .kv03 .slide-bgimg-inner {
		background: url(../images/img_kv03_sp.jpg) no-repeat 50% 0/cover
	}

	#kv .kv04 .slide-bgimg-inner {
		background: url(../images/img_kv04_sp.jpg) no-repeat 50% 0/cover
	}

	#kv .slide-pager {
		bottom: 4vh;
		width: 84%
	}
}

#kv .scroll-bar {
	position: absolute;
	bottom: 220px;
	right: 46px;
	width: 16px;
	height: 80px;
	overflow: hidden;
	z-index: 10;
	opacity: 0
}

#kv .scroll-bar.init {
	opacity: 1;
	-webkit-transition: opacity .5s ease 0s;
	-moz-transition: opacity .5s ease 0s;
	-o-transition: opacity .5s ease 0s;
	-ms-transition: opacity .5s ease 0s;
	transition: opacity .5s ease 0s
}

#kv .scroll-bar .line01 {
	background: hsla(0, 0%, 100%, .4)
}

#kv .scroll-bar .line01,
#kv .scroll-bar .line02 {
	position: absolute;
	display: block;
	top: 0;
	left: 50%;
	width: 1px;
	height: 100%
}

#kv .scroll-bar .line02 {
	content: "";
	background: #fff;
	transform: translateY(-100%)
}

#kv .scroll-bar.init .line02 {
	animation-name: movescrollbar;
	animation-duration: 1.5s;
	animation-timing-function: ease-out;
	animation-delay: 1s;
	animation-iteration-count: infinite;
	animation-direction: normal;
	animation-fill-mode: forwards;
	animation-play-state: running
}

#kv .scroll-bar .line02:after {
	position: absolute;
	content: "";
	top: 100%;
	left: -2.5px;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #fff
}

#kv .mode-switch {
	position: absolute;
	bottom: 56px;
	right: 46px;
	transform: rotate(90deg) translateY(50%);
	transform-origin: right;
	color: #fff;
	z-index: 10;
	opacity: 0
}

#kv .mode-switch.init {
	opacity: 1;
	-webkit-transition: opacity .5s ease 0s;
	-moz-transition: opacity .5s ease 0s;
	-o-transition: opacity .5s ease 0s;
	-ms-transition: opacity .5s ease 0s;
	transition: opacity .5s ease 0s
}

#kv .mode-switch .switch {
	border-color: #fff
}

#kv .mode-switch .switch:after {
	background: #fff
}

@media screen and (max-width:750px) {
	#kv .scroll-bar {
		right: 7%;
		bottom: 27vh;
		width: 3.2vw;
		height: 21.3vw
	}

	#kv .scroll-bar .line02:after {
		left: 0;
		width: 1.3vw;
		height: 1.3vw;
		transform: translateX(-50%)
	}

	#kv .mode-switch {
		right: 4.8%;
		bottom: 5.15vh;
		margin: 0 2vw
	}
}

.sec-special {
	position: relative;
	background: var(--background-secondary);
	padding: 144px 0 140px
}

.sec-special .bg-txt {
	top: 56%;
	left: 50%;
	transform: translateX(-50%);
	opacity: 0;
	-webkit-transition: opacity 1s ease 0s;
	-moz-transition: opacity 1s ease 0s;
	-o-transition: opacity 1s ease 0s;
	-ms-transition: opacity 1s ease 0s;
	transition: opacity 1s ease 0s
}

.sec-special .bg-txt.go {
	opacity: 1
}

#special_swiper .swiper-slide figure {
	opacity: 0;
	top: 35px;
	left: 0;
	position: relative
}

#special_swiper.init .swiper-slide figure {
	top: 0;
	opacity: 1;
	left: 0
}

.sec-special .cont-wrap .swiper-wrapper {
	display: flex;
	justify-content: space-between
}

.sec-special .cont-wrap .swiper-wrapper .swiper-slide {
	width: 49.4%
}

.sec-special .cont-wrap .swiper-wrapper .swiper-slide figure {
	margin-bottom: 43px;
	position: relative;
	top: 35px;
	opacity: 0;
	padding-top: 44.28%;
	overflow: hidden
}

.sec-special .cont-wrap .swiper-wrapper .swiper-slide figure img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 0
}

.sec-special .cont-wrap .swiper-wrapper .swiper-slide .ttl-line {
	font-size: 1.6rem
}

.sec-special .cont-wrap {
	padding-top: 60px
}

.sec-special .cont-wrap .swiper-container {
	overflow: visible
}

.sec-special .cont-wrap .swiper-slide a {
	display: block
}

@media (min-width:981px) {
	.sec-special .sec-inr>.btn-link {
		position: absolute;
		top: 8px;
		right: 0
	}
}

@media (min-width:751px) {
	.sec-special .cont-wrap .swiper-slide a figure {
		transition: transform .3s ease 0s, top .5s ease, opacity .5s ease !important;
		overflow: hidden
	}

	html:not(.sp-view) .sec-special .cont-wrap .swiper-slide a:hover figure {
		transform: scale(.96);
		transition: transform .3s ease 0s
	}

	.sec-special .cont-wrap .swiper-slide a img {
		transition: transform .3s ease 0s
	}

	html:not(.sp-view) .sec-special .cont-wrap .swiper-slide a:hover img {
		transform: scale(1.06);
		transition: transform .3s ease 0s
	}

	.sec-special .btn-link .ttl-line .ttl-line-bottom {
		max-width: 112px
	}
}

@media screen and (max-width:980px) {
	.sec-special .ttl {
		padding-bottom: 50px
	}
}

@media screen and (max-width:750px) {
	.sec-special {
		padding: 18.13% 0 25.3%
	}

	.sec-special .bg-txt {
		font-size: 48vw;
		top: 64%
	}

	.sec-special .ttl {
		padding-bottom: 6.3%
	}

	.sec-special .cont-wrap {
		padding-top: 10%
	}

	.sec-special .cont-wrap .swiper-wrapper .swiper-slide figure {
		margin-bottom: 8.5%
	}

	#special_swiper .swiper-slide figure {
		opacity: 0;
		top: 0;
		left: 40px;
		position: relative
	}

	#special_swiper.init .swiper-slide figure {
		top: 0;
		opacity: 1;
		left: 0
	}

	#special_swiper.init .swiper-slide .fadeslide figure {
		transition-property: left, opacity;
		transition-duration: .5s;
		transition-timing-function: ease
	}

	.sec-special .cont-wrap .swiper-wrapper .swiper-slide .ttl-line {
		font-size: 3.2vw
	}
}

#common-pagelink .init .sec_bg {
	transform: scale(1);
	opacity: 1;
	-webkit-transition: transform 1.5s ease 0s, opacity 1.5s ease 0s;
	-moz-transition: transform 1.5s ease 0s, opacity 1.5s ease 0s;
	-o-transition: transform 1.5s ease 0s, opacity 1.5s ease 0s;
	-ms-transition: transform 1.5s ease 0s, opacity 1.5s ease 0s;
	transition: transform 1.5s ease 0s, opacity 1.5s ease 0s
}

#common-pagelink .sec-story .sec_bg {
	background-image: url(../picture/img_pagelink_story.jpg)
}

#common-pagelink .sec-story figure.sp {
	overflow: hidden
}

#common-pagelink .sec-story figure.sp img {
	transform: scale(1);
	opacity: 0;
	-webkit-transition: transform 1.5s ease 0s, opacity 1.5s ease 0s;
	-moz-transition: transform 1.5s ease 0s, opacity 1.5s ease 0s;
	-o-transition: transform 1.5s ease 0s, opacity 1.5s ease 0s;
	-ms-transition: transform 1.5s ease 0s, opacity 1.5s ease 0s;
	transition: transform 1.5s ease 0s, opacity 1.5s ease 0s
}

#common-pagelink .sec-story.init figure.sp img {
	transform: scale(1.1);
	opacity: 1
}

#common-pagelink .sec-story {
	position: relative;
	background: var(--background-secondary)
}

#common-pagelink .sec-story .sec-inr {
	padding: 278px 0 55px
}

@media (min-width:981px) {
	#common-pagelink .sec-story .read-wrap .ttl span.subtitle {
		font-size: 1.11vw
	}

	#common-pagelink .sec-story .read-wrap .btn-link p {
		font-size: 1.66vw
	}
}

@media (min-width:751px) {

	#common-pagelink .sec-story .read-wrap .btn-link p,
	#common-pagelink .sec-story .read-wrap .ttl {
		color: #fff
	}

	#common-pagelink .sec-story .read-wrap .btn-link .btn-view {
		color: #fff;
		border-color: #fff
	}
}

@media screen and (max-width:980px) {
	#common-pagelink .sec-story .ttl {
		line-height: 95%
	}
}

@media screen and (max-width:750px) {
	#common-pagelink .sec-story .sec-inr {
		padding: 12.3% 0 1.42%
	}

	#common-pagelink .sec-story .sec_bg {
		background-image: none
	}

	#common-pagelink .sec-story .btn-link {
		padding-top: 2%
	}

	#common-pagelink .sec-story .btn-link a {
		padding-right: 0
	}

	#common-pagelink .sec-story .btn-link .btn-view {
		position: relative;
		transform: none;
		margin-top: 5.7%;
		border-color: var(--ui-tertiary)
	}

	#common-pagelink .sec-story .btn-link .btn-view svg:first-of-type {
		stroke: var(--ui-circle);
		opacity: .2
	}
}

#common-pagelink .sec-products {
	padding: 144px 0 74px
}

#common-pagelink .sec-products h2 {
	padding-bottom: 60px
}

#common-pagelink .sec-products .product-image a {
	display: block
}

#common-pagelink .sec-products .product-image .ttl {
	color: var(--text-primary-100);
	font-size: 1.6rem;
	padding-bottom: 0
}

#common-pagelink .sec-products .product-image .ttl span.en {
	display: block;
	color: var(--text-secondary);
	font-size: 1.2rem;
	line-height: 120%;
	padding: 24px 0 5px
}

#common-pagelink .sec-products .product-image .type {
	font-size: 1.2rem;
	line-height: 200%
}

#common-pagelink .sec-products .product-image .txt {
	line-height: 160%;
	padding-top: 20px
}

@media (min-width:981px) {
	#common-pagelink .sec-products .sec-inr>.btn-link {
		position: absolute;
		top: 8px;
		right: 0
	}
}

@media (min-width:751px) {
	#common-pagelink .sec-products .product-image a {
		display: block;
		width: 100%
	}

	#common-pagelink .sec-products .product-image.fixed a {
		position: fixed;
		display: block;
		left: 0
	}

	#common-pagelink .sec-products .product-image.bottom a {
		position: absolute;
		display: block;
		top: auto;
		bottom: 70px
	}

	#common-pagelink .sec-products .cont-wrap {
		display: flex;
		justify-content: space-between;
		position: relative
	}

	#common-pagelink .sec-products .product-image {
		width: 40.8%;
		padding: 0;
		min-height: 1px
	}

	#common-pagelink .sec-products .sec-inr>.btn-link .ttl-line .ttl-line-bottom,
	#common-pagelink .sec-products .sec-inr>.btn-link a>p {
		min-width: 70px
	}

	#common-pagelink .sec-products .product-image .btn-link-ttl .ttl-line-bottom {
		max-width: 112px
	}

	#common-pagelink .sec-products .product-image .btn-view {
		margin-top: 1em
	}

	#common-pagelink .sec-products .product-image a figure {
		transition: transform .3s ease 0s, top .5s ease, opacity .5s ease !important;
		overflow: hidden
	}

	html:not(.sp-view) #common-pagelink .sec-products .product-image a:hover figure {
		transform: scale(.99);
		transition: transform .3s ease 0s
	}

	#common-pagelink .sec-products .product-image a img.go {
		transition: transform .3s ease 0s, opacity 1.2s ease 0s;
		transform-origin: unset
	}

	html:not(.sp-view) #common-pagelink .sec-products .product-image a:hover img.go {
		transform: scale(1.02);
		transition: transform .3s ease 0s
	}

	#common-pagelink .sec-products .product-list {
		width: 49.35%
	}

	#common-pagelink .sec-products .product-list .cont {
		padding-top: 27px
	}
}

@media screen and (max-width:980px) {

	#common-pagelink .sec-products .sec-inr>.btn-link,
	#common-pagelink .sec-products .ttl {
		padding-bottom: 50px
	}
}

@media screen and (max-width:750px) {
	#common-pagelink .sec-products {
		padding: 19.2% 0 4.37%
	}

	#common-pagelink .sec-products .ttl {
		padding-bottom: 5%
	}

	#common-pagelink .sec-products .sec-inr>.btn-link {
		padding-bottom: 10%
	}

	#common-pagelink .sec-products .product-image {
		padding: 0 0 10%
	}

	#common-pagelink .sec-products .product-image .btn-link {
		padding-top: 6%
	}

	#common-pagelink .sec-products .product-image .ttl {
		font-size: 4.26vw;
		padding-bottom: 0
	}

	#common-pagelink .sec-products .product-image .ttl span.en {
		font-size: 2.66vw;
		padding: 0 0 2%
	}

	#common-pagelink .sec-products .product-image .type {
		font-size: 2.66vw;
		padding: 0 0 8%
	}

	#common-pagelink .sec-products .product-image .txt {
		display: none
	}
}

#common-pagelink .sec-links {
	padding-bottom: 153px
}

#common-pagelink .sec-links p {
	color: var(--text-secondary)
}

#common-pagelink .sec-links ul {
	padding-top: 27px
}

#common-pagelink .sec-links li a {
	display: block;
	padding: 23px 0;
	border-bottom: 1px solid var(--ui-5th)
}

#common-pagelink .sec-links .btn-link .btn-inr {
	display: block;
	padding-right: 0
}

#common-pagelink .sec-links li p {
	font-size: 13px
}

#common-pagelink .sec-links a .btn-view,
#common-pagelink .sec-links a p {
	transition: color 1s ease
}

html:not(.sp-view) #common-pagelink .sec-links a.out .btn-view,
html:not(.sp-view) #common-pagelink .sec-links a.out h2 span,
html:not(.sp-view) #common-pagelink .sec-links a.out p {
	color: var(--text--tertiary)
}

@media (min-width:981px) {
	#common-pagelink .sec-links li a {
		position: relative;
		display: flex;
		align-items: center
	}

	#common-pagelink .sec-links li .btn-link {
		width: 42.5%;
		flex: 1 auto
	}

	#common-pagelink .sec-links .btn-link .btn-inr {
		position: static
	}

	#common-pagelink .sec-links li p {
		width: 50%
	}
}

@media (min-width:981px) and (max-width:1200px) {
	#common-pagelink .sec-links li .ttl .en {
		font-size: 7rem
	}
}

@media screen and (max-width:980px) {
	#common-pagelink .sec-links .ttl-list {
		font-size: 24px
	}

	#common-pagelink .sec-links li p {
		font-size: 20px;
		line-height: 200%;
		padding-top: 20px
	}
}

@media screen and (max-width:750px) {
	#common-pagelink .sec-links {
		padding-bottom: 19.2%
	}

	#common-pagelink .sec-links .ttl-list {
		font-size: 3.2vw
	}

	#common-pagelink .sec-links ul {
		padding-top: 3.8%
	}

	#common-pagelink .sec-links li a {
		padding: 5.87% 0
	}

	#common-pagelink .sec-links li p {
		font-size: 2.66vw;
		padding-top: 3.17%
	}
}

#footer {
	position: relative;
	box-sizing: border-box
}

#footer,
#footer a {
	color: var(--text-secondary)
}

#footer a {
	display: inline-block;
	transition: color 1s ease
}

html:not(.sp-view) #footer a:hover {
	color: var(--text-primary-100)
}

html:not(.sp-view) #footer a.out {
	color: var(--text--tertiary)
}

#footer .pagetop {
	color: var(--text-primary-100)
}

#footer .pagetop .icn-circle {
	padding-right: 33px
}

#footer .pagetop .pagetopstr_def {
	opacity: 0
}

#footer .pagetop .pagetopstr0,
#footer .pagetop .pagetopstr1 {
	position: absolute;
	top: 0
}

#footer .pagetop .pagetopstr_wrap {
	display: block;
	overflow: hidden;
	position: relative
}

#footer .pagetop .pagetopstr0.animation_wavefadein {
	position: absolute;
	top: 0;
	left: 0;
	display: block
}

#footer .pagetop .pagetopstr0.animation_wavefadein .animation_wavefadein_char {
	position: relative;
	transform: translate(0);
	top: 0;
	opacity: 1
}

html:not(.sp-view) #footer:hover .pagetop:hover .pagetopstr0.animation_wavefadein .animation_wavefadein_char {
	transform: translateY(-15px);
	opacity: 0
}

#footer .pagetop .pagetopstr1.animation_wavefadein {
	position: absolute;
	top: 0;
	left: 0;
	display: block
}

#footer .pagetop .pagetopstr1.animation_wavefadein .animation_wavefadein_char {
	position: relative;
	transform: translateY(15px);
	opacity: 0
}

html:not(.sp-view) #footer:hover .pagetop:hover .pagetopstr1.animation_wavefadein .animation_wavefadein_char {
	transform: translate(0);
	opacity: 1
}

#footer .pagetop .icn-circle .icon {
	overflow: hidden
}

html:not(.sp-view) #footer .pagetop:hover .icn-circle .icon:after {
	top: -20%;
	-webkit-transition: top .5s ease 0s;
	-moz-transition: top .5s ease 0s;
	-o-transition: top .5s ease 0s;
	-ms-transition: top .5s ease 0s;
	transition: top .5s ease 0s
}

#footer .pagetop .icn-circle .icon:before {
	border: none;
	width: 3px;
	height: 3px;
	background: var(--ui-primary-100);
	top: 120%;
	left: 50%;
	transform: translate(-50%, -50%);
	opacity: 1
}

html:not(.sp-view) #footer .pagetop:hover .icn-circle .icon:before {
	top: 50%;
	opacity: 1;
	-webkit-transition: top .5s ease .3s;
	-moz-transition: top .5s ease .3s;
	-o-transition: top .5s ease .3s;
	-ms-transition: top .5s ease .3s;
	transition: top .5s ease .3s
}

@media (min-width:751px) {
	#footer .footer {
		padding: 0 6.95%
	}

	#footer .pagetop {
		position: absolute;
		bottom: 185px;
		right: 46px;
		transform: rotate(90deg) translateY(50%);
		transform-origin: right
	}
}

@media screen and (max-width:750px) {
	#footer .footer {
		padding: 9.86% 8% 8%
	}

	#footer .copyright,
	#footer .mode-switch {
		padding-top: 22.85%
	}

	#footer .pagetop {
		color: var(--ui-secondary);
		font-size: 3.73vw
	}

	#footer .pagetop .icn-circle {
		padding-right: 8vw
	}

	#footer .pagetop .icn-circle .icon:before {
		border-color: var(--ui-secondary)
	}

	#footer .pagetop .icn-circle .icon:after {
		background: var(--ui-secondary)
	}

	#footer .logo {
		width: 48.7%;
		margin: 22.8% 0 12.69%
	}

	#footer .common-nav ul+ul {
		padding-top: 3.8%
	}
}

#footer .footer-page {
	background: var(--background-secondary)
}

@media (min-width:751px) {
	#footer .footer-page {
		padding-top: 53px;
		padding-bottom: 40px
	}

	#footer .footer-page .pagetop {
		bottom: 230px
	}

	#footer .footer-page .logo {
		max-width: 193px;
		margin-bottom: 48px
	}

	#footer .footer-page .common-nav ul {
		display: flex;
		flex-wrap: wrap
	}

	#footer .footer-page .common-nav li {
		padding: 0 40px 8px 0
	}

	#footer .footer-page .common-nav li:last-child {
		padding-right: 0
	}

	#footer .footer-page .common-nav .en {
		font-size: 1.8rem;
		line-height: 120%
	}

	#footer .footer-page .common-link {
		width: 100%
	}

	#footer .footer-page .common-link .link-list {
		padding-bottom: 28px
	}

	#footer .footer-page .common-link.bottom,
	#footer .footer-page .common-link.bottom ul,
	#footer .footer-page .common-link .link-list ul {
		display: flex
	}

	#footer .footer-page .common-link .account,
	#footer .footer-page .common-link .account .icon-wrap,
	#footer .footer-page .common-link.bottom li {
		padding: 0
	}

	#footer .footer-page .common-link.bottom li+li,
	#footer .footer-page .common-link .link-list li+li {
		padding-left: 24px
	}

	#footer .footer-page .common-link .account .icon-wrap .icon {
		display: none
	}

	#footer .footer-page .common-link .website {
		padding-left: 6.45%
	}

	#footer .footer-page .common-link .website .icn-link {
		padding-right: 23px
	}

	#footer .footer-page .copyright {
		padding-top: 40px
	}
}

@media (min-width:751px) and (max-width:980px) {
	#footer .footer-page .common-nav li {
		padding-right: 25px
	}
}

#dialog {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 32px 6.9%;
	box-sizing: border-box;
	background: var(--background-primary);
	opacity: 0;
	z-index: -1
}

#dialog.init {
	opacity: 1;
	-webkit-transition: opacity .5s ease 0s;
	-moz-transition: opacity .5s ease 0s;
	-o-transition: opacity .5s ease 0s;
	-ms-transition: opacity .5s ease 0s;
	transition: opacity .5s ease 0s;
	z-index: 100
}

#dialog .txt {
	font-size: 1.3rem;
	line-height: 200%;
	padding-right: 3%
}

#dialog .close-btn {
	position: relative;
	width: 40px;
	height: 13px;
	cursor: pointer;
	margin-left: 18%
}

#dialog .close-btn span {
	position: absolute;
	display: block;
	background: var(--ui-primary-100);
	width: 100%;
	height: 1px;
	transition: transform .3s
}

#dialog .close-btn .menu-line-top {
	top: 4px;
	transform: rotate(30deg)
}

#dialog .close-btn .menu-line-bottom {
	bottom: 9px;
	transform: rotate(-30deg)
}

@media (min-width:751px) {
	#dialog {
		justify-content: space-between
	}

	#dialog,
	#dialog .btn-wrap {
		display: flex;
		align-items: center
	}

	#dialog .btn-wrap {
		flex: 1 auto;
		justify-content: flex-end;
		min-width: 195px
	}
}

@media screen and (max-width:750px) {
	#dialog {
		padding: 7% 8% 11.6%;
		background: rgba(var(--background-primary-dialog), .93)
	}

	#dialog .txt {
		width: 80.6%;
		padding: 0 0 5%;
		font-size: 2.7vw;
		line-height: 160%
	}

	#dialog .close-btn {
		position: absolute;
		top: 50%;
		right: 8%;
		transform: translateY(-50%);
		width: 9.6vw;
		height: 2.53vw;
		margin: 0
	}

	#dialog .close-btn .menu-line-top {
		top: 0;
		margin-top: 10%
	}

	#dialog .close-btn .menu-line-bottom {
		bottom: 0;
		margin-bottom: 15%
	}
}

#modal-search {
	display: none;
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	background: var(--background-primary) url(../images/bg_modal_search.png) no-repeat 50% 50%/cover;
	z-index: 1108
}

#modal-search .inner {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 86.1%
}

#modal-search .cont {
	max-width: 821px;
	margin: 0 auto
}

#modal-search p {
	line-height: 160%
}

@media screen and (max-width:750px) {
	#modal-search {
		background: var(--background-primary) url(../images/bg_modal_search_sp.png) no-repeat 50% 50%/cover
	}

	#modal-search .inner {
		width: 84%
	}
}

#menu {
	display: none;
	position: fixed;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 1008
}

#menu::-webkit-scrollbar {
	display: none
}

#menu .menu-wrap {
	padding: 168px 0 56px;
	color: var(--text-secondary);
	background: var(--background-primary);
	transition: all .3s ease
}

#menu .inner {
	position: relative;
	width: 86.1%;
	margin: 0 auto
}

#menu .product-image a {
	width: 100%
}

#menu .product-image figure {
	position: relative;
	padding-top: 50.65%;
	overflow: hidden
}

#menu .product-image figure img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 0
}

#menu .product-image .btn-view {
	margin-top: 0;
	opacity: 1
}

#menu .product-image .ttl.en,
#menu a {
	color: var(--text-secondary)
}

#menu .en,
#menu .product-image .btn-view span,
#menu .product-list li a {
	color: var(--text-primary-100)
}

#menu .product-list li a {
	display: block
}

html:not(.sp-view) #menu .product-list li a.out {
	color: var(--text--tertiary)
}

#menu .copyright {
	padding-top: 50px
}

@media (min-width:981px) {
	#menu .menu-right .common-nav {
		position: fixed;
		right: 32%;
		padding-top: 4.5em
	}

	#menu .common-link {
		position: fixed;
		right: 6.95%;
		width: 16.25%;
		padding-top: 4.5em
	}
}

@media (min-width:981px) and (max-height:770px) {
	#menu .menu-right .common-nav {
		position: absolute;
		right: 28%
	}

	#menu .common-link {
		position: absolute;
		right: 0;
		width: 18.83%
	}
}

@media (min-width:751px) {
	#menu a {
		display: inline-block
	}

	#menu .common-link a,
	#menu .en,
	#menu .jp,
	#menu p {
		transition: color 1s ease
	}

	html:not(.sp-view) #menu .product-image a.out .ttl.en,
	html:not(.sp-view) #menu a.out,
	html:not(.sp-view) #menu a.out>* {
		color: var(--text--tertiary)
	}

	#menu .mode-switch {
		position: fixed;
		right: 6.95%;
		z-index: 1
	}

	#menu .menu-link {
		display: flex
	}

	#menu .menu-left {
		width: 49%
	}

	#menu .product-list .cont {
		padding-bottom: 25px
	}

	#menu .product-list li {
		padding-top: 0
	}
}

@media (min-width:751px) and (max-width:980px) {
	#menu .menu-right {
		margin-left: 10%;
		padding-top: 4.5em
	}

	#menu .common-link {
		width: 100%;
		padding-top: 40px
	}

	#menu .mode-switch {
		position: absolute;
		right: 0
	}

	#menu .product-list .cont:first-child .cont-inr {
		width: 47%
	}
}

@media screen and (max-width:750px) {
	#menu .menu-wrap {
		padding: 28% 0 9.6%
	}

	#menu .inner {
		width: 84%
	}

	#menu .mode-switch {
		padding-bottom: 12.69%
	}

	#menu .product-list li+li {
		padding-top: 1%
	}

	#menu .copyright {
		padding-top: 22.85%
	}
}

.animation_wavefadein_char {
	transform: translateY(15px);
	opacity: 0;
	display: inline-block
}

.go.animation_wavefadein_char,
.go .animation_wavefadein_char {
	transform: translate(0);
	opacity: 1;
	transition-property: transform, opacity;
	transition-duration: .5s;
	transition-timing-function: ease
}

.animation_wavefadein_mt {
	opacity: 0;
	margin-top: 35px
}

.animation_wavefadein_top {
	opacity: 1;
	top: 35px
}

.go.animation_wavefadein_mt {
	margin-top: 0;
	opacity: 1;
	transition-property: margin-top, opacity;
	transition-duration: .5s;
	transition-timing-function: ease
}

.go.animation_wavefadein_top {
	top: 0;
	opacity: 1;
	transition-property: top, opacity;
	transition-duration: .5s;
	transition-timing-function: ease
}

.wipeincover {
	position: relative;
	margin-top: 35px;
	opacity: 0;
	overflow: hidden
}

.wipeincover.go {
	margin-top: 0;
	opacity: 1;
	-webkit-transition: margin-top 1s ease 0s, opacity 1s ease 0s;
	-moz-transition: margin-top 1s ease 0s, opacity 1s ease 0s;
	-o-transition: margin-top 1s ease 0s, opacity 1s ease 0s;
	-ms-transition: margin-top 1s ease 0s, opacity 1s ease 0s;
	transition: margin-top 1s ease 0s, opacity 1s ease 0s
}

.wipeincover:after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: "";
	background-color: var(--background-secondary);
	z-index: 25
}

.wipeincover.go:after {
	height: 0;
	-webkit-transition: height .4s ease .7s;
	-moz-transition: height .4s ease .7s;
	-o-transition: height .4s ease .7s;
	-ms-transition: height .4s ease .7s;
	transition: height .4s ease .7s
}

.wipeincover img {
	z-index: 20
}

.para {
	position: relative;
	-webkit-transition: top .6s ease 0s;
	-moz-transition: top .6s ease 0s;
	-o-transition: top .6s ease 0s;
	-ms-transition: top .6s ease 0s;
	transition: top .6s ease 0s
}

#pageparawrap {
	width: 100%
}

#pageparawrap_inner {
	position: relative;
	width: 100%;
	background-color: #fff;
	z-index: 2;
	-webkit-transition: top 1s ease 0s;
	-moz-transition: top 1s ease 0s;
	-o-transition: top 1s ease 0s;
	-ms-transition: top 1s ease 0s;
	transition: top 1s ease 0s
}

body.home #pageparawrap #footer {
	position: fixed;
	bottom: 0;
	z-index: 1;
	width: 100%
}

@media screen and (max-width:750px) {
	body.home #pageparawrap #footer {
		position: static;
		bottom: 0;
		z-index: 1;
		width: 100%
	}
}

.animation_rotatefadein {
	transform-origin: left top;
	opacity: 0;
	transform: translateY(10px) rotate(1.5deg)
}

.animation_rotatefadein.go {
	transform: translate(0) rotate(0deg);
	opacity: 1;
	-webkit-transition: transform 1.2s ease 0s, opacity 1.2s ease 0s;
	-moz-transition: transform 1.2s ease 0s, opacity 1.2s ease 0s;
	-o-transition: transform 1.2s ease 0s, opacity 1.2s ease 0s;
	-ms-transition: transform 1.2s ease 0s, opacity 1.2s ease 0s;
	transition: transform 1.2s ease 0s, opacity 1.2s ease 0s
}

.fixedcont.fixed,
.fixedcont_unique.fixed {
	position: fixed;
	top: 0
}

.fixedcont.abs,
.fixedcont_unique.abs {
	position: absolute;
	top: 0
}

@media screen and (max-width:980px) {

	.fixedcont,
	.fixedcont.fixed,
	.fixedcont_unique,
	.fixedcont_unique.fixed {
		position: static !important;
		top: 50%
	}

	.fixedcont.abs,
	.fixedcontt_unique.abs {
		position: static;
		top: 50%
	}
}

.hoverline_top {
	top: 0;
	left: -70px
}

.hoverline_bottom,
.hoverline_top {
	position: absolute;
	height: 1px !important;
	width: 70px !important;
	background-color: var(--ui-primary-100)
}

.hoverline_bottom {
	top: auto;
	bottom: 0;
	left: auto;
	right: -70px
}

.hoverline_left {
	top: auto;
	bottom: -70px;
	left: 0
}

.hoverline_left,
.hoverline_right {
	position: absolute;
	height: 70px !important;
	width: 1px !important;
	background-color: var(--ui-primary-100)
}

.hoverline_right {
	top: -70px;
	bottom: auto;
	left: auto;
	right: 0
}

.link_lineanimation {
	position: relative;
	overflow: hidden
}

html:not(.sp-view) .btn-base:hover .hoverline_top,
html:not(.sp-view) .btn-pdf:hover .hoverline_top,
html:not(.sp-view) .btn-return:hover .hoverline_top,
html:not(.sp-view) .link_lineanimation:hover .hoverline_top,
html:not(.sp-view) .search-wrap:hover .hoverline_top {
	left: 101%;
	-webkit-transition: left .5s ease 0s;
	-moz-transition: left .5s ease 0s;
	-o-transition: left .5s ease 0s;
	-ms-transition: left .5s ease 0s;
	transition: left .5s ease 0s
}

html:not(.sp-view) .btn-base:hover .hoverline_bottom,
html:not(.sp-view) .btn-pdf:hover .hoverline_bottom,
html:not(.sp-view) .btn-return:hover .hoverline_bottom,
html:not(.sp-view) .link_lineanimation:hover .hoverline_bottom,
html:not(.sp-view) .search-wrap:hover .hoverline_bottom {
	right: 101%;
	-webkit-transition: right .5s ease 0s;
	-moz-transition: right .5s ease 0s;
	-o-transition: right .5s ease 0s;
	-ms-transition: right .5s ease 0s;
	transition: right .5s ease 0s
}

html:not(.sp-view) .btn-base:hover .hoverline_left,
html:not(.sp-view) .btn-pdf:hover .hoverline_left,
html:not(.sp-view) .btn-return:hover .hoverline_left,
html:not(.sp-view) .link_lineanimation:hover .hoverline_left,
html:not(.sp-view) .search-wrap:hover .hoverline_left {
	bottom: 101%;
	-webkit-transition: bottom .5s ease 0s;
	-moz-transition: bottom .5s ease 0s;
	-o-transition: bottom .5s ease 0s;
	-ms-transition: bottom .5s ease 0s;
	transition: bottom .5s ease 0s
}

html:not(.sp-view) .btn-base:hover .hoverline_right,
html:not(.sp-view) .btn-pdf:hover .hoverline_right,
html:not(.sp-view) .btn-return:hover .hoverline_right,
html:not(.sp-view) .link_lineanimation:hover .hoverline_right,
html:not(.sp-view) .search-wrap:hover .hoverline_right {
	top: 101%;
	-webkit-transition: top .5s ease 0s;
	-moz-transition: top .5s ease 0s;
	-o-transition: top .5s ease 0s;
	-ms-transition: top .5s ease 0s;
	transition: top .5s ease 0s
}

.sec-form .btn-wrap p>span.hoverline_bottom,
.sec-form .btn-wrap p>span.hoverline_left,
.sec-form .btn-wrap p>span.hoverline_right,
.sec-form .btn-wrap p>span.hoverline_top {
	padding: 0
}

#common-pagelink .sec_bg {
	position: absolute;
	width: 100%;
	height: 100%;
	background-position: 50%;
	background-size: cover;
	background-repeat: no-repeat;
	transform: scale(1.1);
	opacity: 0
}

#pageparawrap_inner {
	background: var(--background-primary)
}

body.home .sec-story {
	position: relative;
	padding: 120px 0 19.5vw 0;
}

body.home .sec-story .bg-txt {
	bottom: 50px;
	left: 50%;
	margin-left: -19%;
	opacity: 0;
	-webkit-transition: opacity 1s ease 0s;
	-moz-transition: opacity 1s ease 0s;
	-o-transition: opacity 1s ease 0s;
	-ms-transition: opacity 1s ease 0s;
	transition: opacity 1s ease 0s
}

body.home .sec-story .bg-txt.go {
	opacity: 1
}

body.home .sec-story h2 {
	padding: 5.55% 0 2%
}

body.home .sec-story h2 .en {
	line-height: 100%
}

body.home .sec-story h2 .sub {
	padding-bottom: 5.62%
}

body.home .sec-story h2 .en>.animation_wavefadein {
	display: block;
	line-height: 120%
}

body.home .sec-story .txt {
	line-height: 160%;
	padding-bottom: 16px
}

body.home .sec-story .txt .jp {
	text-indent: -.5em;
	font-size: 1.2vw;
	line-height: 160%;
	padding-left: .5em
}

body.home .sec-story .txt .jp .animation_wavefadein {
	margin-left: -.5em
}

body.home .sec-story .txt .en {
	color: var(--text-secondary);
	font-size: .9vw;
	line-height: 120%;
	padding-top: .34%;
	padding-left: .5em
}

body.home .sec-story .txt-name {
	margin-bottom: 40px;
	padding-left: .5em
}

body.home .sec-story .txt-name p {
	position: relative;
	color: var(--text-secondary);
	font-size: .83vw;
	line-height: 140%;
	padding-left: 40px
}

body.home .sec-story .txt-name p:first-of-type:before {
	position: absolute;
	content: "";
	top: 50%;
	left: 0;
	width: 36px;
	height: 1px;
	background: var(--ui-secondary)
}

body.home .sec-story .image-wrap .img02 img,
body.home .sec-story .image-wrap .img03 img {
	transform: scale(1);
	-webkit-transition: transform .3s ease 0s;
	-moz-transition: transform .3s ease 0s;
	-o-transition: transform .3s ease 0s;
	-ms-transition: transform .3s ease 0s;
	transition: transform .3s ease 0s
}

html:not(.sp-view) body.home .sec-story .image-wrap .img02:hover img,
html:not(.sp-view) body.home .sec-story .image-wrap .img03:hover img {
	transform: scale(1.06);
	-webkit-transition: transform .3s ease 0s;
	-moz-transition: transform .3s ease 0s;
	-o-transition: transform .3s ease 0s;
	-ms-transition: transform .3s ease 0s;
	transition: transform .3s ease 0s
}

body.home .sec-story .image-wrap .img02,
body.home .sec-story .image-wrap .img03 {
	transform: scale(1);
	-webkit-transition: transform .3s ease 0s;
	-moz-transition: transform .3s ease 0s;
	-o-transition: transform .3s ease 0s;
	-ms-transition: transform .3s ease 0s;
	transition: transform .3s ease 0s
}

html:not(.sp-view) body.home .sec-story .image-wrap .img02:hover,
html:not(.sp-view) body.home .sec-story .image-wrap .img03:hover {
	transform: scale(.96);
	-webkit-transition: transform .3s ease 0s;
	-moz-transition: transform .3s ease 0s;
	-o-transition: transform .3s ease 0s;
	-ms-transition: transform .3s ease 0s;
	transition: transform .3s ease 0s
}

@media (min-width:981px) {
	body.home .sec-story .sec-inr {
		width: 100%
	}

	body.home .sec-story .btn-link,
	body.home .sec-story .txt,
	body.home .sec-story .txt-name,
	body.home .sec-story h2 {
		width: 37%;
		margin-left: 6.9%
	}

	body.home .sec-story .btn-link {
		padding-left: .5em
	}

	body.home .sec-story .image-wrap {
		position: absolute;
		top: 0;
		right: 0;
		width: 56%
	}

	body.home .sec-story .image-wrap .img02 {
		position: absolute;
		top: 100%;
		width: 49.6%;
		margin: -16.6% 0 0 38%
	}

	body.home .sec-story .image-wrap .img03 {
		position: absolute;
		top: 100%;
		width: 32.8%;
		margin: -5.5% 0 0 -6.15%
	}

	body.home .sec-story .img-map {
		width: 33.7%;
		margin: 35px 0 0 4%
	}

	body.home .sec-story .btn-link a>p {
		font-size: 1.66vw
	}
}

@media screen and (max-width:980px) {
	body.home .sec-story {
		padding: 140px 0 120px
	}

	body.home .sec-story .bg-txt {
		bottom: 40%;
		left: 0;
		margin-left: 0
	}

	body.home .sec-story h2 {
		padding: 0;
		position: relative;
		margin-bottom: -6.5%;
		z-index: 1
	}

	body.home .sec-story h2 .sub {
		padding-bottom: 2.36%
	}

	body.home .sec-story .image-wrap {
		width: 119%;
		margin-left: -9.5%
	}

	body.home .sec-story .image-wrap .img02 {
		width: 40.9%;
		margin: -8% 0 0 51%
	}

	body.home .sec-story .image-wrap .img03 {
		width: 33.46%;
		margin: -33.73% 0 0 8%
	}

	body.home .sec-story .txt {
		padding: 80px 0 30px
	}

	body.home .sec-story .txt .jp {
		font-size: 4vw;
		line-height: 160%
	}

	body.home .sec-story .txt .en {
		font-size: 2.44vw;
		padding-top: 16px
	}

	body.home .sec-story .txt-name p {
		font-size: 2vw;
		line-height: 170%;
		padding-left: 13%
	}

	body.home .sec-story .txt-name p:first-of-type:before {
		width: 10.6%
	}

	body.home .sec-story .img-map {
		width: 115.3%;
		margin-top: 3.49%
	}
}

@media screen and (max-width:750px) {
	body.home .sec-story {
		padding: 23.46% 0 16%
	}

	body.home .sec-story h2 .en {
		font-size: 13.3vw
	}

	body.home .sec-story h2 .sub {
		padding-bottom: 4.28%
	}

	body.home .sec-story .txt {
		padding: 13% 0 5%
	}

	body.home .sec-story .txt .jp {
		font-size: 5.33vw
	}

	body.home .sec-story .txt .en {
		font-size: 3.2vw;
		padding-top: 2.5%
	}

	body.home .sec-story .txt-name p {
		font-size: 2.66vw;
		padding-left: 13%
	}
}

body.home .sec-product {
	position: relative;
	/* padding: 138px 0 135px 0; */
	/* background: var(--background--4th) */
}

body.home .sec-product .bg-txt {
	top: 15%;
	left: 80px;
	opacity: 0;
	-webkit-transition: opacity 1s ease 0s;
	-moz-transition: opacity 1s ease 0s;
	-o-transition: opacity 1s ease 0s;
	-ms-transition: opacity 1s ease 0s;
	transition: opacity 1s ease 0s
}

body.home .sec-product .bg-txt.go {
	opacity: .6
}

body.home .sec-product .search-wrap {
	opacity: 0;
	top: 35px
}

body.home .sec-product .search-wrap.go {
	opacity: 1;
	top: 0
}

body.home .sec-product .search-btn-wrap {
	max-width: 821px
}

body.home .sec-product .search-product {
	padding: 64px 0 110px
}

body.home .sec-product .search-product .search-wrap input {
	background: var(--background--4th)
}

body.home .sec-product .product-slider .swiper-slide-inner figure {
	position: relative;
	left: 45px;
	opacity: 0;
	display: block
}

body.home .sec-product .product-slider.init .swiper-slide-inner figure {
	left: 0;
	opacity: 1
}

body.home .sec-product .product-slider .swiper-slide-inner .ttl-bar {
	opacity: 0
}

body.home .sec-product .product-slider.init .swiper-slide-inner .ttl-bar {
	opacity: 1
}

body.home .sec-product .product-slider .rightfadeslide0 figure {
	-webkit-transition: left .7s ease 0s, opacity .7s ease 0s;
	-moz-transition: left .7s ease 0s, opacity .7s ease 0s;
	-o-transition: left .7s ease 0s, opacity .7s ease 0s;
	-ms-transition: left .7s ease 0s, opacity .7s ease 0s;
	transition: left .7s ease 0s, opacity .7s ease 0s
}

body.home .sec-product .product-slider .rightfadeslide1 figure {
	-webkit-transition: left .7s ease .2s, opacity .7s ease .2s;
	-moz-transition: left .7s ease .2s, opacity .7s ease .2s;
	-o-transition: left .7s ease .2s, opacity .7s ease .2s;
	-ms-transition: left .7s ease .2s, opacity .7s ease .2s;
	transition: left .7s ease .2s, opacity .7s ease .2s
}

body.home .sec-product .product-slider .rightfadeslide2 figure {
	-webkit-transition: left .7s ease .4s, opacity .7s ease .4s;
	-moz-transition: left .7s ease .4s, opacity .7s ease .4s;
	-o-transition: left .7s ease .4s, opacity .7s ease .4s;
	-ms-transition: left .7s ease .4s, opacity .7s ease .4s;
	transition: left .7s ease .4s, opacity .7s ease .4s
}

body.home .sec-product .product-slider .rightfadeslide3 figure {
	-webkit-transition: left .7s ease .6s, opacity .7s ease .6s;
	-moz-transition: left .7s ease .6s, opacity .7s ease .6s;
	-o-transition: left .7s ease .6s, opacity .7s ease .6s;
	-ms-transition: left .7s ease .6s, opacity .7s ease .6s;
	transition: left .7s ease .6s, opacity .7s ease .6s
}

body.home .sec-product .product-slider .rightfadeslide4 figure {
	-webkit-transition: left .7s ease .8s, opacity .7s ease .8s;
	-moz-transition: left .7s ease .8s, opacity .7s ease .8s;
	-o-transition: left .7s ease .8s, opacity .7s ease .8s;
	-ms-transition: left .7s ease .8s, opacity .7s ease .8s;
	transition: left .7s ease .8s, opacity .7s ease .8s
}

body.home .sec-product .product-slider .rightfadeslide5 figure {
	-webkit-transition: left .7s ease 1s, opacity .7s ease 1s;
	-moz-transition: left .7s ease 1s, opacity .7s ease 1s;
	-o-transition: left .7s ease 1s, opacity .7s ease 1s;
	-ms-transition: left .7s ease 1s, opacity .7s ease 1s;
	transition: left .7s ease 1s, opacity .7s ease 1s
}

body.home .sec-product .product-slider .rightfadeslide6 figure {
	-webkit-transition: left .7s ease 1.2s, opacity .7s ease 1.2s;
	-moz-transition: left .7s ease 1.2s, opacity .7s ease 1.2s;
	-o-transition: left .7s ease 1.2s, opacity .7s ease 1.2s;
	-ms-transition: left .7s ease 1.2s, opacity .7s ease 1.2s;
	transition: left .7s ease 1.2s, opacity .7s ease 1.2s
}

body.home .sec-product .product-slider .rightfadeslide7 figure {
	-webkit-transition: left .7s ease 1.4s, opacity .7s ease 1.4s;
	-moz-transition: left .7s ease 1.4s, opacity .7s ease 1.4s;
	-o-transition: left .7s ease 1.4s, opacity .7s ease 1.4s;
	-ms-transition: left .7s ease 1.4s, opacity .7s ease 1.4s;
	transition: left .7s ease 1.4s, opacity .7s ease 1.4s
}

body.home .sec-product .product-slider .rightfadeslide8 figure {
	-webkit-transition: left .7s ease 1.6s, opacity .7s ease 1.6s;
	-moz-transition: left .7s ease 1.6s, opacity .7s ease 1.6s;
	-o-transition: left .7s ease 1.6s, opacity .7s ease 1.6s;
	-ms-transition: left .7s ease 1.6s, opacity .7s ease 1.6s;
	transition: left .7s ease 1.6s, opacity .7s ease 1.6s
}

body.home .sec-product .product-slider .rightfadeslide9 figure {
	-webkit-transition: left .7s ease 1.8s, opacity .7s ease 1.8s;
	-moz-transition: left .7s ease 1.8s, opacity .7s ease 1.8s;
	-o-transition: left .7s ease 1.8s, opacity .7s ease 1.8s;
	-ms-transition: left .7s ease 1.8s, opacity .7s ease 1.8s;
	transition: left .7s ease 1.8s, opacity .7s ease 1.8s
}

body.home .sec-product .product-slider .rightfadeslide10 figure {
	-webkit-transition: left .7s ease 2s, opacity .7s ease 2s;
	-moz-transition: left .7s ease 2s, opacity .7s ease 2s;
	-o-transition: left .7s ease 2s, opacity .7s ease 2s;
	-ms-transition: left .7s ease 2s, opacity .7s ease 2s;
	transition: left .7s ease 2s, opacity .7s ease 2s
}

body.home .sec-product .product-slider .rightfadeslide0 .ttl-bar,
body.home .sec-product .product-slider .rightfadeslide0 div.txt,
body.home .sec-product .product-slider .rightfadeslide0 p {
	-webkit-transition: opacity .7s ease .4s;
	-moz-transition: opacity .7s ease .4s;
	-o-transition: opacity .7s ease .4s;
	-ms-transition: opacity .7s ease .4s;
	transition: opacity .7s ease .4s
}

body.home .sec-product .product-slider .rightfadeslide1 .ttl-bar,
body.home .sec-product .product-slider .rightfadeslide1 div.txt,
body.home .sec-product .product-slider .rightfadeslide1 p {
	-webkit-transition: opacity .7s ease .6s;
	-moz-transition: opacity .7s ease .6s;
	-o-transition: opacity .7s ease .6s;
	-ms-transition: opacity .7s ease .6s;
	transition: opacity .7s ease .6s
}

body.home .sec-product .product-slider .rightfadeslide2 .ttl-bar,
body.home .sec-product .product-slider .rightfadeslide2 div.txt,
body.home .sec-product .product-slider .rightfadeslide2 p {
	-webkit-transition: opacity .7s ease .8s;
	-moz-transition: opacity .7s ease .8s;
	-o-transition: opacity .7s ease .8s;
	-ms-transition: opacity .7s ease .8s;
	transition: opacity .7s ease .8s
}

body.home .sec-product .product-slider .rightfadeslide3 .ttl-bar,
body.home .sec-product .product-slider .rightfadeslide3 div.txt,
body.home .sec-product .product-slider .rightfadeslide3 p {
	-webkit-transition: opacity .7s ease 1s;
	-moz-transition: opacity .7s ease 1s;
	-o-transition: opacity .7s ease 1s;
	-ms-transition: opacity .7s ease 1s;
	transition: opacity .7s ease 1s
}

body.home .sec-product .product-slider .rightfadeslide4 .ttl-bar,
body.home .sec-product .product-slider .rightfadeslide4 div.txt,
body.home .sec-product .product-slider .rightfadeslide4 p {
	-webkit-transition: opacity .7s ease 1.2s;
	-moz-transition: opacity .7s ease 1.2s;
	-o-transition: opacity .7s ease 1.2s;
	-ms-transition: opacity .7s ease 1.2s;
	transition: opacity .7s ease 1.2s
}

body.home .sec-product .product-slider .rightfadeslide5 .ttl-bar,
body.home .sec-product .product-slider .rightfadeslide5 div.txt,
body.home .sec-product .product-slider .rightfadeslide5 p {
	-webkit-transition: opacity .7s ease 1.4s;
	-moz-transition: opacity .7s ease 1.4s;
	-o-transition: opacity .7s ease 1.4s;
	-ms-transition: opacity .7s ease 1.4s;
	transition: opacity .7s ease 1.4s
}

body.home .sec-product .product-slider .rightfadeslide6 .ttl-bar,
body.home .sec-product .product-slider .rightfadeslide6 div.txt,
body.home .sec-product .product-slider .rightfadeslide6 p {
	-webkit-transition: opacity .7s ease 1.6s;
	-moz-transition: opacity .7s ease 1.6s;
	-o-transition: opacity .7s ease 1.6s;
	-ms-transition: opacity .7s ease 1.6s;
	transition: opacity .7s ease 1.6s
}

body.home .sec-product .product-slider .rightfadeslide7 .ttl-bar,
body.home .sec-product .product-slider .rightfadeslide7 div.txt,
body.home .sec-product .product-slider .rightfadeslide7 p {
	-webkit-transition: opacity .7s ease 1.8s;
	-moz-transition: opacity .7s ease 1.8s;
	-o-transition: opacity .7s ease 1.8s;
	-ms-transition: opacity .7s ease 1.8s;
	transition: opacity .7s ease 1.8s
}

body.home .sec-product .product-slider .rightfadeslide8 .ttl-bar,
body.home .sec-product .product-slider .rightfadeslide8 div.txt,
body.home .sec-product .product-slider .rightfadeslide8 p {
	-webkit-transition: opacity .7s ease 2s;
	-moz-transition: opacity .7s ease 2s;
	-o-transition: opacity .7s ease 2s;
	-ms-transition: opacity .7s ease 2s;
	transition: opacity .7s ease 2s
}

body.home .sec-product .product-slider .rightfadeslide9 .div.txt,
body.home .sec-product .product-slider .rightfadeslide9 .ttl-bar,
body.home .sec-product .product-slider .rightfadeslide9 p {
	-webkit-transition: opacity .7s ease 2.2s;
	-moz-transition: opacity .7s ease 2.2s;
	-o-transition: opacity .7s ease 2.2s;
	-ms-transition: opacity .7s ease 2.2s;
	transition: opacity .7s ease 2.2s
}

body.home .sec-product .product-slider .rightfadeslide10 .ttl-bar,
body.home .sec-product .product-slider .rightfadeslide10 div.txt,
body.home .sec-product .product-slider .rightfadeslide10 p {
	-webkit-transition: opacity .7s ease 2.4s;
	-moz-transition: opacity .7s ease 2.4s;
	-o-transition: opacity .7s ease 2.4s;
	-ms-transition: opacity .7s ease 2.4s;
	transition: opacity .7s ease 2.4s
}

body.home .sec-product .product-slider .swiper-slide-inner div.txt,
body.home .sec-product .product-slider .swiper-slide-inner p {
	opacity: 0
}

body.home .sec-product .product-slider.init .swiper-slide-inner div.txt,
body.home .sec-product .product-slider.init .swiper-slide-inner p {
	opacity: 1
}

body.home .sec-product .product-slider-wrap .slide-pager {
	opacity: 0
}

body.home .sec-product .product-slider-wrap.init .slide-pager {
	-webkit-transition: opacity .7s ease .8s;
	-moz-transition: opacity .7s ease .8s;
	-o-transition: opacity .7s ease .8s;
	-ms-transition: opacity .7s ease .8s;
	transition: opacity .7s ease .8s;
	opacity: 1
}

body.home .sec-product .product-list {
	opacity: 0;
	top: 35px;
	position: relative
}

body.home .sec-product .product-list.init {
	top: 0;
	opacity: 1;
	-webkit-transition: top 1s ease 0s, opacity 1s ease 0s;
	-moz-transition: top 1s ease 0s, opacity 1s ease 0s;
	-o-transition: top 1s ease 0s, opacity 1s ease 0s;
	-ms-transition: top 1s ease 0s, opacity 1s ease 0s;
	transition: top 1s ease 0s, opacity 1s ease 0s
}

@media (min-width:981px) {
	body.home .sec-product .sec-inr>.btn-link {
		position: absolute;
		top: 8px;
		right: 0;
		z-index: 8;
	}

	body.home .sec-product .btn-wrap .search-wrap {
		width: 506px
	}
}

@media (min-width:751px) {
	body.home .sec-product .product-list .cont {
		width: 49%
	}
}

@media screen and (max-width:980px) {
	body.home .sec-product .bg-txt {
		top: 30.8%;
		left: 5%
	}

	body.home .sec-product .sec-inr>.btn-link {
		padding-top: 50px
	}
}

@media screen and (max-width:750px) {
	body.home .sec-product {
		padding: 17.6% 0 18.9%
	}

	body.home .sec-product .sec-inr>.btn-link {
		padding-top: 5%
	}

	body.home .sec-product .search-product {
		padding: 10.15% 0 22.22%
	}

	body.home .sec-product .product-list .cont-type,
	body.home .sec-product .product-list .cont:last-child .cont-type,
	body.home .sec-product .product-list .cont:last-child .ttl-category,
	body.home .sec-product .product-list .ttl-category {
		border-color: var(--ui-6th)
	}
}

body.home .sec-product .coordinate-slider {
	padding-top: 32px
}

body.home .sec-product .coordinate-slider .swiper-container {
	width: 100vw;
	margin-left: -6.9vw
}

#coordinate_swiper .swiper-wrapper {
	transition-timing-function: linear !important
}

#coordinate_swiper .swiper-slide-inner {
	position: relative;
	top: 35px;
	opacity: 0
}

.coordinate-slider.init #coordinate_swiper .swiper-slide-inner {
	position: relative;
	top: 0;
	opacity: 1
}

#coordinate_swiper .bottomfadeslide0 {
	-webkit-transition: top .7s ease 0s, opacity .7s ease 0s;
	-moz-transition: top .7s ease 0s, opacity .7s ease 0s;
	-o-transition: top .7s ease 0s, opacity .7s ease 0s;
	-ms-transition: top .7s ease 0s, opacity .7s ease 0s;
	transition: top .7s ease 0s, opacity .7s ease 0s
}

#coordinate_swiper .bottomfadeslide1 {
	-webkit-transition: top .7s ease .2s, opacity .7s ease .2s;
	-moz-transition: top .7s ease .2s, opacity .7s ease .2s;
	-o-transition: top .7s ease .2s, opacity .7s ease .2s;
	-ms-transition: top .7s ease .2s, opacity .7s ease .2s;
	transition: top .7s ease .2s, opacity .7s ease .2s
}

#coordinate_swiper .bottomfadeslide2 {
	-webkit-transition: top .7s ease .4s, opacity .7s ease .4s;
	-moz-transition: top .7s ease .4s, opacity .7s ease .4s;
	-o-transition: top .7s ease .4s, opacity .7s ease .4s;
	-ms-transition: top .7s ease .4s, opacity .7s ease .4s;
	transition: top .7s ease .4s, opacity .7s ease .4s
}

#coordinate_swiper .bottomfadeslide3 {
	-webkit-transition: top .7s ease .6s, opacity .7s ease .6s;
	-moz-transition: top .7s ease .6s, opacity .7s ease .6s;
	-o-transition: top .7s ease .6s, opacity .7s ease .6s;
	-ms-transition: top .7s ease .6s, opacity .7s ease .6s;
	transition: top .7s ease .6s, opacity .7s ease .6s
}

#coordinate_swiper .bottomfadeslide4 {
	-webkit-transition: top .7s ease .8s, opacity .7s ease .8s;
	-moz-transition: top .7s ease .8s, opacity .7s ease .8s;
	-o-transition: top .7s ease .8s, opacity .7s ease .8s;
	-ms-transition: top .7s ease .8s, opacity .7s ease .8s;
	transition: top .7s ease .8s, opacity .7s ease .8s
}

#coordinate_swiper .bottomfadeslide5 {
	-webkit-transition: top .7s ease 1s, opacity .7s ease 1s;
	-moz-transition: top .7s ease 1s, opacity .7s ease 1s;
	-o-transition: top .7s ease 1s, opacity .7s ease 1s;
	-ms-transition: top .7s ease 1s, opacity .7s ease 1s;
	transition: top .7s ease 1s, opacity .7s ease 1s
}

#coordinate_swiper .bottomfadeslide6 {
	-webkit-transition: top .7s ease 1.2s, opacity .7s ease 1.2s;
	-moz-transition: top .7s ease 1.2s, opacity .7s ease 1.2s;
	-o-transition: top .7s ease 1.2s, opacity .7s ease 1.2s;
	-ms-transition: top .7s ease 1.2s, opacity .7s ease 1.2s;
	transition: top .7s ease 1.2s, opacity .7s ease 1.2s
}

#coordinate_swiper .bottomfadeslide7 {
	-webkit-transition: top .7s ease 1.4s, opacity .7s ease 1.4s;
	-moz-transition: top .7s ease 1.4s, opacity .7s ease 1.4s;
	-o-transition: top .7s ease 1.4s, opacity .7s ease 1.4s;
	-ms-transition: top .7s ease 1.4s, opacity .7s ease 1.4s;
	transition: top .7s ease 1.4s, opacity .7s ease 1.4s
}

#coordinate_swiper .bottomfadeslide8 {
	-webkit-transition: top .7s ease 1.6s, opacity .7s ease 1.6s;
	-moz-transition: top .7s ease 1.6s, opacity .7s ease 1.6s;
	-o-transition: top .7s ease 1.6s, opacity .7s ease 1.6s;
	-ms-transition: top .7s ease 1.6s, opacity .7s ease 1.6s;
	transition: top .7s ease 1.6s, opacity .7s ease 1.6s
}

#coordinate_swiper .bottomfadeslide9 {
	-webkit-transition: top .7s ease 1.8s, opacity .7s ease 1.8s;
	-moz-transition: top .7s ease 1.8s, opacity .7s ease 1.8s;
	-o-transition: top .7s ease 1.8s, opacity .7s ease 1.8s;
	-ms-transition: top .7s ease 1.8s, opacity .7s ease 1.8s;
	transition: top .7s ease 1.8s, opacity .7s ease 1.8s
}

#coordinate_swiper .bottomfadeslide10 {
	-webkit-transition: top .7s ease 2s, opacity .7s ease 2s;
	-moz-transition: top .7s ease 2s, opacity .7s ease 2s;
	-o-transition: top .7s ease 2s, opacity .7s ease 2s;
	-ms-transition: top .7s ease 2s, opacity .7s ease 2s;
	transition: top .7s ease 2s, opacity .7s ease 2s
}

#coordinate_swiper .swiper-slide-inner .txt-link {
	position: absolute;
	top: 0;
	left: 0;
	display: inline-block;
	color: #fff;
	padding-left: 3vw
}

#coordinate_swiper .swiper-slide-inner .txt-link:before {
	position: absolute;
	content: "";
	top: 50%;
	left: 0;
	width: 2vw;
	height: 2vw;
	background: hsla(0, 0%, 100%, .4);
	border-radius: 50%;
	transform: translateY(-50%);
	animation: pinAnim .6s infinite alternate
}

#coordinate_swiper .swiper-slide-inner .txt-link:after {
	position: absolute;
	content: "";
	top: 50%;
	left: 1vw;
	width: 6px;
	height: 6px;
	background: #fff;
	border-radius: 50%;
	transform: translate(-50%, -50%)
}

#coordinate_swiper .swiper-slide-inner .txt-link.right {
	text-align: right;
	padding: 0 3vw 0 0
}

#coordinate_swiper .swiper-slide-inner .txt-link.right:before {
	left: auto;
	right: 0
}

#coordinate_swiper .swiper-slide-inner .txt-link.right:after {
	left: auto;
	right: 1vw;
	transform: translate(50%, -50%)
}

#coordinate_swiper .swiper-slide-inner .txt-link p span {
	display: block
}

#coordinate_swiper .swiper-slide-inner .txt-link p .ttl {
	font-size: 1.5vw;
	line-height: 100%
}

#coordinate_swiper .swiper-slide-inner .txt-link p .type {
	font-size: .694vw;
	line-height: 100%;
	padding-top: .1vw
}

#coordinate_swiper .slide01 .swiper-slide-inner .txt-link01 {
	margin: 10.6% 0 0 27.8%
}

#coordinate_swiper .slide01 .swiper-slide-inner .txt-link02 {
	margin: 46.17% 0 0 37%
}

#coordinate_swiper .slide02 .swiper-slide-inner .txt-link01 {
	margin: 5% 0 0 65%
}

#coordinate_swiper .slide02 .swiper-slide-inner .txt-link02 {
	margin: 60% 0 0 7%;
	padding-right: 5%;
	font-size: 0.9vw;
	line-height: 140%;
}

#coordinate_swiper .slide03 .swiper-slide-inner .txt-link01 {
	margin: 8.8% 0 0 6.6%
}

#coordinate_swiper .slide03 .swiper-slide-inner .txt-link02 {
	margin: 54.2% 0 0 56%
}

#coordinate_swiper .slide04 .swiper-slide-inner .txt-link01 {
	margin: 10.8% 0 0 37.4%
}

@media screen and (max-width:1080px) {
	#coordinate_swiper .swiper-slide-inner .txt-link:after {
		width: 4px;
		height: 4px
	}
}

@media screen and (max-width:750px) {
	body.home .sec-product .coordinate-slider {
		padding-top: 6.2%
	}

	body.home .sec-product .coordinate-slider .swiper-container {
		margin-left: -8vw
	}

	#coordinate_swiper .swiper-slide-inner .txt-link {
		padding-left: 10.5vw
	}

	#coordinate_swiper .swiper-slide-inner .txt-link:before {
		width: 8.53vw;
		height: 8.53vw
	}

	#coordinate_swiper .swiper-slide-inner .txt-link:after {
		left: 4.34vw;
		width: 1.2vw;
		height: 1.2vw
	}

	#coordinate_swiper .swiper-slide-inner .txt-link.right {
		padding: 0 10.5vw 0 0
	}

	#coordinate_swiper .swiper-slide-inner .txt-link.right:after {
		right: 4.34vw
	}

	#coordinate_swiper .swiper-slide-inner .txt-link p .ttl {
		font-size: 4.26vw;
		line-height: 120%
	}

	#coordinate_swiper .swiper-slide-inner .txt-link p .type {
		font-size: 2.4vw;
		line-height: 100%
	}
}

body.home .sec-info {
	/* background: var(--background-secondary); */
	background: #fff;
	padding-top: 144px;
	padding-bottom: 144px
}

body.home .sec-info h2 {
	padding-bottom: 60px
}

body.home .sec-info h2 .en {
	font-size: 3.33vw
}

@media (min-width:981px) {
	body.home .sec-info .sec-inr {
		display: flex;
		justify-content: space-between
	}

	body.home .sec-info .info-list {
		width: 58%;
		margin-left: 3%
	}
}

@media (min-width:751px) {
	body.home .sec-info .btn-more {
		display: none !important
	}
}

@media screen and (max-width:980px) {
	body.home .sec-info .info-list {
		padding-top: 50px
	}

	body.home .sec-info h2 .en {
		font-size: 4.89vw
	}
}

@media screen and (max-width:750px) {
	body.home .sec-info {
		padding-bottom: 19.2%
	}

	body.home .sec-info h2 {
		padding-bottom: 6.34%
	}

	body.home .sec-info h2 .en {
		font-size: 8.53vw
	}

	body.home .sec-info .info-list {
		padding: 10% 0 11%
	}

	body.home .sec-info .info-list li:nth-child(n+5) {
		display: none
	}
}

.sec-dealers {
	padding: 144px 0
}

.sec-dealers h2 {
	padding-bottom: 55px
}

.sec-dealers .dealers-list .tab-btn {
	margin-bottom: 80px
}

.sec-dealers .tab-cont-wrap {
	position: relative
}

.sec-dealers .dealers-list .tab-cont-wrap div.tab-cont {
	transition-delay: 0;
	transition-timing-function: linear;
	transition-property: none
}

.sec-dealers .dealers-list .tab-cont.view {
	position: relative;
	top: 0;
	left: 0
}

.sec-dealers .dealers-list .tab-cont.hide {
	position: absolute;
	top: 0;
	left: 0
}

.sec-dealers .dealers-list .tab-cont ul {
	display: flex;
	flex-wrap: wrap
}

.sec-dealers .dealers-list .tab-cont li {
	border: 1px solid var(--ui-4th);
	width: 15.56%;
	margin: 0 1.328% 1.328% 0;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.25vw
}

@media (min-width:981px) {
	.sec-dealers .sec-inr>.btn-link {
		position: absolute;
		top: 8px;
		right: 0
	}

	.sec-dealers .dealers-list .tab-cont li:nth-child(6n) {
		margin-right: 0
	}
}

@media (min-width:751px) and (max-width:980px) {
	.sec-dealers .btn-link {
		padding-bottom: 50px
	}

	.sec-dealers .dealers-list .tab-cont li {
		width: 23.5%;
		margin: 0 2% 1.5% 0;
		font-size: 1.836vw
	}

	.sec-dealers .dealers-list .tab-cont li:nth-child(4n) {
		margin-right: 0
	}
}

@media screen and (max-width:750px) {
	.sec-dealers {
		padding: 18.2% 0 17%
	}

	.sec-dealers h2 {
		padding-bottom: 7.6%
	}

	.sec-dealers .dealers-list .tab-btn {
		margin-bottom: 7.61%
	}

	.sec-dealers .btn-link {
		padding-bottom: 10%
	}

	.sec-dealers .dealers-list .tab-cont li {
		width: 31.58%;
		margin: 0 2.63% 2.5% 0;
		font-size: 2.4vw
	}

	.sec-dealers .dealers-list .tab-cont li:nth-child(3n) {
		margin-right: 0
	}
}

#footer .footer {
	position: relative;
	top: 0;
	-webkit-transition: top .2s ease-out 0s;
	-moz-transition: top .2s ease-out 0s;
	-o-transition: top .2s ease-out 0s;
	-ms-transition: top .2s ease-out 0s;
	transition: top .2s ease-out 0s
}

#footer .footer-home {
	background: var(--background-secondary)
}

@media (min-width:751px) {
	#footer .footer-home {
		padding-top: 122px;
		padding-bottom: 60px;
		height: 100%;
		box-sizing: border-box
	}

	#footer .footer-home .foot-link {
		display: flex;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 86.1%;
		margin-bottom: 0
	}

	#footer .footer-home .logo {
		width: 25%
	}

	#footer .footer-home .logo svg {
		max-width: 193px
	}

	#footer .footer-home .common-nav {
		display: flex;
		width: 50%
	}

	#footer .footer-home .common-nav ul {
		width: 50%;
		padding-left: 50px;
	}

	#footer .footer-home .common-link,
	#footer .footer-home .common-nav ul+ul {
		padding-top: 4.5em
	}

	#footer .footer-home .mode-switch {
		position: absolute;
		top: 50%;
		right: 46px;
		margin-top: -60px;
		transform: rotate(90deg) translateY(50%);
		transform-origin: right
	}

	#footer .footer-home .pagetop {
		bottom: auto;
		top: 50%;
		margin-top: 230px
	}

	#footer .footer-home .copyright {
		position: absolute;
		bottom: 10vh
	}
}

@media (min-width:751px) and (max-width:980px) {
	#footer .footer-home {
		padding-top: 60px
	}

	#footer .footer-home .logo {
		position: absolute;
		z-index: 1
	}

	#footer .footer-home .common-nav {
		width: 70%;
		padding-top: 11%
	}

	#footer .footer-home .common-link {
		padding-top: 11%
	}
}

body[class^=page-] #main {
	padding-top: 190px
}

body[class^=page-]:not(.article) .main {
	position: relative;
	padding-bottom: 144px
}

body[class^=page-] .main li,
body[class^=page-] .main p {
	line-height: 200%
}

body[class^=page-] h1.page-ttl {
	padding-bottom: 72px
}

@media screen and (max-width:980px) {
	body[class^=page-] h1.page-ttl {
		padding-bottom: 64px
	}
}

@media screen and (max-width:750px) {
	body[class^=page-] #main {
		padding-top: 33.33%
	}

	body[class^=page-]:not(.article) .main {
		padding-bottom: 19.2%
	}

	body[class^=page-] h1.page-ttl {
		padding-bottom: 19%
	}
}

.sec-cont p a {
	text-decoration: underline
}

.sec-cont .list li,
.sec-cont p {
	font-size: 1.3rem
}

.sec-cont .txt-date {
	padding-top: 32px
}

.sec-cont .list li {
	position: relative;
	padding-left: 24px
}

.sec-cont .list li:before {
	position: absolute;
	left: 0
}

.sec-cont ul.list li:before {
	content: "・"
}

.sec-cont ol.list li {
	counter-increment: cnt
}

.sec-cont ol.list li:before {
	content: "("counter(cnt) ") "
}

@media (min-width:981px) {
	.sec-cont .cont-wrap {
		width: 57.7%;
		margin-left: 33.79%
	}
}

@media screen and (max-width:750px) {

	.sec-cont .list li,
	.sec-cont p {
		font-size: 2.93vw
	}

	.sec-cont .txt-date {
		padding: 0 0 5%
	}

	.sec-cont .list li {
		padding-left: 6%
	}
}

.sec-cont dl div {
	border-bottom: 1px solid var(--ui-5th);
	padding: 23px 0
}

.sec-cont dl dd span {
	color: var(--text-secondary)
}

.sec-cont dl dd p+p {
	padding-top: 1.5em
}

@media (min-width:751px) {
	.sec-cont dl div {
		display: flex
	}

	.sec-cont dl dt {
		width: 28%;
		line-height: 160%
	}
}

@media screen and (max-width:750px) {
	.sec-cont dl div {
		padding: 5.7% 0
	}

	.sec-cont dl dt {
		font-size: 4.26vw;
		line-height: 140%;
		padding-bottom: 2.53%
	}
}

.sec-cont .cont-list h2.ttl-line {
	font-size: 1.3rem;
	line-height: 160%;
	padding: 24px 0;
	margin-bottom: 16px
}

.sec-cont .cont-list>li+li {
	padding-top: 16px
}

.sec-cont .cont-list .list+p,
.sec-cont .cont-list ol.list,
.sec-cont .cont-list p+p {
	padding-top: 1.5em
}

.sec-cont .cont-list p span {
	color: var(--text-secondary)
}

.sec-cont .cont-list p .stp {
	display: inline-block;
	text-indent: 1em;
	color: inherit
}

@media screen and (max-width:750px) {
	.sec-cont .cont-list h2.ttl-line {
		font-size: 3.2vw;
		padding: 3.8% 0;
		margin-bottom: 5%
	}

	.sec-cont .cont-list>li+li {
		padding-top: 5%
	}
}

.sec-cont .cont-tab {
	padding-bottom: 80px
}

.sec-cont .cont-tab .tab-btn {
	margin: 66px 0 32px
}

.tab-cont-wrap {
	position: relative
}

.sec-cont .cont-tab .tab-cont-wrap .tab-cont {
	transition-delay: 0;
	transition-timing-function: linear;
	transition-property: none
}

.sec-cont .cont-tab .tab-cont.view {
	position: relative;
	top: 0;
	left: 0
}

.sec-cont .cont-tab .tab-cont.hide {
	position: absolute;
	top: 0;
	left: 0
}

.sec-cont .cont-tab .tab-cont li {
	border-bottom: 1px solid var(--ui-tertiary)
}

.sec-cont .cont-tab .tab-cont li a {
	position: relative;
	display: block;
	padding: 25px 25px 25px 0;
	height: 100%;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	font-size: 1.3rem
}

@media (min-width:981px) {
	.sec-cont .cont-tab {
		width: 74.67%;
		min-width: 844px
	}

	.sec-cont .cont-tab .tab-cont li {
		width: 32.18%;
		margin-right: 1.73%
	}

	.sec-cont .cont-tab .tab-cont li:nth-child(3n) {
		margin-right: 0
	}
}

@media (min-width:751px) and (max-width:980px) {
	.sec-cont .cont-tab .tab-cont li {
		width: 49%;
		margin-right: 2%
	}

	.sec-cont .cont-tab .tab-cont li:nth-child(2n) {
		margin-right: 0
	}
}

@media (min-width:751px) {
	.sec-cont .cont-tab .tab-cont ul {
		display: flex;
		flex-wrap: wrap
	}
}

@media screen and (max-width:750px) {
	.sec-cont .cont-tab {
		padding-bottom: 12.69%
	}

	.sec-cont .cont-tab .tab-btn {
		margin: 0 0 5%
	}

	.sec-cont .cont-tab .tab-cont li a {
		padding: 5.87% 5.87% 5.87% 0;
		font-size: 3.2vw
	}
}

.page-company .sec-cont dl .txt-jp {
	border-bottom: none;
	padding-bottom: 8px
}

.page-company .sec-cont dl .txt-en {
	padding-top: 0;
	color: var(--text-secondary)
}

.page-company .sec-cont dl .txt-en dt {
	font-size: 1.3rem;
	line-height: 200%
}

.page-company dl dd p+p {
	padding-top: 8px
}

@media screen and (max-width:750px) {
	.page-company .sec-cont dl .txt-jp {
		padding-bottom: 5%
	}

	.page-company .sec-cont dl .txt-en dt {
		font-size: 3.73vw;
		line-height: 120%
	}

	.page-company dl dd p+p {
		padding-top: 1.26%
	}
}

.sec-after .side-tab .cont-type li {
	font-size: 1.3rem
}

.sec-after .side-tab .cont-type li a {
	padding: .5rem 0
}

.sec-after .after-list h2 {
	font-size: 1.3rem;
	line-height: 160%;
	padding-bottom: 24px;
	margin-top: 64px;
	margin-bottom: 24px
}

.sec-after .after-list:first-child h2 {
	margin-top: 0
}

.sec-after .after-list h2 span {
	display: block;
	font-size: 1.6rem;
	padding: 2.3rem 0 1rem
}

.sec-after .after-list>ul+h2 {
	padding-top: 3.2rem
}

.sec-after .after-list>ul {
	padding-bottom: 3.2rem;
	border-bottom: 1px solid var(--ui-tertiary)
}

.sec-after .after-list li {
	position: relative;
	line-height: 120%
}

.sec-after .after-list li+li {
	border-top: 1px solid var(--ui-tertiary);
	padding-top: 3.2rem;
	margin-top: 3.2rem
}

.sec-after .after-list li .ttl-line-bottom .ttl-line-bottom-move {
	width: 60px;
	transform: translate(-100%)
}

html:not(.sp-view) .sec-after .after-list li:hover .ttl-line-bottom .ttl-line-bottom-move {
	left: 100%;
	transform: translate(0);
	-webkit-transition: left .4s ease 0s, transform .4s ease 0s;
	-moz-transition: left .4s ease 0s, transform .4s ease 0s;
	-o-transition: left .4s ease 0s, transform .4s ease 0s;
	-ms-transition: left .4s ease 0s, transform .4s ease 0s;
	transition: left .4s ease 0s, transform .4s ease 0s
}

.sec-after .after-list li h3 {
	padding: 2.3rem 0
}

.sec-after .after-list .after-more {
	padding: calc(4rem - 15px) 4rem;
	background: var(--ui-5th);
	line-height: 140%;
	font-size: 1.2rem
}

.sec-after .after-list .after-more .ttl-line {
	/* font-family: YuGothic, Yu Gothic, 游ゴシック体, 游ゴシック, ヒラギノ角ゴ Pro W3, ヒラギノ角ゴ W3, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, ＭＳ Ｐゴシック, Osaka, MS PGothic, sans-serif; */
	font-family: "微软雅黑";
	padding: 15px 0
}

.sec-after .after-list .after-more .ttl-line .ttl-line-bottom {
	display: none
}

.sec-after .after-list .after-more p {
	margin: 15px 0
}

.sec-after .after-list .after-more .attention {
	border: 1px solid var(--ui-secondary);
	padding: 0 16px
}

.sec-after .after-list .after-more .line {
	position: relative
}

.sec-after .after-list .after-more .line:before {
	position: absolute;
	content: "";
	top: 1em;
	right: 0;
	width: calc(100% - 5em);
	height: 1px;
	background: #fff
}

@media (min-width:751px) {
	.sec-after .after-list .after-more .btn-wrap {
		max-width: 370px
	}
}

@media screen and (max-width:980px) {
	.sec-after .scroll-tab .tab-wrap ul {
		display: flex
	}
}

@media screen and (max-width:750px) {
	.sec-after .scroll-tab .tab-wrap {
		padding-bottom: 15%
	}

	.sec-after .after-list h2 {
		font-size: 2.93vw;
		padding: 0 0 3%;
		margin: 14% auto 5%
	}

	.sec-after .after-list h2 span {
		font-size: 3.6vw;
		padding: 5% 0 2.5%
	}

	.sec-after .after-list>ul+h2 {
		padding-top: 6.34%
	}

	.sec-after .after-list>ul {
		padding-bottom: 6.34%
	}

	.sec-after .after-list li+li {
		padding-top: 6.34%;
		margin-top: 6.34%
	}

	.sec-after .after-list li h3 {
		font-size: 3.2vw;
		padding: 5% 0
	}

	.sec-after .after-list .after-more {
		font-size: 2.66vw;
		padding: 1rem 2rem 2rem;
		overflow: hidden
	}
}

.sec-news .number-hits {
	display: flex;
	align-items: flex-end;
	flex-wrap: wrap;
	color: var(--text-secondary);
	padding-bottom: 16px
}

.sec-news .number-hits p {
	font-size: 1.3rem
}

.sec-news .number-hits .hits-number span {
	display: inline-block;
	font-size: 2.4rem
}

.sec-news .number-hits .hits-category {
	color: var(--text-primary-100);
	font-size: 1.6rem
}

.sec-news .info-list ul {
	top: 0;
	opacity: 1
}

@media screen and (max-width:980px) {
	.sec-news .column-side {
		padding-bottom: 60px
	}
}

@media screen and (max-width:750px) {
	.sec-news .column-side {
		padding-bottom: 9%
	}

	.sec-news .number-hits .hits-category,
	.sec-news .number-hits p {
		font-size: 2.66vw
	}

	.sec-news .number-hits .hits-number span {
		font-size: 5.33vw
	}
}

.article .sec-news .column-cont {
	padding-bottom: 140px
}

@media screen and (max-width:980px) {
	.article .sec-news h1.page-ttl {
		padding-bottom: 5%
	}

	.article .sec-news h1.page-ttl .en {
		font-size: 3.2vw
	}

	.article .sec-news h1.page-ttl .jp {
		font-size: 2.93vw
	}

	.article .sec-news .column-side {
		display: none
	}
}

@media screen and (max-width:750px) {
	.article .sec-news .column-cont {
		padding-bottom: 22.85%
	}
}

.page-faq .column-wrap .column-cont {
	width: auto;
	position: relative
}

.page-faq .column-wrap .column-cont .faq-category {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	transition-delay: 0;
	transition-timing-function: linear;
	transition-property: none
}

.page-faq .column-wrap .column-cont .faq-category.view {
	display: block;
	position: relative
}

.sec-faq .side-tab .ttl-category .jp {
	padding-left: 0
}

.sec-faq .side-tab .ttl {
	position: relative;
	line-height: 120%;
	padding: 26px 0;
	border-bottom: 1px solid var(--ui-tertiary);
	cursor: pointer
}

.sec-faq .side-tab .cont-type li {
	font-size: 1.3rem
}

.sec-faq .side-tab .cont-type li a {
	padding: .5rem 0
}

.sec-faq .search {
	margin-bottom: 80px
}

.sec-faq .search p {
	margin-bottom: 10px
}

.sec-faq .btn-wrap {
	margin-top: 60px
}

.sec-faq .btn-more {
	margin-top: 120px
}

.sec-faq .faq-list h2 {
	font-size: 1.3rem;
	line-height: 160%;
	padding-bottom: 24px;
	margin-top: 64px;
	margin-bottom: 24px
}

.sec-faq .faq-list:first-child h2 {
	margin-top: 0
}

.sec-faq .faq-list.hide {
	display: none
}

#sec-faq-404 h2.ttl {
	font-size: 3rem
}

#sec-faq-404 p {
	font-size: 1.3rem
}

.sec-faq .faq-list li {
	position: relative;
	border-bottom: 1px solid var(--ui-tertiary);
	padding: 2.5rem 0;
	line-height: 120%
}

.sec-faq .faq-list li .ttl-line-bottom .ttl-line-bottom-move {
	width: 60px;
	transform: translate(-100%)
}

html:not(.sp-view) .sec-faq .faq-list li:hover .ttl-line-bottom .ttl-line-bottom-move {
	left: 100%;
	transform: translate(0);
	-webkit-transition: left .4s ease 0s, transform .4s ease 0s;
	-moz-transition: left .4s ease 0s, transform .4s ease 0s;
	-o-transition: left .4s ease 0s, transform .4s ease 0s;
	-ms-transition: left .4s ease 0s, transform .4s ease 0s;
	transition: left .4s ease 0s, transform .4s ease 0s
}

.sec-faq .faq-list li h3 {
	position: relative;
	padding-right: 5rem;
	cursor: pointer
}

.sec-faq .faq-list li h3:after,
.sec-faq .faq-list li h3:before {
	position: absolute;
	content: "";
	top: 1.5rem;
	left: auto;
	right: 0;
	width: 1.5rem;
	height: 1px;
	background: var(--ui-tertiary);
	transition: all .3s ease;
	pointer-events: none
}

.sec-faq .faq-list li h3:after {
	transform: rotate(90deg)
}

.sec-faq .faq-list li.view h3:after {
	transform: rotate(180deg);
	background: var(--ui-primary-100)
}

.sec-faq .faq-list li .faq-more {
	display: none
}

.faq-more {
	margin-top: 15px;
	padding: calc(4rem - 15px) 4rem;
	background: var(--ui-5th);
	line-height: 140%;
	font-size: 1.2rem
}

.faq-more .ttl-line {
	/* font-family: YuGothic, Yu Gothic, 游ゴシック体, 游ゴシック, ヒラギノ角ゴ Pro W3, ヒラギノ角ゴ W3, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, ＭＳ Ｐゴシック, Osaka, MS PGothic, sans-serif; */
	font-family: "微软雅黑";
	padding: 15px 0
}

.faq-more .ttl-line .ttl-line-bottom {
	display: none
}

.faq-more p {
	margin: 15px 0
}

.faq-more img {
	margin: 10px 0
}

.sec-faq .faq-more .list {
	margin: 15px 0
}

.sec-faq .faq-more .list li {
	margin-left: 1.2em;
	list-style-type: disc;
	padding: 0;
	border: none
}

.faq-more .faq-more-table {
	padding: 15px 0
}

.faq-more .faq-more-table table {
	border-collapse: unset;
	width: 100%;
	table-layout: fixed;
	border-top: 1px solid var(--ui-5th);
	border-left: 1px solid var(--ui-5th)
}

.faq-more .faq-more-table table td,
.faq-more .faq-more-table table th {
	border-right: 1px solid var(--ui-5th);
	border-bottom: 1px solid var(--ui-5th);
	padding: 2rem 2%;
	box-sizing: border-box;
	font-size: 1rem;
	line-height: 120%
}

.faq-more .faq-more-table table th {
	background: var(--ui-tertiary)
}

.faq-more .faq-more-table table td {
	background: var(--ui-4th)
}

.faq-more .faq-more-table table td p {
	margin: 0;
	line-height: 160%
}

.faq-more .faq-more-table table td p em {
	display: block;
	margin-top: 5px
}

.faq-more .faq-more-table .table-type01 tbody th:first-of-type,
.faq-more .faq-more-table .table-type01 thead th:first-of-type {
	width: 20%
}

.faq-more .faq-more-table .table-type01 tbody td:first-of-type,
.faq-more .faq-more-table .table-type01 thead th:nth-of-type(2) {
	width: 18%
}

.faq-more .faq-more-table .table-type01 tbody td:nth-of-type(2),
.faq-more .faq-more-table .table-type01 thead th:nth-of-type(3) {
	width: 40%
}

.faq-more .faq-more-table .table-type01 tbody td:nth-of-type(3),
.faq-more .faq-more-table .table-type01 thead th:nth-of-type(4) {
	width: 22%
}

.faq-more .faq-more-table .table-type02 tbody th:first-of-type,
.faq-more .faq-more-table .table-type02 thead th:first-of-type {
	width: 19%
}

.faq-more .faq-more-table .table-type02 tbody td:first-of-type,
.faq-more .faq-more-table .table-type02 thead th:nth-of-type(2) {
	width: 40.5%
}

.faq-more .faq-more-table .table-type03 tbody th:first-of-type,
.faq-more .faq-more-table .table-type03 thead th:first-of-type {
	width: 19%
}

.faq-more .faq-more-table .table-type03 tbody td:first-of-type,
.faq-more .faq-more-table .table-type03 thead th:nth-of-type(2) {
	width: 15%
}

.faq-more .faq-more-table .table-type04 tbody th:first-of-type,
.faq-more .faq-more-table .table-type04 thead th:first-of-type {
	width: 19%
}

.faq-more .faq-more-table .table-type04 tbody td:first-of-type,
.faq-more .faq-more-table .table-type04 thead th:nth-of-type(2) {
	width: 18%
}

.faq-more .faq-more-table .table-type05 tbody th:first-of-type,
.faq-more .faq-more-table .table-type05 thead th:first-of-type {
	width: 19%
}

.faq-more .faq-more-table .table-type05 tbody td:first-of-type,
.faq-more .faq-more-table .table-type05 thead th:nth-of-type(2) {
	width: 15%
}

.faq-more .faq-more-table .table-type06 tbody th:first-of-type,
.faq-more .faq-more-table .table-type06 thead th:first-of-type {
	width: 19%
}

.faq-more .faq-more-table .table-type06 tbody td:first-of-type,
.faq-more .faq-more-table .table-type06 thead th:nth-of-type(2) {
	width: 17%
}

.faq-more .faq-more-table .table-type07 tbody th:first-of-type,
.faq-more .faq-more-table .table-type07 thead th:first-of-type {
	width: 19%
}

.faq-more .faq-more-table .table-type07 tbody td:first-of-type,
.faq-more .faq-more-table .table-type07 thead th:nth-of-type(2) {
	width: 22%
}

.faq-more .faq-more-table .table-type08 tbody th:first-of-type,
.faq-more .faq-more-table .table-type08 thead th:first-of-type {
	width: 18%
}

.faq-more .faq-more-table .table-type08 tbody td:first-of-type,
.faq-more .faq-more-table .table-type08 thead th:nth-of-type(2) {
	width: 16%
}

@media (min-width:751px) {
	.sec-faq .btn-base {
		max-width: 50%
	}

	.sec-faq .faq-list li .faq-more,
	.sec-faq .faq-list li h3 {
		transition: color 1s ease
	}

	.faq-more .faq-more-table table td,
	.faq-more .faq-more-table table th,
	.sec-faq .faq-list li .faq-more .ttl-line:after {
		transition: background 1s ease
	}

	html:not(.sp-view) .sec-faq .faq-list li.out .faq-more,
	html:not(.sp-view) .sec-faq .faq-list li.out h3 {
		color: var(--text--tertiary)
	}

	html:not(.sp-view) .sec-faq .faq-list li.out .faq-more .ttl-line:after {
		background: var(--text--tertiary)
	}

	html:not(.light-mode):not(.sp-view) .sec-faq .faq-list li.out .faq-more,
	html:not(.light-mode):not(.sp-view) .sec-faq .faq-list li.out h3 {
		color: #636363
	}

	html:not(.light-mode):not(.sp-view) li.out .faq-more .faq-more-table table th {
		background: #262626
	}

	html:not(.light-mode):not(.sp-view) li.out .faq-more .faq-more-table table td {
		background: #232323
	}

	.faq-more .flex {
		display: flex;
		margin: 0 -1.5rem
	}

	.faq-more .flex .txt-wrap {
		width: 52.5%;
		margin: 0 1.5rem
	}

	.faq-more .flex .img-wrap {
		width: 47.5%;
		margin: 0 1.5rem
	}

	.faq-more .flex .img-wrap .subimg {
		width: 75%
	}

	.faq-more .faq-more-table .table-wrap:nth-of-type(n+2) table {
		border-top: none
	}

	.faq-more .faq-more-table .table-wrap:nth-of-type(n+2) thead {
		visibility: collapse
	}

	.faq-more .faq-more-table table .empty,
	.sec-faq .cont-footer {
		display: none
	}
}

@media screen and (max-width:980px) {
	.sec-faq .cont-footer {
		margin-top: 120px
	}

	.sec-faq .cont-footer .scroll-tab {
		padding-bottom: 0
	}

	.sec-faq .scroll-tab {
		padding-bottom: 60px
	}

	.sec-faq .scroll-tab .tab-wrap ul {
		display: flex
	}

	.sec-faq .scroll-tab .tab-wrap li {
		width: 50%
	}
}

@media screen and (max-width:750px) {
	body.page-faq:not(.article) .main {
		padding-bottom: 0
	}

	.faq-more .flex {
		display: block
	}

	.sec-faq .search {
		margin-bottom: 14%
	}

	.sec-faq .scroll-tab {
		padding-bottom: 15%
	}

	.sec-faq .btn-wrap {
		margin-top: 10%
	}

	.sec-faq .faq-list h2 {
		font-size: 2.93vw;
		margin: 14% auto 2%;
		padding: 0 0 3%
	}

	.sec-faq .faq-list li {
		padding: 7.6% 0
	}

	.sec-faq .faq-list li h3 {
		font-size: 3.2vw
	}

	.sec-faq .btn-more {
		margin-top: 12.69%
	}

	.faq-more .faq-more-table table td,
	.faq-more .faq-more-table table th {
		font-size: 2.66vw
	}

	.faq-more .faq-more-table table.table-change th:first-child {
		display: none
	}

	.faq-more .faq-more-table h4.ttl-line {
		margin-bottom: 3.6%
	}

	.faq-more .faq-more-table p.sp {
		text-align: right
	}

	.faq-more .faq-more-table .table-wrap {
		overflow: auto;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
		width: 84vw
	}

	.faq-more .faq-more-table table {
		width: 150vw;
		white-space: normal
	}

	.faq-more .faq-more-table table.table-type03,
	.faq-more .faq-more-table table.table-type05,
	.faq-more .faq-more-table table.table-type06,
	.faq-more .faq-more-table table.table-type07,
	.faq-more .faq-more-table table.table-type08 {
		width: 200vw
	}

	.faq-more .faq-more-table table .empty {
		width: 5.8%;
		background: none
	}

	.sec-faq .cont-footer {
		margin-top: 19.2%
	}

	.sec-faq .cont-footer .page-ttl {
		padding-bottom: 5%
	}

	#sec-faq-404 h2.ttl {
		font-size: 6vw;
		line-height: 140%;
		padding: 0;
		margin-bottom: 7.61%
	}

	#sec-faq-404 p {
		font-size: 2.93vw
	}

	.faq-more {
		font-size: 2.66vw;
		padding: 2rem;
		overflow: hidden
	}
}

.page-single {
	position: relative;
	min-height: 100%
}

.page-single #header-single {
	width: 86.1%;
	margin: 0 auto;
	padding-top: 40px
}

.page-single .logo {
	display: block;
	width: 150px
}

.page-single .maintenance-wrap {
	position: absolute;
	top: 0;
	left: 0;
	min-height: 100%;
	-ms-flex-flow: column;
	-webkit-flex-flow: column;
	flex-flow: column;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	background: var(--background-primary)
}

.page-single #main-single,
.page-single .maintenance-wrap {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex
}

.page-single #main-single {
	-webkit-box-flex: 1;
	-ms-flex: 1 auto;
	flex: 1 auto;
	align-items: center;
	padding: 40px 0;
	box-sizing: border-box
}

.page-single .sec-maintenance {
	width: 100%;
	line-height: 200%
}

.page-single .sec-maintenance h1.page-ttl {
	padding-bottom: 2rem
}

.sec-maintenance .ttl {
	font-size: 3.2rem;
	line-height: 140%;
	margin-bottom: 32px
}

.sec-maintenance .error-wrap {
	margin-bottom: 32px;
	font-size: 1.3rem
}

.sec-maintenance .error-wrap p+p {
	margin-top: 2em
}

.sec-maintenance .btn-base {
	display: inline-block;
	text-align: left;
	margin: 0;
	min-width: 300px;
	width: 28.22%;
	font-size: 1.3rem
}

.sec-maintenance .btn-base:before {
	display: none
}

.sec-maintenance .btn-base .icon {
	position: absolute;
	top: 50%;
	right: 27px;
	transform: translateY(-50%);
	width: 1.5rem;
	line-height: 100%
}

.page-single #footer-single {
	width: 86.1%;
	margin: 0 auto;
	padding-bottom: 40px
}

.page-single.center .maintenance-wrap {
	color: var(--text-secondary);
	text-align: center
}

.page-single.center #main-single {
	justify-content: center
}

.page-single.center .logo {
	margin: 0 auto 3.2rem
}

.page-single.center .sec-maintenance .ttl {
	font-size: 2.4rem;
	margin-bottom: 8px
}

@media screen and (max-width:750px) {
	.page-single #header-single {
		padding-top: 8%
	}

	.page-single #main-single {
		padding: 8% 0
	}

	.page-single .logo {
		width: 40%
	}

	.page-single h1.page-ttl {
		padding-bottom: 10%
	}

	.page-single .sec-maintenance h1.page-ttl {
		text-align: left;
		padding-bottom: 4vh
	}

	.sec-maintenance .cont {
		text-align: left
	}

	.sec-maintenance .ttl {
		font-size: 5.3vw;
		margin-bottom: 3vh
	}

	.sec-maintenance .error-wrap {
		font-size: 2.93vw;
		margin-bottom: 4vh
	}

	.sec-maintenance .btn-base {
		font-size: 2.93vw;
		min-width: 0;
		width: 100%
	}

	.page-single #footer-single {
		padding-bottom: 8%
	}

	.page-single.center .logo {
		margin-bottom: 8%
	}

	.page-single.center .sec-maintenance .ttl {
		font-size: 4.26vw;
		margin-bottom: 2vh
	}
}

.page-ie .logo svg path {
	fill: #fff
}

.page-ie .maintenance-wrap {
	background: #1b1b1b
}

.page-ie .sec-maintenance h1.page-ttl {
	color: #fff
}

.page-ie #footer-single,
.page-ie .cont {
	color: grey
}

.page-ie .btn-wrap .btn-base {
	border-color: #353535
}

.page-ie .btn-wrap .btn-base a {
	color: #fff
}

.page-ie .hoverline {
	background: #fff
}

@media screen and (max-width:750px) {
	.page-ie .sec-maintenance .ttl {
		font-size: 4.26vw
	}
}

.sec-error .ttl {
	font-size: 3.2rem;
	line-height: 140%
}

.sec-error .error-wrap {
	font-size: 1.3rem;
	margin: 32px auto 80px
}

.sec-error .btn-base {
	display: inline-block;
	text-align: left;
	margin: 0;
	min-width: 300px;
	width: 28.22%;
	font-size: 1.3rem
}

@media screen and (max-width:750px) {
	.sec-error .ttl {
		font-size: 5vw
	}

	.sec-error .error-wrap {
		font-size: 2.93vw;
		margin: 7.6% 0 12.6%
	}

	.sec-error .btn-base {
		font-size: 2.93vw;
		min-width: 0;
		width: 100%
	}
}

.page-product.caution #wrapper {
	padding-top: 51px
}

html:not(.menu-open):not(.modal-search-open) .page-product.caution #header {
	position: absolute;
	top: 51px
}

html:not(.menu-open):not(.modal-search-open) .page-product.caution #header.fixed {
	position: fixed;
	top: 0
}

.page-product .main {
	/* font-family: YuGothic, Yu Gothic, 游ゴシック体, 游ゴシック, ヒラギノ角ゴ Pro W3, ヒラギノ角ゴ W3, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, ＭＳ Ｐゴシック, Osaka, MS PGothic, Helvetica, Arial, sans-serif */
	font-family: "微软雅黑";
}

.page-product .caution {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	padding: 15px 0;
	background: var(--background-primary);
	z-index: 2000
}

.page-product div.caution {
	transition-delay: 0;
	transition-timing-function: linear;
	transition-property: none
}

.page-product .caution .sec-inr {
	display: flex;
	align-items: center
}

.page-product .caution .caution-tip {
	width: 2rem
}

.page-product .caution .txt-wrap {
	font-size: 1.3rem;
	margin: 0 15px;
	line-height: 100% !important;
	flex: 1;
	overflow: hidden
}

.page-product .caution .txt-wrap p {
	display: inline-block;
	white-space: nowrap;
	padding-left: 100%;
	animation: marquee 20s linear -5s infinite
}

@keyframes marquee {
	0% {
		transform: translateX(0)
	}

	to {
		transform: translateX(-100%)
	}
}

.sec-page-product {
	position: relative
}

.sec-page-product .column-wrap .column-cont {
	width: auto
}

.sec-page-product .product-tab .select-wrap {
	display: none;
	transition-delay: 0;
	transition-timing-function: linear;
	transition-property: none
}

@media screen and (max-width:980px) {
	.sec-page-product .sp {
		display: block
	}
}

@media screen and (max-width:750px) {
	.page-product .caution .txt-wrap {
		font-size: 2.93vw
	}

	.sec-page-product .column-wrap .column-cont .scroll-tab .tab-wrap {
		padding-top: 4%
	}
}

.loaditem {
	transition: .3s
}

.loading {
	position: relative;
	background: #e2e2e2;
	overflow: hidden
}

.loading:after {
	display: block;
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	transform: translateX(-100%);
	background: linear-gradient(90deg, transparent, hsla(0, 0%, 100%, .2), transparent);
	animation: loading 1.5s infinite
}

@keyframes loading {
	to {
		transform: translateX(100%)
	}
}

body.page-product .page-ttl.jp .jp {
	font-size: 3vw;
	line-height: 120%;
	color: var(--text-primary-100)
}

.sec-page-product .ttl-wrap {
	color: var(--text-secondary)
}

.sec-page-product .ttl-wrap * {
	display: block;
	line-height: 140%
}

.sec-page-product .ttl-wrap .en,
.sec-page-product .ttl .en {
	color: var(--ui-primary-100)
}

.sec-page-product .cont-ttl {
	margin: 100px 0 60px
}

.sec-page-product .cont-ttl .en {
	font-size: 4.44vw
}

.sec-page-product .ttl {
	margin: 70px auto 45px
}

.sec-page-product .ttl .en {
	font-size: 3.5vw
}

.sec-page-product .sub-ttl {
	color: var(--text-secondary);
	padding: .5rem 0
}

.sec-page-product .sub-ttl .en {
	letter-spacing: .1em
}

.sec-page-product .ttl-line {
	font-size: 2.4rem;
	padding: 1.5rem 0;
	line-height: 140%
}

.sec-page-product .ttl-line:after {
	width: 2rem
}

.sec-page-product .drop-ttl {
	position: relative;
	line-height: 120%;
	padding: 26px 0;
	border-top: 1px solid var(--ui-tertiary);
	border-bottom: 1px solid var(--ui-tertiary);
	cursor: pointer
}

.sec-page-product .drop-ttl:after,
.sec-page-product .drop-ttl:before {
	position: absolute;
	content: "";
	top: 50%;
	left: auto;
	right: 0;
	transform: translateY(-50%);
	width: 1.5rem;
	height: 1px;
	background: var(--ui-tertiary);
	transition: all .3s ease
}

.sec-page-product .drop-ttl:after {
	transform: rotate(90deg)
}

.sec-page-product .drop-ttl.view:after {
	transform: rotate(180deg);
	background: var(--ui-primary-100)
}

@media screen and (max-width:980px) {
	body.page-product .page-ttl.jp .jp {
		font-size: 5.5vw
	}

	.sec-page-product .cont-ttl .en {
		font-size: 6.53vw
	}
}

@media screen and (max-width:750px) {
	.sec-page-product .cont-ttl {
		margin: 25.39% 0 7.9%
	}

	.sec-page-product .cont-ttl .en {
		font-size: 8.53VW
	}

	.sec-page-product .ttl .en {
		font-size: 8.53vw
	}

	.sec-page-product .sub-ttl,
	.sec-page-product .ttl-line {
		font-size: 3.2vw
	}
}

body.page-product .main .bg-txt {
	z-index: -1;
	padding: 0
}

.sec-page-product .h1 {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding-bottom: 72px
}

body.page-product h1.page-ttl {
	padding: 0
}

body.page-product h1.page-ttl .soldout {
	display: inline-block;
	font-size: 1.3rem;
	line-height: 100%;
	padding: .8rem 3.4rem;
	background: var(--ui-error);
	margin-bottom: 1.8rem
}

body.page-product h1.page-ttl .product-number {
	display: block;
	font-family: Helvetica, sans-serif;
	font-size: 1.3rem
}

body.page-product .circle-link span {
	display: inline-block
}

body.page-product .circle-link .icon-wrap {
	color: var(--text-primary-100);
	padding: 1rem 45px 1rem 0;
	margin-top: 2rem
}

.sec-page-product .search-option {
	display: flex;
	align-items: flex-end
}

.sec-page-product .search-option p:not(.search-detail) {
	margin-left: 1.5rem;
	border: 1px solid var(--ui-5th);
	background: var(--ui-5th);
	transition: all .2s;
	-webkit-transition: all .2s;
	width: 4.86486vw;
	height: 4.86486vw
}

.sec-page-product .search-option p.focus,
html:not(.sp-view) .sec-page-product .search-option p:not(.search-detail):hover {
	background: none;
	border-color: var(--ui-tertiary)
}

.sec-page-product .search-option p:not(.search-detail) span.search-detail-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.62162vw
}

.sec-page-product .search-option p:not(.search-detail) a {
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%
}

.sec-page-product .search-option p:not(.search-detail) a .hoverline_top {
	left: -12.5px;
	width: 12% !important
}

.sec-page-product .search-option p:not(.search-detail) a .hoverline_bottom {
	right: -12.5px;
	width: 12% !important
}

.sec-page-product .search-option p:not(.search-detail) a .hoverline_left {
	bottom: -12.5px;
	height: 12px !important
}

.sec-page-product .search-option p:not(.search-detail) a .hoverline_right {
	top: -12.5px;
	height: 12px !important
}

html:not(.sp-view) .sec-page-product .search-option p:not(.search-detail) a:hover .hoverline_top {
	left: 101%;
	-webkit-transition: left .5s ease 0s;
	-moz-transition: left .5s ease 0s;
	-o-transition: left .5s ease 0s;
	-ms-transition: left .5s ease 0s;
	transition: left .5s ease 0s
}

html:not(.sp-view) .sec-page-product .search-option p:not(.search-detail) a:hover .hoverline_bottom {
	right: 101%;
	-webkit-transition: right .5s ease 0s;
	-moz-transition: right .5s ease 0s;
	-o-transition: right .5s ease 0s;
	-ms-transition: right .5s ease 0s;
	transition: right .5s ease 0s
}

html:not(.sp-view) .sec-page-product .search-option p:not(.search-detail) a:hover .hoverline_left {
	bottom: 101%;
	-webkit-transition: bottom .5s ease 0s;
	-moz-transition: bottom .5s ease 0s;
	-o-transition: bottom .5s ease 0s;
	-ms-transition: bottom .5s ease 0s;
	transition: bottom .5s ease 0s
}

html:not(.sp-view) .sec-page-product .search-option p:not(.search-detail) a:hover .hoverline_right {
	top: 101%;
	-webkit-transition: top .5s ease 0s;
	-moz-transition: top .5s ease 0s;
	-o-transition: top .5s ease 0s;
	-ms-transition: top .5s ease 0s;
	transition: top .5s ease 0s
}

.sec-page-product .search-option .search-detail {
	display: flex
}

.sec-page-product .search-option .search-detail a {
	display: flex;
	align-items: center;
	line-height: 100%;
	padding: 1.5vw 0
}

.sec-page-product .search-option .search-detail.ttl-line {
	padding: 0
}

.sec-page-product .search-option .search-detail.ttl-line:after {
	display: none
}

.sec-page-product .search-option .search-detail .ttl-line-bottom .ttl-line-bottom-move {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	width: 2rem;
	height: 1px;
	background: var(--ui-primary-100)
}

html:not(.sp-view) .sec-page-product .search-option .search-detail:hover .ttl-line-bottom {
	overflow: hidden
}

html:not(.sp-view) .sec-page-product .search-option .search-detail:hover .ttl-line-bottom .ttl-line-bottom-move {
	left: 100%;
	-webkit-transition: left .4s ease 0s;
	-moz-transition: left .4s ease 0s;
	-o-transition: left .4s ease 0s;
	-ms-transition: left .4s ease 0s;
	transition: left .4s ease 0s
}

.sec-page-product .search-option .search-detail span {
	width: 1.6rem;
	margin-left: 1.5rem;
	flex: 1
}

.sec-page-product .search-option svg path,
.sec-page-product .search-option svg rect {
	fill: var(--ui-tertiary);
	transition: all .2s;
	-webkit-transition: all .2s
}

.sec-page-product .search-option .search-detail svg path,
.sec-page-product .search-option p.focus svg path,
.sec-page-product .search-option p.focus svg rect,
html:not(.sp-view) .sec-page-product .search-option p:hover svg path,
html:not(.sp-view) .sec-page-product .search-option p:hover svg rect {
	fill: var(--ui-primary-100)
}

@media (min-width:981px) {
	body.page-product h1.page-ttl {
		width: 70%
	}
}

@media (min-width:751px) {
	.sec-page-product .h1 .search-wrap {
		margin-top: 10px;
		width: 50%
	}

	.sec-page-product .h1 .scroll-tab {
		display: none
	}
}

@media screen and (max-width:980px) {
	.sec-page-product .h1 {
		width: 95%;
		margin-left: 0
	}

	.sec-page-product .search-option-pc,
	.sec-page-product .search-option p:not(.search-detail) {
		display: none
	}

	.sec-page-product .search-option .search-detail a {
		padding: 2rem 0
	}

	.sec-page-product .search-option-sp {
		padding-top: 32px
	}

	.sec-page-product .search-option-sp .search-option {
		display: block
	}
}

@media screen and (max-width:750px) {
	.sec-page-product .h1 {
		display: block;
		width: 100%;
		padding-bottom: 10%
	}

	.sec-page-product .h1 h1.page-ttl {
		width: 89%;
		padding-bottom: 15%
	}

	body.page-product h1.page-ttl .soldout {
		font-size: 2.66vw;
		padding: 1.8vw 5.2vw;
		margin-bottom: 3.2%
	}

	body.page-product h1.page-ttl .product-number {
		font-size: 2.66vw;
		padding-top: 4%
	}

	body.page-product .circle-link .icon-wrap {
		font-size: 3.2vw;
		padding-right: 8vw
	}

	.sec-page-product .search-option-sp {
		padding-top: 5%
	}
}

.sec-page-product .number-hits {
	display: flex;
	align-items: flex-end;
	flex-wrap: wrap;
	color: var(--text-secondary);
	padding-bottom: 16px
}

.sec-page-product .number-hits p {
	/* font-family: YuGothic, Yu Gothic, 游ゴシック体, 游ゴシック, ヒラギノ角ゴ Pro W3, ヒラギノ角ゴ W3, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, ＭＳ Ｐゴシック, Osaka, MS PGothic, Arial, sans-serif; */
	font-family: "微软雅黑";
	font-size: 1.3rem
}

.sec-page-product .number-hits .hits-number span {
	display: inline-block;
	font-size: 2.4rem
}

.sec-page-product .number-hits .hits-category {
	color: var(--text-primary-100);
	font-size: 1.6rem
}

.sec-page-product .side-tab .cont-type li {
	font-size: 1.5rem
}

.sec-page-product .side-tab .cont-type li a {
	padding: 2px 0;
	position: relative;
	display: block;
	font-size: 1.3rem
}

.sec-page-product .side-tab .cont-type li a .en,
.sec-page-product .side-tab .cont-type li a .jp {
	font-family: inherit
}

.sec-page-product .side-tab .cont-type li .en {
	color: var(--text-primary-100);
	display: block;
	transition: color 1s ease
}

.sec-page-product .side-tab .cont-type li a .jp {
	display: block;
	font-size: 1rem;
	line-height: 100%;
	transform: translateY(-.3em)
}

@media (min-width:751px) {
	html:not(.sp-view) .sec-page-product .side-tab .ttl-category.out+.cont-type li .en {
		color: var(--text--tertiary)
	}
}

@media screen and (max-width:750px) {

	.sec-page-product .number-hits .hits-category,
	.sec-page-product .number-hits p {
		font-size: 2.13vw
	}

	.sec-page-product .number-hits .hits-number span {
		font-size: 5.33vw
	}
}

.sec-page-product .column-cont .tab-btn {
	padding: 0;
	width: 100%
}

.product-index .product-main {
	overflow: initial;
	width: 112.2%
}

.product-index .product-main .swiper-slide {
	overflow: hidden
}

.product-index .product-main .swiper-slide figure {
	position: relative;
	padding-top: 50.7%;
	overflow: hidden
}

.product-index .product-main .swiper-slide figure img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 0;
	/* transform: scale(1.15) */
}

.product-index .product-main .swiper-slide .swiper-slide-inner.gozoom figure img {
	transform: scale(1);
	-webkit-transition: transform 13s ease 0s;
	-moz-transition: transform 13s ease 0s;
	-o-transition: transform 13s ease 0s;
	-ms-transition: transform 13s ease 0s;
	transition: transform 13s ease 0s
}

.product-index .product-main .btn-link {
	width: 89%;
	padding: 23px 0 4%
}

.product-index .product-main .btn-link p {
	line-height: 140%
}

.product-index .product-main .btn-link span.animation_wavefadein,
.product-index .product-main .btn-link span.animation_wavefadein span.animation_wavefadein_char {
	display: inline-block
}

.product-index .product-main .btn-link .en {
	color: var(--text-secondary)
}

.product-index .product-main .btn-link-ttl .jp {
	font-size: 2vw;
	line-height: 140%;
	font-weight: 400;
	padding: .5rem 0 1rem
}

.product-index .search-product {
	padding-top: 80px
}

.product-index .type {
	position: relative;
	z-index: 1
}

.product-index .type .bg-txt {
	bottom: 100%;
	margin-bottom: -35%;
	right: calc(-13.9% - 5vw);
	font-size: 15vw;
	text-align: right
}

@media (min-width:981px) {
	.product-index .type .swiper-wrapper {
		flex-wrap: wrap
	}

	.product-index .type .swiper-slide {
		width: 49%;
		padding: 24px 0;
		box-sizing: border-box
	}

	.product-index .type .swiper-slide a {
		display: block
	}

	.product-index .type .swiper-slide a img {
		transition: opacity .6s ease
	}

	html:not(.sp-view) .product-index .type .swiper-slide a:hover img {
		opacity: .6
	}

	.product-index .type .swiper-slide div.txt,
	.product-index .type .swiper-slide p {
		font-size: 1.3rem;
		text-align: left
	}

	.product-index .type .swiper-slide figure {
		margin-bottom: 1rem
	}

	.product-index .type .swiper-slide .icon-wrap .icon {
		width: 16px;
		height: 16px;
		border: 1px solid var(--ui-primary-100);
		border-radius: 50%;
		overflow: hidden;
		box-sizing: border-box
	}

	.product-index .type .swiper-slide div.txt .icn-circle .icon:before,
	.product-index .type .swiper-slide p .icn-circle .icon:before {
		width: 3px;
		height: 3px;
		border: none;
		left: -5px;
		transform: translate(-50%, -50%);
		background-color: var(--ui-primary-100)
	}

	html:not(.sp-view) .product-index .type .swiper-slide a:hover div.txt .icn-circle .icon:before,
	html:not(.sp-view) .product-index .type .swiper-slide a:hover p .icn-circle .icon:before {
		-webkit-transition: left .2s ease .1s;
		-moz-transition: left .2s ease .1s;
		-o-transition: left .2s ease .1s;
		-ms-transition: left .2s ease .1s;
		transition: left .2s ease .1s;
		left: 50%
	}

	.product-index .type .swiper-slide div.txt .icn-circle .icon:after,
	.product-index .type .swiper-slide p .icn-circle .icon:after {
		width: 3px;
		height: 3px;
		border: none;
		left: 50%;
		transform: translate(-50%, -50%)
	}

	.page-product .main .icn-circle .icon:after,
	html:not(.sp-view) .product-index .type .swiper-slide a:hover div.txt,
	html:not(.sp-view) .product-index .type .swiper-slide a:hover p .icn-circle .icon:after {
		left: 120%;
		-webkit-transition: left .2s ease 0s;
		-moz-transition: left .2s ease 0s;
		-o-transition: left .2s ease 0s;
		-ms-transition: left .2s ease 0s;
		transition: left .2s ease 0s
	}

	.product-index .type h3.ttl-bar {
		position: relative;
		padding-left: 0;
		padding-bottom: 26px;
		margin-bottom: 0;
		line-height: 100%
	}

	.product-index .type h3.ttl-bar:before {
		position: absolute;
		content: "";
		left: 0;
		top: auto;
		bottom: 0;
		width: 200px;
		height: 1px;
		background: var(--ui-tertiary)
	}

	.product-index .type h3.ttl-bar:after {
		position: absolute;
		content: "";
		left: 0;
		top: auto;
		bottom: 0;
		width: 25px;
		height: 1px;
		background: var(--ui-primary-100)
	}

	.product-index .type h3.pc {
		width: 100%;
		display: block
	}

	.product-index .type .swiper-slide+h3.pc {
		padding-top: 56px
	}

	.product-index .swiper-slide h3 {
		display: none
	}
}

@media screen and (max-width:980px) {
	.sec-page-product .type .cont-ttl {
		padding-bottom: 60px;
		margin-bottom: 0
	}
}

@media screen and (max-width:750px) {
	.product-index .search-product {
		padding-top: 13.49%
	}

	.product-index .type .bg-txt {
		bottom: auto;
		top: -6vw
	}

	.sec-page-product .type .cont-ttl {
		padding-bottom: 7.9%
	}
}

.product-index .lineup .cont-ttl {
	margin: 0
}

.product-index .lineup .sub-ttl {
	margin: 60px auto 30px
}

.product-index .lineup .tab-btn {
	width: 100%;
	flex-wrap: wrap;
	font-size: 1.8rem
}

.product-index .lineup .tab-btn>li {
	width: calc(50% - 1rem);
	box-sizing: border-box;
	padding: 0
}

.product-index .lineup .tab-btn>li:first-child,
.product-index .lineup .tab-btn>li:nth-child(2) {
	border-top: 1px solid var(--ui-tertiary)
}

.product-index .lineup .tab-btn>li:nth-child(odd) {
	margin-right: 2rem
}

.product-index .lineup .tab-btn>li span {
	display: block;
	line-height: 140%
}

.product-index .lineup .tab-btn>li .en {
	font-size: 1.8rem
}

.product-index .lineup .tab-btn>li .jp {
	font-size: 1.2rem;
	color: var(--ui-secondary);
	transition: color 1s ease
}

.product-index .lineup .tab-btn.single>li {
	width: 100%;
	margin-right: 0
}

.product-index .lineup .tab-btn a {
	display: block;
	padding: 2rem 12% 2rem 0
}

@media (min-width:981px) {
	.product-index .product-main .btn-link .btn-inr {
		padding-right: 8vw
	}

	.product-index .type .swiper-wrapper {
		justify-content: space-between
	}
}

@media (min-width:751px) {
	.product-index .type .slide-tab {
		display: none
	}

	html:not(.sp-view) .product-index .lineup .tab-btn:hover>li:not(:hover) .jp {
		color: var(--ui-tertiary)
	}

	.product-index .lineup .tab-btn.single .circlewrap {
		width: 3.3%
	}
}

@media screen and (max-width:980px) {
	.product-index .product-main .btn-link .en {
		font-size: 2.66vw
	}

	.product-index .product-main .btn-link-ttl .jp {
		font-size: 4.26vw
	}

	.product-index .product-main .btn-link .btn-view {
		top: 0;
		transform: translateY(0)
	}

	.product-index .type .bg-txt {
		font-size: 25vw
	}

	.product-index .type h3.pc {
		display: none
	}

	.product-index .swiper-slide h3 {
		display: block
	}

	.product-index .lineup .sub-ttl {
		margin: 45px auto 20px
	}
}

@media screen and (max-width:750px) {
	.product-index .product-main #product-main_swiper {
		opacity: 0;
		transform: scale(1.03);
		-webkit-transition: transform 3s ease 0s, opacity 1s ease 0s;
		-moz-transition: transform 3s ease 0s, opacity 1s ease 0s;
		-o-transition: transform 3s ease 0s, opacity 1s ease 0s;
		-ms-transition: transform 3s ease 0s, opacity 1s ease 0s;
		transition: transform 3s ease 0s, opacity 1s ease 0s
	}

	.product-index .product-main.init #product-main_swiper {
		opacity: 1;
		transform: scale(1)
	}

	.product-index .product-main .swiper-slide .swiper-slide-inner figure:after {
		content: "";
		display: block;
		clear: both
	}

	.product-index .btn-link-ttl .jp {
		font-size: 4.26vw
	}

	.product-index .product-main .btn-link {
		padding: 4% 0 5%
	}

	.product-index .lineup .tab-btn {
		display: block
	}

	.product-index .lineup .tab-btn>li {
		font-size: 2rem;
		width: 100%
	}

	.product-index .lineup .tab-btn>li:nth-child(odd) {
		margin-right: 0
	}

	.product-index .lineup .tab-btn>li:nth-child(2) {
		border-top: none
	}

	.product-index .lineup .tab-btn>li .en {
		font-size: 3.73vw
	}

	.product-index .lineup .tab-btn>li .jp {
		font-size: 2.66vw
	}

	.product-index .lineup .tab-btn a {
		padding: 1.5rem 12% 1.5rem 0
	}
}

.sec-page-product .price-list dl {
	display: flex;
	line-height: 140%
}

.sec-page-product .price-list dl dd,
.sec-page-product .price-list dl dt {
	margin: 2.5rem 0;
	padding: 0 2.5rem;
	font-size: unset
}

.sec-page-product .price-list dl .name {
	flex: 1;
	padding-left: 0
}

.sec-page-product .price-list dl .price {
	flex: 1.5;
	position: relative
}

.sec-page-product .price-list dl .remarks {
	flex: 2;
	padding-right: 0
}

.sec-page-product .price-list li dl {
	font-size: 1.3rem
}

.sec-page-product .price-list li dl dd {
	border-right: 1px solid var(--ui-tertiary)
}

.sec-page-product .price-list li dl dd:last-of-type {
	border-right: none
}

.sec-page-product .price-list li dl .price:before {
	left: 0
}

.sec-page-product .price-list li dl .price:after {
	right: 0
}

.sec-page-product .price-list dl.item {
	color: var(--text-secondary);
	font-size: 1.6rem;
	border-bottom: 1px solid var(--ui-tertiary)
}

.sec-page-product .price-list li {
	border-bottom: 1px solid var(--ui-4th)
}

.sec-page-product .price-list ul li dl dt {
	display: none;
	/* font-family: YuGothic, Yu Gothic, 游ゴシック体, 游ゴシック, ヒラギノ角ゴ Pro W3, ヒラギノ角ゴ W3, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, ＭＳ Ｐゴシック, Osaka, MS PGothic, Helvetica, Arial, sans-serif */
	font-family: "微软雅黑";
}

.sec-page-product .price-list .caption {
	display: flex;
	background: var(--background-secondary);
	padding: 1rem 1.5rem;
	font-size: 1.3rem;
	color: var(--text-secondary);
	margin-top: -1rem
}

.sec-page-product .price-list .caption span {
	display: block;
	line-height: 140%
}

.sec-page-product .price-list .caption span:first-child {
	padding-right: 1.5rem;
	margin-right: 1.5rem;
	border-right: 1px solid var(--ui-tertiary)
}

@media screen and (max-width:980px) {

	.sec-page-product .price-list dl dd,
	.sec-page-product .price-list dl dt {
		padding: 0 2rem;
		margin: 1.5rem 0
	}
}

@media screen and (max-width:750px) {
	.sec-page-product .price-list dl.item {
		display: none
	}

	.sec-page-product .price-list dl {
		flex-wrap: wrap
	}

	.sec-page-product .price-list dl dd,
	.sec-page-product .price-list dl dt {
		margin: .75rem 0;
		padding: 0
	}

	.sec-page-product .price-list li dl {
		font-size: 2.93vw
	}

	.sec-page-product .price-list li dl dd {
		border-right: none
	}

	.sec-page-product .price-list ul li {
		width: 100%
	}

	.sec-page-product .price-list ul li:first-child {
		border-top: 1px solid var(--ui-4th)
	}

	.sec-page-product .price-list ul li dl {
		padding: 1.5rem 0
	}

	.sec-page-product .price-list ul li dl dt {
		flex: none !important;
		width: 20%;
		display: block;
		color: var(--text-secondary)
	}

	.sec-page-product .price-list ul li dl dd {
		flex: none !important;
		width: 80%;
		line-height: 160%
	}

	.sec-page-product .price-list .caption {
		font-size: 2.93vw
	}
}

.sec-page-product .color-variation .variation {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -.5rem
}

.sec-page-product .color-variation .variation figure {
	width: 16.66667%;
	box-sizing: border-box;
	padding: 0 .5rem;
	line-height: 140%;
	margin-bottom: 2rem;
	font-weight: 700
}

.sec-page-product .color-variation .variation figure p {
	width: 100%;
	padding-top: 38%;
	position: relative;
	margin-bottom: 1rem;
	box-sizing: border-box;
	border: 1px solid var(--ui-secondary);
	background: var(--ui-secondary)
}

.sec-page-product .color-variation .variation figure img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%
}

.sec-page-product .color-variation .variation figure em {
	display: block;
	font-size: 1.3rem;
	line-height: 140%;
	margin-bottom: .5rem
}

.sec-page-product .color-variation .variation figure span {
	display: block;
	font-weight: 400;
	color: var(--text-secondary);
	font-size: 1.2rem;
	line-height: 140%
}

.sec-page-product .color-variation .variation figure span>span {
	display: inline-block
}

@media screen and (max-width:980px) {
	.sec-page-product .color-variation .variation figure {
		width: 33.33333%
	}

	.sec-page-product .color-variation div.variation-wrap {
		transition-delay: 0 !important;
		transition-timing-function: linear !important;
		transition-property: none !important;
		display: none
	}
}

@media screen and (max-width:750px) {
	.sec-page-product .color-variation .variation figure {
		width: 50%
	}

	.sec-page-product .color-variation .variation figure em {
		font-size: 2.93vw
	}

	.sec-page-product .color-variation .variation figure span {
		font-size: 2.66vw
	}
}

.product-detail .tag ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	margin: 0 -.5rem
}

.product-detail .tag ul li {
	margin: .5rem;
	line-height: 100%;
	font-size: 1.2rem;
	color: var(--text-secondary)
}

.product-detail .tag ul li>span {
	position: relative;
	display: inline-block;
	background: var(--ui-5th);
	padding: 1rem
}

.product-detail .tag ul li .tag_close {
	display: inline-block;
	padding-left: 1rem;
	cursor: pointer
}

.product-detail .detail-list {
	margin: 60px 0;
	font-size: 1.2rem
}

.product-detail .detail-list .cont-list {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -1.5rem
}

.product-detail .detail-list .cont-list>li {
	width: 100%;
	padding: 0 1.5rem;
	box-sizing: border-box;
	position: relative
}

.product-detail .detail-list .cont-list>li .product-img {
	position: relative;
	background: var(--ui-5th)
}

.product-detail .detail-list .cont-list>li.soldout .product-img:after {
	content: "廃番品";
	position: absolute;
	top: 0;
	left: 0;
	color: #fff;
	font-size: 1.3rem;
	line-height: 100%;
	padding: 7px 10px 8px;
	background: var(--ui-error)
}

.product-detail .detail-list .cont-list>li .product-img a {
	display: block;
	position: relative;
	overflow: hidden;
	padding-top: 75.19%
}

html:not(.sp-view) .product-detail .detail-list .cont-list>li .product-img a:hover {
	opacity: .6
}

.product-detail .detail-list .cont-list>li .product-img a img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 0
}

.product-detail .detail-list .detail-link {
	display: flex
}

.product-detail .detail-list .detail-link a {
	display: block;
	padding: 1.5rem 0;
	line-height: 120%;
	position: relative;
	transition: color 1s ease;
	flex: 1
}

.product-detail .detail-list .detail-link a:after {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: var(--ui-secondary);
	position: absolute;
	bottom: 0;
	left: 0;
	transition: background 1s ease
}

html:not(.sp-view) .product-detail .detail-list .detail-link a:hover:after {
	background: var(--text-primary-100)
}

html:not(.sp-view) .product-detail .detail-list .detail-link a:hover .circle0 {
	background: var(--text-primary-100);
	left: 50%;
	-webkit-transition: left .3s ease .3s;
	-moz-transition: left .3s ease .3s;
	-o-transition: left .3s ease .3s;
	-ms-transition: left .3s ease .3s;
	transition: left .3s ease .3s
}

html:not(.sp-view) .product-detail .detail-list .detail-link a:hover .circle1 {
	background: var(--text-primary-100);
	left: 150%;
	-webkit-transition: left .3s ease 0s;
	-moz-transition: left .3s ease 0s;
	-o-transition: left .3s ease 0s;
	-ms-transition: left .3s ease 0s;
	transition: left .3s ease 0s
}

.product-detail .detail-list .detail-link a .circlewrap {
	position: absolute;
	top: 50%;
	right: 3%;
	width: 6.8%;
	height: 100%;
	transform: translateY(-50%);
	overflow: hidden
}

.product-detail .detail-list .ttl {
	padding: 1rem 0;
	margin: 0
}

.product-detail .detail-list .ttl span {
	display: block;
	font-size: 1.2rem;
	line-height: 120%
}

#grid-wrap .ttl span {
	display: block
}

.product-detail .detail-list .ttl .en {
	font-size: 1.8rem;
	line-height: 100%;
	padding: 5px 0
}

.product-detail .detail-list .colortip {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -.25rem
}

.product-detail .detail-list .colortip li {
	width: 10%;
	max-width: 30px;
	padding: .25rem;
	box-sizing: border-box;
	position: relative;
	line-height: 100%
}

.product-detail .detail-list .colortip li figure p {
	border: 1px solid var(--ui-secondary);
	background: var(--ui-secondary);
	position: relative;
	width: 100%;
	padding-top: 70%;
	box-sizing: border-box;
	overflow: hidden
}

.product-detail .detail-list .colortip li figure img {
	position: absolute;
	top: 0;
	left: 0;
	max-width: unset;
	width: auto;
	height: 100%
}

.product-detail .detail-list .colortip li figure figcaption {
	opacity: 0;
	visibility: hidden;
	padding: .5rem;
	position: absolute;
	z-index: 1;
	white-space: nowrap;
	background: var(--background-tertiary);
	bottom: 50%;
	margin-bottom: 3px;
	left: 50%;
	transform: translateX(-50%);
	transition: all .2s;
	-webkit-transition: all .2s
}

html:not(.sp-view) .product-detail .detail-list .colortip li:hover figcaption {
	visibility: visible;
	opacity: 1;
	bottom: 100%
}

.product-detail .detail-list .colortip li figure figcaption:before {
	position: absolute;
	content: "";
	top: 100%;
	left: 50%;
	width: 10px;
	height: 10px;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 6px solid transparent;
	border-bottom: 0 solid transparent;
	border-right: 6px solid transparent;
	border-top: 8px solid var(--background-tertiary)
}

@media (min-width:981px) {
	.product-detail .detail-list {
		margin-top: 0
	}
}

@media (min-width:751px) {
	html:not(.sp-view) .product-detail .detail-list .detail-link:hover a:not(:hover) {
		color: var(--ui-tertiary)
	}

	html:not(.sp-view) .product-detail .detail-list .detail-link:hover a:not(:hover) .circle0,
	html:not(.sp-view) .product-detail .detail-list .detail-link:hover a:not(:hover) .circle1,
	html:not(.sp-view) .product-detail .detail-list .detail-link:hover a:not(:hover):after {
		background: var(--ui-tertiary)
	}
}

.product-detail #grid-wrap .cont-list>li {
	width: 33.33333%;
	box-sizing: border-box;
	margin-bottom: 60px
}

.product-detail #grid-wrap .detail-link .hoverline,
.product-detail #grid-wrap .detail-link a:before {
	display: none !important
}

@media (min-width:981px) {
	.product-detail .tag {
		margin-bottom: 45px
	}

	.product-detail .tag li:last-child {
		margin-bottom: 25px
	}

	.product-detail #list-wrap .cont-list>li {
		display: flex;
		align-items: flex-start;
		padding-top: 3rem;
		padding-bottom: 3rem;
		overflow: hidden
	}

	.product-detail #list-wrap .cont-list>li:after,
	.product-detail #list-wrap .cont-list>li:before {
		content: "";
		position: absolute;
		bottom: 0;
		height: 1px;
		transition: all .5s;
		-webkit-transition: all .5s
	}

	.product-detail #list-wrap .cont-list>li:before {
		left: 1.5rem;
		width: calc(100% - 3rem);
		background: var(--ui-tertiary)
	}

	.product-detail #list-wrap .cont-list>li .product-img {
		margin-right: 20px;
		width: 154px
	}

	.product-detail #list-wrap .cont-list>li .txt-wrap {
		width: calc(100% - 174px)
	}

	.product-detail #list-wrap .cont-list>li h3.ttl {
		display: flex;
		flex-wrap: wrap;
		width: 60%;
		min-width: 375px
	}

	.product-detail #list-wrap .cont-list>li h3.ttl * {
		box-sizing: border-box
	}

	.product-detail #list-wrap .cont-list>li h3.ttl .en {
		order: 1;
		font-size: 2.4rem;
		width: 100%
	}

	.product-detail #list-wrap .cont-list>li h3.ttl .jp {
		order: 2;
		line-height: 160%;
		border-right: 1px solid var(--ui-secondary);
		max-width: 43%;
		padding-right: 7%;
		box-sizing: content-box
	}

	.product-detail #list-wrap .cont-list>li h3.ttl .product-number {
		order: 3;
		line-height: 160%;
		max-width: 50%;
		padding-left: 7%;
		flex: 1
	}

	.product-detail #list-wrap .detail-link a {
		flex: none;
		padding: 1.5rem 15% 1.5rem 1.5rem;
		margin-right: 2rem;
		border: 1px solid var(--ui-secondary);
		transition: all .2s;
		-webkit-transition: all .2s
	}

	.product-detail #list-wrap .detail-link a:after {
		display: none
	}

	html:not(.sp-view) .product-detail #list-wrap .detail-link:hover a:not(:hover) {
		border-color: var(--ui-tertiary)
	}

	html:not(.sp-view) .product-detail #list-wrap .detail-link a:hover:before {
		background: var(--text-primary-100)
	}

	.product-detail #list-wrap .cont-list>li.soldout .product-img:after {
		font-size: 1rem;
		padding: 5px 5px 6px
	}
}

@media screen and (max-width:980px) {
	.product-list .column-side .number-hits {
		display: none
	}

	.product-detail .tag {
		width: 100vw;
		margin-left: -8vw;
		white-space: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch
	}

	.product-detail .tag::-webkit-scrollbar {
		display: none
	}

	.product-detail .tag ul {
		display: inline-flex;
		flex-wrap: nowrap;
		width: auto;
		justify-content: flex-start;
		margin: 1.5rem -.5rem 0
	}

	.product-detail .tag ul li {
		margin: 0 .5rem
	}

	.product-detail .tag ul li:first-child {
		padding-left: 8vw
	}

	.product-detail .tag ul li:last-child {
		padding-right: 8vw
	}

	.product-detail .column-cont .number-hits {
		margin-top: 1.5rem
	}

	.product-detail .detail-list .cont-list>li {
		width: 50% !important
	}

	.product-detail #list-wrap .cont-list>li h3.ttl .jp {
		width: auto !important
	}

	.product-detail .color-variation .drop-ttl {
		margin: 2rem 0
	}

	.product-detail #grid-wrap .detail-link a:before {
		display: block
	}

	.product-detail #list-wrap .cont-list>li {
		margin: 0 auto 60px
	}
}

@media screen and (max-width:750px) {
	.product-detail .detail-list .cont-list {
		display: block;
		font-size: unset
	}

	.product-detail .detail-list .cont-list>li {
		width: 100% !important
	}

	.product-detail .detail-list .ttl span {
		font-size: 3.2vw
	}

	.product-detail .detail-list .ttl .en {
		font-size: 7vw;
		padding: 1% 0
	}

	.product-detail .detail-list {
		margin: 30px 0
	}

	.product-detail .detail-list .detail-link a {
		font-size: 3.2vw
	}

	.product-detail .detail-list .colortip li {
		width: 6.66667%
	}

	.product-detail .color-variation .drop-ttl {
		font-size: 3.2vw;
		padding: 6% 0
	}

	.product-detail .detail-list .cont-list>li.soldout .product-img:after {
		font-size: 4.26vw;
		padding: 2.5% 3%
	}
}

.sec-page-product #separately-wrap.price-list dl.item dd,
.sec-page-product #separately-wrap.price-list dl.item dt {
	padding-top: 0
}

.sec-page-product #separately-wrap.price-list dt {
	width: 25%
}

.sec-page-product #separately-wrap.price-list dd {
	width: 75%
}

.sec-page-product #separately-wrap.price-list li {
	border-bottom: none
}

@media screen and (max-width:980px) {
	.sec-page-product #separately-wrap {
		padding-top: 76px
	}
}

@media screen and (max-width:750px) {
	.sec-page-product #separately-wrap {
		padding-top: 12%
	}

	.sec-page-product #separately-wrap.price-list dl {
		align-items: flex-start
	}
}

.modal-open .gnav,
.modal-open .mode-switch.side,
.modal-open .search-btn {
	opacity: 0;
	pointer-events: none
}

.page-product .modal {
	width: 100%;
	height: 100vh;
	position: fixed;
	overflow: auto;
	top: 0;
	left: 0;
	z-index: 5000;
	transition-delay: 0 !important;
	transition-timing-function: linear !important;
	transition-property: none !important;
	cursor: auto
}

.page-product .modal .modal-bg {
	background: rgba(var(--background-primary-dialog), .5);
	height: 100vh;
	width: 100%;
	position: fixed
}

.page-product .functions-modal-bg {
	background: var(--background-primary);
	top: 0;
	left: 0;
	height: 100vh;
	width: 100%;
	position: fixed
}

.page-product .modal .logo {
	display: none
}

.page-product .modal .close-btn {
	position: absolute;
	top: 0;
	right: 6.9%;
	margin-top: 74px;
	width: 40px;
	height: 13px;
	cursor: pointer;
	z-index: 3
}

#header.modalopen {
	display: none
}

#header.modalopen,
#header.modalopen .header {
	pointer-events: none
}

#header.modalopen .header #gnav {
	pointer-events: auto
}

.page-product .modal .close-btn .menu-line-top {
	top: 4px;
	transform: rotate(30deg)
}

.page-product .modal .close-btn .menu-line-bottom {
	bottom: 9px;
	transform: rotate(-30deg)
}

html.modalopen-wrap #dialog,
html.modalopen-wrap .sec-page-product .feature-nav {
	display: none !important
}

html.modalopen-wrap .sec-page-product .functions-wrap {
	z-index: 20
}

@media screen and (max-width:980px) {
	.page-product .modal .modal-bg {
		display: none
	}

	.page-product .modal .logo {
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 2
	}

	.page-product .modal .logo:before {
		position: absolute;
		content: "";
		top: 0;
		left: 0;
		width: 100%;
		height: 115%;
		transition: all .3s ease;
		pointer-events: none;
		background: linear-gradient(180deg, #1b1b1b, rgba(27, 27, 27, .61) 50%, transparent);
		opacity: .08
	}

	html:not(.light-mode) .page-product .modal .logo:before {
		opacity: .9
	}

	.page-product .modal .logo a {
		position: relative;
		display: block;
		width: 130px;
		height: 45px;
		cursor: pointer;
		margin-top: 56px;
		margin-left: 6.9%
	}
}

@media screen and (max-width:750px) {
	.page-product .modal .logo {
		position: fixed
	}

	.page-product .modal .logo:before {
		height: 140%
	}

	.page-product .modal .logo a {
		width: 23.99%;
		height: auto;
		margin-top: 9.5%;
		margin-left: 8%
	}

	.page-product .modal .close-btn {
		position: fixed;
		right: 8%;
		width: 9.6vw;
		height: 2.53vw;
		margin-top: 12.7%
	}

	.page-product .modal .close-btn .menu-line-top {
		top: 0;
		margin-top: 10%
	}

	.page-product .modal .close-btn .menu-line-bottom {
		bottom: 0;
		margin-bottom: 15%
	}
}

.sec-page-product .functions-wrap .tab-btn .modal {
	display: none
}

html.search-detail-open #header {
	z-index: auto
}

.product-detail #modal-detail {
	transition-delay: 0 !important;
	transition-timing-function: linear !important;
	transition-property: none !important;
	display: none
}

.product-detail #modal-detail.open {
	display: block
}

.product-detail #modal-detail #detail-wrap {
	position: relative;
	padding: 7%;
	max-width: 1026px;
	width: 100%;
	margin-left: auto;
	min-height: 100vh;
	box-sizing: border-box;
	background: var(--background-primary);
	z-index: 1;
	transform: translateZ(0)
}

.product-detail #modal-detail .product-detail-btn {
	font-size: 0;
	position: absolute;
	top: 3%;
	right: 5%
}

.product-detail #modal-detail .page-ttl.jp {
	margin: 0 auto 60px
}

.product-detail #modal-detail .page-ttl.jp .jp {
	font-size: 3rem
}

.product-detail #modal-detail .scroll-tab {
	display: block
}

.product-detail #modal-detail .scroll-tab ul {
	display: flex
}

.product-detail #modal-detail .scroll-tab ul li {
	min-width: 33.33333%
}

.product-detail #modal-detail .scroll-tab .ttl-category {
	position: static
}

.product-detail #modal-detail .select-category {
	display: none
}

.product-detail #modal-detail .detail-product dl.detail-item,
.product-detail .detail-product {
	transition-delay: 0 !important;
	transition-timing-function: linear !important;
	transition-property: none !important;
	display: none
}

.product-detail #modal-detail .detail-product dl.detail-item {
	border-bottom: 1px solid var(--ui-tertiary)
}

.product-detail .detail-product dl>div {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	margin: 0 -2rem
}

.product-detail .detail-product dl.detail-item>div {
	align-items: flex-start
}

.product-detail .detail-product dt {
	width: 30%;
	padding: 2rem 0 2rem 2rem;
	box-sizing: border-box
}

.product-detail .detail-product dl.detail-item dt {
	margin-top: 1rem
}

.product-detail .detail-product dd {
	width: 70%;
	padding: 2rem;
	box-sizing: border-box
}

.product-detail .detail-product ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -.5rem
}

.product-detail #modal-detail dl ul li {
	width: 33.33333%;
	padding: .5rem;
	box-sizing: border-box
}

.product-detail #modal-detail dl .check-column6 li {
	width: 16.66667%
}

.product-detail #modal-detail small {
	display: block;
	margin-top: 1rem;
	color: var(--text-secondary)
}

.product-detail #modal-detail .drop-ttl {
	margin-top: 2rem
}

.product-detail #modal-detail .submit {
	margin-top: 48px
}

.product-detail .detail-product .height {
	display: inline-block
}

.product-detail #modal-detail .btn-submit-wrap .icn-search {
	right: 0;
	left: 27px;
	margin-left: 2.5em
}

@media (min-width:981px) {
	html.sp-view .product-detail #modal-detail #detail-wrap {
		padding-bottom: 20%
	}
}

@media (min-width:751px) {
	.product-detail .detail-product .height input {
		width: 15rem;
		margin-right: 1rem
	}

	.product-detail #modal-detail .check li {
		font-size: 1.1rem
	}
}

@media screen and (max-width:980px) {
	.product-detail #modal-detail .page-ttl.jp {
		margin: 100px auto 30px
	}

	.product-detail #modal-detail .page-ttl.jp .jp {
		font-size: 2.5rem
	}

	.product-detail #modal-detail #detail-wrap {
		margin: 0;
		padding: 100px 5% 35%;
		overflow-x: hidden
	}

	.product-detail #modal-detail .detail-product dl.detail-item {
		padding-bottom: 25px
	}
}

@media screen and (max-width:750px) {
	.product-detail #modal-detail .scroll-tab {
		display: none
	}

	.product-detail #modal-detail .select-category {
		display: block
	}

	.product-detail #modal-detail #detail-wrap {
		padding: 15% 5% 45%
	}

	.product-detail .detail-product dl>div {
		margin: 0
	}

	#modal-detail dl {
		display: block;
		margin: 0
	}

	#modal-detail dl dd,
	#modal-detail dl dt {
		padding: .5rem 0;
		width: 100%;
		box-sizing: border-box
	}

	#modal-detail dl dt {
		padding-top: 10%;
		font-size: 4.26vw;
		line-height: 140%;
		margin-top: 0
	}

	.product-detail #modal-detail dl ul li {
		width: 50%;
		margin: 0
	}

	.product-detail #modal-detail dl .check-column6 li {
		width: 25%
	}

	.product-detail .detail-product .height {
		width: 80%
	}

	.product-detail #modal-detail .btn-submit-wrap .icn-search {
		right: 0;
		left: 6.9%;
		margin-left: 2.5em
	}
}

@media screen and (max-width:480px) {
	.product-detail .detail-product .height {
		margin-left: -10%
	}

	.product-detail .detail-product .height span {
		margin-left: -7%
	}
}

.sec-page-product .description {
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	margin: 3% auto;
	position: relative;
	z-index: 10
}

.sec-page-product .description p {
	font-size: 1.6rem;
	flex: 1;
	margin-right: 7%
}

.sec-page-product .description h1.page-ttl {
	padding: 0
}

.sec-page-product .description .tab-btn {
	width: 30%
}

@media screen and (max-width:980px) {
	.sec-page-product .description {
		margin: 5% auto;
		display: block
	}

	.sec-page-product .description p {
		margin-right: 0
	}

	.sec-page-product .description .tab-btn {
		width: 100%;
		padding-top: 10px
	}

	.sec-page-product .feature-wrap .tab-btn {
		display: block
	}
}

@media screen and (max-width:750px) {
	.sec-page-product .description {
		margin-top: 6%
	}

	.sec-page-product .description .tab-btn {
		padding-top: 3%
	}

	.sec-page-product .description p {
		font-size: unset
	}
}

.product-download #product-feature-photo+#main,
.product-feature #product-feature-photo+#main {
	padding-top: 0
}

body.product-download:not(.article) .main,
body.product-feature:not(.article) .main {
	padding: 0
}

body.product-photo .main .mode-switch {
	display: none
}

body.product-feature .bg-txt-top {
	transform: translateY(-35%)
}

@media screen and (max-width:750px) {
	body.product-feature .bg-txt-top {
		font-size: 40vw
	}
}

#product-feature-photo {
	position: relative;
	z-index: 1;
	width: 100%;
	background: var(--background-secondary)
}

#product_feature_swiper {
	position: relative;
	z-index: -1
}

#product-feature-photo .swiper-slide {
	position: relative;
	width: 100%;
	padding-top: 49.72%;
	overflow: hidden
}

#product-feature-photo .swiper-slide img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 0
}

body.page-product #product-feature-photo h1.page-ttl {
	position: absolute;
	bottom: 7%;
	left: 7%;
	color: #fff
}

body.product-photo #product-feature-photo h1.page-ttl span {
	color: #fff;
	border-color: #fff
}

body.product-photo #product-feature-photo h1.page-ttl .icon-wrap {
	color: #fff
}

body.product-photo #product-feature-photo h1.page-ttl .icon-wrap .icon:before {
	background-color: #fff
}

body.product-photo #product-feature-photo h1.page-ttl .icon-wrap .icon:after {
	background: #fff
}

@media screen and (max-width:980px) {
	.page-product.product-download .main .mode-switch {
		display: flex
	}

	.page-product:not(.product-feature) #product-feature-photo .mode-switch,
	.page-product:not(.product-feature) #product-feature-photo .scroll-bar {
		display: none
	}
}

@media screen and (max-width:750px) {
	#product-feature-photo .swiper-slide {
		padding-top: 128%
	}
}

.page-product #product-feature-photo .scroll-bar {
	position: absolute;
	bottom: 220px;
	right: 46px;
	width: 16px;
	height: 80px;
	overflow: hidden
}

.page-product #product-feature-photo .scroll-bar.init {
	opacity: 1;
	-webkit-transition: opacity .5s ease 0s;
	-moz-transition: opacity .5s ease 0s;
	-o-transition: opacity .5s ease 0s;
	-ms-transition: opacity .5s ease 0s;
	transition: opacity .5s ease 0s
}

.page-product #product-feature-photo .scroll-bar .line01 {
	position: absolute;
	display: block;
	top: 0;
	left: 50%;
	width: 1px;
	height: 100%;
	background: var(--ui-primary-100);
	opacity: .4
}

.page-product #product-feature-photo .scroll-bar .line02 {
	position: absolute;
	content: "";
	display: block;
	top: 0;
	left: 50%;
	width: 1px;
	height: 100%;
	transform: translateY(-100%);
	background: var(--ui-primary-100)
}

.page-product:not(.product-download) #product-feature-photo .scroll-bar .line01,
.page-product:not(.product-download) #product-feature-photo .scroll-bar .line02 {
	background: #fff
}

.page-product #product-feature-photo .scroll-bar.init .line02 {
	animation-name: movescrollbar;
	animation-duration: 1.5s;
	animation-timing-function: ease-out;
	animation-delay: 1s;
	animation-iteration-count: infinite;
	animation-direction: normal;
	animation-fill-mode: forwards;
	animation-play-state: running
}

.page-product #product-feature-photo .scroll-bar .line02:after {
	position: absolute;
	content: "";
	top: 100%;
	left: -2.5px;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--ui-primary-100)
}

.page-product:not(.product-download) #product-feature-photo .scroll-bar .line02:after {
	background: #fff
}

.page-product #product-feature-photo .mode-switch {
	position: absolute;
	bottom: 56px;
	right: 46px;
	transform: rotate(90deg) translateY(50%);
	transform-origin: right
}

.page-product #product-feature-photo .mode-switch.init {
	opacity: 1;
	-webkit-transition: opacity .5s ease 0s;
	-moz-transition: opacity .5s ease 0s;
	-o-transition: opacity .5s ease 0s;
	-ms-transition: opacity .5s ease 0s;
	transition: opacity .5s ease 0s
}

.page-product:not(.product-download) #product-feature-photo .mode-switch {
	color: #fff
}

.page-product:not(.product-download) #product-feature-photo .mode-switch .switch {
	border-color: #fff
}

.page-product:not(.product-download) #product-feature-photo .mode-switch .switch:after {
	background: #fff
}

#product-feature-photo a .icn-circle .icon,
.page-product .circle-link a .icn-circle .icon {
	border: 1px solid var(--ui-primary-100);
	border-radius: 50%;
	overflow: hidden;
	box-sizing: border-box
}

#product-feature-photo a .icn-circle .icon:before,
.page-product .circle-link a .icn-circle .icon:before {
	width: 3px;
	height: 3px;
	border: none;
	left: -5px;
	transform: translate(-50%, -50%);
	background-color: var(--ui-primary-100)
}

html:not(.sp-view) #product-feature-photo a:hover .icn-circle .icon:before,
html:not(.sp-view) .page-product .circle-link a:hover .icn-circle .icon:before {
	-webkit-transition: left .2s ease .1s;
	-moz-transition: left .2s ease .1s;
	-o-transition: left .2s ease .1s;
	-ms-transition: left .2s ease .1s;
	transition: left .2s ease .1s;
	left: 50%
}

#product-feature-photo a .icn-circle .icon:after,
.page-product .circle-link a .icn-circle .icon:after {
	width: 3px;
	height: 3px;
	border: none;
	left: 50%;
	transform: translate(-50%, -50%)
}

html:not(.sp-view) #product-feature-photo a:hover .icn-circle .icon:after,
html:not(.sp-view) .page-product .circle-link a:hover .icn-circle .icon:after {
	left: 120%;
	-webkit-transition: left .2s ease 0s;
	-moz-transition: left .2s ease 0s;
	-o-transition: left .2s ease 0s;
	-ms-transition: left .2s ease 0s;
	transition: left .2s ease 0s
}

@media screen and (max-width:750px) {
	.page-product #product-feature-photo h1.page-ttl {
		bottom: 2rem
	}

	.page-product #product-feature-photo .scroll-bar {
		right: 7%;
		bottom: 27vh;
		width: 3.2vw;
		height: 21.3vw
	}

	.page-product #product-feature-photo .scroll-bar .line02:after {
		left: 0;
		width: 1.3vw;
		height: 1.3vw;
		transform: translateX(-50%)
	}

	.page-product #product-feature-photo .mode-switch {
		right: 4.8%;
		bottom: 5.15vh;
		margin: 0 2vw
	}
}

.sec-page-product .feature-wrap .cont-tab {
	padding: 0;
	margin-bottom: 80px
}

.sec-page-product .feature-wrap p {
	font-size: 1.6rem
}

.sec-page-product .product-subphoto {
	position: relative;
	z-index: 1;
	margin: 14% auto 10%
}

.sec-page-product .product-subphoto .bg-txt01 {
	font-size: 30vw;
	top: -10vw;
	left: -10%
}

.sec-page-product .product-subphoto .bg-txt02 {
	font-size: 20vw;
	bottom: -15vw;
	left: 50%
}

.sec-page-product .product-subphoto img:not(:first-child) {
	margin-top: 10%
}

.sec-page-product .feature-wrap .detail {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -1.5rem
}

.sec-page-product .feature-wrap .detail .detail-inr {
	padding: 1.5rem;
	width: 50%;
	box-sizing: border-box;
	position: relative;
	margin-bottom: 3%
}

.sec-page-product .feature-wrap .detail p {
	font-size: 1.3rem
}

.sec-page-product .feature-wrap .detail p:after,
.sec-page-product .feature-wrap .detail p:before {
	content: "";
	position: absolute;
	top: 0;
	left: 1.5rem;
	height: 1px
}

.sec-page-product .feature-wrap .detail p:before {
	width: calc(100% - 3rem);
	background: var(--ui-4th)
}

.sec-page-product .feature-wrap .detail p:after {
	width: 30px;
	background: var(--ui-primary-100)
}

.sec-page-product .feature-wrap .detail figure {
	margin-top: 1.5rem
}

.sec-page-product .feature-wrap .detail p small {
	color: var(--text-secondary);
	font-size: 1.2rem;
	line-height: 140%;
	display: block;
	position: relative;
	padding-left: 2rem;
	margin-top: .5rem
}

.sec-page-product .feature-wrap .detail p small:before {
	content: "※";
	position: absolute;
	left: 0
}

.sec-page-product .topics-wrap h2 {
	margin: 30px 0 10px
}

.sec-page-product .topics-wrap h2 .jp {
	display: block;
	color: var(--text-secondary);
	font-size: 1.3rem;
	letter-spacing: 0;
	padding-top: 5px
}

.sec-page-product .functions {
	position: relative;
	z-index: 1;
	background: var(--background-secondary);
	padding-top: 47.22%;
	overflow: hidden
}

.sec-page-product .functions img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 0
}

.sec-page-product .functions .bg-txt {
	color: var(--background--4th);
	font-size: 20vw;
	bottom: -5%;
	left: 0
}

.sec-page-product .functions-wrap .cont-tab {
	margin-left: auto;
	padding-bottom: 120px;
	position: relative;
	z-index: 1
}

.sec-page-product .functions-wrap .cont-ttl {
	margin-bottom: 6px
}

.sec-page-product .functions-wrap .tab-btn {
	margin-top: 0
}

.sec-page-product .functions-wrap .bg-txt {
	font-size: 20vw;
	bottom: -7vw;
	left: 0
}

.sec-page-product .functions-wrap .tab-btn {
	padding: 0;
	width: 100%;
	flex-wrap: wrap
}

.sec-page-product .functions-wrap .tab-btn>li {
	width: calc(33.33333% - 1rem);
	margin-right: 1.5rem;
	box-sizing: border-box;
	font-size: unset;
	padding: 0;
	border-bottom: none
}

.sec-page-product .functions-wrap .tab-btn>li:nth-child(3n+3) {
	margin-right: 0
}

.sec-page-product .functions-wrap .tab-btn>li a {
	display: block;
	padding: 17px 0;
	font-size: 1.3rem
}

.sec-page-product .functions-wrap .tab-btn a {
	color: var(--text-primary-100)
}

.sec-page-product .functions-wrap .tab-btn .current .ttl-line-bottom {
	display: block
}

@media (min-width:981px) {
	.sec-page-product .feature-wrap .cont-tab {
		width: 83.06%
	}
}

@media (min-width:751px) {
	.sec-page-product .functions img.sp {
		display: none
	}

	html:not(.sp-view) .sec-page-product .functions-wrap .tab-btn:not(:hover) li .circle0,
	html:not(.sp-view) .sec-page-product .functions-wrap .tab-btn:not(:hover) li .circle1 {
		background: var(--text-primary-100)
	}
}

@media screen and (max-width:980px) {
	.sec-page-product .feature-wrap .tab-btn {
		display: block
	}

	.sec-page-product .feature-wrap .tab-btn>li {
		width: 100%
	}

	.sec-page-product .functions-wrap .cont-tab {
		padding-bottom: 100px
	}

	.sec-page-product .functions-wrap .tab-btn>li {
		width: calc(50% - 1rem)
	}

	.sec-page-product .functions-wrap .tab-btn>li:nth-child(3n+3) {
		margin-right: 1.5rem
	}

	.sec-page-product .functions-wrap .tab-btn>li:nth-child(2n) {
		margin-right: 0
	}
}

@media screen and (max-width:750px) {
	.sec-page-product .feature-wrap .cont-tab {
		margin-bottom: 12.69%
	}

	.sec-page-product .feature-wrap p {
		font-size: unset
	}

	.sec-page-product .product-subphoto {
		margin: 20% auto 15%
	}

	.sec-page-product .feature-wrap h2.page-ttl {
		margin-bottom: 5%
	}

	.sec-page-product .feature-wrap h2.page-ttl .en {
		font-size: 3rem
	}

	.sec-page-product .feature-wrap .detail {
		display: block
	}

	.sec-page-product .feature-wrap .detail .detail-inr {
		width: 100%;
		margin-bottom: 12%
	}

	.sec-page-product .feature-wrap .detail p,
	.sec-page-product .feature-wrap .detail p small {
		font-size: 2.93vw
	}

	.sec-page-product .topics-wrap h2 {
		font-size: 3.73vw;
		margin: 8% 0 2%
	}

	.sec-page-product .topics-wrap h2 .jp {
		font-size: 2.93vw
	}

	.sec-page-product .functions {
		padding-top: 77.33%
	}

	.sec-page-product .functions-wrap .cont-ttl {
		margin: 18% 0 5%
	}

	.sec-page-product .functions-wrap .tab-btn>li {
		width: 100%;
		margin: 0 !important
	}

	.sec-page-product .functions-wrap .tab-btn>li a {
		padding: 5.39% 0;
		font-size: 3.2vw
	}

	.sec-page-product .functions-wrap .tab-btn li:not(.current) .circle0,
	.sec-page-product .functions-wrap .tab-btn li:not(.current) .circle1 {
		background: var(--text-primary-100)
	}

	.sec-page-product .functions-wrap .bg-txt {
		font-size: 10rem
	}
}

.product-download #product-feature-photo .swiper-slide {
	padding-top: 47.22%
}

.product-download .main .mode-switch {
	display: none
}

.sec-page-product .download-wrap .cont-ttl {
	margin-bottom: 32px
}

.sec-ih .download-wrap .cont-ttl {
	margin-top: 40px
}

.sec-page-product .download-wrap .sub-ttl {
	margin: .8% auto 10px
}

.sec-page-product .download-wrap .ttl-line {
	margin: 32px 0 30px
}

.sec-page-product .download-list {
	display: flex;
	flex-wrap: wrap
}

.sec-page-product .download-list li {
	width: 32.24%;
	margin: 0 1.63% 1.63% 0;
	box-sizing: border-box
}

.sec-page-product .download-list li p:before {
	display: none
}

.sec-page-product .download-wrap .tab-btn {
	padding: 0;
	width: 100%;
	display: block;
	margin-top: 32px
}

.sec-page-product .download-wrap .tab-btn>li {
	width: 100%
}

.sec-page-product .download-wrap .tab-btn>li .circlewrap {
	width: 6%
}

@media (min-width:981px) {
	.sec-page-product .download-wrap .cont-tab {
		width: 78.79%
	}

	.sec-page-product .download-wrap .ttl-line .ttl-line-bottom,
	.sec-page-product .download-wrap .ttl-line:before {
		max-width: 193px
	}

	.sec-page-product .download-list li:nth-child(3n) {
		margin-right: 0
	}
}

@media (min-width:751px) and (max-width:980px) {
	.sec-page-product .download-list li:nth-child(2n) {
		margin-right: 0
	}
}

@media screen and (max-width:980px) {
	.product-download .description {
		width: 95%;
		margin-left: 0
	}

	.sec-page-product .download-list li {
		width: 49.1%
	}
}

@media screen and (max-width:750px) {
	.product-download #product-feature-photo .swiper-slide {
		padding-top: 77.33%
	}

	.sec-page-product .download-wrap .ttl-line {
		margin: 30px auto 15px
	}

	.sec-page-product .download-wrap .sub-ttl {
		font-size: 3.5vw;
		margin: 10% auto 3.5%
	}

	.sec-page-product .download-list {
		display: block;
		margin: 0 auto
	}

	.sec-page-product .download-list li {
		width: 100%;
		margin: 0 0 3.8%
	}
}

.sec-page-product .spec-wrap {
	position: relative;
	background: var(--background-tertiary);
	border: 1px solid var(--background-tertiary);
	z-index: 1
}

.sec-page-product .spec-wrap .ttl-line {
	font-size: 2.4rem;
	margin-bottom: 30px
}

.sec-page-product .spec-wrap .ttl-line:before {
	width: 31.53%
}

.sec-page-product .spec-wrap .ttl-line:after {
	display: block
}

.sec-page-product .spec-wrap .spec-list {
	display: flex;
	align-items: flex-start;
	margin: 0 -1rem;
	font-size: 1.3rem
}

.sec-page-product .spec-wrap .spec-list .spec {
	display: flex;
	flex-wrap: wrap;
	flex: 1;
	padding: 0 1rem;
	line-height: 180%
}

.sec-page-product .spec-wrap .spec-list .spec.wide,
.sec-page-product .spec-wrap .spec-list .spec:last-child {
	flex: 1.5
}

.sec-page-product .spec-wrap .spec-list .spec dd,
.sec-page-product .spec-wrap .spec-list .spec dt {
	font-family: "微软雅黑";
	/* font-family: YuGothic, Yu Gothic, 游ゴシック体, 游ゴシック, ヒラギノ角ゴ Pro W3, ヒラギノ角ゴ W3, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, ＭＳ Ｐゴシック, Osaka, MS PGothic, Helvetica, Arial, sans-serif; */
	padding: .5rem 0
}

.sec-page-product .spec-wrap .spec-list .spec dt {
	color: var(--text-secondary);
	width: 12rem
}

.sec-page-product .spec-wrap .spec-list .spec dd {
	width: calc(100% - 12rem)
}

.sec-page-product .spec-wrap .price-list {
	margin-top: -30px
}

.sec-page-product .spec-wrap .price-list .remarks {
	color: var(--text-secondary)
}

.sec-page-product .spec-wrap hr {
	margin: 56px auto;
	border: none;
	border-bottom: 1px solid var(--ui-tertiary)
}

.sec-page-product .spec-wrap .caution-txt {
	margin-top: 2rem
}

.sec-page-product .spec-wrap .caution-txt p {
	color: var(--text-secondary);
	font-size: 1.2rem;
	line-height: 140%;
	position: relative;
	padding-left: 2rem
}

.sec-page-product .spec-wrap .caution-txt p:before {
	content: "※";
	position: absolute;
	left: 0
}

.sec-page-product .spec-wrap .concent {
	width: 180px;
	margin-top: 2rem
}

@media (min-width:981px) {
	.sec-page-product .spec-wrap .cont-tab {
		width: 83.22%
	}

	.sec-page-product .spec-wrap .ttl-line .ttl-line-bottom,
	.sec-page-product .spec-wrap .ttl-line:before {
		max-width: 193px
	}
}

@media screen and (max-width:980px) {
	.sec-page-product .spec-wrap .spec-list .spec {
		display: block
	}

	.sec-page-product .spec-wrap .spec-list .spec dt {
		width: 100% !important;
		padding: .75rem 0 .5rem
	}

	.sec-page-product .spec-wrap .spec-list .spec dd {
		width: 100% !important;
		padding: 0 0 1.5rem
	}
}

@media screen and (max-width:750px) {
	.sec-page-product .spec-wrap .spec-list {
		display: block
	}

	.sec-page-product .spec-wrap .spec-list dt {
		font-size: 3.2vw;
		line-height: 140%
	}

	.sec-page-product .spec-wrap .spec-list dd {
		font-size: 2.93vw;
		line-height: 140%
	}

	.sec-page-product .spec-wrap .ttl-line {
		font-size: 3.2vw
	}

	.sec-page-product .spec-wrap .ttl-line:before {
		width: 100%
	}

	.sec-page-product .spec-wrap .price-list .remarks {
		color: unset
	}

	.sec-page-product .spec-wrap hr {
		margin: 19% auto 0;
		border-bottom: 0
	}

	.sec-page-product .spec-wrap .caution-txt p {
		font-size: 2.93vw
	}

	.sec-page-product .spec-wrap .concent {
		width: 47.61%
	}
}

.sec-page-product .option-wrap {
	padding: 144px 0
}

.sec-page-product .option-wrap .sec-inr {
	display: flex
}

.sec-page-product .option-wrap .ttl {
	margin: 0;
	flex: 1
}

.sec-page-product .option-wrap .ttl .en {
	font-size: 3.2rem
}

.sec-page-product .option-wrap .ttl .jp {
	font-size: 1.6rem
}

.sec-page-product .option-wrap .ttl-line {
	color: var(--text-secondary);
	font-size: 1.6rem
}

.sec-page-product .option-wrap .price-list {
	flex: 2
}

.sec-page-product .option-wrap .price-list ul {
	margin-bottom: 30px
}

.sec-page-product .option-wrap .price-list dt {
	display: block;
	/* font-family: YuGothic, Yu Gothic, 游ゴシック体, 游ゴシック, ヒラギノ角ゴ Pro W3, ヒラギノ角ゴ W3, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, ＭＳ Ｐゴシック, Osaka, MS PGothic, Helvetica, Arial, sans-serif */
	font-family: "微软雅黑";
}

.sec-page-product .option-wrap .price-list .remarks {
	color: var(--text-secondary);
	transition: color 1s ease
}

.sec-page-product .option-wrap .option li {
	position: relative
}

.sec-page-product .option-wrap .option .ttl-line-bottom .ttl-line-bottom-move {
	width: 60px;
	transform: translate(-100%)
}

@media (min-width:751px) {
	html:not(.sp-view) .sec-page-product .option-wrap .price-list a.out .remarks {
		color: var(--text--tertiary)
	}

	html:not(.sp-view) .sec-page-product .option-wrap .option li:hover .ttl-line-bottom .ttl-line-bottom-move {
		transform: translateX(100%);
		-webkit-transition: transform .4s ease 0s;
		-moz-transition: transform .4s ease 0s;
		-o-transition: transform .4s ease 0s;
		-ms-transition: transform .4s ease 0s;
		transition: transform .3s ease 0s;
		left: 100%;
		transform: translate(0);
		-webkit-transition: left .4s ease 0s, transform .4s ease 0s;
		-moz-transition: left .4s ease 0s, transform .4s ease 0s;
		-o-transition: left .4s ease 0s, transform .4s ease 0s;
		-ms-transition: left .4s ease 0s, transform .4s ease 0s;
		transition: left .3s ease 0s, transform .3s ease 0s
	}
}

@media screen and (max-width:980px) {
	.sec-page-product .option-wrap .sec-inr {
		display: block
	}

	.sec-page-product .option-wrap .ttl {
		margin-bottom: 45px;
		flex: 1
	}

	.sec-page-product .option-wrap .price-list dt {
		color: var(--text-primary-100)
	}

	.sec-page-product .option-wrap .price-list dd,
	.sec-page-product .option-wrap .price-list dt {
		width: 100%
	}
}

@media screen and (max-width:750px) {
	.sec-page-product .option-wrap {
		padding: 19.3% 0
	}

	.sec-page-product .option-wrap .price-list dl {
		display: block
	}

	.sec-page-product .option-wrap .ttl {
		margin-bottom: 8.8%
	}

	.sec-page-product .option-wrap .ttl .en {
		font-size: 8.53vw
	}

	.sec-page-product .option-wrap .ttl-line,
	.sec-page-product .option-wrap .ttl .jp {
		font-size: 2.93vw
	}
}

.sec-page-product .recommend-wrap {
	padding: 144px 0;
	position: relative;
	z-index: 1;
	background: var(--background-secondary);
	border: 1px solid var(--background-secondary)
}

.sec-page-product .recommend-wrap .ttl {
	margin: 0
}

.sec-page-product .recommend-wrap .sec-inr p {
	padding: 30px 0 60px
}

.sec-page-product .recommend-wrap .bg-txt {
	font-size: 20vw;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: var(--background-tertiary)
}

.sec-page-product .recommend-wrap .product-slider-wrap {
	margin: 0
}

@media screen and (max-width:980px) {
	.sec-page-product .recommend-wrap .swiper-container {
		width: 86.1%;
		margin: 0;
		overflow: visible
	}

	.sec-page-product .recommend-wrap .slide-pager {
		width: 100%
	}
}

@media screen and (max-width:750px) {
	.sec-page-product .recommend-wrap {
		padding: 19.2% 0
	}

	.sec-page-product .recommend-wrap .swiper-container {
		width: 84%
	}

	.sec-page-product .recommend-wrap .ttl .jp {
		font-size: 2.93vw
	}
}

.sec-page-product div.feature-nav {
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 500;
	width: 100%;
	display: flex;
	justify-content: space-between;
	background: var(--background-tertiary);
	box-sizing: border-box;
	display: none;
	transition-delay: 0 !important;
	transition-timing-function: linear !important;
	transition-property: none !important
}

.sec-page-product .feature-nav .feature-nav-inner {
	display: flex
}

.sec-page-product .feature-nav .ttl {
	flex: 2;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding: 1% 3%;
	margin: 0;
	color: var(--text-secondary)
}

.sec-page-product .feature-nav .ttl span {
	margin: .3em 0
}

.sec-page-product .feature-nav .ttl .en {
	padding: 0 1rem 0 0;
	font-size: 2.4rem;
	color: var(--text-primary-100)
}

.sec-page-product .feature-nav .ttl .jp {
	border-left: 1px solid var(--ui-secondary);
	padding: 0 1rem;
	line-height: 140%
}

.sec-page-product .feature-nav .tab-btn {
	margin-right: 3%;
	flex: 1
}

.sec-page-product .feature-nav .tab-btn>li {
	border-bottom: none;
	position: relative;
	padding: 0;
	display: flex
}

.sec-page-product .feature-nav .tab-btn>li.current {
	border-top: 1px solid
}

.sec-page-product .feature-nav .tab-btn>li a {
	display: flex;
	align-items: center;
	width: 100%
}

@media screen and (max-width:750px) {
	.sec-page-product .feature-nav {
		display: block;
		padding: 0 10% 6%
	}

	.sec-page-product .feature-nav .feature-nav-inner {
		display: block
	}

	.sec-page-product .feature-nav .ttl {
		padding: 3% 0 1%
	}

	.sec-page-product .feature-nav .ttl .en {
		font-size: 3.73vw;
		line-height: 120%
	}

	.sec-page-product .feature-nav .ttl .product-name-jp {
		font-size: 2.66vw
	}

	.sec-page-product .feature-nav .ttl .product-number {
		font-size: 2.4vw
	}

	.sec-page-product .feature-nav .tab-btn>li.current {
		border-top: none
	}

	.sec-page-product .feature-nav .tab-btn>li p {
		position: static;
		top: auto;
		left: auto;
		transform: translateY(0);
		font-size: 3.2vw
	}

	.sec-page-product .feature-nav .tab-btn>li a {
		padding: 0
	}

	.sec-page-product .feature-nav .tab-btn>li .ttl-line-bottom {
		display: none
	}
}

.page-product .bg-txt-option {
	top: -6vw;
	left: 0
}

.sec-page-product .sec-option {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: flex-start;
	padding-bottom: 144px
}

.sec-page-product .sec-option .image-wrap {
	flex: 1;
	margin-right: 60px
}

.sec-page-product .sec-option figure {
	background: var(--ui-4th);
	position: relative;
	padding-top: 100%;
	overflow: hidden
}

.sec-page-product .sec-option figure img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 0
}

.sec-page-product .sec-option .spec-wrap {
	flex: 1;
	background: none;
	border: none
}

.sec-page-product .sec-option .spec-list {
	margin-bottom: 6%
}

.sec-page-product .sec-option .feature-list p:not(.remarks) {
	margin: 2rem 0;
	padding-left: 2rem;
	position: relative
}

.sec-page-product .sec-option .feature-list p:not(.remarks):before {
	content: "■";
	position: absolute;
	left: 0
}

.sec-page-product .sec-option .feature-list .remarks {
	color: var(--text-secondary)
}

.sec-page-product .sec-option-link {
	padding: 144px 0
}

.sec-page-product .sec-option-link .tab-btn {
	padding: 0;
	width: 100%;
	flex-wrap: wrap
}

.sec-page-product .sec-option-link .tab-btn a {
	color: var(--text-primary-100)
}

.sec-page-product .sec-option-link .download-list {
	margin-bottom: 1.85%
}

.sec-page-product .sec-option-link .tab-btn>li {
	width: calc(33.33333% - 1rem);
	margin-right: 1.5rem;
	box-sizing: border-box;
	font-size: unset;
	display: flex
}

.sec-page-product .sec-option-link .tab-btn>li:nth-child(3n+3) {
	margin-right: 0
}

.sec-page-product .sec-option-link .tab-btn>li a {
	width: 90%;
	display: flex
}

.sec-page-product .sec-option-link .tab-btn>li .circlewrap {
	width: 10%
}

.sec-page-product .sec-option-link .tab-btn>li p {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	line-height: 160%
}

.sec-page-product .sec-option-link .tab-btn>li span {
	position: relative;
	display: inline-block;
	padding-right: 1.5rem;
	margin-right: 1.5rem
}

.sec-page-product .sec-option-link .tab-btn>li span:last-child {
	margin-right: 0
}

.sec-page-product .sec-option-link .tab-btn>li span:not(:last-child):before {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	width: 1px;
	height: 1.5rem;
	background: var(--ui-tertiary);
	transition: background 1s ease
}

.sec-page-product .sec-option-link .tab-btn .current .ttl-line-bottom {
	display: inline
}

@media (min-width:981px) {
	.sec-page-product .sec-option-link .download-list {
		width: 78.79%;
		min-width: 844px
	}
}

@media screen and (max-width:980px) {
	.sec-page-product .bg-txt-option {
		top: -228px;
		left: 0
	}

	.sec-page-product .sec-option-link .tab-btn>li {
		width: calc(50% - 1rem)
	}

	.sec-page-product .sec-option-link .tab-btn>li:nth-child(3n+3) {
		margin-right: 1.5rem
	}

	.sec-page-product .sec-option-link .tab-btn>li:nth-child(2n) {
		margin-right: 0
	}
}

@media (min-width:751px) {
	html:not(.sp-view) .sec-page-product .sec-option-link .tab-btn:hover>li:not(:hover) span:not(:last-child):before {
		background: var(--text--tertiary)
	}
}

@media screen and (max-width:750px) {
	.page-product .bg-txt-option {
		font-size: 20rem
	}

	.sec-page-product .sec-option {
		display: block;
		padding-bottom: 19.3%
	}

	.sec-page-product .sec-option .image-wrap {
		margin-right: 0;
		margin-bottom: 30px
	}

	.sec-page-product .sec-option .spec-list {
		margin-bottom: 30px
	}

	.sec-page-product .sec-option-link .download-list {
		margin-bottom: 11.74%
	}

	.sec-page-product .sec-option-link {
		padding: 19.3% 0
	}

	.sec-page-product .sec-option-link .tab-btn>li {
		width: 100%;
		margin: 0 !important
	}

	.sec-page-product .sec-option-link .tab-btn>li span {
		padding-right: 1rem;
		margin-right: 1rem
	}
}

.sec-page-product .modal .bg-txt {
	z-index: unset !important;
	position: fixed;
	top: -6vw;
	left: 0
}

.sec-page-product .modal .sec-inr {
	width: 100%;
	height: 100%;
	transform: translateZ(0)
}

.sec-page-product .modal .modal-wrap,
.sec-page-product .modal .sec-inr {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	box-sizing: border-box;
	position: relative;
	z-index: 1
}

.sec-page-product .modal .modal-wrap {
	max-width: 612px;
	width: calc(80% - 144px);
	padding: 120px 0;
	margin: 0 auto;
	transition: none;
	color: var(--text-primary-100)
}

.sec-page-product .modal .modal-wrap .img-wrap,
.sec-page-product .modal .modal-wrap .ttl-line,
.sec-page-product .modal .modal-wrap .txt-wrap {
	width: 100%;
	box-sizing: border-box;
	margin: 1.5rem auto
}

.sec-page-product .modal .modal-wrap .img-wrap {
	background: var(--background-secondary)
}

.sec-page-product .modal .modal-wrap .ttl-line .ttl-line-bottom {
	display: none
}

.sec-page-product .modal .modal-wrap .ttl-line:before {
	width: 193px
}

.sec-page-product .modal .modal-wrap .ttl-line:after {
	display: block
}

.sec-page-product .modal .modal-wrap .txt-wrap p {
	margin-bottom: 1rem
}

.sec-page-product .modal .modal-wrap .txt-wrap small {
	color: var(--text-error)
}

@media screen and (min-width:751px) {
	.sec-page-product .modal .pager-btn {
		position: fixed;
		top: 50%;
		right: 6.95%;
		transform: translateY(-50%)
	}

	.sec-page-product .modal .pager-btn li {
		margin: 2rem 0
	}
}

@media screen and (max-width:750px) {
	.sec-page-product .modal .sec-inr {
		align-items: flex-end
	}

	.sec-page-product .modal .modal-wrap {
		max-width: 100%;
		width: 84%;
		padding: 25% 0 5%;
		align-items: center
	}

	.sec-page-product .modal .modal-wrap .img-wrap {
		order: 1
	}

	.sec-page-product .modal .modal-wrap .ttl-line {
		padding-top: 0;
		order: 2
	}

	.sec-page-product .modal .modal-wrap .txt-wrap {
		order: 3
	}

	.sec-page-product .modal .modal-wrap .ttl-line:before {
		width: 100%
	}

	.sec-page-product .modal .pager-btn {
		width: 100%;
		margin: auto auto 0;
		display: flex;
		padding-bottom: 45%;
		width: 84%;
		box-sizing: border-box
	}

	.sec-page-product .modal .pager-btn li {
		margin-right: 2rem
	}
}

.sec-ih .spec-wrap {
	position: relative;
	background: unset;
	border: none
}

.sec-ih .spec-wrap .cont-tab div+h3 {
	margin-top: 56px
}

.sec-ih .spec-wrap .spec-list .spec:last-child {
	flex: 1
}

.sec-ih .price-list dl .price {
	flex: 3.5
}

.sec-ih .product-slider-wrap .slide-pager span {
	display: block
}

.sec-ih .product-slider-wrap .slide-pager .dot {
	display: none
}

.sec-ih .product-slider-wrap .slide-pager #product_swiper_slide_pager_current {
	font-size: 2.4rem
}

.sec-ih .product-slider-wrap .slide-pager #product_swiper_slide_pager_max {
	color: var(--text-secondary);
	margin-top: 3.5rem;
	margin-left: 1rem;
	position: relative
}

.sec-ih .product-slider-wrap .slide-pager #product_swiper_slide_pager_max:before {
	content: "";
	position: absolute;
	top: -.5rem;
	right: 0;
	width: 5rem;
	border-bottom: 1px solid;
	transform: rotate(-45deg)
}

@media screen and (max-width:750px) {
	.sec-ih .spec-wrap .cont-tab div+h3 {
		margin-top: 19%
	}
}

:root {
	--background-base: #e5e5e5;
	--background-model01-1: #bdb6b1;
	--background-model01-2: #c5beb8;
	--background-model01-3: #d0c9c3;
	--background-model02-1: #dcd8d6;
	--background-model02-2: #e3e1df;
	--background-model02-3: #d7d3d1;
	--background-model03-1: #f2f2f2;
	--background-model03-2: #fff;
	--background-model03-3: #ebebeb;
	--txt-bgtxt: #f8f8f8
}

body.page-special-feature {
	color: #fff
}

body.page-special-feature #header.scroll:after {
	opacity: .3
}

body.page-special-cont h1.page-ttl {
	padding-bottom: 100px
}

body.page-special-cont h1.page-ttl .jp {
	line-height: 100%
}

body.page-special-cont #common-pagelink .sec-special {
	display: none
}

.sec-special-cont {
	position: relative;
	z-index: 1
}

.sec-special-cont .bg-txt {
	line-height: 65%;
	top: calc(4.44vw + 1.6rem + 48px);
	z-index: -1
}

.special-wrap {
	display: flex;
	align-items: center
}

.special-wrap .txt-wrap {
	flex: 1;
	padding: 0 7%;
	box-sizing: border-box;
	color: var(--text-secondary)
}

.special-wrap .special-photo {
	flex: 2
}

.special-wrap.special01{
	margin-bottom: 96px
}
.special-wrap.special03{
	margin-top: 96px;
}
.special-wrap.special02 {
	flex-direction: row-reverse
}

.special-wrap .cont-ttl {
	font-size: 3.6vw;
	line-height: 90%;
	color: var(--text-primary-100)
}

.sec-special-feature #selection-wrap .cont-ttl {
	opacity: 0;
	position: relative;
	top: 40px
}

.sec-special-feature #selection-wrap.init .cont-ttl {
	opacity: 1;
	top: 0;
	-webkit-transition: opacity 1s ease 0s, top 1s ease 0s;
	-moz-transition: opacity 1s ease 0s, top 1s ease 0s;
	-o-transition: opacity 1s ease 0s, top 1s ease 0s;
	-ms-transition: opacity 1s ease 0s, top 1s ease 0s;
	transition: opacity 1s ease 0s, top 1s ease 0s
}

.sec-special-feature .photo img {
	opacity: 0;
	-webkit-transition: opacity .5s ease .8s;
	-moz-transition: opacity .5s ease .8s;
	-o-transition: opacity .5s ease .8s;
	-ms-transition: opacity .5s ease .8s;
	transition: opacity .5s ease .8s
}

.sec-special-feature.init .photo img {
	opacity: 1
}

.sec-special-feature .photo .en {
	opacity: 0;
	-webkit-transition: opacity .5s ease 1.3s;
	-moz-transition: opacity .5s ease 1.3s;
	-o-transition: opacity .5s ease 1.3s;
	-ms-transition: opacity .5s ease 1.3s;
	transition: opacity .5s ease 1.3s
}

.sec-special-feature.init .photo .en {
	opacity: 1
}

.sec-special-feature .models01 .product-wrap .cont-ttl,
.sec-special-feature .models03 .product-wrap .cont-ttl {
	position: relative;
	top: 40px;
	opacity: 0;
	-webkit-transition: opacity 1s ease 0s, top 1s ease 0s;
	-moz-transition: opacity 1s ease 0s, top 1s ease 0s;
	-o-transition: opacity 1s ease 0s, top 1s ease 0s;
	-ms-transition: opacity 1s ease 0s, top 1s ease 0s;
	transition: opacity 1s ease 0s, top 1s ease 0s
}

.sec-special-feature .models01 .product-wrap.init .cont-ttl,
.sec-special-feature .models03 .product-wrap.init .cont-ttl {
	opacity: 1;
	top: 0
}

.sec-special-feature .models01 .product-wrap figure img,
.sec-special-feature .models03 .product-wrap figure img {
	position: relative;
	left: 40px;
	opacity: 0;
	-webkit-transition: opacity 1s ease .4s, left 1s ease .4s;
	-moz-transition: opacity 1s ease .4s, left 1s ease .4s;
	-o-transition: opacity 1s ease .4s, left 1s ease .4s;
	-ms-transition: opacity 1s ease .4s, left 1s ease .4s;
	transition: opacity 1s ease .4s, left 1s ease .4s
}

.sec-special-feature .models01 .product-wrap.init figure img,
.sec-special-feature .models03 .product-wrap.init figure img {
	opacity: 1;
	left: 0
}

.sec-special-feature .models01 .product-wrap .concept,
.sec-special-feature .models03 .product-wrap .concept {
	position: relative;
	top: 40px;
	opacity: 0;
	-webkit-transition: opacity 1s ease .8s, top 1s ease .8s;
	-moz-transition: opacity 1s ease .8s, top 1s ease .8s;
	-o-transition: opacity 1s ease .8s, top 1s ease .8s;
	-ms-transition: opacity 1s ease .8s, top 1s ease .8s;
	transition: opacity 1s ease .8s, top 1s ease .8s
}

.sec-special-feature .models01 .product-wrap.init .concept,
.sec-special-feature .models03 .product-wrap.init .concept {
	opacity: 1;
	top: 0
}

.sec-special-feature .models02 .product-wrap figure img {
	position: relative;
	left: 40px;
	opacity: 0;
	-webkit-transition: opacity 1s ease 0s, left 1s ease 0s;
	-moz-transition: opacity 1s ease 0s, left 1s ease 0s;
	-o-transition: opacity 1s ease 0s, left 1s ease 0s;
	-ms-transition: opacity 1s ease 0s, left 1s ease 0s;
	transition: opacity 1s ease 0s, left 1s ease 0s
}

.sec-special-feature .models02 .product-wrap.init figure img {
	opacity: 1;
	left: 0
}

.sec-special-feature .models02 .product-wrap .cont-ttl {
	position: relative;
	top: 40px;
	opacity: 0;
	-webkit-transition: opacity 1s ease .4s, top 1s ease .4s;
	-moz-transition: opacity 1s ease .4s, top 1s ease .4s;
	-o-transition: opacity 1s ease .4s, top 1s ease .4s;
	-ms-transition: opacity 1s ease .4s, top 1s ease .4s;
	transition: opacity 1s ease .4s, top 1s ease .4s
}

.sec-special-feature .models02 .product-wrap.init .cont-ttl {
	opacity: 1;
	top: 0
}

.sec-special-feature .models02 .product-wrap .concept {
	position: relative;
	top: 40px;
	opacity: 0;
	-webkit-transition: opacity 1s ease .8s, top 1s ease .8s;
	-moz-transition: opacity 1s ease .8s, top 1s ease .8s;
	-o-transition: opacity 1s ease .8s, top 1s ease .8s;
	-ms-transition: opacity 1s ease .8s, top 1s ease .8s;
	transition: opacity 1s ease .8s, top 1s ease .8s
}

.sec-special-feature .models02 .product-wrap.init .concept {
	opacity: 1;
	top: 0
}

.special-wrap .cont-ttl span {
	display: block
}

.special-wrap .cont-ttl .sub-ttl {
	font-size: 1.2rem;
	line-height: 160%;
	margin-bottom: 2vw
}

.special-wrap .txt-wrap .readtxt {
	color: var(--text-primary-100);
	font-size: 1.3rem;
	line-height: 160%;
	padding-top: 10px
}

.special-wrap .txt-wrap .catchcopy {
	padding: 42px 0;
	margin: -5px auto;
	line-height: 160%
}

.special-wrap .btn-link .ttl-line .ttl-line-bottom {
	max-width: 112px
}

.special-wrap .btn-link .btn-view {
	opacity: 1;
	margin: 0
}

@media screen and (max-width:980px) {
	body.page-special-cont h1.page-ttl {
		padding-bottom: 8%
	}

	.sec-special-cont .bg-txt {
		top: 8.53vw
	}

	.special-wrap .cont-ttl .sub-ttl {
		margin-bottom: 3.5%
	}

	.special-wrap .txt-wrap {
		margin-top: 4%;
		width: 100%
	}

	.special-wrap .txt-wrap .catchcopy {
		padding: 3% 0 4%
	}

	.special-wrap.special01{
		margin-bottom: 15%
	}
	.special-wrap.special03 {
		margin-top: 15%;
	}
	.special-wrap {
		flex-direction: column-reverse !important;
		align-items: unset
	}

	.special-wrap.special01 .special-photo {
		margin-left: 6.95%
	}

	.special-wrap.special02 .special-photo {
		margin-right: 6.95%
	}

	.special-wrap .txt-wrap br:not(.block) {
		display: none
	}
}

@media screen and (max-width:750px) {
	body.page-special-cont #common-pagelink .sec-story .sec-inr {
		padding-bottom: 17%
	}

	body.page-special-cont h1.page-ttl .en {
		font-size: 8.53vw
	}

	.sec-special-cont .bg-txt {
		font-size: 36vw
	}

	.special-wrap .cont-ttl {
		font-size: 11vw
	}

	.special-wrap .cont-ttl .sub-ttl {
		font-size: 2.13vw
	}

	.special-wrap .txt-wrap .readtxt {
		font-size: 2.66vw;
		padding-top: 2%
	}

	.special-wrap .txt-wrap .catchcopy {
		font-size: 3.6vw;
		padding: 6% 0 7.6%
	}

	.special-wrap .txt-wrap br:not(.block) {
		display: block
	}

	.special-wrap.special01{
		margin-bottom: 35%
	}
	.special-wrap.special03{
		margin-top: 35%;
	}
}

.page-special-feature #loader {
	background: var(--background-model02-1)
}

.page-special-feature {
	background: var(--background-base)
}

body.page-special-feature #main,
body.page-special-feature #main .main {
	padding: 0
}

.sec-special-feature,
.sec-special-feature a {
	color: var(--ui-tertiary)
}

.sec-special-feature .en {
	letter-spacing: .1rem
}

.sec-special-feature .bg-txt {
	font-size: 20vw;
	left: 30%
}

.sec-special-feature .bgtxtwrap {
	opacity: 0;
	-webkit-transition: opacity .5s ease 0s;
	-moz-transition: opacity .5s ease 0s;
	-o-transition: opacity .5s ease 0s;
	-ms-transition: opacity .5s ease 0s;
	transition: opacity .5s ease 0s
}

.sec-special-feature.init .bgtxtwrap {
	opacity: 1;
	-webkit-transition: opacity .5s ease 1.3s;
	-moz-transition: opacity .5s ease 1.3s;
	-o-transition: opacity .5s ease 1.3s;
	-ms-transition: opacity .5s ease 1.3s;
	transition: opacity .5s ease 1.3s
}

@media screen and (max-width:980px) {
	.sec-special-feature .pc {
		display: none
	}

	.sec-special-feature .sp {
		display: block
	}
}

@media screen and (max-width:750px) {
	.sec-special-feature .bg-txt {
		font-size: 34.66vw
	}
}

#special-photo {
	position: relative;
	z-index: 1
}

#special-photo .swiper-container {
	position: relative;
	z-index: -1;
	width: 100%;
	height: 100%;
	opacity: 0;
	-webkit-transition: opacity 1s ease 0s;
	-moz-transition: opacity 1s ease 0s;
	-o-transition: opacity 1s ease 0s;
	-ms-transition: opacity 1s ease 0s;
	transition: opacity 1s ease 0s
}

#special-photo.init .swiper-container {
	opacity: 1
}

#special-photo .swiper-container figure {
	width: 100%;
	position: relative
}

#special-photo .swiper-container .slide-bgimg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: "";
	display: block;
	z-index: 1
}

#special-photo .swiper-container .swiper-slide-inner {
	width: 100%;
	height: 100%
}

#special-photo .swiper-container .slide-bgimg-inner {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transform: scale(1.15)
}

#special-photo .swiper-container .gozoom .slide-bgimg .slide-bgimg-inner {
	transform: scale(1);
	-webkit-transition: transform 13s ease 0s;
	-moz-transition: transform 13s ease 0s;
	-o-transition: transform 13s ease 0s;
	-ms-transition: transform 13s ease 0s;
	transition: transform 13s ease 0s
}

#special-photo .swiper-container .swiper-slide {
	overflow: hidden;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden
}

#special-photo .swiper-container .slide-bgimg-inner01 {
	background: url(../images/main01_pc.jpg) no-repeat 50% 50%/cover
}

#special-photo .swiper-container .slide-bgimg-inner02 {
	background: url(../images/main02_pc.jpg) no-repeat 50% 50%/cover
}

#special-photo .swiper-container .slide-bgimg-inner03 {
	background: url(../images/main03_pc.jpg) no-repeat 50% 50%/cover
}

@media screen and (max-width:750px) {
	#special-photo .swiper-container {
		opacity: 0;
		transform: scale(1.03);
		-webkit-transition: transform 3s ease 0s, opacity 1s ease 0s;
		-moz-transition: transform 3s ease 0s, opacity 1s ease 0s;
		-o-transition: transform 3s ease 0s, opacity 1s ease 0s;
		-ms-transition: transform 3s ease 0s, opacity 1s ease 0s;
		transition: transform 3s ease 0s, opacity 1s ease 0s
	}

	#special-photo.init .swiper-container {
		opacity: 1;
		transform: scale(1)
	}

	#special-photo .swiper-container .slide-bgimg-inner {
		position: absolute;
		top: 0;
		left: auto;
		right: 0;
		width: 170%;
		height: 100%;
		transform: scale(1)
	}

	#special-photo .swiper-container .gozoom .slide-bgimg .slide-bgimg-inner {
		transform: scale(1);
		left: auto;
		right: -70%;
		-webkit-transition: right 22s linear 0s;
		-moz-transition: right 22s linear 0s;
		-o-transition: right 22s linear 0s;
		-ms-transition: right 22s linear 0s;
		transition: right 22s linear 0s
	}

	#special-photo .swiper-container .slide-bgimg-inner01 {
		background: url(../images/main01_sp.jpg) no-repeat 50% 50%/cover
	}

	#special-photo .swiper-container .slide-bgimg-inner02 {
		background: url(../images/main02_sp.jpg) no-repeat 50% 50%/cover
	}

	#special-photo .swiper-container .slide-bgimg-inner03 {
		background: url(../images/main03_sp.jpg) no-repeat 50% 50%/cover
	}
}

#special-photo .btn-next,
#special-photo .btn-prev {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	color: #fff;
	border-color: #fff;
	outline: none;
	opacity: 0;
	-webkit-transition: opacity .5s ease 0s;
	-moz-transition: opacity .5s ease 0s;
	-o-transition: opacity .5s ease 0s;
	-ms-transition: opacity .5s ease 0s;
	transition: opacity .5s ease 0s
}

#special-photo .btn-prev {
	left: 2.5vw
}

#special-photo .btn-next {
	right: 2.5vw
}

#special-photo .btn-next.show,
#special-photo .btn-prev.show {
	opacity: 1;
	-webkit-transition: opacity .5s ease 0s;
	-moz-transition: opacity .5s ease 0s;
	-o-transition: opacity .5s ease 0s;
	-ms-transition: opacity .5s ease 0s;
	transition: opacity .5s ease 0s
}

@media screen and (max-width:980px) {

	#special-photo .btn-next,
	#special-photo .btn-prev {
		display: none !important
	}
}

#special-photo .slide-pager .dot.current:before {
	animation: line1 10s linear 1 forwards
}

#special-photo .slide-pager {
	opacity: 0
}

#special-photo .slide-pager.init {
	opacity: 1;
	-webkit-transition: opacity .5s ease 0s;
	-moz-transition: opacity .5s ease 0s;
	-o-transition: opacity .5s ease 0s;
	-ms-transition: opacity .5s ease 0s;
	transition: opacity .5s ease 0s
}

#special-photo .special-ttl {
	position: absolute;
	bottom: 7%;
	left: 7%
}

#special-photo h1.page-ttl {
	padding: 0
}

#special-photo h1.page-ttl .en {
	line-height: 100%;
	font-size: 5.5vw
}

#special-photo h1.page-ttl .en.sub-ttl {
	font-size: .83vw;
	margin-bottom: 2rem
}

#special-photo h1.page-ttl br:not(.block) {
	display: none
}

#special-photo .special-ttl p {
	line-height: 160%;
	padding: 30px 0;
	font-size: 1.22vw
}

#special-photo h1.page-ttl span.mini {
	font-size: 5.3vw
}

#special-photo .scroll-bar {
	position: absolute;
	bottom: 7%;
	right: 4%;
	width: 16px;
	height: 80px;
	overflow: hidden
}

#special-photo .scroll-bar.init {
	opacity: 1;
	-webkit-transition: opacity .5s ease 0s;
	-moz-transition: opacity .5s ease 0s;
	-o-transition: opacity .5s ease 0s;
	-ms-transition: opacity .5s ease 0s;
	transition: opacity .5s ease 0s
}

#special-photo .scroll-bar .line01 {
	position: absolute;
	display: block;
	top: 0;
	left: 50%;
	width: 1px;
	height: 100%;
	background: hsla(0, 0%, 100%, .4)
}

#special-photo .scroll-bar .line02 {
	position: absolute;
	content: "";
	display: block;
	top: 0;
	left: 50%;
	width: 1px;
	height: 100%;
	background: #fff;
	transform: translateY(-100%)
}

#special-photo .scroll-bar.init .line02 {
	animation-name: movescrollbar;
	animation-duration: 1.5s;
	animation-timing-function: ease-out;
	animation-delay: 1s;
	animation-iteration-count: infinite;
	animation-direction: normal;
	animation-fill-mode: forwards;
	animation-play-state: running
}

@keyframes movescrollbar {
	0% {
		transform: translateY(-100%)
	}

	to {
		transform: translateY(-6%)
	}
}

#special-photo .scroll-bar .line02:after {
	position: absolute;
	content: "";
	top: 100%;
	left: -2.5px;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #fff
}

@media screen and (max-width:980px) {
	#special-photo .special-ttl p {
		font-size: 1.6rem
	}
}

@media screen and (max-width:750px) {
	#special-photo h1.page-ttl .en {
		font-size: 11.73vw
	}

	#special-photo h1.page-ttl .en.sub-ttl {
		font-size: 2.66vw;
		margin-bottom: 2vh
	}

	#special-photo h1.page-ttl br:not(.block) {
		display: block
	}

	#special-photo .special-ttl p {
		padding: 3% 0 6%;
		font-size: 3.46vw
	}

	#special-photo h1.page-ttl span.mini {
		font-size: 10vw
	}
}

.selection-wrap {
	position: relative
}

.selection-wrap .sec-inr {
	padding: 145px 0 188px
}

.selection-wrap .bg-txt {
	opacity: .7;
	color: var(--background-model02-1);
	font-size: 18.05vw;
	left: 24%
}

.selection-wrap .bg-txt.bg-txt01 {
	top: -31vw
}

.selection-wrap .bg-txt.bg-txt02 {
	bottom: -2vw
}

.selection-wrap .cont-ttl {
	font-size: 12.5vw;
	text-align: center;
	width: 100%
}

.selection-wrap .cont-ttl span {
	display: inline-block;
	line-height: 100%;
	margin: 0 auto
}

.selection-wrap .cont-ttl .sub-ttl {
	font-size: 1.95vw;
	text-align: left;
	display: block
}

.selection-wrap .photo {
	display: flex;
	flex-wrap: wrap;
	margin: -2vw -1.5rem 0
}

.selection-wrap figure {
	width: 33.33333%;
	padding: 0 1.5rem;
	box-sizing: border-box
}

.selection-wrap figcaption,
.selection-wrap figure p.sp {
	padding: 1.5rem 0 0;
	font-size: 3.2rem;
	line-height: 100%
}

.selection-wrap figcaption span {
	display: block
}

.selection-wrap figcaption small {
	display: block;
	margin-top: .4rem;
	font-size: 1.2rem;
	white-space: nowrap
}

.selection-wrap figure:first-child {
	margin-top: 60px
}

.selection-wrap figure:nth-child(2) {
	margin-top: -30px
}

.selection-wrap figure:last-child {
	margin-top: 120px
}

@media screen and (max-width:980px) {
	.selection-wrap .sec-inr {
		width: 89.33%;
		padding: 34.53% 0 24.53%
	}

	.selection-wrap .bg-txt.bg-txt01 {
		top: -33vw
	}

	.selection-wrap .bg-txt.bg-txt02 {
		bottom: 16vw;
		left: 8%
	}

	.selection-wrap .cont-ttl {
		font-size: 15vw
	}

	.selection-wrap .cont-ttl .sub-ttl {
		font-size: 4vw;
		margin-left: 7vw
	}

	.selection-wrap .photo {
		margin: 0
	}

	.selection-wrap figure {
		width: 46.26%;
		padding: 0
	}

	.selection-wrap figcaption small {
		font-size: 1.83vw;
		line-height: 200%;
		letter-spacing: .02rem
	}

	.selection-wrap figure p.sp {
		font-size: 3.67vw;
		padding: 0 0 5.16%
	}

	.selection-wrap figure:not(:last-child) figcaption {
		padding: 0
	}

	.selection-wrap figure:first-child {
		margin-top: 60px;
		margin-top: 6%
	}

	.selection-wrap figure:nth-child(2) {
		margin: 50% 0 0 auto
	}

	.selection-wrap figure:nth-child(2) small {
		text-align: right
	}

	.selection-wrap figure:last-child {
		margin-top: -120px;
		margin-left: 13.4%
	}
}

@media screen and (max-width:750px) {
	.selection-wrap .bg-txt {
		font-size: 34.66vw
	}

	.selection-wrap figure p.sp {
		font-size: 4.8vw
	}

	.selection-wrap figcaption small {
		font-size: 2.4vw
	}
}

@media screen and (max-width:350px) {
	.selection-wrap figcaption small {
		white-space: normal
	}
}

.models-wrap {
	position: relative
}

.models-wrap .models-nav {
	position: fixed;
	z-index: 2;
	top: 50%;
	left: 0;
	transform: translate(-100%, -50%);
	display: flex;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	-webkit-text-orientation: sideways;
	text-orientation: sideways;
	-webkit-transition: transform .6s ease 0s;
	-moz-transition: transform .6s ease 0s;
	-o-transition: transform .6s ease 0s;
	-ms-transition: transform .6s ease 0s;
	transition: transform .6s ease 0s
}

.models-wrap .models-nav.show {
	transform: translateY(-50%)
}

.models-wrap .models-nav li {
	line-height: 100% !important;
	white-space: nowrap
}

.models-wrap .models-nav li a span {
	position: relative;
	font-size: 1.3rem;
	padding: 8px 0 8px 2.08vw;
	display: block
}

.models-wrap .models-nav li.current a span:before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 1rem;
	width: 4px;
	height: calc(100% - 2rem);
	background: var(--ui-tertiary)
}

.models-wrap .product-wrap {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	/* background: var(--background-model01-1); */
	padding: 70px 0;
}
.models-wrap .product-wrap:before {
	content: "";
	/* background: var(--background-model01-2); */
	background: #fff;
	width: 50%;
	height: 100%;
	position: absolute;
	z-index: -1;
	top: 0;
	right: 0
}

.models-wrap .product-wrap .txt-wrap {
	flex: 1;
	padding-left: 7%;
	padding-right: 7%;
	box-sizing: border-box
}

.models-wrap .product-wrap figure {
	flex: 2.5
}

.models-wrap .product-wrap .cont-ttl {
	margin-bottom: 3rem
}

.models-wrap .product-wrap .cont-ttl span {
	display: block;
	line-height: 160%
}

.models-wrap .product-wrap .cont-ttl .ttl {
	font-size: 3.6vw;
	margin: 1.66vw 0 .83vw;
	line-height: 88%
}

.models-wrap .product-wrap .cont-ttl .jp {
	font-size: 1.3vw;
	line-height: 150%;
	/* margin-left: 1em */
}

.models-wrap .product-wrap .cont-ttl .sub-ttl {
	font-size: 1.25vw
}

.models-wrap .product-wrap .concept {
	/* padding-left: 1em */
}

.models-wrap .product-wrap .concept .ttl span {
	position: relative;
	color: var(--ui-tertiary);
	font-size: 1.5rem;
	display: inline-block
}

.models-wrap .product-wrap .concept .ttl span:before {
	content: "";
	width: 60px;
	height: 1px;
	background: var(--ui-tertiary);
	position: absolute;
	top: 50%;
	left: calc(100% + 1.5rem);
	transform: translateY(-50%)
}

.models-wrap .product-wrap .concept p {
	font-size: 1.5rem;
	line-height: 1.6;
	/* margin: 1rem 10% 0 */
}

.models-wrap .compatible-wrap {
	position: relative;
	z-index: 1;
	background: var(--background-model01-3);
	display: flex
}

.models-wrap .compatible-wrap .txt-wrap {
	flex: 1;
	padding: 5.8% 7% 5.8% 14%;
	box-sizing: border-box
}

.models-wrap .compatible-wrap .cont-ttl {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -36%);
	font-size: 3.89vw;
	white-space: nowrap
}

.models-wrap .compatible-wrap .cont-ttl span {
	display: block;
	text-align: center;
	line-height: 120%;
	opacity: 0;
	transform: translateY(40px);
	-webkit-transition: opacity 1s ease 0s, transform 1s ease 0s;
	-moz-transition: opacity 1s ease 0s, transform 1s ease 0s;
	-o-transition: opacity 1s ease 0s, transform 1s ease 0s;
	-ms-transition: opacity 1s ease 0s, transform 1s ease 0s;
	transition: opacity 1s ease 0s, transform 1s ease 0s
}

.models-wrap .compatible-wrap.init .cont-ttl span {
	opacity: 1;
	transform: translateY(0)
}

.models-wrap .compatible-wrap .txt-wrap {
	opacity: 0;
	transform: translateY(40px);
	-webkit-transition: opacity 1s ease .6s, transform 1s ease .6s;
	-moz-transition: opacity 1s ease .6s, transform 1s ease .6s;
	-o-transition: opacity 1s ease .6s, transform 1s ease .6s;
	-ms-transition: opacity 1s ease .6s, transform 1s ease .6s;
	transition: opacity 1s ease .6s, transform 1s ease .6s
}

.models-wrap .compatible-wrap.init .txt-wrap {
	opacity: 1;
	transform: translateY(0)
}

.models-wrap .compatible-wrap figure img {
	opacity: 0;
	transform: translateX(40px);
	-webkit-transition: opacity 1s ease .4s, transform 1s ease .4s;
	-moz-transition: opacity 1s ease .4s, transform 1s ease .4s;
	-o-transition: opacity 1s ease .4s, transform 1s ease .4s;
	-ms-transition: opacity 1s ease .4s, transform 1s ease .4s;
	transition: opacity 1s ease .4s, transform 1s ease .4s
}

.models-wrap .compatible-wrap.init figure img {
	opacity: 1;
	transform: translateX(0)
}

.models-wrap .compatible-wrap .cont-ttl span:not(.en) {
	display: block;
	font-size: 1.4rem;
	/* font-family: Helvetica, YuGothic, Yu Gothic, 游ゴシック体, 游ゴシック, ヒラギノ角ゴ Pro W3, ヒラギノ角ゴ W3, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, ＭＳ Ｐゴシック, Osaka, MS PGothic, Arial, sans-serif; */
	font-family: "微软雅黑";
	padding-top: 4px
}

.models-wrap .compatible-wrap .ttl-line {
	color: #787777;
	font-size: 1.2rem;
	line-height: 120%;
	padding-bottom: 1rem
}

.models-wrap .compatible-wrap .ttl-line:before {
	width: 3rem;
	background: #787777
}

.models-wrap .compatible-wrap .ttl-line .ttl-line-bottom,
.models-wrap .compatible-wrap .ttl-line:after {
	display: none
}

.models-wrap .compatible-wrap .compatible-list {
	margin: 36px 0 0;
	display: flex;
	flex-wrap: wrap
}

.models-wrap .compatible-wrap .compatible-list li {
	width: 50%;
	padding-top: 12px;
	box-sizing: border-box;
	white-space: nowrap
}

.models-wrap .compatible-wrap .compatible-list li span {
	display: block;
	line-height: 140%
}

.models-wrap .compatible-wrap .compatible-list li .en {
	font-size: 2.2rem;
	line-height: 110%;
	margin-bottom: .4rem
}

.models-wrap .compatible-wrap .compatible-list li .jp {
	font-size: 1.3rem;
	/* font-family: Helvetica, YuGothic, Yu Gothic, 游ゴシック体, 游ゴシック, ヒラギノ角ゴ Pro W3, ヒラギノ角ゴ W3, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, ＭＳ Ｐゴシック, Osaka, MS PGothic, Arial, sans-serif */
	font-family: "微软雅黑";
}

.models-wrap .compatible-wrap figure {
	flex: 2
}

/* .models01 .product-wrap .concept .ttl span,
.models01 .product-wrap .cont-ttl .jp {
	color: #fff
}

.models01 .product-wrap .concept .ttl span:before {
	background: #fff
} */

.models02 .product-wrap {
	padding: 120px 0;
	flex-direction: row-reverse;
	/* background: var(--background-model02-1) */
}

.models02 .product-wrap:before {
	/* background: var(--background-model02-2) */
}

.models02 .compatible-wrap {
	/* background: var(--background-model02-3) */
}

.models03 .product-wrap {
	padding: 140px 0;
	background: var(--background-model03-1)
}

.models03 .product-wrap:before {
	background: var(--background-model03-2)
}

.models03 .compatible-wrap {
	background: var(--background-model03-3)
}

.models-wrap .models02 .product-wrap .concept .ttl span,
.models-wrap .models03 .product-wrap .concept .ttl span {
	color: #acacac
}

.models-wrap .models02 .product-wrap .concept .ttl span:before,
.models-wrap .models03 .product-wrap .concept .ttl span:before {
	background: #acacac
}

@media screen and (max-width:980px) {
	.models-wrap .product-wrap {
		padding: 20.8% 0 17.6%
	}

	.models-wrap .product-wrap .cont-ttl,
	.models-wrap .product-wrap figure {
		margin-bottom: 7%
	}

	.models-wrap .product-wrap .concept,
	.models-wrap .product-wrap .txt-wrap .cont-ttl {
		padding: 0 7%
	}

	.models-wrap .models-nav,
	.models-wrap .product-wrap:before {
		display: none
	}

	.models-wrap .product-wrap .cont-ttl .ttl {
		font-size: 12.24vw;
		margin: 6% 0 3.6%
	}

	.models-wrap .product-wrap .txt-wrap {
		padding: 0
	}

	.models-wrap .product-wrap .cont-ttl .sub-ttl {
		font-size: 2.24vw
	}

	.models-wrap .product-wrap .cont-ttl .jp {
		font-size: 3.26vw
	}

	.models-wrap .product-wrap .concept .ttl span:before {
		width: 17.2vw
	}

	.models01 .product-wrap .concept .ttl span,
	.models-wrap .product-wrap .concept p {
		font-size: 2.44vw
	}

	.models01 .product-wrap .concept .ttl span,
	.models-wrap .product-wrap .concept .ttl span {
		font-size: 2.44vw;
		padding-left: 5vw
	}

	.models-wrap .product-wrap .concept p {
		font-size: 2.44vw;
		margin: 4% 0 0 14%
	}

	.models-wrap .compatible-wrap {
		flex-direction: column
	}

	.models-wrap .compatible-wrap .cont-ttl {
		font-size: 7.14vw
	}

	.models-wrap .compatible-wrap .cont-ttl span:not(.en) {
		font-size: 2.44vw
	}

	.models-wrap .compatible-wrap .compatible-list li {
		padding-top: 2%;
		width: 33.33333%
	}

	.models-wrap .compatible-wrap .txt-wrap {
		padding: 20.5% 14.26% 10.26%
	}

	.models-wrap .compatible-wrap .ttl-line {
		font-size: 2.04vw;
		padding: 0 0 2.13vw
	}

	.models-wrap .compatible-wrap .compatible-list li .en {
		font-size: 3.8vw
	}

	.models-wrap .compatible-wrap .compatible-list li .jp {
		font-size: 2.04vw
	}

	.models02 .product-wrap,
	.models03 .product-wrap {
		padding: 20.9% 0 24%
	}
}

@media screen and (max-width:750px) {
	.models-wrap .product-wrap figure {
		margin-left: 7%
	}

	.models-wrap .product-wrap .cont-ttl .ttl {
		font-size: 12vw;
		line-height: 90%
	}

	.models-wrap .product-wrap .cont-ttl .jp {
		font-size: 4.2vw
	}

	.models-wrap .product-wrap .cont-ttl .sub-ttl {
		font-size: 2.93vw
	}

	.models01 .product-wrap .concept .ttl span,
	.models-wrap .product-wrap .concept .ttl span,
	.models-wrap .product-wrap .concept p {
		font-size: 3.2vw
	}

	.models-wrap .compatible-wrap .cont-ttl {
		font-size: 12vw
	}

	.models-wrap .compatible-wrap .cont-ttl span:not(.en) {
		font-size: 3.2vw
	}

	.models-wrap .compatible-wrap .compatible-list {
		margin-top: 1.5rem
	}

	.models-wrap .compatible-wrap .compatible-list li {
		width: 50%
	}

	.models-wrap .compatible-wrap .compatible-list li .en {
		font-size: 5.2vw
	}

	.models-wrap .compatible-wrap .compatible-list li .jp,
	.models-wrap .compatible-wrap .ttl-line {
		font-size: 2.66vw
	}

	.models-wrap #models01 .compatible-wrap figure img {
		max-width: 140%;
		width: 110%;
		height: auto
	}
}

.sec-special-feature .catalog-wrap {
	background: #fff;
	padding: 214px 0;
	position: relative
}

.sec-special-feature .catalog-wrap .bg-txt {
	color: var(--txt-bgtxt)
}

.sec-special-feature .catalog-wrap .bg-txt01 {
	top: -40vw
}

.sec-special-feature .catalog-wrap .bg-txt02 {
	display: none
}

.sec-special-feature .catalog-wrap .cont-ttl {
	text-align: center;
	width: 100%;
	padding-top: 2vw;
	padding-bottom: 85px;
	position: relative;
	z-index: 1;
	top: 40px;
	opacity: 0
}

.sec-special-feature .catalog-wrap.init .cont-ttl {
	opacity: 1;
	top: 0;
	-webkit-transition: opacity 1s ease 0s, top 1s ease 0s;
	-moz-transition: opacity 1s ease 0s, top 1s ease 0s;
	-o-transition: opacity 1s ease 0s, top 1s ease 0s;
	-ms-transition: opacity 1s ease 0s, top 1s ease 0s;
	transition: opacity 1s ease 0s, top 1s ease 0s
}

.sec-special-feature .catalog-wrap .cont-ttl span {
	position: relative
}

.sec-special-feature .catalog-wrap .cont-ttl .en {
	font-size: 9vw;
	line-height: 120%
}

.sec-special-feature .catalog-wrap .cont-ttl .mini {
	font-size: 5.5vw
}

.sec-special-feature .catalog-wrap .cont-ttl .jp {
	display: block
}

.sec-special-feature .catalog-wrap .cont-ttl .sub-ttl {
	position: absolute;
	top: 0;
	left: 15vw;
	font-size: .83vw;
	line-height: 100%
}

.sec-special-feature .catalog-wrap .catalog-list {
	display: flex;
	justify-content: center;
	margin: 0 -1.5rem;
	opacity: 0;
	transform: translateY(40px);
	-webkit-transition: opacity 1s ease .8s, transform 1s ease .8s;
	-moz-transition: opacity 1s ease .8s, transform 1s ease .8s;
	-o-transition: opacity 1s ease .8s, transform 1s ease .8s;
	-ms-transition: opacity 1s ease .8s, transform 1s ease .8s;
	transition: opacity 1s ease .8s, transform 1s ease .8s
}

.sec-special-feature .catalog-wrap.init .catalog-list {
	opacity: 1;
	transform: translate(0)
}

.sec-special-feature .catalog-wrap .catalog-list>div {
	flex: 1;
	max-width: 315px;
	padding: 0 1.5rem;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: space-between
}

.sec-special-feature .catalog-wrap .catalog-list .tab-btn,
.sec-special-feature .catalog-wrap .catalog-list .tab-btn li {
	width: 100%
}

.sec-special-feature .catalog-wrap .catalog-list .tab-btn li {
	border-top: 1px solid #1b1b1b;
	font-size: 1.8rem;
	padding: 27px 0
}

.sec-special-feature .catalog-wrap .catalog-list .tab-btn li a {
	color: #1b1b1b
}

.sec-special-feature .catalog-wrap .catalog-list .tab-btn li .circle0,
.sec-special-feature .catalog-wrap .catalog-list .tab-btn li .circle1,
.sec-special-feature .catalog-wrap .catalog-list .tab-btn li .ttl-line-bottom {
	background: #1b1b1b
}

html:not(.sp-view) .sec-special-feature .catalog-wrap .catalog-list .tab-btn li:hover a {
	color: var(--text-secondary)
}

.sec-special-feature .catalog-wrap .catalog-list p {
	padding-bottom: 20px;
	font-size: 1.3rem;
	line-height: 140%
}

html:not(.sp-view) .sec-special-feature .catalog-wrap .catalog-list .tab-btn:hover li:hover .circle0,
html:not(.sp-view) .sec-special-feature .catalog-wrap .catalog-list .tab-btn:hover li:hover .circle1 {
	background: var(--text-secondary)
}

@media screen and (max-width:980px) {
	.sec-special-feature .catalog-wrap {
		padding: 20% 0 14%
	}

	.sec-special-feature .catalog-wrap .cont-ttl {
		padding: 5% 0 10.5%
	}

	.sec-special-feature .catalog-wrap .catalog-list {
		display: block
	}

	.sec-special-feature .catalog-wrap .catalog-list>div {
		width: 100%;
		max-width: unset
	}

	.sec-special-feature .catalog-wrap .catalog-list>div+div {
		padding-top: 5%
	}

	.sec-special-feature .catalog-wrap .cont-ttl .sub-ttl {
		font-size: 1.83vw
	}

	.sec-special-feature .catalog-wrap .cont-ttl .jp {
		padding-top: 3%
	}
}

@media screen and (max-width:750px) {
	.sec-special-feature .catalog-wrap {
		padding: 43.73% 0 30.4%
	}

	.sec-special-feature .catalog-wrap .bg-txt01 {
		top: -61vw
	}

	.sec-special-feature .catalog-wrap .bg-txt02 {
		display: block;
		bottom: -39vw;
		left: -8vw
	}

	.sec-special-feature .catalog-wrap .catalog-list>div+div {
		padding-top: 11.42%
	}

	.sec-special-feature .catalog-wrap .cont-ttl .en {
		font-size: 8.6vw
	}

	.sec-special-feature .catalog-wrap .cont-ttl .mini {
		font-size: 6vw
	}

	.sec-special-feature .catalog-wrap .cont-ttl .sub-ttl {
		font-size: 2.6vw
	}

	.sec-special-feature .catalog-wrap.init .catalog-list p {
		font-size: 2.93vw
	}

	.sec-special-feature .catalog-wrap .catalog-list .tab-btn li {
		font-size: 4.75vw;
		padding: 4% 0
	}
}

body[class^=form-] .main {
	padding-top: 190px
}

@media (min-width:981px) {
	body[class^=form-] h1.page-ttl {
		padding-bottom: 24px
	}
}

@media (min-width:751px) {
	.sec-form .btn-wrap p {
		width: 350px
	}
}

@media screen and (max-width:750px) {
	body[class^=form-] .main {
		padding-top: 33.33%
	}
}

.sec-form li,
.sec-form p {
	font-size: 1.3rem;
	line-height: 200%
}

.sec-form p a {
	text-decoration: underline
}

.sec-form .cont-score .ttl-line,
.sec-form h2 {
	font-size: 1.3rem;
	line-height: 160%;
	padding: 24px 0;
	margin-bottom: 40px
}

.sec-form .ttl-line:after {
	display: none
}

.sec-form .cont {
	margin-bottom: 40px
}

.sec-form .cont:last-child {
	margin-bottom: 0
}

.sec-form .txt-info em {
	display: block;
	color: var(--text-error)
}

.sec-form .column-ttl {
	padding-bottom: 30px
}

.sec-form .list {
	padding-bottom: 16px
}

.sec-form .list li {
	position: relative;
	padding-left: 14px
}

.sec-form .list li:before {
	position: absolute;
	content: "※";
	left: 0
}

.sec-form .list li a {
	text-decoration: underline
}

.sec-form .txt-wrap .address {
	color: var(--text-secondary)
}

.sec-form .txt-wrap .list {
	padding-top: 40px
}

@media (min-width:981px) {
	.sec-form .txt-info {
		max-width: 960px
	}

	body[class^=form-] .column-ttl .cont {
		width: 57.7%
	}
}

@media screen and (max-width:980px) {
	.sec-form .column-ttl .txt-info {
		display: none
	}

	.sec-form .txt-info {
		margin-bottom: 30px
	}
}

@media screen and (max-width:750px) {

	.sec-form li,
	.sec-form p {
		font-size: 2.93vw
	}

	.sec-form .cont-score .ttl-line,
	.sec-form h2 {
		font-size: 2.93vw;
		padding: 3.8% 0;
		margin-bottom: 7.6%
	}

	.sec-form .cont {
		margin-bottom: 11.9%
	}

	.sec-form .txt-info {
		margin-bottom: 8.88%
	}

	.sec-form .list {
		padding-bottom: 3.8%
	}

	.sec-form .list li {
		padding-left: 2.5vw
	}

	.sec-form .txt-wrap .list {
		padding-top: 8.88%
	}
}

.sec-form .step-bar li {
	position: relative;
	padding-bottom: 57px
}

.sec-form .step-bar li:before {
	position: absolute;
	content: "";
	left: 12px;
	top: 0;
	width: 1px;
	height: 100%;
	background: var(--ui-tertiary)
}

.sec-form .step-bar li:last-child {
	padding-bottom: 0
}

.sec-form .step-bar li:last-child:before {
	content: none
}

.sec-form .step-bar li:not(.current) {
	color: var(--text-secondary)
}

.sec-form .step-bar li:not(.current) .icn-circle .icon:before {
	border-color: var(--ui-tertiary)
}

.sec-form .step-bar li:not(.current) .icn-circle .icon:after {
	background: var(--ui-tertiary)
}

.sec-form .step-bar p {
	padding-left: 41px
}

.sec-form .step-bar .icon-wrap .icon {
	right: auto;
	left: 0;
	background: var(--background-primary)
}

@media screen and (max-width:980px) {
	.sec-form .step-bar {
		display: flex;
		padding-bottom: 60px
	}

	.sec-form .step-bar li {
		padding: 0 18.26vw 0 0
	}

	.sec-form .step-bar li:before {
		top: 1.665vw;
		left: 0;
		width: 100%;
		height: 1px
	}

	.sec-form .step-bar p {
		padding: 5.2vw 0 0
	}

	.sec-form .step-bar .icn-circle .icon {
		top: 0;
		width: 3.33vw;
		height: 3.33vw;
		transform: none
	}
}

@media screen and (max-width:750px) {
	.sec-form .step-bar {
		padding-bottom: 19%
	}
}

.sec-form .check .check-other {
	display: block;
	width: 100% !important
}

@media (min-width:751px) {
	.sec-form .check.column3 li {
		width: 25.5%;
		min-width: 110px;
		margin-right: 3.8%
	}

	.sec-form .check.column3 li:nth-child(3n) {
		margin-right: 0
	}

	.sec-form .check.column3 li:nth-child(n+4) {
		margin-top: 16px
	}

	.sec-form .check.column2 li {
		width: 41.6%;
		min-width: 110px;
		margin-right: 3.15%
	}

	.sec-form .check.column2 li:nth-child(2n) {
		margin-right: 0
	}

	.sec-form .check.column2 li:nth-child(n+3) {
		margin-top: 16px
	}
}

.sec-form .catalog-wrap .check h3 {
	font-size: 1.6rem;
	line-height: 140%;
	margin: 16px 0 12px;
	display: flex;
	align-items: center
}

.sec-form .catalog-wrap .check label {
	margin-bottom: 16px
}

.sec-form .catalog-wrap .check .txt-note {
	color: var(--text-secondary);
	line-height: 200%
}

.sec-form .catalog-wrap .check a {
	display: block;
	padding: 24px 0;
	border: 1px solid var(--ui-tertiary);
	text-align: center
}

.sec-form .catalog-wrap .check a .icn-link {
	padding-right: 18px
}

@media (min-width:751px) {
	.sec-form .catalog-wrap dt {
		padding-top: 113px;
		vertical-align: top
	}

	.sec-form .catalog-wrap .check {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		justify-content: space-between
	}

	.sec-form .cont-form .catalog-wrap {
		margin-bottom: 96px
	}

	.sec-form .catalog-wrap .check li {
		width: 48%
	}

	.sec-form .catalog-wrap .check li:nth-child(n+3) {
		padding-top: 64px
	}

	.sec-form .cont-form .check li .inr {
		max-width: 193px
	}

	.sec-form .cont-form .check li:nth-child(2n) .inr {
		margin-left: auto
	}
}

@media screen and (max-width:750px) {
	.sec-form .catalog-wrap .check li {
		margin-bottom: 12.69%
	}

	.sec-form .catalog-wrap .check li:last-child {
		margin-bottom: 0
	}

	.sec-form .catalog-wrap .check li .inr {
		display: flex;
		justify-content: space-between
	}

	.sec-form .catalog-wrap .check figure {
		width: 42.85%
	}

	.sec-form .catalog-wrap .check .txt {
		width: 48.7%
	}

	.sec-form .catalog-wrap .check h3 {
		font-size: 4.26vw;
		margin-bottom: 0 0 13%
	}

	.sec-form .catalog-wrap .check label {
		margin-bottom: 14.3%
	}

	.sec-form .catalog-wrap .check a {
		font-size: 2.66vw;
		padding: 13% 0 13% 11.7%;
		text-align: left
	}

	.sec-form .catalog-wrap .check a .icn-link {
		padding-right: 5vw
	}

	.sec-form .catalog-wrap .check a .icn-link .icon {
		width: 2.13vw;
		height: 2.13vw
	}
}

.sec-form .cont-form dl>div:last-child {
	margin-bottom: 0
}

.sec-form .cont-form dt .txt-note {
	display: block;
	color: var(--text-secondary);
	font-size: 1.2rem;
	line-height: 140%
}

.sec-form .cont-form dd .txt-note {
	font-size: 1.2rem;
	line-height: 140%
}

.sec-form .cont-form dd .errortxt+.radio {
	padding-top: 40px
}

.sec-form .cont-form .textarea textarea {
	height: 233px
}

.sec-form .cont-sheet .cont-score {
	display: none
}

.sec-form .cont-sheet .cont-score+dl {
	margin-top: 48px
}

@media (min-width:751px) {

	.sec-form .cont-form dl>div,
	.sec-form .cont-sheet .cont-score dl>div {
		display: table;
		width: 100%;
		margin-bottom: 40px
	}

	.sec-form .cont-form dt,
	.sec-form .cont-sheet .cont-score dt {
		display: table-cell;
		width: 29%;
		min-width: 200px;
		line-height: 160%;
		padding-right: 3%;
		box-sizing: border-box
	}

	.sec-form .cont-form .textarea dt,
	.sec-form .cont-sheet .cont-score .textarea dt {
		vertical-align: middle
	}

	.sec-form .cont-form dd,
	.sec-form .cont-sheet .cont-score dd {
		display: table-cell
	}

	.sec-form .cont-form dd .file-wrap+.txt-note {
		width: 58.7%;
		padding-top: 16px
	}

	.sec-form .cont-form .radio li,
	.sec-form .cont-sheet .cont-score .radio li:nth-child(n) {
		width: 38%;
		min-width: 110px;
		margin-right: 3.15%
	}

	.sec-form .cont-form .radio li:nth-child(2n),
	.sec-form .cont-sheet .cont-score .radio li:nth-child(2n) {
		margin-right: 0
	}

	.sec-form .cont-form .radio li:nth-child(n+3),
	.sec-form .cont-sheet .cont-score .radio li:nth-child(n+3) {
		margin-top: 16px
	}
}

@media screen and (max-width:750px) {
	.sec-form .cont-form dl>div {
		margin-bottom: 11.9%
	}

	.sec-form .cont-form dt,
	.sec-form .cont-sheet .cont-score dt {
		font-size: 4.26vw;
		line-height: 140%;
		padding-bottom: 3.8%
	}

	.sec-form .cont-form dt .txt-note {
		font-size: 2.66vw;
		line-height: 160%
	}

	.sec-form .cont-form dd .txt-note {
		font-size: 2.66vw;
		line-height: 200%
	}

	.sec-form .cont-form dd .file-wrap+.txt-note {
		padding-top: 11.5%
	}

	.sec-form .cont-form dd .errortxt+.radio {
		padding-top: 11.9%
	}

	.sec-form .cont-form .textarea textarea {
		height: 32.5vw
	}

	.sec-form .cont-sheet .cont-score,
	.sec-form .cont-sheet .cont-score+dl {
		margin-top: 12.69%
	}
}

.sec-form .cont-sheet dl>div {
	margin-bottom: 32px
}

.sec-form .cont-sheet dl>div:last-child {
	margin-bottom: 0
}

.sec-form .cont-sheet h2 {
	font-size: 1.6rem
}

.sec-form .cont-score h3,
.sec-form .cont-sheet dt {
	padding-bottom: 24px
}

.sec-form .cont-score .radio+.txt-input,
.sec-form .cont-score .radio:nth-of-type(2) {
	padding-top: 16px
}

@media (min-width:751px) {
	.sec-form .cont-sheet .radio {
		max-width: 611px
	}

	.sec-form .cont-sheet .radio li {
		width: 31%;
		min-width: 110px;
		margin-right: 3.5%
	}

	.sec-form .cont-sheet .radio li:nth-child(3n) {
		margin-right: 0
	}

	.sec-form .cont-sheet .radio li:nth-child(n+4) {
		margin-top: 16px
	}

	.sec-form .cont-sheet .check {
		padding-top: 8px
	}
}

@media screen and (max-width:750px) {
	.sec-form .cont-sheet dl>div {
		margin-bottom: 10%
	}

	.sec-form .cont-sheet h2 {
		font-size: 3.2vw
	}

	.sec-form .cont-score h3,
	.sec-form .cont-sheet dt {
		font-size: 3.2vw;
		line-height: 160%;
		padding-bottom: 6.34%
	}

	.sec-form .cont-score .radio+.txt-input {
		padding-top: 5%
	}

	.sec-form .cont-score dd .radio:nth-of-type(n+2) {
		padding: 5% 0 0
	}
}

@media screen and (max-width:480px) {
	.sec-form .cont-score .radio+.txt-input {
		padding-top: 5%
	}

	.sec-form .cont-score dd .radio:nth-of-type(n+2) {
		padding: 3% 0 5%
	}
}

.form-catalog .sec-form .check+.txt-input,
.form-catalog .sec-form .txt-input+.radio {
	padding: 16px 0
}

@media (min-width:751px) {

	.form-catalog .sec-form .cont-form dt,
	.form-catalog .sec-form .cont-sheet .cont-score dt {
		min-width: 145px
	}

	.form-catalog .sec-form .radio.no-column li {
		width: 100%;
		min-width: 110px;
		margin: 0 0 3.5%
	}
}

@media screen and (max-width:750px) {

	.form-catalog .sec-form .check+.txt-input,
	.form-catalog .sec-form .txt-input+.radio {
		padding: 5% 0 0
	}

	.form-catalog .sec-form .radio.no-column li {
		width: 100% !important;
		margin-bottom: 5%
	}
}

.confirm .sec-form .cont dl>div {
	padding: 24px 0;
	border-bottom: 1px solid var(--ui-5th);
	margin-bottom: 0
}

.confirm .sec-form .cont dd {
	line-height: 200%
}

@media (min-width:751px) {
	.confirm .sec-form .cont dl>div {
		display: table;
		width: 100%
	}

	.confirm .sec-form .cont dt {
		display: table-cell;
		width: 29%;
		min-width: 200px;
		line-height: 160%;
		padding-right: 4%;
		font-size: 1.4rem
	}

	.confirm .sec-form .cont dd {
		display: table-cell
	}
}

@media screen and (max-width:750px) {
	.confirm .sec-form .cont dl>div {
		padding: 5.7% 0
	}

	.confirm .sec-form .cont dt {
		font-size: 4.26vw;
		line-height: 140%;
		padding-bottom: 3.8%
	}
}

.complete .sec-form h2 {
	font-size: 32px;
	line-height: 140%;
	padding: 0
}

.complete .sec-form p+p {
	padding-top: 2em
}

.complete .sec-form .btn-wrap {
	padding: 80px 0 144px
}

@media screen and (max-width:750px) {
	.complete .sec-form h2 {
		font-size: 5.33vw;
		line-height: 160%
	}

	.complete .sec-form .btn-wrap {
		padding: 12.69% 0 22.85%
	}
}

@media (min-width:751px) {
	#footer .footer-form {
		padding-top: 222px;
		padding-bottom: 40px
	}

	#footer .footer-form .pagetop {
		bottom: 545px
	}
}

@media screen and (max-width:750px) {
	#footer .footer-form .pagetop {
		display: none
	}
}

body.brandstory .wipeincover img {
	transform: scale(1.06)
}

body.brandstory .wipeincover.go img {
	transform: scale(1);
	-webkit-transition: transform 1.4s ease .7s;
	-moz-transition: transform 1.4s ease .7s;
	-o-transition: transform 1.4s ease .7s;
	-ms-transition: transform 1.4s ease .7s;
	transition: transform 1.4s ease .7s
}

body.brandstory .btn-movie>svg:first-of-type {
	opacity: 1
}

html:not(.sp-view) body.brandstory .btn-movie-wrap a:hover .btn-movie>svg:first-of-type {
	opacity: .2
}

body.brandstory #common-pagelink .sec-story {
	display: none
}

.brandstory #kv {
	overflow: hidden
}

#kv.brandstory-slide .read-wrap .btn-link {
	display: block
}

#kv.brandstory-slide .read-wrap .btn-movie-wrap {
	display: inline-block;
	margin-top: 24px
}

#kv.brandstory-slide .read-wrap .btn-movie-wrap a {
	display: inline-flex;
	align-items: center
}

#kv.brandstory-slide .read-wrap .btn-movie-wrap .btn-movie {
	width: 4.44vw;
	height: 4.44vw;
	margin-right: 10px;
	opacity: 0;
	transform: translateY(15px)
}

#kv.brandstory-slide .read-wrap .btn-movie-wrap .btn-movie.go {
	transform: translate(0);
	opacity: 1;
	-webkit-transition: transform .5s ease 0s, opacity 1s ease 0s;
	-moz-transition: transform .5s ease 0s, opacity 1s ease 0s;
	-o-transition: transform .5s ease 0s, opacity 1s ease 0s;
	-ms-transition: transform .5s ease 0s, opacity 1s ease 0s;
	transition: transform .5s ease 0s, opacity 1s ease 0s
}

#kv.brandstory-slide .read-wrap .btn-movie-wrap .btn-movie>svg {
	stroke: #fff
}

#kv.brandstory-slide .read-wrap .btn-movie-wrap .btn-movie span svg {
	width: 1.11vw;
	height: .625vw
}

#kv.brandstory-slide .read-wrap .btn-movie-wrap .en {
	display: block;
	font-size: 1.8rem;
	line-height: 120%
}

#kv.brandstory-slide .read-wrap .btn-movie-wrap .jp {
	display: block;
	font-size: 1.3rem;
	line-height: 160%
}

#kv.brandstory-slide .kv01 .slide-bgimg-inner {
	background:url(../fonts/1e5f3740bc9e4acc8ef87a1c3ca5a0e7.woff) {
		#kv.brandstory-slide .read-wrap .ttl {
			line-height: 90%
		}

		#kv.brandstory-slide .read-wrap .btn-link {
			padding-top: 6%
		}

		#kv.brandstory-slide .kv01 .slide-bgimg-inner {
			background: url(../images/img_kv01_sp.jpg) no-repeat 50% 0/cover
		}

		#kv.brandstory-slide .kv02 .slide-bgimg-inner {
			background: url(../images/img_kv02_sp.jpg) no-repeat 50% 0/cover
		}

		#kv.brandstory-slide .kv03 .slide-bgimg-inner {
			background: url(../images/img_kv03_sp.jpg) no-repeat 50% 0/cover
		}
	}

	.brandstory .main {
		position: relative;
		font-size: 1.11vw
	}

	.brandstory .bg-txt.small {
		font-size: 20.83vw
	}

	@media screen and (max-width:980px) {
		.brandstory .main {
			font-size: 2.24vw
		}
	}

	@media screen and (max-width:750px) {
		.brandstory .main {
			font-size: 2.93vw
		}

		.brandstory .bg-txt {
			font-size: 26.6vw
		}

		.brandstory .bg-txt.small {
			font-size: 24vw
		}
	}

	.txt-story-wrap p {
		line-height: 160%
	}

	.txt-story-wrap p+p {
		padding-top: 2rem
	}

	.txt-story-wrap .txt-story {
		font-size: .9vw;
		line-height: 200%
	}

	.txt-story-wrap .txt-story em {
		font-size: 1.66vw;
		font-weight: 300;
		color: var(--text-secondary)
	}

	.txt-story-wrap .txt-read {
		color: var(--text-secondary);
		font-size: 1.66vw;
		padding-top: 9.92%
	}

	@media screen and (max-width:980px) {
		.txt-story-wrap p+p {
			padding-top: 7%
		}

		.txt-story-wrap .txt-story {
			font-size: 2.24vw
		}

		.txt-story-wrap .txt-story em {
			font-size: 4.08vw
		}

		.txt-story-wrap .txt-read {
			font-size: 3.26vw
		}
	}

	@media screen and (max-width:750px) {
		.txt-story-wrap .txt-story {
			font-size: 2.93vw
		}

		.txt-story-wrap .txt-story em {
			font-size: 5.33vw
		}

		.txt-story-wrap .txt-read {
			font-size: 4.26vw
		}
	}

	.brandstory .sidenav {
		position: fixed;
		top: 50%;
		transform: translate(-100%, -50%);
		left: 0;
		z-index: 1;
		-webkit-transition: left .6s ease 0s, transform .6s ease 0s;
		-moz-transition: left .6s ease 0s, transform .6s ease 0s;
		-o-transition: left .6s ease 0s, transform .6s ease 0s;
		-ms-transition: left .6s ease 0s, transform .6s ease 0s;
		transition: left .6s ease 0s, transform .6s ease 0s
	}

	.brandstory .sidenav.show {
		transform: translateY(-50%);
		left: 1.38vw
	}

	.brandstory .sidenav li {
		line-height: 100% !important;
		margin: 10px 0
	}

	.brandstory .sidenav li a {
		position: relative;
		display: block
	}

	.brandstory .sidenav li a:before {
		position: absolute;
		content: "";
		top: 50%;
		left: 0;
		width: 5px;
		height: 5px;
		border-radius: 50%;
		transform: translateY(-50%);
		background: var(--ui-primary-100)
	}

	.brandstory .sidenav li span {
		display: inline-block;
		padding-left: 13px
	}

	.brandstory .sidenav li:not(.current) a:before {
		background: var(--text--tertiary)
	}

	@media (min-width:981px) {
		.brandstory .sidenav li:not(.current) span {
			opacity: 0
		}
	}

	@media screen and (max-width:980px) {

		.brandstory .sidenav,
		.brandstory .sidenav.show {
			position: absolute;
			top: 0;
			left: 0;
			margin-top: 30.4%;
			width: 100%;
			transform: none;
			white-space: nowrap;
			overflow-x: auto;
			-webkit-overflow-scrolling: touch
		}

		.brandstory .sidenav::-webkit-scrollbar {
			display: none
		}

		.brandstory .sidenav ul {
			width: 84%;
			margin: 0 auto;
			display: inline-flex;
			flex-wrap: nowrap;
			width: auto;
			justify-content: flex-start
		}

		.brandstory .sidenav li {
			font-size: 2.04vw;
			margin: 0 4.26vw 0 0
		}

		.brandstory .sidenav ul li:first-child {
			padding-left: 8vw
		}

		.brandstory .sidenav ul li:last-child {
			padding-right: 8vw
		}

		.brandstory .sidenav li span {
			padding: 0 2.8vw 0 0
		}

		.brandstory .sidenav li:not(.current) span {
			color: var(--text--tertiary)
		}

		.brandstory .sidenav li a:before {
			left: auto;
			right: 0
		}
	}

	@media screen and (max-width:750px) {
		.brandstory .sidenav li {
			font-size: 2.93vw
		}
	}

	.cont-column {
		position: relative
	}

	.cont-column .txt-wrap h2.ttl .en {
		color: var(--text-secondary)
	}

	.cont-column .txt-wrap h2.ttl .jp {
		display: block;
		padding-top: .5%
	}

	.cont-column .txt-wrap .txt {
		padding-top: 6%
	}

	.cont-column .txt-wrap .txt .jp {
		font-size: 1.66vw;
		line-height: 140%
	}

	.cont-column .txt-wrap .txt .en {
		font-size: 1.11vw;
		line-height: 120%;
		padding-top: 1%
	}

	.cont-column .txt-wrap .txt-name {
		padding-top: 2.58%
	}

	.cont-column .txt-wrap .txt-name p {
		color: var(--text-secondary);
		font-size: .83vw;
		line-height: 140%;
		padding-left: 40px
	}

	.cont-column .txt-wrap .txt-name p span {
		display: inline-block;
		position: relative
	}

	.cont-column .txt-wrap .txt-name p span:before {
		position: absolute;
		content: "";
		top: 50%;
		left: -40px;
		width: 36px;
		height: 1px;
		background: var(--ui-secondary)
	}

	@media (min-width:981px) {
		.cont-column>div {
			width: 50%
		}

		.cont-column .left {
			position: absolute;
			top: 0;
			right: 50%
		}

		.cont-column .right {
			position: absolute;
			top: 0;
			left: 50%
		}
	}

	@media screen and (max-width:980px) {
		.cont-column .txt-wrap .txt .jp {
			font-size: 3.26vw;
			line-height: 160%
		}

		.cont-column .txt-wrap .txt .en {
			font-size: 2.44vw
		}

		.cont-column .txt-wrap .txt-name p {
			font-size: 2vw
		}
	}

	@media screen and (max-width:750px) {
		.cont-column .txt-wrap h2.ttl .jp {
			font-size: 3.2vw;
			padding-top: 3%
		}

		.cont-column .txt-wrap .txt .jp {
			font-size: 4.26vw
		}

		.cont-column .txt-wrap .txt .en {
			font-size: 3.2vw
		}

		.cont-column .txt-wrap .txt-name {
			padding-top: 4%
		}

		.cont-column .txt-wrap .txt-name p {
			font-size: 2.66vw
		}
	}

	@media (min-width:981px) {
		.cont-flex {
			display: flex;
			align-items: flex-end
		}

		.cont-flex>div {
			width: 50%
		}

		.cont-flex.reverse {
			flex-flow: row-reverse
		}

		.cont-flex .txt-wrap .cont-inr {
			width: 87%
		}

		.cont-flex .txt-wrap .cont-inr .txt-story-wrap {
			width: 65%
		}

		.cont-flex .txt-wrap .cont-inr>* {
			margin-left: 17%
		}

		.cont-flex .txt-wrap.left .cont-inr {
			margin-left: auto
		}
	}

	.sec-philosophy {
		position: relative;
		padding-top: 14.72%
	}

	.sec-philosophy .bg-txt {
		opacity: 0;
		-webkit-transition: opacity 1s ease 0s;
		-moz-transition: opacity 1s ease 0s;
		-o-transition: opacity 1s ease 0s;
		-ms-transition: opacity 1s ease 0s;
		transition: opacity 1s ease 0s
	}

	.sec-philosophy .bg-txt.go {
		opacity: 1
	}

	.sec-philosophy .bg-txt01 {
		top: 0;
		margin-top: -6%
	}

	.sec-philosophy .bg-txt02 {
		top: 0;
		margin-top: 59%
	}

	.sec-philosophy .bg-txt03 {
		bottom: 0;
		margin-bottom: 21%
	}

	@media screen and (max-width:980px) {
		.sec-philosophy {
			padding-top: 46.66%
		}

		.sec-philosophy .bg-txt01 {
			margin: 0 0 0 -30%
		}

		.sec-philosophy .bg-txt02 {
			margin: 127.73% 0 0 -30%
		}

		.sec-philosophy .bg-txt03 {
			margin: 0 0 34% 7%
		}
	}

	.sec-philosophy .cont01 {
		padding: 6% 0 28.6%
	}

	.sec-philosophy .cont01 .txt-wrap h2.ttl .jp {
		padding-top: 3%
	}

	.sec-philosophy .cont01 .txt-wrap .txt {
		padding-top: 9%
	}

	.sec-philosophy .cont01 .txt-wrap .txt .jp {
		font-size: 2.2vw;
		text-indent: -.5em;
		padding-left: .5em
	}

	.sec-philosophy .cont01 .txt-wrap .txt-name,
	.sec-philosophy .cont01 .txt-wrap .txt .en {
		padding-left: 1em
	}

	.sec-philosophy .cont01 .image-wrap .img01 {
		width: 81.77%;
		margin-left: 18.22%
	}

	.sec-philosophy .cont01 .image-wrap .img02 {
		width: 55%;
		margin: -51.6% 0 0 -22.58%
	}

	@media screen and (max-width:980px) {
		.sec-philosophy .cont01 {
			padding: 0 0 12.69%
		}

		.sec-philosophy .cont01 .txt-wrap .txt .jp {
			font-size: 4.08vw
		}

		.sec-philosophy .cont01 .image-wrap {
			padding-bottom: 15.87%
		}

		.sec-philosophy .cont01 .image-wrap .img01 {
			width: 66.5%;
			margin-left: auto
		}

		.sec-philosophy .cont01 .image-wrap .img02 {
			width: 44.76%;
			margin: -42.38% 0 0
		}
	}

	@media screen and (max-width:750px) {
		.sec-philosophy .cont01 .txt-wrap .txt .jp {
			font-size: 5.33vw
		}
	}

	.sec-philosophy .cont02 {
		padding-top: 8.7%;
		margin: 0 auto
	}

	.sec-philosophy .cont02>div {
		padding-left: 1%;
		line-height: 160%;
		box-sizing: border-box
	}

	.sec-philosophy .cont02 p+p {
		padding-top: 1.6em
	}

	@media (min-width:981px) {
		.sec-philosophy .cont02 {
			display: flex;
			width: 66.29%
		}

		.sec-philosophy .cont02>div {
			width: 50%
		}
	}

	@media screen and (max-width:980px) {
		.sec-philosophy .cont02 {
			padding-top: 0
		}

		.sec-philosophy .cont02>div {
			font-size: 2.44vw;
			padding-left: 0
		}

		.sec-philosophy .cont02>div+div {
			padding-top: 1.6em
		}
	}

	@media screen and (max-width:750px) {
		.sec-philosophy .cont02>div {
			font-size: 3.2vw
		}
	}

	.sec-philosophy .cont03 {
		padding: 10% 0 9.67%;
		margin: 0 auto
	}

	.sec-philosophy .cont03 .logo {
		width: 38.2%
	}

	.sec-philosophy .cont03 .logo svg {
		width: 61.78%
	}

	.sec-philosophy .cont03 .txt-wrap {
		width: 61.8%
	}

	.sec-philosophy .cont03 .txt-wrap h3 {
		padding-bottom: 3.14%
	}

	.sec-philosophy .cont03 .txt-wrap p {
		color: var(--text-secondary);
		font-size: .83vw;
		line-height: 200%
	}

	.sec-philosophy .cont03 .txt-wrap p+p {
		padding-top: 3.93%
	}

	@media (min-width:981px) {
		.sec-philosophy .cont03 {
			display: flex;
			align-items: center;
			max-width: 822px
		}
	}

	@media screen and (max-width:980px) {
		.sec-philosophy .cont03 {
			width: 74.76%;
			margin: 0 auto;
			padding: 28.09% 0
		}

		.sec-philosophy .cont03 .logo {
			width: 65.18%
		}

		.sec-philosophy .cont03 .logo svg,
		.sec-philosophy .cont03 .txt-wrap {
			width: 100%
		}

		.sec-philosophy .cont03 .txt-wrap h3 {
			padding: 13.58% 0 6%;
			font-size: 2.65vw
		}

		.sec-philosophy .cont03 .txt-wrap p {
			font-size: 2.04vw
		}

		.sec-philosophy .cont03 .txt-wrap p+p {
			padding-top: 7%
		}
	}

	@media screen and (max-width:750px) {
		.sec-philosophy .cont03 .txt-wrap h3 {
			font-size: 3.46vw
		}

		.sec-philosophy .cont03 .txt-wrap p {
			font-size: 2.66vw
		}
	}

	.sec-philosophy .image {
		position: relative;
		width: 93vw;
		opacity: 0
	}

	.sec-philosophy .image.go {
		opacity: 1;
		-webkit-transition: opacity 1s ease 0s;
		-moz-transition: opacity 1s ease 0s;
		-o-transition: opacity 1s ease 0s;
		-ms-transition: opacity 1s ease 0s;
		transition: opacity 1s ease 0s
	}

	.sec-mission {
		position: relative;
		padding: 8.33% 0 14.93%
	}

	.sec-mission .bg-txt {
		bottom: 0;
		margin-bottom: 3%;
		opacity: 0;
		-webkit-transition: opacity 1s ease 0s;
		-moz-transition: opacity 1s ease 0s;
		-o-transition: opacity 1s ease 0s;
		-ms-transition: opacity 1s ease 0s;
		transition: opacity 1s ease 0s
	}

	.sec-mission .bg-txt.go {
		opacity: 1
	}

	@media screen and (max-width:980px) {
		.sec-mission {
			padding: 19% 0 0
		}

		.sec-mission .bg-txt {
			margin: 0 0 72% -8%
		}
	}

	.sec-mission .cont01 {
		padding: 3.62% 0 7.17%
	}

	.sec-mission .cont01 .image-wrap {
		width: 56.59vw;
		margin-left: -7.82%
	}

	.sec-mission .cont01 .txt-story-wrap {
		width: 70%;
		margin: 64px auto 5.3%
	}

	.sec-mission .cont01 .txt-story-wrap .txt-read {
		padding-top: 0
	}

	.sec-mission .cont01 .txt-story-wrap p+p {
		padding-top: 7%
	}

	@media (min-width:981px) {
		.sec-mission .cont01 .txt-story-wrap .txt-read {
			font-size: 1.11vw
		}
	}

	@media screen and (max-width:980px) {
		.sec-mission .cont01 {
			padding: 0 0 6.34%
		}

		.sec-mission .cont01 .image-wrap {
			width: 100vw;
			margin-left: -8vw
		}

		.sec-mission .cont01 .txt-story-wrap {
			width: 100%;
			margin: 12.69% 0 6.34%
		}
	}

	.sec-mission .cont02 {
		position: relative
	}

	.sec-mission .cont02 .txt-wrap {
		margin-left: auto
	}

	@media screen and (max-width:980px) {
		.sec-mission .cont02 .txt-wrap {
			width: 84%;
			margin: 0 auto 10%
		}

		.sec-mission .cont02 .image-wrap {
			width: 92%
		}
	}

	.sec-brand {
		padding-top: 5.69%
	}

	.sec-brand .bg-txt {
		opacity: 0;
		-webkit-transition: opacity 1s ease 0s;
		-moz-transition: opacity 1s ease 0s;
		-o-transition: opacity 1s ease 0s;
		-ms-transition: opacity 1s ease 0s;
		transition: opacity 1s ease 0s
	}

	.sec-brand .bg-txt.go {
		opacity: 1
	}

	.sec-brand h3 .jp {
		color: var(--text-secondary)
	}

	.sec-brand .cont01 .txt-wrap {
		padding-bottom: 10.8%
	}

	.sec-brand .cont01 .image-wrap figure {
		width: 81.29%
	}

	@media screen and (max-width:980px) {
		.sec-brand {
			padding-top: 19.2%
		}

		.sec-brand .cont01 {
			padding-bottom: 0
		}

		.sec-brand .cont01 .txt-wrap {
			padding-bottom: 12.69%
		}

		.sec-brand .cont01 .image-wrap figure {
			width: 88.88%;
			margin: 0 auto
		}
	}

	.sec-brand .cont02 .cont-flex {
		position: relative;
		padding-top: 13.19%
	}

	.sec-brand .cont02 .cont-flex>div {
		position: relative
	}

	.sec-brand .cont02 h3 .en {
		display: block;
		font-size: 4.44vw;
		line-height: 100%
	}

	.sec-brand .cont02 h3 .jp {
		display: block;
		padding-top: 2%
	}

	.sec-brand .cont02 .txt-story-wrap .txt-story em {
		font-size: 1.11vw
	}

	.sec-brand .cont02 .bg-txt {
		top: 0;
		left: 0;
		margin-top: 4%
	}

	@media screen and (max-width:980px) {
		.sec-brand .cont02 .cont-flex {
			padding-top: 19.2%
		}

		.sec-brand .cont02 .image-wrap {
			width: 92%
		}

		.sec-brand .cont02 .cont-flex:nth-child(odd) .image-wrap {
			margin-left: auto
		}

		.sec-brand .cont02 .txt-wrap {
			width: 84%;
			margin: 12.8% auto 0
		}

		.sec-brand .cont02 h3 .en {
			font-size: 6.53vw
		}

		.sec-brand .cont02 h3 .jp {
			font-size: 2.44vw;
			padding-top: 3%
		}

		.sec-brand .cont02 .txt-story-wrap .txt-story {
			padding-top: 4%
		}

		.sec-brand .cont02 .txt-story-wrap .txt-story em {
			font-size: 2.65vw
		}

		.sec-brand .cont02 .bg-txt01 {
			margin-left: -10%
		}

		.sec-brand .cont02 .bg-txt02 {
			margin-left: 8%
		}

		.sec-brand .cont02 .bg-txt03 {
			margin-left: -3%
		}
	}

	@media screen and (max-width:750px) {
		.sec-brand .cont02 h3 .en {
			font-size: 8.53vw
		}

		.sec-brand .cont02 h3 .jp {
			font-size: 3.2vw
		}

		.sec-brand .cont02 .txt-story-wrap .txt-story em {
			font-size: 3.46vw
		}
	}

	.sec-brand .cont03 {
		position: relative;
		padding: 12.77% 0 8.75%
	}

	.sec-brand .cont03 .bg-txt {
		white-space: nowrap;
		bottom: 0;
		color: var(--background-secondary)
	}

	.sec-brand .cont03>div {
		position: relative
	}

	.sec-brand .cont03 h3 {
		margin: 0 0 3.22% 8.54%
	}

	.sec-brand .cont03 h3 .en {
		display: block;
		font-size: 2.22vw;
		line-height: 140%
	}

	.sec-brand .cont03 .cont-movie .btn-movie-wrap a {
		display: inline-flex;
		align-items: center;
		font-size: 1.66vw
	}

	.sec-brand .cont03 .cont-movie .btn-movie-wrap .btn-movie {
		width: 4.44vw;
		height: 4.44vw;
		margin-right: 16px
	}

	.sec-brand .cont03 .cont-movie .btn-movie-wrap .btn-movie span svg {
		width: 1.11vw;
		height: .625vw
	}

	@media (min-width:981px) {
		.sec-brand .cont03:before {
			position: absolute;
			content: "";
			bottom: 0;
			left: 0;
			width: 100%;
			height: 24.72vw;
			background: var(--background-tertiary)
		}

		.sec-brand .cont03 .cont-movie .sec-inr {
			position: relative;
			height: 100%;
			z-index: 1
		}

		.sec-brand .cont03 .cont-movie {
			position: relative;
			width: 93vw;
			height: 32.36vw;
			overflow: hidden
		}

		.sec-brand .cont03 .cont-movie .btn-movie-wrap a {
			color: #fff
		}

		.sec-brand .cont03 .cont-movie .btn-movie-wrap {
			position: absolute;
			top: 50%;
			left: 8.54%;
			transform: translateY(-50%)
		}

		.sec-brand .cont03 .cont-movie .btn-movie-wrap .btn-movie>svg {
			stroke: #fff
		}

		.sec-brand .cont03 .cont-movie figure {
			position: absolute;
			top: 0;
			left: 0
		}
	}

	@media screen and (max-width:980px) {
		.sec-brand .cont03 {
			padding: 25% 0 0
		}

		.sec-brand .cont03 .bg-txt {
			margin: 0 0 -32.5% 26%;
			z-index: 1
		}

		.sec-brand .cont03 h3 {
			margin: 0 0 6.19%
		}

		.sec-brand .cont03 h3 .en {
			font-size: 3.26vw
		}

		.sec-brand .cont03 h3 .jp {
			display: block;
			font-size: 2.44vw;
			padding-top: 1%
		}

		.sec-brand .cont03>div {
			z-index: 2
		}

		.sec-brand .cont03 .cont-movie .btn-movie-wrap a {
			font-size: 2.44vw
		}

		.sec-brand .cont03 .cont-movie .btn-movie-wrap .btn-movie {
			width: 6.5vw;
			height: 6.5vw;
			border-color: var(--ui-primary-100)
		}

		.sec-brand .cont03 .cont-movie .btn-movie-wrap .btn-movie span svg {
			width: 1.63vw;
			height: .91vw
		}

		.sec-brand .cont03 .cont-movie .btn-movie-wrap .btn-movie span svg path {
			fill: var(--ui-primary-100)
		}

		.sec-brand .cont03 .cont-movie figure {
			margin-top: 5.33%
		}
	}

	@media screen and (max-width:750px) {
		.sec-brand .cont03 h3 .en {
			font-size: 4.26vw
		}

		.sec-brand .cont03 .cont-movie .btn-movie-wrap a,
		.sec-brand .cont03 h3 .jp {
			font-size: 3.2vw
		}

		.sec-brand .cont03 .cont-movie .btn-movie-wrap .btn-movie {
			width: 8.53vw;
			height: 8.53vw
		}

		.sec-brand .cont03 .cont-movie .btn-movie-wrap .btn-movie span svg {
			width: 2.13vw;
			height: 1.2vw
		}
	}

	.sec-history {
		position: relative;
		padding: 3.75% 0 15.97%;
		background: var(--background-tertiary)
	}

	.sec-history .bg-txt01 {
		bottom: 0;
		left: 26vw;
		margin-bottom: 7.4%;
		color: var(--background-secondary)
	}

	.sec-history .bg-txt {
		opacity: 0;
		-webkit-transition: opacity 1s ease 0s;
		-moz-transition: opacity 1s ease 0s;
		-o-transition: opacity 1s ease 0s;
		-ms-transition: opacity 1s ease 0s;
		transition: opacity 1s ease 0s
	}

	.sec-history .bg-txt.go {
		opacity: 1
	}

	@media screen and (max-width:980px) {
		.sec-history {
			padding: 17.33% 0 41%
		}

		.sec-history .bg-txt01 {
			left: 0;
			margin: 0 0 37% -22%;
			font-size: 30.61vw
		}

		.sec-history .sidenav {
			display: none !important
		}
	}

	@media screen and (max-width:750px) {
		.sec-history .bg-txt01 {
			font-size: 40vw
		}
	}

	.sec-history .chronology-wrap {
		position: relative
	}

	.sec-history .chronology-wrap .chronology:first-child {
		margin-top: 0
	}

	.sec-history .chronology .txt-year {
		display: inline-block;
		text-align: left;
		font-size: 9.72vw;
		line-height: 74%
	}

	.sec-history .chronology .txt {
		line-height: 160%;
		padding: 5% 0 8%
	}

	.sec-history .chronology figure {
		width: 26.73vw
	}

	.sec-history .chronology figure figcaption {
		color: var(--text-secondary);
		font-size: .83vw;
		line-height: 140%;
		padding-top: 1.11vw
	}

	.sec-history .chronology .txt-ttl .en {
		display: block;
		font-size: 3.33vw;
		line-height: 140%
	}

	.sec-history .chronology .txt-ttl .en span {
		display: block;
		font-size: 1.66vw;
		line-height: 100%;
		padding-bottom: 2%
	}

	.sec-history .chronology .txt-ttl .jp {
		display: block;
		color: var(--text-secondary);
		padding: 1.2vw 0 1.8vw;
		transition: color .6s ease 0s
	}

	.sec-history .chronology .txt-wrap {
		font-size: .9vw;
		line-height: 160%;
		padding: 1.66vw 0 0 3.95vw
	}

	.sec-history .chronology .txt-wrap dl {
		color: var(--text-secondary);
		padding-top: 1.4vw;
		transition: color .6s ease 0s
	}

	.sec-history .chronology .txt-wrap dl div {
		display: flex;
		align-items: center
	}

	.sec-history .chronology .txt-wrap dl div+div {
		padding-top: 1.3vw
	}

	.sec-history .chronology .txt-wrap dl dt {
		font-size: 2.22vw;
		padding-right: 1.11vw
	}

	.sec-history .chronology {
		transition: color .6s ease 0s
	}

	.sec-history .chronology:not(.current),
	.sec-history .chronology:not(.current) .txt-ttl .jp,
	.sec-history .chronology:not(.current) .txt-wrap dl {
		color: var(--text--tertiary)
	}

	.sec-history .chronology:not(.current) figure {
		opacity: .3
	}

	@media (min-width:981px) {
		.sec-history .chronology .txt-year .comma {
			font-size: 6.11vw
		}

		.sec-history .chronology.right {
			text-align: right
		}

		.sec-history .chronology.right figure,
		.sec-history .cont01 .chronology:nth-child(2n),
		.sec-history .cont02 .chronology:nth-child(odd) {
			margin-left: auto
		}

		.sec-history .chronology-wrap .chronology-inr .r-position01 {
			margin-right: 6%
		}

		.sec-history .chronology-wrap .chronology-inr .r-position02 {
			margin-left: 56.45%
		}

		.sec-history .chronology-wrap .chronology-inr .r-position03 {
			margin-left: 59%
		}

		.sec-history .chronology-wrap .chronology-inr .l-position01 {
			margin-left: 6.04%
		}

		.sec-history .chronology-wrap .chronology-inr .l-position02 {
			margin-left: 8.46%
		}

		.sec-history .chronology-wrap .chronology-inr .l-position03 {
			margin-left: auto;
			margin-right: 59%
		}
	}

	@media screen and (max-width:980px) {
		.sec-history .chronology-wrap {
			width: 100%
		}

		.sec-history .chronology-wrap .chronology-inr {
			margin-left: 17.46%
		}

		.sec-history .chronology {
			margin-top: 23%
		}

		.sec-history .chronology .txt-year {
			font-size: 14.28vw;
			line-height: 90%
		}

		.sec-history .chronology-wrap+.ttl {
			transform: translateY(-100%);
			margin-top: -1.2vw;
			text-align: left !important
		}

		.sec-history .chronology .txt {
			font-size: 2.44vw;
			padding: 3% 0 7%
		}

		.sec-history .chronology figure figcaption {
			font-size: 1.8vw;
			padding-top: 4%
		}

		.sec-history .chronology .txt-ttl .en {
			font-size: 4.89vw
		}

		.sec-history .chronology .txt-ttl .en span {
			font-size: 1.6vw
		}

		.sec-history .chronology .txt-ttl .jp {
			font-size: 2.4vw;
			padding: 2% 0 7%
		}

		.sec-history .chronology .txt-wrap {
			font-size: 2.2vw;
			padding: 6% 0 0
		}

		.sec-history .chronology .txt-wrap dl,
		.sec-history .chronology .txt-wrap dl div+div {
			padding-top: 4%
		}

		.sec-history .chronology .txt-wrap dl dt {
			font-size: 4.48vw
		}

		.sec-history .chronology .txt-wrap dl dd {
			font-size: 1.83vw;
			line-height: 140%
		}
	}

	@media screen and (max-width:750px) {
		.sec-history .chronology .txt-year {
			font-size: 18.66vw
		}

		.sec-history .chronology .txt {
			font-size: 3vw
		}

		.sec-history .chronology figure figcaption {
			font-size: 2.4vw
		}

		.sec-history .chronology .txt-ttl .en {
			font-size: 6.4vw
		}

		.sec-history .chronology .txt-ttl .en span {
			font-size: 2.13vw
		}

		.sec-history .chronology .txt-ttl .jp {
			font-size: 3.2vw
		}

		.sec-history .chronology .txt-wrap {
			font-size: 2.93vw
		}

		.sec-history .chronology .txt-wrap dl dt {
			font-size: 5.86vw
		}

		.sec-history .chronology .txt-wrap dl dd {
			font-size: 2.4vw;
			white-space: nowrap
		}
	}

	.chronology-line-wrap {
		position: absolute;
		bottom: 0;
		left: 50%;
		width: 1px;
		height: 100%;
		transform: translateX(-50%);
		background-color: transparent;
		opacity: 0
	}

	.chronology-line-wrap.init {
		opacity: 1;
		-webkit-transition: opacity .5s ease 0s;
		-moz-transition: opacity .5s ease 0s;
		-o-transition: opacity .5s ease 0s;
		-ms-transition: opacity .5s ease 0s;
		transition: opacity .5s ease 0s
	}

	.chronology-line-move {
		position: absolute;
		bottom: 0;
		left: 50%;
		width: 1px;
		height: 100%;
		transform: translateX(-50%);
		background-color: transparent;
		display: flex;
		flex-flow: column;
		justify-content: space-between;
		z-index: 2
	}

	.chronology-line-move:before {
		content: "";
		width: 1px;
		height: 0;
		display: block;
		background: var(--ui-4th);
		position: absolute;
		top: 0;
		left: 50%;
		z-index: 1
	}

	.chronology-line-wrap.init .chronology-line-move:before {
		height: 100%;
		-webkit-transition: height 1.6s ease .5s;
		-moz-transition: height 1.6s ease .5s;
		-o-transition: height 1.6s ease .5s;
		-ms-transition: height 1.6s ease .5s;
		transition: height 1.6s ease .5s
	}

	.chronology-line-move-bar {
		content: "";
		display: block;
		background: var(--ui-primary-100);
		top: 0;
		z-index: 2;
		-webkit-transition: height .6s ease 0s;
		-moz-transition: height .6s ease 0s;
		-o-transition: height .6s ease 0s;
		-ms-transition: height .6s ease 0s;
		transition: height .6s ease 0s
	}

	.chronology-line,
	.chronology-line-move-bar {
		width: 1px;
		height: 100%;
		position: absolute;
		left: 50%
	}

	.chronology-line {
		bottom: 0;
		transform: translateX(-50%);
		background-color: transparent;
		display: flex;
		flex-flow: column;
		justify-content: space-between;
		z-index: 3
	}

	.chronology-line .icn-circle {
		position: absolute;
		z-index: 4;
		transform: translateY(-50%)
	}

	.chronology-line .icn-circle:first-of-type {
		top: 0;
		transform: translate(0)
	}

	.chronology-line .icn-circle:last-of-type {
		top: auto;
		bottom: 0;
		transform: translate(0)
	}

	.chronology-line .icn-circle .icon {
		position: relative;
		width: 2.8vw;
		height: 2.8vw;
		transform: translateX(-50%);
		background-color: transparent
	}

	.chronology-line .icn-circle .icon svg {
		position: absolute;
		top: 0;
		left: 0
	}

	.chronology-line .icn-circle .icon svg circle {
		stroke-width: 2px
	}

	.chronology-line .icn-circle .icon:after {
		width: .42vw;
		height: .42vw;
		opacity: 0;
		content: "";
		display: block
	}

	.chronology-line.init .icn-circle .icon:after {
		opacity: 1;
		-webkit-transition: opacity .4s ease 0s;
		-moz-transition: opacity .4s ease 0s;
		-o-transition: opacity .4s ease 0s;
		-ms-transition: opacity .4s ease 0s;
		transition: opacity .4s ease 0s
	}

	.chronology-line .icn-circle .icon:before {
		border: none !important;
		opacity: 0;
		background-color: var(--background-tertiary)
	}

	.chronology-line.init .icn-circle .icon:before {
		opacity: 1;
		-webkit-transition: opacity .4s ease .5s;
		-moz-transition: opacity .4s ease .5s;
		-o-transition: opacity .4s ease .5s;
		-ms-transition: opacity .4s ease .5s;
		transition: opacity .4s ease .5s
	}

	.chronology-line .icn-circle .icon svg:first-of-type {
		stroke: var(--ui-4th);
		stroke-width: 1px;
		-webkit-transform: rotate(270deg);
		transform: rotate(270deg);
		stroke-dasharray: 226.19448px 226.19448px;
		stroke-dashoffset: -226.19448px
	}

	.chronology-line.init .icn-circle .icon svg:first-of-type {
		visibility: inherit;
		-webkit-transition: none;
		transition: none;
		-webkit-animation: chronology__border-init .5s cubic-bezier(.215, .61, .355, 1) forwards;
		animation: chronology__border-init .5s cubic-bezier(.215, .61, .355, 1) forwards
	}

	@-webkit-keyframes chronology__border-init {
		0% {
			-webkit-transform: rotate(0deg);
			transform: rotate(0deg)
		}

		to {
			-webkit-transform: rotate(90deg);
			transform: rotate(90deg);
			stroke-dashoffset: 0
		}
	}

	@keyframes chronology__border-init {
		0% {
			-webkit-transform: rotate(-90deg);
			transform: rotate(-90deg)
		}

		to {
			-webkit-transform: rotate(90deg);
			transform: rotate(90deg);
			stroke-dashoffset: 0
		}
	}

	.chronology-line .icn-circle .icon svg:last-of-type {
		stroke: var(--ui-primary-100)
	}

	.chronology-line.init .icn-circle .icon svg:last-of-type {
		stroke-dasharray: 226.19448px 226.19448px;
		stroke-dashoffset: 226.19448px;
		visibility: hidden;
		-webkit-transition: visibility 0s .5s;
		transition: visibility 0s .5s;
		-webkit-animation: arrow-button__border-out .5s cubic-bezier(.215, .61, .355, 1);
		animation: arrow-button__border-out .5s cubic-bezier(.215, .61, .355, 1)
	}

	.chronology-line.init .icn-circle.current .icon svg:last-of-type {
		visibility: inherit;
		-webkit-transition: none;
		transition: none;
		-webkit-animation: arrow-button__border-over 1.5s cubic-bezier(.215, .61, .355, 1) forwards;
		animation: arrow-button__border-over 1.5s cubic-bezier(.215, .61, .355, 1) forwards
	}

	.chronology-line .icn-circle:not(.current) .icon:after {
		background: var(--ui-4th)
	}

	@media screen and (max-width:980px) {
		.chronology-line-wrap {
			left: 2.04%
		}

		.chronology-line,
		.chronology-line-move {
			left: 2.04%;
			transform: none
		}

		.chronology-line .icn-circle .icon {
			width: 4.08vw;
			height: 4.08vw
		}

		.chronology-line .icn-circle .icon:after {
			width: .5vw;
			height: .5vw
		}
	}

	@media screen and (max-width:750px) {

		.chronology-line,
		.chronology-line-move,
		.chronology-line-wrap {
			left: 2.7%
		}

		.chronology-line .icn-circle .icon {
			width: 5.4vw;
			height: 5.4vw
		}

		.chronology-line .icn-circle .icon:after {
			width: .8vw;
			height: .8vw
		}
	}

	.sec-history .cont01 {
		z-index: 1
	}

	.sec-history .cont01 .cont-column {
		padding-bottom: 7.17%;
		z-index: 1
	}

	.sec-history .cont01 .cont-column h2.ttl .en {
		font-size: 9.72vw;
		line-height: 90%
	}

	.sec-history .cont01 .cont-column h2.ttl .en>span:not(.sub) {
		color: var(--text-primary-100)
	}

	.sec-history .cont01 .cont-column h2.ttl .jp {
		padding-top: 1%
	}

	.sec-history .cont01 .txt-story-wrap {
		width: 51.2%;
		margin: 0 auto 6.45%
	}

	.sec-history .cont01 .txt-story-wrap em {
		font-size: 1.11vw;
		display: inline-block;
		padding-bottom: 1.25%
	}

	.sec-history .cont01 .chronology-wrap {
		margin-bottom: 5.64%
	}

	#sec-history-since2002 figure figcaption {
		display: flex;
		justify-content: space-between
	}

	#sec-history-since2002 figure figcaption span {
		width: 48%
	}

	.sec-history .cont-profile {
		position: relative;
		z-index: 5
	}

	.sec-history .cont-profile .profile-wrap figure {
		padding-bottom: 24px
	}

	.sec-history .cont-profile .profile-wrap .en {
		color: var(--text-secondary);
		font-size: 1.66vw;
		line-height: 160%;
		padding-bottom: 4%
	}

	.sec-history .cont-profile .profile-wrap .jp {
		color: var(--text-secondary);
		font-size: 1.11vw;
		line-height: 160%
	}

	.sec-history .cont-profile .profile-wrap .jp span {
		display: block;
		font-size: .83vw;
		line-height: 120%
	}

	@media (min-width:981px) {
		.sec-history .cont01 .cont-column {
			display: flex;
			align-items: flex-end;
			justify-content: center
		}

		.sec-history .cont01 .cont-column>div {
			width: auto
		}

		.sec-history .cont01 .cont-column h2.ttl {
			margin-right: 1.8vw
		}

		.sec-history .cont01 .cont-column .txt-wrap {
			margin-left: 4.79vw
		}

		.sec-history .cont01 .chronology {
			margin-top: -21%
		}

		#sec-history-since1941 {
			width: 41.54%
		}

		#sec-history-since1941 .txt-wrap {
			padding-right: 17%
		}

		#sec-history-since1970 {
			width: 41%;
			transform: translateY(-20%)
		}

		#sec-history-since1970 .txt-ttl {
			padding-left: 15%
		}

		#sec-history-since1970 .txt-wrap {
			padding-right: 15%
		}

		#sec-history-since2002 {
			position: relative
		}

		#sec-history-since2002 .cont {
			width: 30.9%
		}

		#sec-history-since2002 .txt-ttl {
			text-align: right
		}

		#sec-history-since2002 figure {
			width: auto
		}

		#sec-history-since2002 .txt-wrap {
			position: absolute;
			top: 50%;
			left: 0;
			margin-left: 59%;
			transform: translateY(-50%);
			padding: 6% 15% 0 0
		}

		.sec-history .cont01 .chronology-line-wrap {
			height: 82%
		}

		.sec-history .cont-profile {
			width: 83%;
			margin: 0 auto;
			align-items: center
		}

		.sec-history .cont-profile .profile-wrap {
			width: 70%;
			display: flex
		}

		.sec-history .cont-profile .profile-wrap .btn-link {
			padding-right: 3%
		}

		.sec-history .cont-profile .txt-wrap {
			width: 30%;
			margin-right: 3%;
			font-size: .9vw;
			line-height: 200%
		}
	}

	@media screen and (max-width:980px) {
		.sec-history .cont01 .cont-column {
			padding-bottom: 5%
		}

		.sec-history .cont01 .cont-column h2.ttl .en {
			font-size: 14.28vw
		}

		.sec-history .cont01 .cont-column h2.ttl .jp {
			font-size: 2.4vw;
			padding-top: 3%
		}

		.sec-history .cont01 .txt-story-wrap {
			width: 100%;
			margin-bottom: 12%
		}

		.sec-history .cont01 .txt-story-wrap em {
			font-size: 2.4vw
		}

		.sec-history .cont01 .chronology-inr {
			margin-right: 3.8%
		}

		.sec-history .cont01 .chronology figure {
			width: 61vw
		}

		.sec-history .cont-profile {
			margin: 23% 3.8% 0 17.46%
		}

		.sec-history .cont-profile .profile-wrap a {
			display: block;
			margin-bottom: 15%
		}

		.sec-history .cont-profile .profile-wrap figure {
			padding-bottom: 7%
		}

		.sec-history .cont-profile .profile-wrap .en {
			font-size: 3.2vw;
			line-height: 140%
		}

		.sec-history .cont-profile .profile-wrap .jp {
			font-size: 1.8vw;
			line-height: 180%
		}

		.sec-history .cont-profile .profile-wrap .jp span {
			font-size: 1.6vw
		}

		.sec-history .cont-profile .txt-wrap {
			font-size: 2.2vw;
			line-height: 200%
		}
	}

	@media screen and (max-width:750px) {
		.sec-history .cont01 .cont-column h2.ttl .en {
			font-size: 18.66vw
		}

		.sec-history .cont01 .cont-column h2.ttl .jp,
		.sec-history .cont01 .txt-story-wrap em {
			font-size: 3.2vw
		}

		.sec-history .cont-profile .profile-wrap .en {
			font-size: 5.5vw
		}

		.sec-history .cont-profile .profile-wrap .jp {
			font-size: 2.8vw
		}

		.sec-history .cont-profile .profile-wrap .jp span {
			font-size: 2.13vw
		}

		.sec-history .cont-profile .txt-wrap {
			font-size: 2.93vw
		}
	}

	.sec-history .cont02 {
		position: relative;
		padding-top: 15.96%
	}

	.sec-history .cont02 .bg-txt-wrap {
		position: absolute;
		top: 0;
		right: 0;
		width: 100%;
		text-align: right;
		margin-top: -14.11%
	}

	.sec-history .cont02 .bg-txt-wrap p {
		position: relative;
		color: var(--background-secondary);
		font-size: 5.55vw;
		white-space: nowrap
	}

	.sec-history .cont02 .bg-txt-wrap .bg-txt02 {
		text-align: center
	}

	.sec-history .cont02 .bg-txt-wrap .bg-txt03 {
		margin-top: 2%
	}

	.sec-history .cont02 .logo {
		width: 16.12%;
		margin: 0 auto 7.58%
	}

	.sec-history .cont02 .ttl {
		font-size: 1.25vw;
		text-align: center
	}

	.sec-history .cont02 .chronology-wrap {
		padding-bottom: 18.58%;
		margin: 1.2% auto 5.48%
	}

	@media (min-width:981px) {
		.sec-history .cont02 .chronology {
			width: 37.5%;
			margin-top: -13.2%
		}
	}

	@media screen and (max-width:980px) {
		.sec-history .cont02 {
			padding-top: 16.3%
		}

		.sec-history .cont02 .bg-txt-wrap {
			margin-top: 88%
		}

		.sec-history .cont02 .bg-txt-wrap p {
			font-size: 8.16vw
		}

		.sec-history .cont02 .bg-txt-wrap .bg-txt02 {
			text-align: left;
			margin-left: 7%
		}

		.sec-history .cont02 .bg-txt-wrap .bg-txt03 {
			margin-right: -42%
		}

		.sec-history .cont02 .logo {
			width: 44.44%;
			margin-left: 17.46%;
			margin-bottom: 6.34%
		}

		.sec-history .cont02 .logo+.ttl {
			width: 44.44%
		}

		.sec-history .cont02 .ttl {
			font-size: 3.26vw;
			margin-left: 17.46%
		}

		.sec-history .cont02 .chronology-wrap {
			margin: 14.28% auto 0;
			padding-bottom: 26.98%
		}

		.sec-history .cont02 .chronology-inr {
			margin-right: 8.8%
		}

		.sec-history .cont02 .chronology figure {
			width: 51.33vw
		}
	}

	@media screen and (max-width:750px) {
		.sec-history .cont02 .bg-txt-wrap p {
			font-size: 10.66vw
		}

		.sec-history .cont02 .ttl {
			font-size: 4.26vw
		}
	}

	#modal-movie,
	#modal-profile {
		width: 100%;
		height: 100vh;
		position: fixed;
		overflow: auto;
		top: 0;
		left: 0;
		background: var(--background-primary);
		z-index: 5000;
		display: none
	}

	#modal-profile .modal-profile01,
	#modal-profile .modal-profile02 {
		display: none
	}

	#modal-movie .sec-inr,
	#modal-profile .sec-inr {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		height: 100%;
		box-sizing: border-box;
		position: relative;
		z-index: 1;
		transform: translateZ(0)
	}

	#modal-movie .close-btn,
	#modal-profile .close-btn {
		position: absolute;
		top: 0;
		right: 6.9%;
		margin-top: 74px;
		width: 40px;
		height: 13px;
		cursor: pointer;
		z-index: 2
	}

	#modal-movie .close-btn .menu-line-top,
	#modal-profile .close-btn .menu-line-top {
		top: 4px;
		transform: rotate(30deg)
	}

	#modal-movie .close-btn .menu-line-bottom,
	#modal-profile .close-btn .menu-line-bottom {
		bottom: 9px;
		transform: rotate(-30deg)
	}

	#modal-movie .bg-txt,
	#modal-profile .bg-txt {
		position: absolute;
		top: -.8%;
		left: -1%;
		font-size: 15.27vw;
		line-height: 77%
	}

	#modal-movie .modal-wrap {
		max-width: 822px;
		width: 84%;
		padding: 120px 0;
		margin: 0 auto
	}

	#modal-movie .modal-wrap .ttl {
		font-size: 1.8rem;
		padding-bottom: 32px
	}

	#modal-movie .modal-wrap .iframe-wrap {
		position: relative;
		width: 100%;
		padding-top: 56.32%
	}

	#modal-movie .modal-wrap .iframe-wrap iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%
	}

	#modal-profile .modal-wrap {
		max-width: 612px;
		width: calc(80% - 144px);
		padding: 120px 0;
		margin: 0 auto;
		box-sizing: border-box
	}

	#modal-profile .modal-wrap figure {
		padding-bottom: 6.5%
	}

	#modal-profile .modal-wrap .txt-position {
		font-size: 1.2rem;
		padding-bottom: 8px
	}

	#modal-profile .modal-wrap .txt-name {
		padding: 0 0 24px;
		margin-bottom: 26px
	}

	#modal-profile .modal-wrap .txt-name .jp {
		display: block;
		font-size: 2.4rem;
		line-height: 160%
	}

	#modal-profile .modal-wrap .txt-name .roman {
		display: block;
		color: var(--text-secondary);
		font-size: 1.2rem
	}

	#modal-profile .modal-wrap .txt-wrap {
		font-size: 1.3rem;
		line-height: 200%
	}

	@media screen and (min-width:751px) {
		#modal-profile .pager-btn {
			position: fixed;
			top: 50%;
			right: 6.95%;
			transform: translateY(-50%)
		}

		#modal-profile .pager-btn li {
			margin: 2rem 0
		}
	}

	@media screen and (max-width:980px) {
		#modal-movie .modal-wrap {
			padding: 20% 0 25%
		}

		#modal-movie .modal-wrap .ttl {
			font-size: 3.26vw;
			padding-bottom: 5%
		}

		#modal-profile .modal-wrap {
			padding: 33.6% 0 13%
		}
	}

	@media screen and (max-width:750px) {
		#modal-movie .modal-wrap .ttl {
			font-size: 4.26vw
		}

		#modal-movie .close-btn,
		#modal-profile .close-btn {
			position: fixed;
			right: 8%;
			width: 9.6vw;
			height: 2.53vw;
			margin-top: 12.7%
		}

		#modal-movie .close-btn .menu-line-top,
		#modal-profile .close-btn .menu-line-top {
			top: 0;
			margin-top: 10%
		}

		#modal-movie .close-btn .menu-line-bottom,
		#modal-profile .close-btn .menu-line-bottom {
			bottom: 0;
			margin-bottom: 15%
		}

		#modal-movie .bg-txt {
			font-size: 32.2vw;
			top: -1.3%;
			left: -8%
		}

		#modal-profile .bg-txt {
			font-size: 32.2vw;
			top: -1.3%;
			left: 0;
			width: 100%;
			overflow: hidden
		}

		#modal-profile .bg-txt span {
			margin-left: -8%;
			padding-left: 0
		}

		#modal-profile .pager-btn {
			width: 100%;
			margin: auto auto 0;
			display: flex;
			padding-bottom: 45%;
			width: 84%;
			box-sizing: border-box
		}

		#modal-profile .pager-btn li {
			margin-right: 2rem
		}

		#modal-profile .modal-wrap {
			max-width: 100%;
			width: 84%
		}

		#modal-profile .modal-wrap figure {
			padding-bottom: 11%
		}

		#modal-profile .modal-wrap .txt-position {
			font-size: 2.66vw;
			padding-bottom: 4%
		}

		#modal-profile .modal-wrap .txt-name {
			padding-bottom: 4.8%;
			margin-bottom: 6%
		}

		#modal-profile .modal-wrap .txt-name .jp {
			font-size: 6.4vw
		}

		#modal-profile .modal-wrap .txt-name .roman {
			font-size: 2.4vw
		}

		#modal-profile .modal-wrap .txt-wrap {
			font-size: 2.93vw
		}
	}













