@charset "UTF-8";

/* =============================================
   BASE
============================================= */

html, body {
	margin: 0;
	padding: 0;
}

html {
	font-size: 16px;
	line-height: 1.6em;
	font-family: 'M PLUS 1p', sans-serif;
}

img {
	vertical-align: top;
	max-width: 100%;
	height: auto;
	image-rendering: -webkit-optimize-contrast;
}

h2 {
	font-size: 27px;
	line-height: 1.4em;
	letter-spacing: 0.37em;
	font-weight: 800;
}

* {
	box-sizing: border-box;
}

.spbr {
	display: none;
}

.btn01,
.btn02 {
    margin: 0 0 0.8em;
}

.btn01 a,
.btn02 a {
	display: block;
	color: #fff;
	text-decoration: none;
	text-align: center;
	padding: 1em;
	font-size: 1.125em;
	line-height: 1.2em;
	border-radius: 10em;
	position: relative;
}

.btn01 a small,
.btn02 a small {
    display: block;
}

.btn01 a::after,
.btn02 a::after {
	content: '';
	width: 2em;
	height: 1px;
	background: #fff;
	position: absolute;
	right: 0;
	top: calc(50% - 1px);
}

.btn01 a {
	background: rgb(41,207,221);
	background: -moz-linear-gradient(90deg, rgba(41,207,221,1) 0%, rgba(91,127,233,1) 100%);
	background: -webkit-linear-gradient(90deg, rgba(41,207,221,1) 0%, rgba(91,127,233,1) 100%);
	background: linear-gradient(90deg, rgba(41,207,221,1) 0%, rgba(91,127,233,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#29cfdd",endColorstr="#5b7fe9",GradientType=1);
}

.btn02 a {
	background: rgb(66,226,152);
	background: -moz-linear-gradient(90deg, rgba(66,226,152,1) 0%, rgba(60,182,182,1) 100%);
	background: -webkit-linear-gradient(90deg, rgba(66,226,152,1) 0%, rgba(60,182,182,1) 100%);
	background: linear-gradient(90deg, rgba(66,226,152,1) 0%, rgba(60,182,182,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#42e298",endColorstr="#3cb6b6",GradientType=1);
}

header#global__header {
	padding: 0;
	margin: 0;
}

header#global__header h1 {
	padding: 20px 20px 0;
	margin: 0;
	display: inline-block;
	font-size: 0;
}

header#global__header::after {
	content: '';
	width: 40%;
	height: 570px;
	position: absolute;
	top: 0;
	right: 0;
	background: #4DB8D2;
}

header#global__header div {
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
	display: block;
	padding: 10px;
}

footer#global__footer {
	background: #EBEBEB;
	text-align: center;
	margin-top: 50px;
}

footer#global__footer .footer__banner {
	top: -50px;
	position: relative;
}

footer#global__footer .footer__banner ul {
	padding: 0;
	margin: 0;
	list-style: none;
}

footer#global__footer .footer__banner ul li {
	padding: 0 2%;
	margin: 0;
	display: inline-block;
}

footer#global__footer .footer__text {
	position: relative;
	padding: 0 0 40px;
}

footer#global__footer .footer__text div {
	display: inline-block;
	vertical-align: top;
	margin-right: 5%;
	max-width: 300px;
}

footer#global__footer .footer__text address {
	font-style: normal;
	display: inline-block;
	text-align: left;
	font-size: 12px;
	line-height: 1.75em;
}

footer#global__footer small {
	display: block;
	text-align: center;
	color: #fff;
	background: #000;
	font-size: 12px;
	padding: 0.5em;
}

main {
	display: block;
	position: relative;
	margin-top: 20px;
}

#page_top {
	position: fixed;
	right: 0;
	top: 50%;
	z-index: 1000;
}

#page_top a {
	width: 60px;
	height: 60px;
	border: 1px solid #18387F;
	background: #fff;
	display: block;
	position: relative;
}

#page_top a::before {
    content: '';
    position: absolute;
    border-left: 1px solid #18387F;
    border-top: 1px solid #18387F;
    width: 30%;
    height: 30%;
    display: block;
    top: 65%;
    left: 35%;
    transform: rotate(45deg) translate(-50%, -50%);
}

#main__image {
	padding: 0 0 3em;
	position: relative;
	padding-top: 0;
	width: 100%;
	height: 37vw;
}

#main__image::before {
	content: '';
	height: 0;
	display: block;
	width: 100%;
	clear: both;
	overflow: hidden;
}

#main__image::after {
	content: '';
	display: block;
	clear: both;
	overflow: hidden;
}

#main__image figure {
	position: absolute;
	z-index: 100;
	top: 50%;
	transform: translate(0, -50%);
	padding: 0;
	margin: 0;
	width: 40%;
	max-width: 510px;
}

#main__image figure h1 {
	position: relative;
	width: 82%;
	max-width: 400px;
	left: 7%;
}

#main__image figure span {
	position: absolute;
	width: 35%;
	max-width: 180px;
	right: -28%;
	display: block;
	top: 50%;
	transform: translate(0, -50%);
}

#main__image figure span img {
    width: 100%;
    height: auto;
}

#main__image .slider__wrap {
	display: block;
	width: 58%;
	margin-right: 0;
	margin-left: auto;
	position: absolute;
	right: 0;
	left: auto;
	float: right;
}

.title {
	z-index: 100;
	position: relative;
	max-width: 1024px;
	margin: 0 auto;
	display: block;
	clear: both;
	padding: 1em 0;
}

.title h2 {
	padding: 0;
	margin: 0;
	font-size: 27px;
	line-height: 1.4em;
}

.title strong {
	font-size: 1em;
	line-height: 1.2em;
	padding: 0;
	margin: 0.5em 0;
	letter-spacing: 0.2em;
	display: block;
	font-weight: 500;
}

/* =======================================================
	 toggle navi
======================================================= */

i.menu-trigger {
	display: inline-block;
	top: 0;
	right: 0;
	background: #18387F;
	width: 3em;
	height: 3em;
	position: absolute;
	z-index: 103;
}

i.menu-trigger a {
	display: inline-block;
	transition: all .4s;
	opacity: 1;
	width: 3em;
	height: 3em;
	z-index: 100003;
	margin: auto;
	box-sizing: border-box;
	top: 0;
	right: 0;
	position: relative;
}

i.menu-trigger a span {
	position: absolute;
	left: 20%;
	width: 60%;
	height: 2px;
	background-color: #fff;
	border-radius: 5px;
}

i.menu-trigger a span:nth-of-type(1) {
	top: calc(30% + 1px);
}

i.menu-trigger a span:nth-of-type(2) {
	top: calc(60% - 1px);
}

i.menu-trigger.active a {
	-webkit-transform: rotate(360deg);
	transform: rotate(360deg);
}

i.menu-trigger.active a span {
	background-color: #fff;
}

i.menu-trigger.active a span:nth-of-type(1) {
	-webkit-transform: translateY(8px) rotate(-45deg);
	transform: translateY(8px) rotate(-45deg);
}

i.menu-trigger.active a span:nth-of-type(2) {
	-webkit-transform: translateY(-5px) rotate(45deg);
	transform: translateY(-5px) rotate(45deg);
}

/* =============================================
   .slider
============================================= */

.slider {
    width: 100%;
    margin: 0;
    margin-bottom: 10px !important;
    padding: 0;
    right: 0;
}

.slick-slide {
	padding: 0 16px 0 0;
	width: 50vw;
	max-width: 50% !important;
}

.slick-slide img {
	width: 100%;
	max-width: 1024px;
}

.slick-active {
	opacity: 1;
}

.slick-current {
	opacity: 1;
}

.slick-dots {
  list-style-type:none;
  counter-reset: number;
  width: 60%;
  max-width: auto;
  right: 0;
  margin-left: auto;
  position: relative;
  display: block;
  z-index: 10;
  bottom: 0;
}

.slick-dots li button::before {
  counter-increment: number;
  content: '0'counter(number);
  color: #fff !important;
  opacity: 1;
  font-weight: bold;
}

.slick-dots li.slick-active button::before {
	color: #18387F !important;
}

.slick-dots li:nth-child(9) ~ li button::before {
  content: counter(number);
}

/* #message
============================================= */

#message {
	color: #18387F;
	position: relative;
	margin-top: 10vw;
	box-sizing: border-box;
}

#message::after {
	content: '';
	display: block;
	clear: both;
	overflow: hidden;
}

#message .title {
	position: relative;
	z-index: 1;
	max-width: 1024px;
	margin: 0 auto;
}

#message figure {
	position: absolute;
	z-index: 1;
	padding: 0;
	margin: 0;
	left: calc(50% - 520px);
}

#message section {
	background: #18387F;
	position: relative;
	padding: 0;
	width: 100%;
	top: 2em;
	margin-top: 4em;
}

#message section div {
	background: #F2F2F2;
	border-radius: 0 0 0 9em;
	display: block;
	width: 55%;
	box-sizing: border-box;
	padding: 3em 0 3em 7em;
	position: relative;
	margin-left: auto;
}

#message div::after {
	content: '';
	display: block;
	clear: both;
	overflow: hidden;
}

#message section div h3 {
	font-size: 2.5em;
	letter-spacing: 0.05em;
	line-height: 1.4em;
	font-weight: 500;
	padding: 0;
	margin: 0.5em 0;
	position: relative;
	left: -0.5em;
}

#message section div p {
	font-size: 1.125em;
	line-height: 1.9em;
	letter-spacing: 0.05em;
	margin: 1.5em 0; 
}

/* #features
============================================= */

#features {
	position: relative;
	z-index: 2;
	padding: 2em 0 0;
	box-sizing: border-box;
	margin: 2em auto;
	clear: both;
	overflow: hidden;
}

#features::after {
	content: '';
	width: 100%;
	height: 23em;
	position: absolute;
	z-index: 0;
	background: #18387F;
	top: 0;
}

#features .title {
	color: #fff;
	max-width: calc(1024px + 4em);
	margin-left: auto;
	padding: 0 2em 2em;
}

#features .features__list {
	position: relative;
	max-width: calc(1024px + 4em);
	margin: 0 auto;
	padding: 0 2em;
	box-sizing: border-box;
	z-index: 1;
}

#features .features__list ol {
	padding: 0;
	margin: 0;
}

#features .features__list ol li {
	background: #fff;
	display: block;
	box-shadow: 7px 7px 5px rgba(0,0,0,0.15);
	margin: 0 0 1em;
	padding: 1em;
	box-sizing: border-box;
	position: relative;
}

#features .features__list ol li strong {
	font-size: 1.2em;
	font-weight: 400;
	display: block;
	margin-left: 2.5em;
}

#features .features__list ol li::before {
	content: '';
	width: 4em;
	height: 2.4em;
	display: block;
	position: absolute;
	left: -1.3em;
	top: 50%;
	transform: translate(0, -50%);
}

#features .features__list ol li:nth-of-type(1)::before {
	background:url(../img/number__01.png) no-repeat center center;
	background-size: 95%;
}

#features .features__list ol li:nth-of-type(2)::before {
	background:url(../img/number__02.png) no-repeat center center;
	background-size: 95%;
}

#features .features__list ol li:nth-of-type(3)::before {
	background:url(../img/number__03.png) no-repeat center center;
	background-size: 95%;
}

#features .features__list ol li:nth-of-type(4)::before {
	background:url(../img/number__04.png) no-repeat center center;
	background-size: 95%;
}

#features .features__list ol li:nth-of-type(5)::before {
	background:url(../img/number__05.png) no-repeat center center;
	background-size: 95%;
}

#features .features__technology {
	position: relative;
}

#features .features__technology .title {
	color: #18387F;
	text-align: center;
	margin-top: 5em;
}

#features .features__technology .features__text {
	max-width: 1024px;
	box-sizing: border-box;
	padding: 1em 0 5em;
	margin: 0 auto;
}

#features .features__technology .features__text .features__text_in {
	max-width: 50%;
}

#features .features__technology .features__text h3 {
	font-size: 1.75em;
	line-height: 2em;
	letter-spacing: 0.03em;
	margin: 1em 0;
	padding: 0;
	font-weight: 400;
}

#features .features__technology .features__text p {
	line-height: 2.3em;
	text-align: justify;
}

#features .features__technology figure {
	width: 42%;
	background: url(../img/features__bg01.png) no-repeat center bottom;
	background-size: cover;
	padding: 0;
	margin: 0;
	position: absolute;
	top: -30em;
	right: 0;
	display: inline-block;
	height: calc(100% + 32em);
	vertical-align: middle;
}

#features .features__technology figure img {
	position: absolute;
	top: 50%;
	left: -2em;
	transform: translate(0, -15%);
}

#features .features__items {
	background: #18387F;
	position: relative;
}

#features .features__items ul {
	padding: 0;
	margin: 0 auto;
	list-style: none;
	max-width: 1024px;
	display: flex;
	display: -webkit-flex;
}

#features .features__items ul li {
	padding: 0;
	margin: 0;
	width: calc(100% / 3);
	position: relative;
}

#features .features__items ul li div {
	position: absolute;
	bottom: 0;
	color: #fff;
	z-index: 3;
	box-sizing: border-box;
	padding: 1em 1.8em;
}

#features .features__items ul li div h3 {
	font-size: 1.7em;
	line-height: 1.4em;
	font-weight: 400;
}

#features .features__items ul li div p {
	line-height: 2em;
}

#features .features__items ul li figure {
	padding: 0;
	margin: 0;
	position: relative;
}

#features .features__items ul li figure::after {
	content: '';
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,0,0,0.39);
	z-index: 2;
	position: absolute;
}

/* #product
============================================= */

#product {
	padding: 5em 3%;
	box-sizing: border-box;
}

#product .title {
	color: #18387F;
	margin-bottom: 3em;
}

#product .product__list::after {
	content: '';
	display: block;
	clear: both;
	overflow: hidden;
}

#product .product__list ul {
	padding: 0;
	margin: 0 auto;
	max-width: 1024px;
	list-style: none;
}

#product .product__list ul li {
	padding: 0 0 3em;
	margin: 0;
	width: 45%;
}

#product .product__list ul li:nth-of-type(odd) {
	float: right;
}

#product .product__list ul li:nth-of-type(even) {
	float: left;
}

#product .product__list ul li figure {
	padding: 0;
	margin: 0 0 1em;
}

#product .product__list ul li .product__text {
	display: block;
	margin-bottom: 2em;
	overflow: hidden;
}

#product .product__list ul li .product__text small {
	font-weight: 800;
	font-size: 0.9em;
	color: #18387F;
}

#product .product__list ul li .product__text h2 {
	font-size: 1.625em;
	line-height: 1.3em;
	letter-spacing: -0.02em;
	font-weight: 400;
	padding: 0.2em 0;
	margin: 0;
}

#product .product__list ul li .product__text strong {
	font-weight:400;
	display: block;
	margin: 0 0 2em;
}

#product .product__list ul li .product__text p {
	margin: 2em 0;
}

#product .product__list ul li .product__btn {
	overflow: hidden;
	display: block;
	clear: both;
}

#product .product__list ul li:first-child,
#product .product__list ul li:last-child {
	padding: 0 0 3em;
	margin: 0;
	width: 100%;
	float: none;
	overflow: hidden;
}

#product .product__list ul li:first-child figure,
#product .product__list ul li:last-child figure {
	padding: 0 5% 3em 0;
	margin: 0;
	width: 50%;
	float: left;
	box-sizing: border-box;
}

#product .product__list ul li:first-child .product__btn .btn01,
#product .product__list ul li:last-child .product__btn .btn01 {
    width: 46%;
    float: left;
}

#product .product__list ul li:first-child .product__btn .btn02,
#product .product__list ul li:last-child .product__btn .btn02 {
    width: 46%;
    float: left;
    margin-left: 7%;
}

#product .att {
	max-width: 1024px;
	margin: 0 auto;
	background: #F2F2F2;
	box-sizing: border-box;
	padding: 2em;
}

#product .att small {
	display: block;
}

#product .product__list ul.product__slide {
	padding: 0 5% !important;
	margin-bottom: 0 !important;
}

#product .product__list ul.product__slide li {
    padding: 0 0 0 !important;
}

#product .product__list ul.product__slide .slick-slide {
	padding: 0 !important;
}

#product .product__list ul.product__slide .slick-arrow {
	color: rgb(41,207,221);
	background: none;
	border: none;
	position: absolute;
	height: 100%;
	width: 11px;
	top: 50%;
	transform: translate(0, -50%);
	text-align: center;
	z-index: 10;
	font-size: 0.8em;
}

#product .product__list ul.product__slide .arrow__left {
    left: 0;
    text-align: left;
    background: url(../img/arrow__left.png) no-repeat center center;
    background-size: contain;
}

#product .product__list ul.product__slide .arrow__right {
    right: 0;
    text-align: right;
    background: url(../img/arrow__right.png) no-repeat center center;
    background-size: contain;
}

#product .product__list ul.product__slide .slick-arrow img {
    width: 100%;
    height: auto;
	position: absolute;
	text-align: center;
}

/* #scene
============================================= */

#scene {
	background: #18387F;
}

#scene section {
	max-width: 1024px;
	margin: 0 auto;
	display: flex;
}

#scene section .scene__text {
	max-width: 570px;
	width: 50%;
	position: relative;
	color: #fff;
	box-sizing: border-box;
	padding: 0 5%;
}

#scene section .scene__text div {
	margin: 5% 0;
}

#scene section .scene__text div h3 {
	font-size: 1.75em;
	line-height: 1.5em;
	font-weight: 400;
	margin: 2.4vw 0 2%;
	padding: 0;
}

#scene section .scene__text div p {
	line-height: 1.9em;
	margin: 0;
	padding: 0;
}

#scene section figure {
	padding: 0;
	margin: 0;
	width: 25%;
}

/* #howto
============================================= */

#howto {
	padding: 5em 0;
}

#howto .title {
	color: #18387F;
	margin-bottom: 3em;
	text-align: center;
	margin: 3em 5% 2em;
}

#howto .howto__text {
	padding: 0 5%;
	text-align: center;
}

#howto .howto__text figure {
	max-width: 1024px;
	margin: 0 auto;
	padding: 0;
}

#howto .btn01 {
	max-width: 1024px;
	margin: 5em auto;
	text-align: center;	
}

#howto .btn01 a {
	display: inline-block;
	padding: 1em 3em 1em 3.5em;
}

#howto .btn01 a::before {
    content: '';
    width: 2em;
    height: 2em;
    background: url(../img/ico__pdf01.png) no-repeat center center;
    display: block;
    position: absolute;
    left: 1em;
    top: 50%;
    transform: translate(0, -50%);
}

/* #faq
============================================= */

#faq {
	padding: 5em 3%;
    box-sizing: border-box;
}

#faq .title {
	color: #18387F;
	margin-bottom: 3em;
}

#faq .faq__text {
	max-width: 1024px;
	margin: 0 auto;
}

#faq ol {
	padding: 0;
	margin: 0;
	list-style: none;
	color: #18387F;
}

#faq ol li {
	padding: 2em 0;
	margin: 0;
	position: relative;
	border-bottom: 1px dotted #18387F;
}

#faq ol li::after {
    content: '';
    clear: both;
    overflow: hidden;
    display: block;
}

#faq ol li:nth-of-type(1) {
	padding-top: 0;
}

#faq ol li strong {
	font-size: 1.56em;
	line-height: 2em;
	padding-left: 3em;
	display: block;
	position: relative;
	font-weight: 500;
}

#faq ol li strong::before {
	content: '';
	width: 2.5em;
	height: 2.2em;
	position: absolute;
	left: 0;
	top: 0;
}

#faq ol li:nth-of-type(1) strong::before {
	background: url(../img/faq__number01.png) no-repeat center center;
	background-size: contain;
}

#faq ol li:nth-of-type(2) strong::before {
	background: url(../img/faq__number02.png) no-repeat center center;
	background-size: contain;
}

#faq ol li:nth-of-type(3) strong::before {
	background: url(../img/faq__number03.png) no-repeat center center;
	background-size: contain;
}

#faq ol li div {
	float: left;
	padding: 1em 0 0;
}

#faq ol li p {
	font-size: 1.125em;
	line-height: 1.8em;
	margin: 1em 0 0;
	font-weight: 400;
}

#faq ol li:nth-of-type(2) div {
	max-width: calc(100% - 260px);
}

#faq ol li figure {
    padding: 0;
    margin: 0 auto;
    float: right;
    max-width: 250px;
}

#faq .btn01 {
	text-align: center;
	padding: 6em 0 0;
}

#faq .btn01 a {
	display: inline-block;
	width: 60%;
	min-width: 280px;
	box-sizing: border-box;
	padding: 1.5em 3em 1.5em 3.5em;
	margin: 0 auto;
}
/* footer
============================================= */
footer#global__footer small {
	text-transform: uppercase;
}
/* ===================================================================
======================================================================
	SP
======================================================================
=================================================================== */


@media(min-width:1225px){

#main__image {
	height: 450px;
}

#main__image .slider__wrap {
	display: block;
	width: calc(100% - 530px);
	margin-right: 0;
	margin-left: 530px;
	position: absolute;
	right: 0;
	left: auto;
	float: right;
}

#main__image .slider__wrap .slick-slide {
	padding: 0 16px 0 0;
	width: auto !important;
	max-width: 50% !important;
}

#main__image .slider__wrap .slick-slide img {
	max-height: 450px;
	max-width: auto;
	width: auto !important;
}

}

@media(max-width:1200px) and (min-width: 1px){

header#global__header::after {
	height: calc(42vw + 4em);
}

#main__image .slider__wrap {
	display: block;
	width: 58%;
	margin-right: 0;
	margin-left: 42%;
	position: absolute;
	right: 0;
	left: auto;
	float: right;
}

}

@media(max-width:1100px) and (min-width: 1px){

#message .title {
	margin-left: 4%;
}

#message figure {
	left: 4%;
	width: 50%;
}

#message section div {
	background: #F2F2F2;
	border-radius: 0 0 0 9em;
	display: block;
	max-width: 55%;
	box-sizing: border-box;
	padding: 3em 3% 3em 7em;
	position: relative;
	margin-left: auto;
}

#faq .faq__text {
	max-width: 100%;
	padding: 0;
}

#features .features__technology .features__text {
	margin-left: 4%;
}

}

@media(max-width:1024px) and (min-width: 1px){

#scene section .scene__text div h3 {
	font-size: 2.7vw;
	line-height: 1.5em;
	margin: 3.2vw 0 1vw;
}

#scene section .scene__text div p {
	font-size: 1.5vw;
	line-height: 1.9em;
}

}

@media(max-width:960px) and (min-width: 1px){

#features .features__items ul li div h3 {
	font-size: 2.5vw;
	line-height: 1.4em;
	font-weight: 400;
}

#features .features__items ul li div p {
	font-size: 1.7vw;
	line-height: 1.7em;
}

}

@media(max-width:860px) and (min-width: 1px){

#message figure {
	left: 3%;
}

#message figure {
	left: 3%;
	width: 70%;
}

#message section div {
	background: #F2F2F2;
	border-radius: 0 0 0 15vw;
	display: block;
	width: 87%;
	max-width: 87%;
	padding: 44vw 0 3em 2em;
}

#faq ol li:nth-of-type(2) div {
	max-width: 67%;
}

#faq ol li:nth-of-type(2) figure {
	max-width: 30%;
}

}

@media(max-width:640px) and (min-width: 1px){

main {
	margin-top: 8vw;
}

.spbr {
	display: block;
}


header#global__header::after {
    width: 45%;
    height: 140vw;
}

header#global__header h1 {
	position: relative;
	z-index: 100;
}

header#global__header div {
	display: none;
}

#main__image {
	padding: 0 0 3em;
	position: relative;
	padding-top: 0;
	width: 100%;
	height: auto;
}

#main__image figure {
	position: relative;
	top: 0;
	transform: translate(0, 0);
	width: 50%;
}

#main__image figure h1 {
	position: relative;
	z-index: 100;
	top: 0;
	left: 10%;
	transform: translate(0, 0);
	padding: 0;
	margin: 0;
	width: 95%;
	max-width: 510px;
}

#main__image figure span {
    position: relative;
    width: 70%;
    max-width: 280px;
    top: 3vw;
    left: 5%;
    transform: translate(0, 0);
}

#main__image figure span img {
    max-width: 100% !important;
}

#main__image .slider__wrap {
    display: block;
    width: 85%;
    margin-right: 0;
    margin-left: 15%;
    position: absolute;
    box-sizing: border-box;
    right: 0;
    left: 0;
    top: 25vw;
    float: none;
}

.slick-slide {
	padding: 0 14px 0 0;
	width: 72vw;
	max-width: 100% !important;
	position: relative;
}

.slick-slide li {
	overflow: hidden;
}

.slick-slide img {
	padding: 0;
	width: 100%;
	height: auto;
	left: 0;
	position: relative;
	overflow: hidden;
}

.btn01 a,
.btn02 a {
	padding-top: 1.5em !important;
	padding-bottom: 1.5em !important;
}

#features .title strong,
#product .title strong,
#howto .title strong,
#faq .title strong {
    font-size: 3.6vw;
}

#features .title h2,
#product .title h2,
#howto .title h2,
#faq .title h2 {
    font-size: 5.5vw;
}


#message section div h3 {
	font-size: 6.2vw;
	letter-spacing: 0.05em;
	line-height: 1.4em;
	margin: 0.5em 0;
	left: -0.5em;
}

#message section div p {
	font-size: 3.5vw;
	line-height: 1.9em;
	letter-spacing: 0;
	margin: 1.5em 0; 
}

#features {
	padding: 3em 0 0;
}

#features .features__technology .title {
	padding-top: 60vw;
	text-align: left;
	padding-left: 4%;
	padding-right: 4%;
}

#features .features__technology figure {
	width: 70%;
	background: url(../img/features__bg01.png) no-repeat center top;
	background-size: cover;
	padding: 20vw 0 35em;
	margin: 0;
	position: absolute;
	top: -52vw;
	right: 0;
	display: inline-block;
	height: 135vw;
	vertical-align: middle;
}

#features .features__technology figure img {
    width: 100%;
    height: auto;
    margin: 0 auto;
	position: absolute;
	top: 34vw;
	left: 0;
	transform: translate(0, 0);
}

#features .features__technology .features__text {
	margin: 0 4%;
	width: 92%;
	background: #fff;
	float: none;
	display: block;
	box-sizing: border-box;
	z-index: 1000;
}

#features .features__technology .features__text h3 {
	font-size: 6.5vw;
	line-height: 2em;
}

#features .features__technology .features__text p {
	font-size: 3.5vw;
	line-height: 2.3em;
}

#features .features__technology .features__text .features__text_in {
	max-width: 100%;
}

#features .features__items ul {
	display: block;
}

#features .features__items ul li {
	padding: 0;
	margin: 0;
	width: 100%;
	position: relative;
}


#features .features__list ol li strong {
	font-size: 3.5vw;
	font-weight: 400;
}

#features .features__items ul li figure {
	width: 100%;
	height: 80vw;
	overflow: hidden;
}

#features .features__items ul li figure img {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    width: 100%;
    height: auto;
}

#features .features__items ul li div h3 {
    font-size: 6.5vw;
    line-height: 2em;
    letter-spacing: 0.03em;
}

#features .features__items ul li div p {
	font-size: 3.5vw;
	line-height: 2em;
}

#product .product__list ul li {
	padding: 0 0 3em;
	margin: 0;
	width: 100%;
}


#product .product__list ul li .product__btn .btn01 {
    margin-bottom: 5%;
}

#product .product__list ul li figure img {
	width: 100%;
}

#product .product__list ul li:first-child,
#product .product__list ul li:last-child {
	padding: 0 0 3em;
	margin: 0;
	width: 100%;
	float: none;
	overflow: hidden;
}

#product .product__list ul li:first-child figure,
#product .product__list ul li:last-child figure {
	padding: 0 0 3em 0;
	margin: 0;
	width: 100%;
	float: none;
	box-sizing: border-box;
}

#product .product__list ul li:first-child figure img,
#product .product__list ul li:last-child figure img {
    width: 100%;
}

#product .product__list ul li:first-child .product__btn .btn01,
#product .product__list ul li:last-child .product__btn .btn01 {
    width: 100%;
    float: none;
    margin-bottom: 5%;
}

#product .product__list ul li:first-child .product__btn .btn02,
#product .product__list ul li:last-child .product__btn .btn02 {
    width: 100%;
    float: none;
    margin-left: 0;
}

#product .product__list ul li .product__text small {
	font-size: 4vw;
}

#product .product__list ul li .product__text h2 {
	font-size: 5.5vw;
	line-height: 1.5em;
}

#product .product__list ul li .product__text strong {
	font-size: 3.4vw;
	font-weight:400;
	display: block;
	margin: 0 0 2em;
}

#product .product__list ul li .product__text p {
	font-size: 3.5vw;
	line-height: 2em;
	margin: 2em 0;
}

#scene section {
	margin: 0 auto;
	display: block;
}

#scene section .scene__text {
	width: 100%;
	max-width: 100%;
	padding: 5vw 4%;
}

#scene section .scene__text div {
	margin: 5vw 0;
	display: block;
}

#scene section .scene__text div:nth-of-type(2) {
    margin: 15vw 0 5vw;
}

#scene section .scene__text div h3 {
	font-size: 6.5vw;
	line-height: 1.5em;
	font-weight: 400;
	margin: 5vw 0 3vw;
	padding: 0;
	text-align: justify;
}

#scene section .scene__text div p {
	font-size: 3.5vw;
	line-height: 2em;
	margin: 0;
	padding: 0;
	text-align: justify;
}

#scene section figure {
	padding: 0;
	margin: 0;
	width: 100%;
}

#howto .btn01 {
    margin: 4vw auto;
}

#howto .btn01 span {
	display: block;
    text-align: left;
}

#faq ol li strong {
	font-size: 4vw;
	line-height: 1.5em;
	padding-left: 3.3em;
	display: block;
	position: relative;
}

#faq ol li p {
	font-size: 3.5vw;
	line-height: 2em;
	margin: 1em 0;
}

#faq ol li:nth-of-type(2) div {
	max-width: 100%;
}

#faq ol li:nth-of-type(2) figure {
    padding: 0;
    margin: 0 auto;
    float: none;
    max-width: 250px;
    width: 75%;
}

footer#global__footer .footer__banner ul li {
    padding: 0;
    margin: 1em 0;
    display: block;
}

footer#global__footer .footer__text div {
	display: block;
	vertical-align: top;
	margin: 1em auto;
	max-width: 280px;
}

footer#global__footer .footer__text div img {
    width: 100%;
}

footer#global__footer .footer__text address {
	font-style: normal;
	display: block;
	text-align: left;
	font-size: 3vw;
	width: 21em;
	line-height: 1.75em;
	margin: 1em auto;
}
#faq .btn01 {
    padding: 2em 0 0;
}

}

@media(max-width:540px) and (min-width: 1px){

#features::after {
	content: '';
	height: 77vw;
}
}
@media(max-width:480px) and (min-width: 1px){

#features .features__technology figure {
	padding: 50vw 0 35em;
	height: 187vw;
	top: -95vw;
}

#features .features__technology figure img {
	top: 80vw;
}

}

@media(max-width:450px) and (min-width: 1px){

header#global__header::after {
    height: calc(155vw);
}

header#global__header h1 {
	position: relative;
	width: 80%;
	padding: 5vw;
}

#main__image figure span {
    position: relative;
    width: 80%;
    max-width: 280px;
    top: 3vw;
    left: 5%;
    transform: translate(0, 0);
}

.slick-slide {
	width: 75vw;
	height: auto;
}

}

@media(max-width:420px) and (min-width: 1px){

#features::after {
	content: '';
	height: 90vw;
}

#features .features__technology figure {
	padding: 60vw 0 0;
	top: -113vw;
	height: 210vw;
}

#features .features__technology figure img {
	top: 92vw;
}

header#global__header::after {
    height: calc(160vw);
}

#product .product__list ul.product__slide .slick-arrow {
	font-size: 0.6em;
}

}

@media(max-width:360px) and (min-width: 1px){

#features .features__technology figure {
	padding: 50vw 0 0;
	top: -160vw;
	height: 255vw;
}

#features .features__technology figure img {
	top: 140vw;
}

}