@charset "utf-8";

/*
	top.css
---------------------------------------------------------------------------------------------------------------------------------------------*/
/* common parts
--------------------------------------------------------------------------------------------------------*/
.primary-title h2 {
	position: relative;
}
.primary-title h2::before,
.primary-title h2::after {
	content: '';
	position: absolute;
	width: 130px;
	height: 98px;
	background-repeat: no-repeat;
	background-position: center center;
	background-color: transparent;
	background-size: cover;
	z-index: 1;
}
.primary-title h2::before {
	left: 0;
	background-image: url(../images/commons/title_art-01.png);
}
.primary-title h2::after {
	right: 0;
	background-image: url(../images/commons/title_art-02.png);
}
.primary-title h2 > * {
	position: relative;
	z-index: 2;
}
.primary-title h2 span {
	font-size: 4.6rem;
	color: #000;
	letter-spacing: 0.05em;
	text-indent: 0.05em;
	background-color: #d5c8ec;
	margin-bottom: 1.8rem;
}
.primary-title h2 small {
	font-size: 1.8rem;
	color: #8b77cb;
	letter-spacing: 0.6em;
	text-indent: 0.6em;
}
@media (max-width: 1024px) and (min-width: 768px) {
	.primary-title h2::before,
	.primary-title h2::after {
		width: calc(130 / 1024 * 100vw);
		height: calc(98 / 1024 * 100vw);
	}
	.primary-title h2 span {
		font-size: calc(46 / 1024 * 100vw);
		margin-bottom: calc(18 / 1024 * 100vw);
	}
	.primary-title h2 small {
		font-size: calc(18 / 1024 * 100vw);
	}
}

/* hero
--------------------------------------------------------------------------------------------------------*/
#hero .inner {
	position: relative;
	overflow: hidden;
}
#hero .inner::after {
	content: '';
	position: absolute;
	top: 12.5%;
	left: 50.0%;
	width: 617px;
	height: 500px;
	background: url(../images/commons/main_logo.png) no-repeat center center;
	background-size: cover;
	-webkit-transform: translate(-50.0%, 0);
	transform: translate(-50.0%, 0);
	z-index: 10;
}
#hero .main-slick {
	max-width: 1400px;
	margin-right: auto;
	margin-left: auto;
}
#hero .main-slick .slick-slide:focus {
	outline: none;
}
#hero .main-slick .slick-slide img {
	width: 100.0%;
}
#hero .main-slick .slide-arrow {
	position: absolute;
	top: 44.0%;
	width: 6.3rem;
	height: 6.3rem;
	background-color: #fbe56f;
	border-radius: 50.0%;
	-webkit-transform: translate(0, -44.0%);
	transform: translate(0, -44.0%);
	z-index: 10;
	cursor: pointer;
}
#hero .main-slick .slide-arrow i {
	font-size: 3.6rem;
	font-weight: 700;
}
#hero .main-slick .prev-arrow {
	right: 5.5rem;
}
#hero .main-slick .next-arrow {
	right: -3.1rem;
}
#hero .main-slick .slide-dots {
	position: relative;
	top: -11.0rem;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
}
#hero .main-slick .slide-dots li {
	width: 2.0rem;
	height: 2.0rem;
	margin-right: 1.2rem;
	margin-left: 1.2rem;
}
#hero .main-slick .slide-dots li button {
	position: relative;
	text-indent: -9999px;
}
#hero .main-slick .slide-dots li button::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 2.0rem;
	height: 2.0rem;
	border-radius: 50.0%;
	border: 1px solid #fff;
}
#hero .main-slick .slide-dots li.slick-active button::before {
	background-color: #fff;
}

@media (max-width: 1460px) {
	#hero .main-slick .prev-arrow { right: 8.0rem;}
	#hero .main-slick .next-arrow { right: 0;}
}
@media (max-width: 1400px) and (min-width: 768px) {
	#hero .inner::after {
		width: calc(617 / 1400 * 100vw);
		height: calc(500 / 1400 * 100vw);
	}
	#hero .main-slick .slide-arrow {
		width: calc(63 / 1400 * 100vw);
		height: calc(63 / 1400 * 100vw);
	}
	#hero .main-slick .slide-arrow i {
		font-size: calc(36 / 1400 * 100vw);
	}
	#hero .main-slick .prev-arrow {
		right: calc(80 / 1400 * 100vw);
	}
	#hero .main-slick .slide-dots {
		top: calc(110 / 1400 * -100vw);
	}
	#hero .main-slick .slide-dots li {
		width: calc(20 / 1400 * 100vw);
		height: calc(20 / 1400 * 100vw);
		margin-right: calc(12 / 1400 * 100vw);
		margin-left: calc(12 / 1400 * 100vw);
	}
	#hero .main-slick .slide-dots li button::before {
		width: calc(20 / 1400 * 100vw);
		height: calc(20 / 1400 * 100vw);
	}
}

/* about
--------------------------------------------------------------------------------------------------------*/
#about .inner {
	max-width: 1000px;
	padding-top: 8.0rem;
	padding-bottom: 10.5rem;
}
#about .photo {
	-webkit-flex: 0 0 43.0rem;
	flex: 0 0 43.0rem;
}
#about .photo span {
	display: block;
	position: relative;
}
#about .photo span::after {
	content: '';
	position: absolute;
	bottom: -7.5rem;
	left: 2.3rem;
	width: 404px;
	height: 101px;
	background: url(../images/top/about_txt.png) no-repeat center center;
	background-size: cover;
}
#about .photo span img {
	border-radius: 5.8rem;
}
#about .about {
	-webkit-flex: 1;
	flex: 1;
	padding-top: 3.5rem;
	margin-left: 7.0rem;
}
#about .about h2 {
	margin-bottom: 4.5rem;
	position: relative;
}
#about .about h2::after {
	content: '';
	position: absolute;
	top: 0;
	right: 6.0rem;
	width: 57px;
	height: 138px;
	background: url(../images/top/about_art.png) no-repeat center center;
	background-size: cover;
}
#about .about h2 span {
	font-size: 4.6rem;
	letter-spacing: 0.05em;
	background-color: #d5c8ec;
}
#about .about h2 span:first-child {
	margin-bottom: 2.5rem;
}
#about .item p {
	font-size: 1.8rem;
	line-height: 1.7777;
}
@media (max-width: 1024px) and (min-width: 768px) {
	#about .inner {
		padding-top: calc(80 / 1024 * 100vw);
		padding-right: calc(25 / 1024 * 100vw);
		padding-bottom: calc(105 / 1024 * 100vw);
		padding-left: calc(25 / 1024 * 100vw);
	}
	#about .photo {
		-webkit-flex: 0 0 calc(430 / 1024 * 100vw);
		flex: 0 0 calc(430 / 1024 * 100vw);
	}
	#about .photo span::after {
		bottom: calc(75 / 1024 * -100vw);
		left: calc(23 / 1024 * 100vw);
		width: calc(404 / 1024 * 100vw);
		height: calc(101 / 1024 * 100vw);
	}
	#about .photo span img {
		border-radius: calc(58 / 1024 * 100vw);
	}
	#about .about {
		padding-top: calc(35 / 1024 * 100vw);
		margin-left: calc(40 / 1024 * 100vw);
	}
	#about .about h2 {
		margin-bottom: calc(45 / 1024 * 100vw);
	}
	#about .about h2::after {
		right: calc(60 / 1024 * 100vw);
		width: calc(57 / 1024 * 100vw);
		height: calc(138 / 1024 * 100vw);
	}
	#about .about h2 span {
		font-size: calc(46 / 1024 * 100vw);
	}
	#about .about h2 span:first-child {
		margin-bottom: calc(25 / 1024 * 100vw);
	}
	#about .item p {
		font-size: calc(18 / 1024 * 100vw);
	}
}

/* greeting
--------------------------------------------------------------------------------------------------------*/
#greeting .inner {
	padding-bottom: 12.0rem;
}
#greeting .field {
	max-width: 1400px;
	padding-top: 12.0rem;
	padding-right: 20.0rem;
	padding-bottom: 12.0rem;
	padding-left: 20.0rem;
	margin-right: auto;
	margin-left: auto;
	border-radius: 8.5rem;
	background-color: #dfdaf2;
	position: relative;
}
#greeting .field::before,
#greeting .field::after {
	content: '';
	position: absolute;
	background-repeat: no-repeat;
	background-position: center center;
	background-color: transparent;
	background-size: cover;
	z-index: 1;
}
#greeting .field::before {
	top: 12.8rem;
	right: -1.9rem;
	width: 168px;
	height: 382px;
	background-image: url(../images/top/greeting_art-01.png);
}
#greeting .field::after {
	bottom: 13.8rem;
	left: -1.8rem;
	width: 186px;
	height: 383px;
	background-image: url(../images/top/greeting_art-02.png);
}
#greeting .field > * {
	position: relative;
	z-index: 2;
}
#greeting .headline {
	-webkit-flex: 0 0 25.0rem;
	flex: 0 0 25.0rem;
}
#greeting .headline h2 span {
	font-size: 4.6rem;
	letter-spacing: 0.05em;
	text-indent: 0.05em;
	background-color: #d5c8ec;
	margin-bottom: 2.0rem;
}
#greeting .headline h2 small {
	font-size: 1.8rem;
	color: #8b77cb;
	letter-spacing: 0.6em;
	text-indent: 0.6em;
}
#greeting .photo {
	margin-top: 6.5rem;
}
#greeting .photo img {
	border-radius: 2.7rem;
}
#greeting .headline p {
	font-size: 1.8rem;
	margin-top: 4.2rem;
	text-align: center;
}
#greeting .box {
	-webkit-flex: 1;
	flex: 1;
	margin-left: 4.2rem;
}
#greeting .box p {
	font-size: 1.6rem;
	line-height: 2.0;
	color: #000;
}
#greeting .box p:not(:first-child) {
	/*text-indent: 1.0em;*/
}
#greeting .btn-facebook {
	padding-right: 6.5rem;
	padding-left: 6.5rem;
	margin-top: 5.5rem;
}
#greeting .btn-facebook a {
	padding-top: 2.7rem;
	padding-bottom: 2.7rem;
	background-color: #1877f2;
	border-radius: 0.8rem;
	position: relative;
}
#greeting .btn-facebook a::after {
	content: '\f2ee';
	position: absolute;
	top: 50.0%;
	right: 4.2rem;
	font-family: 'Material-Design-Iconic-Font';
	font-size: 4.6rem;
	color: #fff;
	-webkit-transform: translate(0, -50.0%);
	transform: translate(0, -50.0%);
}
#greeting .btn-facebook a i {
	margin-right: 3.0rem;
}
#greeting .btn-facebook a span {
	color: #fff;
}
#greeting .btn-facebook a span:nth-child(2) {
	font-size: 2.8rem;
	margin-right: 0.8rem;
}
#greeting .btn-facebook a span:nth-child(3) {
	font-size: 3.2rem;
}
#greeting .photo-list {
	max-width: 1400px;
	padding-top: 12.0rem;
	margin-right: auto;
	margin-left: auto;
	position: relative;
}
#greeting .photo-list::before {
	content: '';
	position: absolute;
	top: -45.8rem;
	left: 50%;
	width: 52.0rem;
	height: 52.0rem;
	background-color: #dfdaf2;
	border-radius: 50.0%;
	-webkit-transform: translate(-50.0%, 0);
	transform: translate(-50.0%, 0);
	z-index: 1;
}
#greeting .photo-list li {
	-webkit-flex: 0 0 calc(330 / 1400 * 100%);
	flex: 0 0 calc(330 / 1400 * 100%);
	width: calc(330 / 1400 * 100%);
}
_:-ms-lang(x)::-ms-backdrop, #greeting .photo-list {
	-webkit-justify-content: center;
	justify-content: center;
}
_:-ms-lang(x)::-ms-backdrop, #greeting .photo-list li {
	-webkit-flex: 0 0 auto;
	flex: 0 0 auto;
	width: 23.5%;
	margin-right: 1.0%;
	margin-left: 1.0%;
}
_:-ms-lang(x)::-ms-backdrop, #greeting .photo-list li:first-child { margin-left: 0;}
_:-ms-lang(x)::-ms-backdrop, #greeting .photo-list li:last-child { margin-right: 0;}

#greeting .photo-list li img {
	width: 100.0%;
	border-radius: 3.5rem;
}

@media (max-width: 1400px) and (min-width: 768px) {
	#greeting .inner {
		padding-bottom: calc(120 / 1400 * 100vw);
	}
	#greeting .field {
		padding-top: calc(120 / 1400 * 100vw);
		padding-right: calc(120 / 1024 * 100vw);
		padding-bottom: calc(120 / 1400 * 100vw);
		padding-left: calc(120 / 1024 * 100vw);
	}
}
@media (max-width: 1024px) and (min-width: 768px) {
	#greeting .field {
		padding-top: calc(120 / 1024 * 100vw);
		padding-right: calc(100 / 1024 * 100vw);
		padding-bottom: calc(120 / 1024 * 100vw);
		padding-left: calc(100 / 1024 * 100vw);
		border-radius: calc(85 / 1024 * 100vw);
	}
	#greeting .field::before {
		top: calc(128 / 1024 * 100vw);
		right: calc(19 / 1024 * -100vw);
		width: calc(168 / 1024 * 100vw);
		height: calc(382 / 1024 * 100vw);
	}
	#greeting .field::after {
		bottom: calc(138 / 1024 * 100vw);
		left: calc(18 / 1024 * -100vw);
		width: calc(186 / 1024 * 100vw);
		height: calc(383 / 1024 * 100vw);
	}
	#greeting .headline {
		-webkit-flex: 0 0 calc(250 / 1024 * 100vw);
		flex: 0 0 calc(250 / 1024 * 100vw);
	}
	#greeting .headline h2 span {
		font-size: calc(46 / 1024 * 100vw);
		margin-bottom: calc(20 / 1024 * 100vw);
	}
	#greeting .headline h2 small {
		font-size: calc(18 / 1024 * 100vw);
	}
	#greeting .headline p {
		font-size: calc(20 / 1024 * 100vw);
		margin-top: calc(42 / 1024 * 100vw);
	}
	#greeting .photo {
		margin-top: calc(65 / 1024 * 100vw);
	}
	#greeting .photo img {
		border-radius: calc(27 / 1024 * 100vw);
	}
	#greeting .box {
		margin-left: calc(42 / 1024 * 100vw);
	}
	#greeting .box p {
		font-size: calc(18 / 1024 * 100vw);
	}
	#greeting .btn-facebook {
		padding-right: calc(65 / 1024 * 100vw);
		padding-left: calc(65 / 1024 * 100vw);
		margin-top: calc(55 / 1024 * 100vw);
	}
	#greeting .btn-facebook a {
		padding-top: calc(27 / 1024 * 100vw);
		padding-bottom: calc(27 / 1024 * 100vw);
	}
	#greeting .btn-facebook a::after {
		right: calc(42 / 1024 * 100vw);
		font-size: calc(46 / 1024 * 100vw);
	}
	#greeting .btn-facebook a i {
		margin-right: calc(30 / 1024 * 100vw);
	}
	#greeting .btn-facebook a i img {
		width: calc(46 / 1024 * 100vw);
	}
	#greeting .btn-facebook a span:nth-child(2) {
		font-size: calc(28 / 1024 * 100vw);
		margin-right: calc(8 / 1024 * 100vw);
	}
	#greeting .btn-facebook a span:nth-child(3) {
		font-size: calc(32 / 1024 * 100vw);
	}
	#greeting .photo-list {
		padding-top: calc(120 / 1024 * 100vw);
	}
	#greeting .photo-list::before {
		top: calc(458 / 1024 * -100vw);
		width: calc(520 / 1024 * 100vw);
		height: calc(520 / 1024 * 100vw);
	}
	#greeting .photo-list li img {
		border-radius: calc(35 / 1024 * 100vw);
	}
}

/* reward
--------------------------------------------------------------------------------------------------------*/
#reward .inner {
	padding-top: 12.0rem;
	padding-bottom: 11.5rem;
}
#reward .title h2 {
	padding-right: 16.5rem;
	padding-left: 16.5rem;
}
#reward .title h2::before,
#reward .title h2::after {
	top: -1.8rem;
}
#reward .field {
	padding-top: 8.0rem;
	max-width: 1000px;
	margin-right: auto;
	margin-left: auto;
}
#reward .item {
	-webkit-flex: 0 0 calc(300 / 1000 * 100%);
	flex: 0 0 calc(300 / 1000 * 100%);
	width: calc(300 / 1000 * 100%);
}
#reward .item:nth-child(n+4) {
	margin-top: 7.5rem;
}
#reward .item dl {
	margin-bottom: 4.8rem;
}
#reward .item dl dt {
	font-size: 3.0rem;
	color: #8b77cb;
	text-align: center;
	margin-bottom: 2.0rem;
}
#reward .item dl dd img {
	width: 100.0%;
	border-radius: 5.5rem;
}
#reward .item:nth-child(8) dl dd img {
	border: 1px solid #d2d2d2;
}
#reward .item ul {
	/*padding-right: 1.2rem;
	padding-left: 1.2rem;*/

	column-count: 2;
	column-gap: 10px;
	padding: 0;
}
#reward .item ul li:not(:last-child) {
	margin-bottom: 1.2rem;
}
#reward .item ul li a {
	width: 100.0%;
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
	background-color: #7757d0;
	position: relative;
	border-radius: 2.4rem;
}
#reward .item ul li a::after {
	content: '';
	position: absolute;
	top: 50.0%;
	right: 1.0rem;
    width: 1.0rem;
    height: 1.0rem;
	background: url(../images/commons/ic-window.png) no-repeat center center;
	background-size: cover;
	-webkit-transform: translate(0, -50.0%);
	transform: translate(0, -50.0%);
}
#reward .item ul li a.empty {
	background-color: #626262;
	pointer-events: none;
}
#reward .item ul li a.empty::after {
	opacity: 0.65;
}
#reward .item ul li a span {
	font-size: 1.3rem;
    letter-spacing: -0.025rem;
	color: #fff;
}
#reward .item ul li a.empty span {
	color: #c5c5c5;
}

@media (max-width: 1024px) and (min-width: 768px) {
	#reward .inner {
		padding-top: calc(120 / 1024 * 100vw);
		padding-bottom: calc(115 / 1024 * 100vw);
	}
	#reward .title h2 {
		padding-right: calc(165 / 1024 * 100vw);
		padding-left: calc(165 / 1024 * 100vw);
	}
	#reward .title h2::before,
	#reward .title h2::after {
		top: calc(18 / 1024 * -100vw);
	}
	#reward .field {
		padding-top: calc(80 / 1024 * 100vw);
		padding-right: calc(25 / 1024 * 100vw);
		padding-left: calc(25 / 1024 * 100vw);
	}
	#reward .item {
		-webkit-flex: 0 0 calc(300 / 1024 * 100vw);
		flex: 0 0 calc(300 / 1024 * 100vw);
		width: calc(300 / 1024 * 100vw);
	}
	#reward .item:nth-child(n+4) {
		margin-top: calc(75 / 1024 * 100vw);
	}
	#reward .item dl {
		margin-bottom: calc(48 / 1024 * 100vw);
	}
	#reward .item dl dt {
		font-size: calc(30 / 1024 * 100vw);
		margin-bottom: calc(20 / 1024 * 100vw);
	}
	#reward .item dl dd img {
		border-radius: calc(55 / 1024 * 100vw);
	}
	#reward .item ul {
		/*padding-right: calc(12 / 1024 * 100vw);
		padding-left: calc(12 / 1024 * 100vw);*/
		padding: 0;
	}
	#reward .item ul li:not(:last-child) {
		margin-bottom: calc(12 / 1024 * 100vw);
	}
	#reward .item ul li a {
		padding-top: calc(15 / 1024 * 100vw);
		padding-bottom: calc(15 / 1024 * 100vw);
		border-radius: calc(24 / 1024 * 100vw);
	}
	#reward .item ul li a::after {
		right: calc(11 / 1024 * 100vw);
		width: calc(10 / 1024 * 100vw);
		height: calc(10 / 1024 * 100vw);
	}
	#reward .item ul li a span {
		font-size: calc(12 / 1024 * 100vw);
	    letter-spacing: 0;
	}
}

/* introduction
--------------------------------------------------------------------------------------------------------*/
#introduction .inner {
	padding-top: 11.5rem;
	padding-bottom: 7.5rem;
}
#introduction .title h2 {
	padding-right: 12.8rem;
	padding-left: 12.8rem;
}
#introduction .title h2::before,
#introduction .title h2::after {
	top: 0.9rem;
}
#introduction .title h2 span:nth-child(2) {
	margin-bottom: 3.5rem;
}

@media (max-width: 1200px) and (min-width: 768px) {
	#introduction .inner {
		padding-top: calc(115 / 1200 * 100vw);
		padding-bottom: calc(75 / 1200 * 100vw);
	}
	#introduction .title h2 {
		padding-right: calc(128 / 1200 * 100vw);
		padding-left: calc(128 / 1200 * 100vw);
	}
	#introduction .title h2::before,
	#introduction .title h2::after {
		top: calc(9 / 1200 * 100vw);
	}
	#introduction .title h2 span:nth-child(2) {
		margin-bottom: calc(35 / 1200 * 100vw);
	}
	#introduction .primary-title h2 span {
		font-size: calc(46 / 1200 * 100vw);
	}
}

/* step
--------------------------------------------------------------------------------------------------------*/
#step {
	background: url(../images/top/step_bg.jpg) no-repeat center center;
	background-size: cover;
}
#step .inner {
	padding-top: 13.5rem;
	padding-bottom: 12.0rem;
}
#step .inner h2 {
	font-size: 4.6rem;
	color: #fff;
	letter-spacing: 0.05em;
	text-indent: 0.05em;
	text-align: center;
}
#step .field {
	padding-top: 11.5rem;
}
#step .field .item {
	-webkit-flex: 0 0 calc(289 / 1600 * 100%);
	flex: 0 0 calc(289 / 1600 * 100%);
	width: calc(289 / 1600 * 100%);
	padding-top: 6.5rem;
	padding-right: 3.5rem;
	padding-bottom: 3.5rem;
	padding-left: 3.5rem;
	background-color: #fff;
	border-radius: 3.8rem;
	position: relative;
}
#step .field .item:first-child {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}
#step .field .item:last-child {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}
#step .field .item:not(:last-child)::after {
	content: '';
	position: absolute;
	top: 50.0%;
	right: -2.3rem;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 2.1rem 0 2.1rem 2.4rem;
	border-color: transparent transparent transparent #fff;
	-webkit-transform: translate(0, -50.0%);
	transform: translate(0, -50.0%);
}
#step .field .item dt {
	position: relative;
}
#step .field .item dt > * {
	position: relative;
	z-index: 2;
}
#step .field .item dt::before,
#step .field .item dt::after {
	content: '';
	position: absolute;
	top: 2.5rem;
	width: 34px;
	height: 64px;
	background-repeat: no-repeat;
	background-position: center center;
	background-color: transparent;
	background-size: cover;
	z-index: 1;
}
#step .field .item dt::before {
	left: 0;
	background-image: url(../images/top/step_art-01.png);
}
#step .field .item dt::after {
	right: 0;
	background-image: url(../images/top/step_art-02.png);
}
#step .field .item dt span {
	font-size: 2.4rem;
	letter-spacing: 0.05em;
	text-indent: 0.05em;
	margin-bottom: 0.5rem;
}
#step .field .item dt strong {
	font-size: 6.4rem;
	color: #9b96cd;
	letter-spacing: 0.05em;
	text-indent: 0.05em;
}
#step .field .item dd {
	padding-top: 2.2rem;
}
#step .field .item dd p,
#step .field .item dd ul li {
	font-size: 1.8rem;
	line-height: 1.555;
}
#step .field .item dd ul {
	counter-reset: step;
}
#step .field .item dd ul:nth-child(2) {
	padding-top: 1.0rem;
	margin-top: 0.8rem;
	position: relative;
}
#step .field .item dd ul:nth-child(2)::before {
	content: '';
	position: absolute;
	top: 0;
	left: -3.0%;
	width: 106.0%;
	height: 1px;
	background-color: #8b77cb;
}
#step .field .item dd ul li {
	counter-increment: step;
}
#step .field .item dd ul li::before {
	content: counter(step);
	font-family: 'Montserrat', sans-serif;
	font-size: 1.4rem;
	font-weight: 700;
	color: #fff;
	width: 2.3rem;
	height: 2.3rem;
	padding-top: 0.2rem;
	margin-top: 0.2rem;
	margin-right: 1.0rem;
	background-color: #8b77cb;
	border-radius: 50.0%;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-self: flex-start;
	align-self: flex-start;
	-webkit-flex: 0 0 2.3rem;
	flex: 0 0 2.3rem;
}

@media (max-width: 1024px) and (min-width: 768px) {
	#step .inner {
		padding-top: calc(135 / 1024 * 100vw);
		padding-bottom: calc(120 / 1024 * 100vw);
	}
	#step .inner h2 {
		font-size: calc(46 / 1024 * 100vw);
	}
	#step .field {
		padding-top: calc(115 / 1024 * 100vw);
		padding-right: calc(100 / 1024 * 100vw);
		padding-left: calc(100 / 1024 * 100vw);
		-webkit-flex-direction: column;
		flex-direction: column;
	}
	#step .field .item {
		-webkit-flex: 0 0 auto;
		flex: 0 0 auto;
		width: 100.0%;
		padding-top: calc(25 / 1024 * 100vw);
		padding-right: calc(25 / 1024 * 100vw);
		padding-bottom: calc(25 / 1024 * 100vw);
		padding-left: calc(25 / 1024 * 100vw);
		border-radius: calc(30 / 1024 * 100vw);
	}
	#step .field .item:first-child {
		border-top-left-radius: calc(30 / 1024 * 100vw);
		border-bottom-left-radius: calc(30 / 1024 * 100vw);
	}
	#step .field .item:last-child {
		border-top-right-radius: calc(30 / 1024 * 100vw);
		border-bottom-right-radius: calc(30 / 1024 * 100vw);
	}
	#step .field .item dl {
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
	}
	#step .field .item:not(:last-child) {
		margin-bottom: calc(50 / 1024 * 100vw);
	}
	#step .field .item:not(:last-child)::after {
		top: auto;
		left: 50.0%;
		bottom: calc(24 / 1024 * -100vw);
		right: auto;
		border-style: solid;
		border-width: calc(24 / 1024 * 100vw) calc(21 / 1024 * 100vw) 0 calc(21 / 1024 * 100vw);
		border-color: #fff transparent transparent transparent;
		-webkit-transform: translate(-50.0%, 0);
		transform: translate(-50.0%, 0);
	}
	#step .field .item dl dt {
		-webkit-flex: 0 0 30.0%;
		flex: 0 0 30.0%;
	}
	#step .field .item dt::before,
	#step .field .item dt::after {
		top: calc(25 / 1024 * 100vw);
		width: calc(34 / 1024 * 100vw);
		height: calc(64 / 1024 * 100vw);
	}
	#step .field .item dt::before {
		left: calc(10 / 1024 * 100vw);
	}
	#step .field .item dt::after {
		right: calc(10 / 1024 * 100vw);
	}
	#step .field .item dt span {
		font-size: calc(24 / 1024 * 100vw);
		margin-bottom: calc(5 / 1024 * 100vw);
	}
	#step .field .item dt strong {
		font-size: calc(64 / 1024 * 100vw);
	}
	#step .field .item dl dd {
		-webkit-flex: 1;
		flex: 1;
		padding-top: 0;
		padding-right: calc(25 / 1024 * 100vw);
		padding-left: calc(25 / 1024 * 100vw);
	}
	#step .field .item dd p,
	#step .field .item dd ul li {
		font-size: calc(20 / 1024 * 100vw);
	}
	#step .field .item dd ul:nth-child(2) {
		padding-top: calc(12 / 1024 * 100vw);
		margin-top: calc(12 / 1024 * 100vw);
	}
	#step .field .item dd ul:nth-child(2)::before {
		left: -1.0%;
		width: 102.0%;
	}
	#step .field .item dd ul li {
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
	}
	#step .field .item dd ul li:first-child {
		margin-bottom: calc(6 / 1024 * 100vw);
	}
	#step .field .item dd ul li::before {
		font-size: calc(18 / 1024 * 100vw);
		width: calc(32 / 1024 * 100vw);
		height: calc(32 / 1024 * 100vw);
		padding-top: 0;
		margin-top: 0;
		margin-right: 0.5em;
		-webkit-flex: 0 0 calc(32 / 1024 * 100vw);
		flex: 0 0 calc(32 / 1024 * 100vw);
		-webkit-align-items: center;
		align-items: center;
	}
}

/* using
--------------------------------------------------------------------------------------------------------*/
#using .inner {
	padding-top: 12.0rem;
	padding-bottom: 10.5rem;
}
#using .title h2 {
	font-size: 4.6rem;
	color: #8b77cb;
	letter-spacing: 0.05em;
	text-indent: 0.05em;
	text-align: center;
	margin-bottom: 3.5rem;
}
#using .title p {
	font-size: 1.8rem;
	text-align: center;
}
#using .title p:not(:nth-child(4)) {
	margin-bottom: 1.0rem;
}
#using .field {
	max-width: 1000px;
	padding-top: 7.5rem;
	margin-right: auto;
	margin-left: auto;
	counter-reset: using;
}
#using .dev_field:nth-child(1) {
	max-width: 1350px;
	padding-top: 7.5rem;
	margin-right: auto;
	margin-left: auto;
}
#using .dev_field:nth-child(2) {
	max-width: 1350px;
	padding-top: 6.5rem;
	margin-right: auto;
	margin-left: auto;
	counter-reset: using 3;
}
#using .item {
	-webkit-flex: 0 0 calc(300 / 1000 * 100%);
	flex: 0 0 calc(300 / 1000 * 100%);
	width: calc(300 / 1000 * 100%);
	counter-increment: using;
}
#using .dev_field:nth-child(1) > .item {
	-webkit-flex: 0 0 calc(300 / 1350 * 100%);
	flex: 0 0 calc(300 / 1350 * 100%);
	width: calc(300 / 1350 * 100%);
}
#using .dev_field:nth-child(1) > .item:not(:last-child) {
	margin-right: 5.0rem;
}
#using .dev_field:nth-child(2) > .item {
	-webkit-flex: 0 0 calc(300 / 1350 * 100%);
	flex: 0 0 calc(300 / 1350 * 100%);
	width: calc(300 / 1350 * 100%);
}
#using .item dl {
	position: relative;
	padding-top: 5.0rem;
}
#using .item dl::before {
	content: counter(using, decimal-leading-zero);
	position: absolute;
	z-index: 2;
	top: 0;
	left: 2.5rem;
	font-family: 'Montserrat', sans-serif;
	font-size: 3.2rem;
	font-weight: 700;
	color: #8b77cb;
	letter-spacing: 0.05em;
}
#using .item dl > * {
	position: relative;
	z-index: 1;
}
#using .item dl dt img {
	border-radius: 5.9rem;
}
#using .item dl dd {
	padding-top: 2.4rem;
}
#using .item:not(:nth-child(2)) dl dd {
	padding-left: 1.0rem;
	padding-right: 1.0rem;
}
#using .item dl dd p {
	font-size: 2.8rem;
	letter-spacing: 0.035em;
	line-height: 1.5;
}
#using .item dl dd small {
	font-size: 1.8rem;
	line-height: 1.555;
	display: block;
	margin-top: 1.0rem;
}
#using .item:nth-child(4) dl dd p {
	letter-spacing: 0;
}
#using .item:nth-child(5) dl dd p {
	letter-spacing: 0.01em;
}
#using .item dl dd p.is-dev {
	font-size: 2.5rem;
	letter-spacing: 0;
}
@media (max-width: 1024px) and (min-width: 768px) {
	#using .inner {
		padding-top: calc(120 / 1024 * 100vw);
		padding-bottom: calc(105 / 1024 * 100vw);
	}
	#using .title h2 {
		font-size: calc(46 / 1024 * 100vw);
		margin-bottom: calc(35 / 1024 * 100vw);
	}
	#using .title p {
		font-size: calc(18 / 1024 * 100vw);
	}
	#using .title p:not(:nth-child(4)) {
		margin-bottom: calc(10 / 1024 * 100vw);
	}
	#using .field {
		padding-top: calc(75 / 1024 * 100vw);
		padding-right: calc(25 / 1024 * 100vw);
		padding-left: calc(25 / 1024 * 100vw);
	}
	#using .item {
		-webkit-flex: 0 0 calc(300 / 1024 * 100vw);
		flex: 0 0 calc(300 / 1024 * 100vw);
		width: calc(300 / 1024 * 100vw);
	}
	#using .item dl {
		padding-top: calc(50 / 1024 * 100vw);
	}
	#using .item dl::before {
		left: calc(25 / 1024 * 100vw);
		font-size: calc(32 / 1024 * 100vw);
	}
	#using .item dl dt img {
		border-radius: calc(59 / 1024 * 100vw);
	}
	#using .item dl dd {
		padding-top: calc(24 / 1024 * 100vw);
	}
	#using .item:not(:nth-child(2)) dl dd {
		padding-left: calc(10 / 1024 * 100vw);
		padding-right: calc(10 / 1024 * 100vw);
	}
	#using .item dl dd p {
		font-size: calc(28 / 1024 * 100vw);
	}
	#using .item dl dd small {
		font-size: calc(18 / 1024 * 100vw);
		margin-top: calc(10 / 1024 * 100vw);
	}
	#using .item dl dd p.is-dev {
		font-size: calc(25 / 1024 * 100vw);
	}
}


/*
	less than 767px;
---------------------------------------------------------------------------------------------------------------------------------------------*/
@media (max-width: 767px) {
/* common parts
--------------------------------------------------------------------------------------------------------*/
	.primary-title h2 {
		width: 100.0%;
		overflow: visible;
	}
	.primary-title h2::before,
	.primary-title h2::after {
		width: calc(130 / 750 * 100vw);
		height: calc(98 / 750 * 100vw);
	}
	.primary-title h2::before {
		left: calc(25 / 750 * 100vw);
	}
	.primary-title h2::after {
		right: calc(25 / 750 * 100vw);
	}
	.primary-title h2 span {
		font-size: calc(56 / 750 * 100vw);
		margin-bottom: 0.5em;
	}
	.primary-title h2 small {
		font-size: calc(26 / 750 * 100vw);
		letter-spacing: 0.5em;
		text-indent: 0.5em;
	}

/* hero
--------------------------------------------------------------------------------------------------------*/
	#hero .inner {
		padding-right: calc(25 / 750 * 100vw);
		padding-left: calc(25 / 750 * 100vw);
	}
	#hero .inner::after {
		top: calc(184 / 750 * 100vw);
		width: calc(579 / 750 * 100vw);
		height: calc(470 / 750 * 100vw);
	}
	#hero .main-slick .slide-arrow {
		top: 48.0%;
		width: calc(70 / 750 * 100vw);
		height: calc(70 / 750 * 100vw);
		-webkit-transform: translate(0, -48.0%);
		transform: translate(0, -48.0%);
	}
	#hero .main-slick .slide-arrow i {
		font-size: calc(50 / 750 * 100vw);
	}
	#hero .main-slick .prev-arrow {
		right: initial;
		left: calc(25 / 750 * -100vw);
	}
	#hero .main-slick .next-arrow {
		right: calc(25 / 750 * -100vw);
	}
	#hero .main-slick .slide-dots {
		top: calc(110 / 750 * -100vw);
	}
	#hero .main-slick .slide-dots li {
		width: calc(24 / 750 * 100vw);
		height: calc(24 / 750 * 100vw);
		margin-right: calc(8 / 750 * 100vw);
		margin-left: calc(8 / 750 * 100vw);
	}
	#hero .main-slick .slide-dots li button::before {
		width: calc(24 / 750 * 100vw);
		height: calc(24 / 750 * 100vw);
	}

/* about
--------------------------------------------------------------------------------------------------------*/
	#about .inner {
		padding-top: calc(80 / 750 * 100vw);
		padding-right: calc(25 / 750 * 100vw);
		padding-bottom: calc(120 / 750 * 100vw);
		padding-left: calc(25 / 750 * 100vw);
		-webkit-flex-direction: column;
		flex-direction: column;
	}
	#about .photo {
		-webkit-flex: 0 0 auto;
		flex: 0 0 auto;
	}
	#about .photo span::after {
		bottom: calc(120 / 750 * -100vw);
		left: calc(20 / 750 * 100vw);
		width: calc(680 / 750 * 100vw);
		height: calc(170 / 750 * 100vw);
	}
	#about .photo span img {
		border-radius: calc(60 / 750 * 100vw);
	}
	#about .about {
		-webkit-flex: 1;
		flex: 1;
		padding-top: calc(180 / 750 * 100vw);
		margin-left: 0;
	}
	#about .about h2 {
		padding-right: calc(50 / 750 * 100vw);
		padding-left: calc(50 / 750 * 100vw);
		margin-bottom: calc(50 / 750 * 100vw);
	}
	#about .about h2::after {
		top: 0;
		right: calc(25 / 750 * 100vw);
		width: calc(78 / 750 * 100vw);
		height: calc(190 / 750 * 100vw);
	}
	#about .about h2 span {
		font-size: calc(70 / 750 * 100vw);
	}
	#about .about h2 span:first-child {
		margin-bottom: 0.5em;
	}
	#about .item {
		padding-right: calc(25 / 750 * 100vw);
		padding-left: calc(25 / 750 * 100vw);
	}
	#about .item p {
		font-size: calc(30 / 750 * 100vw);
	}

/* greeting
--------------------------------------------------------------------------------------------------------*/
	#greeting .inner {
		padding-bottom: calc(120 / 750 * 100vw);
	}
	#greeting .field {
		max-width: 100.0%;
		padding-top: calc(100 / 750 * 100vw);
		padding-right: calc(50 / 750 * 100vw);
		padding-bottom: calc(50 / 750 * 100vw);
		padding-left: calc(50 / 750 * 100vw);
		border-radius: calc(50 / 750 * 100vw);
	}
	#greeting .field::before {
		top: calc(28 / 750 * 100vw);
		right: calc(15 / 750 * 100vw);
		width: calc(134 / 750 * 100vw);
		height: calc(306 / 750 * 100vw);
		-webkit-transform: rotate(-24deg);
		transform: rotate(-24deg);
	}
	#greeting .field::after {
		bottom: calc(110 / 750 * 100vw);
		left: 0;
		width: calc(149 / 750 * 100vw);
		height: calc(306 / 750 * 100vw);
		-webkit-transform: rotate(-15deg);
		transform: rotate(-15deg);
	}
	#greeting .item {
		-webkit-flex-direction: column;
		flex-direction: column;
	}
	#greeting .headline {
		-webkit-flex: 0 0 auto;
		flex: 0 0 auto;
	}
	#greeting .headline h2 span {
		font-size: calc(70 / 750 * 100vw);
		margin-bottom: 0.5em;
	}
	#greeting .headline h2 small {
		font-size: calc(30 / 750 * 100vw);
	}
	#greeting .photo {
		margin-top: calc(50 / 750 * 100vw);
		text-align: center;
	}
	#greeting .photo img {
		border-radius: calc(40 / 750 * 100vw);
	}
	#greeting .headline p {
		font-size: calc(36 / 750 * 100vw);
		margin-top: 1.25em;
	}
	#greeting .box {
		margin-top: calc(80 / 750 * 100vw);
		margin-left: 0;
	}
	#greeting .box p {
		font-size: calc(30 / 750 * 100vw);
	}
	#greeting .btn-facebook {
		padding-right: 0;
		padding-left: 0;
		margin-top: calc(60 / 750 * 100vw);
	}
	#greeting .btn-facebook a {
		padding-top: calc(40 / 750 * 100vw);
		padding-bottom: calc(40 / 750 * 100vw);
		border-radius: calc(16 / 750 * 100vw);
	}
	#greeting .btn-facebook a::after {
		right: calc(25 / 750 * 100vw);
		font-size: calc(46 / 750 * 100vw);
	}
	#greeting .btn-facebook a i {
		margin-right: calc(20 / 750 * 100vw);
	}
	#greeting .btn-facebook a i img {
		width: calc(46 / 750 * 100vw);
	}
	#greeting .btn-facebook a span:nth-child(2) {
		font-size: calc(38 / 750 * 100vw);
		margin-right: 0.25em;
	}
	#greeting .btn-facebook a span:nth-child(3) {
		font-size: calc(42 / 750 * 100vw);
	}
	#greeting .photo-list {
		max-width: 100.0%;
		padding-top: calc(100 / 750 * 100vw);
		padding-right: calc(25 / 750 * 100vw);
		padding-left: calc(25 / 750 * 100vw);
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	#greeting .photo-list::before {
		top: calc(400 / 750 * -100vw);
		width: calc(450 / 750 * 100vw);
		height: calc(450 / 750 * 100vw);
	}
	#greeting .photo-list li {
		-webkit-flex: 0 0 48.25%;
		flex: 0 0 48.25%;
		width: 48.25%;
	}
	#greeting .photo-list li:nth-child(n+3) {
		margin-top: 3.5%;
	}
	#greeting .photo-list li img {
		border-radius: calc(30 / 750 * 100vw);
	}


/* reward
--------------------------------------------------------------------------------------------------------*/
	#reward .inner {
		padding-top: calc(120 / 750 * 100vw);
		padding-bottom: calc(120 / 750 * 100vw);
	}
	#reward .title h2 {
		padding-right: 0;
		padding-left: 0;
	}
	#reward .title h2::before,
	#reward .title h2::after {
		top: calc(10 / 750 * 100vw);
	}
	#reward .field {
		padding-top: calc(80 / 750 * 100vw);
		padding-right: calc(25 / 750 * 100vw);
		padding-left: calc(25 / 750 * 100vw);
		max-width: 100.0%;
	}
	#reward .item {
		-webkit-flex: 0 0 48.25%;
		flex: 0 0 48.25%;
		width: 48.25%;
	}
	#reward .item:nth-child(n+4) {
		margin-top: 0;
	}
	#reward .item:nth-child(n+3) {
		margin-top: calc(110 / 750 * 100vw);
	}
	#reward .item dl {
		margin-bottom: calc(40 / 750 * 100vw);
	}
	#reward .item dl dt {
		font-size: calc(42 / 750 * 100vw);
		margin-bottom: 0.5em;
	}
	#reward .item dl dd img {
		border-radius: calc(30 / 750 * 100vw);
	}
	#reward .item ul {
		padding-right: 0;
		padding-left: 0;

		column-count: 1;
	}
	#reward .item ul li:not(:last-child) {
		margin-bottom: calc(15 / 750 * 100vw);
	}
	#reward .item ul li a {
		padding-top: calc(26 / 750 * 100vw);
		padding-bottom: calc(26 / 750 * 100vw);
		border-radius: calc(38 / 750 * 100vw);
	}
	#reward .item ul li a::after {
		right: calc(24 / 750 * 100vw);
		width: calc(24 / 750 * 100vw);
		height: calc(24 / 750 * 100vw);
	}
	#reward .item ul li a span {
		font-size: calc(26 / 750 * 100vw);
	}

/* introduction
--------------------------------------------------------------------------------------------------------*/
	#introduction .inner {
		padding-top: calc(110 / 750 * 100vw);
		padding-bottom: calc(70 / 750 * 100vw);
	}
	#introduction .title h2 {
		padding-right: 0;
		padding-left: 0;
	}
	#introduction .title h2::before,
	#introduction .title h2::after {
		top: calc(20 / 750 * 100vw);
	}
	#introduction .title h2 span {
		font-size: calc(44 / 750 * 100vw);
		letter-spacing: 0.02em;
		text-indent: 0.02em;
	}
	#introduction .title h2 span:nth-child(2) {
		margin-bottom: 1.0em;
	}


/* step
--------------------------------------------------------------------------------------------------------*/
	#step .inner {
		padding-top: calc(130 / 750 * 100vw);
		padding-bottom: calc(120 / 750 * 100vw);
	}
	#step .inner h2 {
		font-size: calc(60 / 750 * 100vw);
	}
	#step .field {
		padding-top: calc(80 / 750 * 100vw);
		padding-right: calc(25 / 750 * 100vw);
		padding-left: calc(25 / 750 * 100vw);
		-webkit-flex-direction: column;
		flex-direction: column;
	}
	#step .field .item {
		-webkit-flex: 0 0 auto;
		flex: 0 0 auto;
		width: 100%;
		padding-top: 0;
		padding-right: 0;
		padding-bottom: 0;
		padding-left: 0;
		border-radius: calc(16 / 750 * 100vw);
	}
	#step .field .item:first-child {
		border-top-left-radius: calc(16 / 750 * 100vw);
		border-bottom-left-radius: calc(16 / 750 * 100vw);
	}
	#step .field .item:last-child {
		border-top-right-radius: calc(16 / 750 * 100vw);
		border-bottom-right-radius: calc(16 / 750 * 100vw);
	}
	#step .field .item dl {
		padding-top: calc(50 / 750 * 100vw);
		padding-right: calc(30 / 750 * 100vw);
		padding-bottom: calc(50 / 750 * 100vw);
		padding-left: calc(10 / 750 * 100vw);
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
	}
	#step .field .item:not(:last-child) {
		margin-bottom: calc(50 / 750 * 100vw);
	}
	#step .field .item:not(:last-child)::after {
		top: auto;
		right: auto;
		bottom: calc(24 / 750 * -100vw);
		left: 50.0%;
		border-style: solid;
		border-width: calc(24 / 750 * 100vw) calc(21 / 750 * 100vw) 0 calc(21 / 750 * 100vw);
		border-color: #fff transparent transparent transparent;
		-webkit-transform: translate(-50.0%, 0);
		transform: translate(-50.0%, 0);
	}
	#step .field .item dl dt {
		-webkit-flex: 0 0 30.0%;
		flex: 0 0 30.0%;
	}
	#step .field .item dt::before,
	#step .field .item dt::after {
		top: 50.0%;
		width: calc(43 / 750 * 100vw);
		height: calc(80 / 750 * 100vw);
		-webkit-transform: translate(0, -50.0%);
		transform: translate(0, -50.0%);
	}
	#step .field .item dt::before {
		left: calc(5 / 750 * 100vw);
	}
	#step .field .item dt::after {
		right: calc(5 / 750 * 100vw);
	}
	#step .field .item dt span {
		font-size: calc(34 / 750 * 100vw);
		letter-spacing: 0.03em;
		text-indent: 0.03em;
		margin-bottom: 0.25em;
	}
	#step .field .item dt strong {
		font-size: calc(84 / 750 * 100vw);
	}
	#step .field .item dl dd {
		-webkit-flex: 1;
		flex: 1;
		padding-top: 0;
		padding-left: calc(10 / 750 * 100vw);
	}
	#step .field .item dd p,
	#step .field .item dd ul li {
		font-size: calc(28 / 750 * 100vw);
		line-height: 1.45;
	}
	#step .field .item dd ul:nth-child(2) {
		padding-top: calc(16 / 750 * 100vw);
		margin-top: calc(16 / 750 * 100vw);
	}
	#step .field .item dd ul:nth-child(2)::before {
		left: -2.0%;
		width: 100.0%;
	}
	#step .field .item dd ul li:not(:last-child) {
		margin-bottom: 0.25em;
	}
	#step .field .item dd ul li::before {
		font-size: calc(26 / 750 * 100vw);
		width: calc(38 / 750 * 100vw);
		height: calc(38 / 750 * 100vw);
		padding-top: 0;
		margin-top: 0;
		margin-right: 0.5em;
		-webkit-flex: 0 0 calc(38 / 750 * 100vw);
		flex: 0 0 calc(38 / 750 * 100vw);
	}

/* using
--------------------------------------------------------------------------------------------------------*/
	#using .inner {
		padding-top: calc(120 / 750 * 100vw);
		padding-bottom: calc(100 / 750 * 100vw);
	}
	#using .title h2 {
		font-size: calc(58 / 750 * 100vw);
		letter-spacing: 0.03em;
		text-indent: 0.03em;
		margin-bottom: 0.5em;
	}
	#using .title p {
		font-size: calc(26 / 750 * 100vw);
		line-height: 1.5;
	}
	#using .title p:not(:nth-child(4)) {
		margin-bottom: 0.75em;
	}
	#using .field {
		max-width: 100.0%;
		padding-top: calc(70 / 750 * 100vw);
		padding-right: calc(25 / 750 * 100vw);
		padding-left: calc(25 / 750 * 100vw);
	}
	#using .item {
		-webkit-flex: 0 0 48.25%;
		flex: 0 0 48.25%;
		width: 48.25%;
	}
	#using .item:nth-child(n+4) {
		margin-top: 0;
	}
	#using .item:nth-child(n+3) {
		margin-top: calc(85 / 750 * 100vw);
	}
	#using .item dl {
		padding-top: calc(75 / 750 * 100vw);
	}
	#using .item dl::before {
		left: calc(20 / 750 * 100vw);
		font-size: calc(58 / 750 * 100vw);
	}
	#using .item dl dt img {
		border-radius: calc(30 / 750 * 100vw);
	}
	#using .item dl dd {
		padding-top: calc(20 / 750 * 100vw);
	}
	#using .item:nth-child(2) dl dd,
	#using .item:not(:nth-child(2)) dl dd {
		padding-left: calc(15 / 750 * 100vw);
		padding-right: calc(15 / 750 * 100vw);
	}
	#using .item dl dd p {
		font-size: calc(32 / 750 * 100vw);
		letter-spacing: 0;
	}
	#using .item dl dd small {
		font-size: calc(26 / 750 * 100vw);
		margin-top: 0.75em;
	}

/*
	top.css End
---------------------------------------------------------------------------------------------------------------------------------------------*/
}