@charset "UTF-8";

/* /facility/
-------------------*/
body {
background:url("../images/bg_01.png") left 400px no-repeat;
background-size: 45% auto;
}
#area01 {
padding-bottom: 120px;
}
.area01Inr {
width: 90%;
max-width: 1400px;
margin: 0 auto;
}
.area01Inr h2 {
text-align: center;
font-family: 'Noto Serif JP', serif;
font-size: 34px;
font-size: 3.4rem;
font-weight: 200;
margin-bottom: 40px;
line-height: 1.7;
}
.area01Inr .txt {
text-align: center;
line-height: 2!important;
margin-bottom: 60px;
}
.area01List {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.area01List li{
width: 24%;
text-align: center;
}
.area01List li .Img {
margin-bottom: 10px;
}
.area01List li h3 {
font-family: 'Noto Serif JP', serif;
font-size: 16px;
font-size: 1.6rem;
font-weight: 200;
line-height: 1.5;
}
.area01List li h3 strong {
color: #b07121;
display: block;
font-size: 28px;
font-size: 2.8rem;
text-align: center;
font-weight: 200;
}
.faSec {
background: #f5f1ef;
padding-bottom: 80px;
}
.faSec .secMain {
position: relative;
margin-bottom: 60px;
}

.faSec .secMain h2 {
width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
  text-align: center;
  color: #fff;
font-family: 'Noto Serif JP', serif;
font-size: 48px;
font-size: 4.8rem;
font-weight: 200;
line-height: 1.5;
}
.faSec .secMain h2 small{
font-size: 18px;
font-size: 1.8rem;
font-family: 'Crimson Text', serif;
display: block;
}
.faSec .flexBox {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
width: 90%;
max-width: 1200px;
margin: 0 auto;
position: relative;
z-index: 0;
}
.faSec .flexBox .halfBox{
width: 50%;
}

.faSec .flexBox .halfBox.hbL{
border-right: 1px solid #d7d0cc;
padding-right: 60px;
}
.faSec .flexBox .halfBox.hbR{
padding-left: 60px;
}
.faSec .flexBox .halfBox h3 {
font-family: 'Noto Serif JP', serif;
font-size: 30px;
font-size: 3.0rem;
font-weight: 200;
line-height: 1.5;
margin-bottom: 40px;
}
.faSec .flexBox .halfBox .txt{
margin-bottom: 40px;
line-height: 2!important;
}
.faSec .flexBox:before {
position: absolute;
z-index: -1;
font-family: 'Crimson Text', serif;
font-size: 120px;
font-size: 12rem;
font-weight: 200;
color: #fff;
writing-mode: vertical-rl;
left: -65px;
top: 0;
}

#area02.faSec .flexBox:before {
content: "Dealing cure";
}
#area03.faSec .flexBox:before {
content: "Equipment";
}
#area04.faSec .flexBox:before {
content: "Instrument";
}
#area05.faSec .flexBox:before {
content: "Space & System";
}



.faSec .flexBox .brownHead {
    text-align: left;
    margin-bottom: 20px;
}
.iconList {
display: flex;
justify-content: space-between;
}
.iconList li {
width: 32%;
text-align: center;
}
.iconList li .title {
color: #b07121;
font-weight: bold;
font-size: 16px;
font-size: 1.6rem;
line-height: 1.3!important;
}
.eqList{
width: 90%;
max-width: 1200px;
margin: 0 auto;
position: relative;
z-index: 0;
padding-bottom: 80px;
}
.eqList li {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-end;
padding-top: 80px;
}
.eqList li .Img {
width: 65%;
line-height: 0!important;
box-shadow: 0 0 6px rgb(0,0,0,0.1);
position: relative;
}
.eqList li .whBox {
width: 35%;
background: #fff;
padding: 60px 40px;
box-shadow: 0 0 6px rgb(0,0,0,0.1);
position: relative;
}
.eqList li .whBox h3 {
font-family: 'Noto Serif JP', serif;
font-size: 28px;
font-size: 2.8rem;
color: #b07121;
font-weight: 200;
line-height: 1.5;
margin-bottom: 20px;
}
.eqList li .whBox p {
line-height: 2!important;
}

.eqList li .whBox .en {
position: absolute;
font-family: 'Crimson Text', serif;
font-size: 33px;
font-size: 3.3rem;
font-weight: 200;
color: #fff;
top: -65px;
right: 20px;
}
.eqList li .whBox .en strong {
font-size: 48px;
font-size: 4.8rem;
font-weight: 200;
margin-left: 10px;
}

.eqList li:nth-child(even) {
flex-direction: row-reverse;
}
.eqList li:nth-child(even) .whBox .en {
right: inherit;
left: 20px;
}
.eqList li .Img .over{
width: 40%;
max-width: 265px;
position: absolute;
left: 30px;
bottom: -40px;
filter: drop-shadow(10px 10px 10px rgba(0,0,0,0.2));
}
.instList {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
padding-top: 30px;
}
.instList li {
width: 48%;
margin-bottom: 30px;
}
.instList li span {
font-family: 'Noto Serif JP', serif;
font-size: 16px;
font-size: 1.6rem;
color: #b07121;
font-weight: 200;
line-height: 1.5;
display: block;
text-align: center;
padding-top: 10px;
}
.flowList li{
padding-bottom: 40px;
}

.flowList .step {
font-family: 'Crimson Text', serif;
font-size: 21px;
font-size: 2.1rem;
color: #b07121;
font-weight: 200;
font-style: italic;
margin-left: -30px;
position: relative;
line-height: 0!important;
}
.flowList .step span {
font-size: 30px;
font-size: 3.0rem;
margin-left: 10px;
}

.flowList .step:before {
content: "";
    position: absolute;
    background: #b07121;
    top: -14px;
left: -46px;
    height: 10px;
    width: 10px;
    border-radius: 50%;
    border: 10px solid #e0c8aa;
}
.flowList dl {
padding-top: 40px;
}
.flowList dl dd {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
align-items: center;
}
.flowList dl dd .Img {
width: 26%;
max-width: 140px;
}
.flowList dl dd .info {
width: 70%;
}
.flowList dl dd .info h4 {
font-family: 'Noto Serif JP', serif;
font-size: 18px;
font-size: 1.8rem;
font-weight: 200;
}
.flowList dl dd .info h4:before {
content: "●";
color: #b07121;
display: inline-block;
margin-right: 5px;
}
.flowList dl dd .info .brown {
font-family: 'Noto Serif JP', serif;
font-size: 16px;
font-size: 1.6rem;
font-weight: 200;
color: #b07121;
padding: 10px 0;
}

.systemList {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

.systemList li {
width: 47%;
margin-bottom: 40px;
}
.systemList li dl dt {
color: #b07121;
font-family: 'Noto Serif JP', serif;
font-size: 16px;
font-size: 1.6rem;
font-weight: 200;
line-height: 1.5;
text-align: center;
padding: 10px 0;
}
.systemList li dl dt small {
display: block;
}
.systemList li dl dd {
line-height: 1.6;
font-size: 14px;
font-size: 1.4rem;
}
#area05.faSec .flexBox {
margin-bottom: 60px;
}

.preventBox {
background: #fff;
padding: 60px 40px 30px;
width: 90%;
max-width: 1200px;
margin: 0 auto;
position: relative;
}
.preventBox h3 {
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    -webkit- transform: translateX(-50%);
}
.preventBox h3 span {
background: #333;
}
.preventBox ul {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.preventBox ul li {
width: 30%;
margin-bottom: 30px;
}
.preventBox ul li .Img {
max-width: 198px;
margin: 0 auto;
}
.preventBox ul li dl dt {
color: #b07121;
font-family: 'Noto Serif JP', serif;
font-size: 16px;
font-size: 1.6rem;
font-weight: 200;
line-height: 1.5;
text-align: center;
padding: 10px 0;
}
.preventBox ul li dl dd {
font-size: 14px;
font-size: 1.4rem;
line-height: 1.5;
letter-spacing: 0;
}




/* for pc resize
-------------------------------------------------------------------------------------*/


@media only screen and (max-width: 1350px) {
.area01List li h3 {
font-size: 14px;
font-size: 1.4rem;
}

}
@media only screen and (max-width: 1280px) {
.eqList li .whBox h3 {
    font-size: 24px;
    font-size: 2.4rem;
}
.area01List li h3 strong {
    font-size: 24px;
    font-size: 2.4rem;
}
}
@media only screen and (max-width: 1200px) {
.faSec .flexBox .halfBox h3 {
    font-size: 26px;
    font-size: 2.6rem;
}
.area01List li h3 {
    font-size: 12px;
    font-size: 1.2rem;
}
}
@media only screen and (max-width: 1080px) {
.area01List li {
    width: 48%;
    margin-bottom: 20px;
}
.area01List li h3 {
    font-size: 14px;
    font-size: 1.4rem;
}
.eqList li .Img {
width: 50%;
}
.eqList li .whBox {
width: 50%;
}
.faSec .flexBox .halfBox.hbL {
    padding-right: 40px;
}
.faSec .flexBox .halfBox.hbR {
    padding-left: 40px;
}
.flowList .step {
    margin-left: -10px;
}
.flowList dl dd .info .brown {
    font-size: 15px;
    font-size: 1.5rem;
}
.preventBox ul {
justify-content: flex-start;
}
.preventBox ul li {
    width: 30%;
    margin-right: 5%;
}
.preventBox ul li:nth-child(3n){
    margin-right: 0;
}
}


/* for sp
-------------------------------------------------------------------------------------*/
@media only screen and (max-width: 900px) {
body {
background-position: left 200px;
}
.area01Inr h2 {
    font-size: 24px;
    font-size: 2.4rem;
}
.area01Inr .txt {
text-align: left;
}
.area01List li h3 strong {
    font-size: 20px;
    font-size: 2.0rem;
}
.faSec .secMain h2 {
    font-size: 30px;
    font-size: 3.0rem;
}
.faSec .secMain h2 small {
    font-size: 14px;
    font-size: 1.4rem;
}
.faSec .flexBox .halfBox {
    width: 100%;
}
.faSec .flexBox .halfBox.hbL {
border-right: none;
margin-bottom: 40px;
}
.faSec .flexBox .halfBox.hbL {
    padding-right: 0;
}
.faSec .flexBox .halfBox.hbR {
    padding-left: 0;
}

.flowList {
padding-left: 40px;
border-left:1px solid #ccc;
}

}

@media only screen and (max-width: 480px) {
.area01Inr h2 {
    font-size: 22px;
    font-size: 2.2rem;
    margin-bottom: 20px;
}
.area01Inr .txt {
margin-bottom: 20px;
}
.area01List li {
    width: 100%;
}
#area01 {
    padding-bottom: 40px;
}
.faSec .secMain img {
object-fit: cover;
height: 250px;
}
.faSec .secMain {
    position: relative;
    margin-bottom: 30px;
}

.faSec .flexBox .halfBox h3 {
    font-size: 22px;
    font-size: 2.2rem;
    margin-bottom: 20px;
}
.faSec .flexBox:before {
    font-size: 70px;
    font-size: 7rem;
    left: -30px;
}
.iconList li .title {
    font-size: 14px;
    font-size: 1.4rem;
}
.faSec {
    padding-bottom: 40px;
}
.iconList li {
    width: 30%;
}

.faSec .flexBox .halfBox .txt {
margin-bottom: 20px;
}
.faSec .flexBox .halfBox.hbL {
    margin-bottom: 20px;
}
.eqList li .Img {
width: 100%;
}
.eqList li .whBox {
    width: 100%;
    padding: 30px 20px;
}
.eqList li {
    padding-top: 20px;
}

#area03 .subImg {
display: none;
}
.eqList li .whBox h3 {
    font-size: 20px;
    font-size: 2.0rem;
}
.eqList li .whBox .en {
    right: inherit;
    left: 20px;
}

.eqList {
    padding-bottom: 0;
}
.eqList li .Img .over {
    left: -14px;
    bottom: inherit;
    top: -26px;
}
.instList {
    padding-top: 10px;
}
.instList li span {
    font-size: 13px;
    font-size: 1.3rem;
}
.instList li {
    width: 49%;
    margin-bottom: 10px;
}
.flowList {
    padding-left: 20px;
}
.flowList .step {
    margin-left: 10px;
}
.flowList dl dd {
align-items: flex-start;
}

.flowList dl dd .info h4 {
    font-size: 15px;
    font-size: 1.5rem;
}
.systemList li dl dt {
    font-size: 14px;
    font-size: 1.4rem;
}
.systemList li {
    width: 48%;
    margin-bottom: 20px;
}
.systemList li dl dd {
    font-size: 12px;
    font-size: 1.2rem;
}
.preventBox h3 {
    top: -13px;
    width: 80%;
}
.preventBox ul li {
display: flex;
justify-content: space-between;
align-items: center;
}
.preventBox ul li {
width: 100%;
margin-right: 0;
}
.preventBox {
    padding: 30px 20px 15px;
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
}
.preventBox ul li .Img {
width: 35%;
}
.preventBox ul li dl {
width: 60%;
}
.preventBox ul li dl dd {
    font-size: 12px;
    font-size: 1.2rem;
}
.preventBox ul li dl dt {
font-size: 14px;
font-size: 1.4rem;
text-align: left;
}
#area05.faSec .flexBox {
    margin-bottom: 30px;
}
}