@charset "UTF-8";
/*
Theme Name: template
Author: Catwork Co., Ltd.
*/

/* Reset
----------------------------------------------------------- */
:root {
	/* bodyの背景色 */
	--body-bg-color: #fff;

	/* メインのフォントファミリー */
    --main-font: "游ゴシック体", YuGothic, "Yu Gothic Medium", sans-serif;

	/* メインのフォントカラー */
	--main-font-color: #333;

	/* h2~h5タグまでのフォントウェイト */
	--h-tag-weight: normal;

	/* ここはブログで使用します */
	--main-color: #30baee;
	--main-light-color: #e2f1f1;
}

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,
menu, nav, output, ruby, section, summary,
time, mark, audio, video{
	zoom:1;	/* hasLayout in IE */
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font:inherit;
	font-size:100%;
	font-weight:normal;
	font-style:normal;
	vertical-align:baseline;
	background:transparent;
	-webkit-text-size-adjust: 100%;
	word-break:break-all;
}
header, menu, nav, footer,
section,article, aside,
details, summary,
figure, figcaption{display:block;}
table{
	border-collapse:collapse;
	border-spacing:0;
}
::placeholder{
	color: #ccc;
	font-family: "游ゴシック体", YuGothic, "Yu Gothic Medium", sans-serif;
}
q, blockquote{quotes:none;}
q:before, q:after, blockquote:before, blockquote:after{
	content:"";
	content:none;
}
img{
	font-size:0;
	line-height:0;
	vertical-align:bottom;
	height:auto;
	max-width:100%;
}
input {
	border-radius: 0;
	-webkit-appearance: none;
	line-height: normal;
	color: var(--main-font-color);
}
a{
	margin:0;
	padding:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
	color: var(--main-font-color);
}
a:focus{ outline:none; }
a img{
	border:none;
	vertical-align:middle;
}
textarea{overflow:auto;}
label{cursor:pointer;}
.clearfix:after{
	display:block;
	visibility:hidden;
	content:".";
	clear:both;
	height:0;
	font-size:0;
	line-height:0;
}
* html .clearfix{ zoom:1; }
*:first-child + html .clearfix{ zoom:1; }
* { flex-shrink: 0; }
a{ text-decoration:none; }
strong{ font-weight:normal; }
ul,ol{ list-style-type:none; }
body{
	font-family: var(--main-font);
	font-size:16px;
	line-height:1.5;
	color: var(--main-font-color);
	background: var(--body-bg-color);
}
.wrap{
	width:100%;
	overflow-x:hidden;
}
.inner{
	margin:0 auto;
	width:1200px;
}


/* wordpress ブロックcss
----------------------------------------------------------- */
.wp-block-embed iframe {
    max-width: 100%;
	position: relative !important;
	margin-bottom: 30px;
	pointer-events: none;
}
.wp-block-embed__wrapper {
    position: relative;
}
.wp-block-table{
	padding-bottom: 30px;
	overflow-x: auto;
}
.wp-block-table table {
    border-collapse: collapse;
	width: 100%;
}
.wp-block-table td, .wp-block-table th {
    padding: 0.5em;
    border: 1px solid #777777;
    word-break: normal;
}
.wp-block-table.is-style-stripes td, .wp-block-table.is-style-stripes th {
    border-color: transparent;
}
.wp-block-table.is-style-stripes {
    border-spacing: 0;
    border-collapse: inherit;
    background-color: transparent;
}
.wp-block-table thead{
	background: #aa843f;
	color: #fff;
}
.wp-block-table tfoot{
	background: #aa843f;
	color: #fff;
}
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
    background-color: rgba(157, 190, 76, 0.4);
}
.wp-block-table.is-style-stripes tbody tr:nth-child(even) {
    background-color: rgba(255,255,255,1);
}
.wp-block-table figcaption{
	text-align: center;
}
.blogcont ul{
	padding:0 0 30px 30px;
	list-style: disc;
}
.blogcont ol {
	padding: 0 0 30px 30px;
	list-style: decimal;
}
.blogcont ul.pager{
	padding: 0;
	list-style: none;
}
.blogcont a{
	font-weight: bold;
	text-decoration: underline;
}
.blogcont ul.pager a{
	text-decoration:none;
}

/* 引用 */
blockquote.wp-block-quote {
	border-left: 1px solid;
    padding-left: 15px;
}
blockquote.wp-block-quote p {
	padding-bottom: 10px !important;
}

/* 埋め込みコンテンツ */
figure.wp-block-embed {
	margin-top: 30px;
}
blockquote.wp-block-quote cite {
	color: currentColor;
	font-size: 14px;
	color: #aaaaaa;
}

/* ギャラリー　*/
figure.wp-block-gallery {
	display: flex;
}
figure.wp-block-gallery.columns-1 figure.wp-block-image {
	width: 100%;
}
figure.wp-block-gallery.columns-2 figure.wp-block-image {
	width: 48%;
}
figure.wp-block-gallery.columns-3 figure.wp-block-image {
	width: 32%;
}
figure.wp-block-gallery.columns-4 figure.wp-block-image {
	width: 23%;
}
figure.wp-block-gallery.columns-5 figure.wp-block-image {
	width: 18%;
}
figure.wp-block-gallery.columns-6 figure.wp-block-image {
	width: 15%;
}
figure.wp-block-gallery figure.wp-block-image.is-style-rounded img {
	border-radius: 15px;
}

/* 動画 */
.wp-block-video {
	margin-top: 30px;
}
.wp-block-video video {
	max-width: 100%;
}

/* その他 */
.wp-block-embed__wrapper {
	position: relative;
}
.wp-block-embed__wrapper .wp-embedded-content {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}
.wp-block-embed__wrapper .wp-embedded-content a {
	display: block;
	width: 100%;
	height: 100%;
}
iframe.wp-embedded-content {
	margin-bottom: 0;
}
:root .has-pale-pink-color {
	font-weight: bold;
    color: #f78da7
}
:root .has-vivid-red-color {
	font-weight: bold;
    color: #cf2e2e
}
:root .has-luminous-vivid-orange-color {
	font-weight: bold;
    color: #ff6900
}
:root .has-luminous-vivid-amber-color {
	font-weight: bold;
    color: #fcb900
}
:root .has-light-green-cyan-color {
	font-weight: bold;
    color: #7bdcb5
}
:root .has-vivid-green-cyan-color {
	font-weight: bold;
    color: #00d084
}
:root .has-pale-cyan-blue-color {
	font-weight: bold;
    color: #8ed1fc
}
:root .has-vivid-cyan-blue-color {
	font-weight: bold;
    color: #0693e3
}
:root .has-vivid-purple-color {
	font-weight: bold;
    color: #9b51e0
}
:root .has-white-color {
	font-weight: bold;
    color: #fff
}
:root .has-very-light-gray-color {
	font-weight: bold;
    color: #eee
}
:root .has-cyan-bluish-gray-color {
	font-weight: bold;
    color: #abb8c3
}
:root .has-very-dark-gray-color {
	font-weight: bold;
    color: #313131
}
:root .has-black-color {
	font-weight: bold;
    color: #000
}

/* フェードアニメーション
--------------------------------------------------------*/
/*ふわっと出る*/
.mv01_on {
	transition: all 1s ease-out;
	transform: scale(1, 1) translate3d(0, 0, 0);
	opacity: 0;
}
.mv01_off {
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	transform: scale(1, 1) translate3d(0, 0, 0);
	opacity: 1;
}

/*下から*/
.mv02_on {
	transition: all 1s ease-out;
	transform: scale(1, 1) translate3d(0, 50px, 0);
	opacity: 0;
}
.mv02_off {
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	transform: scale(1, 1) translate3d(0, 0, 0);
	opacity: 1;
}

/*右から*/
.mv03_on {
	transition: all 1s ease-out;
	transform: scale(1, 1) translate3d(50px, 0, 0);
	opacity: 0;
}
.mv03_off {
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	transform: scale(1, 1) translate3d(0, 0, 0);
	opacity: 1;
}

/*左から*/
.mv04_on {
	transition: all 1s ease-out;
	transform: scale(1, 1) translate3d(-50px, 0, 0);
	opacity: 0;
}
.mv04_off {
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	transform: scale(1, 1) translate3d(0, 0, 0);
	opacity: 1;
}


/*===============================================
横幅1200px以下
===============================================*/
@media screen and (max-width: 1240px) and (min-width: 441px){
	html,
	body,
	.wrap{
		width:1240px;
	}
}

/*===============================================
横幅441px以上
===============================================*/
@media screen and (min-width: 441px) {
	a:hover{
		opacity:0.8;
		filter:alpha(opacity=80);
		-moz-opacity:0.8;
		transition: all .5s;
	}
	.sp{
		display:none;
	}

	/* スムーススクロール設定 */
	html {
		scroll-behavior: smooth;
	}
	:root {
		--header-height: 100px;
	}

/* header
------------------------------------------------------------------------*/

	header{
		top: 0;
		left: 0;
		width: 100%;
		z-index: 10000;
		position: relative;
	}
	header h1{
		color: #666;
		font-weight: bold;
		text-align: center;
		padding: 10px 23px;
		position: absolute;
		top: 12px;
		left: 290px;
		line-height: 1.5;
	}
		header h1::before,
		header h1::after {
			position: absolute;
			top: 0;
			content:'';
			width: 9px;
			height: 100%;
			display: inline-block;
			border-top: solid 1px #00a9eb;
			border-bottom: solid 1px #00a9eb;
		}
		header h1::before {
			border-left: solid 1px #00a9eb;
			left: 0;
		}
		header h1::after {
			border-right: solid 1px #00a9eb;
			right: 0;
		}

	header .header_box{
		position: fixed;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 100%;
		height: 100px;
	}
	header .header_box .logo{
		position: absolute;
		top: 20px;
		left: 20px;
	}

	header .header_box ul {
		display: flex;
		justify-content: flex-end;
	}
	header .header_box ul li a{
		display: block;
		width: 258px;
		height: 78px;
		font-weight: bold;
		color: #fff;
		background: #38c8c0;
		border: 1px solid #38c8c0;
		padding: 30px 0 0 25px;
		box-sizing: border-box;
		line-height: 1;
		text-align: center;
		position: relative;
	}
	header .header_box ul li:nth-of-type(2) a{
		padding: 30px 0 0 35px;
		background: #45b0e6;
		border: 1px solid #45b0e6;
	}
	header .header_box ul li a:hover{
		color: #38c8c0;
		background: #fff;
	}
	header .header_box ul li:nth-of-type(2) a:hover{
		color: #45b0e6;
	}
	header .header_box ul li a::before{
		content: "";
		background: url(img/header_entry.png)no-repeat;
		width: 20px;
		height: 22px;
		position: absolute;
		top: 50%;
		left: 30px;
		transform: translateY(-50%);
	}
	header .header_box ul li a:hover::before{
		filter: brightness(0) saturate(100%) invert(71%) sepia(55%) saturate(514%) hue-rotate(123deg) brightness(88%) contrast(87%);
	}
	header .header_box ul li:nth-of-type(2) a::before{
		background: url(img/header_login.png)no-repeat;
		width: 26px;
		height: 20px;
		left: 15px;
	}
	header .header_box ul li:nth-of-type(2) a:hover:before{
		filter: brightness(0) saturate(100%) invert(68%) sepia(28%) saturate(1932%) hue-rotate(170deg) brightness(92%) contrast(95%);
	}
	header .header_box ul li a::after{
		content: "ENTRY";
		font-size: 49.6px;
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		color: #fff;
		opacity: 0.1;
		letter-spacing: 15px;
		position: absolute;
		top: 55%;
		left: 50%;
		transform: translate(-50%,-50%);
		width: 100%;
	}
	header .header_box ul li a:hover:after{
		color: #38c8c0;
	}
	header .header_box ul li:nth-of-type(2) a::after{
		content: "LOGIN";
	}
	header .header_box ul li:nth-of-type(2) a:hover:after{
		color: #45b0e6;
	}

/* home
------------------------------------------------------------------------*/
	
/* key ----------------------------------------------*/

	.home .key {
		height: 1022px;
		background: url(img/mv_bg01.png) no-repeat top center;
		z-index: -1;
		position: relative;
	}

	.home .key .inner {
        position: relative;
        padding: 190px 0 0;
	}

		.home .key .inner::before {
			position: absolute;
			top: 0;
			right: -300px;
			content: "";
			display: block;
			background: url(img/mv_icon02.png) no-repeat bottom 360px right 300px, url(img/mv_icon01.png) no-repeat top 275px right 690px, url(img/mv_text05.png) no-repeat bottom 250px right 300px, url(img/mv_bg02.png) no-repeat bottom right 243px;
			width: 1800px;
			height: 850px;
			z-index: 1;
		}

	.home .key .inner .text01{
		display: inline-block;
		width: 591px;
		height: 78px;
		background: url("img/mv_text01.png")center top no-repeat;
		padding: 78px 0 0;
		margin-left: 55px;
		box-sizing: border-box;
		overflow: hidden;
		vertical-align: middle;
	}

	.home .key .inner .text02{
		margin-top: 55px;
		position: relative;
	}
	.home .key .inner .text02::before {
		content: "&";
		font-size: 82px;
		color: #fff;
		font-weight: bold;
		position: absolute;
		top: 50%;
		left: 322px;
		transform: translateY(-50%);
		text-shadow:1px 1px 0 #94d9f9, -1px -1px 0 #94d9f9,
		-1px 1px 0 #94d9f9, 1px -1px 0 #94d9f9,
		0px 1px 0 #94d9f9,  0 -1px 0 #94d9f9,
		-1px 0 0 #94d9f9, 1px 0 0 #94d9f9;
		z-index: 1;
	}
	.home .key .inner .text02 span {
		display: inline-block;
		font-size: 24px;
		color: #666;
		text-align: center;
		width: 335px;
		height: 68px;
		padding: 24px 0 0 8px;
		box-sizing: border-box;
		border-radius: 34px;
		letter-spacing: 4px;
		position: relative;
	}
	.home .key .inner .text02 .span01 {
		background: #beedff;
		margin-right: 30px;
	}
	.home .key .inner .text02 .span02 {
		font-size: 26px;
		background: #d7f6f1;
	}
		.home .key .inner .text02 .span01::before {
			content: "";
			background: url(img/mv_text02.png) no-repeat;
			width: 248px;
			height: 45px;
			position: absolute;
			top: -20px;
			left: 50%;
			transform: translateX(-50%);
		}
		.home .key .inner .text02 .span02::before {
			content: "";
			background: url(img/mv_text03.png) no-repeat;
			width: 176px;
			height: 38px;
			position: absolute;
			top: -20px;
			left: 50%;
			transform: translateX(-50%);
		}

	.home .key .inner .text03 {
		font-size: 74px;
		color: #000;
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		letter-spacing: -1px;
		position: absolute;
		top: 428px;
		left: 0;
		transform: rotate(-5deg);
		z-index: 1;
	}
		.home .key .inner .text03::before {
			content: "";
			background: repeating-linear-gradient(135deg, transparent, transparent 5px, rgba(69, 176, 230, 1) 5.5px, rgba(69, 176, 230, 1) 6px );
			width: 645px;
			height: 60px;
			position: absolute;
			top: 30px;
			left: 40px;
			transform: rotate(5deg);
			z-index: -1;
		}
		.home .key .inner .text03::after {
			content: "";
			background: url(img/mv_text04.png) no-repeat;
			width: 315px;
			height: 52px;
			position: absolute;
			top: -25px;
			left: 10px;
			transform: rotate(5deg);
		}

	.home .key .inner ul {
		margin: 165px 0 0 0;
		text-align: center;
		display: flex;
		gap: 0 15px;
		position: relative;
		z-index: 1;
	}
	.home .key .inner ul li {
		font-size: 18px;
		color: #666;
		font-weight: bold;

		width: 225px;
		height: 130px;
		background: rgba(255,255,255,0.9);
		padding: 20px 0 0;
		box-sizing: border-box;
		position: relative;
	}
		.home .key .inner ul li::before {
			content: "";
			border-left: 1px solid #00a9eb;
			border-top: 1px solid #00a9eb;
			position: absolute;
			top: 0;
			left: 0;
			width: calc(100% - 25px);
			height: calc(100% - 25px);
		}
		.home .key .inner ul li::after {
			content: "";
			border-right: 1px solid #00a9eb;
			border-bottom: 1px solid #00a9eb;
			position: absolute;
			bottom: 0;
			right: 0;
			width: calc(100% - 25px);
			height: calc(100% - 25px);
		}
		.home .key .inner ul li:nth-of-type(2)::before,
		.home .key .inner ul li:nth-of-type(2)::after {
			border-color: #ff8deb;
		}
		.home .key .inner ul li:nth-of-type(3)::before,
		.home .key .inner ul li:nth-of-type(3)::after {
			border-color: #71e2dc;
		}

	.home .key .inner ul li .span01{
		display: inline;
		font-size: 20px;
		color: #00a9eb;
		font-weight: bold;
		position: relative;
	}
	.home .key .inner ul li:nth-of-type(2) .span01{
		color: #ff8deb;
	}
	.home .key .inner ul li:nth-of-type(3) .span01{
		color: #71e2dc;
	}
		.home .key .inner ul li:nth-of-type(3) .span01::before {
			content: url(img/mv_tictok.png);
			padding-right: 5px;
		}
		.home .key .inner ul li .span01::after {
			content: "";
			background: url(img/mv_img01.png) no-repeat;
			width: 189px;
			height: 34px;
			position: absolute;
			bottom: -60px;
			left: -6px;
		}
		.home .key .inner ul li:nth-of-type(2) .span01::after {
			background: url(img/mv_img02.png) no-repeat;
		}
		.home .key .inner ul li:nth-of-type(3) .span01::after {
			background: url(img/mv_img03.png) no-repeat;
			left: -24px;
		}

	.home .key .inner ul li .span02{
		color: #000;
		font-family: Ebrima;
		font-size: 43px;
		font-weight: bold;
		letter-spacing: -1px;
		line-height: 1.2;
		position: relative;
		z-index: 1;
	}
	.home .key .inner ul li .span03{
		font-size: 22px;
		color: #666;
		font-weight: bold;
		position: relative;
		z-index: 1;
	}
	.home .key .inner .text04 {
		width: 700px;
		height: 50px;
		background: #00a9eb;
		color: #fff;
		font-size: 22px;
		line-height: 51px;
		font-weight: bold;
		text-align: center;
		border-radius: 50px;
		letter-spacing: 2px;
		margin-top: 25px;
		position: relative;
		z-index: 1;
	}
		.home .key .inner .text04::before {
			content: "";
			background: url(img/mv_icon01.png) no-repeat;
			width: 47px;
			height: 54px;
			position: absolute;
			top: -10px;
			left: 20px;
		}
		.home .key .inner .text04::after {
			content: "";
			background: url(img/mv_icon03.png) no-repeat;
			width: 53px;
			height: 56px;
			position: absolute;
			top: 7px;
			right: 20px;
		}
	.home .key .inner .text04 span {
		font-family: Ebrima;
		font-size: 30px;
		font-weight: bold;
		letter-spacing: 0px;
		position: relative;
	}
		.home .key .inner .text04 span::before {
			content: "";
			background: url(img/mv_arrow.png) no-repeat;
			width: 20px;
			height: 18px;
			position: absolute;
			top: 13px;
			left: -27px;
		}
	.home .key .inner .text05 {
		font-size: 14px;
		font-weight: bold;
		margin: 5px;
	}

	.to_entry {
		position: fixed;
		bottom: 10px;
		right: 10px;
		transition: 0.5s;
		z-index: 1;
	}
	.is-hidden {
		visibility: hidden;
		opacity: 0;
	  }

	.to_entry a {
		display: inline-block;
		width: 250px;
		height: 250px;
		border-radius: 50%;
		background: #38c8c0;
		color: #fff;
		font-size: 22px;
		font-weight: bold;
		line-height: 1.45;
		padding-top: 45px;
		text-align: center;
		box-sizing: border-box;
		position: relative;
	}
		.to_entry a::before {
			content: "";
			background: url(img/to_entry.png) no-repeat;
			width: 139px;
			height: 15px;
			position: absolute;
			top: 82px;
			left: 50%;
			transform: translateX(-50%);
		}
		.to_entry a::after {
			content: "";
			width: 240px;
			height: 240px;
			border: 1px solid #fff;
			border-radius: 50%;
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%,-50%);
		}
	.to_entry a:hover {
		background: #45b0e6;
	}
	.to_entry .span01 {
		font-size: 24px;
		font-weight: bold;
		padding-left: 8px;
	}
	.to_entry .span02 {
		display: inline-block;
		font-size: 32px;
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		letter-spacing: 5px;
		opacity: 0.5;
		margin-top: 17px;
	}

	
/* cont01 ----------------------------------------------*/
	.home .cont01{
		padding: 170px 0 0;
	}
	.home .cont01 .inner {
		position: relative;
	}
		.home .cont01 .inner::before {
			content: "";
			background: url(img/home_img01.png) no-repeat;
			width: 900px;
			height: 600px;
			position: absolute;
			top: 0;
			left: -300px;
		}
		.home .cont01 .inner::after {
			content: "About\A Asterisk\A Affiliate";
			color: rgba(46, 185, 239, 0.1);
			font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
			font-size: 188.5px;
			line-height: 1.05;
			white-space: pre;
			position: absolute;
			top: -115px;
			right: -300px;
		}
	.home .cont01 .text_box {
		margin-left: calc(50% + 40px);
		position: relative;
	}
		.home .cont01 .text_box::before {
			content: "";
			background: url(img/home_text01.png) no-repeat;
			width: 475px;
			height: 156px;
			position: absolute;
			top: 285px;
			left: -560px;
		}
	.home .cont01 .text_box h2 {
		font-size: 28px;
		font-weight: bold;
	}
		.home .cont01 .text_box h2::before {
			content: "";
			background: url(img/home_icon01.png) no-repeat;
			width: 65px;
			height: 69px;
			position: absolute;
			top: -45px;
			right: 20px;
	}
		.home .cont01 .text_box h2::after {
			content: "";
			background: url(img/home_img02.png) no-repeat;
			width: 189px;
			height: 34px;
			position: absolute;
			top: 60px;
			right: 40px;
			z-index: -1;
	}
	.home .cont01 .text_box h2 span {
		font-size: 24px;
		font-weight: bold;
	}
	.home .cont01 .text_box .text01 {
		font-size: 18px;
		line-height: 2;
		padding: 40px 0 30px;
	}
	.home .cont01 .inner .box {
		width: 560px;
		background: rgba(48, 186, 238, 0.15);
		padding: 30px 0 30px 35px ;
		box-sizing: border-box;
	}
	.home .cont01 .inner .box h3 {
		font-size: 18px;
		font-weight: bold;
		line-height: 1;
		padding-left: 25px;
		margin-bottom: 20px;
		position: relative;
	}
		.home .cont01 .inner .box h3::before {
			content: "";
			width: 16px;
			height: 16px;
			background: #2eb9ef;
			position: absolute;
			top: 0;
			left: 0;
		}
	.home .cont01 .inner .box p {
		font-size: 18px;
		line-height: 1.8;
	}
	
/* cont02 ----------------------------------------------*/
	.home .cont02 {
		margin: 100px auto;
		text-align: center;
		position: relative;
	}
		.home .cont02::before{
			content: "";
			background: url(img/home_bg01.png) no-repeat;
			width: 639px;
			height: 916px;
			position: absolute;
			bottom: -420px;
			left: 0;
			z-index: -1;
		}
	.home .cont02 .inner {
		position: relative;
	}

	.home .cont02 .inner .recommend h2 {
		font-size: 26px;
		font-weight: bold;
		width: 542px;
		height: 60px;
		background: repeating-linear-gradient(135deg, transparent, transparent 5px, #a2d7f2 5.5px, #a2d7f2 6px );
		margin: 0 auto;
		padding: 12px 0 0 5px;
		box-sizing: border-box;
	}
		.home .cont02 .inner .recommend h2::before,
		.home .cont02 .inner .recommend h2::after {
			position: absolute;
			top: 0;
			content:'';
			width: 9px;
			height: 59px;
			display: inline-block;
			border-top: solid 1px #00a9eb;
			border-bottom: solid 1px #00a9eb;
		}
		.home .cont02 .inner .recommend h2::before{
			border-left: solid 1px #00a9eb;
			left: 328px;
		}
		.home .cont02 .inner .recommend h2::after {
			border-right: solid 1px #00a9eb;
			right: 328px;
		}
	.home .cont02 .inner .recommend ul {
		margin: 50px 0 40px;
		display: flex;
		justify-content: center;
		gap: 0 30px;
	}
	.home .cont02 .inner .recommend ul li {
		width: 283px;
		height: 284px;
		background: url(img/home_img03.png) no-repeat;
		font-size: 22px;
		line-height: 1.45;
		font-weight: bold;
		padding-top: 97px;
		box-sizing: border-box;
	}
	.home .cont02 .inner .recommend ul li:nth-of-type(2) {
		background: url(img/home_img04.png) no-repeat;
	}
	.home .cont02 .inner .recommend ul li:nth-of-type(3) {
		background: url(img/home_img05.png) no-repeat;
	}
	.home .cont02 .inner .banner {
		background: rgba(255, 255, 211, 0.3);
		padding: 55px 0 40px;
	}
	.home .cont02 .inner .banner h3 {
		display: inline-block;
		margin-bottom: 50px;
		font-size: 26px;
		font-weight: bold;
		position: relative;
	}
		.home .cont02 .inner .banner h3::before {
			content: "";
			background: url(img/home_icon02.png) no-repeat;
			width: 47px;
			height: 54px;
			position: absolute;
			top: -20px;
			left: -70px;
		}
		.home .cont02 .inner .banner h3::after {
			content: "";
			background: url(img/home_icon01.png) no-repeat;
			width: 65px;
			height: 69px;
			position: absolute;
			top: -18px;
			right: -85px;
		}
	.home .cont02 .inner .banner .banner_box {
		display: flex;
		justify-content: center;
		gap: 0 40px;
	}
	.home .cont02 .inner .banner .banner_box .ttl {
		margin-top: 20px;
		font-size: 20px;
		font-weight: bold;
	}

/* cont03 ----------------------------------------------*/
	.home .cont03 {
		background-image: linear-gradient(-90deg, #b7ebff, #eafffb);
		padding: 168px 0 100px;
	}
	.home .cont03 .inner h2 {
		text-align: center;
		font-size: 16px;
		font-weight: bold;
		line-height: 2;
		position: relative;
		margin-bottom: 70px;
	}
		.home .cont03 .inner h2::before {
			content: "POINT";
			font-size: 38px;
			font-weight: bold;
			color: #00a9eb;
			position: absolute;
			top: -75px;
			left: 50%;
			transform: translateX(-50%);
		}
	.home .cont03 .inner h2 span {
		font-size: 38px;
		font-weight: bold;
	}

	.home .cont03 .inner .point {
		background: #fff;
		border: 1px solid #71e2dc;
		border-radius: 20px;
		padding: 65px 75px 65px 80px;
		margin-bottom: 50px;
		box-sizing: border-box;
		position: relative;
	}
		.home .cont03 .inner .point::before {
			content: "";
			background: url(img/home_img08.png) no-repeat;
			width: 423px;
			height: 309px;
			position: absolute;
			top: -145px;
			right: -33px;
		}
		.home .cont03 .inner .point02::before {
			background: url(img/home_img09.png) no-repeat;
			width: 393px;
			top: -130px;
			right: 0;
		}
		.home .cont03 .inner .point03::before {
			background: url(img/home_img10.png) no-repeat;
			width: 273px;
			top: -112px;
			right: 68px;
		}
	.home .cont03 .inner .point .point_ttl {
		display: flex;
		gap: 0 80px;
		align-items: center;
	}
	.home .cont03 .inner .point .point_ttl p {
		color: #00a9eb;
		font-size: 29px;
		font-weight: bold;
		position: relative;
	}
		.home .cont03 .inner .point .point_ttl p::before {
			content: "";
			background: url(img/home_img07.png) no-repeat;
			width: 150px;
			height: 27px;
			position: absolute;
			top: 16px;
			left: -10px;
		}
		.home .cont03 .inner .point .point_ttl p::after {
			content: "";
			width: 1px;
			height: 121px;
			background: #00a9eb;
			position: absolute;
			top: 50%;
			transform: translateY(-50%);
			right: -40px;
		}
	.home .cont03 .inner .point .point_ttl h3 {
		font-size: 26px;
		line-height: 1.6;
		font-weight: bold;
	}
		.home .cont03 .inner .point .point_ttl h3::before {
			content: "";
			background: url(img/home_img11.png) no-repeat;
			width: 62px;
			height: 27px;
			position: absolute;
			top: 69px;
			right: calc(50% - 122px);
		}
		.home .cont03 .inner .point .point_ttl h3::after {
			content: "";
			background: url(img/home_img12.png) no-repeat;
			width: 30px;
			height: 30px;
			position: absolute;
			top: 112px;
			right: calc(50% - 76px);
		}
		.home .cont03 .inner .point02 .point_ttl h3::before,
		.home .cont03 .inner .point03 .point_ttl h3::before {
			display: none;
		}
		.home .cont03 .inner .point02 .point_ttl h3::after {
			content: "";
			background: url(img/home_img13.png) no-repeat;
			width: 83px;
			height: 29px;
			position: absolute;
			right: calc(50% - 40px);
		}
		.home .cont03 .inner .point03 .point_ttl h3::after {
			content: "";
			background: url(img/home_img14.png) no-repeat;
			width: 105px;
			height: 30px;
			position: absolute;
			right: calc(50% - 58px);
		}
	.home .cont03 .inner .point .text01 {
		margin-top: 55px;
		line-height: 2;
	}
	.home .cont03 .inner .point .text02 {
		font-weight: bold;
		line-height: 1;
		margin-top: 30px;
		padding: 20px 30px 20px 40px;
		background: #fffff2;
	}
	.home .cont03 .inner .point .text03 {
		margin-top: 10px;
	}
	.home .cont03 .inner .point .text03 a {
		color: #00a9eb;
		font-weight: bold;
		text-decoration: underline;
		position: relative;
	}
		.home .cont03 .inner .point .text03 a::before {
			content: ">>";
			font-size: 16px;
		}

	.home .cont03 .inner .example {
		background: #fff;
		border: 1px solid #71e2dc;
		border-radius: 20px;
		padding: 80px 80px 30px;
		margin-top: 80px;
		box-sizing: border-box;
		text-align: center;
		position: relative;
	}
	.home .cont03 .inner .example h3 {
		font-size: 26px;
		font-weight: bold;
		width: 542px;
		height: 60px;
		background: repeating-linear-gradient(135deg, transparent, transparent 5px, #a2d7f2 5.5px, #a2d7f2 6px );
		margin: 0 auto;
		padding: 12px 0 0 5px;
		box-sizing: border-box;
		position: relative;
	}
		.home .cont03 .inner .example h3::before,
		.home .cont03 .inner .example h3::after {
			position: absolute;
			top: 0;
			content:'';
			width: 9px;
			height: 59px;
			display: inline-block;
			border-top: solid 1px #00a9eb;
			border-bottom: solid 1px #00a9eb;
		}
		.home .cont03 .inner .example h3::before{
			border-left: solid 1px #00a9eb;
			left: 0;
		}
		.home .cont03 .inner .example h3::after {
			border-right: solid 1px #00a9eb;
			right: 0;
		}

	.home .cont03 .inner .example .cont_box {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-top: 50px;
	}
	.home .cont03 .inner .example .cont {
		margin-bottom: 50px;
	}
	.home .cont03 .inner .example .cont h4 {
		font-weight: bold;
		line-height: 1.625;
		margin: 10px 0;
	}
	.home .cont03 .inner .example .cont .flex {
		display: flex;
		justify-content: center;
		gap: 0 35px;
	}
	.home .cont03 .inner .example .cont a {
		font-size: 14px;
		color: #00a9eb;
		font-weight: bold;
		text-decoration: underline;
		position: relative;
	}
		.home .cont03 .inner .example .cont a::after {
			content: " >";
			font-size: 14px;
		}

/* cont04 ----------------------------------------------*/
	.home .cont04 {
		margin: 160px 0 100px;
		position: relative;
	}
		.home .cont04::before{
			content: "";
			background: url(img/home_bg01.png) no-repeat;
			width: 639px;
			height: 916px;
			position: absolute;
			bottom: -500px;
			left: 0;
			z-index: -1;
		}
		.home .cont04::after{
			content: "";
			background: url(img/home_bg02.png) no-repeat;
			width: 618px;
			height: 913px;
			position: absolute;
			top: -520px;
			right: 0;
			z-index: -1;
		}
	.home .cont04 .inner {
		width: 1060px;
		margin: 0 auto;
	}
	.home .cont04 .inner h2 {
		text-align: center;
		font-size: 16px;
		font-weight: bold;
		line-height: 2;
		position: relative;
		margin-bottom: 50px;
	}
		.home .cont04 .inner h2::before {
			content: "REWORD";
			font-size: 38px;
			font-weight: bold;
			color: #00a9eb;
			position: absolute;
			top: -75px;
			left: 50%;
			transform: translateX(-50%);
		}
	.home .cont04 .inner h2 span {
		font-size: 38px;
		font-weight: bold;
	}
	.home .cont04 .inner .text01 {
		text-align: center;
		line-height: 2;
	}
	.home .cont04 .inner .step_box {
		display: flex;
		justify-content: space-between;
		position: relative;
	}
		.home .cont04 .inner .step_box::before,
		.home .cont04 .inner .step_box::after {
			content: "";
			background: #fff;
			box-shadow: 0 0 5px rgba(0,0,0,0.2);
			width: 68px;
			height: 68px;
			border-radius: 50%;
			position: absolute;
			top: calc(50% + 30px);
			transform: translateY(-50%);
			box-sizing: border-box;
			z-index: 1;
		}
		.home .cont04 .inner .step_box::before{
			content: url(img/home_img24.png);
			padding: 13px 0 0 14px;
			left: 311px;
		}
		.home .cont04 .inner .step_box::after {
			content: url(img/home_img25.png);
			padding: 20px 0 0 17px;
			right: 311px;
		}
	.home .cont04 .inner .step_box .box {
		margin-top: 60px;
		padding-top: 35px;
		width: 320px;
		height: 215px;
		border-radius: 20px;
		text-align: center;
		box-sizing: border-box;
		position: relative;
	}
	.home .cont04 .inner .step_box .box:nth-of-type(1) {
		background: #eaf8fd;
	}
	.home .cont04 .inner .step_box .box:nth-of-type(2) {
		background: #eaf2fd;
	}
	.home .cont04 .inner .step_box .box:nth-of-type(3) {
		background: #eaedfd;
	}
		.home .cont04 .inner .step_box .box::before {
			content: "STEP 01";
			font-size: 24px;
			color: #00a9eb;
			font-weight: bold;
			position: absolute;
			top: -20px;
			left: 50%;
			transform: translateX(-50%);
			z-index: 1;
		}
		.home .cont04 .inner .step_box .box:nth-of-type(2)::before {
			content: "STEP 02";
			color: #0064eb;
		}	
		.home .cont04 .inner .step_box .box:nth-of-type(3)::before {
			content: "TOTAL";
			color: #2331ec;
		}	
		.home .cont04 .inner .step_box .box::after {
			content: "";
			background: url(img/home_img21.png) no-repeat;
			width: 125px;
			height: 22px;
			position: absolute;
			top: -5px;
			left: 50%;
			transform: translateX(-50%);
		}
		.home .cont04 .inner .step_box .box:nth-of-type(2)::after {
			background: url(img/home_img22.png) no-repeat;
		}	
		.home .cont04 .inner .step_box .box:nth-of-type(3)::after {
			background: url(img/home_img23.png) no-repeat;
		}

	.home .cont04 .inner .step_box .box h3 {
		font-size: 24px;
		font-weight: bold;
		margin-bottom: 15px;
	}
	.home .cont04 .inner .step_box .box:nth-of-type(1) h3 {
		margin-bottom: 10px;
	}
	.home .cont04 .inner .step_box .box:last-of-type h3 {
		margin-bottom: 5px;
	}
		.home .cont04 .inner .step_box .box h3::before {
			content: "【";
			font-size: 24px;
		}
		.home .cont04 .inner .step_box .box h3::after {
			content: "】";
			font-size: 24px;
		}
		.home .cont04 .inner .step_box .box:last-of-type h3::before {
			content: "【";
			background: url(img/home_icon03.png) no-repeat 21px 2px;
			font-size: 24px;
			padding-right: 22px;
		}
		.home .cont04 .inner .step_box .box:last-of-type h3::after {
			content: "】";
			background: url(img/home_icon04.png) no-repeat 2px 2px;
			font-size: 24px;
			padding-left: 22px;
		}
	.home .cont04 .inner .step_box .box p {
		font-size: 38px;
		font-weight: bold;
		position: relative;
		z-index: 1;
	}
		.home .cont04 .inner .step_box .box:last-of-type p::before {
			content: "";
			background: #fff100;
			opacity: 0.5;
			width: 195px;
			height: 16px;
			position: absolute;
			bottom: 0;
			left: 42px;
			z-index: -1;
		}
		.home .cont04 .inner .step_box .box:last-of-type p:nth-of-type(1)::before {
			width: 160px;

			bottom: 8px;
			left: 52px;
		}
	.home .cont04 .inner .step_box .box p span {
		font-size: 20px;
	}
	.home .cont04 .inner .step_box .box .text02 {
		font-size: 19px;
		font-weight: normal;
	}
	.home .cont04 .inner .step_box .box .text02 span {
		display: block;
		font-size: 12px;
	}
	.home .cont04 .inner .step_box .box p .span01 {
		font-size: 24px;
		font-weight: bold;
	}
	.home .cont04 .inner .step_box .box p .span02 {
		font-weight: bold;
	}
	.home .cont04 .inner .step_box .box ul {
		margin-left: 50px;
	}
	.home .cont04 .inner .step_box .box ul li {
		font-size: 18px;
		font-weight: bold;
		text-align: left;
		list-style: disc;
	}
	.home .cont04 .inner .step_box .box:last-of-type p:last-of-type {
		line-height: 1;
	}

	.home .cont04 .inner .reward_box {
		background: #fffff2;
		margin-top: 50px;
		padding: 50px 60px;
	}
	.home .cont04 .inner .reward_box h3 {
		font-size: 24px;
		font-weight: bold;
		width: 542px;
		height: 60px;
		background: repeating-linear-gradient(135deg, #fff, #fff 5px, #a2d7f2 5.5px, #a2d7f2 6px );
		margin: 0 auto;
		padding: 12px 0 0 5px;
		box-sizing: border-box;
		text-align: center;
		position: relative;
	}
		.home .cont04 .inner .reward_box h3::before,
		.home .cont04 .inner .reward_box h3::after {
			position: absolute;
			top: 0;
			content:'';
			width: 9px;
			height: 59px;
			display: inline-block;
			border-top: solid 1px #00a9eb;
			border-bottom: solid 1px #00a9eb;
		}
		.home .cont04 .inner .reward_box h3::before{
			border-left: solid 1px #00a9eb;
			left: 0;
		}
		.home .cont04 .inner .reward_box h3::after {
			border-right: solid 1px #00a9eb;
			right: 0;
		}
	.home .cont04 .inner .reward_box p {
		font-size: 20px;
		text-align: center;
		margin: 30px 0;
	}
	.home .cont04 .inner .reward_box .flex {
		text-align: center;
		display: flex;
		gap: 0 20px;
		position: relative;
		z-index: 1;
	}
	.home .cont04 .inner .reward_box .box {
		width: 300px;
		background: #fff;
		padding: 20px 25px;
		box-sizing: border-box;
		position: relative;
	}
		.home .cont04 .inner .reward_box .box::before {
			content: "";
			border-left: 1px solid #00a9eb;
			border-top: 1px solid #00a9eb;
			position: absolute;
			top: 0;
			left: 0;
			width: calc(100% - 30px);
			height: calc(100% - 30px);
		}
		.home .cont04 .inner .reward_box .box::after {
			content: "";
			border-right: 1px solid #00a9eb;
			border-bottom: 1px solid #00a9eb;
			position: absolute;
			bottom: 0;
			right: 0;
			width: calc(100% - 30px);
			height: calc(100% - 30px);
		}
		.home .cont04 .inner .reward_box .box:nth-of-type(2)::before,
		.home .cont04 .inner .reward_box .box:nth-of-type(2)::after {
			border-color: #ff8deb;
		}
		.home .cont04 .inner .reward_box .box:nth-of-type(3)::before,
		.home .cont04 .inner .reward_box .box:nth-of-type(3)::after {
			border-color: #71e2dc;
		}

	.home .cont04 .inner .reward_box .box h4 {
		font-size: 22px;
		font-weight: bold;
		position: relative;
	}
	.home .cont04 .inner .reward_box .box h4 span {
		color: #00a9eb;
		font-weight: bold;
		position: relative;
	}
	.home .cont04 .inner .reward_box .box:nth-of-type(3) h4 span::before {
		content: url(img/mv_tictok.png);
		padding-right: 5px;
	}
	.home .cont04 .inner .reward_box .box:nth-of-type(2) h4 span {
		color: #ff8deb;
	}
	.home .cont04 .inner .reward_box .box:nth-of-type(3) h4 span {
		color: #71e2dc;
	}
	.home .cont04 .inner .reward_box .box ul li {
		width: 100%;
		margin-top: 10px;
		padding: 10px;
		box-sizing: border-box;
		position: relative;
		z-index: 1;
	}
		.home .cont04 .inner .reward_box .box ul li:last-of-type::after {
			content: "";
			background: #fff100;
			opacity: 0.5;
			width: 195px;
			height: 15px;
			position: absolute;
			bottom: 15px;
			left: 27px;
			z-index: -1;
		}
	.home .cont04 .inner .reward_box .box ul li:nth-of-type(1) {
		background: #eaf8fd;
		height: 116px;
	}
	.home .cont04 .inner .reward_box .box ul li:nth-of-type(2) {
		background: #eaf2fd;
	}
	.home .cont04 .inner .reward_box .box ul li:last-of-type {
		background: #eaedfd;
	}
	.home .cont04 .inner .reward_box .box ul li .span01 {
		font-size: 24px;
		font-weight: bold;
		margin: 0 5px 0 10px ;
	}
	.home .cont04 .inner .reward_box .box ul li .span02 {
		font-size: 38px;
		font-weight: bold;
		margin: 0 2px 0 10px ;
	}
	.home .cont04 .inner .reward_box .box ul li .span03 {
		display: block;
	}
	.home .cont04 .inner .reward_box .box:nth-of-type(1) ul li .span03,
	.home .cont04 .inner .reward_box .box:nth-of-type(2) ul li .span03 {
		margin-top: 15px;
	}
	.home .cont04 .inner .reward_box .box ul li .span04 {
		font-size: 20px;
		font-weight: bold;
	}
	.home .cont04 .inner .reward_box .box ul li .span05 {
		font-size: 16px;
		font-weight: bold;
		line-height: 1.2;
	}
	.home .cont04 .inner .reward_box p.note {
		font-size: 16px;
		margin: 20px 0 0;
	}	
	/* .home .cont04 .inner .flex02 {
		display: flex;
		justify-content: space-between;
	} */
	.home .cont04 .inner .flex02 .reward_box02 {
		background: #fffff2;
		margin-top: 30px;
		/* width: 510px; */
		padding: 30px;
		box-sizing: border-box;
	}
	.home .cont04 .inner .flex02 .reward_box02 p {
		font-size: 20px;
		font-weight: bold;
		margin-bottom: 15px;
	}
	.home .cont04 .inner .flex02 .reward_box02 ul {
		padding-left: 16px;
	}
	.home .cont04 .inner .flex02 .reward_box02 ul li {
		margin-bottom: 5px;
		line-height: 1.6;
		position: relative;
	}
		.home .cont04 .inner .flex02 .reward_box02 ul li::before {
			content: "";
			background: #333;
			width: 3px;
			height: 3px;
			border-radius: 50%;
			position: absolute;
			top: 12px;
			left: -13px;
		}

/* cont05 ----------------------------------------------*/
.home .cont05 {
	background-image: linear-gradient(171deg, #fff3fd, #fffff2);
	padding: 90px 0 80px;
}
.home .cont05 .inner {
	position: relative;
}
	.home .cont05 .inner::before {
		content: "";
		background: url(img/home_img28.png) no-repeat;
		width: 459px;
		height: 563px;
		position: absolute;
		bottom: -80px;
		right: 100px;
	}
.home .cont05 .text_box {
	margin-left: 100px;
}
.home .cont05 .inner h2 {
	padding-left: 25px;
	font-size: 30px;
	font-weight: bold;
	position: relative;
}
	.home .cont05 .inner h2::before {
		content: "";
		width: 5px;
		height: 42px;
		background: #38c8c0;
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
	}
.home .cont05 .inner .text01 {
	line-height: 1.85;
	margin: 35px 0 30px;
}
.home .cont05 .inner .text02 {
	font-size: 14px;
	line-height: 1.85;
	margin-bottom: 50px;
}
.home .cont05 .inner .text_box a {
	display: inline-block;
	width: 400px;
	height: 70px;
	font-size: 18px;
	font-weight: bold;
	color: #fff;
	background: #38c8c0;
	border: 1px solid #38c8c0;
	border-radius: 70px;
	padding: 26px 0 0 30px;
	box-sizing: border-box;
	line-height: 1;
	text-align: center;
	position: relative;
}
.home .cont05 .inner .text_box a:hover{
	color: #38c8c0;
	background: #fff;
}
	.home .cont05 .inner .text_box a::before{
		content: "";
		background: url(img/header_entry.png)no-repeat;
		width: 20px;
		height: 22px;
		position: absolute;
		top: 50%;
		left: 50px;
		transform: translateY(-50%);
	}
	.home .cont05 .inner .text_box a::after{
		content: "ENTRY";
		font-size: 49.6px;
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		color: #fff;
		opacity: 0.1;
		letter-spacing: 15px;
		position: absolute;
		top: 55%;
		left: 50%;
		transform: translate(-50%,-50%);
		width: 100%;
	}
	.home .cont05 .inner .text_box a:hover::before{
		filter: brightness(0) saturate(100%) invert(71%) sepia(55%) saturate(514%) hue-rotate(123deg) brightness(88%) contrast(87%);
	}

	.home .cont05 .inner .text_box a:hover:after{
		color: #38c8c0;
	}
	
/* entry_btn -------------------------------------------*/
.home .entry_btn {
	text-align: center;
	background-image: linear-gradient(171deg, #fff3fd, #fffff2);
}
.home .entry_btn .inner {
	padding: 65px 0;
	position: relative;
}
.home .entry_btn .inner::before {
	content: "";
	background: url(img/home_img06.png)no-repeat;
	width: 210px;
	height: 258px;
	position: absolute;
	bottom: 0;
	right: 280px;
}
.home .entry_btn a {
	display: inline-block;
	width: 400px;
	height: 70px;
	font-size: 18px;
	font-weight: bold;
	color: #fff;
	background: #38c8c0;
	border: 1px solid #38c8c0;
	border-radius: 70px;
	padding: 26px 0 0 40px;
	box-sizing: border-box;
	line-height: 1;
	text-align: center;
	position: relative;
}
.home .entry_btn a:hover{
	color: #38c8c0;
	background: #fff;
}
	.home .entry_btn a::before{
		content: "";
		background: url(img/header_entry.png)no-repeat;
		width: 20px;
		height: 22px;
		position: absolute;
		top: 50%;
		left: 60px;
		transform: translateY(-50%);
	}
	.home .entry_btn a::after{
		content: "ENTRY";
		font-size: 49.6px;
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		color: #fff;
		opacity: 0.1;
		letter-spacing: 15px;
		position: absolute;
		top: 55%;
		left: 50%;
		transform: translate(-50%,-50%);
		width: 100%;
	}
	.home .entry_btn a:hover::before{
		filter: brightness(0) saturate(100%) invert(71%) sepia(55%) saturate(514%) hue-rotate(123deg) brightness(88%) contrast(87%);
	}

	.home .entry_btn a:hover:after{
		color: #38c8c0;
	}

/* footer
------------------------------------------------------------------------*/
	footer {
		padding: 100px 0;
		text-align: center;
		position: relative;
		overflow: hidden;
	}
		footer::after{
			content: "";
			background: url(img/home_bg02.png) no-repeat;
			width: 618px;
			height: 913px;
			position: absolute;
			top: 75px;
			right: 0;
			z-index: -1;
		}
	footer h2 {
		margin-top: 8px;
	}
	footer .text01 {
		margin: 35px 0 45px;
	}
	footer ul {
		display: flex;
		justify-content: center;
		gap: 0 40px;
	}
	footer ul li a {
		color: #0090c8;
		font-size: 16px;
		line-height: 1;
		text-decoration: underline;
		position: relative;
	}
		footer ul li a::before {
			content: ">>";
			font-size: 16px;
		}
	footer .banner_box {
		margin-top: 50px;
		display: flex;
		justify-content: center;
		gap: 0 30px;
	}
	footer .copy {
		margin-top: 55px;
	}

}


/*===============================================
横幅441px以下
===============================================*/
@media screen and (max-width: 441px) {
	html,
	body,
	.wrap{
		width: 440px;
		position: relative;
	}
	.inner{
		box-sizing: border-box;
		padding: 0 30px;
		width: auto;
	}
	img{
		max-width: 100%;
	}
	.pc{
		display: none;
	}
	.sp {
		display: block;
	}

	/* スムーススクロール設定 */
	html {
		scroll-behavior: smooth;
	}
	:root {
		--header-height: 55px;
	}

/* header
------------------------------------------------------------------------*/

	header{
		width: 100%;
		margin: 0 auto;
		z-index: 10000;
		position: relative;
	}
	header h1{
		color: #666;
		font-weight: bold;
		text-align: center;
		padding: 0px 15px;

		position: fixed;
		top: 10px;
		right: 10px;
		font-size: 12px;
		line-height: 1.4;
	}
		header h1::before,
		header h1::after {
			position: absolute;
			top: 0;
			content:'';
			width: 9px;
			height: 100%;
			display: inline-block;
			border-top: solid 1px #00a9eb;
			border-bottom: solid 1px #00a9eb;
		}
		header h1::before {
			border-left: solid 1px #00a9eb;
			left: 0;
		}
		header h1::after {
			border-right: solid 1px #00a9eb;
			right: 0;
		}

	header .header_box{
		position: fixed;
		width: 100%;
		height: 55px;
		background: #fff;
		z-index: -1;
	}
	header .header_box .logo{
		position: fixed;
		top: 10px;
		left: 10px;
		width: 150px;
	}
	header .header_box ul {
		display: flex;
		position: fixed;
		bottom: -1px;
		left: 0;
	}
	header .header_box ul li a{
		display: block;
		width: 220px;
		height: 50px;
		font-size: 14px;
		font-weight: bold;
		color: #fff;
		background: #38c8c0;
		padding: 19px 0 0 20px;
		box-sizing: border-box;
		line-height: 1;
		text-align: center;
		position: relative;
	}
	header .header_box ul li:nth-of-type(2) a {
		padding: 19px 0 0 25px;
		background: #45b0e6;
	}
	header .header_box ul li a::before{
		content: "";
		background: url(img/header_entry.png)no-repeat center / 90%;
		width: 20px;
		height: 22px;
		position: absolute;
		top: 50%;
		left: 25px;
		transform: translateY(-50%);
	}
	header .header_box ul li:nth-of-type(2) a::before{
		background: url(img/header_login.png)no-repeat center / 90%;
		width: 26px;
		height: 20px;
		left: 10px;
	}
	header .header_box ul li a::after{
		content: "ENTRY";
		font-size: 36px;
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		color: #fff;
		opacity: 0.1;
		letter-spacing: 12px;
		position: absolute;
		top: 55%;
		left: 50%;
		transform: translate(-50%,-50%);
		width: 100%;
	}
	header .header_box ul li:nth-of-type(2) a::after{
		content: "LOGIN";
	}
		
/* home
------------------------------------------------------------------------*/
	
/* key ----------------------------------------------*/
	.home .key{
		height: 694px;
		background: url(img/mv_bg01_sp.png) no-repeat top center;
		margin: 0 auto;
		z-index: -1;
		position: relative;
	}
	.home .key .inner{
		position: relative;
		padding: 55px 30px 0;
	}
		.home .key .inner::before {
			position: absolute;
			top: 0;
			left: 0;
			content: "";
			display: block;
			background: url(img/mv_icon01_sp.png) no-repeat top 259px right 163px, url(img/mv_text05_sp.png) no-repeat top 108px right 82px, url(img/mv_bg02_sp.png) no-repeat bottom right;
			width: 440px;
			height: 540px;
			z-index: -1;
		}
	.home .key .inner .text01{
		display: inline-block;
		width: 389px;
		height: 60px;
		background: url("img/mv_text01_sp.png")center top no-repeat;
		padding: 60px 0 0;
		margin-left: -10px;
		box-sizing: border-box;
		overflow: hidden;
		vertical-align: middle;
		z-index: 2;
	}
	.home .key .inner .text02{
		margin-top: 40px;
		position: relative;
	}
		.home .key .inner .text02::before {
			content: "&";
			font-size: 40px;
			color: #fff;
			font-weight: bold;
			position: absolute;
			top: 22px;
			left: 90px;
			text-shadow:1px 1px 0 #94d9f9, -1px -1px 0 #94d9f9,
			-1px 1px 0 #94d9f9, 1px -1px 0 #94d9f9,
			0px 1px 0 #94d9f9,  0 -1px 0 #94d9f9,
			-1px 0 0 #94d9f9, 1px 0 0 #94d9f9;
			z-index: 1;
		}
	.home .key .inner .text02 span {
		display: inline-block;
		font-size: 18px;
		color: #666;
		font-weight: bold;
		text-align: center;
		width: 210px;
		height: 45px;
		padding-top: 10px;
		box-sizing: border-box;
		border-radius: 45px;
		letter-spacing: 2px;
		position: relative;
	}
	.home .key .inner .text02 .span01 {
		background: #beedff;
		margin-bottom: 15px;
	}
	.home .key .inner .text02 .span02 {
		background: #d7f6f1;
	}
		.home .key .inner .text02 .span01::before {
			content: "";
			background: url(img/mv_text02.png) no-repeat center / cover;
			width: 164px;
			height: 30px;
			position: absolute;
			top: -16px;
			left: 50%;
			transform: translateX(-50%);
		}
		.home .key .inner .text02 .span02::before {
			content: "";
			background: url(img/mv_text03.png) no-repeat center / cover;
			width: 114px;
			height: 23px;
			position: absolute;
			top: 35px;
			left: 50%;
			transform: translateX(-50%);
		}
	
	.home .key .inner .text03 {
		font-size: 36px;
		color: #000;
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		letter-spacing: -1px;
		position: absolute;
		top: 315px;
		left: 30px;
		transform: rotate(-5deg);
		z-index: 1;
	}
		.home .key .inner .text03::before {
			content: "";
			background: repeating-linear-gradient(135deg, rgba(255,255,255,0.2), rgba(255,255,255,0.2) 5px, rgba(69, 176, 230, 1) 5.5px, rgba(69, 176, 230, 1) 6px );
			width: 335px;
			height: 40px;
			position: absolute;
			top: 5px;
			left: 25px;
			transform: rotate(5deg);
			box-shadow: 0 0 10px rgba(255,255,255,0.2);
			z-index: -1;
		}
		.home .key .inner .text03::after {
			content: "";
			background: url(img/mv_text04.png) no-repeat center / cover;
			width: 210px;
			height: 34px;
			position: absolute;
			top: -25px;
			left: 5px;
			transform: rotate(5deg);
		}

	.home .key .inner ul {
		margin: 127px 0 0 0;
		text-align: center;
		display: flex;
		justify-content: space-between;
		position: relative;
		z-index: 1;
	}
	.home .key .inner ul li {
		font-size: 14px;
		color: #666;
		font-weight: bold;
		line-height: 1.2;

		width: 121px;
		height: 82px;
		background: #fff;
		padding: 12px 10px 0;
		box-sizing: border-box;
		position: relative;
	}
		.home .key .inner ul li::before {
			content: "";
			border-left: 1px solid #00a9eb;
			border-top: 1px solid #00a9eb;
			position: absolute;
			top: 0;
			left: 0;
			width: calc(100% - 20px);
			height: calc(100% - 20px);
		}
		.home .key .inner ul li::after {
			content: "";
			border-right: 1px solid #00a9eb;
			border-bottom: 1px solid #00a9eb;
			position: absolute;
			bottom: 0;
			right: 0;
			width: calc(100% - 20px);
			height: calc(100% - 20px);
		}
		.home .key .inner ul li:nth-of-type(2)::before,
		.home .key .inner ul li:nth-of-type(2)::after {
			border-color: #ff8deb;
		}
		.home .key .inner ul li:nth-of-type(3)::before,
		.home .key .inner ul li:nth-of-type(3)::after {
			border-color: #71e2dc;
		}
	.home .key .inner ul li .span01{
		display: inline;
		color: #00a9eb;
		font-weight: bold;
	}
	.home .key .inner ul li:nth-of-type(2) .span01{
		color: #ff8deb;
	}
	.home .key .inner ul li:nth-of-type(3) .span01{
		color: #71e2dc;
	}
		.home .key .inner ul li .span01::before {
			content: "";
			background: url(img/mv_img01.png) no-repeat center / cover;
			width: 100px;
			height: 18px;
			position: absolute;
			bottom: 8px;
			left: 50%;
			transform: translateX(-50%);
		}
		.home .key .inner ul li:nth-of-type(2) .span01::before {
			background: url(img/mv_img02.png) no-repeat center / cover;
		}
		.home .key .inner ul li:nth-of-type(3) .span01::before {
			background: url(img/mv_img03.png) no-repeat center / cover;
		}
	
	.home .key .inner ul li .span02{
		color: #000;
		font-family: Ebrima;
		font-size: 20px;
		font-weight: bold;
		letter-spacing: -1px;
		line-height: 1.2;
		position: relative;
		z-index: 1;
	}
	.home .key .inner ul li .span03{
		font-size: 12px;
		color: #666;
		font-weight: bold;
		position: relative;
		z-index: 1;
	}
	.home .key .inner .text04 {
		width: 230px;
		height: 50px;
		background: #00a9eb;
		color: #fff;
		font-size: 14px;
		line-height: 1.4;
		font-weight: bold;
		text-align: center;
		border-radius: 50px;
		letter-spacing: 2px;
		padding-top: 5px;
		margin-top: 20px;
		box-sizing: border-box;
		position: relative;
		z-index: 1;
	}
		.home .key .inner .text04::before {
			content: "";
			background: url(img/mv_icon01_sp.png) no-repeat center / cover;
			width: 34px;
			height: 39px;
			position: absolute;
			top: -15px;
			left: -10px;
		}
		.home .key .inner .text04::after {
			content: "";
			background: url(img/mv_icon02_sp.png) no-repeat center / cover;
			width: 39px;
			height: 41px;
			position: absolute;
			top: 50px;
			right: -20px;
		}
	.home .key .inner .text04 span {
		font-weight: bold;
		position: relative;
	}
		.home .key .inner .text04 span::before {
			content: "";
			background: url(img/mv_arrow.png) no-repeat center / cover;
			width: 15px;
			height: 13px;
			position: absolute;
			top: 2px;
			left: -21px;
		}
	.home .key .inner .text05 {
		font-size: 10px;
		font-weight: bold;
		margin: 5px 0 0 0px;
	}
	

	.to_entry {
		position: absolute;
		top: 465px;
		right: -20px;
		z-index: 1;
	}
	.to_entry a {
		display: inline-block;
		width: 180px;
		height: 180px;
		border-radius: 50%;
		background: #38c8c0;
		color: #fff;
		font-size: 15.5px;
		font-weight: bold;
		line-height: 1.45;
		padding-top: 30px;
		text-align: center;
		box-sizing: border-box;
		position: relative;
	}
		.to_entry a::before {
			content: "";
			background: url(img/to_entry.png) no-repeat center / cover;
			width: 100px;
			height: 12px;
			position: absolute;
			top: 60px;
			left: 50%;
			transform: translateX(-50%);
		}
		.to_entry a::after {
			content: "";
			width: 170px;
			height: 170px;
			border: 1px solid #fff;
			border-radius: 50%;
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%,-50%);
		}

	.to_entry .span01 {
		font-size: 17px;
		font-weight: bold;
		padding-left: 8px;
	}
	.to_entry .span02 {
		display: inline-block;
		font-size: 23px;
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		letter-spacing: 5px;
		opacity: 0.5;
		margin-top: 17px;
	}
		
	
	/* cont01 ----------------------------------------------*/
	.home .cont01{
		padding: 0 0 70px;
	}
	.home .cont01 .inner{
		position: relative;
	}
		.home .cont01 .inner::before {
			content: "";
			background: url(img/home_img01.png) no-repeat center / cover;
			width: 400px;
			height: 266px;
			position: absolute;
			top: -286px;
			left: -40px;
			z-index: -1;
		}
		.home .cont01 .inner::after {
			content: "About\A Asterisk\A Affiliate";
			color: rgba(46, 185, 239, 0.1);
			font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
			font-size: 90px;
			line-height: 1.05;
			white-space: pre;
			position: absolute;
			top: 0;
			right: 0;
		}
	.home .cont01 .text_box {
		margin-top: 212px;
		position: relative;
	}
		.home .cont01 .text_box::before {
			content: "";
			background: url(img/home_text01.png) no-repeat center / cover;
			width: 215px;
			height: 70px;
			position: absolute;
			top: -160px;
			left: 190px;
		}
	.home .cont01 .text_box h2 {
		font-size: 18px;
		font-weight: bold;
	}
		.home .cont01 .text_box h2::before {
			content: "";
			background: url(img/home_icon01.png) no-repeat center / cover;
			width: 35px;
			height: 37px;
			position: absolute;
			top: -16px;
			right: 15px;
	}
		.home .cont01 .text_box h2::after {
			content: "";
			background: url(img/home_img02.png) no-repeat center / cover;
			width: 130px;
			height: 23px;
			position: absolute;
			top: 36px;
			right: 40px;
			z-index: -1;
	}
	.home .cont01 .text_box h2 span {
		font-size: 16px;
		font-weight: bold;
	}
	.home .cont01 .text_box .text01 {
		font-size: 14px;
		line-height: 2;
		padding: 20px 0 10px;
	}
	.home .cont01 .inner .box {
		background: rgba(48, 186, 238, 0.15);
		padding: 20px;
		box-sizing: border-box;
	}
	.home .cont01 .inner .box h3 {
		font-weight: bold;
		line-height: 1;
		padding-left: 25px;
		margin-bottom: 20px;
		position: relative;
	}
		.home .cont01 .inner .box h3::before {
			content: "";
			width: 16px;
			height: 16px;
			background: #2eb9ef;
			position: absolute;
			top: 0;
			left: 0;
		}
	.home .cont01 .inner .box p {
		font-size: 14px;
		line-height: 1.8;
	}
	
	
	/* cont02 ----------------------------------------------*/
	.home .cont02{
		text-align: center;
		margin-bottom: 70px;
	}
	.home .cont02 .recommend h2 {
		font-size: 18px;
		font-weight: bold;
		width: 350px;
		height: 50px;
		background: repeating-linear-gradient(135deg, transparent, transparent 5px, #a2d7f2 5.5px, #a2d7f2 6px );
		margin: 0 auto;
		padding: 12px 0 0 0;
		box-sizing: border-box;
	}
		.home .cont02 .recommend h2::before,
		.home .cont02 .recommend h2::after {
			position: absolute;
			top: 0;
			content:'';
			width: 9px;
			height: 49px;
			display: inline-block;
			border-top: solid 1px #00a9eb;
			border-bottom: solid 1px #00a9eb;
		}
		.home .cont02 .recommend h2::before{
			border-left: solid 1px #00a9eb;
			left: 15px;
		}
		.home .cont02 .recommend h2::after {
			border-right: solid 1px #00a9eb;
			right: 15px;
		}
	.home .cont02 .recommend ul {
		margin: 25px 0;
		display: flex;
		justify-content: center;
		gap: 0 5px;
	}
	.home .cont02 .recommend ul li {
		width: 130px;
		height: 130px;
		background: url(img/home_img03.png) no-repeat center / cover;
		font-size: 12px;
		line-height: 1.5;
		font-weight: bold;
		padding-top: 38px;
		box-sizing: border-box;
	}
	.home .cont02 .recommend ul li:nth-of-type(2) {
		background: url(img/home_img04.png) no-repeat center / cover;
	}
	.home .cont02 .recommend ul li:nth-of-type(3) {
		background: url(img/home_img05.png) no-repeat center / cover;
	}
	.home .cont02 .banner {
		background: rgba(255, 255, 211, 0.3);
		padding: 25px 20px;
		text-align: center;
	}
	.home .cont02 .banner h3 {
		display: inline-block;
		margin-bottom: 20px;
		font-size: 18px;
		font-weight: bold;
		position: relative;
	}
		.home .cont02 .banner h3::before {
			content: "";
			background: url(img/home_icon02.png) no-repeat center / cover;
			width: 32px;
			height: 36px;
			position: absolute;
			top: -12px;
			left: -39px;
		}
		.home .cont02 .banner h3::after {
			content: "";
			background: url(img/home_icon01.png) no-repeat center / cover;
			width: 35px;
			height: 36px;
			position: absolute;
			top: -9px;
			right: -47px;
		}
	.home .cont02 .banner .banner_box .ttl {
		margin: 5px 0 20px;
		font-size: 16px;
		font-weight: bold;
	}
	
/* cont03 ----------------------------------------------*/
	.home .cont03 {
		background-image: linear-gradient(-90deg, #b7ebff, #eafffb);
		padding: 90px 0 70px;
	}
	.home .cont03 .inner h2 {
		text-align: center;
		font-size: 12px;
		font-weight: bold;
		line-height: 1.8;
		position: relative;
		margin-bottom: 30px;
	}
		.home .cont03 .inner h2::before {
			content: "POINT";
			font-size: 18px;
			font-weight: bold;
			color: #00a9eb;
			position: absolute;
			top: -35px;
			left: 50%;
			transform: translateX(-50%);
		}
	.home .cont03 .inner h2 span {
		font-size: 20px;
		font-weight: bold;
	}
	.home .cont03 .inner .point {
		background: #fff;
		border: 1px solid #71e2dc;
		border-radius: 15px;
		padding: 40px 25px 40px 30px;
		margin-bottom: 30px;
		box-sizing: border-box;
		position: relative;
	}
		.home .cont03 .inner .point::before {
			content: "";
			background: url(img/home_img08_sp.png) no-repeat;
			width: 272px;
			height: 289px;
			position: absolute;
			top: -46px;
			right: -30px;
		}
		.home .cont03 .inner .point02::before {
			background: url(img/home_img09_sp.png) no-repeat;
			width: 202px;
			height: 227px;
			top: 13px;
			right: -27px;
		}
		.home .cont03 .inner .point03::before {
			background: url(img/home_img10_sp.png) no-repeat;
			width: 202px;
			height: 227px;
			top: 13px;
			right: -25px;
		}
	.home .cont03 .inner .point .point_ttl p {
		color: #00a9eb;
		font-size: 20px;
		font-weight: bold;
		margin-bottom: 20px;
		position: relative;
	}
		.home .cont03 .inner .point .point_ttl p::before {
			content: "";
			background: url(img/home_img07.png) no-repeat center / cover;
			width: 107px;
			height: 19px;
			position: absolute;
			top: 10px;
			left: -3px;
		}
		.home .cont03 .inner .point .point_ttl p::after {
			content: "";
			width: 340px;
			height: 1px;
			background: #00a9eb;
			position: absolute;
			top: 193px;
			left: 50%;
			transform: translateX(-50%);
		}
	.home .cont03 .inner .point .point_ttl h3 {
		font-size: 18px;
		line-height: 1.65;
		font-weight: bold;
	}
		.home .cont03 .inner .point .point_ttl h3::before {
			content: "";
			background: url(img/home_img11.png) no-repeat center / cover;
			width: 57px;
			height: 24px;
			position: absolute;
			top: 118px;
			right: calc(50% + 5px);
		}
		.home .cont03 .inner .point .point_ttl h3::after {
			content: "";
			background: url(img/home_img12.png) no-repeat center / cover;
			width: 23px;
			height: 23px;
			position: absolute;
			top: 151px;
			right: calc(50% + 22px);
		}
		.home .cont03 .inner .point02 .point_ttl h3::before,
		.home .cont03 .inner .point03 .point_ttl h3::before {
			display: none;
		}
		.home .cont03 .inner .point02 .point_ttl h3::after {
			content: "";
			background: url(img/home_img13.png) no-repeat center / cover;
			width: 70px;
			height: 24px;
			position: absolute;
			top: 179px;
			right: calc(50%);
		}
		.home .cont03 .inner .point03 .point_ttl h3::after {
			content: "";
			background: url(img/home_img14.png) no-repeat center / cover;
			width: 81px;
			height: 23px;
			position: absolute;
			right: calc(50% - 8px);
		}
	.home .cont03 .inner .point .text01 {
		margin-top: 55px;
		font-size: 14px;
		line-height: 2;
	}
	.home .cont03 .inner .point .text02 {
		font-weight: bold;
		font-size: 14px;
		line-height: 1.8;
		margin-top: 20px;
		padding: 15px;
		background: #fffff2;
	}
	.home .cont03 .inner .point .text03 {
		margin-top: 10px;
	}
	.home .cont03 .inner .point .text03 a {
		font-size: 14px;
		color: #00a9eb;
		font-weight: bold;
		text-decoration: underline;
		position: relative;
	}
		.home .cont03 .inner .point .text03 a::before {
			content: ">>";
			font-size: 14px;
		}
	.home .cont03 .inner .example {
		background: #fff;
		border: 1px solid #71e2dc;
		border-radius: 20px;
		padding: 35px 0 30px;
		margin-top: 80px;
		box-sizing: border-box;
		text-align: center;
		position: relative;
	}
	.home .cont03 .inner .example h3 {
		font-size: 18px;
		font-weight: bold;
		width: 320px;
		height: 50px;
		background: repeating-linear-gradient(135deg, transparent, transparent 5px, #a2d7f2 5.5px, #a2d7f2 6px );
		margin: 0 auto;
		padding: 12px 0 0 0;
		box-sizing: border-box;
		position: relative;
	}
		.home .cont03 .inner .example h3::before,
		.home .cont03 .inner .example h3::after {
			position: absolute;
			top: 0;
			content:'';
			width: 9px;
			height: 49px;
			display: inline-block;
			border-top: solid 1px #00a9eb;
			border-bottom: solid 1px #00a9eb;
		}
		.home .cont03 .inner .example h3::before{
			border-left: solid 1px #00a9eb;
			left: 0;
		}
		.home .cont03 .inner .example h3::after {
			border-right: solid 1px #00a9eb;
			right: 0;
		}

	.home .cont03 .inner .example .cont_box {
		margin-top: 30px;
	}
	.home .cont03 .inner .example .cont {
		margin-bottom: 20px;
	}
	.home .cont03 .inner .example .cont h4 {
		font-size: 14px;
		font-weight: bold;
		line-height: 1.4;
		margin: 5px 0;
	}
	.home .cont03 .inner .example .cont .flex {
		display: flex;
		justify-content: center;
		gap: 0 25px;
	}
	.home .cont03 .inner .example .cont a {
		font-size: 12px;
		color: #00a9eb;
		font-weight: bold;
		text-decoration: underline;
		position: relative;
	}
		.home .cont03 .inner .example .cont a::after {
			content: " >";
			font-size: 12px;
		}

/* cont04 ----------------------------------------------*/
	.home .cont04 {
		margin: 90px 0 70px;
	}
	.home .cont04 .inner h2 {
		text-align: center;
		font-size: 12px;
		font-weight: bold;
		line-height: 1.8;
		position: relative;
		margin-bottom: 30px;
	}
		.home .cont04 .inner h2::before {
			content: "REWORD";
			font-size: 18px;
			font-weight: bold;
			color: #00a9eb;
			position: absolute;
			top: -35px;
			left: 50%;
			transform: translateX(-50%);
			width: 100%;
		}
	.home .cont04 .inner h2 span {
		font-size: 20px;
		font-weight: bold;
	}
	.home .cont04 .inner .text01 {
		text-align: center;
		font-size: 14px;
		line-height: 1.8;
	}
	.home .cont04 .inner .step_box {
		margin-bottom: 50px;
		position: relative;
	}
		.home .cont04 .inner .step_box::before,
		.home .cont04 .inner .step_box::after {
			content: "";
			background: #fff;
			box-shadow: 0 0 5px rgba(0,0,0,0.2);
			width: 48px;
			height: 48px;
			border-radius: 50%;
			position: absolute;
			left: 50%;
			transform: translateX(-50%);
			box-sizing: border-box;
			z-index: 1;
		}
		.home .cont04 .inner .step_box::before{
			content: url(img/home_img24_sp.png);
			padding: 8px 0 0 8px;
			top: 153px;
		}
		.home .cont04 .inner .step_box::after {
			content: url(img/home_img25_sp.png);
			padding: 8px 0 0 12px;
			top: 387px;
		}
	.home .cont04 .inner .step_box .box {
		height: 152px;
		margin-top: 55px;
		padding: 35px 0 25px;
		border-radius: 20px;
		text-align: center;
		box-sizing: border-box;
		position: relative;
	}
	.home .cont04 .inner .step_box .box:nth-of-type(1) {
		background: #eaf8fd;
		height: 172px;
	}
	.home .cont04 .inner .step_box .box:nth-of-type(2) {
		background: #eaf2fd;
		height: 179px;
	}
	.home .cont04 .inner .step_box .box:nth-of-type(3) {
		background: #eaedfd;
	}
		.home .cont04 .inner .step_box .box::before {
			content: "STEP 01";
			font-size: 18px;
			color: #00a9eb;
			font-weight: bold;
			position: absolute;
			top: -10px;
			left: 50%;
			transform: translateX(-50%);
			z-index: 1;
		}
		.home .cont04 .inner .step_box .box:nth-of-type(2)::before {
			content: "STEP 02";
			color: #0064eb;
		}	
		.home .cont04 .inner .step_box .box:nth-of-type(3)::before {
			content: "TOTAL";
			color: #2331ec;
		}	
		.home .cont04 .inner .step_box .box::after {
			content: "";
			background: url(img/home_img21.png) no-repeat center / cover;
			width: 100px;
			height: 17px;
			position: absolute;
			top: -1px;
			left: 50%;
			transform: translateX(-50%);
		}
		.home .cont04 .inner .step_box .box:nth-of-type(2)::after {
			background: url(img/home_img22.png) no-repeat center / cover;
		}	
		.home .cont04 .inner .step_box .box:nth-of-type(3)::after {
			background: url(img/home_img23.png) no-repeat center / cover;
		}
	.home .cont04 .inner .step_box .box h3 {
		font-size: 18px;
		font-weight: bold;
		margin-bottom: 5px;
	}
		.home .cont04 .inner .step_box .box h3::before {
			content: "【";
			font-size: 18px;
		}
		.home .cont04 .inner .step_box .box h3::after {
			content: "】";
			font-size: 18px;
		}
		.home .cont04 .inner .step_box .box:last-of-type h3::before {
			content: "【";
			background: url(img/home_icon03.png) no-repeat 21px 2px;
			background-size: 15px;
			font-size: 18px;
			padding-right: 22px;
		}
		.home .cont04 .inner .step_box .box:last-of-type h3::after {
			content: "】";
			background: url(img/home_icon04.png) no-repeat 4px 2px;
			background-size: 15px;
			font-size: 18px;
			padding-left: 22px;
		}
	.home .cont04 .inner .step_box .box p {
		font-size: 24px;
		font-weight: bold;
		position: relative;
		z-index: 1;
	}
		.home .cont04 .inner .step_box .box:last-of-type p::before {
			content: "";
			background: #fff100;
			opacity: 0.5;
			width: 135px;
			height: 15px;
			position: absolute;
			bottom: -2px;
			left: 108px;
			z-index: -1;
		}
		.home .cont04 .inner .step_box .box:last-of-type p:nth-of-type(1)::before {
			width: 90px;
			bottom: 5px;
			left: 123px;
		}
	.home .cont04 .inner .step_box .box p span {
		font-size: 14px;
	}
	.home .cont04 .inner .step_box .box .text02 {
		font-size: 16px;
		font-weight: normal;
	}
	.home .cont04 .inner .step_box .box .text02 span {
		display: block;
		font-size: 10px;
	}
	.home .cont04 .inner .step_box .box p .span01 {
		font-size: 18px;
		font-weight: bold;
	}
	.home .cont04 .inner .step_box .box p .span02 {
		font-weight: bold;
	}
	.home .cont04 .inner .step_box .box ul {
		margin-left: 90px;
	}
	.home .cont04 .inner .step_box .box ul li {
		font-size: 16px;
		line-height: 1.8;
		font-weight: bold;
		text-align: left;
		list-style: disc;
	}
	.home .cont04 .inner .step_box .box:last-of-type p:last-of-type {
		line-height: 1;
	}
	.home .cont04 .inner .reward_box {
		background: #fffff2;
		margin-top: 30px;
		padding: 30px 0;
	}
	.home .cont04 .inner .reward_box h3 {
		font-size: 18px;
		font-weight: bold;
		width: 320px;
		height: 50px;
		background: repeating-linear-gradient(135deg, #fff, #fff 5px, #a2d7f2 5.5px, #a2d7f2 6px );
		margin: 0 auto;
		padding: 12px 0 0 0;
		box-sizing: border-box;
		text-align: center;
		position: relative;
	}
		.home .cont04 .inner .reward_box h3::before,
		.home .cont04 .inner .reward_box h3::after {
			position: absolute;
			top: 0;
			content:'';
			width: 9px;
			height: 49px;
			display: inline-block;
			border-top: solid 1px #00a9eb;
			border-bottom: solid 1px #00a9eb;
		}
		.home .cont04 .inner .reward_box h3::before{
			border-left: solid 1px #00a9eb;
			left: 0;
		}
		.home .cont04 .inner .reward_box h3::after {
			border-right: solid 1px #00a9eb;
			right: 0;
		}
	.home .cont04 .inner .reward_box p {
		font-size: 14px;
		text-align: center;
		margin: 15px 0 20px;
	}
	.home .cont04 .inner .reward_box .flex {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		gap: 20px;
		position: relative;
		z-index: 1;
	}
	.home .cont04 .inner .reward_box .box {
		width: 320px;
		background: #fff;
		padding: 25px 30px;
		text-align: center;
		box-sizing: border-box;
		position: relative;
	}
		.home .cont04 .inner .reward_box .box::before {
			content: "";
			border-left: 1px solid #00a9eb;
			border-top: 1px solid #00a9eb;
			position: absolute;
			top: 0;
			left: 0;
			width: calc(100% - 30px);
			height: calc(100% - 30px);
		}
		.home .cont04 .inner .reward_box .box::after {
			content: "";
			border-right: 1px solid #00a9eb;
			border-bottom: 1px solid #00a9eb;
			position: absolute;
			bottom: 0;
			right: 0;
			width: calc(100% - 30px);
			height: calc(100% - 30px);
		}
		.home .cont04 .inner .reward_box .box:nth-of-type(2)::before,
		.home .cont04 .inner .reward_box .box:nth-of-type(2)::after {
			border-color: #ff8deb;
		}
		.home .cont04 .inner .reward_box .box:nth-of-type(3)::before,
		.home .cont04 .inner .reward_box .box:nth-of-type(3)::after {
			border-color: #71e2dc;
		}
	.home .cont04 .inner .reward_box .box h4 {
		font-size: 18px;
		font-weight: bold;
		position: relative;
	}
	.home .cont04 .inner .reward_box .box h4 span {
		color: #00a9eb;
		font-weight: bold;
		position: relative;
	}
	.home .cont04 .inner .reward_box .box:nth-of-type(3) h4 span::before {
		content: url(img/mv_tictok.png);
		padding-right: 3px;
	}
	
	.home .cont04 .inner .reward_box .box:nth-of-type(2) h4 span {
		color: #ff8deb;
	}
	.home .cont04 .inner .reward_box .box:nth-of-type(3) h4 span {
		color: #71e2dc;
	}
	.home .cont04 .inner .reward_box .box ul li {
		width: 100%;
		margin-top: 10px;
		padding: 10px 10px 12px;
		box-sizing: border-box;
		position: relative;
		z-index: 1;
	}
		.home .cont04 .inner .reward_box .box ul li:last-of-type::after {
			content: "";
			background: #fff100;
			opacity: 0.5;
			width: 151px;
			height: 10px;
			position: absolute;
			bottom: 11px;
			left: 55px;
			z-index: -1;
		}
	.home .cont04 .inner .reward_box .box ul li:nth-of-type(1) {
		background: #eaf8fd;
	}
	.home .cont04 .inner .reward_box .box ul li:nth-of-type(2) {
		background: #eaf2fd;
	}
	.home .cont04 .inner .reward_box .box ul li:nth-of-type(3) {
		background: #eaedfd;
		padding-bottom: 5px;
	}
	.home .cont04 .inner .reward_box .box ul li .span01 {
		font-size: 20px;
		font-weight: bold;
		margin: 0 5px 0 10px ;
	}
	.home .cont04 .inner .reward_box .box ul li .span02 {
		font-size: 24px;
		font-weight: bold;
		margin: 0 3px;
	}
	.home .cont04 .inner .reward_box .box ul li .span03 {
		display: block;
		margin-top: 5px;
	}
	.home .cont04 .inner .reward_box .box ul li .span04 {
		font-size: 16px;
		font-weight: bold;
	}
	.home .cont04 .inner .reward_box .box ul li .span05 {
		font-size: 14px;
		line-height: 1.2;
		font-weight: bold;
	}
	.home .cont04 .inner .reward_box p.note {
		font-size: 14px;
		margin: 15px 0 0;
	}	
	.home .cont04 .inner .flex02 .reward_box02 {
		background: #fffff2;
		margin-top: 20px;
		width: 100%;
		padding: 20px;
		box-sizing: border-box;
	}
	.home .cont04 .inner .flex02 .reward_box02 p {
		font-size: 16px;
		font-weight: bold;
		margin-bottom: 10px;
	}
	.home .cont04 .inner .flex02 .reward_box02 ul {
		padding-left: 16px;
	}
	.home .cont04 .inner .flex02 .reward_box02 ul li {
		font-size: 14px;
		margin-bottom: 5px;
		line-height: 1.6;
		position: relative;
	}
		.home .cont04 .inner .flex02 .reward_box02 ul li::before {
			content: "";
			background: #333;
			width: 3px;
			height: 3px;
			border-radius: 50%;
			position: absolute;
			top: 9px;
			left: -13px;
		}


/* cont05 ----------------------------------------------*/
	.home .cont05 {
		background-image: linear-gradient(171deg, #fff3fd, #fffff2);
		padding: 70px 0;
	}
	.home .cont05 .inner h2 {
		padding-left: 25px;
		font-size: 20px;
		font-weight: bold;
		position: relative;
	}
		.home .cont05 .inner h2::before {
			content: "";
			width: 5px;
			height: 42px;
			background: #38c8c0;
			position: absolute;
			top: 50%;
			left: 0;
			transform: translateY(-50%);
		}
	.home .cont05 .inner .text01 {
		font-size: 14px;
		line-height: 1.85;
		margin: 20px 0 10px;
	}
	.home .cont05 .inner .text02 {
		font-size: 12px;
		line-height: 1.85;
		margin-bottom: 30px;
	}
	.home .cont05 .inner .text_box a {
		display: inline-block;
		width: 380px;
		height: 70px;
		font-size: 18px;
		font-weight: bold;
		color: #fff;
		background: #38c8c0;
		border: 1px solid #38c8c0;
		border-radius: 70px;
		padding: 26px 0 0 30px;
		box-sizing: border-box;
		line-height: 1;
		text-align: center;
		position: relative;
	}
		.home .cont05 .inner .text_box a::before{
			content: "";
			background: url(img/header_entry.png)no-repeat;
			width: 20px;
			height: 22px;
			position: absolute;
			top: 50%;
			left: 50px;
			transform: translateY(-50%);
		}
		.home .cont05 .inner .text_box a::after{
			content: "ENTRY";
			font-size: 49.6px;
			font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
			color: #fff;
			opacity: 0.1;
			letter-spacing: 15px;
			position: absolute;
			top: 55%;
			left: 50%;
			transform: translate(-50%,-50%);
			width: 100%;
		}


/* entry_btn -------------------------------------------*/
	.home .entry_btn {
		text-align: center;
		background-image: linear-gradient(171deg, #fff3fd, #fffff2);
	}
	.home .entry_btn .inner {
		padding: 45px 0;
		position: relative;
	}
		.home .entry_btn .inner::before {
			content: "";
			background: url(img/home_img06.png) no-repeat center / cover;
			width: 160px;
			height: 197px;
			position: absolute;
			bottom: 0;
			right: 55px;
		}
	.home .entry_btn a {
		display: inline-block;
		width: 300px;
		height: 50px;
		font-size: 16px;
		font-weight: bold;
		color: #fff;
		background: #38c8c0;
		border: 1px solid #38c8c0;
		border-radius: 70px;
		padding: 16px 0 0 40px;
		box-sizing: border-box;
		line-height: 1;
		text-align: center;
		position: relative;
	}
		.home .entry_btn a::before{
			content: "";
			background: url(img/header_entry.png)no-repeat;
			width: 20px;
			height: 22px;
			position: absolute;
			top: 50%;
			left: 30px;
			transform: translateY(-50%);
		}
		.home .entry_btn a::after{
			content: "ENTRY";
			font-size: 35px;
			font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
			color: #fff;
			opacity: 0.1;
			letter-spacing: 15px;
			position: absolute;
			top: 55%;
			left: 50%;
			transform: translate(-50%,-50%);
			width: 100%;
		}

/* footer
------------------------------------------------------------------------*/
	footer{
		padding: 80px 0;
		text-align: center;
	}
	footer h2 {
		margin-top: 8px;
	}
	footer .text01 {
		margin: 25px 0 20px;
	}
	footer ul {
		display: flex;
		justify-content: center;
		gap: 0 20px;
	}
	footer ul li a {
		color: #0090c8;
		font-size: 14px;
		line-height: 1;
		text-decoration: underline;
		position: relative;
	}
		footer ul li a::before {
			content: ">>";
			font-size: 14px;
		}
	footer .banner_box {
		margin-top: 40px;
	}
	footer .banner_box p {
		margin-bottom: 10px;
	}
	footer .copy{
		font-size: 14px;
		margin-top: 40px;
	}

}