@charset "utf-8";
.page-ttl .inner { position: relative; width: 88%; max-width: 1200px; margin: 0 auto; padding: 180px 0 20px;}
.page-ttl h1 { position: relative; font-weight: 700; line-height: 1;}
.page-ttl h1 img { position: relative; width: 72%; max-width: 420px;}
.page-ttl h1 span { display: block; position: absolute; left: 150px; bottom: 10px; padding-left: 26px; font-size: 20px; letter-spacing: 0.3rem; line-height: 1;}
.page-ttl h1 span:before { content: ''; display: block; width: 12px; height: 12px; background: #000; border-radius: 50%;
 position: absolute; left: 0; top: 50%; transform: translateY(-45%);
}
.page-ttl .read { position: absolute; left: 40%; bottom: 12px;}
.page-ttl .read p { font-size: 20px; font-weight: 700; letter-spacing: 0.2rem; line-height: 2.2;}
@media (max-width: 1281px) {
	.page-ttl .read { left: 48%;}
}
@media (max-width: 1001px) {
	.page-ttl .read { left: 54%;}
	.page-ttl .read p { font-size: 18px;}
}
@media (max-width: 801px) {
	.page-ttl h1 span { left: 90px;}
	.page-ttl .read { position: relative; left: auto; bottom: auto; padding-top: 40px;}
}
@media (max-width: 481px) {
	.page-ttl .inner { padding: 80px 0 12px;}
	.page-ttl h1 span { padding-left: 15px; font-size: 12px; bottom: 5px; letter-spacing: 0.15rem;}
	.page-ttl h1 span:before { width: 6px; height: 6px;}
	.page-ttl .read { padding-top: 30px;}
	.page-ttl .read p { font-size: 14px; letter-spacing: 0.15rem; line-height: 1.8;}
}



#benefit .inner-sct { padding: 20px 0 80px;}
#benefit .ctn { width: 88%; max-width: 1200px; margin: 0 auto; padding: 50px; background: #ededed; border-radius: 50px;}
#benefit .ctn ul { font-size: 0; }
#benefit .ctn ul li { display: inline-block; width: 33.33334%; padding: 12px 15px;}
#benefit .ctn ul li img { width: 100%; border-radius: 20px;}
@media (max-width: 1001px) {
	#benefit .ctn { padding: 30px;}
}
@media (max-width: 801px) {
	#benefit .ctn ul li { width: 50%;}
}
@media (max-width: 481px) {
	#benefit .inner-sct { padding: 12px 0 60px;}
	#benefit .ctn { padding: 20px 15px; border-radius: 20px;}
	#benefit .ctn ul li { padding: 6px;}
	#benefit .ctn ul li img { border-radius: 10px;}
}


#numbers .inner-sct { padding: 20px 0 80px;}
#numbers .ctn { width: 88%; max-width: 1200px; margin: 0 auto; padding: 50px; background: #ededed; border-radius: 50px;}
#numbers .ctn ul { width: 100%; max-width: 1024px; margin: 0 auto; font-size: 0; }
#numbers .ctn ul li { display: inline-block; width: 50%; padding: 12px 15px;}
#numbers .ctn ul li img { width: 100%; border-radius: 20px;}
@media (max-width: 1001px) {
	#numbers .ctn { padding: 30px;}
}
@media (max-width: 801px) {
}
@media (max-width: 481px) {
	#numbers .inner-sct { padding: 12px 0 60px;}
	#numbers .ctn { padding: 20px 15px; border-radius: 20px;}
	#numbers .ctn ul li { display: block; width: 100%; padding: 8px 15px;}
	#numbers .ctn ul li img { border-radius: 10px;}
}


#job .inner-sct { padding: 40px 0 80px;}
#job .ctn { width: 88%; max-width: 1200px; margin: 0 auto; min-height: 500px;}
#job .ctn .tab ul { display: flex; justify-content: space-between; text-align: center;}
#job .ctn .tab.sp { display: none;}
#job .ctn .tab ul li { width: 15.5%; font-size: 24px; font-weight: 700; line-height: 1; letter-spacing: 0.2rem;}
#job .ctn .tab ul li:last-child { font-size: 22px; letter-spacing: 0rem;}
#job .ctn .tab ul li span { display: block; background: #dadada; cursor: pointer; transition: 0.2s ease;}
#job .ctn .tab ul li a { color: #000; text-decoration: none;}
#job .ctn .tab ul li:hover span { background: #ba9d32; color: #fff;}
#job .ctn .tab ul li.active span { background: #ba9d32; color: #fff;}
#job .ctn .tab ul li.active a { color: #fff;}
#job .ctn .tab ul.top { align-items: flex-end;}
#job .ctn .tab ul.top li span { padding: 40px 0 30px; border-top-left-radius: 50px; border-top-right-radius: 50px;}
#job .ctn .tab ul.bottom li span { padding: 30px 0 40px; border-bottom-left-radius: 50px; border-bottom-right-radius: 50px;}

#job .ctn .tab ul li span br { display: none;}

#job .ctn .job-box { display: none; position: absolute; width: 100%; background: #ededed; visibility: hidden; opacity: 0;
 border-bottom-left-radius: 50px; border-bottom-right-radius: 50px;
}
#job .ctn .job-box.show { display: block; position: relative; visibility: visible; opacity: 1;}
#job .ctn .job-box .box-tit { position: relative; padding: 50px 0 30px;}
#job .ctn .job-box .box-tit p { color: #ba9d32; font-size: 36px; font-weight: 700; letter-spacing: 0.2rem; text-align: center;}
#job .ctn .job-box .box-tit p span { display: block; font-size: 18px; letter-spacing: 0.075rem;}
#job .ctn .job-box .box-ctn { padding: 0px 50px 30px; min-height: 500px;}
#job .ctn .job-box .box-ctn ul { width: 100%; max-width: 1024px; margin: 0 auto; border-top: solid 2px #fff; font-size: 0; }
#job .ctn .job-box .box-ctn ul li { width: 100%; padding: 25px 0; border-bottom: solid 2px #fff;}
#job .ctn .job-box .box-ctn ul li:last-child { border-bottom: none;}
#job .ctn .job-box .box-ctn ul li dl { display: table; width: 100%;}
#job .ctn .job-box .box-ctn ul li dl dt,
#job .ctn .job-box .box-ctn ul li dl dd { display: table-cell; font-size: 18px;}
#job .ctn .job-box .box-ctn ul li dl dt { width: 200px; padding-left: 10px; font-weight: 700; letter-spacing: 0.2rem;}
#job .ctn .job-box .box-ctn ul li dl dd { width: auto; letter-spacing: 0.1rem;}
#job .ctn .job-box .box-ctn p { text-align: center;}
@media (max-width: 1201px) {
	#job .ctn .tab ul li { font-size: 2.0vw;}
	#job .ctn .tab ul li:last-child { font-size: 1.8vw;}
}
@media (max-width: 1001px) {
	#job .ctn .job-box .box-tit { padding: 20px 0px;}
	#job .ctn .job-box .box-tit p { font-size: 20px;}
	#job .ctn .job-box .box-ctn { padding: 0px 30px 30px;}
	#job .ctn .job-box .box-ctn ul li dl dt,
	#job .ctn .job-box .box-ctn ul li dl dd { font-size: 16px;}
	#job .ctn .job-box .box-ctn ul li dl dt { width: 150px;}
}
@media (max-width: 801px) {
	#job .ctn .tab.sp { display: block;}
	#job .ctn .tab ul.top li span { padding: 20px 0 16px; border-top-left-radius: 12px; border-top-right-radius: 12px;}
	#job .ctn .tab ul.bottom li span { padding: 16px 0 20px; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;}

	#job .ctn .job-box { border-bottom-left-radius: 0px; border-bottom-right-radius: 0px;}
}
@media (max-width: 641px) {
	#job .ctn .job-box .box-tit p { font-size: 16px;}
	#job .ctn .job-box .box-ctn { padding: 0px 20px 20px;}
	#job .ctn .job-box .box-ctn ul li { padding: 15px 10px;}
	#job .ctn .job-box .box-ctn ul li dl dt,
	#job .ctn .job-box .box-ctn ul li dl dd { display: block; font-size: 14px;}
	#job .ctn .job-box .box-ctn ul li dl dt { width: 100%; margin-bottom: 5px; padding-left: 0px;}
}
@media (max-width: 481px) {
	#job .inner-sct { padding: 12px 0 60px;}
	#job .ctn { min-height: auto;}

	#job .ctn .tab ul li { font-size: 11px;}
	#job .ctn .tab ul li:last-child { font-size: 10px;}
	#job .ctn .tab ul.top li span { padding: 15px 0; border-top-left-radius: 6px; border-top-right-radius: 6px;}
	#job .ctn .tab ul.bottom li span { padding: 15px 0; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px;}
	#job .ctn .tab ul.top li span.marketing,
	#job .ctn .tab ul.bottom li span.marketing{ padding: 10px 0;}
	#job .ctn .tab ul li span br { display: block;}

	#job .ctn .job-box .box-tit p { font-size: 21px;}
	#job .ctn .job-box .box-tit p span { font-size: 13px;}

	#job .ctn .job-box .box-ctn { padding: 0px 15px 20px; min-height: 200px;}
	#job .ctn .job-box .box-ctn ul { border-width: 1px;}
	#job .ctn .job-box .box-ctn ul li { padding: 8px; border-width: 1px;}
	#job .ctn .job-box .box-ctn ul li dl dt { font-size: 15px;}
	#job .ctn .job-box .box-ctn ul li dl dd { font-size: 12px; letter-spacing: 0.05rem;}
	#job .ctn .job-box .box-ctn p { font-size: 12px;}
}



#works .inner-sct { padding: 20px 0 80px;}
#works .bloc { position: relative; width: 88%; max-width: 1200px; margin: 0 auto; padding: 50px 0 60px;}
#works .bloc:before { content: ''; display: block; width: 35%; max-width: 440px; height: 100%; position: absolute; top: 0; z-index: 2;}
#works .bloc.bloc-1:before { left: 0; background: url('../img/works-1.png') no-repeat 50% 0 / 100% auto;}
#works .bloc.bloc-2:before { right: 0; background: url('../img/works-2.png') no-repeat 50% 0 / 100% auto;}
#works .bloc.bloc-3:before { left: 0; background: url('../img/works-3.png') no-repeat 50% 0 / 100% auto;}
#works .box { position: relative; width: 68%; max-width: 800px; padding: 60px 50px 50px; background: #ededed; border-radius: 50px;}
#works .bloc.bloc-1 .box, 
#works .bloc.bloc-3 .box { margin: 0 0 0 auto;}
#works .box .tips { position: absolute; left: 0; top: -36px; padding-left: 50px;}
#works .box .tips h3 { display: inline-block; padding: 10px 30px 16px; background: #ba9d32; border-radius: 50px; color: #fff; font-size: 32px; font-weight: 700; letter-spacing: 0.1rem; line-height: 1.2;}
#works .box .tips h3 span { display: inline-block; vertical-align: middle;}
#works .box .tips h3 span.sub { margin-left: 10px; font-size: 22px;}
#works .box .read { margin-bottom: 30px;}
#works .box .read p { font-weight: 700; line-height: 1.8; letter-spacing: 0.2rem;}
#works .box .ctn { padding: 30px 40px; background: #fff; border-radius: 50px; }
#works .box .ctn .tit { position: relative; margin-bottom: 20px; padding-left: 24px; padding-bottom: 20px; border-bottom: solid 2px #ededed;}
#works .box .ctn .tit:before { content: ''; display: block; width: 8px; height: 8px; border-radius: 50%; background: #ba9d32;
 position: absolute; left: 4px; top: 13px;
}
#works .box .ctn .tit p { font-size: 20px; font-weight: 700; letter-spacing: 0.12rem;}
#works .box .ctn .txt p { margin-bottom: 20px; font-size: 15px; letter-spacing: 0.1rem;}
#works .box .ctn .txt p:last-child { margin-bottom: 0;}
@media (max-width: 1001px) {
	#works .box { padding: 50px 50px 40px;}
	#works .box .tips { top: -24px;}
	#works .box .tips h3 { font-size: 21px;}
	#works .box .tips h3 span.sub { font-size: 16px;}
	#works .box .ctn { padding: 20px 30px; border-radius: 20px;}
	#works .box .ctn .tit { margin-bottom: 15px; padding-bottom: 15px;}
	#works .box .ctn .tit:before { top: 10px;}
	#works .box .ctn .tit p { font-size: 18px;}
	#works .box .ctn .txt p { font-size: 13px;}
}
@media (max-width: 801px) {
	#works .bloc { padding: 20px 0 60px;}
	#works .bloc:before { content: none;}
	#works .box { width: 100%; padding: 50px 50px 40px;}
	#works .bloc .box:before { content: ''; display: block; width: calc(100% - 100px); height: 240px; position: absolute; bottom: 20px; z-index: 2;}
	#works .bloc.bloc-1 .box:before { background: url('../img/works-1@sp.png') no-repeat 50% 0 / auto 100%;}
	#works .bloc.bloc-2 .box:before { background: url('../img/works-2@sp.png') no-repeat 50% 0 / auto 100%;}
	#works .bloc.bloc-3 .box:before { background: url('../img/works-3@sp.png') no-repeat 50% 0 / auto 100%;}

	#works .box .ctn { padding: 30px 40px 250px; }
}
@media (max-width: 641px) {
	#works .inner-sct { padding: 20px 0 40px;}
	#works .box { padding: 50px 30px 40px;}
	#works .box .tips { padding-left: 30px;}
}
@media (max-width: 481px) {
	#works .inner-sct { padding: 12px 0 60px;}
	#works .bloc { padding: 30px 0 60px;}
	#works .box { padding: 30px 20px; border-radius: 20px;}
	#works .bloc .box:before { display: block; width: calc(100% - 40px); height: 200px;}
	#works .box .tips { top: -18px; padding-left: 18px;}
	#works .box .tips h3 { padding: 6px 20px 10px; font-size: 18px; letter-spacing: 0.05rem;}
	#works .box .tips h3 span.sub { font-size: 12px; letter-spacing: 0rem;}
	#works .box .read { margin-bottom: 12px;}
	#works .box .read p { font-size: 14px; line-height: 1.72; letter-spacing: 0.075rem;}
	#works .box .ctn { padding: 15px 20px 200px;}
	#works .box .ctn .tit p { font-size: 14px;}
	#works .box .ctn .txt p { font-size: 12px;}
}


#career .inner-sct { padding: 20px 0 80px;}
#career .bloc { position: relative; width: 88%; max-width: 1120px; margin: 0 auto; padding: 40px 0 60px;}
#career .bloc:before { content: ''; display: block; width: 40%; max-width: 450px; padding-top: 22%; border-radius: 30px;
 position: absolute; top: 0; z-index: 2;
}
#career .bloc.point-1:before { right: 0; background: url('../img/point-1.jpg') no-repeat 50% 0 / 100% auto;}
#career .bloc.point-2:before { left: 0; background: url('../img/point-2.jpg') no-repeat 50% 0 / 100% auto;}
#career .bloc.point-3:before { right: 0; background: url('../img/point-3.jpg') no-repeat 50% 0 / 100% auto;}
#career .box { position: relative; width: 70%; max-width: 800px; padding: 60px 50px 50px; background: #ededed; border-radius: 50px;}
#career .bloc.point-1 .box { padding-right: 150px;}
#career .bloc.point-2 .box { margin: 0 0 0 auto; padding-left: 140px;}
#career .bloc.point-3 .box { padding-right: 150px;}
#career .box .tips { position: absolute; left: 0; top: -30px; padding-left: 50px;}
#career .bloc.point-2 .box .tips { padding-left: 140px;}
#career .box .tips p { display: inline-block; padding: 4px 40px 6px; background: #ba9d32; border-radius: 50px; color: #fff; font-size: 30px; font-weight: 700; letter-spacing: 0.1rem; line-height: 1.2;}
#career .box .tips p span { display: inline-block; vertical-align: middle;}
#career .box .tips p span.num { margin-left: 15px; font-size: 45px;}
#career .box .txt h3 { margin-bottom: 20px; font-size: 25px; font-weight: 700; letter-spacing: 0.1rem;}
#career .box .txt h3 br.sp { display: none;}
#career .box .txt p { font-size: 15px; font-weight: 700; line-height: 1.8; letter-spacing: 0.15rem;}
@media (max-width: 1001px) {
	#career .box .txt h3 { margin-bottom: 20px; font-size: 25px; font-weight: 700; letter-spacing: 0.1rem;}
	#career .box .txt p { font-size: 15px; font-weight: 700; line-height: 1.8; letter-spacing: 0.2rem;}
}
@media (max-width: 1001px) {
	#career .box { padding: 40px 40px 30px;}
	#career .bloc.point-1 .box { padding-right: 100px;}
	#career .bloc.point-2 .box { padding-left: 120px;}
	#career .bloc.point-3 .box { padding-right: 100px;}
	#career .box .tips { top: -24px; padding-left: 50px;}
	#career .bloc.point-2 .box .tips { padding-left: 120px;}
	#career .box .tips p { font-size: 16px;}
	#career .box .tips p span.num { margin-left: 10px; font-size: 21px;}
	#career .box .txt h3 { font-size: 18px;}
	#career .box .txt p { font-size: 13px;}
}
@media (max-width: 801px) {
	#career .bloc { padding: 20px 0 60px;}
	#career .bloc:before { content: none;}
	#career .box { width: 100%; padding: 50px 50px 40px;}
	#career .bloc.point-1 .box { padding-right: 50px;}
	#career .bloc.point-2 .box { padding-left: 50px;}
	#career .bloc.point-3 .box { padding-right: 50px;}
	#career .bloc .box:before { content: ''; display: block; width: 80%; max-width: 400px; padding-top: 45%; margin: 0 auto 20px; border-radius: 20px; z-index: 2;}
	#career .bloc.point-1 .box:before { background: url('../img/point-1.jpg') no-repeat 35% 0 / 100% auto;}
	#career .bloc.point-2 .box:before { background: url('../img/point-2.jpg') no-repeat 50% 0 / 100% auto;}
	#career .bloc.point-3 .box:before { background: url('../img/point-3.jpg') no-repeat 35% 0 / 100% auto;}

	#career .bloc.point-2 .box .tips { padding-left: 50px;}

	#career .box .txt h3 { margin-bottom: 16px;}
}
@media (max-width: 641px) {
	#career .inner-sct { padding: 20px 0 40px;}
	#career .box { padding: 50px 30px 40px;}
	#career .bloc.point-1 .box { padding-right: 30px;}
	#career .bloc.point-2 .box { padding-left: 30px;}
	#career .bloc.point-3 .box { padding-right: 30px;}
	#career .box .tips { padding-left: 30px;}
	#career .bloc.point-2 .box .tips { padding-left: 30px;}
}
@media (max-width: 481px) {
	#career .inner-sct { padding: 12px 0 60px;}
	#career .bloc { padding: 20px 0 40px;}
	#career .box { padding: 30px; border-radius: 20px;}
	#career .bloc .box:before { margin-bottom: 12px; width: 100%; padding-top: 62%; border-radius: 12px;}
	#career .box .tips { top: -18px;}
	#career .box .tips p { padding: 6px 20px; font-size: 16px; letter-spacing: 0.05rem;}
	#career .box .tips p span.num { font-size: 20px; letter-spacing: 0rem;}
	#career .box .txt h3 { margin-bottom: 12px; font-size: 18px; letter-spacing: 0.05rem;}
	#career .box .txt h3 br.sp { display: block;}
	#career .box .txt p { font-size: 12px; font-weight: 400; letter-spacing: 0.05rem; line-height: 1.72; text-align: justify;}
}




#entry .inner-sct { padding: 20px 0 80px;}
#entry .bloc { width: 88%; max-width: 1200px; margin: 0 auto;;}
#entry .ctn { width: 100%; padding: 50px 70px 80px; background: #ededed; border-radius: 50px;}
#entry .ctn ul { font-size: 0; }
#entry .ctn ul li { border-bottom: solid 3px #fff; padding: 18px 12px;}
#entry .ctn ul li dl { display: table; width: 100%;}
#entry .ctn ul li dl dt,
#entry .ctn ul li dl dd { display: table-cell; vertical-align: top;}
#entry .ctn ul li dl dt { width: 300px; padding-top: 8px; font-size: 18px; font-weight: 700; line-height: 1.2;}
#entry .ctn ul li dl dd { width: auto; padding: 5px; font-size: 16px;}
#entry .ctn ul li dl dt span.must { position: relative; display: inline-block; margin-left: 18px; padding: 2px 10px;
 background: #ba9d32; border-radius: 50px; color: #fff; font-size: 12px; vertical-align: middle; transform: translateY(-1px);
}
#entry .ctn ul li dl dd label { position: relative; display: inline-block; margin-right: 10px; padding: 5px 10px; padding-left: 40px;}
#entry .ctn ul li dl dd label input[type="checkbox"] { width: 20px; height: 20px; position: absolute; left: 0; top: 50%; transform: translateY(-60%);
}
#entry .ctn ul li dl dd input[type="text"],
#entry .ctn ul li dl dd input[type="tel"],
#entry .ctn ul li dl dd input[type="email"]{ width: 100%; max-width: 660px; padding: 8px; background: #fff; border-radius: 6px; border: none;}
#entry .ctn ul li dl dd input[type="file"]::file-selector-button { margin-right: 12px; padding: 8px 24px; border-radius: 6px;
 background-color: #fff; border: none; color: #000; cursor: pointer;
}
#entry .ctn ul li dl dd textarea { width: 100%; height: 230px; padding: 8px; background: #fff; border-radius: 6px; border: none;}
#entry .ctn ul li dl dd span.note { display: block; padding-top: 8px; font-size: 12px;}
#entry .confirm { padding: 36px 0;}
#entry .confirm p { position: relative; text-align: center;}
#entry .confirm p input[type="checkbox"] { display: inline-block; width: 20px; height: 20px; margin-right: 12px; background: #fff; border: none; outline: none; vertical-align: sub;}
#entry .confirm p a { color: #000;}
#entry .confirm p a:hover { text-decoration: none;}

#entry .btn-submit { position: relative; width: 80%; max-width: 360px; margin: 0 auto;
 background: linear-gradient(-40deg,#000 40%,#ba9d32 60%); background-size: 400% 400%; background-position: 100% 0%;
 border-radius: 50px; overflow: hidden;
 transition: background 0.4s ease;
}
#entry .btn-submit::before { content: ''; display: block; position: absolute; width: 8px; height: 8px;
 background: #fff; border-radius: 50%; right: 30px; top: 50%; transform: translate(0,-50%); z-index: 3;
 transition: 0.4s ease;
}
#entry .btn-submit input[type="submit"] { position: relative; display: block; width: 100%;
 padding: 15px 0; padding-left: 50px; background: none; border: none; z-index: 2;
 color: #fff; font-size: 20px; font-weight: 700; letter-spacing: 0.2rem; text-align: left; text-decoration: none;
 transition: 0.4s ease 0.06s;
}
#entry .btn-submit svg { width: 18px; fill: #fff; position: absolute; left: 30px; top: 50%; transform: translate(-100px,-50%) scale(0); z-index: 2;
 transition: 0.4s ease 0.1s;
}
#entry .btn-submit input[type="submit"]:disabled { background: #ccc;}
#entry .btn-submit .wpcf7-spinner { position: absolute; left: 50%;}

#entry .btn-submit:hover { background-position: 0% 0%;}
#entry .btn-submit:hover input[type="submit"] { text-indent: 30px;}
#entry .btn-submit:hover:before{ height: 2px; transform: translate(50px,-50%);}
#entry .btn-submit:hover svg { transform: translate(0,-50%) scale(1);}

@media (max-width: 1001px) {
	#entry .ctn { padding: 30px;}
}
@media (max-width: 801px) {
	#entry .ctn ul li { border-width: 2px; padding: 12px 6px;}
	#entry .ctn ul li dl dt { width: 220px; padding-top: 12px; font-size: 16px;}
}
@media (max-width: 641px) {
	#entry .ctn ul li dl dt,
	#entry .ctn ul li dl dd { display: block;}
	#entry .ctn ul li dl dt { width: 100%; margin-bottom: 12px;}
	#entry .ctn ul li dl dd { width: 100%; padding: 0;}
	#entry .confirm { padding: 24px 0;}
}
@media (max-width: 481px) {
	#entry .inner-sct { padding: 12px 0 60px;}
	#entry .ctn { padding: 12px 15px 30px; border-radius: 20px;}
	#entry .ctn ul li { border-width: 1px;}
	#entry .ctn ul li dl dt { margin-bottom: 6px; padding-top: 0px; font-size: 14px;}
	#entry .ctn ul li dl dt span.must { margin-left: 8px; padding: 2px 10px; font-size: 10px;}
	#entry .ctn ul li dl dd { font-size: 13px;}
	#entry .ctn ul li dl dd label { padding-left: 30px;}
	#entry .ctn ul li dl dd input[type="text"],
	#entry .ctn ul li dl dd input[type="tel"],
	#entry .ctn ul li dl dd input[type="email"]{ padding: 4px;}
	#entry .ctn ul li dl dd input[type="file"]::file-selector-button { padding: 4px 16px;}
	#entry .ctn ul li dl dd textarea { height: 120px;}
	#entry .confirm { padding: 16px 0;}
	#entry .confirm p { font-size: 13px;}

	#entry .btn-submit input[type="submit"] { padding: 10px 0; font-size: 14px; padding-left: 30px;}
	#entry .btn-submit:before{ width: 5px; height: 5px; right: 15px;}
	#entry .btn-submit svg { width: 12px; left: 16px;}
	#entry .btn-submit:hover input[type="submit"] { text-indent: 20px;}
}


#thanks .inner-sct { width: 88%; margin: 0 auto; height: 100vh; padding: 240px 0;}
#thanks .txt { width: 92%; max-width: 1200px; margin: 0 auto 60px;}
#thanks .txt h3 { margin-bottom: 50px; font-size: 26px; font-weight: 700; letter-spacing: 0.2rem; line-height: 1.4; text-align: center;}
#thanks .txt p { width: 100%; max-width: 720px; margin: 0 auto; font-size: 18px; letter-spacing: 0.2rem; text-align: left;}
#thanks .btn { max-width: 230px; margin: 0 auto;}
@media (max-width: 801px) {
	#thanks .inner-sct { padding: 240px 0 120px;}
	#thanks .txt h3 span { display: block;}
	#thanks .txt p { text-align: left;}
}
@media (max-width: 481px) {
	#thanks .inner-sct { padding: 180px 0 180px;}
	#thanks .txt h3 { margin-bottom: 30px; font-size: 20px; letter-spacing: 0.1rem;}
	#thanks .txt p { font-size: 13px; letter-spacing: 0.1rem;}
	#thanks .btn { max-width: 200px;}
}



#link { position: relative; z-index: 2;}
#link:after { content: ''; display: block; width: 100%; height: calc(100% + 100px); position: absolute; left: 0; top: -50px; z-index: 1;
 background: #f6f6f6 url('../img/bg-2.png') no-repeat 50% 50%;
}
#link .inner-sct { position: relative; width: 88%; max-width: 1200px; margin: 0 auto; padding: 80px 0; z-index: 2;}
#link .bloc-1 { position: relative; margin-bottom: 80px; padding-right: 40%;}
#link .bloc-2 { position: relative; padding-left: 40%;}
#link .ttl { position: absolute; width: 38%; top: 50%; transform: translateY(-50%);}
#link .bloc-1 .ttl { right: 0; padding-left: 25%; background: url('../img/tit-enviroment.png') no-repeat 100% 0 / auto 100%;}
#link .bloc-2 .ttl { left: 0; padding-left: 220px; background: url('../img/tit-recruit.png') no-repeat 100px 0 / auto 100%;}
#link .ctn { position: relative; width: 100%;}
#link ul li { width: 100%; padding: 10px; font-size: 22px;}
#link ul li a { position: relative; display: block; width: 100%; color: #fff; font-weight: 700;}
#link ul li a:after { content: ''; display: block; width: 100%; padding-top: 34%; position: relative; border-radius: 20px;
 transition: 0.4s ease;
}
#link .bloc-1 ul li:nth-child(1) a:after { background: url('../img/link-1.jpg') no-repeat 50% 50% / 100% auto; }
#link .bloc-1 ul li:nth-child(2) a:after { background: url('../img/link-2.jpg') no-repeat 50% 50% / 100% auto; }
#link .bloc-2 ul li:nth-child(1) a:after { background: url('../img/link-3.jpg') no-repeat 50% 50% / 100% auto; }
#link ul li a span.txt { display: block; width: 100%; position: absolute; left: 0; top: 50%; transform: translateY(-50%); z-index: 2;
 letter-spacing: 0.2rem; line-height: 1; text-align: center;
}
#link ul li a span.txt span.eng { display: block; margin-bottom: 18px; font-size: 25px; letter-spacing: 0.3rem;}
#link .bloc-1 ul li a:hover:after,
#link .bloc-2 ul li a:hover:after { background-size: 105% auto; opacity: 0.8;}
@media (max-width: 1281px) {
	#link .bloc-1 { margin-bottom: 40px;}
	#link .bloc-2 .ttl { padding-left: 180px; background-position: 50px 0;}
}
@media (max-width: 1001px) {
	#link .bloc-1 .ttl { padding-top: 72px; padding-left: 15%;}
	#link .bloc-2 .ttl { padding-top: 72px; padding-left: 100px; background-position: 0px 0;}
}
@media (max-width: 801px) {
	#link .bloc-1 { margin-bottom: 40px; padding-right: 0%;}
	#link .bloc-2 { padding-left: 0%;}
	#link .ttl { position: relative; width: 100%; top: auto; transform: translateY(0%);}
	#link .bloc-1 .ttl { right: auto; left: 0; background-position: 0% 0;}
	#link .bloc-2 .ttl { background-position: 0% 0;}
	#link ul { display: block; width: 100%; max-width: 400px; margin: 0 auto;}
	#link ul li { width: 100%; margin: 0 auto; padding: 15px 0;}
	#link ul li a:after { padding-top: 30%;}
}

@media (max-width: 481px) {
	#link .inner-sct { padding: 40px 0;}
	#link .bloc-1 .ttl { margin-bottom: 8px; padding-top: 60px; padding-left: 80px;}
	#link .bloc-2 .ttl { margin-bottom: 8px; padding-top: 60px; padding-left: 80px; background-position: 0px 0;}
	#link ul li { padding: 6px 0; font-size: 12px;}
	#link ul li a:after { border-radius: 8px;}
	#link ul li a span.txt {}
	#link ul li a span.txt span.eng { margin-bottom: 10px; font-size: 14px;}
}




#contact { position: relative; z-index: 3;}
#contact .inner-sct { padding: 70px 0 20px; background: #ededed; border-top-left-radius: 50px; border-top-right-radius: 50px;}
#contact .ctn-flex { display: flex; justify-content: space-between; width: 88%; max-width: 1200px; margin: 0 auto;}
#contact .ctn { width: 47.5%; max-width: 580px; padding: 50px 0 70px; background: #fff; border-radius: 50px;}
#contact .ctn h3 { margin-bottom: 35px; font-size: 40px; font-weight: 700; letter-spacing: 0.2rem; line-height: 1.25; text-align: center;}
#contact .ctn h3 span { display: inline-block; border-bottom: solid 3px #ba9d32;}
#contact .ctn .btn,
#contact .ctn .btn-entry { width: 60%; max-width: 350px; margin: 0 auto;}
#contact .ctn .btn a,
#contact .ctn .btn-entry a { padding: 12px 0; font-size: 24px;}
#contact .ctn .btn a:before,
#contact .ctn .btn-entry a:before { width: 10px; height: 10px;}
#contact .ctn .btn a svg,
#contact .ctn .btn-entry a svg { width: 22px;}
#contact .ctn .btn a:hover:before,
#contact .ctn .btn-entry a:hover:before{ height: 2px; transform: translate(50px,-50%);}
@media (max-width: 801px) {
	#contact .ctn-flex { display: block;}
	#contact .ctn { width: 100%; margin: 0 auto;}
	#contact .ctn:nth-child(1) { margin-bottom: 30px;}
	#contact .ctn .btn a,
	#contact .ctn .btn-entry a { text-align: center;}
	#contact .ctn .btn a span,
	#contact .ctn .btn-entry a span { padding-left: 0px;}
}
@media (max-width: 641px) {
}
@media (max-width: 481px) {
	#contact .inner-sct { padding: 30px 0 12px; border-top-left-radius: 20px; border-top-right-radius: 20px;}	
	#contact .ctn { padding: 24px 0 30px; border-radius: 25px;}
	#contact .ctn:nth-child(1) { margin-bottom: 20px;}
	#contact .ctn h3 { margin-bottom: 20px; font-size: 24px;}
	#contact .ctn h3 span { border-width: 2px;}
	#contact .ctn .btn a,
	#contact .ctn .btn-entry a { padding: 8px 0; font-size: 16px;}
	#contact .ctn .btn a:before,
	#contact .ctn .btn-entry a:before { width: 6px; height: 6px;}
	#contact .ctn .btn a svg,
	#contact .ctn .btn-entry a svg { width: 16px;}
}



.policy-ttl .inner { width: 88%; max-width: 1200px; margin: 0 auto; padding: 220px 0 68px;}
.policy-ttl h1 { font-weight: 700; line-height: 1;}
.policy-ttl h1 span.eng { display: inline-block; margin-bottom: 30px; padding-bottom: 6px; border-bottom: solid 3px #ba9d32; font-size: 60px; font-weight: 900; letter-spacing: 0.8rem;}
.policy-ttl h1 span.jp { display: block; position: relative; padding-left: 26px; font-size: 20px; letter-spacing: 0.3rem; line-height: 1;}
.policy-ttl h1 span.jp:before { content: ''; display: block; width: 12px; height: 12px; background: #000; border-radius: 50%;
 position: absolute; left: 0; top: 50%; transform: translateY(-45%);
}
@media (max-width: 801px) {
	.policy-ttl .inner { padding: 180px 0 60px;}
	.policy-ttl h1 span.eng { font-size: 6.0vw;}
	.policy-ttl h1 span.jp { font-size: 2.4vw;}
}
@media (max-width: 481px) {
	.policy-ttl .inner { padding: 120px 0 40px;}
	.policy-ttl h1 span.eng { margin-bottom: 12px; padding-bottom: 4px; border-width: 2px; font-size: 32px; letter-spacing: 0.25rem;}
	.policy-ttl h1 span.jp { padding-left: 15px; font-size: 15px; letter-spacing: 0.2rem;}
	.policy-ttl h1 span.jp:before { width: 6px; height: 6px;}
}


#policy .inner-sct { width: 88%; margin: 0 auto; padding: 40px 0 80px;}
#policy .box { width: 100%; max-width: 1200px; margin: 0 auto; padding: 80px; border-radius: 50px; background: #ededed;}
#policy .box p { font-size: 14px;}
#policy .box p.mb { margin-bottom: 30px;}
#policy .box ol { margin-bottom: 30px;}
#policy .box ol li { margin-bottom: 40px; font-size: 14px; letter-spacing: 0.1rem; line-height: 2;}
#policy .box ol li:last-child { margin-bottom: 0px;}
#policy .box ol li span { display: block; font-size: 18px; font-weight: 700;}
#policy .box ol li dl { padding-top: 30px;}
#policy .box ol li dl dt { font-weight: 700;}
#policy .box ol li ul { padding-top: 30px;}
#policy .box ol li ul li { margin-bottom: 0px;}
@media (max-width: 801px) {
	#policy .box { padding: 40px;}
}
@media (max-width: 481px) {
	#policy .box { padding: 30px 24px; border-radius: 20px;}
	#policy .box p { font-size: 13px;}
	#policy .box p.mb { margin-bottom: 20px;}
	#policy .box ol { margin-bottom: 20px;}
	#policy .box ol li { margin-bottom: 18px; font-size: 13px; letter-spacing: 0.05rem; line-height: 1.8;}
	#policy .box ol li span { margin-bottom: 5px; font-size: 14px; line-height: 1.4;}
	#policy .box ol li dl { padding-top: 12px;}
	#policy .box ol li ul { padding-top: 12px;}
}


#notfound .inner-sct { width: 88%; margin: 0 auto; height: 100vh; padding: 240px 0;}
#notfound .txt { width: 92%; max-width: 1200px; margin: 0 auto 80px;}
#notfound .txt h3 { margin-bottom: 40px; font-size: 50px; font-weight: 700; letter-spacing: 0.075rem; line-height: 1; text-align: center;}
#notfound .txt h3 span { display: block; font-size: 172px; letter-spacing: 0.2rem;}
#notfound .txt p { margin: 0 auto; font-size: 18px; letter-spacing: 0.2rem; text-align: center;}
#notfound .btn { max-width: 230px; margin: 0 auto;}
@media (max-width: 801px) {
	#notfound .inner-sct { padding: 240px 0 120px;}
	#notfound .txt h3 span { display: block;}
	#notfound .txt p { text-align: left;}
}
@media (max-width: 481px) {
	#notfound .inner-sct { padding: 180px 0 180px;}
	#notfound .txt h3 { margin-bottom: 30px; font-size: 20px; letter-spacing: 0.1rem;}
	#notfound .txt h3 span { font-size: 100px;}
	#notfound .txt p { font-size: 13px; letter-spacing: 0.1rem;}
	#notfound .btn { max-width: 200px;}
}