@charset "UTF-8";
/*------------------------
header
------------------------*/
/*--------共通--------*/
header {
	transform: translateY(-200vh);
	transition: all .6s;
}
header.fixed {
	transform: translateY(0);
}
/*------------------------
mv
------------------------*/
/*--------共通--------*/
.mv {
	background: var(--accentcolor);
	position: relative;
}
.mv .inner .copy .main-copy {
	position: relative;
}
.mv .inner .copy .main-copy h1 span {
	display: block;
}
.mv .inner .copy .main-copy h1 .sub	{
	display: flex;
	align-items: center;
	color: #fff;
	font-weight: bold;
	line-height: 1;
	letter-spacing: .5em;
	position: relative;
}
.mv .inner .copy .main-copy h1 .sub::after {
	content: '';
	flex: 1;
	width: 100%;
	height: 1px;
	background: #fff;
}
.mv .inner .copy .main-copy h1 .sub span:first-child {
	animation: .3s opacity;
}
.mv .inner .copy .main-copy h1 .sub span:nth-child(2) {
	animation: .6s opacity;
}
.mv .inner .copy .main-copy h1 .sub span:nth-child(3) {
	animation: .9s opacity;
}
.mv .inner .copy .main-copy h1 .sub span:nth-child(4) {
	animation: 1.2s opacity;
}
.mv .inner .copy .main-copy h1 .sub span:nth-child(5) {
	animation: 1.5s opacity;
}
.mv .inner .copy .main-copy h1 .sub span:nth-child(6) {
	animation: 1.8s opacity;
}
@keyframes opacity {
	0%{
		opacity: 0;
	}
	100%{
		opacity: 1;
	}
}
.mv .inner .copy .main-copy h1 .main img {
	width: 100%;
}
.mv .inner .copy .main-copy .fuki {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--inccolor);
	font-weight: bold;
	color: #fff;
	text-align: center;
	line-height: 1.22;
	letter-spacing: 0;
	border-radius: 50vw;
	animation: .3s ease-in-out fade;
}
.mv .inner .copy .main-copy .fuki2 {
	animation: .5s ease-in-out fade;
}
@keyframes fade {
	0% {
		opacity : 0;
		transform : translate(0, -40px);
	}
	100%{
		opacity : 1;
		transform : translate(0, 0);
	}
}
.mv .inner .copy .main-copy .fuki span {
	transform: scale(.9, 1);
	z-index: 10;
}
.mv .inner .copy .main-copy .fuki::after {
	content: '';
	position: absolute;
	background: url(../img/ashi_fuki.png) no-repeat 100%/contain;
}
.mv .inner .copy .present {
	display: flex;
	align-items: center;
	width: fit-content;
}
.mv .inner .copy .present .icn {
	background: #ffdc73;
	border-radius: 50vw;
	position: relative;
	z-index: 1;
}
.mv .inner .copy .present .icn::before {
	content: '';
	position: absolute;
	background: url(../img/ashi_present.svg) no-repeat 100%/contain;
	animation: anim_s 2s 1s infinite alternate;
}
@keyframes anim_s {
	50% {
		transform: rotate(-2deg);
	}
	100% {
		transform: rotate(2deg) rotateY(180deg);
	}
}
.mv .inner .copy .present .icn span {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	border: 2px solid #fff;
	border-radius: 50vw;
}
.mv .inner .copy .present .txt {
	display: block;
	background: #fff;
	font-weight: bold;
	color: var(--accentcolor);
	line-height: 1.2;
}
.mv .inner .copy .present .txt span {
	display: block;
	color: var(--inccolor);
}
.mv .inner .btn-area .mv-btn a img {
	width: 100%;
}
.mv .news {
	position: absolute;
	right: 0;
	align-items: center;
	background: var(--txtcolor);
	color: #fff;
	text-align: justify;
}
/*--------pc--------*/
@media screen and (min-width:768px) {
	.mv {
		height: 82.5rem;
		margin-bottom: 7rem;
	}
	.mv .logo {
		width: 36rem;
		padding: 3rem 0 5rem 4rem;
	}
	.mv .inner {
		padding: 0 13rem;
	}
	.mv .inner .copy {
		width: 65rem;
	}
	.mv .inner .copy .main-copy {
		margin-bottom: 7rem;
	}
	.mv .inner .copy .main-copy h1 .sub	{
		font-size: 4.4rem;
		margin-bottom: 2rem;
	}
	.mv .inner .copy .main-copy h1 .sub::after {
		margin: 1.5rem 0 0 1.5rem;
	}
	.mv .inner .copy .main-copy h1 .main {
		width: 65rem;
		padding-right: 4rem;
	}
	.mv .inner .copy .main-copy .fuki {
		font-size: 1.8rem;
		width: 13rem;
		height: 12rem;
	}
	.mv .inner .copy .main-copy .fuki::after {
		width: 2.4rem;
		height: 2.1rem;
	}
	.mv .inner .copy .main-copy .fuki1 {
		top: -4.6rem;
		right: 2.2rem;
		padding-bottom: 1.5rem;
	}
	.mv .inner .copy .main-copy .fuki1::after {
		left: .3rem;
		bottom: 1.5rem;
	}
	.mv .inner .copy .main-copy .fuki2 {
		top: 2.8rem;
		right: -2.4rem;
	}
	.mv .inner .copy .main-copy .fuki2::after {
		left: 3rem;
		bottom: -1rem;
	}
	.mv .inner .copy .present .icn {
		width: 8.2rem;
		height: 8.2rem;
		padding: .6rem;
	}
	.mv .inner .copy .present .icn::before {
		top: -3.4rem;
		left: -2.8rem;
		width: 13rem;
		height: 13rem;
	}
	.mv .inner .copy .present .icn span img {
		width: 2.3rem;
	}
	.mv .inner .copy .present .txt {
		padding: 1.4rem 3.5rem .7rem 7rem;
		margin-left: -5rem;
		font-size: 2.4rem;
		border-radius: 0 2rem 2rem 0;
	}
	.mv .inner .copy .present .txt span {
		font-size: 1.8rem;
		letter-spacing: .075em;
	}
	.mv .inner .btn-area {
		flex: 1;
		flex-wrap: wrap;
		align-items: center;
		margin-top: -6rem;
	}
	.mv .inner .btn-area .mv-btn {
		position: relative;
		opacity: 1; /* 通常は表示 */
	}
	.mv .inner .btn-area .mv-btn {
		animation: .3s ease-in fadeimg;
	}
	.mv .inner .btn-area .mv-btn:nth-child(2) {
		animation: .6s ease-in fadeimg;
	}
	.mv .inner .btn-area .mv-btn:nth-child(3) {
		animation: .9s ease-in fadeimg;
	}
	@keyframes fadeimg {
		0% {
			opacity : 0;
			transform : translate(0, -100vw);
		}
		100%{
			opacity : 1;
			transform : translate(0, 0);
		}
	}
	.mv .inner .btn-area .mv-btn.rule {
		width: 100%;
	}
	.mv .inner .btn-area .mv-btn.entry {
		width: 23.3rem;
		margin: 0 9rem 0 auto;
	}
	.mv .inner .btn-area .mv-btn.incentive {
		width: 32.3rem;
		margin: 2.5rem 3.8rem auto auto;
	}
	.mv .inner .btn-area .mv-btn a {
		display: block;
		transition: opacity 0.3s ease; /* スムーズに opacity が変化 */
	}
	.mv .inner .btn-area .mv-btn.rule a {
		width: 40.5rem;
		margin: 0 14rem 0 auto;
	}
	.mv .inner .btn-area .mv-btn:not(.rule) a {
		width: 100%;
	}
	.mv .inner .btn-area .mv-btn a .detail {
		display: inline-block;
		position: absolute;
		background: #ffdc73;
		padding: 2rem 8rem 2rem 2rem;
		border-radius: 6px;
		font-size: 2rem;
		line-height: 1.2;
		letter-spacing: .05em;
		opacity: 0;
		transition: all .5s ease 0s;
	}
	.mv .inner .btn-area .mv-btn a .detail::after {
		content: '';
		position: absolute;
		bottom: -2.6rem;
		left: 37%;
		width: 0;
		height: 0;
		border-style: solid;
		border-color: transparent #ffdc73 transparent transparent;
		border-width: 0px 2rem 3.7rem 0px;
		transform: rotate(-20deg);
	}
	.mv .inner .btn-area .mv-btn a .detail span::before {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		right: 2rem;
		margin: auto;
		width: .6rem;
		height: .6rem;
		border-bottom: .2rem solid var(--txtcolor);
		border-right: .2rem solid var(--txtcolor);
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	.mv .inner .btn-area .mv-btn a .detail span::after {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		right: 2.8rem;
		margin: auto;
		width: .6rem;
		height: .6rem;
		border-bottom: .2rem solid var(--txtcolor);
		border-right: .2rem solid var(--txtcolor);
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	.mv .inner .btn-area .mv-btn a .detail b {
		font-size: 2.6rem;
	}
	.mv .inner .btn-area .mv-btn.rule a .detail {
		top: -1rem;
		left: 32%;
	}
	.mv .inner .btn-area .mv-btn.entry a .detail {
		top: 10rem;
		left: -55%;
	}
	.mv .inner .btn-area .mv-btn.incentive a .detail {
		top: -1rem;
		left: -18%;
	}
	.mv .inner .btn-area .mv-btn a:hover .detail {
		opacity: 1;
	}
	.mv .news {
		max-width: 80rem;
		bottom: -.5rem;
		padding: 2.5rem 3rem;
	}
	.mv .news .date {
		font-size: 1.5rem;
		line-height: 1;
		padding-right: 1.5rem;
	}
	.mv .news h2 {
		flex: 1;
		padding-left: 1.5rem;
		border-left: 1px solid #fff;
		line-height: 1.14;
		font-size: 1.6rem;
	}
	.mv .inner .btn-area .mv-btn a .detail {
		display: block;
		transition: opacity 0.3s ease; /* スムーズに opacity が変化 */
	}
	.mv .inner .btn-area .mv-btn a .detail.blinking{
		opacity: 1;
		animation: blinking 1s ease-in-out infinite alternate;
	}
	.mv .inner .btn-area .mv-btn a .detail.hovered{
		opacity: 1; /* hoverされたときに opacity を1に設定 */
		animation: none; /* アニメーションを停止 */
	}
}

/* 点滅アニメーション */
@keyframes blinking {
	0% {
		transform: translateY(0px);
	}
	50% {
		transform: translateY(-10px);
	}
	100% {
		transform: translateY(0px);
	}
}


@media screen and (min-width:1920px) {
	.mv .inner {
		max-width: 192rem;
		margin: 0 auto;
}
}
@media screen and (min-width:768px) and ( max-width:1620px) {
	.mv .inner .btn-area .mv-btn.entry{
		margin: 0 auto;
	}
	.mv .inner .btn-area .mv-btn.incentive{
		margin: 0 auto;
	}
}


/*--------sp--------*/
@media screen and (max-width:767px) {
	.mv {
		padding-top: 4vw;
	}
	.mv .inner {
		flex-direction: column;
	}
	.mv .logo {
		width: 50.667vw;
		margin: 0 4.5% 12vw;
	}
	.mv .copy {
		margin: 0 4.5% 5.6vw;
	}
	.mv .copy .main-copy {
		margin-bottom: 7.333vw;
	}
	.mv .inner .copy .main-copy h1 .sub {
		font-size: 5.07vw;
		margin-bottom: 2.4vw;
	}
	.mv .inner .copy .main-copy h1 .sub::after {
		margin: 1vw 0 0 2vw;
	}
	.mv .inner .copy .main-copy h1 .main {
		width: 70vw;
	}
	.mv .inner .copy .main-copy .fuki {
		font-size: 3.07vw;
		width: 22.667vw;
		height: 20.667vw;
	}
	.mv .inner .copy .main-copy .fuki1 {
		top: -6vw;
		right: -13vw;
	}
	.mv .inner .copy .main-copy .fuki2 {
		top: 7vw;
		right: -21vw;
	}
	.mv .inner .copy .main-copy .fuki::after {
		width: 4.267vw;
		height: 3.733vw;
	}
	.mv .inner .copy .main-copy .fuki1::after {
		left: 2vw;
		bottom: 0;
	}
	.mv .inner .copy .main-copy .fuki2::after {
		left: 4vw;
		bottom: -2vw;
	}
	.mv .inner .copy .present .icn {
		width: 13.067vw;
		height: 13.067vw;
		padding: .8vw;
	}
	.mv .inner .copy .present .icn::before {
		top: -4vw;
		left: -4vw;
		width: 19.733vw;
		height: 19.733vw;
	}
	.mv .inner .copy .present .icn span img {
		width: 35%;
	}
	.mv .inner .copy .present .txt {
		padding: 2.3vw 4.8vw 1.8vw 10.667vw;
		margin-left: -8vw;
		font-size: 3.74vw;
	border-radius: 0 15px 15px 0;
	}
	.mv .inner .copy .present .txt span {
		font-size: 2.94vw;
	}
	.mv .inner .btn-area {
		width: 100%;
		margin-bottom: 5.667vw;
	}
	.mv .slick .mv-btn {
		height: 50vw;
		position: relative;
		transition: all .3s ease 0s;
	}
	.mv .slick .mv-btn:not(.slick-current) {
		transform: scale(.8);
	}
	.mv .inner .btn-area .mv-btn a img {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}
	.mv .inner .btn-area .mv-btn .detail {
		display: none;
		opacity: 0;
		transition: all .3s ease 0s;
	}
	.mv .inner .btn-area .mv-btn.slick-current .detail {
		opacity: 1;
		display: inline-block;
		position: absolute;
		background: #ffdc73;
		padding: 3vw 10.667vw 2.8vw 3.2vw;
		border-radius: 4px;
		font-size: 3.2vw;
		line-height: 1.2;
	}
	.mv .inner .btn-area .mv-btn.rule a .detail {
		top: 2vw;
		left: -9vw;
	}
	.mv .inner .btn-area .mv-btn.entry a .detail {
		top: 6vw;
		left: 3vw;
	}
	.mv .inner .btn-area .mv-btn.incentive a .detail {
		top: 0vw;
		left: -10vw;
	}
	.mv .inner .btn-area .mv-btn a .detail::after {
		content: '';
		position: absolute;
		bottom: -3vw;
		left: 19%;
		width: 0;
		height: 0;
		border-style: solid;
		border-color: transparent #ffdc73 transparent transparent;
		border-width: 0px 3vw 5vw 0px;
		transform: rotate(-5deg);
	}
	.mv .inner .btn-area .mv-btn.slick-current .detail b {
		font-size: 3.74vw;
	}
	.mv .inner .btn-area .mv-btn a .detail span::before {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		right: 2vw;
		margin: auto;
		width: .8vw;
		height: .8vw;
		border-bottom: 1px solid var(--txtcolor);
		border-right: 1px solid var(--txtcolor);
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	.mv .inner .btn-area .mv-btn a .detail span::after {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		right: 3vw;
		margin: auto;
		width: .8vw;
		height: .8vw;
		border-bottom: 1px solid var(--txtcolor);
		border-right: 1px solid var(--txtcolor);
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	.news {
		background: var(--txtcolor);
		padding: 4.5% 4.5% 4%;
		color: #fff;
		text-align: justify;
		margin-bottom: 10vw;
	}
	.news .date {
		display: block;
		font-size: 3.74vw;
		line-height: 1;
		padding-bottom: 1.5%;
	}
	.news h2 {
		line-height: 1.4;
	}
}
/*------------------------
ABOUT
------------------------*/
/*--------共通--------*/
section .cont .ttl .ef {
	display: block;
	font-weight: 500;
	color: #8aa0cc;
	letter-spacing: 0;
}
section .cont .ttl h3 {
	font-weight: 500;
	color: var(--accentcolor);
	letter-spacing: .05em;
}
section .cont .ttl h3 span {
	letter-spacing: -.2em;
}
.about .cont .inner .txt p {
	font-weight: 500;
	color: var(--accentcolor);
}
.about .cont .inner .txt p a {
	text-decoration: underline;
	color: var(--accentcolor);
}
.about .cont .inner .txt p b{
	background: linear-gradient(transparent 40%, rgba(237, 237, 128, .8) 80%);
}
/*モーダル*/
.modal {
	opacity: 0;
	padding: 4.5%;
	position: fixed;
	top: 6rem;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	background: #fff;
	z-index: -1;
	transition: opacity .3s ease 0s;
}
.modal-close {
	position: absolute;
	right: 0;
}
.modal-close span {
	display: block;
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background: #fff;
}
.modal-close span:nth-child(1) {
	transform: rotate(45deg);
}
.modal-close span:nth-child(2) {
	transform: rotate(-45deg);
}
.modal .box h3 {
	font-weight: 500;
	color: var(--accentcolor);
	line-height: 1;
	letter-spacing: .1em;
}
.overlay {
	opacity: 0;
	position: fixed;
	width: 100%;
	height: 100%;
	background: rgba(35,24,21,.6);
	z-index: -1;
	top: 0;
	left: 0;
	right: 0;
	transition: opacity .3s ease 0s;
}
.modal.open {
	opacity: 1;
	z-index: 1000;
}
.overlay.open {
	opacity: 1;
	z-index: 200;
}
/*こんな方を募集しています！*/
.about .cont .inner .looking .box {
	background: #fff url(../img/bg_pat.png);
	border-radius: 1.4rem;
	color: var(--inccolor);
	position: relative;
}
.about .cont .inner .looking .box .fuki {
	display: block;
	width: fit-content;
	margin: auto;
}
.about .cont .inner .looking .box .fuki::before ,
.about .cont .inner .looking .box .fuki::after {
	content: '';
	display: inline-block;
}
.about .cont .inner .looking .box h4 {
	font-weight: 500;
}
.about .cont .inner .looking .box ul li::before {
	content: '';
	display: inline-block;
}
.about .cont .inner .looking .box img {
	width: 100%;
}

/* 資料提供 */
.about .cont .inner .bottom.btn {
	margin: auto;
}
.about .cont .inner .bottom.btn a {
	border: 2px solid var(--inccolor);
}
.about .cont .inner .bottom.btn a ,
.about .cont .inner .bottom.btn a span::before  {
	background: var(--inccolor);
}
.about .cont .inner .bottom.btn a span::after {
	border-bottom: 2px solid var(--inccolor);
	border-right: 2px solid var(--inccolor);
}

/*--------pc--------*/
@media screen and (min-width:768px) {
	main section {
		margin: 0 3rem 10rem;
	}
	.about .ttl-area {
		align-items: flex-end;
		margin-left: 2rem;
	}
	.about .ttl-area .ef {
		font-size: 22rem;
		color: var(--accentcolor);
		letter-spacing: -.03em;
		line-height: .82;
	}
	.about .ttl-area h2 {
		font-size: 4.2rem;
		font-weight: 500;
		color: var(--inccolor);
		letter-spacing: .1em;
		line-height: 1;
		margin-left: 1rem;
	}
	section .cont {
		border-radius: 1.8rem;
		padding: 7rem 10rem 7rem;
	}
	.about .cont {
		background: #aeeaf2 url(../img/bg_about.png) no-repeat right top;
	}
	section .cont .inner {
		max-width: 120rem;
		margin: auto;
		transition: all .3s ease 0s;
	}
	.about .cont .inner .top-cont {
		justify-content: space-between;
		margin-bottom: 2rem;
	}
	.about .cont .inner .txt {
		margin-right: 3rem;
		width: 60rem;
	}
	section .cont .ttl {
		line-height: 1;
		margin-bottom: 2rem;
	}
	section .cont .ttl .ef {
		font-size: 3.8rem;
		margin-bottom: 1.8rem;
	}
	section .cont .ttl h3 {
		font-size: 4.4rem;
	}
	.about .cont .inner .txt p {
		font-size: 2.3rem;
		text-align: justify;
		line-height: 1.42;
		margin-bottom: 2rem;
	}
	.about .cont .inner .txt p a:hover {
		opacity: .7;
	}
	/*モーダル*/
	.modal {
		width: 140rem;
		height: 66rem;
		padding: 6rem;
	}
	.modal-close {
		top: max(-70px ,-3vw);
		width: min(80px ,3vw);
		height: min(80px ,3vw);
		cursor: pointer;
	}
	.modal-close span {
		bottom: 1.4vw;
	}
	.modal .box {
		height: 100%;
	}
	.modal .box h3 {
		font-size: 2.8rem;
		line-height: 1.3;
		margin-bottom: 1.8rem;
	}
	.modal .item-list {
		justify-content: space-between;
	}
	.modal .item-list .item {
		width: calc((100% - 6rem) / 4);
	}
	.modal .item-list .item .image a:hover{
		opacity: .8;
	}
	.modal .item-list .item .image{
		border: 1px solid #c9c9c9;
	}
	.modal .item-list .item .btn{
		width: 100%;
		margin-top: 1.5rem;
	}
	.modal .item-list .item .btn a{
		padding: 1.7rem 2rem 1.5rem;
		font-size: 1.6rem;
		justify-content: space-between;
		display: flex;
	}
	.modal .item-list .item .btn a::after{
		display: none;
	}
	.modal .item-list .item .btn a span::before,
	.modal .item-list .item .btn a span::after{
		display: none;
	}
	.modal .item-list .item .btn a .icon {
		width: 1.5rem;
		height: 1.5rem;
		display: inline-block;
		background: url(../img/icon_blank_w.svg) no-repeat 100% / contain;
		margin-left: .5rem;
		transition: all .3s ease 0s;
	}
	.modal .item-list .item .btn a:hover .icon{
		background: url(../img/icon_blank_blue.svg) no-repeat 100% / contain;
	}

	.about .cont .inner .img {
		width: 36rem;
		flex: 1;
		max-width: 36rem;
		margin-top: -3rem;
	}
	.about .cont .inner .img img {
		width: 100%;
	}
	/*こんな方を募集しています！*/
	section.about .cont .looking .ttl h3 {
		letter-spacing: 0em;
	}
	.about .cont .inner .looking .box {
		padding: 4rem 6rem;
		text-align: center;
	}
	.about .cont .inner .looking .box .fuki {
		font-size: 2.8rem;
		font-weight: 500;
		line-height: 1;
		margin-bottom: 2.2rem;
	}
	.about .cont .inner .looking .box .fuki::before {
		width: 1.6rem;
		height: 2.3rem;
		background: url(../img/ashi_midashi.svg) no-repeat 100%/contain;
		margin-right: 3rem;
	}
	.about .cont .inner .looking .box .fuki::after {
		width: 1.6rem;
		height: 2.3rem;
		background: url(../img/ashi_midashi.svg) no-repeat 100%/contain;
		margin-left:  3rem;
		transform: scale(-1, 1);
	}
	.about .cont .inner .looking .box .fuki .ef {
		font-size: 3.6rem;
	}
	.about .cont .inner .looking .box h4 {
		font-size: 4.8rem;
		line-height: 1.2;
		margin-bottom: 3rem;
	}
	.about .cont .inner .looking .box ul {
		justify-content: center;
		gap: 0 4rem;
		font-size: 2.4rem;
		color: var(--txtcolor);
		line-height: 1;
		margin-left: 0.6rem;
	}
	.about .cont .inner .looking .box ul li::before {
		width: 1rem;
		height: 1rem;
		background: var(--accentcolor);
		border-radius: 50vw;
		vertical-align: 0.5rem;
		margin-right: 1.4rem;
	}
	.about .cont .inner .looking .box ul li .tume{
		letter-spacing: 0;
	}
	.about .cont .inner .looking .box .ashi1 {
		position: absolute;
		top: -6rem;
		right: -1rem;
		width: 28.6rem;
	}
	.about .cont .inner .looking .box .ashi2 {
		position: absolute;
		bottom: 8.4rem;
		left: -1.4rem;
		width: 19.7rem;
	}

	/* 資料提供 */
	.about .cont .inner .bottom.btn {
		width: 54rem;
		margin: 4rem 0 0 0;
	}
	.about .cont .inner .bottom.btn a {
		padding: 3rem 3rem 2.8rem;
		font-size: 2.6rem;
		letter-spacing: .1em;
	}
	.about .cont .inner .bottom.btn a::after {
		width: 8.6rem;
	}
	.about .cont .inner .bottom.btn a:hover {
		color: var(--inccolor);
	}
	.about .cont .inner .bottom.btn a span::before {
		right: 2.7rem;
		width: 3.4rem;
	}
	.about .cont .inner .bottom.btn a span::after {
		right: 2.6rem;
		width: 1rem;
		height: 1rem;
	}
}


/*--------sp--------*/
@media screen and (max-width:767px) {
	main section {
		margin: 0 4.5% 10.667vw;
		overflow: hidden;
	}
	.about .ttl-area {
		flex-direction: column;
		margin-bottom: 4vw;
		position: relative;
		z-index: 1;
	}
	.about .ttl-area .ef {
		font-size: 26.667vw;
		color: var(--accentcolor);
		letter-spacing: -.02em;
		line-height: .82;
		margin-bottom: 4vw;
	}
	.about .ttl-area h2 {
		font-size: 5.6vw;
		font-weight: 500;
		color: var(--inccolor);
		letter-spacing: .12em;
		line-height: 1;
	}
	.about .cont {
		background: #aeeaf2 url(../img/bg_about.png) no-repeat right -26% top;
		background-size: 36vw auto;
		position: relative;
	}
	section .cont {
		border-radius: 18px;
		padding: 12vw 4vw 9.333vw;
	}
	.about .cont .inner .top-cont {
		display: block;
	}
	.about .cont .inner .txt {
		margin-bottom: 9.667vw;
	}
	.about .cont .inner .txt p a{
		letter-spacing: 0;
	}
	section .cont .ttl {
		line-height: 1;
		margin-bottom: 3.667vw;
	}
	section .cont .ttl .ef {
		font-size: 4.54vw;
		margin-bottom: 2vw;
	}
	section .cont .ttl h3 {
		font-size: 7.2vw;
	}
	.about .cont .inner .top-cont .txt p {
		text-align: justify;
		margin-bottom: 2.667vw;
		letter-spacing: -.01em;
	}
	/*モーダル*/
	.modal {
		width: 91%;
		height: min(150vw,80vh);        
		top: 5.33vw;
	}
		
	.modal .box {
		overflow-y: scroll;
	}
	.modal-close {
		top: -10vw;
		width: 10vw;
		height: 10vw;
	}
	.modal-close span {
		bottom: 4vw;
	}
	.modal .box {
		height: 100%;
	}
	.modal .box h3 {
		font-size: 4.8vw;
		margin-bottom: 4.5%;
		line-height: 1.5;
	}
	.modal .item-list {
		flex-direction: column;
	}
	.modal .item-list .item {
		width: 100%;
		padding-bottom: 6%;
		margin-bottom: 6%;
		border-bottom: 1px solid #c9c9c9;
	}
	.modal .item-list .item:last-child{
		border-bottom: none;
	}

	.modal .item-list .item .image{
		border: 1px solid #c9c9c9;
	}
	.modal .item-list .item .btn{
		width: 100%;
		margin-top: 3vw;
	}
	.modal .item-list .item .btn a{
		justify-content: space-between;
		display: flex;
	}
	.modal .item-list .item .btn a::after{
		display: none;
	}
	.modal .item-list .item .btn a span::before,
	.modal .item-list .item .btn a span::after{
		display: none;
	}
	.modal .item-list .item .btn a .icon {
		width: 4vw;
		height: 4vw;
		display: inline-block;
		background: url(../img/icon_blank_w.svg) no-repeat 100% / contain;
		margin-left: .5rem;
		transition: all .3s ease 0s;
	}



	.about .cont .inner .top-cont .img {
		position: absolute;
		top: -4vw;
		right: 2.133vw;
		width: 29.667vw;
	}
	.about .cont .inner .top-cont .img img {
		width: 100%;
	}
	.about .cont .inner .looking .ttl h3 {
		line-height: 1.26;
	}
	.about .cont .inner .looking .box {
		padding: 6.4vw 4vw 11vw;
	}
	.about .cont .inner .looking .box .fuki {
		font-weight: 500;
		line-height: 1;
		margin-bottom: 2.667vw;
	}
	.about .cont .inner .looking .box .fuki .ef {
		font-size: 5.6vw;
	}
	.about .cont .inner .looking .box .fuki::before {
		width: 2.667vw;
		height: 3.467vw;
		background: url(../img/ashi_midashi.svg) no-repeat 100% / contain;
		margin-right: 4vw;
	}
	.about .cont .inner .looking .box .fuki::after {
		width: 2.667vw;
		height: 3.467vw;
		background: url(../img/ashi_midashi.svg) no-repeat 100% / contain;
		margin-left: 4vw;
		transform: scale(-1, 1);
	}
	.about .cont .inner .looking .box h4 {
		font-size: 6.133vw;
		text-align: center;
		line-height: 1.39;
		margin-bottom: 5.333vw;
	}
	.about .cont .inner .looking .box h4 span {
		letter-spacing: -.6em;
	}
	.about .cont .inner .looking .box ul {
		flex-direction: column;
		color: var(--txtcolor);
		line-height: 1.38;
	}
	.about .cont .inner .looking .box ul li {
		display: flex;
		letter-spacing: 0;
	}
	.about .cont .inner .looking .box ul li:first-child {
		margin-bottom: 2vw;
	}
	.about .cont .inner .looking .box ul li::before {
		width: 2vw;
		height: 2vw;
		background: var(--accentcolor);
		border-radius: 50vw;
		margin-top: 1.5vw;
	}
	.about .cont .inner .looking .box ul li span {
		flex: 1;
		margin-left: 2vw;
	}
	.about .cont .inner .looking .box ul li span.tume{
		letter-spacing: -.1em;
		margin-left: -0.4rem;
	}
	.about .cont .inner .looking .box .ashi1 {
		position: absolute;
		top: -27.667vw;
		right: -16vw;
		width: 37.733vw;
	}
	.about .cont .inner .looking .box .ashi2 {
		position: absolute;
		bottom: -2.667vw;
		right: -4vw;
		width: 22.133vw;
	}
	.about .cont .inner .bottom.btn{
		margin-top: 4vw;
	}
}

/*------------------------
謝礼
------------------------*/
/*--------共通--------*/

section:not(.about) .ttl-area {
	display: block;
	text-align: center;
	line-height: .82;
	letter-spacing: -.02em;
}
.incentive .ttl-area {
	color: var(--inccolor);
	position: relative;
	z-index: 1;
}
.incentive .cont {
	background: #fecbd8;
	position: relative;
	overflow: hidden;
}
.incentive .cont .inner {
	position: relative;
	z-index: 1;
}
.incentive .cont .inner h2 {
	color: var(--inctxt);
	letter-spacing: 0;
}
.incentive .cont .inner .ttl .ef {
	color: var(--inccolor);
}
.incentive .cont .inner .ttl h3 {
	color: var(--inctxt);
	letter-spacing: -.04em;
}
.incentive .cont .inner .txt p {
	font-weight: 500;
	color: var(--inctxt);
}
.incentive .cont .inner .txt .caution {
	color: var(--inctxt);
	letter-spacing: .01em;
}
.incentive .cont .inner .txt .caution::before {
	content: '※';
	display: inline-block;
}
.incentive .cont .ashi01 {
	position: absolute;
	top: 0;
}
.incentive .cont .ashi02 {
	position: absolute;
	top: 0;
}
.incentive .cont .ashi03 {
	position: absolute;
}
.incentive .cont .ashi04 {
	position: absolute;
	bottom: 0;
}
.incentive .cont .ashi05 {
	position: absolute;
	bottom: 0;
}
/*--------pc--------*/
@media screen and (min-width:768px) {
	/* 共通 */
	
	section:not(.about,.flow) .cont {
		margin-top: -4.8rem;
	}
	section:not(.about) .ttl-area {
		font-size: 22.4rem;
	}
	
	.incentive .cont .inner h2 {
		font-size: 6rem;
		margin-bottom: 3rem;
		text-align: center;
		font-weight: 500;
	}
	
	main section.incentive .ttl-area{
		letter-spacing: -.04em;
	}
	main section.incentive .cont{
		padding: 11rem 6rem 5rem;
	}
	.incentive .cont .inner .top-cont {
		justify-content: space-between;
	}
	.incentive .cont .inner .ttl {
		margin-bottom: 2rem;
	}
	.incentive .cont .inner .txt p {
		font-size: 2.4rem;
		text-align: justify;
		line-height: 1.62;
		margin-bottom: 2rem;
		letter-spacing: 0;
	}
	.incentive .cont .inner .txt .caution {
		line-height: 1;
		margin-bottom: 4rem;
		font-size: 1.6rem;
	}

	.incentive .cont .btn{
		width: 54rem;
	}
	.incentive .cont .btn a{
		padding: 3rem 3rem 2.8rem;
		font-size: 2.6rem;
		letter-spacing: .1em;
	}
	.incentive .cont .btn a::after{
		width: 8.6rem;
	}
	.incentive .cont .btn a span::before {
		right: 2.7rem;
		width: 3.4rem;
	}
	.incentive .cont .btn a span::after {
		right: 2.6rem;
		width: 1rem;
		height: 1rem;
	}

	.incentive .cont .ashi01 {
		left: 10%;
	}
	.incentive .cont .ashi02 {
		right: 0;
	}
	.incentive .cont .ashi03 {
		bottom: 0;
		left: 0;
	}
	.incentive .cont .ashi04 {
		left: 30%;
	}
	.incentive .cont .ashi05 {
		right: 0;
	}
	.incentive .cont .bounce{
		width: 49rem;
		margin-left: 2rem;
		margin-top: -3rem;
	}
}
/*--------sp--------*/
@media screen and (max-width:767px) {
	/* 共通 */
	section:not(.about) .cont h2 {
		margin-bottom: 6.133vw;
	}

	.incentive .ttl-area {
		font-size: 21.333vw;
		margin-bottom: -6vw;
	}
	.incentive .cont .inner h2 {
		font-size: 7.47vw;
		line-height: 1.3;
		text-align: center;
		font-weight: 500;
	}
	.incentive .cont .inner .top-cont {
		display: block;
		position: relative;
	}
	.incentive .cont .inner .ttl h3 {
		line-height: 1.1;
	}
	.incentive .cont .inner .txt p {
		font-size: 4.8vw;
		line-height: 1.3;
		letter-spacing: 0;
		margin-bottom: 2vw;
	}
	.incentive .cont .inner .txt p .tume{
		letter-spacing: -1em;
	}
	.incentive .cont .inner .txt .caution {
		font-size: 3.74vw;
		margin-bottom: 4vw;
		line-height: 1.3;
	}
	.incentive .cont .inner .top-cont .img {
		position: absolute;
		top: -8vw;
		right: -4vw;
		width: 31.267vw;
	}
	.incentive .cont .ashi01 {
		top: 0;
		left: 0;
		width: 30vw;
	}
	.incentive .cont .ashi02 {
		right: -12%;
		width: 36vw;
	}
	.incentive .cont .ashi03 {
		bottom: 50vw;
		left: -8vw;
		width: 34vw;
	}
	.incentive .cont .ashi04 {
		left: 2%;
		width: 41vw;
	}
	.incentive .cont .ashi05 {
		right: -5vw;
		width: 31vw;
	}
}
/*------------------------

------------------------*/





/*------------------------
FLOW
------------------------*/
.entry .cont h2 {
	font-weight: 500;
	text-align: center;
	line-height: 1;
	letter-spacing: .075em;
}
/*--------共通--------*/
.anima {
}
.flow .cont .inner {
	position: relative;
	z-index: 1;
}
.flow .item {
	background: var(--mygray);
}
.flow .item {
	position: relative;
}
.flow .item::before ,
.flow .item::after {
	content: '';
	position: absolute;
}
.flow .item .head-area .icn {
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--accentcolor);
	border-radius: 50vw;
}
.flow .item.step4 .head-area .icn {
	position: relative;
}
.flow .item.step4 .head-area .icn::before ,
.flow .item.step4 .head-area .icn::after {
	content: '';
	position: absolute;
	background: url(../img/ashi_kira.svg) no-repeat 100%/contain;
}
.flow .item .head-area .icn img {
	width: 50%;
}
.flow .item.step3 .head-area .icn img {
	width: 54%;
}
.flow .item.step4 .head-area .icn img {
	width: 30%;
}
.flow .item .head-area .txt {
	flex: 1;
}
.flow .item .head-area .txt .ef {
	display: block;
	color: var(--accentcolor);
	font-weight: 500;
	line-height: 1;
}
.flow .item .head-area .txt h3 {
	color: var(--inccolor);
	font-weight: 500;
	line-height: 1;
}
.flow .item p {
	font-weight: 500;
	color: var(--accentcolor);
	text-align: justify;
}
.flow .item p a{
	color: var(--accentcolor);
	text-decoration: underline;
	font-weight: 500;
}
/*マスクアニメーション*/
.anima .svg-anima {
	position: absolute;
}
.anima #mask-rect {
	animation: revealAnimation 2.5s ease-in-out 0s infinite;
	will-change: transform;
}
@keyframes revealAnimation {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(100%);
	}
}
/*--------pc--------*/
@media screen and (min-width:768px) {
	
.entry .cont .inner h2 {
	font-size: 4.2rem;
	color: #fff;
	margin-bottom: 3rem;
}

	main .flow {
		margin: 0 3rem 5rem;
	}
	.flow .anima {
		margin-top: -4.8rem;
	}
	.flow .item {
		align-items: center;
		padding: 1.6rem 0;
		border-radius: 12px;
		overflow: hidden;
	}
	.flow .item:not(:last-of-type) {
		margin-bottom: 2rem;
	}
	.flow .item .head-area {
		width: 59.9rem;
		padding: 2rem 4rem;
		align-items: center;
		background-image : linear-gradient(to top, var(--accentcolor), var(--accentcolor) .8rem, transparent .8rem, transparent .8rem);
		background-size: .3rem 1.5rem;
		background-position: right bottom;
		background-repeat: repeat-y;
	}
	.flow .item::before {
		top: -2.5rem;
		left: 57.5rem;
		width: 4.2rem;
		height: 4.2rem;
		background: var(--accentcolor);
		border-radius: 50%;
	}
	.flow .item::after {
		bottom: -2.5rem;
		left: 57.5rem;
		width: 4.2rem;
		height: 4.2rem;
		background: var(--accentcolor);
		border-radius: 50%;
	}
	.flow .item .head-area .icn {
		width: 8rem;
		height: 8rem;
		margin-right: 1.5rem;
	}
	.flow .item.step4 .head-area .icn::before {
		top: -2rem;
		left: -0.3rem;
		width: 4rem;
		height: 4.8rem;
	}
	.flow .item.step4 .head-area .icn::after {
		bottom: .1rem;
		right: -1.6rem;
		width: 2.8rem;
		height: 3.3rem;
	}	
	.flow .item .head-area .icn img {
		width: 50%;
	}
	.flow .item.step3 .head-area .icn img {
		width: 54%;
	}
	.flow .item.step4 .head-area .icn img {
		width: 30%;
	}
	.flow .item .head-area .txt .ef {
		font-size: 3rem;
		margin-bottom: 1.2rem;
	}
	.flow .item .head-area .txt h3 {
		font-size: 3rem;
	}
	.flow .item p {
		flex: 1;
		padding: 2.5rem 3rem 1.5rem;
		font-size: 2rem;
	}
	.flow .item p a:hover{
		opacity: .8;
	}
	.flow .anima .svg-anima {
		left: -2%;
		top: 50%;
		transform: translateY(-50%);
		width: 104%;
		height: auto;
	}
}

/*--------sp--------*/
@media screen and (max-width:767px) {
	.flow .ttl-area {
		width: 54.4vw;
		margin: auto;
	}
	.entry .cont .inner h2{
		font-size: 5.6vw;
		color: #fff;
		margin-bottom: 4vw;
	}
	.flow {
		margin-bottom: 4vw;
	}
	.flow .item:not(:last-of-type) {
		margin-bottom: 4vw;
	}
	.flow .item {
		flex-direction: column;
		width: 100%;
		border-radius: 18px;
	}
	.flow .item::before {
		content: '';
		position: absolute;
		left: 0;
		top: 16vw;
		width: 3.2vw;
		height: 6.4vw;
		border-radius: 0 3.2vw 3.2vw 0;
		background: var(--accentcolor);
	}
	.flow .item::after {
		content: '';
		position: absolute;
		right: 0;
		top: 16vw;
		width: 3.2vw;
		height: 6.4vw;
		border-radius: 3.2vw 0 0 3.2vw;
		background: var(--accentcolor);
	}
	.flow .item .head-area {
		width: 100%;
		padding: 4.5%;
		align-items: center;
		background-image: linear-gradient(to right, var(--accentcolor) 6px, transparent 6px);
		background-size: 12px 2px;
		background-position: right bottom;
		background-repeat: repeat-x;
	}
	.flow .item .head-area .icn {
		width: 12vw;
		height: 12vw;
		margin-right: 2.67vw;
	}
	.flow .item .head-area .txt .ef {
		font-size: 4vw;
		margin-bottom: 1.6vw;
	}
	.flow .item .head-area .txt h3 {
		font-size: 5.34vw;
	}
	.flow .item p {
		padding: 4.5% 4.5% 5%;
		font-size: 4vw;
		letter-spacing: -.01em;
	}
	.flow .item p span {
		letter-spacing: -1em;
	}
}





/*--------共通--------*/

/*--------pc--------*/
@media screen and (min-width:768px) {
}
/*--------sp--------*/
@media screen and (max-width:767px) {
}

