@charset "utf-8";
.spinner {
		display: inline-block;
		position: relative;
		width: 32px;
		height: 32px
}
.spinner:not(.is-upgraded).is-active:after {
		content: 'Loading...'
}
.spinner.is-upgraded.is-active {
		-webkit-animation: spinner-container-rotate 1568.23529ms linear infinite;
		animation: spinner-container-rotate 1568.23529ms linear infinite
}
@-webkit-keyframes spinner-container-rotate {
		to {
				-webkit-transform: rotate(360deg);
				transform: rotate(360deg)
		}
}
@keyframes spinner-container-rotate {
		to {
				-webkit-transform: rotate(360deg);
				transform: rotate(360deg)
		}
}
.spinner-layer {
		position: absolute;
		width: 100%;
		height: 100%;
		opacity: 0
}
.spinner-layer1, .spinner-layer2, .spinner-layer3, .spinner-layer4 {
		border-color: #5f6e7e
}
.spinner.is-active .spinner-layer1 {
		-webkit-animation: spinner-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, spinner-layer1-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
		animation: spinner-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, spinner-layer1-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both
}
.spinner.is-active .spinner-layer2 {
		-webkit-animation: spinner-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, spinner-layer2-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
		animation: spinner-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, spinner-layer2-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both
}
.spinner.is-active .spinner-layer3 {
		-webkit-animation: spinner-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, spinner-layer3-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
		animation: spinner-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, spinner-layer3-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both
}
.spinner.is-active .spinner-layer4 {
		-webkit-animation: spinner-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, spinner-layer4-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
		animation: spinner-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, spinner-layer4-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both
}
@-webkit-keyframes spinner-fill-unfill-rotate {
		12.5% {
				-webkit-transform: rotate(135deg);
				transform: rotate(135deg)
		}
		25% {
				-webkit-transform: rotate(270deg);
				transform: rotate(270deg)
		}
		37.5% {
				-webkit-transform: rotate(405deg);
				transform: rotate(405deg)
		}
		50% {
				-webkit-transform: rotate(540deg);
				transform: rotate(540deg)
		}
		62.5% {
				-webkit-transform: rotate(675deg);
				transform: rotate(675deg)
		}
		75% {
				-webkit-transform: rotate(810deg);
				transform: rotate(810deg)
		}
		87.5% {
				-webkit-transform: rotate(945deg);
				transform: rotate(945deg)
		}
		to {
				-webkit-transform: rotate(1080deg);
				transform: rotate(1080deg)
		}
}
@keyframes spinner-fill-unfill-rotate {
		12.5% {
				-webkit-transform: rotate(135deg);
				transform: rotate(135deg)
		}
		25% {
				-webkit-transform: rotate(270deg);
				transform: rotate(270deg)
		}
		37.5% {
				-webkit-transform: rotate(405deg);
				transform: rotate(405deg)
		}
		50% {
				-webkit-transform: rotate(540deg);
				transform: rotate(540deg)
		}
		62.5% {
				-webkit-transform: rotate(675deg);
				transform: rotate(675deg)
		}
		75% {
				-webkit-transform: rotate(810deg);
				transform: rotate(810deg)
		}
		87.5% {
				-webkit-transform: rotate(945deg);
				transform: rotate(945deg)
		}
		to {
				-webkit-transform: rotate(1080deg);
				transform: rotate(1080deg)
		}
}
@-webkit-keyframes spinner-layer1-fade-in-out {
		from, 25% {
				opacity: 0.99
		}
		26%, 89% {
				opacity: 0
		}
		90%, 100% {
				opacity: 0.99
		}
}
@keyframes spinner-layer1-fade-in-out {
		from, 25% {
				opacity: 0.99
		}
		26%, 89% {
				opacity: 0
		}
		90%, 100% {
				opacity: 0.99
		}
}
@-webkit-keyframes spinner-layer2-fade-in-out {
		from, 15% {
				opacity: 0
		}
		25%, 50% {
				opacity: 0.99
		}
		51% {
				opacity: 0
		}
}
@keyframes spinner-layer2-fade-in-out {
		from, 15% {
				opacity: 0
		}
		25%, 50% {
				opacity: 0.99
		}
		51% {
				opacity: 0
		}
}
@-webkit-keyframes spinner-layer3-fade-in-out {
		from, 40% {
				opacity: 0
		}
		50%, 75% {
				opacity: 0.99
		}
		76% {
				opacity: 0
		}
}
@keyframes spinner-layer3-fade-in-out {
		from, 40% {
				opacity: 0
		}
		50%, 75% {
				opacity: 0.99
		}
		76% {
				opacity: 0
		}
}
@-webkit-keyframes spinner-layer4-fade-in-out {
		from, 65% {
				opacity: 0
		}
		75%, 90% {
				opacity: 0.99
		}
		100% {
				opacity: 0
		}
}
@keyframes spinner-layer4-fade-in-out {
		from, 65% {
				opacity: 0
		}
		75%, 90% {
				opacity: 0.99
		}
		100% {
				opacity: 0
		}
}
.spinner-gap-patch {
		position: absolute;
		box-sizing: border-box;
		top: 0;
		left: 45%;
		width: 10%;
		height: 100%;
		overflow: hidden;
		border-color: inherit
}
.spinner-gap-patch .spinner-circle {
		width: 1000%;
		left: -450%
}
.spinner-circle-clipper {
		display: inline-block;
		position: relative;
		width: 50%;
		height: 100%;
		overflow: hidden;
		border-color: inherit
}
.spinner-circle-clipper.spinner-left {
		float: left
}
.spinner-circle-clipper.spinner-right {
		float: right
}
.spinner-circle-clipper .spinner-circle {
		width: 200%
}
.spinner-circle {
		box-sizing: border-box;
		height: 100%;
		border-width: 3px;
		border-style: solid;
		border-color: inherit;
		border-bottom-color: transparent !important;
		border-radius: 50%;
		-webkit-animation: none;
		animation: none;
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0
}
.spinner-left .spinner-circle {
		border-right-color: transparent !important;
		-webkit-transform: rotate(129deg);
		-ms-transform: rotate(129deg);
		transform: rotate(129deg)
}
.spinner-right .spinner-circle {
		left: -100%;
		border-left-color: transparent !important;
		-webkit-transform: rotate(-129deg);
		-ms-transform: rotate(-129deg);
		transform: rotate(-129deg)
}
.spinner.is-active .spinner-left .spinner-circle {
		-webkit-animation: spinner-left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
		animation: spinner-left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both
}
.spinner.is-active .spinner-right .spinner-circle {
		-webkit-animation: spinner-right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
		animation: spinner-right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both
}
@-webkit-keyframes spinner-left-spin {
		from {
				-webkit-transform: rotate(130deg);
				transform: rotate(130deg)
		}
		50% {
				-webkit-transform: rotate(-5deg);
				transform: rotate(-5deg)
		}
		to {
				-webkit-transform: rotate(130deg);
				transform: rotate(130deg)
		}
}
@keyframes spinner-left-spin {
		from {
				-webkit-transform: rotate(130deg);
				transform: rotate(130deg)
		}
		50% {
				-webkit-transform: rotate(-5deg);
				transform: rotate(-5deg)
		}
		to {
				-webkit-transform: rotate(130deg);
				transform: rotate(130deg)
		}
}
@-webkit-keyframes spinner-right-spin {
		from {
				-webkit-transform: rotate(-130deg);
				transform: rotate(-130deg)
		}
		50% {
				-webkit-transform: rotate(5deg);
				transform: rotate(5deg)
		}
		to {
				-webkit-transform: rotate(-130deg);
				transform: rotate(-130deg)
		}
}
@keyframes spinner-right-spin {
		from {
				-webkit-transform: rotate(-130deg);
				transform: rotate(-130deg)
		}
		50% {
				-webkit-transform: rotate(5deg);
				transform: rotate(5deg)
		}
		to {
				-webkit-transform: rotate(-130deg);
				transform: rotate(-130deg)
		}
}
.gifspinner {
		width: 74px
}
.mobile-page-u96-mainvisual-carousel {
		position: relative;
		z-index: 0;
		min-width: 990px
}
.mobile-page-u96-mainvisual-carousel-container {
		overflow: hidden;
		position: relative
}
.mobile-page-u96-mainvisual-carousel-inner {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		opacity: 0;
		position: relative;
		z-index: 0;
		width: 550px;
		margin: 0 auto;
		will-change: transform
}
.mobile-page-u96-mainvisual-carousel-initialize .mobile-page-u96-mainvisual-carousel-inner {
		opacity: 1
}
.mobile-page-u96-mainvisual-carousel_item {
		position: relative;
		z-index: 0;
		overflow: hidden;
		width: 100%;
		height: 550px;
		-webkit-flex-shrink: 0;
		-ms-flex-negative: 0;
		flex-shrink: 0;
		-webkit-box-flex: 0;
		-webkit-flex-grow: 0;
		-ms-flex-positive: 0;
		flex-grow: 0;
		-webkit-transition: -webkit-transform 0.2s ease-out;
		transition: -webkit-transform 0.2s ease-out;
		transition: transform 0.2s ease-out;
		transition: transform 0.2s ease-out, -webkit-transform 0.2s ease-out
}
.mobile-page-u96-mainvisual-carousel_item:before {
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 3;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, 0.5);
		-webkit-transition: opacity 0.2s ease-out;
		transition: opacity 0.2s ease-out
}
.mobile-page-u96-mainvisual-carousel-initialize .mobile-page-u96-mainvisual-carousel_item:before {
		content: ''
}
noscript .mobile-page-u96-mainvisual-carousel_item {
		margin-top: -550px
}
.mobile-page-u96-mainvisual-carousel_item--current {
		-webkit-transform: translateZ(1px);
		transform: translateZ(1px)
}
.mobile-page-u96-mainvisual-carousel_item--current:before {
		opacity: 0
}
.mobile-page-u96-mainvisual-carousel_item--enable:before {
		z-index: -1
}
.mobile-page-u96-mainvisual-carousel_link {
		position: relative;
		z-index: 1;
		display: block;
		height: 100%;
		-moz-user-select: none;
		-ms-user-select: none;
		user-select: none;
		-webkit-user-select: none;
		-webkit-user-drag: none
}
.mobile-page-u96-mainvisual-carousel_image {
		display: block;
		width: 100%;
		height: 100%;
		-moz-user-select: none;
		-ms-user-select: none;
		user-select: none;
		-webkit-user-select: none;
		-webkit-user-drag: none
}
.mobile-page-u96-mainvisual-carousel_links {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%
}
.mobile-page-u96-mainvisual-carousel_links-list_item {
		position: absolute;
		z-index: 2;
		text-indent: -9999px;
		background: #000;
		opacity: 0;
		-moz-user-select: none;
		-ms-user-select: none;
		user-select: none;
		-webkit-user-select: none;
		-webkit-user-drag: none
}
.mobile-page-u96-mainvisual-carousel--single .mobile-page-u96-mainvisual-carousel-inner, noscript .mobile-page-u96-mainvisual-carousel-inner {
		opacity: 1;
		width: auto;
		display: block
}
.mobile-page-u96-mainvisual-carousel--single .mobile-page-u96-mainvisual-carousel_item:before, noscript .mobile-page-u96-mainvisual-carousel_item:before {
		display: none
}
.mobile-page-u96-mainvisual-carousel--single .mobile-page-u96-mainvisual-carousel_image, noscript .mobile-page-u96-mainvisual-carousel_image {
		width: auto;
		height: auto;
		position: relative;
		left: 50%;
		margin-left: -1000px
}
.mobile-page-u96-mainvisual-carousel--legacy .mobile-page-u96-mainvisual-carousel-inner {
		display: block;
		font-size: 0;
		white-space: nowrap
}
.mobile-page-u96-mainvisual-carousel--legacy .mobile-page-u96-mainvisual-carousel_item {
		display: inline-block
}
.mobile-page-u96-mainvisual-carousel--legacy .mobile-page-u96-mainvisual-carousel_item--current:before {
		display: none
}
.mobile-page-u96-mainvisual-carousel-loading {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 200;
		width: 100%;
		height: 100%;
		background: #ccc
}
.mobile-page-u96-mainvisual-carousel-loading-inner {
		display: block;
		position: relative;
		margin: 0 auto;
		width: 100%;
		height: 100%;
		background: #ccc
}
.mobile-page-u96-mainvisual-carousel-loading-spinner {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		margin: auto
}
.mobile-page-u96-mainvisual-carousel-loading-gifspinner {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		margin: auto
}
.mobile-page-u96-mainvisual-carousel-controls {
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 100%
}
.mobile-page-u96-mainvisual-carousel-controls-inner {
		max-width: 1400px;
		margin: 0 auto;
		position: relative;
		z-index: 0
}
.mobile-page-u96-mainvisual-carousel-controls-prev, .mobile-page-u96-mainvisual-carousel-controls-next {
		cursor: pointer;
		position: absolute;
		top: 262px;
		z-index: 150;
		background: rgba(0, 0, 0, 0.4);
		border: none;
		width: 60px;
		height: 60px;
		border-radius: 4px;
		border: solid 1px #999;
		padding: 0;
		outline: none;
		overflow: hidden;
		box-sizing: border-box
}
.mobile-page-u96-mainvisual-carousel-controls-prev {
		position: relative;
		-webkit-transition: opacity 0.1s ease-out;
		transition: opacity 0.1s ease-out;
		left: 30px;
		position: absolute;
		text-indent: 100%
}
.mobile-page-u96-mainvisual-carousel-controls-prev:before {
		content: '';
		display: block;
		border-top: solid 2px #fff;
		border-right: solid 2px #fff;
		vertical-align: middle;
		width: 20px;
		height: 20px;
		position: absolute;
		top: 50%;
		opacity: 1
}
.mobile-page-u96-mainvisual-carousel-controls-prev:before {
		right: 0px
}
.mobile-page-u96-mainvisual-carousel-controls-prev:hover {
		opacity: 0.6
}
.mobile-page-u96-mainvisual-carousel-controls-prev:before {
		-webkit-transform: rotate(-135deg);
		-ms-transform: rotate(-135deg);
		transform: rotate(-135deg);
		top: 0;
		bottom: 0;
		left: 24px;
		margin: auto 0;
		box-sizing: border-box
}
.mobile-page-u96-mainvisual-carousel-controls-next {
		position: relative;
		-webkit-transition: opacity 0.1s ease-out;
		transition: opacity 0.1s ease-out;
		right: 30px;
		position: absolute;
		text-indent: 100%
}
.mobile-page-u96-mainvisual-carousel-controls-next:before {
		content: '';
		display: block;
		border-top: solid 2px #fff;
		border-right: solid 2px #fff;
		vertical-align: middle;
		width: 20px;
		height: 20px;
		position: absolute;
		top: 50%;
		opacity: 1
}
.mobile-page-u96-mainvisual-carousel-controls-next:before {
		right: 0px
}
.mobile-page-u96-mainvisual-carousel-controls-next:hover {
		opacity: 0.6
}
.mobile-page-u96-mainvisual-carousel-controls-next:before {
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg);
		top: 0;
		bottom: 0;
		right: 24px;
		margin: auto 0;
		box-sizing: border-box
}
.mobile-page-u96-mainvisual-carousel-controls-dots {
		width: 100%;
		max-width: 2000px;
		height: 10px;
		position: absolute;
		top: 570px;
		left: 0;
		font-size: 0;
		text-align: center;
		box-sizing: border-box;
		background-color: transparent
}
.mobile-page-u96-mainvisual-carousel-controls-dots_item {
		position: relative;
		display: inline-block;
		width: 10px;
		height: 10px;
		line-height: 0;
		vertical-align: top;
		margin-left: 8px;
		cursor: pointer
}
.mobile-page-u96-mainvisual-carousel-controls-dots_item:first-child {
		margin-left: 0px
}
.mobile-page-u96-mainvisual-carousel-controls-dots_item:before {
		content: '';
		display: block;
		height: 10px;
		width: 10px;
		background-color: #ced3d8;
		border-radius: 5px;
		-webkit-transition: background 0.3s ease-in-out;
		transition: background 0.3s ease-in-out;
		cursor: pointer
}
.mobile-page-u96-mainvisual-carousel-controls-dots_item--current {
		cursor: default
}
.mobile-page-u96-mainvisual-carousel-controls-dots_item--current:before {
		cursor: default;
		background-color: #84919d
}
.mobile-page-u96-mainvisual-carousel-controls-balloon {
		position: absolute;
		left: -59px;
		bottom: 25px;
		z-index: 1000;
		display: none;
		width: 128px;
		padding: 5px;
		font-size: 12px;
		line-height: 12px;
		background: #ffffff;
		box-sizing: border-box;
		border: 1px solid #d8dadc;
		-webkit-transform-origin: 50% 35px;
		-ms-transform-origin: 50% 35px;
		transform-origin: 50% 35px
}
.mobile-page-u96-mainvisual-carousel-controls-balloon:before {
		content: '';
		position: absolute;
		bottom: -24px;
		left: 50%;
		display: block;
		width: 0px;
		height: 0;
		margin: 0 0 0 -12px;
		border: 12px solid transparent;
		border-top: 12px solid #d8dadc
}
.mobile-page-u96-mainvisual-carousel-controls-balloon:after {
		content: '';
		position: absolute;
		bottom: -22px;
		left: 50%;
		display: block;
		width: 0;
		height: 0;
		margin: 0 0 0 -11px;
		border: 11px solid transparent;
		border-top: 11px solid #ffffff
}
.mobile-page-u96-mainvisual-carousel-dots-bg {
		min-width: 990px;
		height: 52px;
		background: #ffffff
}
.mobile-page-u96-mainvisual-rf2017-ph1-item-links {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%
}
.mobile-page-u96-mainvisual-rf2017-ph1-item-link {
		position: absolute;
		z-index: 2;
		text-indent: -9999px;
		background: #000;
		opacity: 0;
		-moz-user-select: none;
		-ms-user-select: none;
		user-select: none;
		-webkit-user-select: none;
		-webkit-user-drag: none
}