html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary,time, mark, audio, video {	box-sizing: border-box;	margin: 0;	padding: 0;	border: 0;	font-size: 100%;	font: inherit;	vertical-align: baseline;}html{ font-size: 62.5%;}body{	background: #333;	color: #000;	font-family: "Helvetica Neue",	Arial,	"Hiragino Kaku Gothic ProN",	"Hiragino Sans",	Meiryo,	sans-serif;}#container{	background: #fff;	margin: 0 auto;}.common-wrapper{	margin: 0 auto;	max-width: 1100px;	padding: 50px 0;	width: 90%;}h2.common{	border-bottom: 4px solid #00b7a4;	font-size: 3.6rem;	font-weight: bold;	line-height: 1em;	text-align: center;	margin-bottom: 35px;	padding-bottom: 10px;}h2.common .small{	font-size: 75%;}h3.common{	background: #000;	color: #00b7a4;	font-size: 2.8rem;	font-weight: bold;	line-height: 1em;	margin: 0 0 20px;	padding: 10px 0;	text-align: center;}h2.common + p,h3.common + p{	font-size: 1.6rem;	line-height: 1.25em;	text-align: center;}h2.common + p span,h3.common + p span{	color: #00b7a4;	font-weight: bold;}.fadein {	opacity: 0;	transform: translate(0,30px);	transition: all .8s;}.scrollin{	opacity: 1 !important;	transform: translate(0, 0) !important;}.common-cta a{	background: #ff500d;	border-radius: 5px;	box-shadow: 0 5px 10px rgba(0,0,0,0.25);	color: #fff;	display: block;	font-weight: bold;	margin: 0 auto;	max-width: 800px;	padding: 5px 0 3px;	text-decoration: none;	transition: all .4s;}.common-cta a:hover{	transform:scale(1.05,1.05);}.common-cta a .sub{	border-bottom: solid #fff 2px;	font-size: clamp(1rem, 3.5vw, 2rem);	margin: 0 auto;	text-align: center;	width: 65%;}.common-cta a .main{	display: flex;	align-items: center;	justify-content: center;	font-size: 24px;	gap: 10px;}.common-cta a .main:before{	background: url(img/header-cta-icon.png);	background-size: auto 24px;	content: "";	display: inline-block;	height: 24px;	margin-right 20px;	width: 29px;}@media screen and (min-width:768px) {.common-cta a{	border-radius: 10px;	padding: 10px 0 6px;}.common-cta a .main{	font-size: 34px;}}@media screen and (min-width:1025px) {.common-wrapper{	padding: 80px 0;}h2.common{	border-bottom: 6px solid #00b7a4;	font-size: 6rem;	margin: 0 auto 50px;	width: 50%;}h3.common{	font-size: 4rem;	margin: 0 0 40px;	padding: 15px 0;}h2.common + p,h3.common + p{	font-size: 2rem;	text-align: center;}}/*ーーーーーーーーーーーーーーーーーーーーヘッダーーーーーーーーーーーーーーーーーーーーー*/#top header{	background-image: url(img/header-bg.png);	background-position: right bottom;	background-repeat: no-repeat;	background-size: 120% auto;	height: 100vh;	height: 100svh;	position: relative;}#top header .wrapper{	display: flex;	flex-direction: column;	justify-content: space-between;	height: 100vh;	height: 100svh;}header .logo{	margin: 20px 0 20px 5%;	width: 120px;}header h1{	margin: 0 auto 10px;	width: 90%;}header h1 p{	background: #00b7a4;	color: #fff;	font-weight: bold;	font-size: 1.4rem;	padding: 2px;	text-align: center;	width: 80%;}header h1 img{	display: block;}header h1 .header-geo{	margin: 0 0 5px;	width: 80%;}header h1 .header-h1{	margin: 0;	width: 100%;}header h1 .pc{	display: block;}header h1 .sp{	display: none;}header .bnr{	display: block;	margin: 0 auto 15px;	width: 90%;}header .header-img{	display: block;	filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, 0.5));	margin: 0 auto;	position: relative;	width: 90%;}header .header-img:after{	bottom: -20px;	content: "※画面デザインは変更となる場合があります。";	color: #000;	font-weight: normal;	position: absolute;	right: 0;}header .header-img img{	display: block;	width: 100%;}header .cta{	margin: 30px auto 0;	padding-bottom: 30px;	text-align: center;	width: 90%;}header .cta a{	background: #01599d;	border-radius: 5px;	box-shadow: 0 5px 10px rgba(0,0,0,0.25);	color: #fff;	display: block;	font-weight: bold;	padding: 5px 0 3px;	text-decoration: none;	transition: all .4s;}header .cta a:not(:last-of-type){	margin-bottom: 10px;}header .cta a .sub{	border-bottom: solid #fff 2px;	font-size: clamp(1rem, 3.5vw, 2rem);	margin: 0 auto;	width: 65%;}header .cta a .main{	display: flex;	align-items: center;	justify-content: center;	font-size: 24px;	gap: 10px;}header .cta a .main:before{	background: url(img/header-cta-icon.png);	background-size: auto 24px;	content: "";	display: inline-block;	height: 24px;	margin-right 20px;	width: 29px;}header .cta a.download{	background: #020a4b;}header .cta a.download .main:before{	background-position: 29px 0;}header .cta a:hover{	transform:scale(1.05,1.05);}@media screen and (min-width:768px) {header .cta{	bottom: 10px;	display: flex;	justify-content: space-between;}header .cta a{	border-radius: 10px;	padding: 10px 0 6px;	width: 48%;}header .cta a:not(:last-of-type){	margin-bottom: 0;}header .cta a .main{	font-size: 34px;}}@media screen and (min-width:1025px) {#top header{	background-image: url(img/header-bg-pc.png);}#top header .wrapper{	height: 100vh;	height: 100svh;	margin: 0 auto;	max-width: 2000px;	width: 90%;	position: relative;}header .logo{	margin: 40px 0 20px;}header .bnr{	position: absolute;	right: 25px;	top: 75px;	width: 35%;}header h1{	margin: 0 0 20px;	width: 50%;}header h1 p{	font-size: 1.6rem;	padding: 4px;	width: 100%;}header h1 img{	width: 100%!important;}header h1 .header-geo{	margin: 0 0 20px;}header h1 .sp{	display: none;}header h1 .pc{	display: block;	width: 90%;}header .header-img{	bottom: 30px;	position: absolute;	right: 0;	width: 55%;}header .header-img p{	bottom: -5px;	font-size: 10px;	position: absolute;	right: 0;}header .cta{	display: block;	bottom: 40px;	left: 0;	position: absolute;	width: 40%;}header .cta a{	width: 100%;}header .cta a:not(:last-of-type){	margin-bottom: 15px;}}/*ーーーーーーーーーーーーーーーーーーーーフッターーーーーーーーーーーーーーーーーーーーー*/footer{	background: #1a1a1a;	color: #d2d2d2;}footer .logo{	height: 30px;	width: 200px;	margin: 0 auto 10px;	mask: no-repeat center/70%;	-webkit-mask: no-repeat center/70%;	background-color: #d2d2d2;	mask-image: url(img/logo.png);	-webkit-mask-image: url(img/logo.png);}footer .link{	font-size: 1.2rem;	margin: 0 0 20px;	text-align: center;}footer a{	color: #d2d2d2;}footer .trademark{	margin: 0 0 1em;}footer .address{	margin: 0 0 1em;}footer .copyrights{	text-align: center;}@media screen and (min-width:500px) {footer .trademark{	text-align: center;}footer .address{	text-align: center;}}@media screen and (min-width:840px) {footer .common-wrapper{	height: 200px;	position: relative;}footer .logo{	left: -30px;	position: absolute;	top: 30px;}footer .link{	font-size: 1.4rem;	right: 0;	position: absolute;	top: 30px;}footer a{	color: #d2d2d2;}footer .trademark{	right: -5px;	position: absolute;	top: 60px;}footer .address{	right: -5px;	position: absolute;	text-align: right;	top: 90px;}footer .copyrights{	font-size: 1.2rem;	left: 0;	position: absolute;	top: 80px;}}/*ーーーーーーーーーーーーーーーーーーーーサンクスページ/ダウンロードページ/利用規約ーーーーーーーーーーーーーーーーーーーー*/#thanks .container,#contact .container,#terms .container{	background-color: rgba(0,0,0,0);	margin: 0 auto;	min-height: calc(100svh - 200px);	z-index: 0;}#contact .container:before,#thanks .container:before{	background-image: url(img/header-bg-pc.png);	background-position: right bottom;	background-repeat: no-repeat;	background-size: cover;	content: "";	display: block;	height: 100vh;	height: 100svh;	left: 0;	position: fixed;	top: 0;	width: 100%;	z-index: -1;	clip-path: inset(0); }#thanks header,#contact header,#terms header{	background: rgba(255,255,255,0.8);	margin-bottom: 30px;}#thanks header .wrapper,#contact header .wrapper,#terms header .wrapper{	margin: 0 auto;	max-width: 1000px;	position: relative;	width: 90%;}#thanks header .logo,#contact header .logo,#terms header .logo{	margin: 15px 0;	width: 180px;}#thanks header .mail,#contact header .mail{	display: block;	position: absolute;	right: 50px;	top: 18px;	transition: all .4s;}#terms header .mail{	display: none;}#thanks header .mail:hover,#contact header .mail:hover{	opacity: 0.75;}#thanks header .mail img,#contact header .mail img{	height: 24px;}#thanks #thx{	background: rgba(255,255,255,0.8);	border: solid #fff 1px;	margin: 0 auto 30px;	max-width: 500px;	padding: 20px;	width: 90%;}#thanks #thx h2{	font-size: 2rem;	font-weight: bold;	letter-spacing: 1px;	margin: 20px;	text-align: center;}#thanks #thx p{	font-size: 1.6rem;	margin-bottom: 1em;}#thanks #thx .back{	background: #ff500d;	border-radius: 5px;	color: #fff;	display: block;	font-size: 1.6rem;	font-weight: bold;	padding: 10px 0;	text-align: center;	text-decoration: none;	transition: all .4s;}#thanks #thx .back:hover{	opacity: 0.75;}#thanks .hamburger,#contact .hamburger{	position: absolute;	top: 20px;	right: 0;	z-index: 100;	width: 26px;	height: 26px;	border: none;	background: transparent;	cursor: pointer;}#terms .hamburger{	display: none;}.hamburger:hover{	opacity: 0.75;}.hamburger-line {	position: absolute;	left: 0;	width: 26px;	height: 2px;	background-color: #333;	transition: all .4s;}.hamburger-line:nth-of-type(1) {	top: 0px;}.hamburger-line:nth-of-type(2) {	top: 9px;}.hamburger-line:nth-of-type(3) {	top: 18px;}/* メニューオープン時 */.hamburger.active .hamburger-line:nth-of-type(1) {	transform: translateY(9px) rotate(-45deg);}.hamburger.active .hamburger-line:nth-of-type(2) {	opacity: 0;}.hamburger.active .hamburger-line:nth-of-type(3) {	transform: translateY(-9px) rotate(45deg);}.nav {	position: fixed;	top: 0;	left: 0;	width: 300px;	height: 100vh;	background-color: rgba(2255,255,255,0.9);	box-shadow: 2px 0 4px rgba(0,0,0,.1);	transform: translateX(-100%);	transition: transform .4s;	z-index: 90;}.nav.active {	transform: translateX(0);}.nav-list {	margin: 0;	padding: 50px 0 0;	list-style: none;}.nav-item {	padding: 0 20px;}.nav-link {	font-size: 1.4rem;	display: block;	padding: 15px 0;	color: #333;	text-decoration: none;	border-bottom: 1px solid #eee;}#contact h2{	background: #000;	color: #29abe2;	font-size: 2.6rem;	font-weight: bold;	margin: 0 auto 30px;	max-width: 1000px;	width: 90%;	padding: 10px;	text-align: center;}#contact .lead{	border: solid #ddd 1px;	margin: 0 auto 30px;	max-width: 800px;	padding: 20px;	width: 90%;}#contact .lead p{	font-size: 1.4rem;}#contact .form{	background: rgba(255,255,255,0.8);	border: solid #eee 1px;	margin: 0 auto 30px;	max-width: 1000px;	padding: 40px 20px;	width: 90%;}@media screen and (min-width:768px) {#thanks footer{	bottom: 0;	position: absolute;	width: 100%;}}