@charset "utf-8";
/* CSS Document */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}
/* reset */
body {
	font-family: 'Noto Sans JP', sans-serif;
}
a {
	color: #000000;
	text-decoration: none;
	transition: 0.3s;
}
a:hover {
	opacity: 0.7;
}
img {
	display: block;
	margin: 0 auto;
}
ul {
	list-style: none;
}
header {
	padding: 20px 0;
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	margin: 0 auto;
	z-index: 999;
	transition: 0.3s;
}
header.visible {
	background-color: #F2F2F2;
}
header .innerwrap {
	display: flex;
	justify-content: space-between;
	max-width: 1280px;
	width: calc(100% - 20px);
	margin: 0 auto;
	padding: 0 10px;
}
#logo {
	width: 22.5%;
	transition: 0.3s;
	transform: translateY(-100px);
}
header.visible #logo {
	transform: translateY(0);
}
#grobal-nav {
	display: flex;
	font-size: 1.1vw;
}
#grobal-nav>a {
	margin-right: 1.8vw;
}
#grobal-nav>a:last-child {
	margin-right: 0;
}
#nu {
	display: flex;
	position: relative;
	padding-top: 1vw;
}
.n {
	display: inline-block;
	padding: 0 1.8vw;
	position: relative;
	margin-top: -0.5vw;
}
.n>span {
  content: '';
  position: absolute;
  left: calc(50% - 0.75vw);
  top: -1vw;/*線の上下位置*/
  display: inline-block;
  width: 1.5vw;/*線の長さ*/
  height: 0.3vw;/*線の太さ*/
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);/*位置調整*/
  background-color: #003399;/*線の色*/
}
.n>span>span {
	display: block;
	background-color: #00A8BA;
    width: 0;
    height: 0;
	transition: 0.3s;
}
.n:hover span {
	width: 1.5vw;
	height: 0.3vw;
}
.nl {
	margin-left: -1vw;
}
.icon_inq {
	width: 14vw;
	max-width: 180px;
}
.hamburger-button, #sp-service, #sp-lineup, #sp-license, #sp-fimg {
	display: none;
}
.hamburger-nav {
	display: none!important;
}

main {
	box-sizing: border-box;
	line-height: 2;
	padding: 0 10px;
	max-width: 1020px;
	width: 100%;
	margin: auto;
}

section {
	margin: 7vw 0;
}

.fbox {
	display: flex;
	justify-content: space-between;
}
.content-box {
	margin-right: 14%;
	width: 46%;
}
.title {
	font-size: 1.5vw;
	margin-left: -2vw;
}
.title:before {
	background-color: #003399;/*線の色*/
	content: '';
	display: inline-block;
	position: relative;
	left: 2vw;
	top: -2.5vw;/*線の上下位置*/
	height: 0.4vw;/*線の太さ*/
	width: 2vw;/*線の長さ*/
}
.subtitle {
	font-size: 3vw;
}
.content {

	font-size: 1.8vw;
}
.img-box {
	width: 40%;
}

#firstview {
	margin: 0;
	background: linear-gradient(#F2F2F2, #fff);
}
#firstview .innerwrap {
    width: 100%;
	max-width: 1280px;
    margin: 0 auto;
}
#firstview .animewrap {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 56.25%;
}
#firstview .animewrap2 {
	max-width: 1000px;
	width: 100%;
	position: absolute;
	margin: auto;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
#firstview img {
    display: block;
    position: absolute;
    height: auto;
}
#firstview .anime01 {
    z-index: 102;
    animation: anime01 10s cubic-bezier(0.64, 0.32, 0.34, 0.88) forwards;
    top: 43.3%;
    left: 46.7%;
    width: 5.52%;
}
#firstview .anime021 {
    z-index: 103;
    top: 50.4%;
    left: 50.3%;
    animation: anime21 10s cubic-bezier(0.64, 0.32, 0.34, 0.88) forwards;
    width: 3.49%;
}
#firstview .anime022 {
    z-index: 104;
    animation: anime22 10s cubic-bezier(0.64, 0.32, 0.34, 0.88) forwards;
    width: 3.49%;
    top: 52.5%;
    left: 51.9%;
}
#firstview .anime03 {
    z-index: 101;
    animation: anime03 10s cubic-bezier(0.64, 0.32, 0.34, 0.88) forwards;
    width: 12.5%;
    top: 40%;
    left: 43.75%;
}
#firstview .anime04 {
    z-index: 105;
    animation: anime04 10s cubic-bezier(0.64, 0.32, 0.34, 0.88) forwards;
    width: 44.58%;
    top: 40%;
    left: 34.71%;
}
#firstview .anime05 {
    z-index: 99;
    animation: anime05 10s cubic-bezier(0.64, 0.32, 0.34, 0.88) forwards;
    width: 54.5%;
	right: 0;
	top: 10%;
	bottom: 0;
	margin: auto 0;
}
#firstview .anime06 {
    z-index: 99;
    animation: anime06 10s cubic-bezier(0.64, 0.32, 0.34, 0.88) forwards;
    width: 52.1%;
	left: 0;
	top: 10%;
	bottom: 0;
	margin: auto 0;
}
@keyframes anime01 {
    0% {
        opacity: 0;
    }
    5% {
        opacity: 1;
    }
    20% {
        top: 43.3%;
        left: 46.7%;
    }
    24% {
        top: 43.3%;
        left: 22.16%;
    }
	34% {
		width: 5.52%;
		top: 43.3%;
        left: 22.16%;
	}
	45% {
		width: 2.136%;
		top: calc(2vw + 1.15%);
        left: 1.1%;
		position: absolute;
	}
    100% {
        opacity: 1;
		width: 2.136%;
		top: calc(2vw + 1.15%);
        left: 1.1%;
    }
}
@keyframes anime21 {
    8% {
        opacity: 0;
    }
    12% {
        opacity: 1;
    }
    20% {
        top: 50.4%;
        left: 50.3%;
    }
    24% {
        top: 50.4%;
        left: 25.76%;
    }
	34% {
		width: 3.49%;
		top: 50.4%;
        left: 25.76%;
	}
	45% {
		width: 1.349%;
		top: calc(2vw + 3.8%);
        left: 2.6%;
	}
    100% {
        opacity: 1;
        top: 50.4%;
        left: 25.76%;
		width: 1.349%;
		top: calc(2vw + 3.8%);
        left: 2.6%;
    }
}
@keyframes anime22 {
    12% {
        opacity: 0;
    }
    16% {
        opacity: 1;
    }
    20% {
        top: 52.5%;
        left: 51.9%;
    }
    24% {
        top: 52.5%;
        left: 27.36%;
    }
	34% {
		width: 3.49%;
		top: 52.5%;
        left: 27.36%;
	}
	45% {
		width: 1.349%;
		top: calc(2vw + 4.8%);
        left: 3.2%;
	}
    100% {
        opacity: 1;
		width: 1.349%;
		top: calc(2vw + 4.8%);
        left: 3.2%
    }
}
@keyframes anime03 {
    16% {
        opacity: 0;
    }
    20% {
        opacity: 1;
        top: 40%;
        left: 43.75%;
    }
    24% {
        top: 40%;
        left: 19.21%;
    }
	34% {
		width: 12.5%;
		top: 40%;
        left: 19.21%;
	}
	45% {
		width: 4.835%;
		top: 2vw;
        left: 0;
	}
    100% {
        opacity: 1;
		width: 4.835%;
		top: 2vw;
		left: 0;
    }
}
@keyframes anime04 {
    24% {
        opacity: 0;
    }
    27% {
        opacity: 1;
    }
	34% {
		width: 44.58%;
		top: 40%;
	    left: 34.71%;
	}
	45% {
		width: 17.24%;
		top: 2vw;
        left: 5.8%;
	}
    100% {
        opacity: 1;
		width: 17.24%;
		top: 2vw;
        left: 5.8%;
    }
}
@keyframes anime05 {
	60% {opacity: 0;}
	70% {opacity: 1;}
	100% {opacity: 1;}
}
@keyframes anime06 {
	50% {opacity: 0;}
	60% {opacity: 1;}
	100% {opacity: 1;}
}
#sp_firstview {
	display: none;
}

h2 {
	box-sizing: border-box;
	background: #7EACF1;
	border-radius: 12px;
	color: white;
	display: inline-block;
	font-size: 2vw;
	font-weight: 400;
	margin: 1em 0 3em;
	width: 100%;
	padding: 12px 10px;
	position: relative;
	text-align: center;
}
h2:before {
	border: 15px solid transparent;
	border-top: 15px solid #7EACF1;
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -15px;
}
.point {
	box-sizing: border-box;
	background: #FCFCFC;
	box-shadow: 0px 3px 3px 1px rgba(0,0,0,0.16);
	border-radius: 5px;
	display: flex;
	font-size: 1.4vw;
	flex-direction: column;
	flex-grow: 0;
	padding: 20px;
	width: 30%;
}
.p-icon {
	background: #CCCCCC;
	border-radius: 50%;
	color: white;
	line-height: normal;
	margin-bottom: 30px;
	padding: 8px 0 5px 0;
	text-align: center;
	width: 3.8em;
}

.step {
	font-size: 1.8vw;
	width: 50%;
}
.step2 .s-img img:last-child {
	display: none;
}
.s-icon {
	background: #CCCCCC;
	border-radius: 6px;
	color: white;
	padding: 5px 15px;
}

.triangle {
	border-top: 30px solid transparent;
	border-left: 30px solid #CCCCCC;
	border-bottom: 30px solid transparent;
	margin: 10px;
	position: relative;
	top: 18vw;
	height: 0;
	width: 0;
}

#sy-content {
	font-size: 1vw;
}

table, th {
    border: none;
	border-collapse: collapse;
	margin: 0;
	padding: 0;
}
#pc-lineup {
	font-size: 1.8vw;
	width: 100%;
}
td {
	border-bottom: 2px solid #E8E8E8;
	padding: 1vw;
}
td:nth-child(n + 2) {
	text-align: center;
}
.t-head {
	background: #E8E8E8;
}

#totop {
	font-size: 1.2vw;
	position: fixed;
	right: 5vw;
	bottom: 5vw;
}
#top {
	color: #003399;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	text-align: right;
}
#totop img {
	display: inline-block;
	margin: 0 0 0 1.5vw;
	text-align: right;
	width: 3vw;
	height: 3vw;
}
#pc-license {
	margin: 7vw 0;
}
#pc-license a {
	display: block;
}
#pc-license img:last-child {
	display: none;
}
#footer_dl a {
	width: 43.8%;
}
#footer_dl a img {
	max-width: 100%;
}
#footer_dl a img:last-child {
	display: none;
}

footer {
	background: #E8E8E8;
	line-height: 2;
	margin-top: 5vw;
	padding: 2vw 10px 15vw 10px;
	text-align: center;
}
footer .innerwrap {
	max-width: 1000px;
	margin: auto;
}
footer img {
	display: inline;
}
#fimg {
	width: 28.6%;
}
#fnav {
	display: flex;
	font-size: 1vw;
	justify-content: flex-end;
	width: 55%;
}
.fn {
	padding: 0 1.4vw;
}
.fn:last-child {
	padding-right: 0;
}
small {
	font-size: 1.4vw;
	text-align: right;
	background: #E8E8E8;
	display: block;
	font-size: 1vw;
	margin: 0 auto;
	padding-bottom: 3vw;
}
small .innerwrap {
	box-sizing: border-box;
	max-width: 1020px;
	padding: 0 10px;
	width: 100%;
	margin: auto;
}

.fadein {
	opacity: 0;
	transform: translateY(2vw);
	transition: 0.5s;
}
.fadein.act {
	opacity: 1;
	transform: translate(0);
}
.fbox .fadein:nth-child(2) {
	transition: 0.5s 0.2s;
}
.fbox .fadein:nth-child(3) {
	transition: 0.5s 0.4s;
}
/* 1280px以上 */
@media screen and (min-width:1280px) {
	#grobal-nav {font-size: 14px;}
	.n {font-size: 14px;}
}
/* 1000px以上 */
@media screen and (min-width:1020px) {
	.title {font-size: 20px}
	.title:before {top: -36px}
	.subtitle {font-size: 30px}
	.content {font-size: 18px}
	.point {font-size: 18px}
	.step {font-size: 18px}
	#sy-content {font-size: 24px}
	#pc-lineup {font-size: 18px}
	.fn {font-size: 14px}
	small {font-size: 14px}
}
/* SP */
@media screen and (max-width:480px) {
	header {
		padding: 5vw 0;
		height: 8vw;
	}
	p {
		text-align: justify;
	}
	#grobal-nav, .img-box, .triangle, #pc-lineup, #fimg {
		display: none;
	}
	#logo {
		margin-left: -2vw;
		width: 50%;
	}
	.hamburger-button {
		display: flex;
	}
	.hamburger-nav {
		display: block!important;
	}
	#sp-logo img {
		position: relative;
		left: -20vw;
		top: 6vw;
		text-align: left;
		width: 50%;
	}
	#sp-nu {
		margin: 0 10vw;
		padding: 5vw 0;
		overflow: scroll-y;
	}
	#sp-nu a {
		display: block;
	}
	.sn a {
		color: #fff;
		background: #CCCCCC;
		font-size: 4vw;
		margin: 2vw 0;
		padding: 2vw 0;
		text-align: center;
	}
	.sn.freedl a {
		background: #00A8BA;
	}
	.sn.paid a {
		background: #003399;
	}
	.sn2 a {
		font-size: 3.5vw;
		margin: 5.5vw 0;
	}
	#sp-footer {
		background: #E8E8E8;
		margin: 0 auto;
		text-align: center;
		position: absolute;
		bottom: 0;
	}
	#sp-footer p {
		font-size: 14px;
		text-align: center;
	}
	#sp-footer img {
		margin: 0 auto;
		width: 50%;
	}

	main {
		padding: 0 6vw 0 4vw;
		width: 100%;
	}
	.title {
		font-size: 5vw;
		margin-left: -5vw;
	}
	.title:before {
		left: 4.8vw;
		top: -7vw;
		height: 1vw;
		width: 5vw;
	}
	.subtitle {
		font-size: 4.8vw;
	}
	.content {
		font-size: 4vw;
	}

	#firstview {
		display: none;
	}
	#sp_firstview {
		display: block;
	}
	#sp_firstview img {
		width: 100%;
		height: auto;
	}

	h2 {
		font-size: 7vw;
		margin: 0 auto;
	}

	.fbox, #sp-service, #sp-lineup, #sp-license, #sp-fimg {
		display: block;
	}
	.content-box {
		margin: 0;
		width: 100%;
	}
	.img-box {
		width: 100%;
	}
	.point {
		border-radius: 5px;
		font-size: 4vw;
		margin: 10vw 0;
		width: 100%;
	}
	.point img {
	}
	.p-icon {
		width: 4em;
	}
	.step {
		font-size: 4vw;
		margin: 10vw 0;
		width: 100%;
	}
	.step img {
		width: 100%;
	}
	.step2 .s-img img:first-child {
		display: none;
	}
	.step2 .s-img img:last-child {
		display: block;
	}
	#sy-content {
		font-size: 2.4vw;
	}
	#sp-lineup dt{
		background: #E8E8E8;
		cursor:pointer;
		display:block;
		font-size: 5vw;
		padding: 5vw 10vw;
		position: relative;
	}
	.l-icon {
		font-size:8vw;
		position: absolute;
		bottom: 2vw;
		right: 8vw;
	}
	#sp-lineup dd {
		background: #F9F9F9;
		display:none;
		margin: 0;
		padding: 0;
	}
	#sp-lineup dd ul {
		margin: 0;
		padding: 10vw 0;
	}
	#sp-lineup dd li {
		border-bottom: 1px solid #CCCCCC;
		padding-left: 10vw;
	}
	#pc-license {
		margin: 10vw 0;
	}
	#pc-license img:first-child {
		display: none;
	}
	#pc-license img:last-child {
		display: block;
	}
	#footer_dl a {
		display: block;
		margin: 10vw 0;
		width: 100%;
	}
	#footer_dl a img:first-child {
		display: none;
	}
	#footer_dl a img:last-child {
		display: block;
	}
	#totop {
		font-size: 4.5vw;
	}
	#top img {
		width: 15%;
		height: 15%;
	}

	#fimg {
		width: 100%;
	}
	#fnav {
		display: block;
		font-size: 5vw;
		line-height: 2.5;
		padding: 0;
		text-align: left;
		width: 100%;
	}
	.fn {
		padding: 0;
	}
	small {
		font-size: 2vw;
	}

	.fbox .fadein:nth-child(2) {
		transition: 0.5s;
	}
	.fbox .fadein:nth-child(3) {
		transition: 0.5s;
	}
}
@media screen and (min-height:sn 736px) {
	.sn a {
		background: #CCCCCC;
		font-size: 4vw;
		margin: 3vw 0;
		padding: 4vw 0;
		text-align: center;
	}
}
