/* ===============================================
   spf400
=============================================== */

.mainTit .fNew {
line-height: 1;
}

@media screen and (min-width: 768px), print {
  .mainTit {
  font-size: 44px;
  padding-top: 5px;
  }
  .mainTit span.subTit02 {
  font-size: 22px;
  }
	.mainTit span.subTit02{
  padding-top: 0;
	}
  .mainTit .fNew {
	display: block;
  margin-top: 0;
  }
}

/*  */
.readBox {
padding: 20px 0;
text-align: left;
}
.readBox h2 {
margin: 0;
}
.readBox p {
padding: 5px 0 0;
font-size: 20px;
}

@media screen and (min-width: 768px), print {
  .readBox {
  text-align: center;
  }
  .readBox h2 {
  font-size: 30px;
  }
  .readBox p {
  font-size: 26px;
  }
}

#pdtMedia {
  margin: 20px 4% 60px;
}
@media screen and (min-width: 768px), print {
  #pdtMedia {
    margin: 20px auto 60px;
  }
}


#secBox01.secBox {
padding-top: 0;
}

#secBox01 .readTxt {
font-size: 26px;
text-align: center;
}
#secBox01 .readTxt strong {
display: inline-block;
text-align: left;
}

#secBox0102 .pdtImg {
padding-top: 30px;
}
#secBox0102 figcaption {
font-size: 16px;
}

#secBox02 .txtBoxC {
background-color: #ffffb3;
margin: 20px auto;
padding: 10px 1em 15px;
}
#secBox02 .txtBoxC p {
font-size: 18px;
font-weight: bold;
}

#secBox05 .txtBoxD {
background-color: #ffffb3;
margin: 20px auto 0;
padding: 10px 1em 30px;
}
#secBox05 .txtBoxD p {
font-size: 18px;
font-weight: bold;
}
#secBox05 .txtBoxD p .fRed {
font-size: 20px;
}
.arrow {
  width: 122.9px;
  height: 65px;
  background: #C00;
  clip-path: polygon(0 46.2%, 29.7% 46.2%, 29.7% 0, 70.3% 0, 70.3% 46.2%, 100% 46.2%, 50% 100%);
	margin: -15px auto 0;
}
@media screen and (min-width: 768px), print {
  #secBox01.secBox {
  padding-top: 20px;
  }
#secBox05 .txtBoxD {
background-color: #ffffb3;
margin: 20px auto 0;
padding: 10px 1em 40px;
}
}

/*  */
.secSubBox {
padding-top: 60px;
}
.secSubBox:nth-of-type(1) {
padding-top: 30px;
}
#secBox0103.secSubBox {
	padding-top: 30px;
}
/*  */
.introTit {
font-size: 18px;
border: 1px solid  #044e87;
padding: 10px 15px;
border-left: 4px solid #044e87;
font-weight: bold;
}
.introTit span {
display: inline-block;
font-size: 18px;
}

@media screen and (min-width: 768px), print {
  .introTit {
  font-size: 22px;
  }
}

/*  */
.prPoint {
font-size: 16px;
}
.prPoint .fRed {
color: #c00;
margin: 0 5px;
font-size: 1.2em;
}

@media screen and (min-width: 768px), print {
  .prPoint {
  font-size: 18px;
  }
}


/* 箇条書き */
.boxPoint .fPoint {
font-size: 22px;
}
.boxPoint ul {
list-style: none;
margin: 0;
padding: 20px 0;
font-size: 18px;
}
.boxPoint ul li {
display: flex;
margin: 0;
padding: 3px 0;
}
.boxPoint .checkmark {
padding-left: 30px;
position: relative;
}
.boxPoint .checkmark:before,
.boxPoint .checkmark:after {
content:"";
display: block;
position: absolute;
}
.boxPoint .checkmark:before {
width: 20px;
height: 20px;
background: #e5edf3;
border: 1px solid #c1c9d0;
left: 0;
top: 4px;
}
.boxPoint .checkmark:after {
border-left: 3px solid #dc1a11;
border-bottom: 3px solid #dc1a11;
width: 18px;
height: 5px;
transform: rotate(-40deg);
left: 3px;
top: 7px;
}

.boxPoint .fRed {
margin: 0 2px;
}
.boxPoint li .fRed {
font-size: 1.2em;
}

@media screen and (min-width: 768px), print {
  .boxPoint .fPoint {
  text-align: center;
  font-size: 28px;
  }
}


/* 試験データ */

.grpCap {
text-align: center;
}
.grpCap table {
width: 100%;
margin: 10px 0;
}
.grpCap th,
.grpCap td {
padding: 10px;
vertical-align: middle;
border: none;
font-weight: bold;
line-height: 1.4;
}
.grpCap th {
width: 35%;
background-color: #185a8c;
color: #fff;
}
.grpCap td {
color: #dc1a11;
}
.grpCap .font-size_ll {
font-size: 26px;
}
.grpCap .font-size_l {
font-size:18px;
}

@media screen and (min-width: 768px), print {
  .grpCap {
  width: 90%;
  margin: 40px auto 40px auto;
  display: flex;
  justify-content: center;
  }
  .grpCap table {
  width: 49%;
  }
}

/**/
@media screen and (min-width: 768px), print {
  .graphPcFlex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 90%;
    margin: 0 auto;
  }
}

/**/
.graphTbl {
margin: 0 auto 10px;
padding: 0;
}
.graphTbl th,
.graphTbl td {
padding: 10px;
border: 1px solid #000;
text-align: center;
vertical-align: middle;
}
.graphTbl th {
background-color: #dfdfdf;
}
.point {
border: 1px solid #e5edf3;
padding: 10px;
margin: 20px 0;
}

.grpImg .tdL {
margin-bottom: 20px;
}

@media screen and (min-width: 768px), print {
  .point {
  padding: 40px;
  margin: 40px 0;
  }
  .grpImg .tdL img {
  width: 420px;
  }
}
@media screen and (max-width: 767px),  {
  #spf400 .secBox:not(#contactBox):not(#relaBox) img { 
  width:100%;
  height: auto;
  }
}


/**/
#spf400 #secBox03 .pdtTable {
margin-bottom: 20px;
}
#spf400 #secBox03 .pdtTable tbody th {
background-color: #dfdfdf;
}
#spf400 #secBox03 .pdtTable td {
width: 32%;
}
#spf400 #secBox03 .pdtTable td b {
color: #044e87;
font-size: 18px;
}
#spf400 #secBox03 .pdtTable p {
padding: 5px 0 0;
}

/**/

.fPointV2 {
font-size: 20px;
}

/**/
.txtBoxC {
text-align: center;
}
.txtBoxC .box {
display: inline-block;
margin: 0 auto;
text-align: left;
}

/**/
.imgTB {
display: block;
padding: 20px 0;
}

/**/
@media screen and (min-width: 768px), print {
  .pdtVideoBox.w80 {
    width: 80%;
  }
}

#pdtMedia a.exLink::after {
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f35d";
    margin-left: 5px;
    font-size: 0.8rem;
    color: #044e87;
}



/* お問合せ
----------------------------------------------- */
.contactBox,
.secContactBox {
margin: 0;
text-align: center;
}

.contactBox .conteBox,
.secContactBox .conteBox {
background: #e5edf3;
padding: 30px 20px 35px;
}

.contactBox h2.conteTit,
.secContactBox h2.conteTit {
text-align: left;
color: #044e87;
font-size: 20px;
padding-top: 0;
margin-bottom: 10px;
border-bottom: none;
}

.contactEg {
border: 5px solid #fff;
margin: 0 0 20px;
padding: 15px 15px 10px;
text-align: left;
}

.contactEg dt span {
display: inline-block;
color: #fff;
background-color: #333;
padding: 5px 10px;
}

.conTelBox .conTel {
width: 100%;
height: auto;
padding: 10px 0 0;
color: #fff;
font-weight: bold;
font-size: 24px;
background: #044e87;
}

.conTel .telNum {
display: inline-block;
vertical-align: text-bottom;
letter-spacing: .5px;
}

.conTelBox .conTel img {
margin-right: 10px;
width: 24px!important;
vertical-align: top;
}
.conTel a.mbOn {
display: block;
text-decoration: none;
color: #fff;
padding: 0 0 10px;
}

.conMailBox a {
display: block;
-webkit-box-sizing: border-box;
box-sizing: border-box;
width: 100%;
height: 70px;
padding: 10px 0 0;
color: #044e87;
font-weight: bold;
font-size: 20px;
border: 1px solid #044e87;
background: #fff;
text-decoration: none;
}

.conTelBox .conTel span.f13,
.conMailBox a span.f13 {
display: block;
font-size: 13px;
padding: 0 0 10px 0;
padding-bottom: 10px;
font-weight: normal;
}

.conTelBox .conTel span.f13 {
padding-bottom: 5px;
}

.conMailBox a img {
width: 32px!important;
}

.conMailBox span {
padding-left: 10px;
}

.conTel a:hover,
.conMailBox a:hover {
opacity: 0.5;
filter: alpha(opacity=50);
-ms-filter: "alpha(opacity=50)";
-moz-opacity: 0.5;
-khtml-opacity: 0.5;
zoom: 1; 
cursor: pointer;
}

.conList a:hover img {
opacity: 1;
}


.contactBoxTxt {
margin: 0 0 20px;
padding: 0;
text-align: center;
}
.contactBoxTxt p {
display: inline-block;
margin: 0 auto;
text-align: left;
}

@media screen and (max-width: 767px) {
		
		.contactBox.secBox,
    .secContactBox.secBox,
		.conMailBox {
		padding-top: 20px;
		}

}
		
@media screen and (min-width: 768px), print {

		.contactBox h2.conteTit,
    .secContactBox h2.conteTit {
		font-size: 24px;	
		text-align: center;
		}
		
    .contactEg {
    display: flex;
    border-width: 3px;
    padding: 15px 20px 20px;
    }
    .contactEg dt,
    .contactEg dd {
    vertical-align: top;
    }
    .contactEg dt {
    padding: 10px 20px 0 0;
    }
    
		.conList {
		display: flex;
		-ms-display: flex;
		justify-content: space-around;
		align-items: center;
		}

		.conTelBox,
		.conMailBox {
		width: 420px;
		}
		
		.conTelBox .conTel {
		width: 100%;
		height: 70px;
		}
		
}
		
 .merit3_box3 {
    background-color: #FFF4BD;
    width: 100%;
    border: 2px solid #c00;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
	  margin:20px auto;
	  padding: 15px 0 10px;
}
.merit3_box3 p{
	padding: 0;
}
.merit3_box3 .fontSizeL {
    font-size: 20px;
}
@media screen and (min-width: 768px), print {
.merit3_box3 .fontSizeL {
    font-size: 22px;
  }
 .merit3_box3 {
	 	width: 380px;
        margin-bottom: 0;
    }
	.merit3_box3 br{
		display: none;
	}
}



#works #works01 .pcFlexSec {
    justify-content: space-between;
	 padding:10px 0 40px;
}
  .worksRepoImgBox figure {
     width: 100%;
     padding:20px 0 0;
  }
@media screen and (min-width: 768px), print {

  .worksRepoImgBox figure {
    max-width: 400px;
     padding:30px 0 0;
  }
}