.contents.index .head {
  text-align: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  gap: 60px;
}
.contents.index .headCol {
  -ms-flex: 1;
      flex: 1;
  text-align: left;
}
.contents.index .headTtl {
  width: 100%;
  max-width: 531px;
}
.contents.index .headTxt {
  margin-top: 20px;
}
.contents.index .headImg {
  width: 228px;
}
.contents.index .gimonTtl {
  border: 2px solid #cbcbcb;
  box-sizing: border-box;
  border-radius: var(--radius2);
  font-size: var(--fsize20);
  background: #fffad8;
  line-height: 1.4;
  padding: 30px 30px 30px 135px;
  position: relative;
  margin-bottom: 60px;
}
.contents.index .gimonTtl .num {
  position: absolute;
  left: 101px;
  top: 50%;
  margin-top: -14px;
  font-size: var(--fsize16);
  line-height: 1;
  text-align: center;
  font-weight: normal;
  background: #ff7800;
  color: #fff;
  width: 28px;
  height: 28px;
  box-sizing: border-box;
  letter-spacing: -0.05em;
  border-radius: 50%;
  padding-top: 5px;
}
.contents.index .gimonTtl:before {
  bottom: -47px;
}
.contents.index .gimonTtl:after {
  content: "";
  position: absolute;
  left: 15px;
  top: 50%;
  width: 81px;
  height: 50px;
  background: url(../img/head_ico_sp.png) no-repeat left top;
  background-size: contain;
  margin-top: -29px;
}
.contents.index .kaiketsu {
  border: 2px solid #cbcbcb;
  box-sizing: border-box;
  border-radius: var(--radius2);
}
.contents.index .kaiketsuTtl {
  display: block;
  box-sizing: border-box;
  padding: 30px 30px 30px 90px;
  font-size: var(--fsize20);
  line-height: 1.4;
  font-weight: 500;
  position: relative;
  cursor: pointer;
}
.contents.index .kaiketsuTtl:before {
  content: "";
  width: 70px;
  height: 26px;
  position: absolute;
  left: 15px;
  top: 50%;
  margin-top: -13px;
  background: url(../img/col_kaiketu.png);
  background-size: contain;
}
.contents.index .kaiketsuTtl .ico {
  position: absolute;
  width: 20px;
  height: 20px;
  right: 20px;
  top: calc(50% - 10px);
}
.contents.index .kaiketsuTtl .ico:before {
  content: "";
  width: 20px;
  height: 2px;
  background: #000;
  position: absolute;
  left: 0;
  top: 9px;
}
.contents.index .kaiketsuTtl .ico:after {
  content: "";
  width: 2px;
  height: 20px;
  background: #000;
  position: absolute;
  left: 9px;
  top: 0;
  transition: transform 0.2s;
}
.contents.index .kaiketsuTtl.open .ico:after {
  transform: rotate(90deg);
}
.contents.index .kaiketsuBody {
  padding: 0 20px 40px;
}
.contents.index .col1Img {
  width: 100%;
}
.contents.index .kirikaeBtn {
  font-size: var(--fsize20);
  font-weight: 500;
  margin-top: 40px;
}
.contents.index .kirikaeBtn .s {
  font-size: var(--fsize16);
}
.contents.index .kirikaeBtn + .kirikaeBtn {
  margin-top: 20px;
}
.contents.index .col2ImgHead {
  text-align: center;
  margin-bottom: 5px;
  font-size: var(--fsize18);
  font-weight: 500;
}
.contents.index .col2Txt {
  margin-top: 30px;
}
.contents.index .col3Box {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-align: stretch;
      align-items: stretch;
  gap: 2%;
}
.contents.index .col3BoxIn {
  border: 2px solid #f0f0f0;
  border-radius: var(--radius1);
  width: 49%;
  padding: 15px;
}
.contents.index .col3BoxHead {
  font-size: var(--fsize18);
  font-weight: 500;
  text-align: center;
  margin-bottom: 5px;
}
.contents.index .col3BoxImg1 {
  width: 109px;
  margin: 0 auto;
}
.contents.index .col3BoxTxt {
  font-size: var(--fsize14);
  margin-top: 10px;
}
.contents.index .col3BoxNotes {
  margin-top: 5px;
}
.contents.index .col3BoxNotes li {
  font-size: var(--fsize12);
}
.contents.index .col4Box {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  gap: 20px;
  padding: 15px;
  border: 2px solid #f0f0f0;
  border-radius: var(--radius1);
}
.contents.index .col4Box + .col4Box {
  margin-top: 20px;
}
.contents.index .col4BoxImg {
  width: 120px;
}
.contents.index .col4Col {
  -ms-flex: 1;
      flex: 1;
}
.contents.index .col4Ttl {
  margin-bottom: 10px;
}
.contents.index .col4Notes li {
  font-size: var(--fsize12);
}

@media screen and (max-width: 1024px) {
  .contents.index .head {
    gap: 40px;
    -ms-flex-align: end;
        align-items: flex-end;
  }
  .contents.index .headTxt {
    margin-top: 20px;
    font-size: var(--fsize20);
  }
  .contents.index .headImg {
    width: 228px;
  }
  .contents.index .gimonTtl {
    font-size: var(--fsize28);
    line-height: 1.4;
    padding: 30px 30px 30px 80px;
    position: relative;
    margin-bottom: 60px;
    margin-top: 60px;
  }
  .contents.index .gimonTtl .num {
    left: 20px;
    top: calc(50% - 20px);
    margin-top: 0;
    font-size: var(--fsize28);
    width: 40px;
    height: 40px;
    padding-top: 5px;
  }
  .contents.index .gimonTtl:before {
    bottom: -47px;
  }
  .contents.index .gimonTtl:after {
    left: calc(50% - 81px);
    top: -80px;
    width: 162px;
    height: 100px;
    margin-top: 0px;
  }
  .contents.index .kaiketsuTtl {
    display: block;
    box-sizing: border-box;
    padding: 30px 60px 30px 100px;
    font-size: var(--fsize28);
    line-height: 1.4;
    font-weight: 500;
    position: relative;
  }
  .contents.index .kaiketsuTtl:before {
    width: 70px;
    height: 26px;
    left: 15px;
    top: 36px;
    margin-top: 0;
  }
  .contents.index .kaiketsuTtl .ico {
    width: 20px;
    height: 20px;
    right: 20px;
    top: 40px;
  }
  .contents.index .kaiketsuTtl .ico:before {
    width: 20px;
    height: 2px;
    top: 9px;
  }
  .contents.index .kaiketsuTtl .ico:after {
    width: 2px;
    height: 20px;
    left: 9px;
  }
  .contents.index .kaiketsuBody {
    padding: 0 20px 40px;
  }
  .contents.index .col1Img {
    width: 100%;
  }
  .contents.index .kirikaeBtn {
    font-size: var(--fsize28);
    margin-top: 40px;
  }
  .contents.index .kirikaeBtn .s {
    font-size: var(--fsize20);
  }
  .contents.index .kirikaeBtn + .kirikaeBtn {
    margin-top: 20px;
  }
  .contents.index .col2ImgHead {
    margin-bottom: 10px;
    font-size: var(--fsize24);
  }
  .contents.index .col2Txt {
    margin-top: 30px;
  }
  .contents.index .col3Box {
    -ms-flex-flow: column wrap;
        flex-flow: column wrap;
    gap: 20px;
  }
  .contents.index .col3BoxIn {
    width: 100%;
    padding: 20px;
  }
  .contents.index .col3BoxHead {
    font-size: var(--fsize24);
    margin-bottom: 10px;
  }
  .contents.index .col3BoxImg1 {
    width: 218px;
  }
  .contents.index .col3BoxTxt {
    font-size: var(--fsize28);
    margin-top: 20px;
  }
  .contents.index .col3BoxNotes {
    margin-top: 10px;
  }
  .contents.index .col3BoxNotes li {
    font-size: var(--fsize20);
  }
  .contents.index .col4Box {
    -ms-flex-flow: column wrap;
        flex-flow: column wrap;
    padding: 20px;
  }
  .contents.index .col4Box + .col4Box {
    margin-top: 20px;
  }
  .contents.index .col4BoxImg {
    width: 240px;
  }
  .contents.index .col4Col {
    width: 100%;
  }
  .contents.index .col4Ttl {
    margin-bottom: 10px;
  }
  .contents.index .col4Notes li {
    font-size: var(--fsize20);
  }
}
@media screen and (max-width: 767px) {
  #wrap:has(.wrapperRead):before {
    height: 84.75vw;
  }
  .contents.index .head {
    gap: 5.22vw;
    -ms-flex-align: end;
        align-items: flex-end;
  }
  .contents.index .headTxt {
    margin-top: 2.61vw;
    font-size: 2.61vw;
  }
  .contents.index .headImg {
    width: 29.73vw;
  }
  .contents.index .gimonTtl {
    font-size: 3.65vw;
    padding: 3.91vw 3.91vw 3.91vw 10.43vw;
    margin-bottom: 7.82vw;
    margin-top: 7.82vw;
  }
  .contents.index .gimonTtl .num {
    left: 2.61vw;
    top: calc(50% - 2.61vw);
    font-size: 3.65vw;
    width: 5.22vw;
    height: 5.22vw;
    padding-top: 0.65vw;
  }
  .contents.index .gimonTtl:before {
    bottom: -6.13vw;
  }
  .contents.index .gimonTtl:after {
    left: calc(50% - 10.56vw);
    top: -10.43vw;
    width: 21.12vw;
    height: 13.04vw;
  }
  .contents.index .kaiketsuTtl {
    padding: 3.91vw 6.52vw 3.91vw 13.04vw;
    font-size: 3.65vw;
  }
  .contents.index .kaiketsuTtl:before {
    width: 9.13vw;
    height: 3.39vw;
    left: 1.96vw;
    top: 4.69vw;
  }
  .contents.index .kaiketsuTtl .ico {
    width: 10px;
    height: 10px;
    right: 10px;
    top: 5.22vw;
  }
  .contents.index .kaiketsuTtl .ico:before {
    width: 10px;
    height: 2px;
    top: 4px;
  }
  .contents.index .kaiketsuTtl .ico:after {
    width: 2px;
    height: 10px;
    left: 4px;
  }
  .contents.index .kaiketsuBody {
    padding: 0 2.61vw 5.22vw;
  }
  .contents.index .kirikaeBtn {
    font-size: 3.65vw;
    margin-top: 5.22vw;
  }
  .contents.index .kirikaeBtn .s {
    font-size: 2.61vw;
  }
  .contents.index .kirikaeBtn + .kirikaeBtn {
    margin-top: 2.61vw;
  }
  .contents.index .col2ImgHead {
    margin-bottom: 1.3vw;
    font-size: 3.13vw;
  }
  .contents.index .col2Txt {
    margin-top: 3.91vw;
  }
  .contents.index .col3Box {
    gap: 2.61vw;
  }
  .contents.index .col3BoxIn {
    padding: 2.61vw;
  }
  .contents.index .col3BoxHead {
    font-size: 3.13vw;
    margin-bottom: 1.3vw;
  }
  .contents.index .col3BoxImg1 {
    width: 28.42vw;
  }
  .contents.index .col3BoxTxt {
    font-size: 3.65vw;
    margin-top: 2.61vw;
  }
  .contents.index .col3BoxNotes {
    margin-top: 1.3vw;
  }
  .contents.index .col3BoxNotes li {
    font-size: 2.61vw;
  }
  .contents.index .col4Box {
    padding: 2.61vw;
  }
  .contents.index .col4Box + .col4Box {
    margin-top: 2.61vw;
  }
  .contents.index .col4BoxImg {
    width: 31.29vw;
  }
  .contents.index .col4Ttl {
    margin-bottom: 1.3vw;
  }
  .contents.index .col4Notes li {
    font-size: 2.61vw;
  }
}