@charset "utf-8";

/* index */

.fixed-background{
	position: fixed;
	background: url(../img/index/bg.webp) no-repeat top center /cover;
	width: 100%;
	height: 100%;
	z-index: -100;
}

.kv{
	position: relative;
}

.kv .visual{
	padding-top: 30px;
}
.kv .visual .box{
	padding-top: 2.13vw;
	transform: scale(0);
}
.kv .visual .hand{
	width: 15.56vw;
	height: 18.06vw;
	position: absolute;
	top: 8.13vw;
	left: -15.56vw;
	background: url(../img/index/kv_item_08.png) no-repeat top left / contain;
}
.kv .visual .v_main-title{
	width: 67.19vw;
	margin: 0 auto;
}
.kv .visual .v_sub-title {
	position: relative;
	margin: 0 auto;
	width: 100vw;
	padding-bottom: 4.38vw;
}
.kv .visual .v_sub-title .sub__item2 {
	width: 68vw;
	margin: 10px auto;
}
.kv .visual .v_sub-title img{
	display: block;
}
.kv .visual .v_sub-title .sub__item1{
	position: absolute;
	bottom: 0;
	width: 28vw;
}
.kv .visual .v_sub-title .sub__item3{
	position: absolute;
	bottom: 0;
	width: 22vw;
}
.kv .visual .v_sub-title .sub__item1{
	left: 0vw;
}
.kv .visual .v_sub-title .sub__item3{
	right: 0vw;
}

/* section common */
.dot{
  background-size: 20px 20px;
  background-position: 0 0, 10px 10px;
}
.sec{
	/* border-radius: 20px; */
	background: #fff;
}
.sec1 {
	margin: -200px auto 0;
	background: url(../img/index/sec01_bg.webp) no-repeat top center /cover;
	position: relative;
	z-index: 3;
}
.sec1 .content .wrap {
    padding-top: 230px;
}

.sec h2{
	text-align: center;
	margin-bottom: 20px;
}
.sec .box ul.list li {
	margin-top: 7px;
	font-weight: 500;
	padding-left: 18px;
	position: relative;
	text-align: justify;
}
.c__notes{
	text-align: justify;
	font-size: 13px;
	line-height: 1.53;
	display: block;
}
.indent{
	text-indent: -13px;
	padding-left: 13px;
}
.caution{
	color: #C30D23;
}

/* sec1 */

.box1 h3 {
    margin-bottom: 20px;
}
.box1 p {
	color: #fff;
    font-size: 1.6rem;
    line-height: 1.8;
    letter-spacing: 0.1em;
    font-feature-settings: "palt";
    margin-bottom: 10px;
}
.box1 .flexB {
    gap: 10px;
}
.sec1 .box1 ul {
    width: 80%;
    margin: 0 auto 30px;
	gap: 16px;
}
.mycard__img {
    width: 60%;
}
.mycard__list {
    width: calc(40% - 10px);
}

.sec1 .box1 ul{
	display: flex;
	gap: 24px;
}
.sec1 .box1 .caution{
	font-size: 15px;
	font-weight: 500;
}
.sec1 .box1 .wrap{
	margin-top: 10px;
	padding-top: 260px;
}
.sec1 .box3 {
	padding-top: 30px !important;
}
.sec1 .box3 h3 {
	background: #EDEDED;
	text-align: center;
	display: block;
	padding: 10px;
	margin-bottom: 12px;
}

.sec1 .box3 ul.list li::before {
	content: "";
	width: 15px;
	height: 15px;
	background: #F1B39B;
	border-radius: 100vh;
	position: absolute;
	top: 4px;
	left: 0;
}

.sec2 .box {
	margin: 0 auto;
	padding: 80px 0;
	background: url(../img/index/sec02_bg.webp) no-repeat top center /cover;
	position: relative;
	z-index: 5;
}
.stepBox h3 {
    margin-bottom: 8px;
}
.stepBox .desc {
    font-size: 1.8rem;
    margin-bottom: 8px;
	line-height: 1.4;
}
.stepBox .desc span {
	font-size: 1.2rem;
    display: block;
	margin-top: 8px;
}
.flexB.stepBox {
	gap: 20px;
}
.flexB.stepBox h2 {
    width: 30%;
}
.flexB.stepBox h2 {
    width: 30%;
}
.stepBox_1 {
	width: calc(70% - 20px);
}
.list {
    width: calc((100% - 60px) / 4);
}

.sec2 .box ul.list li::before {
	content: "■";
	width: 15px;
	height: 15px;
	position: absolute;
	top: 0;
	left: 0;
}

.sec3 .box {
    padding: 80px 0;
}
.sec3 .title {
	width: 30%;
	margin-bottom: 60px;
}
.sec3 .register {
	margin: 0 auto;
	padding: 10px 30px;
	height: 300px;
	border-radius: 20px;
	background: url(../img/index/sec03_bg.webp) no-repeat top center /cover;
	position: relative;
	z-index: 5;
}
.register .flexB {
    gap: 20px;
}
.step_item {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px;
}
.register div .step_item {
    width: calc((100% - 20px) / 2);
}
.step_title {
    width: 30%;
    margin-bottom: 20px;
}
.step_desc p {
    font-size: 1.4rem;
	margin-bottom: 20px;
}
.step_left {
    width: 45%;
    margin-top: 30px;
}
.step_img {
    width: calc(55% - 10px);
    height: 300px;
}
.step_img img {
    position: absolute;
	width: 240px;
    bottom: -30px;
}


@media (min-width:961px) {

/* ----------------------------------------------
 * Generated by Animista on 2023-9-19 11:58:4
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation ping
 * ----------------------------------------
 */

@keyframes ping {
  0% {
			transform: scale(1,1);
    opacity: 0.8;

  }
  80% {
		transform: scale(1.1,1.5);
    opacity: 0;

  }
  100% {
		transform: scale(1.2,2);
    opacity: 0;

  }
}
}

.sec5 {
    background: #F2F5F7;
    padding: 40px 0;
}
.sec5 h3 {
    border-bottom: 1px solid;
    padding-bottom: 8px;
    margin-bottom: 8px;
}
.sec5 p {
	font-size: 1.3rem;
    line-height: 1.6;
}

@media all and (max-width: 960px) {

	.fixed-background{
		background: url(../img/index/sp_bg.webp) no-repeat top center;
		top: 63px;
	}
	.kv::before, .kv::after{
		width: 34.13vw;
		height: 18.13vw;
	}

	.kv::before{
		background: url(../img/index/sp_kv_item_06.png) no-repeat top left / contain;
	}
	.kv::after{
		background: url(../img/index/sp_kv_item_07.png) no-repeat top right / contain;
	}


	.kv .visual .v_main-title{
		width: 94.13%;
	}
	.kv .visual .v_sub-title{
		width: 100%;
		margin-top: 3.2vw;
		padding-bottom: 0;
	}

	.kv .visual .v_sub-title .sub__item1{
		width: 44vw;
		bottom: -33vw;
	}
	.kv .visual .v_sub-title .sub__item2 {
		width: 100%;
		margin: 10px auto;
	}
	.kv .visual .v_sub-title .sub__item3{
		width: 38vw;
		bottom: -34vw;
	}
	.kv .visual .v_sub-title .sub__item1{
		left: -4vw;
	}
	.kv .visual .v_sub-title .sub__item3{
		right: -4vw;
	}

	.kv .visual .v_sub-title .period{
		position: relative;
		width: 88.27vw;
		margin-top: 7.47vw;
	}
	.kv .intro{
		padding-top: 5.07vw;
		padding-bottom: 8vw;
	}
	.kv .intro p{
		font-size: 3.47vw;
	}
	.kv .visual .box{
		padding-top: 1vw;
	}
	.kv .visual .hand{
		width: 20.8vw;
		height: 23.47vw;
		top: 5.47vw;
		left: -20.8vw;
	}

	.sec1 {
		margin: -20vw auto 0;
		background: url(../img/index/sp_sec01_bg.webp) no-repeat top center / cover;
	}
	.sec1 .box {
		padding: 130px 0 80px;
	}
	.sec1 .box1 .wrap {
		margin-top: 10px;
		padding-top: 0;
	}
	.sec1 .box1 .flexB {
		gap: 0;
	}
	.sec1 .mycard__img {
		width: 100%;
	}
	.sec1 .mycard__list {
		width: 100%;
	}
	.sec1 .box1 ul{
		flex-direction: column;
		gap: 10px;
	}
	.sec1 .box1 ul li img{
		width: 100%;
	}
	.sec1 .box2 .gift-title{
		width: 94.67vw;
		margin-left: auto;
		margin-right: auto;
	}

	.sec2 .box {
		margin: 0 auto;
		padding: 80px 0;
		background: url(../img/index/sp_sec02_bg.webp) no-repeat top center / cover;
	}
	.sec2 .flexB.stepBox h2 {
		width: 100%;
	}
	.sec2 .stepBox_1 {
		width: 100%;
	}
	.sec2 .list {
		width: 100%;
		display: flex;
        justify-content: center;
        flex-direction: column;
		align-items: center;
	}
	.sec2 .stepBox .desc {
		margin-bottom: 18px;
	}
	.sec2 .stepBox .step_phoneImg {
		width: 70%;
		margin: auto;
	}

	.sec3 .title {
		width: 100%;
		margin-bottom: 35px;
	}
	.sec3 .title div {
		width: 75%;
		margin: auto;
	}
	.sec3 .register {
		margin: 0 auto;
		padding: 10px 30px 60px;
		height: unset;
		border-radius: 20px;
		background: url(../img/index/sp_sec03_bg.webp) no-repeat top center / cover;
		position: relative;
		z-index: 5;
	}
	.register .flexB {
		gap: 0;
	}
	.register div .step_item {
		width: 100%;
		gap: 0;
	}
	.step_left {
		width: 100%;
		margin-top: 30px;
		display: flex;
    	gap: 20px;
	}
	.step_title {
		width: 140px;
	}
	.step_img {
		width: 100%;
		height: auto;
	}
	.step_img img {
		position: relative;
		display: block;
		width: 80%;
		margin: 0 auto;
		bottom: 0;
	}
	a.step_link {
		margin-top: 30px;
	}
	.download {
		padding: 17px 31px;
		background: url(../img/index/download_bg.webp) no-repeat center center / cover;
	}
	.download .title {
        margin-bottom: 7px;
    }
	.download ul {
        margin: 0 auto;
        max-width: 313px;
        justify-content: space-between;
    }
	.download li {
        margin: 0;
        width: 47.6%;
    }
}


/* ----------------------------------------------
 * Generated by Animista on 2023-5-24 12:14:36
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/* ウィンドウ外 */
.invisible{
  opacity: 0;
}

/**
 * ----------------------------------------
 * animation scale-in-center
 * ----------------------------------------
 */
.scale-in-center.visible {
    -webkit-animation: scale-in-center 0.4s cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.3s both;
            animation: scale-in-center 0.4s cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.3s both;
  }

  @-webkit-keyframes scale-in-center {
    0% {
      -webkit-transform: scale(0);
              transform: scale(0);
      opacity: 1;
    }
    100% {
      -webkit-transform: scale(1);
              transform: scale(1);
      opacity: 1;
    }
  }
  @keyframes scale-in-center {
    0% {
      -webkit-transform: scale(0);
              transform: scale(0);
      opacity: 1;
    }
    100% {
      -webkit-transform: scale(1);
              transform: scale(1);
      opacity: 1;
    }
  }

/**
 * ----------------------------------------
 * animation fade-in-bottom
 * ----------------------------------------
 */

 .fade-in-bottom.visible {
	-webkit-animation: fade-in-bottom 0.6s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
	        animation: fade-in-bottom 0.6s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
}

@media(min-width:961px){
	.sec4 .point li:nth-of-type(1) .item-phone.fade-in-bottom.visible {
		-webkit-animation-delay: 0s;
		animation-delay: 0s;
	}
	.sec4 .point li:nth-of-type(2) .item-phone.fade-in-bottom.visible {
		-webkit-animation-delay: 1s;
		animation-delay: 1s;
	}
	.sec4 .point li:nth-of-type(3) .item-phone.fade-in-bottom.visible {
		-webkit-animation-delay: 2s;
		animation-delay: 2s;
	}
}
@media(max-width:960px){
	.sec4 .point li .item-phone.fade-in-bottom.visible {
		-webkit-animation-delay: 0s;
		animation-delay: 0s;
	}
}

 @-webkit-keyframes fade-in-bottom {
  0% {
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@keyframes fade-in-bottom {
  0% {
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

/* ----------------------------------------------
 * Generated by Animista on 2023-9-19 11:24:40
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation fade-in-left
 * ----------------------------------------
 */
 .fade-in-left.visible {
	-webkit-animation: fade-in-left 0.6s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
	        animation: fade-in-left 0.6s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
}

@media(min-width:961px){
	.sec4 .point li:nth-of-type(1) .text.fade-in-left.visible {
		-webkit-animation-delay: 0.5s;
		animation-delay: 0.5s;
	}
	.sec4 .point li:nth-of-type(2) .text.fade-in-left.visible {
		-webkit-animation-delay: 1.5s;
		animation-delay: 1.5s;
	}
	.sec4 .point li:nth-of-type(3) .text.fade-in-left.visible {
		-webkit-animation-delay: 2.5s;
		animation-delay: 2.5s;
	}
}
@media(max-width:960px){
	.sec4 .point li .text.fade-in-left.visible {
		-webkit-animation-delay: 0.5s;
		animation-delay: 0.5s;
	}
}

 @-webkit-keyframes fade-in-left {
  0% {
    -webkit-transform: translateX(-50px);
            transform: translateX(-50px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}
@keyframes fade-in-left {
  0% {
    -webkit-transform: translateX(-50px);
            transform: translateX(-50px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}



.furifuri.visible {
	-webkit-animation: leftin 0.3s normal both linear 0.8s, furifuri 1s 2 forwards ease-in-out 1.2s;
	animation: leftin 0.3s normal both linear 0.8s, furifuri 1s 2 forwards ease-in-out 1.2s;
	-webkit-transform-origin: left bottom;
	        transform-origin: left bottom;
}
@media (min-width: 961px){
	@-webkit-keyframes leftin {
		0%{
			left: -15.56vw;
		}
		100%{
			left: 0;
		}
	}
@keyframes leftin {
		0%{
			left: -15.56vw;
		}
		100%{
			left: 0;
		}
	}
}

@media (max-width: 960px){
	@-webkit-keyframes leftin {
		0%{
			left: -20.8vw;
		}
		100%{
			left: 0;
		}
	}
@keyframes leftin {
		0%{
			left: -20.8vw;
		}
		100%{
			left: 0;
		}
	}
}

@-webkit-keyframes furifuri {
	0%{
		-webkit-transform: rotate(0);
		        transform: rotate(0);
	}
	50%{
		-webkit-transform: rotate(-7deg);
		        transform: rotate(-7deg);
	}
	100%{
		-webkit-transform: rotate(0);
		        transform: rotate(0);
	}
}
@keyframes furifuri {
	0%{
		-webkit-transform: rotate(0);
		        transform: rotate(0);
	}
	50%{
		-webkit-transform: rotate(-7deg);
		        transform: rotate(-7deg);
	}
	100%{
		-webkit-transform: rotate(0);
		        transform: rotate(0);
	}
}


/* ワッショイ */
.wassyoi.visible {

	-webkit-animation: wassyoi 0.5s alternate infinite ease-in-out;
        animation: wassyoi 0.5s alternate infinite ease-in-out;
}

@keyframes wassyoi {
  0% {
		-webkit-transform: translateY(0.63vw);
		        transform: translateY(0.63vw);
	}
  90% {
		-webkit-transform: translateY(-0.25vw);
		        transform: translateY(-0.25vw);
  }
  100% {
		-webkit-transform: translateY(-0.25vw);
		        transform: translateY(-0.25vw);
  }
}