@charset "utf-8";
/* CSS Document */
@media only screen and (max-width: 1200px) {
.MainSub {
	top: 10%;
}
	
.MainTitle {
	width: 70%;
}
	
}

@media only screen and (max-width: 1000px) {
 .H_Logo {
      width: 80px;
      padding: 5px 0;
}
}
@media only screen and (max-width: 768px) {
body {
	font-size:15px !important;
	-webkit-text-size-adjust: 100%;
	word-wrap:break-word;
}
	
.MainTitle {
     width: 100%;
}
	
.MainTitle p {
	margin-top: 20px;
}
	
#Header {
	width: 100%;
}

.FooterInner {
	margin: 20px auto 30px;
	display: block;
	width: 100%;
}
	
.F_nav ul li {
	margin-right: 0;
	text-align: center;
	width: 20%;
	font-size: 90%;
	font-weight: 500;
}
	
	.F_Logo {
		margin-top: 15px;
		text-align: center;
		width: 50%;
		margin: 15px auto 0;
	}

.TELFAX {
	text-align: center;
	width: 90%;
	margin: 20px auto;
}
	
.TELFAX span {
	display: block;
	margin: 5px 0 10px;
	font-size: 60%;
	padding-left: 0;
}
	
.F_Address {
	margin-top: 15px;
	display: block;
	text-align: center;
}

.F_Address dt {
	font-size: 120%;
}

.F_Address dd {
	padding-left: 0;
	font-size: 100%;
}
	
.Copy {
	width: 90%;
	margin: -15px auto 15px;
	text-align: center;
	font-size: 80%;
	padding-top: 0;
}
	
.Title_Yel p {
	padding-top: 5px;
}

.ContactBtn {
	margin-top: 30px;
	font-size: 100%;
	letter-spacing: 0px;
}
	

	
.MainTextBox{
  position: absolute;
  top:50%;
  left: 50%;
 -ms-transform: translate(-50%,-50%);/*ベンダープレフィックス*/
  -webkit-transform: translate(-50%,-50%);/*ベンダープレフィックス*/
  transform: translate(-50%,-50%);/*センター寄せの修正*/
  color: #fff;
	width: 95%;
	margin: 0 auto;
}
	
.MainTitle {
	position: static;
	text-align: center;
	font-size: 500%;
}
	
.MainSub {
	position: static;
	color: #FFF;
	font-size: 120%;
	letter-spacing: 3px;
	width: 90%;
	margin: 0 auto 20px;
	text-align: center;
	background: #000;
	padding:5% 5%;
}
	
	.MainSub p {
		padding: 0;
	}
	
.MainSub span {
	padding: 0;
}
	
.ProblemList {
	margin: 10px auto 0;
}

.ProblemList h3 {
	font-size: 150%;
	margin: 10px 0 20px !important;
}
	
	.ProblemList ul li {
		display: flex;
		align-items: center;
        justify-content: center;
		margin-top: -10px;
		width: 90%;
		margin: 0 auto;
		font-size: 110%;
		font-weight: 500;
	}
	
	.ProblemList ul li figure {
		width: 30%;
	}
	
	.ProblemList ul li p {
		text-align: left;
		margin-left: 5%;
		width: 65%;
	}
	

.ProblemList ul {
	margin-top: 10px;
}
	
.Line_Yel {
	font-size: 220%;
	letter-spacing: 3px;
	margin-top: 10px !important;
	line-height: 1.4;
}
	
.Line_Yel span {
	border-bottom: 3px solid #f4b536;
	padding-bottom: 5px;
}

.Line_Yel p {
	font-size: 50%;
	padding-bottom: 5px;
}

.More {
	font-size: 60% !important;
	margin-top: 10px;
}

#TopTechnical h3 {
	margin: 10px 0 30px;
	font-size: 130%;
	line-height: 1.5;
}
	
.TechicalBg {
	top: 0;
	line-height: 1.0;
}
	
.FacilityWorkWrap {
	width: 100%;
}
	
.TopFacility {
	display: block;
}

.TopWork {
	display: block;
	margin-left: 0;
	padding-right: 0;
}

.TopFacility figure {
	margin-right: 0;
	margin-top: 0;
}

.TopWork figure {
	margin-left: 0;
	margin-top: 0;
}
	
#FacilityWork figure {
	width: 90%;
	margin: 0 auto;
}
	
	#FacilityWork figure img {
		margin: -50px 0 0;
	}
	
#FacilityWork ul li {
	width: 100%;
	padding-bottom: 30px;
}
	
.TopFacility .FacilityWorkText {
	padding: 5%;
	width: 90%;
}

.TopWork .FacilityWorkText {
	padding: 5%;
	width: 90%;
}
	
.FacilityWorkText p {
		text-align: center;
	font-size: 120%;
	padding-right: 0;
	}
	
.BoderTitle,
.BoderTitle2 {
	font-size: 300%;
	padding: 0 0 20px;
	text-align: center;
}

.TopWork .YelBtn {
	margin-left: 0;
}

.FacilityWorkText .YelBtn a {
	font-size: 140%;
	letter-spacing: 1px;
	margin: 0 auto;
}
	
.TopWork p {
    padding-left: 0;
}
	
.FacilityWorkBg {
	bottom: 30px;
	width: 300%;
}

#FacilityWork {
	padding: 100px 0 150px;
}
	
#TopCase {
	padding: 30px 0 50px;
}
	
.CaseSlider {
	display: block;
	margin-top: 30px;
}

.CaseSliderPhoto {
	width: 100%;
}

.CaseSliderText {
	width: 100%;
	margin-top: 20px;
}
	
.CaseSliderText h2 {
	margin: 15px 0 5px;
    line-height: 1.1;
    padding-bottom: 15px;
}
	
	.CaseSliderText h2 span {
		display: block;
        margin-bottom: -20px;
        line-height: 1.3;
	}
	
.CaseSliderList li {
	font-size: 100%;
	padding: 5px 0 10px;
}
	
#TopQA {
	padding: 30px 0 120px;
} 
	
.TopAQList li {
	padding:15px 0 20px;
}
	
.TopAQList li h3 {
	padding-left: 30px;
}

.TopAQList li h3::before {
	margin-left: -30px;
	padding-right: 10px;
}

.TopAQList li p {
	font-size: 100%;
	padding-left: 30px;
}

.TopCompanyPhoto {
	width: 95%;
	margin-top: -80px;
}
	
.TopCompanyBox {
	right: 5%;
	padding: 5% 10% 10%;
	width: 70%;
	margin: 80px auto 0;
}

#TopCompany {
	position: relative;
	background: #000;
	height: 420px;
}
	
.TopCompanyBox h3 {
	margin: 10px 0 20px;
}
	
.TopFooter {
	margin-top: 0;
}
	
.cp_h1title {
	margin-left: 10px;
}
	
#TopTechnical h4 {
	font-size: 130%;
}
	
.BkBtn {
	font-size: 100%;
}
	
.ProblemWrap {
	background-size: auto 100%;
	padding: 50px 0 70px;
}

#TopTitle {
	height: auto;
}
	
.TopTitleText {
    width: 80%;
}
	
#TechnicalBox p {
		font-size: 110%;
	}
	
.YelBgList {
	padding-top: 30px;
	width: 100%;
}
	
.YelBgList li {
	width: 90%;
}

.YelBgList li figure {
	width: 95%;
}
	
	.YelBgList li figure img {
		margin-top: -50px;
	}

.RightPhotoBoxText,
.LeftPhotoBoxText {
	padding: 10%;
    width: 80%;
}

.LeftPhotoBox{
	display: block;
	margin-left: 10%;
	padding-right: 0;
}

.RightPhotoBox{
	display: block;
	margin-top: 100px;
	margin-right: 10%;
}

.RightPhotoBox figure{
	margin-left: 10%;
}
	
.LeftPhotoBox figure{
	margin-left: -5%;
}
	
.T_SubTitle {
	font-size: 140%;
}
	
.T_FlowList li {
	display: block;
}
	
.T_FlowList li figure {
	margin-right: 0;
	width: 100%;
	text-align: center;
}

.T_FlowText {
	width: 100%;
	margin-top: 30px;
}
	
#T_Flow {
	padding: 30px 0 50px;
}
	
#FacilityBox {
	padding-bottom: 30px;
}
	
	.ScrollImg {
		padding-top: 50px;
		margin-bottom: -30px !important;
	}
	
	.SP_Left {
		text-align: left !important;
	}
	
.underline{
  font-size: 120%;
}
	
.WorkOne {
	width: 100%;
	margin-top: 30px;
}

.WorkTwo {
	width: 100%;
	margin-top: 30px;
	
}

.WorkFour {
	width: 45%;
	margin-top: 30px;
}

.Work_first {
	margin-right: 0;
}
	
.Work_first_SP {
	margin-right: 10%;
}
	
.WorkOne li {
	width: 44%;
	margin: 3%;
}

.WorkTwo li {
	width: 44%;
	margin: 3%;
}

.WorkListWrap {
	padding-bottom: 30px;
}
	
#PolicyBox {
	margin: 30px 0;
}
	
.PolicyWrap {
	background: url("../images/policy_bg_sp.jpg") no-repeat center top;
	background-size: auto 100%;
	padding: 20px 0 60px;
	margin-top: 30px;
}
	
.PolicyWrap dt {
  font-size: 220%;
	float: none;
	width: 100%;
	margin-top: 20px;
	text-align: center;
}

.PolicyWrap dd {
	float: none;
	width: 100%;
	font-size: 130%;
	margin-top: 0px;
	text-align: center;
}
	
#MessageBox {
	margin: 30px auto 0;
}

.MessageWrap {
	margin-top: 30px;
	display: block;
}

.MessageWrap figure {
	width: 100%;
	text-align: center;
}

.Message {
	width: 100%;
	margin-top: 20px;
}
	
.GryWrap {
	background: #FFF;
	width: 90%;
	padding: 0;
	margin: 30px auto;
}
	
.AboutTable {
	margin-top: 30px;
}
	
.AboutTable dt {
	width: 100%;
	padding: 5% 0 0;
	float: none;
	font-size: 120%;
	font-weight: 500;
}

.AboutTable dd {
	width: 100%;
	padding: 0 0 5%;
	float: none;
}
	
#AboutBox {
	padding-bottom: 30px;
}
	
#HistoryBox {
	padding: 30px 0 50px;
}
	
.HistoryTable {
	margin: 30px auto 0;
	font-size: 100%;
}

.HistoryTable dt {
	width: 100%;
	padding: 5% 0 0;
	float: none;
	font-size: 110%;
	font-weight: 500;
}

.HistoryTable dd {
	width: 100%;
	padding: 0 0 5%;
	float: none;
}
	
	.PolicyWrap dl {
		width: 80%;
	}	
	
.GryWrapContact {
	margin: 30px auto 0;
}
	
.Yel_Contact {
	margin: 30px auto;
	width: 90%;
	padding: 10% 5%;
}
	
.Yel_Contact_Title {
	font-size: 110%;
	line-height: 1.4;
}

.Yel_Contact ul {
	display: block;	
}
	
.Yel_Contact li {
    justify-content: center;
	width: 100%;
	margin-top: 10px;
}
	
.Circle {
	width: 40px;
  height: 40px;
  line-height: 40px;
}
.TelFax {
	font-size: 250%;
	line-height: 40px;
	padding-left: 10px;
}

}/* デバイスの横幅が768px以下の場合 */