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

　Main Index

---------------------------------------*/
#contents {
 width: 100%;
}
/*--------------------------------------

　visArea

---------------------------------------*/
#visArea_top {
 position: relative;
 z-index: 1;
}
#visArea_top .mainArea {
 background: url("img/mv_pic_pc.jpg") center bottom no-repeat;
 background-size: cover;
 min-height: 669px;
 width: 100%;
 max-width: 1920px;
 margin: 0 auto;
 position: relative;
}
#visArea_top .mainArea .mainAreaInner {
 width: 1300px;
 margin: 0 auto;
 padding: 5.5rem 0;
}
#visArea_top .mainArea .mainTxtBox {
 width: 832px;
 background: rgba(255, 255, 255, 0.8);
 padding: 4rem 3.8rem;
}
#visArea_top .mainArea .mainTxtBox .siteName {
 width: 201px;
 margin: 0 auto 4.6rem;
}
#visArea_top .mainArea .mainTxtBox .catch {
 font-size: 4.0rem;
 font-weight: 700;
 line-height: 1.4;
 text-align: center;
 color: #124459;
 margin: 0 0 20px;
 letter-spacing: 0.06em;
}
#visArea_top .mainArea .mainTxtBox p + p { margin-top: 2rem; }
/*--------------------------------------

オリジナル

---------------------------------------*/
/***** addParts01 *****/
/***** addParts02 *****/
.addParts02 { background: url("img/addParts02_bg.jpg") repeat-y center top / 100% auto; }
.addParts02 .sttl {
 font-size: 3.0rem;
 font-weight: bold;
 line-height: 1.5;
 text-align: center;
 padding: 0;
 margin: 0 0 4rem 0;
 color: #000;
 letter-spacing: 0.15em;
}
#index .addParts02 .sttl .big {
 font-size: 1.2em;
 color: #124459;
}
.addParts02 .block {
 background: url("img/bg_lattice.jpg") repeat #f0f0f0;
 background-blend-mode: lighten;
 background-size: 38px auto;
 padding: 3.4rem 4rem 4rem;
 border: 1px solid #000000;
}
.addParts02 .block + .block { margin-top: 6rem; }
.addParts02 .blockTitArea { text-align: center; }
.addParts02 .blockTitSub {
 background-color: #124459;
 padding: 3.1rem 12rem;
 font-size: 3.2rem;
 font-weight: 700;
 line-height: 1.5;
 letter-spacing: 0.02em;
 color: #fff;
 margin: 0 0 5rem;
}
.addParts02 .blockTitSub .red { color: #ff7666; }
.addParts02 .blockTitSub {
 background-image: url("img/icon_yosan.png");
 background-repeat: no-repeat;
 background-size: 70px auto;
 background-position: left 30px top 50%;
}
.addParts02 #company02 .blockTitSub { background-image: url("img/icon_seinou.png"); }
.addParts02 #company03 .blockTitSub { background-image: url("img/icon_minpaku.png"); }
#index .addParts02 .blockTit {
 font-size: 2.8rem;
 font-weight: bold;
 line-height: 1.5;
 letter-spacing: 0.23em;
 color: #0071bc;
 margin: 0 0 5rem;
}
.addParts02 .thum {
 text-align: center;
 width: 854px;
 margin: 0 auto;
}
.addParts02 .title {
 padding: 5rem 0 5rem;
 color: #124459;
 font-size: 3rem;
 font-weight: bold;
 line-height: 1.4;
 text-align: center;
 letter-spacing: 0.23em;
 margin: 5rem 0 0;
}
.addParts02 .featureArea { margin: 7rem 0 0; }
.addParts02 .featureArea .featureBoxes { display: flex; }
.addParts02 .featureArea .featureBoxes .featureBox {
 width: 50%;
 background: #fff;
 padding: 30px;
 box-shadow: 8px 8px 0 #124459 inset, -8px -8px 0 #124459 inset;
}
.addParts02 .featureArea .featureBoxes .featureBox:nth-child(2n) { border-left: none; }
.addParts02 .featureArea .featureBoxes .featureBox__catch {
 display: flex;
 align-items: center;
 justify-content: center;
 text-align: center;
 font-size: 2.2rem;
 color: #0071bc;
 font-weight: bold;
 line-height: 1.6;
 padding: 0 0 20px;
 margin: 0 0 20px;
 position: relative;
 letter-spacing: 2px;
}
.addParts02 .featureArea .featureBoxes .featureBox__catch::after {
 content: "";
 position: absolute;
 left: 50%;
 bottom: 0;
 margin-left: -24px;
 width: 48px;
 height: 2px;
 background: #78cefa;
}
.addParts02 .block .btn-web { margin-top: 5rem; }
.addParts02 .block .float-wrap,
.addParts02 .block table { margin: 0; }
.addParts02 .block .float-wrap + .float-wrap { margin: 6rem 0 0; }
.addParts02 .block .float-wrap .catch { font-size: 2.2rem; }
/***** addParts03 *****/
/***** addParts04 *****/
.addParts04 .iconBox { padding: 2.5rem 0 0; }
.addParts04 .iconBox + .iconBox {
 border-top: solid 1px #01a3f6;
 margin-top: 2.5rem;
}
.addParts04 .iconBox .iconBoxTitle {
 display: table;
 width: 100%;
 vertical-align: middle;
 margin: 0 0 3rem;
}
.addParts04 .iconBox .iconBoxTitle > div:first-child {
 display: table-cell;
 vertical-align: middle;
 width: 10rem;
 padding-right: 2rem;
}
.addParts04 .iconBox .iconBoxTitle h3.icon {
 display: table-cell;
 vertical-align: middle;
 font-size: 2.4rem;
 font-weight: bold;
 line-height: 1.4;
 color: #0071bc;
 letter-spacing: 0.03em;
}
.addParts04 .iconBox .iconBoxTitle .icon a {
 width: 100%;
 padding-right: 2rem;
 background: url("img/arrow01_darkgreen.svg") no-repeat right 50% / 8px auto;
}

/***** addParts05 *****/
.addParts05 .float-wrap { margin: 10rem auto 0; }
.addParts05 .float-wrap .catch { font-size: 2.2rem; }
/***** addParts06 *****/
.block-pr {
 padding: 4rem;
 background: #fffbea;
}
.block-pr .title {
 margin: 0 0 2rem 0;
 color: #124459;
 font-size: 3rem;
 font-weight: 700;
 letter-spacing: 0.15em;
 line-height: 1.4;
 text-align: center;
}
.block-pr .box {
 padding: 2.5rem;
 background: #fff;
}
.block-pr .float-wrap { margin: 0; }
/***** addParts07 *****/


/*　ここまで　*/
@media screen and (max-width: 768px) {
 /*------------

 Index

 ------------*/
 #contents { padding: 0; }
 /*--------------------------------------

　visArea

---------------------------------------*/
 #visArea_top .mainArea {
  background: none;
  max-width: 100%;
  min-height: auto;
 }
 #visArea_top .mainArea .mainAreaInner {
  width: 100%;
  padding: 0;
 }
 #visArea_top .mainArea .mainTxtBox {
  width: 100%;
  padding: 0 2rem 2rem;
 }
 #visArea_top .spBg01 {
  background: url("img/mv_pic_sp.jpg") no-repeat center top / cover;
  padding: 3rem 0;
  margin: 0 -2rem 2rem;
  display: flex;
  justify-content: space-around;
 }
 #visArea_top .spBg02 {
  width: 70%;
  background: rgba(255, 255, 255, 0.8);
  padding: 2rem 1.5rem;
  text-align: left;
 }
 #visArea_top .mainArea .mainTxtBox .siteName {
  width: 62%;
  margin: 0 auto 2rem;
 }
 #visArea_top .mainArea .mainTxtBox .catch {
  text-align: center;
  font-size: 6.2vw;
  margin: 0;
 }
 #visArea_top .mainArea .mainTxtBox .catch .sp_blue {
  color: #0071bc;
  font-size: 4vw;
 }
 
 
 /*--------------------------------------

 オリジナル

 ---------------------------------------*/
 /***** addParts02 *****/ 
 .addParts02 .sttl { font-size: 2.2rem; }
 .addParts02 .sttl .big { font-size: 1.3em; }
 .addParts02 .block {
  padding: 2rem 1.8rem;
  background-size: 18px auto;
 }
 .addParts02 .block + .block { margin-top: 3rem; }
 .addParts02 .blockTitArea { margin: 0 0 2rem; }
 .addParts02 .blockTitSub {
  font-size: 2.4rem;
  letter-spacing:normal;
  margin: 0 0 3rem;
  padding: 1rem;
  padding-left: 8rem;
  text-align: left;
 }
 .addParts02 .blockTitSub {
  background-size: 40px auto;
  background-position: left 10px top 50%;
 }
 #index .addParts02 .blockTit {
  font-size: 2rem;
  margin: 0 0 3rem;
 }
 .addParts02 .thum { max-width: 100%; }
 .addParts02 .featureArea { margin: 4rem 0 0; }
 .addParts02 .featureArea .featureBoxes {
  margin: 0 auto 4rem;
  display: block;
 }
 .addParts02 .featureArea .featureBoxes .featureBox {
  width: 100%;
  padding: 2rem;
 }
 .addParts02 .featureArea .featureBoxes .featureBox:nth-child(2n) {
  border-left: 2px solid #124459;
  border-top:none;
 }
 .addParts02 .featureArea .featureBoxes .featureBox__catch {
  font-size: 1.8rem;
  margin: 0px 0 1.2rem;
  padding: 0 0 1.2rem;
 }
 .addParts02 .title {
  letter-spacing: normal;
  font-size: 2.2rem;
  padding: 3rem 0;
 }
 .addParts02 .block .float-wrap .catch { font-size: 1.8rem; }
 /***** addParts03 *****/
 /***** addParts04 *****/
 .addParts04 .iconBox .iconBoxTitle { margin: 0 0 2rem; }
 .addParts04 .iconBox .iconBoxTitle > div:first-child { width: 7rem; }
 .addParts04 .iconBox .iconBoxTitle h3.icon { font-size: 2rem; }
 /***** addParts05 *****/
 .addParts05 .float-wrap { margin: 0; }
 .addParts05 .float-wrap .float-img { max-width: 100%; }
 .addParts05 .btn-internal + .float-wrap { margin-top: 7rem; }
 .addParts05 .float-wrap .catch { font-size: 2rem; }
 /***** addParts06 *****/
 /***** addParts07 *****/
 .block-pr { padding: 1.6rem; }
 .block-pr .title {
  font-size: 2rem;
  letter-spacing: normal;
 }
 .block-pr .box { padding: 1.6rem 1rem; }
}
/* SP_End */
