@charset "utf-8";
#page-kv { background: url('../img/bg-kv.jpg') no-repeat 50% 50% / cover;}
#page-kv .inner { position: relative; padding: 72px 0 50px;}
#page-kv h1 { position: relative; margin-bottom: 12px;
 font-size: 42px; font-weight: 700; letter-spacing: 0.1rem; line-height: 1; text-align: center; text-transform:uppercase;
}
#page-kv h1 span { display: block;}
#page-kv p { font-size: 16px; font-weight: 600; letter-spacing: 0.3rem; line-height: 1; text-align: center;}
#page-kv p:before { content: ''; position: relative;
 display: inline-block; width: 12px; height: 12px; margin-right: 10px;
 background: #ba9d33; border-radius: 50%; vertical-align: middle;
}
#page-kv p span { display: inline-block; vertical-align: middle;}
@media (max-width: 1281px) {
}
@media (max-width: 1001px) {
}
@media (max-width: 801px) {
}
@media (max-width: 481px) {
	#page-kv .inner { padding: 40px 0 30px;}
	#page-kv h1 { margin-bottom: 6px; font-size: 30px;}
	#page-kv p { font-size: 14px;}
	#page-kv p:before { width: 6px; height: 6px;}
}



#pager .inner{ position: relative; width: 90%; max-width: 280px; margin: 0 auto; padding: 50px 36px;}
#pager .prev,
#pager .next { width: 20px; position: absolute; top: 50%; transform: translateY(-50%);}
#pager .prev { left: 0;}
#pager .next { right: 0;}
#pager .prev a,
#pager .next a { position: relative; display: block; width: 100%; padding-top: 100%;}
#pager .prev a svg,
#pager .next a svg { width: 100%; height: auto; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); fill: #000;
 transition: 0.4s ease;
}
#pager ul { font-size: 0; text-align: center;}
#pager ul li { display: inline-block; padding: 6px; font-size: 18px;}
#pager ul li span,
#pager ul li a { display: block; width: 36px; height: 36px; border-radius: 50%; line-height: 34px; color: #fff; font-weight: 700;}
#pager ul li span { background: #ba9d32;}
#pager ul li a { background: #000; text-decoration: none; transition: 0.4s ease;}
#pager ul li a:hover { background: #ba9d32;}
#pager .prev a:hover svg,
#pager .next a:hover svg { fill: #ba9d32;}
@media (max-width: 481px) {
	#pager .inner{ padding: 30px 36px;}
}


#pager .inner-wide { position: relative; width: 92%; max-width: 920px; margin: 0 auto; padding: 50px 0px;}
#pager .btn-prev,
#pager .btn-next { width: 28%; max-width: 160px; position: absolute; top: 50%; transform: translateY(-50%);}
#pager .btn-back { width: 40%; max-width: 200px; margin: 0 auto;}
#pager .btn-prev { left: 0;}
#pager .btn-next { right: 0;}
#pager .btn-prev a,
#pager .btn-next a,
#pager .btn-back a { position: relative; display: block; width: 100%; padding: 7px 0; border-radius: 50px; overflow: hidden;
 background: linear-gradient(-40deg,#000 40%,#ba9d32 60%); background-size: 500% 500%; background-position: 100% 0%;
 color: #fff; font-size: 20px; font-weight: 700; letter-spacing: 0.2rem; text-decoration: none;
 transition: background 0.4s ease;
}
#pager .btn-prev a { text-align: right;}
#pager .btn-prev a span,
#pager .btn-next a span,
#pager .btn-back a span { position: relative; display: inline-block; z-index: 2;}
#pager .btn-prev a span,
#pager .btn-next a span { padding: 0 24px; transition: 0.4s ease 0.02s;}
#pager .btn-prev a svg,
#pager .btn-next a svg,
#pager .btn-back a svg { width: 18px; fill: #fff; position: absolute; top: 50%; z-index: 2; transition: 0.4s ease 0.1s;}
#pager .btn-prev a svg,
#pager .btn-next a svg { transform: translateY(-50%);}
#pager .btn-prev a svg { left: 24px;}
#pager .btn-next a svg { right: 24px;}

#pager .btn-prev a:hover,
#pager .btn-next a:hover { background-position: 0% 0%;}
#pager .btn-prev a:hover svg { left: 18px;}
#pager .btn-next a:hover svg { right: 18px;}

#pager .btn-back a:before,
#pager .btn-back a:after { content: ''; display: block; position: absolute;}
#pager .btn-back a:before{ width: 8px; height: 8px; background: #fff; border-radius: 50%; right: 30px; top: 50%; transform: translate(0,-50%); z-index: 2;
 transition: 0.4s ease;
}
#pager .btn-back a span { padding-left: 30px; transition: 0.4s ease 0.06s;}
#pager .btn-back a svg { left: 30px; transform: translate(-100px,-50%) scale(0);}
#pager .btn-back a:hover { background-position: 0% 0%;}
#pager .btn-back a:hover:before{ height: 2px; transform: translate(50px,-50%);}
#pager .btn-back a:hover:after { transform: translateX(65%);}
#pager .btn-back a:hover span { text-indent: 50px;}
#pager .btn-back a:hover svg { transform: translate(0,-50%) scale(1);}
@media (max-width: 801px) {
	#pager .btn-prev a,
	#pager .btn-next a,
	#pager .btn-back a { font-size: 16px;}
}
@media (max-width: 481px) {
	#pager .inner-wide { padding: 30px 0px;}
	#pager .btn-prev,
	#pager .btn-next { width: 30%;}
	#pager .btn-back { width: 32%;}
	#pager .btn-prev a,
	#pager .btn-next a,
	#pager .btn-back a { font-size: 13px;}
	#pager .btn-back a { padding: 6px 0;}
	#pager .btn-back a:before{ width: 5px; height: 5px; right: 15px;}
	#pager .btn-prev a span,
	#pager .btn-next a span { padding: 0 16px;}
	#pager .btn-back a span { padding-left: 20px;}
	#pager .btn-prev a svg,
	#pager .btn-next a svg,
	#pager .btn-back a svg { width: 12px;}
	#pager .btn-prev a svg { left: 10px;}
	#pager .btn-next a svg { right: 10px;}
	#pager .btn-back a svg { left: 16px;}
	#pager .btn-back a:hover span { text-indent: 20px;}
}




#about .inner-sct { padding: 60px 0px;}
#about .ctn { width: 88%; max-width: 1000px; margin: 0 auto; padding-bottom: 40px;}
#about .ctn ul { font-size: 0; }
#about .ctn ul li { padding: 32px 10px; border-bottom: solid 2px #ededed;}
#about .ctn ul li dl { display: table; width: 100%;}
#about .ctn ul li dl dt,
#about .ctn ul li dl dd { display: table-cell;}
#about .ctn ul li dl dt { width: 220px; font-size: 18px; font-weight: 700; letter-spacing: 0.1rem;}
#about .ctn ul li dl dd { width: auto; font-size: 18px;}
#about .ctn ul li dl dd a { color: #000;}
#about .ctn ul li dl dd a:hover { text-decoration: none;}
#about .ctn ul li dl dd a.logo { display: block; width: 65%; max-width: 250px; margin-top: 14px; margin-left: 30px;}
#about .ctn ul li dl dd a.logo img { width: 100%;}
#about .ctn ul li .btn { max-width: 300px;}
@media (max-width: 1001px) {
}
@media (max-width: 801px) {
	#about .ctn ul li { padding: 24px 10px;}
	#about .ctn ul li dl dt { width: 150px; font-size: 16px;}
	#about .ctn ul li dl dd { font-size: 16px;}
}
@media (max-width: 481px) {
	#about .inner-sct { padding: 40px 0px;}
	#about .ctn ul li { padding: 12px 8px; border-width: 1px;}
	#about .ctn ul li dl dt,
	#about .ctn ul li dl dd { display: block; letter-spacing: 0.05rem;}
	#about .ctn ul li dl dt { width: 100%; margin-bottom: 4px; font-size: 15px;}
	#about .ctn ul li dl dd { width: 100%; font-size: 13px;}	
}


#news .inner-sct { padding: 40px 0px;}
#news .category { width: 90.8%; max-width: 1200px; margin: 0 auto 20px;}
#news .category h3 { margin-bottom: 6px; padding-left: 5px; font-size: 24px; font-weight: 700;}
#news .category ul { font-size: 0;}
#news .category ul.mb { margin-bottom: 30px;} 
#news .category ul li { display: inline-block; font-size: 15px; padding: 5px; font-size: 15px; letter-spacing: 0.05rem; line-height: 1.2;}
#news .category ul li a { display: block; padding: 6px 10px 8px; border: solid 2px #c8c8c8; border-radius: 50px;
 color: #000; text-decoration: none; transition: 0.4s ease;
}
#news .category ul li a.is_active { background: #ba9d32; border-color: #ba9d32; color: #fff;}

#news .category ul li a:hover { background: #ba9d32; border-color: #ba9d32; color: #fff;}
#news .ctn { width: 90.8%; max-width: 1200px; margin: 0 auto;}
#news .ctn ul.list { width: 100%; font-size: 0;}
#news .ctn ul.list li { display: inline-block; width: 25%; padding: 36px 15px;}
#news .ctn ul.list li a { display: block; color: #000; text-decoration: none;}
#news .ctn ul.list li a dl dt { position: relative; width: 100%; padding-top: 52.5%; margin-bottom: 10px; overflow: hidden; background: #efefef;}
#news .ctn ul.list li a dl dt img { position: absolute; left: 50%; top: 50%; width: 100%; transform: translate(-50%,-50%); transition: 0.4s ease;}
#news .ctn ul.list li a dl dd.tit { margin-bottom: 8px; font-size: 16px; letter-spacing: 0.1rem; line-height: 1.5;}
#news .ctn ul.list li a dl dd.tit time { display: block; margin-bottom: 4px; color: #979797; font-weight: 700; vertical-align: middle;}
#news .ctn ul.list li a dl dd.cate span { display: inline-block; width: auto; margin-right: 8px; background: #000; padding: 1px 10px 3px; background: #000; border-radius: 50px; color: #fff; font-size: 15px; line-height: 1.2; vertical-align: middle;}

#news .ctn ul.list li a dl dd.date { padding-top: 6px;}
#news .ctn ul.list li a dl dd.date time { color: #979797; font-size: 16px; font-weight: 700; vertical-align: middle;}

#news .ctn ul.list li a:hover { opacity: 0.8;}
#news .ctn ul.list li a:hover dl dt img { transform: translate(-50%,-50%) scale(1.05);}

@media (max-width: 1001px) {
	#news .ctn ul.list li { width: 50%; padding: 10px;}
	#news .ctn ul.list li a dl dd.tit { font-size: 14px;}
	#news .ctn ul.list li a dl dd.cate span { font-size: 12px;}

	#news .ctn .box { margin-bottom: 20px; padding: 20px 15px;}
	#news .ctn .box h3 { margin-bottom: 6px; font-size: 21px;}
	#news .ctn .box ul.cate li { font-size: 13px;}
	#news .ctn .box ul.rel li { margin-bottom: 20px; font-size: 13px;}
}
@media (max-width: 801px) {
	#news .ctn ul.list li { padding: 10px 5px; font-size: 14px;}
	#news .ctn .box ul.rel li { display: inline-block; width: 50%; margin: 0; padding: 10px 5px;}
}
@media (max-width: 481px) {

	#news .category { margin-bottom: 20px;}
	
	#news .category h3 { margin-bottom: 0px; font-size: 18px;}
	#news .category ul.mb { margin-bottom: 16px;} 
	#news .category ul li { font-size: 13px;}
	#news .category ul li a { padding: 3px 10px 5px;}
	
	#news .ctn ul.list li { padding: 18px 5px; font-size: 14px;}
	#news .ctn ul.list li a dl dt { margin-bottom: 8px;}
	#news .ctn ul.list li a dl dd.tit { font-size: 12px; letter-spacing: 0.05rem;}
	#news .ctn ul.list li a dl dd.tit time { margin-bottom: 2px;}
	#news .ctn ul.list li a dl dd.cate span { padding: 1px 6px 2px; font-size: 10px; letter-spacing: 0.05rem;}
}




#column .inner-sct { padding: 40px 0px;}
#column .flex { display: flex; justify-content: space-between; width: 88%; max-width: 1200px; margin: 0 auto;}
#column .mainCtn { width: 74.5%;}
#column .sideCtn { width: 22.5%; padding-top: 20px;}

#column .mainCtn ul.list { width: 100%; font-size: 0;}
#column .mainCtn ul.list li { display: inline-block; width: 33.33334%; padding: 20px 15px; font-size: 16px;}
#column .mainCtn ul.list li a { display: block; color: #000; text-decoration: none;}
#column .mainCtn ul.list li a dl dt { position: relative; width: 100%; padding-top: 52.5%; margin-bottom: 10px; overflow: hidden; background: #efefef;}
#column .mainCtn ul.list li a dl dt img { position: absolute; left: 50%; top: 50%; width: 100%; transform: translate(-50%,-50%); transition: 0.4s ease;}
#column .mainCtn ul.list li a dl dd { letter-spacing: 0.1rem; line-height: 1.5;}

#column .mainCtn ul.list li a:hover { opacity: 0.8;}
#column .mainCtn ul.list li a:hover dl dt img { transform: translate(-50%,-50%) scale(1.05);}

#column .sideCtn .box { margin-bottom: 25px; padding: 30px 20px; background: #ededed;}
#column .sideCtn .box:last-child { margin-bottom: 0px;}
#column .sideCtn .box h3 { margin-bottom: 10px; padding-left: 5px; font-size: 28px; font-weight: 700; line-height: 1;}
#column .sideCtn .box ul { font-size: 0;}
#column .sideCtn .box ul.cate li { display: inline-block; padding: 5px; font-size: 15px; font-weight: 700; line-height: 1.2;}
#column .sideCtn .box ul.cate li a { display: block; padding: 4px 12px 6px; background: #000; border-radius: 50px;
 color: #fff; text-decoration: none;
 transition: 0.3s ease;
}
#column .sideCtn .box ul.cate li a:hover { background: #ba9d32;}

#column .sideCtn .box ul.rel li { margin-bottom: 30px; font-size: 15px;}
#column .sideCtn .box ul.rel li:last-child { margin-bottom: 0px;}
#column .sideCtn .box ul.rel li a { display: block; color: #000; text-decoration: none;}
#column .sideCtn .box ul.rel li a dl dt { position: relative; width: 100%; padding-top: 52.5%; margin-bottom: 10px; overflow: hidden; background: #efefef;}
#column .sideCtn .box ul.rel li a dl dt img { position: absolute; left: 50%; top: 50%; width: 100%; transform: translate(-50%,-50%); transition: 0.4s ease;}
#column .sideCtn .box ul.rel li a dl dd { letter-spacing: 0.1rem; line-height: 1.4;}

#column .sideCtn .box ul.rel li a:hover { opacity: 0.8;}
#column .sideCtn .box ul.rel li a:hover dl dt img { transform: translate(-50%,-50%) scale(1.05);}
@media (max-width: 1001px) {
	#column .sideCtn { padding-top: 10px;}
	#column .mainCtn ul.list li { width: 50%; padding: 10px;}

	#column .sideCtn .box { margin-bottom: 20px; padding: 20px 15px;}
	#column .sideCtn .box h3 { margin-bottom: 6px; font-size: 21px;}
	#column .sideCtn .box ul.cate li { font-size: 13px;}
	#column .sideCtn .box ul.rel li { margin-bottom: 20px; font-size: 13px;}
}
@media (max-width: 801px) {
	#column .flex { display: block;}
	#column .mainCtn { width: 100%; margin-bottom: 20px;}
	#column .sideCtn { width: 100%; padding-top: 0px;}
	#column .mainCtn ul.list li { font-size: 14px;}
	#column .sideCtn .box ul.rel li { display: inline-block; width: 50%; margin: 0; padding: 10px 5px;}
}


#article .inner-sct { padding: 60px 0;}
#article .article-ctn { width: 88%; max-width: 920px; margin: 0 auto;}
#article .article-ctn .mv { width: 100%; margin: 0 auto 50px;}
#article .article-ctn .mv figure img { width: 100%;}
#article .article-ctn .article-hd { margin-bottom: 30px;}
#article .article-ctn .article-hd h2 { margin-bottom: 20px; font-size: 28px; font-weight: 700; letter-spacing: 0.1rem; line-height: 1.4;}
#article .article-ctn .article-hd p time { display: inline-block; margin-right: 18px; color: #979797; font-weight: 700; vertical-align: middle;}
#article .article-ctn .article-hd p span.tag { display: inline-block; width: auto; vertical-align: middle;}
#article .article-ctn .article-hd p span.tag span { display: inline-block; width: auto; margin-right: 10px; background: #000; padding: 1px 10px 3px; background: #000; border-radius: 50px; color: #fff; font-size: 15px; line-height: 1.2; vertical-align: middle;
}
#article .article-ctn .article-hd p span.tag span:last-child { margin-right: 0px;}

#article .article-ctn .article-hd hr { width: 100%; height: 3px; margin: 0 auto 12px; border: none; background: #ba9d32;}
#article .article-ctn .lead { width: 100%; margin: 0 auto 40px; padding: 30px; background: #ededed; }
#article .article-ctn .lead p { font-size: 16px; letter-spacing: 0.1rem; line-height: 1.8;}
#article .article-ctn .ctn { padding-bottom: 30px;}
#article .article-ctn .ctn h2 { margin-bottom: 20px; font-size: 25px; font-weight: 700; padding: 10px 0; border-bottom: solid 3px #ededed;}
#article .article-ctn .ctn h3 { position: relative; margin-bottom: 12px; padding: 8px 0; padding-left: 30px;
 font-size: 23px; font-weight: 700;
}
#article .article-ctn .ctn h3:before { content: ''; display: block; width: 10px; height: 10px; background: #000; border-radius: 50%; position: absolute; left: 5px; top: 0.95em;
}
#article .article-ctn .ctn p { margin-bottom: 20px; font-size: 18px; letter-spacing: 0.1rem; line-height: 1.8;}
#article .article-ctn .ctn p:last-child { margin-bottom: 0px;}
#article .article-ctn .ctn hr { width: 100%; height: 0; border: none; margin: 0 auto 40px;}
#article .article-ctn .ctn img { max-width: 100%;}
#article .writter { padding: 30px; background: #ededed;}
#article .writter .flex { display: flex; justify-content: space-between; align-items: center;}
#article .writter .pht { width: 300px;}
#article .writter .pht dl { display: table; width: 100%; }
#article .writter .pht dl dt,
#article .writter .pht dl dd { display: table-cell; vertical-align: middle;}
#article .writter .pht dl dt { position: relative; width: 90px; height: 90px; overflow: hidden; border-radius: 50%; background: #fff;}
#article .writter .pht dl dt img { width: auto; height: 100%; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%);}
#article .writter .pht dl dd { padding-left: 25px; color: #646464; font-size: 18px; font-weight: 700;}
#article .writter .pht dl dd span { display: block; color: #000; font-size: 21px;}
#article .writter .txt { width: calc(100% - 300px); padding-left: 40px; border-left: solid 1px #969696;}
#article .writter .txt p { font-size: 14px; letter-spacing: 0.1rem;}
@media (max-width: 801px) {
	#article .inner-sct { padding: 20px 0 40px;}
	#article .article-ctn .mv { margin: 0 auto 30px;}
	#article .article-ctn .article-hd h2 { font-size: 24px;}
	#article .article-ctn .article-hd hr { height: 2px;}
	#article .article-ctn .lead { padding: 20px;}
	#article .article-ctn .lead p { font-size: 14px;}

	#article .article-ctn .ctn h2 { font-size: 21px;}
	#article .article-ctn .ctn h3 { margin-bottom: 6px; font-size: 18px;}
	#article .article-ctn .ctn p { font-size: 16px;}

	#article .writter { padding: 20px 30px;}
	#article .writter .flex { display: block;}
	#article .writter .pht { width: 100%; margin-bottom: 20px;}
	#article .writter .txt { width: 100%; padding: 20px 0 0; border-left: 0px; border-top: solid 1px #969696;}

}
@media (max-width: 481px) {
	#article .inner-sct { padding: 12px 0 40px;}
	#article .article-ctn .mv { margin: 0 auto 20px;}
	#article .article-ctn .article-hd { margin-bottom: 20px;}
	#article .article-ctn .article-hd h2 { margin-bottom: 10px; font-size: 16px; letter-spacing: 0.08rem;}
	#article .article-ctn .article-hd p { font-size: 14px;}
	#article .article-ctn .article-hd p span.tag { font-size: 12px;}

	#article .article-ctn .lead { margin-bottom: 20px; padding: 12px;}
	#article .article-ctn .lead p { font-size: 12px;}

	#article .article-ctn .ctn h2 { margin-bottom: 12px; border-width: 2px; font-size: 16px;}
	#article .article-ctn .ctn h3 { margin-bottom: 6px; padding: 4px 0; padding-left: 20px; font-size: 15px;}
	#article .article-ctn .ctn h3:before { width: 8px; height: 8px; top: 0.8em;}

	#article .article-ctn .ctn p { font-size: 13px; line-height: 1.65; letter-spacing: 0.05rem;}
	#article .article-ctn .ctn hr { margin: 0 auto 30px;}

	#article .writter { padding: 15px 20px;}
	#article .writter .pht { margin-bottom: 12px;}
	#article .writter .pht dl dt { width: 72px;}
	#article .writter .pht dl dd { padding-left: 18px; font-size: 13px;}
	#article .writter .pht dl dd span { font-size: 15px;}
	#article .writter .txt { padding: 12px 0 0;}
	#article .writter .txt p { font-size: 12px; letter-spacing: 0.05rem;}
}


#contact .inner-sct  { padding: 60px 0px;}
#contact .lead { width: 88%; max-width: 1000px; margin: 0 auto 50px;}
#contact .lead p { font-size: 18px; letter-spacing: 0.2rem;}
#contact .lead .note { padding-top: 40px;}
#contact .lead .note p { position: relative; padding-left: 1.2rem; font-size: 15px;}
#contact .lead .note p:before { content: '※'; position: absolute; left: 0;}
#contact .lead .note p span { display: block;}
#contact .ctn { width: 88%; max-width: 1000px; margin: 0 auto;}
#contact .ctn ul { border-top: solid 2px #ededed; font-size: 0;}
#contact .ctn ul li { padding: 32px 10px; border-bottom: solid 2px #ededed;}
#contact .ctn ul li dl { display: table; width: 100%;}
#contact .ctn ul li dl dt,
#contact .ctn ul li dl dd { display: table-cell; vertical-align: top;}
#contact .ctn ul li dl dt { width: 300px; font-size: 18px; font-weight: 700; letter-spacing: 0.1rem;}
#contact .ctn ul li dl dt span.required { position: relative;
 display: inline-block; margin-left: 20px; padding: 2px 10px 4px; background: #ba9d32; border-radius: 50px;
 color: #fff; font-size: 14px; line-height: 1; transform: translateY(-2px;)
}
#contact .ctn ul li dl dd { width: auto; font-size: 18px;}
#contact .ctn ul li dl dd input[type="text"],
#contact .ctn ul li dl dd input[type="email"],
#contact .ctn ul li dl dd input[type="tel"] { width: 100%; max-width: 660px; padding: 8px 10px; background: #f4f4f4; border: solid 1px #c8c8c8; border-radius: 6px;}
#contact .ctn ul li dl dd textarea { width: 100%; max-width: 660px; height: 220px; padding: 8px 10px; background: #f4f4f4; border: solid 1px #c8c8c8; border-radius: 6px;}
#contact .confirm { padding: 40px 0;}
#contact .confirm p { position: relative; text-align: center;}
#contact .confirm p input[type="checkbox"] { display: inline-block; width: 20px; height: 20px; margin-right: 12px; background: #fff; border: none; outline: none; vertical-align: sub;}
#contact .confirm p a { color: #000;}
#contact .confirm p a:hover { text-decoration: none;}

#contact .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;
}
#contact .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;
}
#contact .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;
}
#contact .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;
}

#contact .btn-submit input[type="submit"]:disabled { background: #ccc;}
#contact .btn-submit .wpcf7-spinner { position: absolute; left: 50%;}

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

@media (max-width: 1001px) {
}
@media (max-width: 801px) {
	#contact .ctn ul li { padding: 24px 10px;}
	#contact .ctn ul li dl dt { width: 150px; font-size: 16px;}
	#contact .ctn ul li dl dd { font-size: 16px;}
	#contact .confirm { padding: 24px 0;}
}
@media (max-width: 641px) {
	#contact .ctn ul li dl dt,
	#contact .ctn ul li dl dd { display: block; letter-spacing: 0.05rem;}
	#contact .ctn ul li dl dt { width: 100%; margin-bottom: 8px; font-size: 15px;}
	#contact .ctn ul li dl dd { width: 100%; font-size: 13px;}	

}
@media (max-width: 481px) {
	#contact .inner-sct { padding: 40px 0px;}
	#contact .lead { margin-bottom: 30px;}
	#contact .lead p { font-size: 14px; letter-spacing: 0.1rem;}
	#contact .lead .note { padding-top: 20px;}
	#contact .lead .note p { font-size: 12px;}

	#contact .ctn ul { border-width: 1px;}
	#contact .ctn ul li { padding: 12px 8px; border-width: 1px;}

	#contact .ctn ul li dl dd input[type="text"],
	#contact .ctn ul li dl dd input[type="tel"],
	#contact .ctn ul li dl dd input[type="email"]{ padding: 4px;}
	#contact .ctn ul li dl dd textarea { height: 120px;}
	#contact .confirm { padding: 16px 0;}
	#contact .confirm p { font-size: 13px;}

	#contact .btn-submit input[type="submit"] { padding: 10px 0; font-size: 14px; padding-left: 30px;}
	#contact .btn-submit:before{ width: 5px; height: 5px; right: 15px;}
	#contact .btn-submit svg { width: 12px; left: 16px;}
	#contact .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;}
}




.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;}
}