@charset 'UTF-8';

html {
	overflow-y: scroll;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td {
	margin: 0;
	padding: 0;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
	font-style: normal;
}

table {
	border-spacing: 0;
	border-collapse: collapse;
}

caption,
th {
	text-align: left;
}

q:before,
q:after {
	content: '';
}

img,
object,
embed {
	vertical-align: top;
}

hr,
legend {
	display: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 100%;
}

img,
abbr,
acronym,
fieldset {
	border: 0;
}

li {
	list-style-type: none;
}

* {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

html {
	font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', sans-serif;
	font-size: calc( 100vw / 37.5);

	-webkit-text-size-adjust: 100%;
	   -moz-text-size-adjust: 100%;
	    -ms-text-size-adjust: 100%;
	        text-size-adjust: 100%;
}

body {
	min-width: 320px;
	padding-top: 50px;
	color: #001e46;
	font-family: inherit;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.75;
	letter-spacing: -.05em;
}

input,
textarea,
button {
	font-family: inherit;
	font-size: inherit;
}

a {
	color: #001e46;
	text-decoration: none;
	outline: none;
}

img {
	max-width: 100%;
	height: auto;
}

.l-page {
	position: relative;
	padding-bottom: 83px;
	background-color: #bee6ff;
	background-image: url(../img/pump/sp/bg_space.png), url(../img/pump/sp/bg_sky_01.png);
	background-repeat: no-repeat, no-repeat;
	background-position: center top, center bottom 397px;
	background-size: 950px auto, 575px auto;
}

.section-wrapper {
	position: relative;
}

.section-wrapper::before {
	display: block;
	position: absolute;
	z-index: 0;
	left: 0;
	width: 100%;
	content: '';
}

.section-wrapper.section-wrapper-06::before {
	bottom: -114px;
	height: 156px;
	background: url(../img/pump/sp/bg_sky_05.png) no-repeat center bottom;
	background-size: 380px auto;
}

.section-wrapper.section-wrapper-05::before {
	bottom: -270px;
	height: 311px;
	background: url(../img/pump/sp/bg_sky_04.png) no-repeat center bottom;
	background-size: 950px auto;
}

.section-wrapper.section-wrapper-04::before {
	bottom: -79px;
	height: 168px;
	background: url(../img/pump/sp/bg_sky_03.png) no-repeat center bottom;
	background-size: 495px auto;
}

.section-wrapper.section-wrapper-02::before {
	bottom: -35px;
	height: 109px;
	background: url(../img/pump/sp/bg_sky_02.png) no-repeat center bottom;
	background-size: 495px auto;
}

.l-section {
	position: relative;
	width: 300px;
	margin: 0 auto;
	padding-top: 65px;
	padding-bottom: 35px;
	background-repeat: no-repeat, repeat-y;
	background-position: right 41px top, right 41px top;
}

.l-section::before {
	display: block;
	position: absolute;
	z-index: 2;
	bottom: 0;
	left: 50%;
	width: 52px;
	height: 52px;
	margin-left: -26px;
	background: url(../img/pump/sp/img_pump_water.png) no-repeat left top;
	background-size: 52px 52px;
	content: '';
}

.l-section.section-01,
.l-section.section-04,
.l-section.section-05 {
	background-image: url(../img/pump/sp/bg_pump_02.png), url(../img/pump/sp/bg_pump_03.png);
	background-size: 129px 131px, 129px 5px;
}

.l-section.section-02 {
	background-image: url(../img/pump/sp/bg_pump_04.png), url(../img/pump/sp/bg_pump_03.png);
	background-size: 244px 136px, 129px 5px;
}

.l-section.section-06 {
	padding-top: 10px;
	background-image: none, url(../img/pump/sp/bg_pump_03.png);
	background-size: 0, 129px 5px;
}

.l-top {
	padding-top: 32px;
}

.l-header {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	visibility: hidden;
	opacity: 0;
	position: fixed;
	z-index: 10;
	top: 0;
	left: 0;
	width: 100%;
	height: 50px;
	background: #fff;

	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	        justify-content: space-between;
}

.l-footer {
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 87px;
	padding-top: 52px;
	background: url(../img/pump/sp/bg_footer.png) no-repeat center bottom;
	background-size: cover;
	text-align: center;
}

.l-hero {
	position: relative;
	overflow: hidden;
	height: 384px;
	background: url(../img/pump/sp/bg_silhouette.png) no-repeat center bottom;
	background-size: 950px auto;
}

.l-modal {
	display: none;
}

.l-modal-s {
	display: none;
}

.l-popup {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	position: relative;
	width: 246px;
	height: 243px;
	margin: 0 auto;
	padding: 30px 25px 57px;
	background: url(../img/pump/sp/bg_popup.png) no-repeat center top;
	background-size: 246px 243px;
	font-size: 1.6rem;

	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	        align-items: center;
}

.l-popup-l {
	width: 281px;
	height: auto;
	padding: 0 0 40px;
	background: url(../img/pump/sp/bg_popup_l.png) no-repeat center bottom;
	background-size: 281px 291px;
	font-size: 1.6rem;

	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	        align-items: flex-start;
}

.l-slider {
	opacity: 0;
	height: 290px;
}

.l-nav {
	display: none;
	position: fixed;
	z-index: 10;
	top: 50px;
	left: 0;
	width: 100%;
	background: #fff;
}

.l-nav .nav_inner {
	max-width: 320px;
	margin: 0 auto;
}

html.is-start {
	overflow: hidden;
}

ruby rt {
	font-size: .5em;
	letter-spacing: -.1em;
}

.inner {
	width: 300px;
	margin: 0 auto;
}

.btn-unit-oldpump {
	position: absolute;
	bottom: -27px;
	left: -20px;
}

.btn-oldpump {
	display: inline-block;
	width: 129px;
}

.pagetop {
	position: fixed;
	z-index: 10;
	right: 2px;
	bottom: 33px;
}

.contents {
	opacity: 0;
}

.loader {
	position: fixed;
	z-index: 100;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #bee6ff;
	background-image: url(../img/pump/sp/bg_cloud_loading.png);
	background-repeat: repeat-x;
	background-position: center center;
	background-size: 450px auto;
	text-align: center;
}

.loader_message {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 243px;
	height: 132px;
	margin-top: -66px;
	margin-left: -122px;
}

.header_logo {
	display: inline-block;
	width: 119px;
	margin: 8px 0 7px 10px;
}

.btn-nav-open {
	display: block;
	width: 40px;
	height: 39px;
	margin: 6px 7px 6px 0;
}

.top_fairy {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	opacity: 0;
	margin-bottom: 5px;
	-webkit-transition: all .8s ease-in;
	     -o-transition: all .8s ease-in;
	        transition: all .8s ease-in;

	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: end;
	-webkit-align-items: flex-end;
	-ms-flex-align: end;
	        align-items: flex-end;
}

.top_fairy.is-scroll {
	opacity: 1;
}

.top_fairy .fairy-nano {
	width: 162px;
	padding-right: 14px;
}

.top_fairy .fairy-pon {
	width: 151px;
	padding-left: 14px;
}

.top_message {
	position: relative;
	padding: 0 45px 9px;
	background-size: contain;
	text-align: center;
}

.top_message::before {
	display: block;
	opacity: 0;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 300px;
	height: 75px;
	background: url(../img/pump/sp/bg_message.png) no-repeat left top;
	background-size: contain;
	text-align: center;
	content: '';
	-webkit-transition: all .5s ease-in;
	     -o-transition: all .5s ease-in;
	        transition: all .5s ease-in;
	-webkit-transition-delay: 1.5s;
	     -o-transition-delay: 1.5s;
	        transition-delay: 1.5s;
}

.top_message.is-scroll::before {
	opacity: 1;
}

.top_message.is-scroll .message_img.message_img-01,
.top_message.is-scroll .message_img.message_img-02,
.top_message.is-scroll .message_img.message_img-03 {
	opacity: 1;
}

.top_message .message_img {
	opacity: 0;
	width: 233px;
	-webkit-transition: all .5s ease-in;
	     -o-transition: all .5s ease-in;
	        transition: all .5s ease-in;
}

.top_message .message_img.message_img-02 {
	-webkit-transition-delay: .5s;
	     -o-transition-delay: .5s;
	        transition-delay: .5s;
}

.top_message .message_img.message_img-03 {
	-webkit-transition-delay: .5s;
	     -o-transition-delay: .5s;
	        transition-delay: .5s;
}

@-webkit-keyframes top-message {
	0% {
		-webkit-transform: translate(-100%, 0%);
		        transform: translate(-100%, 0%);
	}

	100% {
		-webkit-transform: translate(0%, 0%);
		        transform: translate(0%, 0%);
	}
}

@keyframes top-message {
	0% {
		-webkit-transform: translate(-100%, 0%);
		        transform: translate(-100%, 0%);
	}

	100% {
		-webkit-transform: translate(0%, 0%);
		        transform: translate(0%, 0%);
	}
}

.top_pump {
	position: relative;
	width: 300px;
	height: 140px;
	margin: 0 auto;
}

.top_pump::after {
	display: block;
	position: absolute;
	z-index: 1;
	right: 41px;
	bottom: -1px;
	width: 129px;
	height: 69px;
	background: url(../img/pump/bg_pump_05.png) no-repeat left top;
	background-size: 129px 69px;
	content: '';
}

.top_pump .pump_water {
	position: absolute;
	right: 33px;
	bottom: 66px;
	-webkit-transform-origin: center bottom;
	    -ms-transform-origin: center bottom;
	        transform-origin: center bottom;
	width: 54px;
	height: 63px;
}

.top_pump .pump_water.is-scroll {
	-webkit-animation: spout 2s ease-out alternate 1 forwards;
	        animation: spout 2s ease-out alternate 1 forwards;
}

@-webkit-keyframes spout {
	0% {
		-webkit-transform: translate(0%, 60%) rotate(0deg) scale(.8);
		        transform: translate(0%, 60%) rotate(0deg) scale(.8);
	}

	20% {
		-webkit-transform: translate(0%, 50%) rotate(-2deg) scale(.9);
		        transform: translate(0%, 50%) rotate(-2deg) scale(.9);
	}

	40% {
		-webkit-transform: translate(0%, 50%) rotate(2deg) scale(.8);
		        transform: translate(0%, 50%) rotate(2deg) scale(.8);
	}

	60% {
		-webkit-transform: translate(0%, 30%) rotate(-2deg) scale(.9);
		        transform: translate(0%, 30%) rotate(-2deg) scale(.9);
	}

	80% {
		-webkit-transform: translate(0%, 50%) rotate(2deg) scale(.8);
		        transform: translate(0%, 50%) rotate(2deg) scale(.8);
	}

	100% {
		-webkit-transform: translate(0%, 0%) rotate(0deg) scale(1);
		        transform: translate(0%, 0%) rotate(0deg) scale(1);
	}
}

@keyframes spout {
	0% {
		-webkit-transform: translate(0%, 60%) rotate(0deg) scale(.8);
		        transform: translate(0%, 60%) rotate(0deg) scale(.8);
	}

	20% {
		-webkit-transform: translate(0%, 50%) rotate(-2deg) scale(.9);
		        transform: translate(0%, 50%) rotate(-2deg) scale(.9);
	}

	40% {
		-webkit-transform: translate(0%, 50%) rotate(2deg) scale(.8);
		        transform: translate(0%, 50%) rotate(2deg) scale(.8);
	}

	60% {
		-webkit-transform: translate(0%, 30%) rotate(-2deg) scale(.9);
		        transform: translate(0%, 30%) rotate(-2deg) scale(.9);
	}

	80% {
		-webkit-transform: translate(0%, 50%) rotate(2deg) scale(.8);
		        transform: translate(0%, 50%) rotate(2deg) scale(.8);
	}

	100% {
		-webkit-transform: translate(0%, 0%) rotate(0deg) scale(1);
		        transform: translate(0%, 0%) rotate(0deg) scale(1);
	}
}

.section_inner {
	position: relative;
	z-index: 1;
	width: 300px;
	margin: 0 auto;
	padding-top: 31px;
	padding-bottom: 38px;
	background: url(../img/pump/sp/bg_box_top_01.png) no-repeat center top, url(../img/pump/sp/bg_box_bottom.png) no-repeat center bottom;
	background-size: contain, contain;
}

.modal-oldpump .modal_close {
	position: absolute;
	bottom: -8px;
	left: 50%;
	margin-left: -62px;
}

.modal-oldpump .section_inner {
	padding-top: 24px;
	padding-bottom: 43px;
	background: url(../img/pump/sp/bg_modal_top_01.png) no-repeat center top, url(../img/pump/sp/bg_modal_bottom.png) no-repeat center bottom;
	background-size: contain;
}

.modal-oldpump .section-box {
	padding: 5px 14px 0;
	background: url(../img/pump/sp/bg_modal_top_02.png) no-repeat center top, url(../img/pump/sp/bg_modal_body.png) no-repeat center top 45px;
	background-size: contain, 100% auto;
}

.modal-oldpump .card_text {
	font-size: 1.4rem;
}

.section-box {
	position: relative;
	background: url(../img/pump/sp/bg_box_top_02.png) no-repeat center top, url(../img/pump/sp/bg_box_body.png) no-repeat center top 33px;
	background-size: contain, 100% auto;
}

.section-05 .section-box {
	padding-bottom: 97px;
}

.section-06 .section-box {
	padding-bottom: 115px;
}

.section-01 .section-box::before {
	display: block;
	position: absolute;
	z-index: 1;
	bottom: -200px;
	left: 0;
	width: 100%;
	height: 128px;
	background-image: url(../img/pump/sp/bg_pump_01.png), url(../img/pump/sp/bg_pump_03.png);
	background-repeat: no-repeat, repeat-y;
	background-position: right 41px top, right 41px top;
	background-size: 128px 134px, 128px 5px;
	content: '';
}

.section_title {
	position: relative;
	z-index: 1;
	margin: 18px auto 0;
}

.section-01 .section_title {
	width: 96.28571%;
}

.section-02 .section_title {
	width: 63.14286%;
}

.modaal-content .section_title {
	width: 63.28571%;
	margin-top: 36px;
}

.section-04 .section_title {
	width: 76.85714%;
}

.section-05 .section_title {
	width: 93.85714%;
}

.section-06 .section_title {
	width: 101%;
}

.section_lead {
	margin-top: 5px;
	padding: 0 5px;
	font-size: 1.7rem;
}

.panel {
	overflow: hidden;
	margin-top: 20px;
	border: 5px solid #00aaf7;
	border-radius: 20px;
	background: #fff;
}

.panel.panel-balloon {
	display: block;
	margin-top: 0;
	padding: 12px;
}

.panel.panel-balloon .panel_title {
	position: static;
	top: 0;
}

.panel-col {
	border-color: transparent;
	text-align: center;
}

.panel-tr {
	border-color: transparent;
	background: transparent;
	text-align: center;
}

.panel_title {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	text-align: center;
}

.section-01 .panel_title img {
	width: 68.57143%;
}

.section-02 .panel_title img {
	width: 80%;
}

.panel_title .section-02 .panel_group li:nth-child(2) {
	width: 68.57143%;
}

.section-04 .panel_title img {
	width: 68.57143%;
}

.section-04 .panel_title,
.section-05 .panel_title {
	top: 4px;
}

.section-05 .panel_title img {
	width: 62.85714%;
}

.panel_text {
	font-size: 1.4rem;
}

.panel-row {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	padding: 30px 6px 10px 15px;
	border-width: 4px;
	font-size: 1.5rem;

	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	        align-items: center;
}

.panel-row .panel_text {
	padding-bottom: 20px;
	white-space: nowrap;
}

.panel-row .panel_img img {
	height: auto;
}

.panel_img-single {
	margin-top: 33px;
	text-align: center;
}

.panel-group {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	        flex-direction: column-reverse;

	-webkit-box-orient: vertical;
	-webkit-box-direction: reverse;
	-webkit-flex-direction: column-reverse;
	    -ms-flex-direction: column-reverse;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	        justify-content: center;
}

.slider_item .panel-group {
	-webkit-flex-wrap: nowrap;
	    -ms-flex-wrap: nowrap;
	        flex-wrap: nowrap;
}

.panel-group .panel-item {
	position: relative;
	z-index: 1;
	margin-top: 18px;
	margin-right: 10px;
	margin-left: 10px;
}

.slider_item .panel-group .panel-item {
	margin-top: 0;
	margin-right: 10px;
	margin-left: 10px;
}

.panel-group > li:last-child {
	margin-top: -10px;
}

.panel-group.great-pump > li:last-child {
	margin-top: 0;
}

.panel_title {
	margin-bottom: 5px;
	text-align: center;
}

.panel-06-1 .panel_title img {
	width: 190px;
}

.panel-06-2 .panel_title img {
	width: 190px;
}

.panel-06-3 .panel_title img {
	width: 150px;
}

.panel_balloon {
	position: absolute;
}

.panel-06-3 .panel_balloon {
	top: -12px;
	left: -18px;
	width: 104px;
}

.panel_btn {
	text-align: center;
}

.btn-more {
	display: inline-block;
	width: 175px;
	margin-top: 15px;
}

.flow-pump {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	        flex-direction: column-reverse;

	-webkit-box-orient: vertical;
	-webkit-box-direction: reverse;
	-webkit-flex-direction: column-reverse;
	    -ms-flex-direction: column-reverse;
}

.flow-pump > li {
	position: relative;
	font-size: 1.4rem;
}

.flow-pump > li:not(:first-child) {
	padding-bottom: 22px;
}

.flow-pump > li:not(:first-child)::before {
	position: absolute;
	bottom: -13px;
	left: 50%;
	width: 85px;
	height: 27px;
	margin-left: -43px;
	background: url(../img/pump/sp/arrow_up.png) no-repeat left top;
	background-size: 85px 27px;
	content: '';
}

.flow-pump .flow_text {
	padding-top: 30px;
	padding-bottom: 20px;
	font-size: 1.5rem;
	text-align: center;
}

.flow-pump .flow_text.flow_text-l {
	font-size: 2rem;
}

.num-flow {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	margin: 3px 0 18px;
	padding: 0 20px;
	        flex-direction: column-reverse;

	-webkit-box-orient: vertical;
	-webkit-box-direction: reverse;
	-webkit-flex-direction: column-reverse;
	    -ms-flex-direction: column-reverse;
}

.num-flow li {
	position: relative;
}

.num-flow li + li {
	padding-bottom: 40px;
}

.num-flow li + li::before {
	display: block;
	position: absolute;
	bottom: 14px;
	left: 50%;
	width: 21px;
	height: 16px;
	margin-top: -50px;
	margin-left: -10px;
	background: url(../img/pump/sp/arrow_up_02.png) no-repeat left top;
	background-size: 21px 16px;
	content: '';
}

.num-flow li .num-flow_text {
	margin-top: 3px;
	background-repeat: no-repeat;
	background-position: left 5px;
	background-size: 40px 40px;
}

.num-flow li:nth-child(1) .num-flow_text {
	background-image: url(../img/pump/sp/icon_num_01.png);
}

.num-flow li:nth-child(2) .num-flow_text {
	background-image: url(../img/pump/sp/icon_num_02.png);
}

.num-flow li:nth-child(3) .num-flow_text {
	background-image: url(../img/pump/sp/icon_num_03.png);
}

.num-flow_text {
	width: 260px;
	margin: 0 auto;
	padding-left: 50px;
	font-size: 1.4rem;
	text-align: left;
}

.great-pump .panel_img {
	margin-top: 5px;
	text-align: center;
}

.great-pump > li {
	margin-bottom: 15px;
}

.great-pump > li .panel_title {
	margin-right: auto;
	margin-left: auto;
}

.great-pump > li:nth-child(1) {
	margin-bottom: 0;
}

.great-pump > li:nth-child(1) .panel_balloon {
	top: -16px;
	left: -22px;
}

.great-pump > li:nth-child(1) .panel_title {
	width: 49.33993%;
}

.great-pump > li:nth-child(2) .panel_balloon {
	top: -19px;
	left: -22px;
}

.great-pump > li:nth-child(2) .panel_title {
	width: 64.35644%;
}

.great-pump > li:nth-child(3) .panel_balloon {
	top: -23px;
	left: -24px;
}

.great-pump > li:nth-child(3) .panel_title {
	width: 70.9571%;
	padding-left: 10px;
}

.card .card_text {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	padding: 5px;
	text-align: center;
	        flex: 1;

	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	        align-items: center;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	    -ms-flex: 1;
}

.list {
	text-align: left;
}

.list > li::before {
	content: '●';
}

.fairy {
	position: absolute;
}

.l-section .fairy .fairy_img-nano {
	width: 125px;
	height: auto;
	margin-right: 12px;
}

.l-section .fairy .fairy_img-pon {
	width: 116px;
	height: auto;
	margin-left: 23px;
}

.fairy-02 {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	position: relative;
	width: 100%;
	margin-top: -5px;
	margin-bottom: -76px;

	-webkit-box-pack: end;
	-webkit-justify-content: flex-end;
	-ms-flex-pack: end;
	        justify-content: flex-end;
	-webkit-box-align: end;
	-webkit-align-items: flex-end;
	-ms-flex-align: end;
	        align-items: flex-end;
}

.fairy-02 .fairy_balloon {
	top: 15px;
	left: 12.85714%;
	width: 51.71429%;
}

.fairy-05 {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	bottom: 15px;
	width: 100%;

	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: end;
	-webkit-align-items: flex-end;
	-ms-flex-align: end;
	        align-items: flex-end;
}

.fairy-06 {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	bottom: 18px;
	width: 100%;

	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: end;
	-webkit-align-items: flex-end;
	-ms-flex-align: end;
	        align-items: flex-end;
}

.section-contents {
	opacity: 0;
}

.hero_scroll {
	display: none;
	position: absolute;
	bottom: 165px;
	left: 50%;
	width: 100px;
	margin-left: -50px;
	text-align: center;
}

.hero_hill {
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 950px;
	max-width: none;
	margin-left: -475px;
}

.hero_building {
	position: absolute;
	bottom: 50px;
}

.hero_building img {
	max-width: none;
}

.hero_building.building-left {
	right: 50%;
}

.hero_building.building-right {
	left: 50%;
}

.hero_building.is-ready.building-left img {
	-webkit-animation: slideleft 5s linear 1 forwards;
	        animation: slideleft 5s linear 1 forwards;
}

.hero_building.is-ready.building-right img {
	-webkit-animation: slideright 5s linear 1 forwards;
	        animation: slideright 5s linear 1 forwards;
}

@-webkit-keyframes slideleft {
	0% {
		-webkit-transform: translate(0, 0%);
		        transform: translate(0, 0%);
	}

	100% {
		-webkit-transform: translate(-260px, 0%);
		        transform: translate(-260px, 0%);
	}
}

@keyframes slideleft {
	0% {
		-webkit-transform: translate(0, 0%);
		        transform: translate(0, 0%);
	}

	100% {
		-webkit-transform: translate(-260px, 0%);
		        transform: translate(-260px, 0%);
	}
}

@-webkit-keyframes slideright {
	0% {
		-webkit-transform: translate(0, 0%);
		        transform: translate(0, 0%);
	}

	100% {
		-webkit-transform: translate(260px, 0%);
		        transform: translate(260px, 0%);
	}
}

@keyframes slideright {
	0% {
		-webkit-transform: translate(0, 0%);
		        transform: translate(0, 0%);
	}

	100% {
		-webkit-transform: translate(260px, 0%);
		        transform: translate(260px, 0%);
	}
}

.pagetop {
	visibility: hidden;
	opacity: 0;
	-webkit-transition: all 1s ease-in;
	     -o-transition: all 1s ease-in;
	        transition: all 1s ease-in;
}

.pagetop.is-finish {
	visibility: visible;
	opacity: 1;
}

.hero_fairy {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	position: relative;
	width: 300px;
	height: 388px;
	margin: 0 auto;
	padding-top: 74px;

	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	        justify-content: space-between;
}

.hero_fairy .fairy_balloon,
.hero_fairy .fairy_name {
	visibility: hidden;
	opacity: 0;
	-webkit-transition: all 1s ease-in;
	     -o-transition: all 1s ease-in;
	        transition: all 1s ease-in;
}

.hero_fairy .fairy_img {
	-webkit-animation: shake 2s linear alternate infinite;
	        animation: shake 2s linear alternate infinite;
}

@-webkit-keyframes shake {
	0% {
		-webkit-transform: translate(-2%, 0%) rotate(-5deg);
		        transform: translate(-2%, 0%) rotate(-5deg);
	}

	50% {
		-webkit-transform: translate(0%, 0%) rotate(0deg);
		        transform: translate(0%, 0%) rotate(0deg);
	}

	100% {
		-webkit-transform: translate(2%, 0%) rotate(5deg);
		        transform: translate(2%, 0%) rotate(5deg);
	}
}

@keyframes shake {
	0% {
		-webkit-transform: translate(-2%, 0%) rotate(-5deg);
		        transform: translate(-2%, 0%) rotate(-5deg);
	}

	50% {
		-webkit-transform: translate(0%, 0%) rotate(0deg);
		        transform: translate(0%, 0%) rotate(0deg);
	}

	100% {
		-webkit-transform: translate(2%, 0%) rotate(5deg);
		        transform: translate(2%, 0%) rotate(5deg);
	}
}

.hero_fairy_unit {
	position: relative;
}

.fairy_balloon {
	position: absolute;
}

.hero_fairy-nano {
	position: absolute;
	bottom: 55px;
	left: 50%;
	margin-left: -206px;
}

.hero_fairy-pon {
	position: absolute;
	right: 50%;
	bottom: 64px;
	margin-right: -272px;
}

.hero_fairy.is-finish {
	z-index: 2;
}

.hero_fairy.is-finish .fairy_balloon,
.hero_fairy.is-finish .fairy_name {
	visibility: visible;
	opacity: 1;
}

.hero_fairy.is-finish .hero_fairy-nano {
	bottom: 15px;
	width: 14.3rem;
	text-align: right;
}

.hero_fairy.is-finish .hero_fairy-nano .fairy_name {
	margin-top: 4px;
	margin-right: 18px;
}

.hero_fairy.is-finish .hero_fairy-nano .fairy_balloon {
	right: -62px;
	bottom: 40px;
}

.hero_fairy.is-finish .hero_fairy-pon {
	bottom: 185px;
	width: 13.3rem;
	margin-right: -194px;
	text-align: left;
}

.hero_fairy.is-finish .hero_fairy-pon .fairy_name {
	margin-top: 3px;
	margin-left: 20px;
}

.hero_fairy.is-finish .hero_fairy-pon .fairy_balloon {
	bottom: 75px;
	left: -57px;
}

.hero_pump {
	position: absolute;
	bottom: -210px;
	left: 50%;
	width: 236px;
	height: 275px;
	margin-left: -118px;
	background: url(../img/pump/sp/img_pump.png) no-repeat left top;
	background-size: 235px 285px;
}

.hero_pump.is-ready {
	-webkit-animation: up 5s linear 1 forwards;
	        animation: up 5s linear 1 forwards;
}

.hero_pump_inner {
	position: relative;
}

.hero_pump_rotate {
	position: absolute;
	top: 23px;
	left: 50%;
	width: 187px;
	height: 187px;
	margin-left: -94px;
}

.hero_pump_rotate.is-ready {
	-webkit-animation: rotate 5s linear 3 forwards;
	        animation: rotate 5s linear 3 forwards;
}

@keyframes shake {
	0% {
		-webkit-transform: translate(-2%, 0%) rotate(-5deg);
		        transform: translate(-2%, 0%) rotate(-5deg);
	}

	50% {
		-webkit-transform: translate(0%, 0%) rotate(0deg);
		        transform: translate(0%, 0%) rotate(0deg);
	}

	100% {
		-webkit-transform: translate(2%, 0%) rotate(5deg);
		        transform: translate(2%, 0%) rotate(5deg);
	}
}

@-webkit-keyframes up {
	0% {
		bottom: -210px;
	}

	100% {
		bottom: 0;
	}
}

@keyframes up {
	0% {
		bottom: -210px;
	}

	100% {
		bottom: 0;
	}
}

@-webkit-keyframes rotate {
	0% {
		-webkit-transform: rotate(0deg);
		        transform: rotate(0deg);
	}

	100% {
		-webkit-transform: rotate(-360deg);
		        transform: rotate(-360deg);
	}
}

@keyframes rotate {
	0% {
		-webkit-transform: rotate(0deg);
		        transform: rotate(0deg);
	}

	100% {
		-webkit-transform: rotate(-360deg);
		        transform: rotate(-360deg);
	}
}

.hero_content {
	position: absolute;
	z-index: 2;
	bottom: 98px;
	left: 50%;
	width: 300px;
	margin-left: -150px;
	text-align: center;
}

.copyright {
	color: #fff;
	font-size: 1.1rem;
}

.l-slider .slick-slide {
	position: relative;
}

.l-slider .panel_title {
	z-index: 1;
	top: 0;
}

.l-slider .panel_title img {
	display: inline;
}

.slick-prev,
.slick-next {
	display: block;
	position: absolute;
	z-index: 1;
	top: 50%;
	width: 34px;
	height: 34px;
	margin-top: -17px;
	padding: 0;
	border: none;
	background: transparent;
	cursor: pointer;
	outline: none;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
	background: transparent;
	outline: none;
}

.slick-prev {
	left: -12px;
}

.slick-next {
	right: -12px;
}

.slick-slide {
	outline: none;
}

.slick-slide:hover,
.slick-slide:focus {
	outline: none;
}

.slick-dots {
	display: block;
	position: absolute;
	bottom: -25px;
	width: 100%;
	margin: 0;
	padding: 0;
	text-align: center;
}

.slick-dots li {
	display: inline-block;
	position: relative;
	width: 12px;
	height: 12px;
	margin: 0 10px;
	padding: 0;
	cursor: pointer;
}

.slick-dots li button {
	display: block;
	width: 12px;
	height: 12px;
	padding: 5px;
	border: 0;
	border-radius: 100%;
	background: transparent;
	background: #fff;
	color: transparent;
	font-size: 0px;
	line-height: 0px;
	cursor: pointer;
	outline: none;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
	background: #00aaf7;
	outline: none;
}

.slick-dots li.slick-active button {
	background: #00aaf7;
	color: transparent;
}

.modaal-container {
	-webkit-box-shadow: none;
	        box-shadow: none;
	background: transparent;
}

.modaal-inner-wrapper {
	padding-right: 10px;
	padding-left: 10px;
}

.modaal-content-container {
	padding: 0;
}

.modaal-close {
	display: none;
}

.btn-modal-close-s {
	position: absolute;
	top: -23px;
	right: -17px;
}

.l-popup-l .btn-modal-close-s {
	right: -12px;
}

.popup-box > div {
	padding: 10px 30px 5px;
}

.nav-btn {
	position: absolute;
	top: 0;
	right: 0;
	width: 50px;
	height: 50px;
	margin-top: -50px;
	background: #fff;
}

.nav-menu-section li {
	padding-bottom: 2px;
	background: url(../img/pump/sp/nav_border.png) no-repeat center bottom;
	background-size: 318px 2px;
}

.nav-menu-section a {
	display: block;
	padding: 5px;
}

.nav-menu-other {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	padding: 18px 2px;

	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	        align-items: center;
}

.nav-menu-other li:nth-child(1) {
	padding-right: 10px;
}

.nav-menu-other li:nth-child(2) {
	padding-left: 10px;
}

@media screen and (min-width: 400px) {
	html {
		font-size: 62.5%;
	}
}
