@charset "UTF-8";

/* 
----------------------------------------------------*/
body {
	background: #111111 url(../img/frame_sp.jpg) no-repeat fixed center 10em/contain;
}
@media (760px <= width) {
	body {
		background: url(../img/frame.jpg) no-repeat fixed center center/cover;
	}
}


/* ヘッダー
----------------------------------------------------*/
header {
  background-color: #fafcff;
  & .tagline {
    position: fixed;
    left: 0;
    width: 99.2vw;
    z-index: 99;
    background-color: rgb(250,252,255,0.4);
    & .innerWrap {
      max-width: 1520px;
      padding: 0.5em 40px;
      margin-inline: auto;
      display: flex;
      justify-content: space-between;
			align-items: center;
      & h1 {
        font-family: "Nova Mono", monospace;
        font-weight: 400;
        font-size: var(--fs-21-29);
				line-height: 1.4;
				text-align: center;
				 & span {
					display: block;
					background: #111;
					color: #fff;
					font-family: "Noto Serif JP", serif;
					font-weight: 500;
					font-size: var(--fs-10-12);
					text-align: center;
					line-height: 1.4;
					padding-block: 0.1em 0;
					padding-inline: 0.5em;
				}
      }
			@media (width < 760px) {
				padding: 5px 16px;
			}
    }
  }
  & .hero {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 90vh;
    min-height: 720px;
    overflow: hidden;
    position: relative;
		@media (width < 760px) {
			height: 100vh;
		}
    & span {
      display: block;
      text-align: center;
      font-family: "Noto Serif JP", serif;
      font-weight: 500;
      &.en {
        font-size: var(--fs-m-80);
      }
      &.ja {
        font-size: var(--fs-18-46);
        letter-spacing: 0.4em;
      }
    }
  }
}

.ctaButton {
  display: block;
  padding: 1.2vw 2vw 1.4vw;
	line-height: 1;
  border: 2px solid #111;
  border-radius: 5px;
  font-size: clamp(12px,calc(12px + (15 - 12) / (1648 - 360) * (100cqw - 360px)),15px);
	background-color: #111;
  color: #fff;
	&:hover {
		background-color: #fff;
		color: #111;
	}
	@media (760px <= width) {
		padding: 0.5vw 2vw 20px;
		background: hsla(0, 0%, 6.67%, 1) url(../img/arrow_w.svg) no-repeat center bottom 6px;
		background-size: 13px;
		&:hover {
			background: hsla(0, 0%, 100%, 1) url(../img/arrow.svg) no-repeat center bottom 6px;
			color: #111;
		}
	}
}

/* フッター
----------------------------------------------------*/
footer {
  background-color: var(--main-color);
  text-align: center;
  padding: 1em 1em;
  & .innerWrap {
    & p {
      color: #fff;
      & small {
        display: block;
        font-size: var(--fs-11-16);
        white-space: nowrap;
      }
    }
  }
}


/* 
----------------------------------------------------*/
.catchphrase {
	position: relative;
	z-index: 80;
	/* text-shadow:1px 1px 0 #efefef, -1px -1px 0 #efefef,
	-1px 1px 0 #efefef, 1px -1px 0 #efefef,
	0px 1px 0 #efefef,  0-1px 0 #efefef,
	-1px 0 0 #efefef, 1px 0 0 #efefef; */
	/* text-shadow: 0px 0px 6px #efefef; */

	& em {
		display: block;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    font-size: var(--fs-m-33);
    line-height: 1.6;
	}
}
.backgroundVideo {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 70;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	& video {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
		opacity: 55%;
	}
}


/* 
----------------------------------------------------*/
.blackback {
	background: #000 url(../img/bg_introduce.png) no-repeat center center/cover;
	color: #fff;
	padding-block: 3em;
	& .innerWrap {
		max-width: 1520px;
		padding-inline: 20px;
		margin-inline: auto;
		@media (760px <= width) {
			padding-inline: 40px;
		}
	}
}

/* 
----------------------------------------------------*/
.whySection {
	padding-bottom: 3em;
	& h2 {
		margin-bottom: 4.45em;
		font-family: "Noto Serif JP", serif;
		& span {
			display: block;
			&.ja {
				font-size: var(--fs-m-55);
				line-height: 1.5;
				margin-bottom: 0.18em;
			}
			&.en {
				font-size: var(--fs-14-20);
				color: #bbbbbb;
			}
		}
	}
	& .history {
		margin-bottom: 2em;
		position: relative;
		@media (760px <= width) {
			display: flex;
			justify-content: space-between;
		}
		& .character {
			flex-basis: 52%;
			& p {
				margin-bottom: 2em;
			}
			& > p {
				font-family: "Noto Serif JP", serif;
				font-size: var(--fs-13-30);
			}
		}
		& .picture {
			flex-basis: 38%;
			position: absolute;
			left: 48%;
			top: 0;
			@media (760px <= width) {
				position: relative;
				left: auto;
				top: auto;
			}
			& > p {
				position: absolute;
				&:nth-child(1) {
					width: 290px;
					left: 0;
					top: -100px;
					z-index: 60;
				}
				&:nth-child(2) {
					width: 272px;
					left: 210px;
					top: 80px;
					z-index: 40;
				}
				&:nth-child(3) {
					width: 298px;
					left: 0px;
					top: 280px;
					z-index: 60;
				}
				&:nth-child(4) {
					width: 323px;
					left: 156px;
					top: 500px;
					z-index: 60;
				}
				@media (width < 760px ) {
					&:nth-child(1) {
						width: 120px;
						left: 0;
						top: -30px;
						z-index: 60;
					}
					&:nth-child(2) {
						width: 120px;
						left: 62px;
						top: 48px;
						z-index: 40;
					}
					&:nth-child(3) {
						width: 136px;
						left: 0px;
						top: 130px;
						z-index: 60;
					}
					&:nth-child(4) {
						width: 128px;
						left: 52px;
						top: 210px;
						z-index: 60;
					}
				}
			}
		}
	}
}


/* 
----------------------------------------------------*/
.howSection {
	max-width: 960px;
	margin-inline: auto;
	padding-bottom: 5em;
	& h2 {
		text-align: center;
		font-family: "Noto Serif JP", serif;
		font-size: var(--fs-m-55);
		line-height: 1.5;
		margin-bottom: 1.4em;
	}
	& p {
		margin-bottom: 1em;
	}
	& .ripples {
		max-width: 732px;
		margin-inline: auto;
		margin-top: 4em;
	}
}

/**/


/* ripples */
.ripples {
	position: relative;
}
.ripples:before,
.ripples:after {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	border-radius: 50%;
	animation: ripples 10s infinite;
}

.ripples:before,
.ripples:after {
	content: "";
}

.ripples:before {
	animation-delay: 0.25s;
}

.ripples:after {
	animation-delay: 0.65s;
}

@keyframes ripples {
	0% {
		width: 100px;
		height: 100px;
		border: 4px solid rgba(255,255,255, 0.8);
	}
	
	100% {
		width: 400px;
		height: 400px;
		border: 2px solid rgba(255, 255, 255, 0);
	}
}

@media (760px <= width) {
	@keyframes ripples {
		0% {
			width: 200px;
			height: 200px;
			border: 4px solid rgba(255,255,255, 0.8);
		}
		
		100% {
			width: 800px;
			height: 800px;
			border: 2px solid rgba(255, 255, 255, 0);
		}
	}
}

/* 
----------------------------------------------------*/
.reasonSection {
	padding-top: 3em;
	padding-bottom: 3em;
	& h2 {
		font-family: "Noto Serif JP", serif;
		font-size: var(--fs-m-55);
		line-height: 1.5;
		margin-bottom: 3em;
		& span {
			display: block;
			&.ja.sentence {
				margin-block: 0.8em;
				font-size: var(--fs-16-24);
			}
			&.en {
				font-size: var(--fs-14-20);
				color: #bbbbbb;
			}
		}
	}

	& .comparisonSection {
		overflow: hidden;
		@media (760px <= width) {
			display: flex;
			justify-content: space-between;
			& > section {
				flex-basis: 48%;
			}
		}
		& > section {
			@media (width < 760px) {
				&:first-of-type {
					margin-bottom: 40px;
				}
			}
			& h3 {
				font-family: "Noto Serif JP", serif;
				font-size: var(--fs-18-30);
				text-align: center;
				margin-bottom: 2.1em;
			}
			& dl {
				& div {
					background-color: rgb(255,255,255,0.2);
					padding: 0.834em;
					&:not(:last-of-type) {
						margin-bottom: 1.667em;
					}
					& dt {
						font-family: "Noto Serif JP", serif;
						font-size: var(--fs-18-30);
						font-weight: 500;
						line-height: 1.5;
						margin-bottom: 0.3em;
					}
					& dd {
						font-size: var(--fs-12-19);

					}
				}
			}
		}
	}
}

.introductionSection {
	background-image: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 60%, rgba(255,255,255,0) 60.1%, rgba(255,255,255,0) 100%);
	padding-block: 16vh 48vh;
	& h2 {
		/* padding-block: 3.34em; */
		font-family: "Noto Serif JP", serif;
		font-size: var(--fs-19-55);
		font-weight: 600;
		line-height: 1.5;
		/* text-align: center; */
	}
}

/* 
----------------------------------------------------*/

/* .v1 {
	transform: translateY(-10px);
	opacity: 1;
	transition: transform 1.2s 0.6s ease, opacity 1.2s 0.6s ease;
}
.fp-viewing-1 .v1 {
	transform: translateY(0px);
	opacity: 1;
} */
body {
	overflow-y: hidden;
}
.container {
	overflow-x: hidden;
	height: 100vh;
	overflow-y: auto;
	scroll-snap-type: y mandatory;
	scroll-behavior: smooth;
}
.section-snap-always {
	scroll-snap-align: start;
	scroll-snap-stop: always;
}
.section-snap-normal {
	scroll-snap-align: start;
	scroll-snap-stop: normal;
}
.attentionArea {
	position: relative;
	height: 100vh;
	overflow: hidden;

	&::after {
		content: "";
		width: 100%;
		height: 100%;
		position: absolute;
		left: 0;
		top: 0;
		background-color: rgb(100,100,100,0.01);
		z-index: 85;
	}
}

/**/
.obi {
  display: inline-block;
	padding: 0.6em 0.8em;
  overflow: hidden;
	line-height: 1.6;
	/* background-color: #111; */
	/* margin-left: 10vw; */
	opacity: 0;

	@media (760px <= width) {
		margin-top: 30vh;
	}
}
.fp-viewing-4 .obi,
.fp-viewing-3 .obi,
.fp-viewing-2 .obi,
.fp-viewing-1 .obi {
	position: fixed;
	z-index: 80;
	opacity: 1;

	left: 0;
	/* bottom: 10vh; */
	top: 110vw;

	@media (760px <= width) {
		left: 10px;
		top: auto;
		bottom: 2vh;
	}
}
.fp-viewing-4 .obi.text4:before,
.fp-viewing-3 .obi.text3:before,
.fp-viewing-2 .obi.text2:before,
.fp-viewing-1 .obi.text1:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  background-color: rgb(17,17,17,1);
  /*アニメーションの設定*/
  animation: onBackground 0.3s 0.9s cubic-bezier(.77,0,.175,1);
  animation-fill-mode: both;

}
.fp-viewing-4 .obi.text4:after,
.fp-viewing-3 .obi.text3:after,
.fp-viewing-2 .obi.text2:after,
.fp-viewing-1 .obi.text1:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
	z-index: 80;
  height: 100%;
  /* background-color:#F9CE00; */
	background-image: linear-gradient(135deg, #c9e5ff 0%,#fefedf 50%,#fac8eb 100%);

  /*アニメーションの設定*/
  animation: secondaryImageOverlayIn 0.3s 0.6s cubic-bezier(.77,0,.175,1),
             secondaryImageOverlayOut 0.3s 1s cubic-bezier(.77,0,.175,1);
  animation-fill-mode: both;
}
.text {
	font-family: "Noto Serif JP", serif;
	font-size: var(--fs-26-55);
	font-weight: 500;
	opacity: 0;

}
.fp-viewing-4 .obi.text4 .text,
.fp-viewing-3 .obi.text3 .text,
.fp-viewing-2 .obi.text2 .text,
.fp-viewing-1 .obi.text1 .text {
	color: #fff;
  /*アニメーションの設定*/
  animation: fadeIn 0.3s 0.8s;
  animation-fill-mode: both;
}

/*keyframesの設定*/
@keyframes onBackground {
	0% {
		width: 0;
	}
	100% {
		width:  100%;
	}
}
/*文字が消えている状態から現れるアニメーション*/
@keyframes fadeIn {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
/*はじめにブロックを伸ばすアニメーション*/
@keyframes secondaryImageOverlayIn {
    0% {
      width: 0;
    }
    100% {
      width:  100%;
    }
  }
/*のびたブロックを横に追いやるアニメーション*/
  @keyframes secondaryImageOverlayOut {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(102%);
    }
  }

.videoWrap {
	/* display: flex;
	justify-content: center;
	align-items: center; */
	position: relative;
	width: 100%;
	height: 100%;
	z-index: 50;
}

.videoWrap video,
.videoWrap img {
	opacity: 0;
	width: 94.2vw;
	position: relative;
	display: none;
	@media (760px <= width) {
		width: 724px;
	}
	@media (1300px <= width) {
		width: 64.8vw;
	}
}

.fp-viewing-4 .videoWrap img,
.fp-viewing-3 .videoWrap img,
.fp-viewing-2 .videoWrap img,
.fp-viewing-1 .videoWrap img,
.fp-viewing-4 .videoWrap video,
.fp-viewing-3 .videoWrap video,
.fp-viewing-2 .videoWrap video,
.fp-viewing-1 .videoWrap video {
	display: block;
  position: fixed;
	z-index: 50;
  transition-property: opacity;
  transition-duration: 1s;

	left: 50%;
	top: calc(10em + 2.74vw);
	transform: translateX(-50.3%);

	@media (760px <= width) {
	  left: 50%;
  	top: 50%;
  	transform: translateX(-49.9%) translateY(-57%);
	}
}


.fp-viewing-4 .video4 video,
.fp-viewing-3 .video3 video,
.fp-viewing-2 .video2 video,
.fp-viewing-1 .video1 video,
.fp-viewing-4 .video4 img,
.fp-viewing-3 .video3 img,
.fp-viewing-2 .video2 img,
.fp-viewing-1 .video1 img {
  /*アニメーションの設定*/
  animation: fadeIn 0.3s 0.8s;
  animation-fill-mode: both;
}

/* 
----------------------------------------------------*/
.stepSection {
	background: #000 url(../img/bg_step.png) no-repeat center center/cover;
	color: #fff;
	& .innerWrap {
		max-width: 1520px;
		padding-inline: 20px;
		margin-inline: auto;
		padding-block: 5em;
		@media (760px <= width) {
			padding-inline: 40px;
		}
		& h2 {
			font-size: var(--fs-m-55);
			line-height: 1.5;
			margin-bottom: 2.18em;
			& span {
				display: block;
				&.ja.sentence {
					margin-block: 0.8em;
					font-size: var(--fs-16-24);
				}
				&.en {
					font-size: var(--fs-14-20);
					color: #bbbbbb;
				}
			}
		}
		/* & > section:not(:last-of-type) {
			padding-bottom: 12.54em;
		} */
		& .methodSection {
			& > p {
				& span {
					font-family: "Noto Serif JP", serif;
					font-size: 60px;
					font-weight: 500;
				}
			}
			@media (760px <= width) {
				display: grid;
				grid-template-columns: 200px 1fr;
				& > p {
					position: relative;
					& span {
						position: absolute;
						left: 0;
						top: 600px;
						transform: rotate(-90deg);
						transform-origin: left top;
						font-size: 135px;
						line-height: 1;
					}
				}
				& .flexWrap {
					display: flex;
					justify-content: space-between;
					align-items: center;
				}
			}
			& .flexWrap {
				& span {
					display: block;
					&.ja {
						font-size: var(--fs-20-50);
						&.oneline {
							font-size: var(--fs-18-24);
						}
					}
					&.attention {
						font-size: var(--fs-12-19);
					}
				}
				& h3 {
					margin-bottom: 1.86em;
				}
				& > p {
					margin-bottom: 1.86em;
				}
			}
		}
		& .productSection {
			& > p {
				& span {
					font-family: "Noto Serif JP", serif;
					font-size: 60px;
					font-weight: 500;
				}
			}
			@media (760px <= width) {
				display: grid;
				grid-template-columns: 200px 1fr;
				& > p {
					position: relative;
					& span {
						position: absolute;
						left: 0;
						top: 700px;
						transform: rotate(-90deg);
						transform-origin: left top;
						font-size: 135px;
						line-height: 1;
					}
				}
			}
			& h3 {
				margin-bottom: 1.86em;
				& span {
					display: block;
					&.ja {
						font-size: var(--fs-20-50);
						&.oneline {
							font-size: var(--fs-18-24);
						}
					}
				}
			}
		}
		& .circle {
			& ol {
				display: flex;
				justify-content: space-around;
				flex-wrap: wrap;
				flex-direction: column;
				& li {
					display: flex;
					flex-direction: column;
					justify-content: center;
					align-items: center;
					text-align: center;
					background-color: rgb(255,255,255,0.9);
					color: #000;
					border-radius: 50%;
					aspect-ratio: 1/1;
					/* font-size: var(--fs-11-20); */
					& span {
						display: block;
						margin-top: 0.6em;
						line-height: 1.4;
						font-family: "Noto Serif JP", serif;
						/* font-size: var(--fs-11-24); */
					}
				}
				@media (760px <= width) {
					flex-direction: row;
				}
				&.quadruple {
					& li {
						width: 60vw;
						margin-inline: auto;

						@media (width < 760px) {
							&:nth-of-type(1) {
								margin-top: 0;
							}
							&:nth-of-type(2) {
								margin-top: -40px;
							}
							&:nth-of-type(3) {
								margin-top: -40px;
							}
							&:nth-of-type(4) {
								margin-top: -40px;
							}
						}
						@media (760px <= width) {
							width: auto;
							flex-basis: 25%;
							&:nth-of-type(1) {
								margin-right: -80px;
							}
							&:nth-of-type(2) {
								margin-right: -20px;
							}
							&:nth-of-type(3) {
								margin-left: -20px;
							}
							&:nth-of-type(4) {
								margin-left: -80px;
							}
						}
					}
				}
				&.triple {
					& li {
						width: 60vw;
						margin-inline: auto;
						@media (width < 760px) {
							&:nth-of-type(1) {
								margin-top: 0;
							}
							&:nth-of-type(2) {
								margin-top: -40px;
							}
							&:nth-of-type(3) {
								margin-top: -40px;
							}
							&:nth-of-type(4) {
								margin-top: -40px;
							}
						}
						@media (760px <= width) {
							width: auto;
							flex-basis: 33%;
							&:nth-of-type(1) {
								margin-right: -120px;
							}
							&:nth-of-type(2) {
							}
							&:nth-of-type(3) {
								margin-left: -120px;
							}
						}
					}
				}
			}
		}
		& .investmentSection {
			text-align: center;
			& h3 {
				font-size: var(--fs-18-45);
			}
		}
		& .changeSection {
			text-align: center;
			& h3 {
				font-size: var(--fs-18-45);
			}
		}
		& .methodSection,
		& .productSection,
		& .investmentSection {
			&::after {
				grid-column: 1 / 3;
				grid-row: 2 / 3;
				margin-block: 50px 40px;
				content: "";
				display: flex;
				width: 100%;
				height: 36px;
				justify-content: center;
				align-items: center;
				background: url(../img/aroow_t2_bottom.png) no-repeat center center/contain;
			}
			@media (760px <= width) {
				&::after {
					margin-block: 140px 100px;
					height: 75px;
				}
			}
		}
	}
}


/* 
----------------------------------------------------*/
.messageSection {
	/* background-color: #f1f1f1; */
	background-image: linear-gradient(0deg, rgba(226, 226, 226, 1), rgba(250, 250, 250, 1));
	overflow-x: hidden;
	& .innerWrap {
		max-width: 1520px;
		padding-inline: 20px;
		margin-inline: auto;
		padding-block: 3em;
		@media (760px <= width) {
			padding-block: 5em;
			padding-inline: 40px;
		}
		& h2 {
			margin-bottom: 4.5834em;
			& span {
				display: block;
				&.ja {
					font-family: "Noto Serif JP", serif;
					font-size: var(--fs-m-55);
					font-weight: 500;
					/* margin-bottom: 0.36em; */
				}
				&.en {
					font-size: var(--fs-16-20);
					color: #bbbbbb;
				}
			}
		}
		& .photo {
			margin-inline: calc(50% - 50vw);
		}
		& .narrowWrap {
			position: relative;
			margin-top: -2em;
			z-index: 80;
			max-width: 1080px;
			margin-inline: auto;
			& .profile {
				background-color: rgb(255,255,255,0.9);
				padding: 1em 1em 1em;
				margin-bottom: 2.0834em;
				& span {
					font-size: var(--fs-12-24);
					&.ja {
						font-family: "Noto Serif JP", serif;
						font-size: var(--fs-m-55);
						font-weight: 500;
						margin-right: 0.5em;
					}
					&.en {
						font-size: var(--fs-18-30);
						text-transform: capitalize;
					}
				}
			}
			@media (760px <= width) {
				margin-top: -5.5834em;
				padding-inline: 40px;
				& .profile {
					padding: 1.5em 8.875em 1em;
					font-family: "Noto Serif JP", serif;
					font-weight: 500;
				}
			}
			& > p:not(.profile) {
				margin-bottom: 3.34em;
			}
			& > ol {
				margin-bottom: 3.34em;
				& li {
					display: grid;
					grid-template-columns: 5.5em 1fr;
					align-items: center;
					border: 1px solid #111;
					margin-bottom: 3em;
					background-color: #fff;
					& span {
						display: block;
						font-size: var(--fs-12-24);
						&:first-of-type {
							background-color: #111;
							color: #fff;
							padding-block: 0.5em;
							text-align: center;
							display: flex;
							height: 100%;
							align-items: center;
							justify-content: center;
							font-family: "Noto Serif JP", serif;
						}
						&:last-of-type {
							flex: 1;
							padding: 0.45em 0.6em 0.5em;
							line-height: 1.5;
						}
					}
					&:not(:last-of-type){
						position: relative;
						&::after {
							content: "";
							position: absolute;
							left: 50%;
							bottom: -2.2em;
							width: 18px;
							height: 20px;
							background: url(../img/aroow_t1_bottom.png) no-repeat center center/cover;
						}
						@media (760px <= width) {
							&::after {
								width: 27px;
								height: 30px;
							}
						}
					}
				}
			}
		}
	}
}



/* 
----------------------------------------------------*/
.formSection {
	background-color: #fff;
	padding-block: 4.58em 3.875em;
	& .innerWrap {
		@media (width < 760px) {
			padding-inline: 1em;
		}
		max-width: 640px;
		margin-inline: auto;
		& h2 {
			font-size: var(--fs-m-55);
			text-align: center;
		}
		& > .lead {
			text-align: center;
			margin-bottom: 2.375em;
			font-size: var(--fs-12-24);
			& .ja {
				margin-bottom: 0.8334em;
			}
			& .en {
				font-size: var(--fs-11-20);
				color: #bbbbbb;
			}
		}
		& form {
			font-size: var(--fs-12-24);
			& > div {
				margin-bottom: 2.375em;
				& p {
					& .hissu {
						font-size: var(--fs-11-20);
						background-color: #111;
						color: #fff;
						padding: 0em 0.5em 0.1em;
						border-radius: 5px;
						line-height: 1;
						margin-left: 0.5em;
					}
					&:first-of-type {
						margin-bottom: 0.2em;
					}
					& label {
						display: block;
						cursor: pointer;
					}
					&.horizontal {
						display: flex;
						margin-bottom: 0.5em;
						& label {
							margin-right: 1em;
						}
					}
				}
			}
			& .submit_btn {
				width: fit-content;
				margin-inline: auto;
				padding: 16px 90px;
				background-color: #ffffff;
				color: #111;
				border: 1px solid #111;
				border-radius: 5px;
				&[disabled] {
					/* background-color: #ececec;
					color: #cccccc;
					cursor: default;
					&:hover {
						background-color: #ececec;
						color: #cccccc;
					} */
					position: relative;
					&::before {
						content: "規約への同意が必要です";
						display: flex;
						justify-content: center;
						align-items: center;
						color: #fff;
						width: 100%;
						height: 100%;
						position: absolute;
						left: 0;
						top: 0;
						background-color: rgba(0,0,0,.7);
						background-image: repeating-linear-gradient(
							-45deg,
							transparent,
							transparent 4px,
							rgba(0,0,0, .25) 4px,
							rgba(0,0,0, .25) 8px
						);
						border-radius: 5px;
						z-index: 60;
						cursor: default;
					}
				}


				&.consent {
					&:hover {
						background-color: #111;
						color: #ffffff;
					}
				}
			}

		}
	}
}