@charset "UTF-8";
/* CSS Document */

/*-----------------------------------------------------
Contents
-----------------------------------------------------*/
#Mainvisual { width: 100%; height: 440px; position: relative; box-sizing: border-box; overflow: hidden; display: flex; justify-content: space-between; flex-direction: column; }
.topicpath { max-width: 1040px; width: 95%; margin: auto; display: flex; justify-content: flex-start; margin-top: 130px; font-size: 0.813em; color: #FFF; }
.topicpath li { display: block; }
.topicpath li + li::before { content: "〉"; display: inline-block; margin-left: 0.5em; }
.topicpath li a { color: #FFF; display: inline-block; }
.topicpath li a:hover { text-decoration: underline; }

#Mainvisual h1 { color: #FFF; text-align: center; margin: auto; font-weight: 700; font-size: 1.125em; transform: translateY(-140%); }
#Mainvisual h1 strong { font-size: 2.188rem; font-family: 'Noto Sans', sans-serif; font-style: italic; display: inline-block; margin-bottom: 10px; transform-origin: 0% 50%; animation: text 1.5s cubic-bezier(0.290, 0.135, 0.055, 1.000) both; }
#Mainvisual h1 span { display: inline-block; transform-origin: 0% 50%; animation: text 1.5s 0.5s cubic-bezier(0.290, 0.135, 0.055, 1.000) both; }
#Contents nav { max-width: 1000px; width: 95%; margin: 0 auto; background: #FFF; position: relative; top: -76px; }
#Contents nav ul { display: flex; justify-content: center; align-items: center; height: 76px; }
#Contents nav ul li { padding: 0 40px; }
#Contents nav ul li a:hover { color: #008842; transition: 0.3s; }
#Contents nav ul li a.ac::after { content: ""; display: block; height: 2px; width: 100%; background: #008842; transform: translateY(5px); }

#Contents { width: 100%; }
#Contents .inner { max-width: 820px; }

h2:not(.ttl) { border-bottom: 2px solid #d6d6d6; padding-bottom: 10px; font-size: 1.125em; font-weight: 700; margin-top: 60px; position: relative; line-height: 1.3em; }
h2:not(.ttl)::after { content: ""; display: block; width: 130px; height: 2px; background: #008842; position: absolute; bottom: -2px; }
section:first-of-type h2:first-child { margin-top: 0; }

h3 { color: #008842; font-size: 1.125em; font-weight: 700; line-height: 1.3em; }
#Contents p { line-height: 1.7em; }
h3 + p { margin-top: 25px; }
#Contents p + p { margin-top: 30px; }
.ttl + p { margin-top: 30px; }


#Company header ul li:nth-child(4) a,
#Service header ul li:nth-child(2) a,
#Download header ul li:nth-child(3) a,
#Recruit header ul li:nth-child(5) a,
#Contact header ul li:nth-child(6) a { color: #008842; }

.tb,br.sp { display: none; }


/*-----------------------------------------------------
会社案内
-----------------------------------------------------*/
#Company #Mainvisual { background: url(../../company/images/main_img_overview.jpg) no-repeat center; background-size: cover; }
#Outline { padding-bottom: 100px; }
#Outline dl { display: flex; justify-content: space-between; flex-wrap: wrap; line-height: 1.7em; margin-top: 5px; }
#Outline dt { width: 8em; box-sizing: border-box; padding: 15px 0.5em; border-top: 1px dotted #969696; }
#Outline dd { width: calc(100% - 8em); padding: 15px 0.5em; box-sizing: border-box; border-top: 1px dotted #969696; }
#Outline dt:first-child,#Outline dt:first-child + dd { border-top: none; }

.photo { margin-top: 35px; }

#Greeting { background: #eef3f3; padding: 50px 0; }
#Greeting .flexbox { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; }
#Greeting .img { max-width: 250px; width: 30%; margin-top: 30px; }
#Greeting .txt { width: 63%; margin-top: 30px; }
#Greeting .name { text-align: right; }
#Greeting .name img { max-width: 119px; height: auto; }

#History { padding-bottom: 20px; }
#History dl { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; line-height: 1.7em; padding-bottom: 80px;
background: -webkit-linear-gradient(top, #008842 0%,#008842 76%,#ffffff 100%);
background: linear-gradient(to bottom, #008842 0%,#008842 76%,#ffffff 100%); background-repeat: no-repeat; background-size: 1px 100%; background-position:  left 8em top 7px; margin-top: 35px; }
#History dt { width: 6em; margin-top: 35px; }
#History dd { width: calc(100% - 8em); margin-top: 35px; padding-left: 2em; box-sizing: border-box; position: relative; }
#History dd::before { content: ""; display: inline-block; width: 13px; height: 13px; border-radius: 50%; background: #008842; position: absolute; left: -6px; top: 7px; }
#History dt:first-child,#History dt:first-child + dd { margin-top: 0; }
#History dt.month { padding-left: 3.2em; box-sizing: border-box; }
#History dt.month,#History dt.month + dd { margin-top: 5px; }

#Access { padding-bottom: 100px; }
#Access .flexbox { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; }
#Access .img,#Access .txt { width: 47%; margin-top: 90px; }
#Access .img:first-child,#Access .img:first-child + .txt { margin-top: 35px; }
#Access .txt p { margin-top: 15px; }
.map { margin-top: 5px; }
.map a { display: block; width: 115px; color: #FFF; background: #656464; font-weight: 700; font-size: 0.813em; text-align: center; padding: 10px 0 10px 5px; box-sizing: border-box; transition: 0.5s; }
.map a:hover { background: #8e8e8e; transition: 0.5s; }
.map a::after { content: ""; display: inline-block; width: 6px; height: 6px; border-top: 1px solid #FFF; border-right: 1px solid #FFF; transform: rotate(45deg); margin-left: 12px; }
#Access .photo { width: 181px; margin-top: 25px; }

#Qualuty { padding-bottom: 100px; }
#Qualuty h2 + p { margin-top: 20px; }
#Qualuty ol { line-height: 1.7em; margin-top: 45px; }
#Qualuty ol li { counter-increment: num; text-indent: -1em; margin-left: 1em; }
#Qualuty ol li:before { content: counter(num)"."; font-weight: 700; color: #008842; }
#Qualuty ol li strong { font-weight: 700; }
#Qualuty ol li strong::after { content: "−"; font-weight: 400; }
#Qualuty ol + p { margin-top: 45px; text-align: right; }
#Qualuty ol + p:first-line { font-size: 0.875em; }


/*-----------------------------------------------------
事業案内
-----------------------------------------------------*/
#Service #Mainvisual { background: url(../../service/images/main_img.jpg) no-repeat center; background-size: cover; }
#Service #Contents .inner { max-width: 940px; }
#Service h2.ttl { background: #f0f0f0; font-size: 1.625em; font-weight: 700; border-left: 8px solid #008842; padding: 15px; }
h2:not(.ttl) + p { margin-top: 15px; }
#Service .technique { display: flex; justify-content: space-between; flex-wrap: wrap; }
#Service .technique li { width: 48.5%; margin-top: 25px; font-size: 0.875em; text-align: center; }
#Plate .flexbox { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; }
#Plate .txt { width: 58%; margin-top: 40px; }
#Plate .img { width: 38%; margin-top: 40px; }

#Special,#Print { margin-top: 200px; }
#Print .technique li { margin-top: 25px; }
#Print .technique li img { margin-bottom: 10px; }
#Print { padding-bottom: 100px; }

/*-----------------------------------------------------
採用情報
-----------------------------------------------------*/
#Recruit #Mainvisual { background: url(../../recruit/images/main_img.jpg) no-repeat center #000; background-size: 1280px auto; height: 557px; /*padding-top: 43.49%;*/margin-top: 100px; }
#Recruit .topicpath { margin-top: 30px; }
#Recruit #Mainvisual h1 { font-size: 4.688rem; font-family: 'Noto Sans', sans-serif; font-style: italic; transform: translateY(0); margin: -6% auto 0 auto; transform-origin: 0% 50%; animation: text 1.5s cubic-bezier(0.290, 0.135, 0.055, 1.000) both; }
#Recruit #Mainvisual p { color: #FFF; text-align: center; font-weight: 700; margin: 10px auto auto auto; transform-origin: 0% 50%; animation: text 1.5s 0.5s cubic-bezier(0.290, 0.135, 0.055, 1.000) both; }

#Movie,#App { background: #eef3f3; padding: 100px 0; }
#Message { padding: 100px 0; }
.ttlbox { display: flex; justify-content: space-between; align-items: flex-end; }
#Recruit .ttl { font-size: 4.375rem; font-family: 'Noto Sans', sans-serif; font-style: italic; color: #008842; }
#Recruit h3 { color: #000; font-size: 1.438rem; }
#Recruit h3::before { content: ""; display: inline-block; width: 70px; height: 1px; background: #000; vertical-align: middle; margin-right: 10px; }
#Message p { margin-top: 30px; }
#App { padding: 65px 0 120px 0; }
#App h2 { margin-top: 0; }
#App dl { display: flex; justify-content: space-between; flex-wrap: wrap; line-height: 1.8em; margin-top: 20px; }
#App dl dt { width: 8em; font-weight: 700; padding: 20px 0; border-bottom: 1px dotted #a3a2a2; }
#App dl dd { width: calc(100% - 8em); padding: 20px 0; border-bottom: 1px dotted #a3a2a2; }

/*-----------------------------------------------------
ダウンロード
-----------------------------------------------------*/
#Download #Contents .inner,#News #Contents .inner,#New #Contents .inner { max-width: 940px; padding: 60px 0; }
#Download #Contents h3 { background: #efefef; padding: 10px; color: #000; margin-top: 65px; }
#Download #Contents h3 + dl { margin-top: 10px; }
#Download #Contents dl { display: flex; justify-content: space-between; align-items: stretch; flex-wrap: wrap; margin-top: 65px; }
#Download #Contents dl dt { width: calc(100% - 210px); border-top: 1px solid #d5d5d5; padding: 15px 0; box-sizing: border-box; display: flex; align-items: center; }
#Download #Contents dl dd { width: 210px; border-top: 1px solid #d5d5d5; padding: 15px 0; box-sizing: border-box; display: flex; justify-content: space-between; height: 100%; }
#Download #Contents dl dt:first-child,#Download #Contents dl dt:first-child + dd { border: none; }
#Download #Contents dl dd a { display: block; width: 100px; height: 37px; color: #FFF; font-weight: 700; display: flex; align-items: center; text-align: center; justify-content: center; border-radius: 5px; }
#Download #Contents dl dd a::before { content: ""; display: inline-block; width: 17px; height: 14px; background: url(../../download/images/ic_download.svg) no-repeat; background-size: 100% auto; margin-right: 5px; }
#Download #Contents dl dd a[href$=".pdf"] { background: #be8742; order: 2; margin-left: auto; }
#Download #Contents dl dd a[href$=".dxf"] { background: #008742; order: 1; }


/*-----------------------------------------------------
お問い合わせ
-----------------------------------------------------*/
#Contact #Mainvisual,#Download #Mainvisual,#News #Mainvisual,#New #Mainvisual { background: url(../../contact/images/main_img.jpg) #92a0a9 no-repeat center; background-size: cover; background-position: bottom center; background-size: 1680px auto; }
#Contact #Mainvisual h1,#Download #Mainvisual h1,#News #Mainvisual h1,#New #Mainvisual h1 { transform: translateY(-90%); }
#Form { padding: 100px 0; }
#Contact #Contents .inner { max-width: 940px; }
#Contact .flexbox { display: flex; justify-content: space-between; }
#Contact .box { width: 50%; background: #eef3f3; box-sizing: border-box; padding: 20px 0; margin-left: 5%; margin-top: 35px; }
#Contact .flexbox > p,#Contact h2 + p { margin-top: 35px; }
#Contact .box p { max-width: 380px; width: 95%; margin: auto; }
#Contact .box p { font-size: 1.125em; font-weight: 700; }
#Contact .box p.notice { font-size: 0.875rem; font-weight: normal; margin-top: 10px; }
#Contact .required { margin-top: 50px; font-size: 0.750em; }
.red { color: #dd1c24; font-size: 0.750rem; }
#Contact .box p a { text-decoration: underline; color: #008842; }
#Contact .box p a:hover { text-decoration: none; }

#Contact dl,#Download #Contents form dl { display: flex; flex-wrap: wrap; justify-content: flex-start; margin-top: 5px; }
#Contact dl.error,#Contact dl.conf { margin-top: 45px; }
#Contact dt,#Download #Contents form dt { width: 13em; border-top: 1px solid #d6d6d6; box-sizing: border-box; padding: 25px 0 25px 1em; }
#Contact dd,#Download #Contents form dd { width: calc(100% - 13em); border-top: 1px solid #d6d6d6; box-sizing: border-box; padding: 15px 1em 15px 0; display: block; }
#Contact dl.error dd { color: #dd1c24; padding-bottom: 25px; padding-top: 25px; }
#Contact dl.conf dd { padding-bottom: 25px; padding-top: 25px; }
#Contact dl.conf *:nth-last-child(-n+3) { display: none; }
#Contact dd input[type="text"],#Contact dd textarea,#Download dd input[type="text"],#Download dd textarea { -webkit-appearance: none; appearance: none; border: none; background: #eef3f3; padding: 10px; box-sizing: border-box; width: 100%; font-size: 1.000em; }
#Contact .mid,#Download .mid { max-width: 435px; }
#Contact .short,#Download .short { max-width: 100px; margin-left: 10px; }
#Contact dl dd select,#Download dl dd select { -webkit-appearance: none; appearance: none; border-radius: none; border: none; outline: none; background: none; font-size: 1.000rem; padding: 10px 15px 10px 10px; box-sizing: border-box; }
#Contact dl dd .select,#Download dl dd .select { position: relative; background: #eef3f3; max-width: 6.5em; }
#Contact dl dd br + .select,#Download dl dd br + .select { margin: 15px 0; }
#Contact dl dd .select::before,#Download dl dd .select::before { content: ""; position: absolute; top: 1em; right: 0.7em; width: 0; height: 0; padding: 0; border-left: 6px solid transparent; border-right: 6px solid transparent; border-top: 10px solid #000; pointer-events: none; }
#Contact dl dd br + input,#Download dl dd br + input { margin-top: 15px; }
#Contact #Policy,#Download #Policy { width: 90%; margin: 40px auto 0 auto; height: 160px; overflow-y: scroll; padding: 20px; box-sizing: border-box; border: 1px solid #d6d6d6; }
#Contact #Policy p,#Download #Policy p { font-size: 0.875rem; }
#Contact #Policy + p,#Download #Policy + p { text-align: center; margin-top: 20px; }
#Contact input[type="checkbox"],#Contact input[type="radio"],#Download input[type="checkbox"],#Download input[type="radio"] { display: none; }
#Contact input[type="checkbox"] + label,#Contact input[type="radio"] + label,#Download input[type="checkbox"] + label,#Download input[type="radio"] + label { display: none; cursor: pointer; display: inline-block; position: relative; padding-left: 25px; padding-right: 10px; }
#Contact input[type="checkbox"] + label::before,#Contact input[type="radio"] + label::before,#Download input[type="checkbox"] + label::before,#Download input[type="radio"] + label::before { content: ""; position: absolute; display: block; box-sizing: border-box; width: 20px; height: 20px; margin-top: -10px; left: 0; top: 50%; border: 1px solid #d6d6d6; }
#Contact input[type="radio"] + label::before,#Download input[type="radio"] + label::before { border-radius: 50%; }
#Contact input[type="checkbox"] + label::after,#Download input[type="checkbox"] + label::after { content: ""; position: absolute; display: block; box-sizing: border-box; width: 18px; height: 9px; margin-top: -7px; top: 50%; left: 1px; transform: rotate(-45deg); border-bottom: 3px solid; border-left: 3px solid; border-color: #FFF; }
#Contact input[type="checkbox"]:checked + label::after,#Download input[type="checkbox"]:checked + label::after { border-color: #008842; }
#Contact input[type="radio"]:checked + label::after { content: ""; position: absolute; display: block; box-sizing: border-box; width: 12px; height: 12px; background: #008842; left: 4px; top: 0; bottom: 0; margin: auto; border-radius: 50%; }
#Contact input[type="radio"] + label,#Download input[type="radio"] + label { margin: 10px 15px 0 0; }
#Contact .btn,#Download .btn,#New .btn { margin: 40px auto 0 auto; position: relative; max-width: 395px; width: 100%; height: 75px; cursor: pointer; }
#Contact .btn input,#Download .btn input,#New .btn a { -webkit-appearance: none; width: 100%; height: 100%; border: none; font-size: 1.000rem; background: #008842; color: #FFF; font-weight: 700; display: flex; align-items: center; justify-content: center; transition: 0.7s; cursor: pointer;  }
#Contact .btn::after,#Download .btn::after,#New .btn::after { content: ""; position: absolute; right: 15px; top: 0; bottom: 0; margin: auto; width: 10px; height: 10px; border-top: 1px solid #FFF; border-right: 1px solid #FFF; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
#Contact .btn:hover input,#Download .btn:hover input,#New .btn:hover a { background: #33a068; transition: 0.7s; } 
#Contact .btnbox,#Download .btnbox { display: flex; justify-content: center; }
#Contact .btnbox .btn,#Download .btnbox .btn { margin-left: auto; margin-right: 0; max-width: 300px; }
#Contact .btnbox .btn + .btn,#Download .btnbox .btn + .btn { margin-left: 20px; margin-right: auto; }

#Contact .order input[type="text"] { width: 4em; padding: 3px; margin-right: 5px; text-align: right; }
#Contact .order input[type="text"].text { width: 20em; margin: 0; padding: 3px 0; background: #FFF; text-align: left; }
#Contact .order ul li { margin: 5px 0 0 0; }
#Contact .order ul + p { margin-top: 10px; }
#Contact .order ul + ul { margin-top: 15px; }

/*-----------------------------------------------------
お知らせ
-----------------------------------------------------*/
#News .date { color: #008742; font-size: 0.875em; display: block; }
#News .date + h2 { margin-top: 5px; }
#News .detailText { line-height: 1.7em; margin-top: 30px; }
#News .detailUpfile { margin-top: 20px; }
#News .newsbox + .newsbox { margin-top: 60px; }
#News .pager { display: flex; justify-content: center; margin-top: 50px; }
#News .pager a { display: block; width: 30px; height: 30px; text-align: center; color: #008842; font-weight: 700; margin: 0 1px; }
#News .pager .current { background: #008842; color: #FFF; width: 30px; }


/*-----------------------------------------------------
パーテーション
-----------------------------------------------------*/
#New .flexbox { display: flex; justify-content: space-between; align-items: flex-start; }
#New .flexbox .column { width: 32%; margin-top: 40px; }
#New h2 + p { margin-top: 30px; }
#New .flexbox + p { margin-top: 20px; color: #c93e2a; }
#New .btn { margin-top: 45px; width: 90%; }
#New .btn a { font-size: 0.875rem; }
#New .btn::after { right: 20px; }
#New .btn + h2 { margin-top: 120px; }
#New .list { margin-top: 20px; line-height: 1.5em; }
#New .list .red { color: #c93e2a; font-size: 1.00rem; }
#New h3 { margin-top: 95px; }
#New .list + h3 { margin-top: 30px; }
#New h3 span { color: #000; font-size: 0.875rem; font-weight: normal; display: inline-block; margin-left: 20px; }
#New .table table { width: 100%; box-sizing: border-box; border-collapse: collapse; margin-top: 15px; }
#New .table th { background: #ecedee; text-align: center; vertical-align: middle; border: 1px solid #a0a0a0; padding: 15px; } 
#New .table td { border: 1px solid #a0a0a0; padding: 10px; padding: 15px; text-align: center; }
#New .img { max-width: 855px; width: 90%; margin: 25px auto 0 auto; }
#New .table + .btn { margin-top: 120px; }
#New img.sp { display: none; }
 
@media screen and (max-width:1280px) {
	#Recruit #Mainvisual { background-size: 100% auto; height: 0; padding-top: 43.49%; margin-top: 100px; display: flex; justify-content: center; flex-direction: row; align-items: center;  }
	#Recruit .topicpath { position: absolute; top: 0; }
	#Recruit #Mainvisual h1 { width: 100%; position: absolute; top: 50%; transform: translateY(0); }
	#Recruit #Mainvisual p { position: absolute; top: 49%; margin: 15px auto auto auto; }
}
	
@media screen and (max-width:960px) {
	.topicpath { display: none; }
	#Mainvisual { background-size: 1280px auto; background-position: top center; }
	#Mainvisual h1 { margin-top: auto; transform: translateY(0%); }
	#Contents nav ul li { padding: 0 4%; }
	
	.tb { display: inline; }
	
/*-----------------------------------------------------
採用情報
-----------------------------------------------------*/
	#Recruit #Mainvisual { margin-top: 76px; }
	#Recruit #Mainvisual h1 { top: 40%; }
	#Recruit .ttl { font-size: 3.375rem; }
	#Recruit h3 { color: #000; font-size: 1.125rem; }
	
/*-----------------------------------------------------
お問い合わせ
-----------------------------------------------------*/	
	#Contact #Mainvisual h1,#Download #Mainvisual h1,#News #Mainvisual h1,#New #Mainvisual h1 { transform: translateY(80%); }
	#Contact .flexbox { flex-wrap: wrap; }
	#Contact .box { width: 100%; margin: 25px auto 0 auto; }
	
/*-----------------------------------------------------
パーテーション
-----------------------------------------------------*/
	#New .table { overflow-x: scroll; }
	#New .table table { white-space: nowrap; }
	
}

@media screen and (max-width:600px) {
	#Mainvisual h1 { font-size: 0.938rem; }
	#Mainvisual h1 strong { font-size: 1.813rem; }
	#Contents nav { width: 100%; top: 0; }
	#Contents nav ul { flex-direction: column; height: auto; }
	#Contents nav ul li { padding: 0; width: 100%; border-bottom: 1px solid #c7c7c7; }
	#Contents nav ul li a.ac::after { display: none; }
	#Contents nav ul li a { display: block; text-align: center; padding: 15px; }
	#Contents nav ul li a:hover { color: #000; }
	#Contents nav ul li a.ac { background: #eef3f3; }
	
	#Contents { position: relative; margin-top: -76px; }
	
	h2 { font-size: 1.000rem; }
	#Service h2.ttl { font-size: 1.250rem; }
	section:first-of-type h2:first-child { margin-top: 60px; }
	h3 { ont-size: 1.000em; }
	#Contents p { font-size: 0.875em; }
	
	br.sp { display: inline-block; }
	
/*-----------------------------------------------------
会社案内
-----------------------------------------------------*/
	#Outline dl { font-size: 0.875rem; }
	#Outline dt { width: 100%; border: none; padding: 15px 0.5em 0 0.5em; font-weight: 700; }
	#Outline dd { width: 100%; border: none; padding: 0 0.5em 15px 0.5em; border-bottom: 1px dotted #969696; }
	
	#Greeting { padding-top: 1px; }
	#Greeting .img { max-width: 250px; width: 100%; margin: 30px auto 0 auto; }
	#Greeting .txt { width: 100%; margin-top: 30px; }
	
	#History dl { font-size: 0.875em; background-position:  left 6.5em top 7px; }
	#History dd { width: calc(100% - 6.5em); margin-top: 35px; padding-left: 1.5em; box-sizing: border-box; position: relative; }
	#History dd::before { content: ""; display: inline-block; width: 13px; height: 13px; border-radius: 50%; background: #008842; position: absolute; left: -6px; top: 7px; }
	
	#Access .img,#Access .txt { width: 100%; margin-top: 60px; }
	#Access .img + .txt,#Access .img:first-child + .txt  { margin-top: 20px; }
	
	#Qualuty ol li strong { font-weight: 700; } 
	#Qualuty ol li strong::after { content: "\A" ; white-space: pre; }
	

/*-----------------------------------------------------
事業案内
-----------------------------------------------------*/
	#Special,#Print { margin-top: 100px; }
	#Plate .txt { width: 100%; margin-top: 40px; }
	#Plate .img { max-width: 413px; width: 100%; margin: 40px auto 0 auto; }
	#Service .item li { width: 48.5%; }
	
/*-----------------------------------------------------
採用情報
-----------------------------------------------------*/
	#Recruit #Mainvisual { margin-top: 76px; }
	#Recruit #Mainvisual h1 { font-size: 2.188rem; top: 50%; }
	#Recruit #Mainvisual p { font-size: 0.750rem; }
	
	.ttlbox { flex-direction: column; }
	#Recruit h2 { margin-left: 0; margin-right: auto; }
	#Recruit #Contents,#Contact #Contents,#Download #Contents,#News #Contents,#New #Contents { position: relative; margin-top: 0; }
	#Movie { padding: 0 0 60px 0; }
	#Recruit h3::before { width: 50px; }
	#Message { padding: 60px 0; }
	
	#App dl { margin-top: 20px; font-size: 0.875em; margin-top: 0; }
	#App dl dt { width: 100%; padding: 20px 0 0 0; border-bottom: none; }
	#App dl dd { width: 100%; padding: 5px 0 20px 0; }
	
/*-----------------------------------------------------
お問い合わせ
-----------------------------------------------------*/
	#Contact #Mainvisual,#Download #Mainvisual,#News #Mainvisual,#New #Mainvisual { height: 364px; background-size: 1380px auto; }
	#Form { padding: 0 0 80px 0; }
	#Contact .box p { font-size: 1.000rem; }
	#Contact .box p.notice { font-size: 0.875rem; font-weight: normal; margin-top: 10px; }
	#Contact dl { margin-top: 10px; font-size: 0.875em; }
	#Contact dt { width: 100%; border-top: 1px solid #d6d6d6; padding: 15px 1em 0 1em; }
	#Contact dd { width: 100%; border-top: none; box-sizing: border-box; padding: 15px 1em 15px 1em; }
	#Contact #Policy { width: 100%; }
	#Contact .btn { height: 60px }
	
	#Contact input[type="radio"] + label { display: block; line-height: 1.7em; margin-top: 5px; }
	#Contact input[type="radio"]:first-child + label { margin-top: 0; }
	#Contact .btnbox { flex-wrap: wrap; } 
	#Contact .btnbox .btn { margin-left: auto; margin-right: auto; }
	#Contact .btnbox .btn + .btn { margin: 30px auto 0 auto; }
	
	#Contact .order { font-size: 0.813rem; }
	/*#Contact .order input[type="text"] { width: 3em; padding: 3px; margin-right: 5px; text-align: right; }
#Contact .order input[type="text"].text { width: 20em; margin: 0; padding: 3px 0; background: #FFF; text-align: left; }
#Contact .order ul li { margin: 5px 0 0 0; }
#Contact .order ul + p { margin-top: 10px; }
#Contact .order ul + ul { margin-top: 15px; }*/
	

/*-----------------------------------------------------
ダウンロード
-----------------------------------------------------*/
	#Download #Contents .inner,#News #Contents .inner,#New #Contents .inner { padding: 0 0 60px 0; }
	#Download #Contents dl { font-size: 0.875rem; }
	#Download #Contents dl dt { width: calc(100% - 160px); }
	#Download #Contents dl dd { width: 160px; }
	#Download #Contents dl dd a { width: 75px; border-radius: 5px; }
	

/*-----------------------------------------------------
パーテーション
-----------------------------------------------------*/
	#New img.pc { display: none; }
	#New img.sp { display: block; }
	#New .flexbox { flex-wrap: wrap; }
	#New .flexbox .column { width: 80%; margin: 30px auto 0 auto; }
	#New .table + .btn { margin-top: 60px; }
	#New h3 span { display: block; margin-left: 0; }
}

@media screen and (max-width:320px) {
	br.hide { display: none; }
	#Outline { font-size: 0.813rem; }
	
}


