@charset "UTF-8";

/*------------------------
トップイメージ
------------------------*/
#topimg .text-wrap{
	color: #fff;
}
#topimg .en,#topimg .sub-en{
	letter-spacing: .08em;
}
#topimg .sub-en{
	font-weight: bold;
}
#topimg .jp{
	font-weight: 600;
	color: var(--black);
	line-height: 1;
}
.blue-link {
  color: #0070c0; /* 好みの青色コードに変更可能 */
}
/* PC */
@media screen and (min-width:768px) {
	.top-bg{
		min-height: 770px;
		background: url(../img/privacy/topimg.jpg) no-repeat center;
		background-size: cover;
	}
	#topimg .text-wrap{
		width: 510px;
		margin: 195px 0 0 auto;
	}
	#topimg .en{
		font-size: 65px;
		line-height: 1.092;
		font-weight: 600;
	}
	#topimg .sub-en{
		font-size: 22px;
		margin-bottom: 70px;
	}
	#topimg .jp{
		font-size: 36px;
		letter-spacing: .1em;
		margin-bottom: 32px;
	}
	#topimg .textarea{
		font-size: 16px;
		line-height: 2.125;
	}
	#topimg .anime-arrow{
		bottom: -78px;
	}

}
/* SP */
@media screen and (max-width:767px) {
	#topimg{
		background: url(../img/privacy/sp_topimg.jpg) no-repeat center;
		background-size: cover;
		min-height: 141.6vw;
	}
	#topimg .text-wrap{
		padding-top: 13vw;
	}
	#topimg .en{
		margin: 0 auto 2.67vw;
		font-size: 8.53vw;
		line-height: 1.092;
		font-weight: bold;
	}
	#topimg .sub-en{
		font-size: 4vw;
		margin-bottom: 8vw;
		font-weight: 600;
		line-height: 1;
	}
	#topimg .jp{
		margin-bottom: 4vw;
		letter-spacing: .1em;
		font-weight: bold;
		color: var(--black);
		line-height: 1;
		font-size: 6.67vw;
	}
	#topimg .textarea{
		font-size: 3.2vw;
		line-height: 1.917;
		letter-spacing: 0.12em;
	}
	#topimg .anime-arrow{
		bottom: -19.73vw;
	}
}

/*------------------------
個人情報保護方針
------------------------*/
#contact h2{
	text-align: center;
}
#contact .btn a{
	background: #FF833D;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	position: relative;
}
#contact .btn.contact a{
	background: #E7407B;
}
#contact .btn.privacy a{
	background: var(--gray);
}
#contact .btn a::before{
	content: "";
	width: 100%;
	height: 1px;
	background: var(--gray);
	position: absolute;
	transition: all .3s ease 0s;
}
#contact .btn a::after{
	content: "";
	width: 1px;
	height: 100%;
	background: var(--gray);
	position: absolute;
	transition: all .3s ease 0s;
}
/* PC */
@media screen and (min-width:768px) {
	#contact .inner{
		padding: 90px 0 230px;
	}
	#contact h2 {
		font-size: 30px;
		margin-bottom: 30px;
		letter-spacing: .08em;
		font-weight: 600;
	}
	#contact .text {
		line-height: 1.929;
		letter-spacing: .09em;
		margin: 0 40px 20px;
		text-align: left;
	}
	#contact .text2 {
		line-height: 1.929;
		letter-spacing: .09em;
		margin: 0 40px 20px;
		text-align: right;
	}
	#contact .text p {
    margin: 0 0 1em;
		font-size: 1.4rem;
  }
	/* 数字付きリストの基本体裁（本文内のみ） */
#contact .text ol {
  list-style: decimal;      /* 数字表示（デフォルトの保険） */
  padding-left: 1.5em;      /* インデントを適度に確保 */
  margin: 0 0 1.5em;
	font-size: inherit; /* 追加: 親に合わせる */
}

#contact .text li {
  margin: 0 0 0.8em;
	font-size: inherit; /* 追加: 親に合わせる */
	vertical-align: top; /* 上寄せ（念のため） */
}

/* 数字（マーカー）の見た目を強調 */
#contact .text ol li::marker {
  font-weight: 600;         /* 数字を少し強めに */
  color: var(--black);      /* 既存変数を活用 */
}

/* 本文の改行後の段落にも余白がつくように */
#contact .text li br + * {
  /* 任意：改行直後のテキストブロックに余白を付けたい場合の例
     実際には <p> 分割推奨なので、必要なければ削除 */
}
#contact .text .item-title {
  font-weight: 700;         /* 太字 */
  display: inline-block;    /* 行頭で安定させる */
  margin-bottom: 0.3em;     /* タイトルと本文の間に少し余白（brが不要ならbr削除の上で利用） */
	font-size: 2rem;
}

	#contact .note{
		width: 670px;
		margin: 0 auto 85px;
		padding: 20px 25px;
		border: .25px solid var(--black);
		font-size: 12px;
		letter-spacing: .09em;
	}
	#contact .btn a{
		width: 456px;
		height: 40px;
		margin: 0 auto 45px;
		font-size: 20px;
		letter-spacing: .14em;
	}
	#contact .btn a::before{
		bottom: -5px;
		left: 5px;
	}
	#contact .btn a::after{
		right: -5px;
		bottom: -5px;
	}
	#contact .btn:last-child a{
		margin: 0 auto;
	}

	#contact .btn a:hover{
		transform: translate(5px, 5px);
	}
	#contact .btn a:hover::before{
		bottom: 0;
		left: 0;
	}
	#contact .btn a:hover::after{
		right: 0;
		bottom: 0;
	}
}

/* SP */
@media screen and (max-width:767px) {
	#contact .inner{
		padding: 10.67vw 6.67vw;
	}
	#contact h2 {
		font-size: 4vw;
		letter-spacing: .08em;
		margin-bottom: 3.33vw;
		text-align: center;
		font-weight: 600;
	}
	#contact .text {
		letter-spacing: .09em;
		margin-bottom: 5.33vw;
		font-size: 3.2vw;
		line-height: 1.8;
		text-align: left;
		letter-spacing: .09em;
		margin: 0 0 5.33vw;
	}
	#contact .text p {
    margin: 0 0 3.2vw; /* 段落間の余白 */
		font-size: 1.4rem;
  }
	#contact .note{
		margin: 0 auto 8vw;
		padding: 4vw 5.33vw;
		border: .25px solid var(--black);
		font-size: 3.2vw;
		letter-spacing: .09em;
		text-align: justify;
	}
	#contact .btn a{
		height: 50px;
		margin: 0 auto 4vw;
		font-size: 4.27vw;
		letter-spacing: .14em;
	}
	#contact .btn a::before{
		bottom: -1.33vw;
		left: 1.33vw;
	}
	#contact .btn a::after{
		right: -1.33vw;
		bottom: -1.33vw;
	}
	#contact .btn:last-child a{
		margin: 0 auto;
	}
}


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

------------------------*/
/* PC */
@media screen and (min-width:768px) {

}

/* SP */
@media screen and (max-width:767px) {
  #contact .text .item-title {
    font-size: 2rem;
    font-weight: 700;
    display: inline-block;
    margin-bottom: 0.3em;
  }
}
#contact .text ol {
	font-size: 2rem;
  list-style: decimal;
  padding-left: 1.5em;
  margin: 0 0 1.5em;
}
#contact .text li {
	font-size: 2rem;
  margin: 0 0 0.8em;
  display: list-item; /* 念のため */
}
#contact .text ol li::marker {
	font-size: 2rem;
  font-weight: 600;
  color: var(--black);
}
@media screen and (max-width:767px) {
  ol {
    list-style-type: decimal;
    padding-left: 1.5em;
  }
  li {
    display: list-item;
    vertical-align: top;
  }
  .item-title {
		font-size: 2rem;
    font-weight: 700;
    display: inline-block;
    margin-bottom: 0.3em;
		vertical-align: top;
  }
	#contact .text2 {
		font-size: 1.4rem;
		line-height: 1.929;
		letter-spacing: .09em;
		margin: 0 40px 20px;
		text-align: right;
	}
}
