@charset "utf-8";
/* CSS Document */
/*--------------------------------------
　Main Index
---------------------------------------*/
body { overflow-x: auto; }
#contents {width: 100%; }
/*--------------------------------------
　visArea
---------------------------------------*/
#visArea_top {
 min-width: 1100px;
 overflow-x: hidden;
}
#visArea_top .mainArea {
 background: url("img/mv_pic_pc.jpg") no-repeat center top / cover;
 padding: 3.3rem 0;
 min-height: 669px;
 color: #fff;
}
#visArea_top .mainArea .mainAreaInner {
 width: 1544px;
 margin: 0 auto;
 padding: 0 2rem;
}
#visArea_top .mainArea .siteNameArea {
 width: 320px;
 margin: 0 0 5rem;
}
#visArea_top .mainArea .catchArea .catch {
 font-size: 4.5rem;
 font-weight: bold;
 line-height: 1.51;
 margin: 0 0 4rem;
 letter-spacing: 0.06em;
 text-shadow: 0px 0px 5px rgb(89, 89, 89);
}
#visArea_top .mainArea .catchArea .catch span {
 background: linear-gradient(rgba(255, 255, 255, 0) 90%, #c9f400 90%);
}
#visArea_top .mainArea .spBg + p {
 font-size: 1.5rem;
 line-height: 2;
 width: 440px;
}
/*--------------------------------------
addParts01
---------------------------------------*/
.addParts01 .btn-internal a::after { transform: translateY(-50%) rotate(90deg); }
/*--------------------------------------
addParts02
---------------------------------------*/
.addParts02 {
 background: url("img/addParts02_bg01.png") no-repeat center top / 100% auto;
 background-attachment: fixed;
}
.addParts02 .addInner {
 background: url("img/addParts02_bg02.png") no-repeat center top / 774px auto;
}
.addParts02 .title_icon { color: #000; }
.addParts02 .block {
 background-color: #fff;
 padding: 3rem 5rem;
 box-shadow: 9px 10px 0px #dadada; 
}
.addParts02 .block + .block { margin-top: 4rem; }
.addParts02 .blockTitArea {
 text-align: center;
 margin: 0 0 5rem;
}
.addParts02 .block .blockCatch {
 background-color: #0a3465;
 color: #fff;
 font-size: 3.8rem;
 font-weight: bold;
 letter-spacing: 0.20em;
 text-align: center;
 padding: 2rem 1rem;
 margin: 0 0 3rem;
 position: relative;
}
.addParts02 .block .blockCatch::before {
 content: "";
 width: 53px;
 height: 53px;
 background-color: #caf919;
 clip-path: polygon(0 0, 100% 0%, 0% 100%);
 position: absolute;
 left: 0;
 top: 0;
}
.addParts02 .block .blockTitSub {
 font-size: 2.4rem;
 font-weight: bold;
 line-height: 1.5;
 text-align: center;
 color: #2b2b2b;
 letter-spacing: 0.23em;
 margin: 0 0 2rem;
}
.addParts02 .block .blockTit {
 font-size: 3.5rem;
 font-weight: bold;
 line-height: 1.5;
 letter-spacing: 0.23em;
 color: #003fcd;
}
.addParts02 .block .thumb {
 width: 576px;
 margin: 0 auto;
 text-align: center;
}
.addParts02 .block .title {
 margin: 10rem 0 4rem;
 color: #2b2b2b;
 font-size: 2.6rem;
 font-weight: bold;
 line-height: 1.4;
 letter-spacing: 0.23em;
 text-align: center;
}
.addParts02 .block > .catch {
 text-align: center;
 color: #003fcd;
 background: #e3f2ff;
 font-size: 2rem;
 letter-spacing: 0.03em;
 font-weight: bold;
 padding: 0.5rem;
}
.addParts02 .block .title + .catch {
 margin-top: -3rem;
}
.addParts02 .block .block-2column {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
}
.addParts02 .block .block-2column .box {
 width: calc((100% - 1.8rem) / 2);
 padding: 4rem 3.8rem 3rem;
 background-color: #e3f2ff;
 margin: 1.2rem 0 0;
 position: relative;
}
.addParts02 .block .block-2column .box::before {
 content: "";
 width: 100%;
 height: 26px;
 background: url("img/block-2column_bg.png") no-repeat center top / auto 100%;
 position: absolute;
 top: -12px;
 left: 0;
}
.addParts02 .block .block-2column .box .box-head {
 margin: 0 0 2rem 0;
 display: flex;
 justify-content: center;
 align-items: center;
}
.addParts02 .block .block-2column .box .box-head .ttl {
 color: #003fcd;
 font-size: 2.0rem;
 font-weight: bold;
 line-height: 1.4;
 text-align: center;
}
.addParts02 .block .featureBoxes {
 max-width: 1021px;
 margin: 0 auto 60px;
 display: flex;
 flex-wrap: wrap;
}
.addParts02 .block .featureBoxes .featureBox {
 width: calc(100%/3);
 background: #fff;
 border: 2px solid #d8d8d8;
 border-right: 0;
 padding: 30px;
}
.addParts02 .block .featureBoxess .featureBox:nth-child(3n),
.addParts02 .block .featureBoxes .featureBox:last-child {
 border: 2px solid #d8d8d8;
}
.addParts02 .block .featureBoxes .featureBox__catch {
 display: flex;
 align-items: center;
 justify-content: center;
 text-align: center;
 font-size: 2rem;
 color: #003fcd;
 font-weight: bold;
 line-height: 1.6;
 letter-spacing: 0.03em;
 padding: 0 0 20px;
 margin: 0 0 20px;
 position: relative;
}
.addParts02 .block .featureBoxes .featureBox__catch::after {
 content: "";
 position: absolute;
 left: 50%;
 bottom: 0;
 margin-left: -23px;
 width: 46px;
 height: 3px;
 background: #caf919;
}
.addParts02 .block .float-wrap {
 margin: 3rem 0 6rem 0;
 padding: 0 4rem;
}
.addParts02 .block .float-wrap table {
 width: calc(100% - 45rem);
 max-width: none;
 margin: 0;
}
/* .partsFeature */
.addParts02 .block .partsFeature {
 max-width: 850px;
 margin: 5rem auto 0;
 padding-top: 6.9rem;
}
.addParts02 .block .partsFeature .lower_bnr {
 border: solid 20px #0098ea;
 background-color: #fff;
 position: relative;
 padding: 5.5rem 4.8rem 2.6rem;
}
.addParts02 .block .partsFeature .lower_bnr_image {
 width: 378px;
 display: block;
 position: absolute;
 top: -69px;
 left: -21px;
}
.addParts02 .block .partsFeature .lower_bnr-body {
 position: relative;
 z-index: 1;
}
.addParts02 .block .partsFeature .lower_bnr-body .text { margin-left: calc(100% - 503px); }
.addParts02 .block .partsFeature .lower_bnr-body .lower_bnr-body__sub {
 display: inline-block;
 padding: 0.4rem 3rem 0.7rem;
 background: #006fff;
 color: #fff;
 text-align: center;
 font-weight: bold;
 font-size: 2.5rem;
 line-height: 1;
 margin: 0 0 2rem;
}
.addParts02 .block .partsFeature .lower_bnr-body .lower_bnr-body__ttl .blue {
 display: block;
 color: #0e79eb;
 font-size: 1.9rem;
 margin: 0 0 1rem;
}
.addParts02 .block .partsFeature .lower_bnr-body .lower_bnr-body__ttl {
 font-size: 2.6rem;
 line-height: 1.4;
 letter-spacing: 0.14em;
 font-weight: bold;
 color: #000;
}
.addParts02 .block .partsFeature .lower_bnr-body .lower_bnr-body__ttl a {
 text-decoration: none;
 display: inline-block;
 padding-right: 2rem;
 background: url("img/arrow_black.png") no-repeat right 0 bottom 0.3em / 7px auto;
}
/*--------------------------------------
addParts03
---------------------------------------*/
/*--------------------------------------
addParts04
---------------------------------------*/
.addParts04 { background-color: #f4faff; }
/*--------------------------------------
addParts05
---------------------------------------*/
.addParts05 .float-wrap { margin: 10rem 0 0; }
.addParts05 .float-wrap .float-img { width: 431px; }
.addParts05 .float-wrap .fr { margin-left: 5rem; }
.addParts05 .float-wrap .fl { margin-right: 5rem; }
.addParts05 .float-wrap .catch { font-size: 2.2rem; }
.addParts05 .float-wrap .fr + .catch { margin-right: 481px; }
.addParts05 .float-wrap .fl + .catch { margin-left: 481px; }
/*--------------------------------------
addPartsMokuji
---------------------------------------*/
.addPartsMokuji .addInner {
 padding-top: 0;
 padding-bottom: 4.5rem;
}
.addPartsMokuji #toc .chapter .chapter-h:first-child { display: none; }
/*--------------------------------------
addPartsHost
---------------------------------------*/
.addPartsHost .addInner { padding-top: 0; }
@media screen and (max-width: 768px) {
 .contents { padding: 0; }
 /*--------------------------------------
　visArea
---------------------------------------*/
 #visArea_top { min-width: 100%; }
 #visArea_top .mainArea {
  background: none;
  min-height: auto;
  padding: 0;
 }
 #visArea_top .mainArea .mainAreaInner {
  width: 100%;
  padding: 0;
 }
 #visArea_top .mainArea .mainAreaInner .spBg {
  background: url("img/mv_pic_sp.jpg") no-repeat center top / cover;
  aspect-ratio: 750 / 650;
  padding: 2rem 4%; 
 }
 #visArea_top .mainArea .siteNameArea {
  width: 160px;
  margin: 0 0 2rem;
 }
 #visArea_top .mainArea .catchArea .catch {
  font-size: 2.4rem;
  text-shadow: 0px 0px 4px rgb(89, 89, 89);
 }
 #visArea_top .mainArea .spBg + p {
  width: auto;
  color: #000;
  padding: 2rem 4% 0;
 }
 #visArea_top .btn-internal a { width: 80%; }
 #visArea_top .btn-internal a::after { transform: translateY(-50%) rotate(90deg); }
 /*--------------------------------------
 addParts02
 ---------------------------------------*/
 .addParts02 { background: none; }
 .addParts02::before {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 1920 / 2448;
  background: url("img/addParts02_bg01_sp.png") no-repeat center top / 100% auto;
  position: sticky;
  top: 0;
  z-index: -1;
 }
 .addParts02 .addInner {
  background-size: 90% auto;
  margin-top: -127%;
 }
 .addParts02 .block {
  background-color: #fff;
  padding: 2rem;
 }
 .addParts02 .block + .block { margin-top: 3rem; }
 .addParts02 .blockTitArea { margin: 0 0 2rem; }
 .addParts02 .block .blockCatch {
  font-size: 2rem;
  letter-spacing: normal;
  padding: 1.6rem 1rem;
 }
 .addParts02 .block .blockCatch::before {
  width: 34px;
  height: 34px;
 }
 .addParts02 .block .blockTitSub {
  font-size: 1.8rem;
  letter-spacing: normal;
 }
 .addParts02 .block .blockTit {
  font-size: 2.4rem;
  letter-spacing: normal;
 }
 .addParts02 .block .thumb { width: 90%; }
 .addParts02 .block .title {
  margin: 6rem 0 2rem;
  font-size: 2rem;
  letter-spacing: normal;
 }
 .addParts02 .block > .catch {
  font-size: 1.8rem;
  letter-spacing: normal;
 }
 .addParts02 .block .title + .catch { margin-top: 0; }
 .addParts02 .block .block-2column { display: block; }
 .addParts02 .block .block-2column .box {
  width: 100%;
  margin: 5rem 0 0;
  padding: 3rem 1.6rem 1.6rem
 }
 .addParts02 .block .block-2column .box::before {
  height: 20px;
  top: -10px;
 }
 .addParts02 .block .block-2column .box .box-head .ttl {
  font-size: 1.6rem;
  letter-spacing: normal;
 }
 .addParts02 .block .featureBoxes { display: block; }
 .addParts02 .block .featureBoxes .featureBox {
  width: 100%;
  border: 2px solid #d8d8d8;
  padding: 1.6rem;
 }
 .addParts02 .block .featureBoxes .featureBox + .featureBox { margin-top: 2rem; }
 .addParts02 .block .featureBoxes .featureBox__catch {
  font-size: 1.8rem;
  margin: 0 0 1.6rem;
  padding: 0 0 1.6rem;
 }
 .addParts02 .block .float-wrap { padding: 0; }
 .addParts02 .block .float-wrap .gmap {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 65.1428%;
 }
 .addParts02 .block .float-wrap .gmap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
 }
 .addParts02 .block .float-wrap table { width: 100%; }
 .addParts02 .block .partsFeature  {
  margin: 8rem auto 0;
  padding-top: 4rem;
 }
 .addParts02 .block .partsFeature .lower_bnr {
  border: solid 10px #0098ea;
  padding: 0 1.5rem 1rem;
 }
 .addParts02 .block .partsFeature  .lower_bnr_image {
  position: relative;
  width: 76%;
  height: auto;
  top: -50px;
  left: auto;
  margin: 0 auto -3rem;
 }
 .addParts02 .block .partsFeature  .lower_bnr-body .text {
  margin: 0;
  text-align: center;
 }
 .addParts02 .block .partsFeature .lower_bnr-body .lower_bnr-body__ttl {
  text-align: left;
  font-size: 2.2rem;
 }
 .addParts02 .block .partsFeature .lower_bnr-body .lower_bnr-body__ttl .blue { font-size: 1.7rem; }
 .addParts02 .block .partsFeature .lower_bnr-body .text p { text-align: left; }
 /*--------------------------------------
 addParts03
 ---------------------------------------*/
 /*--------------------------------------
 addParts04
 ---------------------------------------*/
 /*--------------------------------------
 addParts05
 ---------------------------------------*/
 .addParts05 .float-wrap { margin: 4rem auto 0; }
 .addParts05 .float-wrap .catch { font-size: 1.8rem; }
 .addParts05 .float-wrap .fl,
 .addParts05 .float-wrap .fr { margin:0 auto 2rem; }
 .addParts05 .float-wrap .fr + .catch { margin-right: 0; }
 .addParts05 .float-wrap .fl + .catch { margin-left: 0; }
 /*--------------------------------------
 addPartsMokuji
 ---------------------------------------*/
 /*--------------------------------------
 addPartsHost
 ---------------------------------------*/
}
/* SP_End */



