@charset "UTF-8";


/*--------------------------
  全体
ｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰ*/
:root {
  --main-color: #004da1;
  --sub-color:#00a2e6;
  --light-color:#4edfdd;
  --back-color:#e5f6fc;
  --gray-color:#484848;
  
  --gap-s: 20px;
  --gap-m: 40px;
  --gap-l: 80px;

  --font-s:clamp(12px, 0.659rem + 0.45vw, 16px);
  --font-base:clamp(14px, 0.784rem + 0.45vw, 18px);
  --font-m:clamp(16px, 0.818rem + 0.91vw, 24px);
  --font-ml:clamp(20px, 1.068rem + 0.91vw, 28px);
  --font-l:clamp(24px, 1.136rem + 1.82vw, 40px);
  --font-ll:clamp(50px, 1.989rem + 5.68vw, 100px);
}
@media screen and (max-width:767px){
  :root {
  --gap-s: 10px;
  --gap-m: 30px;
  --gap-l: 60px;
  }
}
  
#diy-insurance{
font-family: "Noto Sans JP";
}
.cont-block{
  margin:auto;
  padding-top: var(--gap-l);
  padding-bottom: var(--gap-l);
  width:90%;
  max-width:1140px;
  text-align:center;
}
.cont-block img{
  width:100%; 
}
.cont-block h2{
  margin:0 auto var(--gap-m) auto;
  font-size:var(--font-l);
  font-weight: bold;
  letter-spacing: 2.4px;
  color: var(--main-color);
  letter-spacing: 0.05em;
  font-style: italic;
}
.cont-block p{
  font-size:var(--font-base);
  line-height:1.8;
}
.cont-block p.lead-txt,
.cont-block li{
  font-size:var(--font-m);
  line-height:1.8;
}
  
#diy-insurance .c-button--primary-white,
#diy-insurance .c-button--primary-blue{
  width:100%;
}
@media screen and (max-width: 767px) {
  #diy-insurance .c-button--primary-white::after,
  #diy-insurance .c-button--primary-blue::after{
    right: 15px;
  }
  #diy-insurance .c-button--primary-white,
  #diy-insurance .c-button--primary-blue{
    text-align:left;
    justify-content: flex-start;
    padding-left: 15px;
  }
}


.link-btn{
  margin:auto;
  width:60%;
}
@media screen and (max-width: 767px) {
  .link-btn{
    width:100%;
    font-size:0.9em;
  }
}
  
.pop_blue{
  color:#4472c4;
  text-decoration: underline;
}
.pop_blue:hover{
  opacity: 0.7;
}

/*--------------------------
  キービジュアル
ｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰ*/
.p-safetyservice__fv {
  width: 100%;
  overflow: hidden;
  border-radius: 2px;
  background-color: #00a2e6;
}

@media screen and (max-width: 1200px) {
  .p-safetyservice__fv {
    padding: 50px 0;
  }
}

@media screen and (max-width: 767px) {
  .p-safetyservice__fv {
    padding: 0;
  }
}

.p-safetyservice__fv__inr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  max-width: 1140px;
  margin: auto;
}

@media screen and (max-width: 767px) {
  .p-safetyservice__fv__inr {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-top: 10%;
    padding-bottom: 5%;
  }
}

.p-safetyservice__fv__text-area {
  width: 100%;
}

_:-ms-lang(x)::-ms-backdrop, .p-safetyservice__fv__text-area {
  width: 562px;
}

.p-safetyservice__fv__text-area h1 {
  margin-bottom: 25px;
  color: #fff;
  font-size: 40px;
  font-stretch: normal;
  font-style: normal;
  font-style: italic;
  font-weight: bold;
  letter-spacing: 2.4px;
  line-height: 1.5;
  text-align: left;
  padding-left:20px;
}

@media screen and (max-width: 915px) {
  .p-safetyservice__fv__text-area h1 {
    font-size: 30px;
  }
}

@media screen and (max-width: 767px) {
  .p-safetyservice__fv__text-area h1 {
    margin-bottom: 3%;
    font-size: 26px;
    font-stretch: normal;
    font-weight: bold;
    letter-spacing: 1.56px;
    line-height: 1.5;
    text-align: center;
  }
}

.p-safetyservice__fv__text-area p {
  padding-left: 7px;
  color: #004da1;
  font-size: 16px;
  font-stretch: normal;
  font-style: normal;
  font-weight: bold;
  letter-spacing: 0.96px;
  line-height: 1.5;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .p-safetyservice__fv__text-area p {
    font-size: 14px;
    font-stretch: normal;
    font-style: normal;
    font-weight: bold;
    letter-spacing: 0.84px;
    line-height: 1.5;
    text-align: center;
  }
}

.p-safetyservice__fv__text-area .sub-text {
  margin-bottom: 15px;
  padding: 5px 0;
  background-color: #0077c3;
}

@media screen and (min-width: 768px), print {
  .p-safetyservice__fv__text-area .sub-text {
    width: 200%;
    -webkit-transform: translateX(-54.5%) skew(-20deg);
            transform: translateX(-54.5%) skew(-20deg);
  }
}

@media screen and (max-width: 767px) {
  .p-safetyservice__fv__text-area .sub-text {
    padding: 6px 0;
    -webkit-transform: translateX(-7%) skew(-20deg);
            transform: translateX(-7%) skew(-20deg);
  }
}

_:-ms-lang(x)::-ms-backdrop, .p-safetyservice__fv__text-area .sub-text {
  width: 220%;
  transform: translateX(-660px) skew(-20deg);
}

.p-safetyservice__fv__text-area .sub-text p {
  width: 100%;
  padding-right: 27px;
  color: #fff;
  font-size: 20px;
  font-stretch: normal;
  font-style: normal;
  font-weight: bold;
  letter-spacing: 1.2px;
  line-height: 1.5;
  text-align: right;
}

_:-ms-lang(x)::-ms-backdrop, .p-safetyservice__fv__text-area .sub-text p {
  padding-right: 37px;
}

@media screen and (min-width: 768px), print {
  .p-safetyservice__fv__text-area .sub-text p {
    -webkit-transform: skew(20deg);
            transform: skew(20deg);
  }
}

@media screen and (max-width: 1350px) {
  .p-safetyservice__fv__text-area .sub-text p .u-pc-hide {
    display:block;
  }
}

@media screen and (max-width: 860px) {
  .p-safetyservice__fv__text-area .sub-text p {
    font-size: 16px;
  }
}

@media screen and (max-width: 767px) {
  .p-safetyservice__fv__text-area .sub-text p {
    padding-right: 0;
    -webkit-transform: translateX(5%) skew(20deg);
            transform: translateX(5%) skew(20deg);
    font-size: 16px;
    font-stretch: normal;
    font-style: normal;
    font-weight: bold;
    letter-spacing: 0.96px;
    line-height: 1.5;
    text-align: center;
  }
}

.p-safetyservice__fv__img-area {
  width: 100%;
  max-width: 512px;
}

_:-ms-lang(x)::-ms-backdrop, .p-safetyservice__fv__img-area {
  width: 512px;
  height: 432px;
}

@media screen and (max-width: 767px) {
  .p-safetyservice__fv__img-area {
    max-width: none;
    padding: 0 10px;
  }
}

.p-safetyservice__fv__img-area > img {
  width: 100%;
}

_:-ms-lang(x)::-ms-backdrop, .p-safetyservice__fv__img-area > img {
  width: 512px;
  height: 432px;
}

@media screen and (max-width: 767px) {
  .p-safetyservice__fv__img-area > img {
    display: block;
    max-width: 350px;
    margin: auto;
  }
}


/*--------------------------
  自作PCの保証について
ｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰ*/


/*場合図*/
.insurance-exp-area{
  margin: var(--gap-m) 0;
  display:flex;
  width:100%;
  justify-content: space-between;
  gap: var(--gap-m);
}
.insurance-exp-area > dl{
  width: calc((100% - var(--gap-m)) / 2);
  border-radius: 2rem;
  background: var(--sub-color);
  color:#fff;
  padding: var(--gap-m);
}
.insurance-exp dt{
  font-size: var(--font-m);
  letter-spacing: 0.05em;
}
.insurance-exp dt{
  text-align:center;
}
.insurance-exp .image{
  margin:var(--gap-s) auto;
  width:50%;
}

@media screen and (max-width:428px){
  .insurance-exp-area{
    flex-direction: column;
  }
  .insurance-exp-area > dl{
    width: 100%;
  }
}
  
/*問いかけ*/
.insurance-question{
  margin-bottom:var(--gap-m);
  position:relative;
  padding: var(--gap-m);
  border-radius: 2rem;
  background-image: linear-gradient(0deg, #673b93 0%, #e7428f 100%);
  font-size: var(--font-m);
  color:#fff;
  text-align:center;
  line-height:1.8;
}
.insurance-question::after{
  position:absolute;
  content:'';
  bottom:-25px;
  left: calc(50% - 13px);
  width:26px;
  height:26px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background: #673b93;
  font-weight:bold;
}
/*答え*/
.insurance-answer{
  font-size: var(--font-m);
  color:var(--gray-color);
  text-align:center;
  line-height:1.8;
  font-weight:bold;
}
strong{
    background: linear-gradient(transparent 60%, #fad062 60%);
}
/*------------保証内容*/
.about-diy-service{
  background:var(--back-color);
}

.about-diy-service h3{
  color:var(--main-color);
  font-weight:bold;
  font-size: var(--font-l);
  font-style:italic;
}
.about-diy-service h3 span{
  color:#000;
  font-size: var(--font-ml);
  letter-spacing: 0.1em;
}
.service-insurance{
  margin-top: var(--gap-s) ;
  padding: var(--gap-s);
  border-radius: 2rem;
  text-align:left;
  border-radius: 2px;
  background-color: #fff;
  -webkit-box-shadow: 3.5px 3.5px 0 0 rgba(72, 72, 72, 0.1);
  box-shadow: 3.5px 3.5px 0 0 rgba(72, 72, 72, 0.1);
}
.service-insurance-inner{
  display:flex;
  gap:var(--gap-s);
}
.service-insurance-inner > div{
  width:calc((100% - var(--gap-s)) / 2);
}
.service-cont:nth-child(odd){
  background:#f4f9ec;
}
.service-cont:nth-child(even){
  background:#eaf3fb;
}
.service-cont{
  padding:var(--gap-m);
}
.service-cont h4{
  margin-bottom:var(--gap-s);
  font-size: var(--font-m);
  font-weight:bold;
  color: var(--gray-color);
  text-align:center;
}
.service-cont li{
  margin-left:var(--gap-s);
  margin-bottom:10px;
  list-style:disc;
  font-size: var(--font-base);
}
.service-cont .caution{
  font-size: var(--font-s);
}
.service-insurance .link-btn{
  margin-top: var(--gap-s);
}
  
@media screen and (max-width: 767px) {
  .service-insurance .link-btn{
    width:90%;
  }
  .service-insurance-inner{
    flex-direction: column;
  }
  .service-insurance-inner > div{
    width:100%;
  }
}

/*--------------------------
  安心のサポートメニュー
ｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰ*/
.support-diy-insurance{
  background:#f6f6f6;
}
.support-diy-insurance .link-btn{
  margin-top:  var(--gap-m);
}
@media screen and (max-width: 767px) {
  .support-diy-insurance p{
    text-align:left;
  }
}
