@charset "UTF-8";

/*====================================================
	年齢確認トップ
====================================================*/
.ag-bg {
	background: #fff;
	min-height: 100%;
}

.ag-outer {
	margin: 30px 20px 40px;
	color: #303030;
}

.ag_bottom__outer p{
	font-size: 1.1rem;
}

.ag-top__title {
	color: #303030;
	font-size: 1.5rem;
	text-align: center;
	line-height: 1.6;
}

.ag-top__text {
	line-height: 2.0rem;
	margin: 20px 0 0;
}

.ag-top__point {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 36px;
}

.ag-top__pointText {
	font-size: 1.4rem;
	margin: 0 5px 8px 8px;
}

.ag-top__pointText::before {
 	width: 26px;
  	height: 26px;
	padding: 0 7px 0 0;
	background-image: url(../img/register_icon_coin.svg);
}

.ag-top__pointImg {
	width: 15px;
}

.ag-top__pointImg img {
	width: 100%;
}

.ag-top__pointImg--right {
	transform: scale(-1,1);
}

.ag-top__pointNumber {
	color: #BB5345;
	font-size: 1.4rem;
	font-weight: bold;
	margin: 0 0 8px 0;
}

.ag-top__btnText--top  {
	margin: 25px 0 35px 0;
	text-align: center;
	line-height: 1.5rem;
}

.ag-btn__input {
	cursor: pointer;
}

.ag-top__text--center {
	text-align: center;
	font-weight: bold;
	font-size: 1.4rem;
	margin: 20px 0;
}

.ag-btn__main {
	height: 60px;
	max-width: 400px;
	border-radius: 30px;
	padding: 0 0 0 40px;
	margin: 0 auto 20px;
	font-size: 1.5rem;
	color: #fff;
	display: flex;
	align-items: center;
	box-sizing: border-box;
}

.ag-btn__img {
	width: 57px;
	height: auto;
	margin-right: 12px;
}

.ag-btn__img img {
	width:100%;
}

@media (max-width: 320px) {
	.ag-top__pointText  {
		font-size: 1.1rem;
	}
}

.ag-btn__textLink {
	text-align: center;
	margin: 30px 0 30px;
}

.ag-btn__textLink a {
	color: #BB5345;
	text-decoration: underline;
	display: inline-block; 
	margin: 0 auto;
}

.ag-btn__textLink a.hover {
    color: #9F4C41;
	text-decoration: none;	
}

/* 年齢確認が完了しない方 */
.ag-help__outer {
		padding: 10px 0 15px;
}

.ag-help__outer p {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 20px;
}

.ag-top__helpText {
	color: #303030;
	font-size: 1.2rem;
	position: relative;
	
}

.ag-top__helpText::after {
 	width: 6px;
  	height: 10px;
	margin: 0 0 0 5px;
	background-image: url(../img/arrow_right_small.svg);
}

.ag-top__helpText.hover,
.ag-top__helpText.hover::before,.hover::after {
	opacity: 0.8;
}

/*====================================================
	説明画面
====================================================*/
.ag-detail__outer {
	padding: 30px 20px 20px;
}

.ag-detail__title {
	font-weight: bold;
	font-size: 1.6rem;
	line-height: 1.5;
	text-align: center;
	color: #303030;
}

.ag-detail__box {
	background: rgba(193, 122, 102, 0.10);
	border-radius: 5px;
	padding: 20px;
	margin: 20px 0 30px;
}

.ag-detail__boxTitle {
	font-weight: bold;
	font-size: 1.6rem;
	text-align: center;
	color: #BB5345;
	padding-bottom: 15px;
}

.ag-detail__boxImg--doc {
	width: 200px;
	height: auto;
	margin: 0 auto;
}

.ag-detail__boxImg--doc img {
	width: 200px;
	height: auto;
}

.ag-detail_docEdge {
	box-sizing: border-box;
	max-width: 400px;
	height: auto;
	margin: 20px auto 30px;
}

.ag-detail_docEdge img {
	width: 100%;
}

.ag-detail__attention {
	border-radius: 5px;
	border: 1px solid #C17A66;
	margin: 0 0 30px;
}

.ag-detail__attentionTitle {
	background: #C17A66;
	color: #fff;
	font-size: 1.5rem;
	font-weight: bold;
	text-align: center;
	padding: 10px;
}

.ag-detail__attentionList {
	padding: 17px 15px 15px;
}

.ag-detail__attentionList li {
	font-size: 1.3rem;
}

.ag-detail__attentionList li:nth-child(2) {
	margin-top: 10px;
}

.ag-detail__attentionList li::before {
	content: "•";
	font-size: 0.9em;
	margin-right: 0.5em;
	margin-left: 0.5em;
	position: relative;
	top: -0.1em;
}

.ag-detail__attentionList li span {
	font-weight: bold;
}

@media (max-width: 330px) {
	.ag-detail__attentionList {
		padding: 10px;
	}

	.ag-detail__attentionList li {
		font-size: 1.2rem;
	}
}

.ag-detail__NgTitle {
	color: #FF3D3E;
	font-size: 1.5rem;
	font-weight: bold;
	text-align: center;
}

.ag-detail__NgContents {
	box-sizing: border-box;
	max-width: 400px;
	height: auto;
	margin: 0 auto;
	padding: 25px 0 40px;
}

.ag-detail__NgContents img {
	width: 100%;
	height: auto;
}

.ag-detail__outer__box {
	margin: 30px 20px 0;
	border: 1px solid #C17A66;
	text-align: center;
	padding: 20px;
	border-radius: 5px;
}

.ag-detail__outer__boxTitle {
	color: #bb5345;
	font-size: 1.5rem;
	font-weight: bold;
	padding-bottom: 13px;
}

.ag-detail__outer__boxText {
	font-size: 1.3rem;
}

@media (max-width: 330px) {
	.ag-detail__outer__boxTitle {
		font-size: 1.4rem;
	}
}

/* 個人情報保護 */
.ag-detail__privacy {
	border: 1px solid rgb(193,122,102,0.4);
	border-radius: 10px;
	padding: 20px;
	margin: 30px auto 40px;
	max-width: 450px;
	box-sizing: border-box;
}

.ag-detail__privacyTitle {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 15px;
}

.ag-detail__privacyTitle--img {
	margin: 0 7px 0 0;
}

.ag-detail__privacyTitle--img img {
	width: 18px;
	height: 20px;
}

.ag-detail__privacyTitle--text {
	font-size: 1.4rem;
	font-weight: bold;
	color: #BB5345;
}

@media (max-width: 340px) {
	.ag-detail__privacyTitle--text {
		font-size: 1.3rem;
	}
}

.ag-detail__privacy__contents {
	display: flex;
	align-items: center;
}

.ag-detail__privacy__japhic {
	margin-right: 10px;
}

.ag-detail__privacy__japhic img {
	width: 42px;
	height: auto;
}

.ag-detail__privacy__text {
	font-size: 1.2rem;
	line-height: 1.3;
	margin-bottom: 5px;
}

.ag-detail__privacy__attention {
	font-size: 1.1rem;
	line-height: 1.4;
}

.ag-detail__subBox {
	background: #fff;
	border-radius: 5px;
	padding: 20px;
	text-align: center;
	font-size: 1.1rem;
}

.ag-detail__numberOuter--health {
	display: flex;
	justify-content: flex-start;
	align-items:center;
}

.ag-detail__numberOuter--2line {
	display: flex;
	justify-content: flex-start;
	align-items:flex-start;
}

.ag-detail__numberOuter--health img {
	width: 20px;
	margin-right: 8px;
}

.ag-detail__number--health {
	color: #303030;
	font-weight: bold;
	font-size: 1.4rem;
	line-height: 20px;
	text-align: left;
}

.ag-detail__number--health span {
	color: #bb5345;
}

.ag-detail__numberSubtext--health {
	text-align: left;
	font-size: 1.1rem;
	margin: 2px 0 12px 28px;
}

.age_health_sample {
	margin: 20px  auto 0;
	width: 230px;
}

.age_health_sample img {
	width:100%;
}

.ag-detail__boxTitle--bottom {
	color: #BB5345;
	font-size: 1.4rem;
	line-height: 18px;
	font-weight: bold;
	margin-top: 20px;
}

/* 提出画像確認 */
.ag-submit__text {
	color: #303030;
	text-align: center;
	font-size: 1.5rem;
	font-weight: bold;
	margin: 30px 0 30px;
}

@media (max-width: 320px) {
	.ag-submit__text {
		font-size: 1.4rem;
	}
}

/*====================================================
	PC版
====================================================*/
.ag-top__alert--pc {
	text-align: center;
	margin: 40px 0 0;
	padding-bottom: 10px;
}

.ag-top__text__alert--pc {
	font-weight: bold;
	color: #ff3d3e;
	font-size: 1.5rem;
}

.ag-top__box--pc {
	background: rgba(193, 122, 102, 0.10);
	border-radius: 5px;
	padding: 30px;
	margin: 15px 0 30px;
}

.ag-top__box__title--pc {
	font-weight: bold;
	color: #BB5345;
	font-size: 1.5rem;
	margin-bottom: 15px;
}

.ag-top__box__url--pc {
	font-size: 1.5rem;
	margin-bottom: 40px;
}

.ag-top__box__qrTitle--pc {
	font-weight: bold;
	font-size: 1.3rem;
	margin-bottom: 20px;
}

.ag-top__box__qr--pc {
	display: flex;
	justify-content: center;
}

.ag-top__box__qr--pc img {
	width: 200px;
	height: 200px;
}

.ag-top__point--pc {
	margin: 50px 0 0;
}

/*====================================================
	ステップナビゲーション
====================================================*/
.ag-step__outer {
	background: rgba(193, 122, 102, 0.05);
	padding: 25px 0;
}

.ag-step__container {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	max-width: 280px;
	margin: 0 auto;
	position: relative;
}

.ag-step {
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
	z-index: 1; 
	box-sizing: border-box;
	width: 80px;
}

.ag-step__label {
	font-size: 1.2rem;
	font-weight: bold;
	text-align: center;
	color: rgba(48, 48, 48, 0.75);
}

.ag-step__circle {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background-color:#EAEAEA;
	display: flex;
	justify-content: center;
	align-items: center;
	color: rgba(48, 48, 48, 0.75);
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: 10px;
}

.ag-step--active .ag-step__circle {
	background-color: #BB5345;
	color: #fff;
}

.ag-step--active .ag-step__label {
	color: #303030;
}

/* 背景線（グレー） */
.ag-step__container::before {
	content: '';
	position: absolute;
	top: 13px;
    left: 25px;
    right: 25px;
	height: 5px;
	background-color:#EAEAEA;
	z-index: 0;
}

/* アクティブ線 */
.ag-step__container::after {
	content: '';
	position: absolute;
	top: 13px;
    left: 25px;
    right: 25px;
    height: 5px;
	background-color: #BB5345;
	z-index: 0;
}

/* アクティブステップに応じた線の幅 */
.ag-step__container.ag-step1::after { width: 0%; }
.ag-step__container.ag-step2::after { width: 40%; }
.ag-step__container.ag-step3::after { width: 80%; }


/*====================================================
	撮影画面
====================================================*/
.ag-capture__outer {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  background: #000;
  display: flex;
  justify-content: center;
  color: #fff;
}

.ag-capture__inner {
	max-width: 600px;
	width: 100%;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.ag-capture__header {
	height: 64px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ag-capture__header--edge_passport {
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ag-capture__header h1,
.ag-capture__header--edge_passport h1 {
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
}

.ag-capture__cameraArea {
	width: 100%;
    aspect-ratio: 4 / 3; 
    position: relative;
    overflow: hidden;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ag-capture__cameraArea--edge_passport {
	position: relative;
	width: 100%;
	flex: 1;
	margin-bottom: 230px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ag-capture__guide {
	position: absolute; 
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	z-index: 1;
}

.ag-capture__guide img {
	width: 80%;
	height: 90%;
	object-fit: contain;
	display: block;
	margin: 0 auto;
}

.ag-capture__guide--edge {
	position: absolute; 
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
}

.ag-capture__guide--edge img {
	width: 125%;
	height: auto;
	object-fit: contain;
	display: block;
}

.ag-capture__guide--edge__passport {
	position: absolute; 
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
}

.ag-capture__guide--edge__passport img {
	width: 125%;
	height: 100%;
	object-fit: contain;
	display: block;
}

.ag-capture__footer {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 10;
	height: 250px;
	box-sizing: border-box;
}

.ag-capture__footer > *,
.ag-capture__footer--edge_passport > * {
	max-width: 600px;
	margin: 0 auto;
}

.ag-capture__footerTextOuter {
	height: 100px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}

.ag-capture__footerText {
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.6;
	text-align: center;
}

.ag-capture__btn {
	position: relative;
	height: 150px;
	box-sizing: border-box;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.ag-capture__btn--left,
.ag-capture__btn--center,
.ag-capture__btn--right {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ag-capture__btn--cancel {
	color: #fff;
	font-size: 1.5rem;
	font-weight: bold;
}

.ag-capture__btn--cancel:active,
.ag-capture__btn--primary:active {
	opacity: 0.5;
}

.ag-capture__btn--primary img {
	width: 76px;
	height: 76px;
}

@media (max-height: 600px) {
  .ag-capture__footer {
    height: 170px;
  }

  .ag-capture__footerTextOuter {
    height: 50px;
  }

  .ag-capture__btn {
    height: 120px;
  }
}

.ag-capture__footer--edge_passport {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 10;
	height: 230px;
	box-sizing: border-box;
}

.ag-capture__footerTextOuter--edge_passport {
	height: 50px;
	padding-top: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}

.ag-capture__cropArea {
	position: absolute;
	width: 80vw;
	max-width: 480px;
	aspect-ratio: 2.85 / 1;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.ag-capture__cropArea--passport {
	position: absolute;
	width: 80vw;
	max-height: 80%;
	max-width: 320px;
	aspect-ratio: 0.825 / 1;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.camera-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}

/*====================================================
	完了画面
====================================================*/
.ag-complete__outer {
	padding: 40px 20px 20px;
}

.ag-complete__text {
	text-align: center;
	font-size: 1.3rem;
	line-height: 1.5;
	margin: 20px 0 40px;
}

.ag-complete__btnOuter {
	width: 200px;
	margin: 0 auto;
}

/*====================================================
	撮影画像確認
====================================================*/
.ag-review__img--entire {
	width: 100%;
    aspect-ratio: 4 / 3; 
    position: relative;
    overflow: hidden;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ag-review__img--entire img {
	width: 100%;
    height: 100%;
    object-fit: cover;
}

.ag-review__img {
	width: 100%;
}

.ag-review__img img {
	width: 100%;
	height: auto;
}

.ag-review__outer {
	padding: 30px 20px 10px;
}

.ag-review__title {
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
}

.ag-review__text {
	font-size: 1.3rem;
	text-align: center;
	padding: 8px 0 20px;
}

.ag-review__text--red {
	font-size: 1.3rem;
	font-weight: bold;
	text-align: center;
	padding-top: 20px;
	color: #FF3D3E;
}

.ag-review__boxOuter {
	margin: 0 auto 0;
	width: 295px;
}

.ag-review__boxOuter--edg {
	margin: 0 auto 0;
	width: 272px;
}

.ag-review__box {
	display: flex;
	align-items: center;
	padding: 20px;
	background: rgba(193, 122, 102, 0.10);
	border-radius: 5px;
	margin-bottom: 10px;
}

.ag-review__boxText {
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.5;
	padding-left: 10px;
}

.ag-review__boxText--sub {
	font-size: 1.1rem;
	line-height: 1.4;
	padding: 5px 0 0 10px;
}

.ag-review__boxNum {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.2rem;
	font-weight: bold;
	color: #fff;
	width: 20px;
	height: 20px;
	border-radius: 10px;
	background: #BB5345;
}

@media (max-width: 330px) {
	.ag-review__boxOuter {
		margin: 0 auto 0;
		width: 270px;
	}
	.ag-review__boxText {
		font-size: 1.2rem;
	}
}
