@charset "UTF-8";
#page-header {
  margin-bottom: 0;
  padding-top: 0;
}
#header-upper-box {
  max-width: 768px;
}
#page-contents {
  padding: 0;
  margin-bottom: -60px;
}
.l-footer {
  margin-top: 60px;
}
.repair {
  max-width: 768px;
  margin: auto;
  text-align: center;
  font-size: 2.4rem;
}
.repair img {
  width: 100%;
}
.wrap_cta,
.wrap_akutoku,
.wrap_reason,
.wrap_more,
.wrap_merit,
.wrap_link,
.wrap_cp {
  position: relative;
}
.wrap_fv {
  background-color: #def1ff;
}
.note_mv,
.note_mv2 {
  display: block;
  left: 0;
  right: 0;
  margin: auto;
  width: 90%;
  font-size: 1.7rem;
  font-weight: bold;
  text-align: left;
}
.note_mv li {
  padding-left: 2em;
  text-indent: -2em;
}
.note_mv2 li {
  padding-left: 1.3em;
  text-indent: -1.3em;
}
.link_tel {
  position: absolute;
  display: block;
  top: 60%;
  left: 0;
  right: 0;
  margin: auto;
  width: 72%;
}
.link_repair {
  position: absolute;
  display: block;
  bottom: 13.5%;
  font-size: 2.1rem;
  font-weight: bold;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.link_repair::after {
  content: "";
  display: inline-block;
  width: 19px;
  height: 18px;
  background: url("../img/ico_link_black.png") top right no-repeat;
  background-size: cover;
}
.link_error {
  position: absolute;
  display: block;
  bottom: 9%;
  font-size: 2.1rem;
  font-weight: bold;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.link_error::after {
  content: "";
  display: inline-block;
  width: 19px;
  height: 18px;
  background: url("../img/ico_link_black.png") top right no-repeat;
  background-size: cover;
}
.wrap_modal a img {
  width: 95%;
  margin: 3% auto 0;
}
.wrap_akutoku p {
  position: absolute;
  display: block;
  bottom: 13%;
  left: 0;
  right: 0;
  margin: auto;
  width: 80%;
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: left;
}
.wrap_reason p {
  position: absolute;
  display: block;
  left: 0;
  right: 0;
  margin: auto;
  width: 83%;
  text-align: left;
}
.area_bk {
  background-image: url("../img/img_back.jpg");
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}
.txt_reason1 {
  top: 48%;
  font-size: 3.0rem;
  line-height: 1.6;
}
.txt_reason2 {
  top: 28%;
  font-size: 3.0rem;
  text-align: center!important;
  letter-spacing: 1px;
  line-height: 1.6;
}
.txt_reason3 {
  bottom: 8%;
  font-size: 3.0rem;
  text-align: center!important;
  letter-spacing: 1px;
  line-height: 1.5;
}
.note_reason1 {
  left: 0;
  right: 0;
  margin: auto;
  padding: 10px 0 25px;
  width: 85%;
  font-size: 1.7rem;
  text-align: left;
}
.note_reason2 {
  position: absolute;
  display: block;
  left: 0;
  right: 0;
  margin: auto;
  width: 83%;
  top: 46.5%;
  font-size: 1.7rem;
  text-align: left;
}
.note_reason3 {
  position: absolute;
  display: block;
  left: 0;
  right: 0;
  margin: auto;
  width: 83%;
  bottom: 2%;
  font-size: 1.7rem;
  text-align: left;
}
.note_reason1 ,
.note_reason2 ,
.note_reason3 li {
  padding-left: 1.5em;
  text-indent: -1.5em;
}
.note_more1 ,
.note_more2 {
  display: block;
  left: 0;
  right: 0;
  margin: auto;
  width: 85%;
  text-align: left;
  font-size: 1.7rem;
}
.note_more2 {
  padding-bottom: 25px;
}
.note_more1 li {
  text-indent: -2em;
  padding-left: 2em;
}
.note_more2 li {
  text-indent: -1.5em;
  padding-left: 1.5em;
}
.link_reason {
  font-size: 1.8rem;
  padding: 5px;
}
.link_reason::after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 12px;
  margin-bottom: 3px;
  background: url("../img/ico_link_black.png") top right no-repeat;
  background-size: cover;
}
.txt_merit1 {
  position: absolute;
  display: block;
  left: 0;
  right: 0;
  margin: auto;
  width: 85%;
  text-align: center;
  top: 31%;
  font-size: 2.5rem;
  line-height: 1.8;
}
.txt_merit2-1 {
  position: absolute;
  display: block;
  left: 16%;
  right: 0;
  margin: auto;
  width: 60%;
  text-align: left;
  bottom: 45.7%;
  font-size: 2.5rem;
  line-height: 1.7;
}
.txt_merit2-2 {
  position: absolute;
  display: block;
  left: 16%;
  right: 0;
  margin: auto;
  width: 60%;
  text-align: left;
  bottom: 40.5%;
  font-size: 2.5rem;
  line-height: 1.3;
}
.txt_merit2-3 {
  position: absolute;
  display: block;
  left: 0;
  right: 0;
  margin: auto;
  width: 83%;
  text-align: center;
  bottom: 32.7%;
  font-size: 2.5rem;
  font-weight: bold;
  color: #006cbe;
  line-height: 1.2;
}
.txt_merit3 {
  position: absolute;
  display: block;
  left: 0;
  right: 0;
  margin: auto;
  width: 85%;
  text-align: center;
  bottom: 4.5%;
  font-size: 2.5rem;
  line-height: 2.2;
}
.wrap_tel a {
  position: absolute;
  display: block;
  top: 32%;
  left: 0;
  right: 0;
  margin: auto;
  width: 78%;
}
.wrap_link a {
  position: absolute;
  display: block;
  top: 45%;
  left: 0;
  right: 0;
  margin: auto;
  width: 75%;
}
/* Campaign */
.wrap_cp {
  position: relative;
  margin-top: -7%;
  padding: 2% 8% 5%;
  border-bottom: 5.3vw solid #def1ff;
  background: url("../img/bg_cp.png") repeat-y center top;
  background-size: 100%;
  text-align: center;
}
.wrap_link + .wrap_cp {
  margin-top: -5.5%;
  border-bottom-width: 4.2vw;
}
.wrap_cp picture + a {
  display: block;
  margin-top: 5%;
}
.note_cp {
   margin-top: 3%;     
}
.note_cp li {
  padding-left: 1.5em;
  text-indent: -1.5em;
  font-size: 1.7rem;
  text-align: left;
}
.wrap_link_cp {
  padding-bottom: 11%;
  background-image: url("../img/btm_link.png"), url("../img/bg_link.png");
  background-position: center bottom, center top;
  background-repeat: no-repeat, repeat-y;
  background-size: 100%, 100%;
  text-align: center;
}
.wrap_link_cp dl dt {
  display: block;
  height: min(calc(260vw / 768* 100),255px);
  overflow: hidden;
}
.wrap_link_cp dl dd,
.wrap_link_cp .note_cp {
  padding-left: 12%;
  padding-right: 12%;
}
.wrap_link_cp a.link_btn {
  display: block;
  margin: 3% auto 0;
  width: 75%;
}
/* 文字修飾 */
.font_mid {
  font-size: 3.0rem;
}
.font_big {
  font-size: 4.0rem;
}
.font_bold {
  font-weight: bold;
}
.font_orange {
  color: #f87b01;
}
.font_blue {
  color: #006cbe;
}
.kome_mark1 {
  font-size: 1.7rem;
  line-height: 1;
}
.kome_mark2 {
  font-size: 2.1rem;
  vertical-align: 0.7em;
}
.under_yellow {
  background: linear-gradient(transparent 60%, #ffd11a 60%);
}
.line_wide {
  line-height: 1.8;
}
@media (max-width: 768px) {
  .note_mv {
    font-size: max(calc(18vw / 768 * 100),11px);
  }
  .note_mv2 {
    font-size: max(calc(18vw / 768 * 100),11px);
  }
  .link_repair::after {
    width: max(calc(19vw / 768 * 100),11px);
    height: max(calc(18vw / 768 * 100),11px);
  }
  .link_repair {
    font-size: max(calc(20vw / 768 * 100),11px);
  }
  .link_error::after {
    width: max(calc(19vw / 768 * 100),11px);
    height: max(calc(18vw / 768 * 100),11px);
  }
  .link_error {
    font-size: max(calc(20vw / 768 * 100),11px);
  }
  .link_reason {
    font-size: max(calc(18vw / 768 * 100),11px);
  }
  .link_reason::after {
    width: max(calc(16vw / 768 * 100),11px);
    height: max(calc(12vw / 768 * 100),11px);
    margin-bottom: calc(3vw / 768 * 100);
  }
  .wrap_akutoku p {
    bottom: 10%;
    line-height: calc(24vw / 768 * 100);
    font-size: max(calc(16vw / 768 * 100),11px);
  }
  .txt_reason1 {
    line-height: calc(46vw / 768 * 100);
    font-size: max(calc(30vw / 768 * 100),11px);
  }
  .txt_reason2 {
    top: 27.5%;
    line-height: calc(45vw / 768 * 100);
    font-size: max(calc(30vw / 768 * 100),11px);
  }
  .txt_reason3 {
    bottom: 9%;
    line-height: calc(36vw / 768 * 100);
    font-size: max(calc(30vw / 768 * 100),11px);
  }
  .note_reason1 {
    font-size: max(calc(17vw / 768 * 100),11px);
  }
  .note_reason2 {
    top: 45%;
    line-height: calc(30vw / 768 * 100);
    font-size: max(calc(17vw / 768 * 100),11px);
  }
  .note_reason3 {
    bottom: 1%;
    line-height: calc(30vw / 768 * 100);
    font-size: max(calc(17vw / 768 * 100),11px);
  }
  .note_more1 ,
  .note_more2 {
    font-size: max(calc(17vw / 768 * 100),11px);
  }
  .txt_merit1 {
    line-height: calc(45vw / 768 * 100);
    font-size: max(calc(25vw / 768 * 100),11px);
  }
  .txt_merit2-1 {
    line-height: calc(45vw / 768 * 100);
    font-size: max(calc(25vw / 768 * 100),11px);
  }
  .txt_merit2-2 {
    line-height: calc(35vw / 768 * 100);
    font-size: max(calc(25vw / 768 * 100),11px);
  }
  .txt_merit2-3 {
    line-height: calc(35vw / 768 * 100);
    font-size: max(calc(25vw / 768 * 100),11px);
  }
  .txt_merit3 {
    line-height: calc(55vw / 768 * 100);
    font-size: max(calc(25vw / 768 * 100),11px);
  }
  .font_mid {
    font-size: max(calc(30vw / 768 * 100),11px);
  }
  .font_big {
    font-size: max(calc(40vw / 768 * 100),11px);
  }
  .kome_mark1 {
    font-size: max(calc(17vw / 768 * 100),11px);
  }
  .kome_mark2 {
    font-size: max(calc(21vw / 768 * 100),11px);
  }
  .note_cp li {
    font-size: max(calc(17vw / 768 * 100),11px);
  }
}
@media (min-width: 769px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
  .wrap_link a:hover {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
  }
  .wrap_cp {
    border-bottom-width: 42px;
  }
  .wrap_link + .wrap_cp {
    border-bottom-width: 31px;
  }
  .repair .wrap_cp img {
    width: auto;
    max-width: 100%;
  }
  .wrap_cp a:hover img {
    opacity: 0.8; 
  }
  .wrap_link_cp a.link_btn:hover {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
  }
}
/* モーダル */
.js-popup-open {
  cursor: pointer;
}
.js-popup {
  display:none;
  height:100vh;
  position:fixed;
  top:0;
  width:100%;
}
.popup_bg {
  background:rgba(0,0,0,0.7);
  height:100vh;
  position:fixed;
  width:100%;
}
.popup_content {
  background:#fff;
  left:50%;
  position:fixed;
  top:50%;
  transform:translate(-50%,-50%);
  width:90%;
  max-width: 750px;
  max-height: 90vh;
  overflow-y: auto;
}
.wrap_popup{
  position: relative;
}
.wrap_popup img {
  max-width: 100%;
  height: auto;
}
.wrap_popup .link_2025 {
  position:absolute;
  display: block;
  bottom: 17%;
  width: 65%;
  height: 24px;
  left: 0;
  right: 0;
  margin: auto;
}
.wrap_popup p.popup_tit {
  padding: 3% 3% 0;
  font-size: 1.5rem;
  font-weight: bold;
}
.wrap_popup dl.popup_list {
  padding: 0 3% 3%;
  font-size: 1.4rem;
  line-height: 1.6;
}
.wrap_popup dl.popup_list dt {
  margin: 3% 0 0;
  padding-left: 1.5em;
  text-indent: -1.5em;
  font-weight: bold;
}
.wrap_popup dl.popup_list ul,
.wrap_popup dl.popup_list p {
  margin-top: 1%;
}
.wrap_popup dl.popup_list ul ul {
  margin-top: 0;
}
.wrap_popup dl.popup_list li {
  margin: 5px 0 0;
  padding-left: 1em;
  text-indent: -1em;
}
.popup_content .js-popup-close {
  cursor: pointer;
  display: block;
  width: 240px;
  height: 2.5em;
  margin: 2em auto 2.5em;
}
@media (max-width: 768px) {
  .popup_content {
    width:90%;
    max-width: 100%;
    max-height: 80vh;
  }
  .popup_content .link_2025 {
    height: calc(24vw / 768 * 100);
  }
  .popup_content .js-popup-close {
    width: min(240px,80%);
  }
}
/* 表示切替 */
.dsp_sp {
  display: none;
}
.dsp_pc {
  display: block;
}
@media (max-width: 768px) {
  .dsp_sp {
    display: block;
  }
  .dsp_pc {
    display: none;
  }
}