@charset "UTF-8";
/**** base ****/
img {
  height: auto;
  vertical-align: bottom;
}

/**** 取扱保険商材 ****/
.wrapper {
  padding-top: 0;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 2;
}
@media screen and (max-width: 640px) {
  .wrapper {
    font-size: 1.4rem;
  }
}

.ins_bg {
  background-color: #ffffff;
  position: relative;
  z-index: 0;
  padding-bottom: 280px;
}
@media screen and (max-width: 834px) {
  .ins_bg {
    padding-top: 60px;
    padding-bottom: 150px;
  }
}

/**** イントロ ****/
.ins-intro {
  background-color: #f1f6ff;
  box-shadow: -25vw 0 #f1f6ff, -50vw 0 #f1f6ff, 25vw 0 #f1f6ff, 50vw 0 #f1f6ff;
  padding-top: 140px;
  padding-bottom: 100px;
  margin-bottom: 100px;
}
@media screen and (max-width: 834px) {
  .ins-intro {
    padding-top: 60px;
    padding-bottom: 40px;
    margin-bottom: 40px;
  }
}

.ins-intro__title {
  font-size: 36px;
  font-size: 3.6rem;
  line-height: 1.3333333333;
  text-align: center;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  margin-bottom: 80px;
}
@media screen and (max-width: 990px) {
  .ins-intro__title {
    margin-bottom: 1em;
  }
}
@media screen and (max-width: 834px) {
  .ins-intro__title {
    font-size: 3.4rem;
  }
}
@media screen and (max-width: 640px) {
  .ins-intro__title {
    font-size: 2.6rem;
  }
}
.ins-intro__title span {
  display: block;
  font-family: "Marcellus", serif;
  font-weight: 400;
  font-size: 45%;
  color: #598df7;
}

.ins-intro__list {
  display: flex;
  gap: 20px 2.5%;
}
@media screen and (max-width: 834px) {
  .ins-intro__list {
    flex-direction: column;
  }
}
.ins-intro__list > li {
  background-color: #ffffff;
  display: grid;
  align-items: center;
  grid-template-rows: min-content auto;
  grid-template-columns: 30% 1fr;
  padding: 30px;
  gap: 30px 5%;
}
@media screen and (max-width: 1024px) {
  .ins-intro__list > li {
    gap: 20px 5%;
    padding: 20px 15px;
  }
}
@media screen and (min-width: 835px) {
  .ins-intro__list > li {
    flex: 1;
  }
}

.ins-intro__list-title {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.6666666667;
  text-align: center;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  padding-bottom: .5em;
  border-bottom: 1px solid #eeeeee;
  grid-row: 1;
  grid-column: 1/3;
}
@media screen and (max-width: 1024px) {
  .ins-intro__list-title {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 640px) {
  .ins-intro__list-title {
    font-size: 1.4rem;
  }
}
.ins-intro__list-title span {
  display: block;
  font-size: 155.6%;
}

.ins-intro__list-nonlife {
  color: #064892;
}

.ins-intro__list-life {
  color: #a4212e;
}

.ins-intro__list-img {
  aspect-ratio: 1 / .665;
}

/**** 保険 ****/
.ins-cont:not(:last-child) {
  margin-bottom: 100px;
}
@media screen and (max-width: 834px) {
  .ins-cont:not(:last-child) {
    margin-bottom: 50px;
  }
}

.ins-cont__nonlife,
.ins-cont__life {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  hanging-punctuation: 2em;
  border-radius: 1em;
  width: 7em;
  margin: 0 auto 1em;
  color: #ffffff;
  font-size: 2.8rem;
}
@media screen and (max-width: 834px) {
  .ins-cont__nonlife,
  .ins-cont__life {
    font-size: 2.2rem;
  }
}

.ins-cont__nonlife {
  background-color: #064892;
}

.ins-cont__life {
  background-color: #a4212e;
}

.ins-cont__sub {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 2;
  text-align: center;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  margin-bottom: 1em;
}
@media screen and (max-width: 834px) {
  .ins-cont__sub {
    font-size: 2rem;
  }
}
.ins-cont__sub.mb_l {
  margin-bottom: 1.5em;
}

.ins-cont__year {
  line-height: 1em;
  text-align: right;
  margin: -1.5em 0 1.5em;
  font-size: 1.4rem;
}
@media screen and (max-width: 834px) {
  .ins-cont__year {
    font-size: 1.2rem;
  }
}

.ins-cont__list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 60px;
}
@media screen and (max-width: 834px) {
  .ins-cont__list {
    margin-bottom: 30px;
  }
}
.ins-cont__list::after {
  content: "\305d\306e\4ed6\5404\7a2e\53d6\6271";
}
.ins-cont__list::after,
.ins-cont__list > li {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.4;
  font-size: 1.7rem;
  width: calc((100% - (5px * 5)) / 6);
  height: 64px;
}
@media screen and (max-width: 1200px) {
  .ins-cont__list::after,
  .ins-cont__list > li {
    width: calc((100% - (5px * 4)) / 5);
  }
}
@media screen and (max-width: 990px) {
  .ins-cont__list::after,
  .ins-cont__list > li {
    width: calc((100% - (5px * 3)) / 4);
  }
}
@media screen and (max-width: 834px) {
  .ins-cont__list::after,
  .ins-cont__list > li {
    font-size: 1.6rem;
    height: 50px;
    width: calc((100% - (5px * 2)) / 3);
  }
}
@media screen and (max-width: 640px) {
  .ins-cont__list::after,
  .ins-cont__list > li {
    height: 40px;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 500px) {
  .ins-cont__list::after,
  .ins-cont__list > li {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 420px) {
  .ins-cont__list::after,
  .ins-cont__list > li {
    font-size: 1rem;
  }
}
.ins-cont__list > li {
  background-color: #f4f4f4;
  border-radius: 32px;
}

.ins-cont__bnr {
  display: flex;
  flex-wrap: wrap;
  gap: 50px 3%;
}
@media screen and (max-width: 990px) {
  .ins-cont__bnr {
    gap: 40px 3%;
  }
}
@media screen and (max-width: 834px) {
  .ins-cont__bnr {
    gap: 30px 15px;
  }
}
@media screen and (max-width: 640px) {
  .ins-cont__bnr {
    gap: 30px 15px;
  }
}
.ins-cont__bnr > li {
  line-height: 1.4;
  text-align: center;
  width: calc((100% - (3% * 2)) / 3);
}
@media screen and (max-width: 834px) {
  .ins-cont__bnr > li {
    width: calc((100% - (15px * 2)) / 3);
  }
}
@media screen and (max-width: 640px) {
  .ins-cont__bnr > li {
    width: calc((100% - 15px) / 2);
  }
}
@media screen and (max-width: 640px) {
  .ins-cont__bnr > li .ins-spc {
    display: none;
  }
}
@media screen and (min-width: 991px) {
  .ins-cont__bnr > li .ins-tb {
    display: none;
  }
}
@media screen and (min-width: 641px) {
  .ins-cont__bnr > li .ins-sp {
    display: none;
  }
}
.ins-cont__bnr .ins-cont__bnr-img {
  display: block;
  margin: 0 auto 1em;
  width: 80%;
  max-width: 300px;
/*  height: 60px;*/
}
@media screen and (max-width: 834px) {
  .ins-cont__bnr .ins-cont__bnr-img {
/*    height: 45px;*/
  }
}
.ins-cont__bnr .ins-cont__bnr-img img {
  width: 100%;
/*
  height: 100%;
  object-fit: contain;
*/
}

