@charset 'utf-8';
/*
 * name:top.css
 * author:nulo
*/

/* top
------------------------------------------------ */

.title--01 { text-align: center; color: #0E142A; }
.title--01 .en { font-size: 38px; font-size: 3.8rem; line-height: 1.2; margin-bottom: 8px; }
.title--01 .jp { font-size: 16px; font-size: 1.6rem; line-height: 1.2; letter-spacing: 0.074em; }

/* visual */
#visual { padding: 157px 0; background: url(../../img/top/visual.jpg) no-repeat top center; background-size: cover; text-align: center; }
#visual .btn--more { margin-top: 25px; }
.visual--title { width: 560px; padding: 30px 28px; margin: 0 auto; border: 2px solid #fff; -webkit-box-sizing: border-box; box-sizing: border-box; }
.visual--box { font-size: 20px; font-size: 2rem; letter-spacing: 0.094em; line-height: 1.45; color: #5D4B4B; padding: 115px 0 28px; background: url(../../img/top/logo.svg); background-size: 100%; }
.visual--desc { color: #fff; margin-top: 10px; }
.visual--desc dt { font-size: 20px; font-size: 2rem; letter-spacing: 0.078em; font-weight: bold; margin-bottom: 8px; }
.visual--desc dd { font-size: 18px; font-size: 1.8rem; letter-spacing: 0.078em; line-height: 1.555; }

/* service */
#service {  }
#service .btn--more { margin-top: 40px; }
#service .btn--more a { color: #fff; background: linear-gradient(to left,#FF8F44 30%,#FF5F50 100%); }
#service .btn--more a:after { background: url(../../img/share/arrow_link02.svg); background-size: 100%; }
.service--block { margin-top: 40px; }

/* member */
#member { color: #fff; padding: 100px 0; text-align: center; background: url(../../img/top/bg_member.jpg) no-repeat top center; background-size: cover; }
#member .title--01 { color: #fff; }
#member .btn--more { margin-top: 45px; }
.member--desc { font-size: 18px; font-size: 1.8rem; letter-spacing: 0.074em; line-height: 1.5; margin-top: 45px; }

/* contact */
#contact { padding: 110px 0; }
#contact .wrap { max-width: 990px; }
.contact--break { width: 97.8%; display: table; }
.contact__info,
.contact--btn { display: table-cell; vertical-align: middle; }
.contact__info { font-size: 16px; font-size: 1.6rem; line-height: 1.5; letter-spacing: 0.074em; padding-right: 20px; }
.contact__info--logo { margin-bottom: 20px; }
.contact__info--logo img { width: 280px; }
.contact--btn { width: 380px; }
.contact--btn a { display: block; text-align: center; font-size: 24px; font-size: 2.4rem; letter-spacing: 0.1em; padding: 31px 0; text-decoration: none; color: #fff; background: linear-gradient(to left,#FF8F44 30%,#FF5F50 100%); }
.contact--btn a:after { content: ''; display: inline-block; margin-left: 30px; width: 12px; height: 18px; background: url(../../img/share/arrow_link02.svg); background-size: 100%; margin-bottom: -1px; }

/* responsive style
------------------------------------------------ */
@media screen and (max-width: 1030px) {
	/* contact */
	.contact__info--logo img { width: 50.2%; }
	.contact--btn { width: 38.4%; }
	.contact--btn a { font-size: 1.94174757vw; }
	.contact--btn a:after { width: 3.2%; padding-bottom: 4.8%; height: 0; }
}
@media screen and (max-width: 640px) {

	.title--01 { }
	.title--01 .en { font-size: 22px; font-size: 2.2rem; line-height: 1.2; margin-bottom: 8px; }
	.title--01 .jp { font-size: 12px; font-size: 1.2rem; line-height: 1.2; letter-spacing: 0.074em; }

	/* visual */
	#visual { padding: 125px 0 118px; /*background: url(../../img/top/visual_sp.jpg) no-repeat top center; background-size: cover;*/ }
	#visual .btn--more { margin-top: 15px; }
	.visual--title { width: 280px; padding: 15px 14px; border-width: 1px; }
	.visual--box { font-size: 10px; font-size: 1rem; letter-spacing: 0.047em; padding: 58px 0 14px; }
	.visual--desc { color: #fff; margin-top: 12px; }
	.visual--desc dt { font-size: 12px; font-size: 1.2rem; letter-spacing: 0.039em; margin-bottom: 10px; }
	.visual--desc dd { font-size: 11px; font-size: 1.1rem; letter-spacing: 0.039em; }

	/* service */
	#service .btn--more { margin-top: 32px; }
	.service--block { margin-top: 20px; }

	/* member */
	#member { padding: 78px 0; background: url(../../img/top/bg_member_sp.jpg) no-repeat top center; background-size: cover; }
	#member .btn--more { margin-top: 15px; }
	.member--desc { font-size: 11px; font-size: 1.1rem; letter-spacing: 0.037em; margin-top: 19px; }

	/* contact */
	#contact { text-align: center; padding: 50px 0 47px; }
	.contact__info,
	.contact--btn { display: block; }
	.contact__info { font-size: 10px; font-size: 1rem; letter-spacing: 0.037em; padding-right: 0; }
	.contact__info--logo { margin-bottom: 18px; }
	.contact__info--logo img { width: 167px; }
	.contact--btn { width: 280px; margin: 32px auto 0; }
	.contact--btn a { position: relative; font-size: 12px; font-size: 1.2rem; padding: 15px 0 16px; }
	.contact--btn a:after { position: absolute; right: 24px; top: 50%; margin-top: -5px; width: 6px; padding-bottom: 0; height: 9.5px; }
}
