a,abbr,acronym,address,applet,big,blockquote,body,cite,code,dd,del,dfn,div,dl,dt,em,fieldset,form,h1,h2,h3,h4,h5,h6,html,iframe,img,ins,kbd,label,legend,li,object,ol,p,pre,q,s,samp,small,span,strike,strong,sub,sup,tbody,tfoot,thead,tr,tt,ul,var
	{
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-weight: inherit;
	font-style: inherit;
	font-family: inherit;
	font-size: 100%;
	vertical-align: baseline
}

button,figure,input,table {
	margin: 0;
	padding: 0;
	border: 0
}

caption,table,td,th {
	font-style: inherit;
	font-family: inherit;
	font-size: 100%;
	vertical-align: middle
}

table {
	font-weight: inherit;
	border-collapse: separate;
	border-spacing: 0
}

caption,td,th {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	text-align: left;
	font-weight: 400
}

body {
	line-height: 1;
	color: #000;
	background: #fff;
	display: grid;
	grid-template-rows: auto;
	grid-template-columns: initial;
	-webkit-font-smoothing: antialiased;
	zoom: .8
}

ol,ul {
	list-style: none
}

a img {
	border: 0
}

html {
	overflow-x: hidden
}

button,figure,input {
	outline: 0
}

button {
	cursor: pointer
}

select,table {
	outline: 0
}

a {
	text-decoration: none
}

a,input {
	box-sizing: border-box
}

main {
	margin-top: 100px
}

.page-header,.page-header p {
	display: flex;
	flex-flow: column;
	align-items: center
}

.page-header {
	justify-content: center;
	height: 400px;
	background: linear-gradient(102deg, #61d9ff 0, #00b1ff 100%)
}

.page-header h1,.page-header small {
	font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium',
		'游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
	color: #fff;
	font-weight: 700
}

.page-header h1 {
	font-size: 43px;
	letter-spacing: .86px;
	margin-bottom: 40px
}

.page-header p {
	justify-content: space-between;
	height: initial
}

.page-header small {
	font-size: 20px;
	letter-spacing: 1.28px
}

.header {
	position: fixed;
	left: 0;
	right: 0;
	z-index: 2;
	background-color: #fff
}

.header nav {
	display: grid;
	grid-template-rows: 25px 5px 44px 1px 25px;
	grid-template-columns: 34px 158px 1fr auto 27px
}

.header nav>a {
	grid-row: 3;
	grid-column: 2;
	width: 158px;
	height: 44px
}

.header div {
	grid-row: 2/5;
	grid-column: 4;
	display: grid;
	grid-template-rows: initial;
	grid-template-columns: minmax(auto, 70px) minmax(auto, 671px)
		minmax(auto, 70px) 522px
}

.header ul:first-child {
	grid-column: 2;
	display: flex;
	flex-flow: initial;
	align-items: initial;
	justify-content: space-between
}

.header ul:first-child a {
	position: relative;
	top: 18px;
	font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium',
		'游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
	font-size: 18px;
	letter-spacing: 0;
	color: #565656;
	font-weight: 700;
	white-space: nowrap
}

.header ul:last-child {
	grid-column: 4;
	display: grid;
	grid-template-rows: initial;
	grid-template-columns: 250px;
	grid-column-gap: 22px
}

.header ul:last-child li {
	grid-row: 1
}

.header ul:last-child a,.header ul:last-child label {
	height: 100%;
	border-radius: 42px;
	box-sizing: border-box;
	display: flex;
	flex-flow: initial;
	align-items: center;
	justify-content: center;
	font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium',
		'游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
	font-size: 17px;
	letter-spacing: 1.53px;
	color: initial;
	font-weight: 700
}

.header ul:last-child li:first-child a {
	background: linear-gradient(99deg, #0de6ff 0, #51b4ff 100%) 0 0;
	color: #fff
}

.header ul:last-child li:last-child label {
	border: 2px solid #00b1ff;
	background-color: #fff;
	color: #00b1ff
}

.register {
	display: flex;
	flex-flow: initial;
	align-items: initial;
	justify-content: center
}

.register nav {
	display: grid;
	grid-template-rows: 30px 49px 130px 25px 84px 18px 153px 28px 20px 21px
		15px;
	grid-template-columns: minmax(auto, 258px) 461px 41px 892px
		minmax(auto, 268px)
}

.register figure:first-child {
	grid-row: 1/11;
	grid-column: 2
}

.register figure:nth-child(2),.register small,.register ul:nth-child(3),.register ul:nth-child(4)
	{
	grid-column: 4
}

.register figure:nth-child(2) {
	grid-row: 1/4;
	display: flex;
	flex-flow: column;
	align-items: center;
	justify-content: space-between
}

.register figcaption {
	position: relative;
	font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium',
		'游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
	font-size: 30px;
	letter-spacing: 2.1px;
	color: #000;
	font-weight: 700
}

.register figcaption:before {
	position: absolute;
	top: 19px;
	z-index: -1;
	width: 100%;
	height: 18px;
	content: '';
	background: linear-gradient(transparent 0, #ffd9e1 0)
}

.register ul:nth-child(3) {
	grid-row: 5;
	display: flex;
	flex-flow: initial;
	align-items: center;
	justify-content: space-between
}

.register ul:nth-child(3) li a {
	display: flex;
	flex-flow: initial;
	align-items: center;
	justify-content: center;
	height: 84px;
	border-radius: 42px;
	box-sizing: border-box
}

.register ul:nth-child(3) li:first-child a {
	width: 580px;
	background: linear-gradient(91deg, #31d6f8 0, #238be6 100%);
	font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium',
		'游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
	font-size: 28px;
	letter-spacing: 1.48px;
	color: #fff;
	font-weight: 700
}

.register ul:nth-child(3) li:last-child a {
	width: 271px;
	border: 4px solid #00d3ff;
	font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium',
		'游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
	font-size: 23px;
	letter-spacing: 0;
	color: #00d3ff;
	font-weight: 700
}

.register ul:nth-child(4) {
	grid-row: 7;
	background-color: #f2fbff;
	display: flex;
	flex-flow: initial;
	align-items: center;
	justify-content: center
}

.register ul:nth-child(4) li:nth-child(2) {
	margin-left: 35px
}

.register small {
	grid-row: 9;
	font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium',
		'游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
	font-size: 20px;
	letter-spacing: 1.26px;
	color: #7a7a7a;
	font-weight: 700;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden
}

.footer {
	display: flex;
	flex-flow: initial;
	align-items: initial;
	justify-content: center;
	position: relative;
	background-color: #3dbdff
}

.footer nav {
	display: grid;
	grid-template-rows: 112px 20px 45px 20px 24px 45px 83px 22px 26px;
	grid-template-columns: minmax(auto, 206px) 306px minmax(auto, 87px) auto
		minmax(auto, 226px)
}

.footer nav>a {
	grid-row: 2/5;
	grid-column: 2
}

.footer nav>p:nth-child(2) {
	grid-row: 6;
	grid-column: 2;
	display: flex;
	flex-flow: column;
	align-items: center;
	justify-content: space-between
}

.footer nav>p:nth-child(2) small {
	font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium',
		'游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
	font-size: 14px;
	letter-spacing: .88px;
	color: #fff;
	font-weight: initial
}

.footer ul {
	grid-row: 3;
	display: flex;
	align-items: center;
	justify-content: space-around;
	border-left: 4px solid #fff;
	border-right: 4px solid #fff
}

.footer ul a,.footer ul label {
	font-size: 21px;
	letter-spacing: 1.32px;
	color: #fff
}

.footer nav>div,.footer>a>span {
	display: flex;
	align-items: initial;
	justify-content: space-between
}

.footer nav>div,.footer ul {
	grid-column: 4;
	flex-flow: initial
}

.footer nav>div {
	grid-row: 6;
	overflow: hidden
}

.footer nav>div p {
	width: 100%
}

.footer nav>div small,.footer ul a,.footer ul label,.footer>a {
	font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium',
		'游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
	font-weight: 700;
	white-space: nowrap
}

.footer nav>div small {
	display: block;
	font-size: 20px;
	letter-spacing: 1.26px;
	color: #fff;
	text-overflow: ellipsis;
	overflow: hidden
}

.footer nav>div div {
	position: relative;
	top: -50%;
	min-width: 200px;
	height: 65px
}

.footer>a {
	position: absolute;
	right: 0;
	bottom: 0;
	display: flex;
	flex-flow: initial;
	align-items: center;
	justify-content: center;
	width: 200px;
	height: 65px;
	background-color: #fff;
	font-size: 12px;
	letter-spacing: .73px;
	color: #64c92a
}

.footer>a>span {
	flex-flow: column;
	height: 33px
}

.footer p:last-child {
	grid-row: 8;
	grid-column: 1/6;
	height: 22px;
	font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium',
		'游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
	font-size: 20px;
	letter-spacing: 1.26px;
	color: #fff;
	font-weight: 700;
	text-align: center
}

.footer p:last-child a {
	color: #fff
}

#login:checked ~.login,#modal:checked ~.modal {
	display: flex
}
#login:checked ~.login,#modal2:checked ~.modal2 {
	display: flex
}

.login {
	display: flex;
	flex-flow: initial;
	align-items: center;
	justify-content: center;
	display: none;
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	z-index: 3;
	background-color: rgba(86, 86, 86, .7)
}

.login-content {
	position: relative;
	width: 820px;
	height: 960px;
	background-color: #fff;
	border-radius: 49px;
	box-shadow: 0 8px 16px rgba(0, 0, 0, .161);
	display: grid;
	grid-template-rows: 60px 30px 40px 19px 20px 18px 50px 65px 40px 65px
		30px 37px 40px 70px 66px 47px 30px 148px 34px 18px 33px;
	grid-template-columns: initial
}

.login-content label {
	position: absolute;
	top: 43.04px;
	left: 46.04px;
	font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium',
		'游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
	font-size: 24px;
	letter-spacing: initial;
	color: #3c3c3c;
	font-weight: 700;
	cursor: pointer
}

.login-content div:nth-child(1) {
	grid-row: 2;
	display: flex;
	flex-flow: initial;
	align-items: initial;
	justify-content: center
}

.login-content div:nth-child(1) p {
	font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium',
		'游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
	font-size: 30px;
	letter-spacing: .6px;
	color: #00b1ff;
	font-weight: 700
}

.login-content div:nth-child(2),.login-content div:nth-child(3),.login-content div:nth-child(4)
	{
	grid-row: 4;
	display: flex;
	flex-flow: initial;
	align-items: initial;
	justify-content: center
}

.login-content div:nth-child(2) p,.login-content div:nth-child(3) p,.login-content div:nth-child(4) input,.login-content div:nth-child(5) input
	{
	font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium',
		'游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
	font-size: 18px;
	letter-spacing: .9px;
	color: #3e3e3e;
	font-weight: 700
}

.login-content div:nth-child(3),.login-content div:nth-child(4) {
	grid-row: 6
}

.login-content div:nth-child(3) p,.login-content div:nth-child(4) input,.login-content div:nth-child(5) input
	{
	letter-spacing: 1.44px;
	color: #ff6580
}

.login-content div:nth-child(4) {
	grid-row: 8
}

.login-content div:nth-child(4) input,.login-content div:nth-child(5) input
	{
	width: 620px;
	height: 100%;
	border: 1px solid #c1c1c1;
	background-color: #fff;
	border-radius: 33px;
	font-size: 20px;
	color: #565656;
	padding: 0 35px
}

.login-content div:nth-child(4) input::placeholder,.login-content div:nth-child(5) input::placeholder
	{
	color: #d5d5d5;
	font-weight: initial
}

.login-content div:nth-child(5) {
	grid-row: 10;
	display: flex;
	flex-flow: initial;
	align-items: initial;
	justify-content: center
}

.login-content div:nth-child(6) {
	grid-row: 12;
	display: flex;
	flex-flow: column;
	align-items: center;
	justify-content: space-between
}

.login-content div:nth-child(10) p,.login-content div:nth-child(6) p,.login-content div:nth-child(7) button,.login-content div:nth-child(8) p,.modal-content form:nth-child(5) div:nth-child(4) button
	{
	font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium',
		'游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
	font-size: 13px;
	letter-spacing: .39px;
	color: #3e3e3e;
	font-weight: initial
}

.login-content div:nth-child(7) {
	grid-row: 14;
	display: flex;
	flex-flow: initial;
	align-items: initial;
	justify-content: center
}

.login-content div:nth-child(7) button,.modal-content form:nth-child(5) div:nth-child(4) button
	{
	width: 460px;
	height: 100%;
	background-color: #23cbee;
	border-radius: 35px;
	font-size: 20px;
	letter-spacing: 1.44px;
	color: #fff;
	font-weight: 700
}

.login-content div:nth-child(8) {
	grid-row: 16;
	display: flex;
	flex-flow: column;
	align-items: center;
	justify-content: space-between
}

.login-content div:nth-child(10) p,.login-content div:nth-child(8) p {
	font-size: 17px;
	letter-spacing: .51px;
	font-weight: 700
}

.login-content div:nth-child(10),.login-content div:nth-child(9) {
	grid-row: 18;
	display: flex;
	flex-flow: initial;
	align-items: initial;
	justify-content: center
}

.login-content div:nth-child(9) img {
	width: 148px;
	height: 148px
}

.login-content div:nth-child(10) {
	grid-row: 20
}

.login-content div:nth-child(10) p {
	letter-spacing: 1.38px
}

.content,.contents {
	display: grid;
	grid-template-rows: initial;
	grid-template-columns: 1fr 1050px 1fr
}

.content {
	grid-column: 2;
	grid-template-rows: 164px 215px 100px 215px 252px;
	grid-template-columns: initial
}

.content a,.content label {
	display: flex;
	flex-flow: initial;
	align-items: center;
	justify-content: center;
	height: 100%;
	background-color: #fff;
	box-shadow: 0 8px 16px rgba(0, 0, 0, .161);
	border-radius: 42px
}

.content span {
	margin-left: 30px;
	font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium',
		'游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
	font-size: 40px;
	letter-spacing: 2.04px;
	color: #04b2fe;
	font-weight: 700
}

.content label:first-child {
	grid-row: 2
}

.content a:last-child {
	grid-row: 4
}

.modal {
	display: flex;
	flex-flow: initial;
	align-items: center;
	justify-content: center;
	display: none;
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	z-index: 3;
	background-color: rgba(86, 86, 86, .7)
}

.modal2 {
	display: flex;
	flex-flow: initial;
	align-items: center;
	justify-content: center;
	display: none;
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	z-index: 3;
	background-color: rgba(86, 86, 86, .7)
}

.modal-content {
	position: relative;
	width: 820px;
	height: 960px;
	background-color: #fff;
	border-radius: 49px;
	box-shadow: 0 8px 16px rgba(0, 0, 0, .161);
	display: grid;
	grid-template-rows: 47px 40px 46px 59px 20px 72px 20px 200px 30px 460px;
	grid-template-columns: initial
}

.modal-content label {
	position: absolute;
	top: 43.04px;
	left: 46.04px;
	font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium',
		'游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
	font-size: 24px;
	letter-spacing: initial;
	color: #3c3c3c;
	font-weight: 700;
	cursor: pointer
}

.modal-content div:nth-child(1) {
	grid-row: 2;
	display: flex;
	flex-flow: initial;
	align-items: center;
	justify-content: center
}

.modal-content div:nth-child(1) span {
	font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium',
		'游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
	font-size: 30px;
	letter-spacing: .6px;
	color: #00b1ff;
	font-weight: 700;
	margin-left: 16.34px
}

.modal-content div:nth-child(2) {
	grid-row: 4;
	display: flex;
	flex-flow: column;
	align-items: center;
	justify-content: space-between
}

.modal-content div:nth-child(2) p,.modal-content div:nth-child(3) p,.modal-content form:nth-child(5) div:nth-child(1) p
	{
	font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium',
		'游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
	font-size: 18px;
	letter-spacing: .9px;
	color: #3e3e3e;
	font-weight: 700
}

.modal-content div:nth-child(3),.modal-content div:nth-child(4) {
	grid-row: 6;
	display: flex;
	flex-flow: initial;
	align-items: center;
	justify-content: center
}

.modal-content div:nth-child(3) p,.modal-content form:nth-child(5) div:nth-child(1) p
	{
	letter-spacing: 1.44px;
	color: #ff6580;
	line-height: 1.3;
}

.modal-content div:nth-child(4) {
	grid-row: 8
}

.modal-content form:nth-child(5) {
	grid-row: 10;
	background-color: #f8fbff;
	border-bottom-left-radius: 49px;
	border-bottom-right-radius: 49px;
	display: grid;
	grid-template-rows: 30px auto 35px 45px 40px 65px 30px 70px 30px 35px
		45px;
	grid-template-columns: initial
}

.modal-content form:nth-child(5) div:nth-child(1) {
	grid-row: 2
}

.modal-content form:nth-child(5) div:nth-child(1) p {
	font-size: 20px;
	letter-spacing: 1.62px;
	color: #3e3e3e;
	padding-bottom: 10px;
	border-bottom: 3px solid #565656
}

.modal-content form:nth-child(5) div:nth-child(2) {
	grid-row: 4
}

.modal-content form:nth-child(5) div:nth-child(2) p,.modal-content form:nth-child(5) div:nth-child(3) input
	{
	font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium',
		'游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
	font-size: 15px;
	letter-spacing: .45px;
	color: #3e3e3e;
	font-weight: initial
}

.modal-content form:nth-child(5) div:nth-child(3) {
	grid-row: 6
}

.modal-content form:nth-child(5) div:nth-child(3) input {
	width: 620px;
	height: 100%;
	background-color: #fff;
	border-radius: 33px;
	font-size: 20px;
	letter-spacing: 1.44px;
	color: #565656;
	font-weight: 700;
	padding: 0 35px;
	border: 1px solid #c1c1c1
}

.modal-content form:nth-child(5) div:nth-child(3) input::placeholder {
	font-weight: initial;
	color: #d5d5d5
}

.modal-content form:nth-child(5) div:nth-child(4) {
	grid-row: 8
}

.modal-content form:nth-child(5) div:nth-child(5) {
	grid-row: 10;
	display: flex;
	flex-flow: column;
	align-items: center;
	justify-content: space-between
}

.modal-content form:nth-child(5) div:nth-child(5) p {
	font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium',
		'游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
	font-size: 12px;
	letter-spacing: .36px;
	color: #3e3e3e;
	font-weight: initial
}