@charset "utf-8";

html {
	font-size: 62.5%;
}

* {
	box-sizing: border-box;
}

a,
button{
	outline:none;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
}

body {
	position: relative;
	color: #333;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
	font-size: 1.6rem;
	line-height: 1.75;
	overflow-x: hidden;
}

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

.pcNone {
	display: none;
}

.tapped{
	opacity: .7;
}

@media screen and (max-width: 767px) {
body {
	font-size: 1.4rem;
	font-family: -apple-system, "HelveticaNeue", Helvetica;
	-webkit-text-size-adjust: 100%;
}

img {
	width: 100%;
}

.spNone {
	display: none !important;
}

.pcNone {
	display: block !important;
}

}

.right {
	text-align: right !important;
}
.center {
	text-align: center !important;
}

/* link
*****************************************/
a:link,
a:visited {
	color: #333;
	text-decoration: underline;
}

a:hover,
a:active {
	color: #333;
	text-decoration: none;
}

.hover a img {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transition: opacity .6s;
}

.hover a:hover img {
	transition: opacity .3s;
	opacity: .6;
}

.imgOver01 > a {
	display: block;
	overflow: hidden;
}

.imgOver01 > a img {
	-webkit-transform: scale(1);
	transform: scale(1);
	transition: transform .6s;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.imgOver01 > a:hover img {
	transition: transform .3s;
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}

@media screen and (max-width: 767px) {

.hover a:hover img {
	opacity: 1.0;
}

.imgOver01 > a:hover img {
	-webkit-transform: scale(1);
	transform: scale(1);
}

}

/* footer
*****************************************/
#footer01 {
	padding-top: 40px;
	padding-bottom: 32px;
	color: #fff;
	background-color: #456;
}

#footer01 > .logo01 {
	width: 358px;
	margin: 40px auto 0;
}

.copyright01 {
	margin-top: 32px;
	font-size: 1.4rem;
	font-family: myriad-pro, sans-serif;
	font-weight: 300;
	font-style: normal;
	text-align: center;
}


@media screen and (max-width: 767px) {
#footer01 > .logo01 {
	width: 240px;
	margin: 40px auto 0;
}

.copyright01 {
	font-size: 1.2rem;
}

}


/* contents
*****************************************/
.wrap01 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.wrap01.bC {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
}
.wrap01.between {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
.wrap01.aC {
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
}
.wrap01.aEnd {
	-webkit-box-align: end;
	-ms-flex-align: end;
	-webkit-align-items: flex-end;
	align-items: flex-end;
}
.wrap01.reverse {
	-webkit-box-direction: reverse;
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
}

#contents01 {
	overflow-x: hidden;
}

.mainArea01 {
	position: relative;
	z-index: 5;
	padding-top: 20px;
	background-color: rgba(234,243,245,.9);
}

.mainArea01::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 20px;
	background-color: #00a1e9;
	content: "";
}

.mainArea01 > .inner01 {
	position: relative;
	z-index: 1;
	max-width: 1200px;
	margin: 0 auto;
	padding: 120px 20px 120px;
}

.mainArea01 > .inner01::before {
	top: 0;
	width: 100%;
	height: 294px;
	background-color: #fff;
	content: "";
}

.mainArea01 > .inner01::after {
	top: 294px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 350px 600px 0 600px;
	border-color: #ffffff transparent transparent transparent;
}

.mainArea01 > .inner01::before,
.mainArea01 > .inner01::after {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
	content: "";
}

.mainArea01 > .inner01 > .logo01 {
	text-align: center;
}

.mainArea01 > .inner01 > .text01 {
	margin-top: 56px;
	text-align: center;
}

.section01 {
	position: relative;
	z-index: 2;
	padding-top: 70px;
	background-color: rgba(234,243,245,.9);
}

.section01.type01 {
	background-color: #fff;
}

.section01.type02 {
	background: rgba(1,127,193,.9) url(../img/bg01.png) repeat 0 0;
}

.section01 > .inner01 {
	max-width: 1000px;
	margin: 0 auto;
	padding-left: 20px;
	padding-right: 20px;
	padding-bottom: 100px;
}

.heading01 {
	max-width: 1240px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
	color: #00a1e9;
	font-size: 8.0rem;
	font-family: myriad-pro, sans-serif;
	font-weight: 400;
	font-style: normal;
	line-height: 1.0;
}

.heading01 > .font01 {
	display: block;
	margin-top: 10px;
	color: #727f98;
	font-size: 1.4rem;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
}

.section01.type02 > .heading01,.section01.type02 > .heading01 > .font01 {
	color: #fff;
}

.frameArea01 {
	position: relative;
	z-index: 1;
	padding: 70px 4% 100px;
	background: rgba(1,127,193,.9) url(../img/bg01.png) repeat 0 0;
}

.frameArea01::before,
.frameArea01::after {
	position: absolute;
	z-index: -1;
	content: "";
}

.frameArea01::before {
	left: 0;
	top: 0;
	width: 320px;
	height: 593px;
	background: url(../img/il01.png) no-repeat 0 0;
}

.frameArea01::after {
	right: 0;
	width: 373px;
	bottom: 0;
	height: 593px;
	background: url(../img/il02.png) no-repeat 0 0;
}

.frameArea01 > .title01 {
	color: #fff;
	font-weight: bold;
	font-size: 2.0rem;
	text-align: center;
}

.frameArea01 > .image01 {
	margin-top: 26px;
	text-align: center;
}

.frameArea02 {
	position: relative;
	transform: skewX(-30deg);
	transform-origin: bottom right;
	z-index: 1;
	margin-top: 40px;
	margin-left: 21px;
	padding-left: 80px;
	padding-right: 80px;
	background-color: #eaf3f5;
}

.frameArea02:not(:first-child) {
	margin-top: 10px;
}

.frameArea02::before {
	position: absolute;
	top: 0;
	left: -19px;
	width: 18px;
	height: 100%;
	background-color: #60dbfc;
	content: "";
}

.frameArea02In {
	position: relative;
	transform: skewX(30deg);
	padding-top: 35px;
	padding-bottom: 60px;
}

.frameArea02In > .title01 {
	color: #00a1e9;
	font-size: 2.4rem;
	font-weight: bold;
}

.frameArea02In > .text01 {
	margin-top: 12px;
}

.frameArea02In > .text02 {
	position: absolute;
	z-index: -1;
	right: -20px;
	bottom: -10px;
	margin-top: 10px;
	color: #fff;
	font-size: 10rem;
	font-family: myriad-pro, sans-serif;
	font-weight: 300;
	font-style: normal;
	line-height: 1.0;
}

.contactArea01 {
	margin: 0 auto;
	padding: 80px 20px 100px;
	background-color: #fff;
}

.contactArea01 > .text01 {
	text-align: center;
}

.list01 {
	max-width: 800px;
	margin: 40px auto 0;
}

.list01 > li {
	position: relative;
	padding: 40px 2.666%;
	background-color: #fff;
}

.list01 > li::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 6px;
	background: -webkit-linear-gradient(top, rgba(96,219,252,1) 0%,rgba(96,219,252,1) 66%,rgba(7,119,178,1) 66%,rgba(7,119,178,1) 100%);
	background: linear-gradient(to bottom, rgba(96,219,252,1) 0%,rgba(96,219,252,1) 66%,rgba(7,119,178,1) 66%,rgba(7,119,178,1) 100%);
	content: "";
}

.list01 > li:not(:first-child) {
	margin-top: 50px;
}

.list01 > li:not(:last-child)::after {
	position: absolute;
	left: 50%;
	bottom: -34px;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 34px 60px 0 60px;
	border-color: #eaf3f5 transparent transparent transparent;
	content: "";
}

.list01 > li > .title01 {
	color: #00a1e9;
	font-size: 2.4rem;
	font-weight: bold;
	text-align: center;
}

.list01 > li > .text01 {
	margin-top: 10px;
	text-align: center;
}

.btn01 {
	display: table;
	min-width: 300px;
	margin: 30px auto 0;
}

.btn01 > a {
	display: block;
	padding: 14px 30px;
	border-radius: 100px;
	border: solid 2px #00a1e9;
	background-color: #00a1e9;
	color: #fff;
	text-decoration: none;
	text-align: center;
	transition: background .3s,color .3s;
}

.btn01 > a:hover {
	background-color: #fff;
	color: #00a1e9;
}

.btn02 {
	display: table;
	margin-left: auto;
	margin-right: auto;
}

.btn02 > a {
	display: block;
	padding: 5px 30px;
	border-radius: 100px;
	border: solid 1px #fff;
	color: #fff;
	text-align: center;
	text-decoration: none;
	transition: background .3s;
}

.btn02 > a:hover {
	background-color: #727f98;
}

.txt01 {
	margin-top: 30px;
}

.txt01 + .txt01 {
	margin-top: 20px;
}

.video01 {
	position: fixed;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	z-index: -1;
}

.terms {
  border: 1px solid #ddd;
  padding: 20px;
  overflow: auto;
  height: 250px;
  margin: 10px 0;
}

.terms > pre {
  white-space: pre-wrap;
}

@media screen and (max-width: 767px) {
.mainArea01 {
	padding-top: 10px;
}

.mainArea01::before {
	height: 10px;
}

.mainArea01 > .inner01 {
	padding: 90px 0 80px;
}

.mainArea01 > .inner01::before {
	height: 400px;
}

.mainArea01 > .inner01::after {
	top: 400px;
	border-width: 110px 50vw 0 50vw;
}

.mainArea01 > .inner01 > .logo01 {
	width: 86.4%;
	margin: 0 auto;
}

.mainArea01 > .inner01 > .text01 {
	width: 78.666%;
	margin: 9.333vw auto 0;
}

.section01 {
	padding-top: 18.666vw;
}

.section01 > .inner01 {
	padding-left: 4%;
	padding-right: 4%;
	padding-bottom: 26.666vw;
}

.heading01 {
	padding-left: 4%;
	padding-right: 4%;
	font-size: 13.333vw;
}

.heading01 > .font01 {
	font-size: 3.2vw;
}

.frameArea01 {
	padding: 18.666vw 4% 26.666vw;
}

.frameArea01::before {
	width: 100%;
	height: 62.8vw;
	background: url(../img/il01s.png) no-repeat 0 0/100%;
}

.frameArea01::after {
	width: 100%;
	height: 87.2vw;
	background: url(../img/il02s.png) no-repeat 0 0/100%;
}

.frameArea01 > .title01 {
	font-size: 1.6rem;
}

.frameArea02 {
	transform: skewX(0);
	margin-left: 11px;
	padding-left: 15px;
	padding-right: 15px;
}

.frameArea02::before {
	left: -11px;
	width: 10px;
}

.frameArea02In {
	transform: skewX(0);
	padding-top: 35px;
	padding-bottom: 60px;
}

.frameArea02In > .title01 {
	font-size: 2.0rem;
}

.frameArea02In > .text01 {
	margin-top: 14px;
}

.frameArea02In > .text02 {
	right: -15px;
	bottom: -8px;
	font-size: 16vw;
}

.contactArea01 {
	padding: 18.666vw 4% 26.666vw;
}

.list01 > li {
	padding-left: 7.246%;
	padding-right: 7.246%;
	padding-bottom: 32px;
}

.list01 > li:not(:first-child) {
	margin-top: 50px;
}

.list01 > li:not(:last-child)::after {
	bottom: -25px;
	border-width: 25px 44px 0 44px;
}

.list01 > li > .title01 {
	font-size: 2.0rem;
}

.list01 > li > .text01 {
	margin-top: 15px;
}

.btn01 {
	min-width: 240px;
}

.btn01 > a {
	padding-top: 10px;
	padding-bottom: 11px;
}

.btn01 > a:hover {
	background-color: #00a1e9;
	color: #fff;
}

.btn02 > a {
	padding: 6px 17px;
}

.btn02 > a:hover {
	background-color: #445566;
}

}


/* Clearfix
*****************************************/
.cf:after {
	content: " ";
	display: block;
	clear: both;
}
