@charset "utf-8";

.wrap900 {
  width: 900px;
  margin: 0 auto;
  letter-spacing: 0.05em;
}
.PC { display: block!important }
.SP { display: none!important }

@media screen and (max-width: 960px) {
  .wrap900 {
    width: 720px;
    font-size: 85%;
  }
}

@media screen and (max-width: 599px) {
  .wrap900 {
    width: 90%;
    margin: 0 auto;
  }
  .PC { display: none!important }
  .SP { display: block!important }
}

/* mv
-------------------------------------------------------------------------------- */
.mv {
  width: 100%;
  height: 660px;
  position: relative;
  background-image: url(../img/top/mv_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom center;
}
  .mv .ph1 {
    position: absolute;
    top: 0;
    left: calc((100% - 1280px)/2);
  }
    .mv .ph1 img {
      width: 360px;
    }
  .mv .ph2 {
    position: absolute;
    top: 30px;
    left: calc((100% - 1280px)/2 + 390px);
  }
    .mv .ph2 img {
      width: 480px;
    }
  .mv .ph3 {
    position: absolute;
    top: 250px;
    left: calc((100% - 900px)/2);
  }
    .mv .ph3 img {
      width: 360px;
    }
  .mv .logo {
    position: absolute;
    top: 60px;
    right: calc((100% - 860px)/2);
  }
    .mv .logo img {
      width: 100px;
      height: auto;
    }
  .mv .medal {
    position: absolute;
    top: 170px;
    right: calc((100% - 960px)/2);
  }
    .mv .medal img {
      width: 200px;
      height: auto;
    }
  .mv .box {
    position: absolute;
    top: 380px;
    right: calc((100% - 900px)/2);
    width: 470px;
    text-align: center;
  }
    .mv .box .sub {
      font-size: 22px;
      border-bottom: 1px solid rgba(126,21,26,1);
      display: inline-block;
      padding-bottom: 8px;
      margin-bottom: 12px;
      text-shadow:
      white 1px 1px 0, white -1px -1px 0,
      white -1px 1px 0, white 1px -1px 0,
      white 0px 1px 0, white  0-1px 0,
      white -1px 0 0, white 1px 0 0;
    }
    .mv .box .title {
      margin-bottom: 20px;
      font-size: 50px;
      font-family: 'Noto Serif JP', serif;
      text-shadow:
        1px 1px 5px white,
        -1px 1px 5px white,
        1px -1px 5px white,
        -1px -1px 5px white;
    }
    .mv .box .title span {
      font-size: 70%;
    }
    .mv .box .btn a {
      display: block;
      border-radius: 15px;
      background-color: rgba(204,12,66,1);
      text-decoration: none;
      padding: 8px 15px;
      box-shadow: 0 6px 0 rgba(120,0,27,1);
    }
      .mv .box .btn a:hover {
        opacity: 0.8;
      }
    .mv .box .btn a .yellow {
      color: #F9FF55;
      font-size: 20px;
      margin-bottom: 6px;
    }
    .mv .box .btn a .yellow strong {
      font-size: 28px;
    }
    .mv .box .btn a .whiteBg {
      border-radius: 15px;
      background-color: #FFF;
      text-align: center;
      font-weight: 600;
      padding: 5px 0;
      margin-bottom: 2px;
      box-shadow: inset 0 1px 4px rgba(0,0,0,.2);
    }
    .mv .box .btn a dl {
      display: flex;
      align-items: center;
      justify-content: center;
    }
      .mv .box .btn a dt img {
        width: 50px;
        filter: brightness(10);
      }
      .mv .box .btn a dd {
        font-family: 'Roboto', sans-serif;
        font-size: 52px;
        font-weight: 600;
        color: #FFF;
        padding-left: 10px;
      }

@media screen and (max-width: 960px) {
  .mv .ph1 {
    left: calc((100% - 800px)/2);
  }
    .mv .ph1 img {
      width: 260px;
    }
  .mv .ph2 {
    left: calc((100% - 800px)/2 + 290px);
  }
    .mv .ph2 img {
      width: 420px;
    }
  .mv .ph3 {
    top: 130px;
    left: calc((100% - 700px)/2);
  }
    .mv .ph3 img {
      width: 280px;
    }
  .mv .logo {
    top: 490px;
    left: calc((100% - 760px)/2 + 50px);
  }
  .mv .medal {
    top: 170px;
    right: calc((100% - 750px)/2);
  }
  .mv .box {
    right: calc((100% - 700px)/2);
  }
}

@media screen and (max-width: 599px) {
  .mv {
    height: 530px;
    padding-top: 275px;
    background-image: url(../img/top/mv_bg_sp.jpg) !important;
  }
  .mv .ph1 {
    top: 0;
    left: 0;
  }
    .mv .ph1 img {
      width: 40vw;
    }
  .mv .ph2 {
    top: 0;
    left: auto;
    right: 0;
  }
    .mv .ph2 img {
      width: 66vw;
    }
  .mv .ph3 {
    top: 100px;
    left: auto;
    right: 0;
  }
    .mv .ph3 img {
      width: 38vw;
    }
  .mv .logo {
    top: 200px;
    left: calc(50% - 30px);
    right: 50%;
    width: 60px;
  }
    .mv .logo img {
      width: 100%;
    }
  .mv .medal {
    top: 150px;
    left: 10px;
    right: auto;
    width: 130px;
  }
    .mv .medal img {
      width: 100%;
    }
  .mv .box {
    position: static;
    width: 90%;
    margin: 0 auto;
  }
    .mv .box .sub {
      font-size: 5vw;
    }
    .mv .box .title {
      margin-bottom: 1rem;
      font-size: 10vw;
    }
    .mv .box .btn a .yellow {
      font-size: 4vw;
      margin-bottom: 0.5rem;
    }
    .mv .box .btn a .yellow strong {
      font-size: 7vw;
    }
    .mv .box .btn a .whiteBg {
      font-size: 3vw;
    }
      .mv .box .btn a dt img {
        width: 40px;
      }
      .mv .box .btn a dd {
        font-size: 10vw;
      }
}

/* 火葬場
-------------------------------------------------------------------------------- */
.box_crematory {
  max-width: 800px;
  width: 90%;
  margin: 40px auto 0;
  border-radius: 10px;
  border: 2px solid #CC0C42;
  background-color: #FFF;
  overflow: hidden;
}
  .box_crematory .box_crematory_q {
    text-align: center;
    display: block;
    position: relative;
    padding: 20px 30px;
  }
    .box_crematory .box_crematory_q:after {
      content: "";
      position: absolute;
      right: 25px;
      top: 40%;
      transition: all 0.2s ease-in-out;
      display: block;
      width: 10px;
      height: 10px;
      border-top: solid 3px #666;
      border-right: solid 3px #666;
      -webkit-transform: rotate(135deg);
      transform: rotate(135deg);
    }
      .box_crematory .box_crematory_q.open:after { /* .openクラスがついた時の要素の角度を指定 */
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        top: 45%;
      }
    .box_crematory .title {
      font-size: 20px;
      font-weight: 600;
      padding-left: 35px;
      position: relative;
      display: inline-block;
    }
      .box_crematory .title:before {
        content: url(../img/common/ico/ico_exclamation_red.svg);
        width: 24px;
        height: 24px;
        position: absolute;
        top: 0;
        left: 0;
      }

.box_crematory .box_crematory_a {
  padding: 20px 30px;
  line-height: 1.5;
}
  .box_crematory .box_crematory_a .chart img {
    width: 100%;
    height: auto;
  }
.box_crematory .btn a {
  display: block;
  border-radius: 15px;
  background-color: rgba(204,12,66,1);
  text-align: center;
  text-decoration: none;
  padding: 8px 15px;
  box-shadow: 0 6px 0 rgba(120,0,27,1);
  width: 480px;
  margin: 0 auto;
}
  .box_crematory .btn a:hover {
    opacity: 0.8;
  }
  .box_crematory .btn a .yellow {
    color: #F9FF55;
    font-size: 20px;
    margin-bottom: 6px;
  }
  .box_crematory .btn a .yellow strong {
    font-size: 28px;
  }
  .box_crematory .btn a .whiteBg {
    border-radius: 15px;
    background-color: #FFF;
    font-weight: 600;
    padding: 5px 0;
    margin-bottom: 2px;
    box-shadow: inset 0 1px 4px rgba(0,0,0,.2);
  }
  .box_crematory .btn a dl {
    display: flex;
    align-items: center;
    justify-content: center;
  }
    .box_crematory .btn a dt img {
      width: 50px;
      filter: brightness(10);
    }
    .box_crematory .btn a dd {
      font-family: 'Roboto', sans-serif;
      font-size: 52px;
      font-weight: 600;
      color: #FFF;
      padding-left: 10px;
    }

    @media screen and (max-width: 599px) {
      .box_crematory {
        width: 90%;
        margin: 10px auto 25px;
      }
          .box_crematory .box_crematory_q:after {
            right: 20px;
          }
        .box_crematory .title {
          padding-left: 38px;
        }
          .box_crematory .title:before {
            width: 30px;
            height: 30px;
            top: 22%;
          }
      .box_crematory .box_crematory_a {
        padding: 20px;
      }
      .box_crematory .btn a {
        width: 100%;
      }
        .box_crematory .btn a .yellow {
          font-size: 3.5vw;
          margin-bottom: 0.5rem;
        }
        .box_crematory .btn a .yellow strong {
          font-size: 5.5vw;
        }
        .box_crematory .btn a .whiteBg {
          font-size: 3vw;
        }
          .box_crematory .btn a dt img {
            width: 40px;
          }
          .box_crematory .btn a dd {
            font-size: 8.5vw;
          }
    }


/* 年末年始
-------------------------------------------------------------------------------- */
.year-end-new a {
  max-width: 800px;
  width: 90%;
  margin: 40px auto 0;
  border-radius: 10px;
  border: 1px solid #D80C18;
  background-color: #FDEFF0;
  overflow: hidden;
  padding: 20px 0;
  color: #333;
  font-size: 20px;
  font-weight: 600;
  text-decoration: none;
  display: flex;
  justify-content: center;
}
  .year-end-new a .title {
    color: #D80C18;
    font-size: 20px;
    padding-left: 30px;
    padding-right: 50px;
    position: relative;
  }
    .year-end-new .title:before {
      content: url(../img/common/ico/ico_exclamation_red.svg);
      width: 24px;
      height: 24px;
      position: absolute;
      top: 0;
      left: 0;
    }
  .year-end-new a p {
    position: relative;
    padding-left: 20px;
  }
    .year-end-new a p:after {
      content: '';
      width: 8px;
      height: 8px;
      border: 0;
      border-top: solid 2px #333;
      border-right: solid 2px #333;
      position: absolute;
      top: 50%;
      left: 0;
      margin-top: -4px;
      transform: rotate(45deg);
    }

@media screen and (max-width: 599px) {
  .year-end-new a {
    width: 90%;
    margin: 10px auto 25px;
    display: block;
    padding: 15px 0;
    text-align: center;
  }
  .year-end-new a .title {
    font-size: 4.7vw;
    padding-left: 30px;
    padding-right: 0;
    display: inline-block;
    margin-bottom: 5px;
  }
  .year-end-new a p {
    font-size: 4.7vw;
    display: inline-block;
  }
}

/* 年末年始案内 */
.emergencyHoliday {
  padding: 50px 0;
}
  .emergencyHoliday .red {
    color: #CC0C42;
  }
  .emergencyHoliday .title {
    font-size: 36px;
    text-align: center;
    margin-bottom: 40px;
  }
  .emergencyHoliday .subTitle {
    font-size: 22px;
    color: #7E151A;
    margin-top: 30px;
    margin-bottom: 10px;
  }
  .emergencyHoliday p {
    font-size: 18px;
    margin-bottom: 10px;
  }
  .emergencyHoliday .calendar {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #ccc;
    margin-bottom: 20px;
  }
    .emergencyHoliday .calendar th,
    .emergencyHoliday .calendar td {
      border-collapse: collapse;
      border: 1px solid #ccc;
      background-color: #FFF;
    }
    .emergencyHoliday .calendar th {
      background: #f7f7f7;
      padding: 10px;
      font-size: 110%;
    }
    .emergencyHoliday .calendar td {
      padding: 15px 0 20px;
      text-align: left;
      font-size: 120%;
      width: calc(100% / 8);
    }
      .emergencyHoliday .calendar .days td {
        text-align: center;
        padding: 15px 0;
      }
      .emergencyHoliday .calendar td .bar {
        display: inline-block;
        vertical-align: middle;
        color: #339B5F;
        line-height: 1;
        position: relative;
        width: 100%;
        height: 0.4em;
        background: currentColor;
      }
    .emergencyHoliday .calendar td .arrow-right {
      display: inline-block;
      vertical-align: middle;
      color: #339B5F;
      line-height: 1;
      position: relative;
      width: 50%;
      height: 0.4em;
      background: currentColor;
    }
      .emergencyHoliday .calendar td .arrow-right::before {
        content: '';
        width: 1.65em;
        height: 1.65em;
        border: 0.4em solid currentColor;
        border-left: 0;
        border-bottom: 0;
        transform: rotate(45deg);
        transform-origin: top right;
        position: absolute;
        top: 50%;
        right: -0.5em;
        box-sizing: border-box;
      }
  .emergencyHoliday .attentionUl li {
    font-size: 90%;
    margin-bottom: 8px;
  }

@media screen and (max-width: 599px) {
  .emergencyHoliday .title {
    font-size: 9vw;
  }
}


/* アンカーナビ
-------------------------------------------------------------------------------- */
.anchor-nav {
  margin: 3rem 0 4rem;
}
.anchor-nav .list {
  display: flex;
}
.anchor-nav .list li {
  width: calc(100% / 8);
  font-size: 0.8em;
}
.anchor-nav .list li a {
  text-decoration: none;
  display: block;
  padding-top: 38px;
  position: relative;
}
  .anchor-nav .list li a::after {
    position: absolute;
    bottom: -25px;
    left: calc(50% - 8px);
    content: '';
    width: 16px;
    height: 16px;
    background: url("../img/top/ico_arrow.svg") no-repeat;
  }
.anchor-nav .list li span {
  width: 100%;
  height: 50px;
  border-left: 3px dotted #999;
  text-align: center;
  display: grid;
  place-items: center center;
}
.anchor-nav .list li:last-child span {
  border-right: 3px dotted #999;
}

.anchor-nav .list li.menu1 a {
  background: url("../img/top/anchor_ico1.svg") no-repeat top center;
}
.anchor-nav .list li.menu2 a {
  background: url("../img/top/anchor_ico2.svg") no-repeat top center;
}
.anchor-nav .list li.menu3 a {
  background: url("../img/top/anchor_ico3.svg") no-repeat top center;
}
.anchor-nav .list li.menu4 a {
  background: url("../img/top/anchor_ico4.svg") no-repeat top center;
}
.anchor-nav .list li.menu5 a {
  background: url("../img/top/anchor_ico5.svg") no-repeat top center;
}
.anchor-nav .list li.menu6 a {
  background: url("../img/top/anchor_ico6.svg") no-repeat top center;
}
.anchor-nav .list li.menu7 a {
  background: url("../img/top/anchor_ico7.svg") no-repeat top center;
}
.anchor-nav .list li.menu8 a {
  background: url("../img/top/anchor_ico8.svg") no-repeat top center;
}

@media screen and (max-width: 599px) {
  .anchor-nav {
    margin: 1rem 0 2rem;
  }
  .anchor-nav .wrap900 {
    width: 100%;
  }
  .anchor-nav .list {
    flex-wrap: wrap;
  }
  .anchor-nav .list li {
    width: 25%;
    font-size: 3vw;
  }
    .anchor-nav .list li:nth-child(1) {
      border-right: 3px dotted #999;
      border-bottom: 3px dotted #999;
      order: 1;
    }
    .anchor-nav .list li:nth-child(2) {
      border-right: 3px dotted #999;
      border-bottom: 3px dotted #999;
      order: 2;
    }
    .anchor-nav .list li:nth-child(3) {
      border-right: 3px dotted #999;
      border-bottom: 3px dotted #999;
      order: 3;
    }
    .anchor-nav .list li:nth-child(4) {
      border-right: 3px dotted #999;
      order: 5;
    }
    .anchor-nav .list li:nth-child(5) {
      border-bottom: 3px dotted #999;
      order: 4;
    }
    .anchor-nav .list li:nth-child(6) {
      border-right: 3px dotted #999;
      order: 6;
    }
    .anchor-nav .list li:nth-child(7) {
      border-right: 3px dotted #999;
      order: 7;
    }
    .anchor-nav .list li:nth-child(8) {
      order: 8;
    }
  .anchor-nav .list li a {
    padding-top: 38px;
    padding-bottom: 22px;
    background-position: top 12px center !important;
  }
  .anchor-nav .list li span {
    height: 50px;
    border-left: none;
  }
  .anchor-nav .list li:last-child span {
    border-right: none;
  }
  .anchor-nav .list li a::after {
    bottom: 10px;
  }
}


/* こんなお悩みありませんか？
-------------------------------------------------------------------------------- */
.worry {
}
.worry .worry_title {
  text-align: center;
  margin-bottom: 2rem;
  font-size: 2.2em;
  font-weight: 600;
}
  .worry .worry_title strong {
    color: #005BAC;
    text-emphasis: filled;
    font-weight: 600;
  }
.worry .list {
  display: flex;
  margin-bottom: 2rem;
  justify-content: space-between;
}
  .worry .list li {
    display: flex;
    width: 30%;
  }
    .worry .list li .txt {
      line-height: 1.5;
      font-size: 1.2em;
    }
    .worry .list li .txt strong {
      color: #005BAC;
    }
    .worry .list li .person {
      padding-top: 3rem;
    }
      .worry .list li .person img {
        width: 120px;
      }
  .worry .list li.no1 {
    background: url("../img/top/worry_bg1.svg") no-repeat top left;
  }
  .worry .list li.no2 {
    background: url("../img/top/worry_bg2.svg") no-repeat top left;
  }
  .worry .list li.no3 {
    background: url("../img/top/worry_bg3.svg") no-repeat top left;
  }
.worry .arrow {
  text-align: center;
  padding-top: 3rem;
  height: 150px;
  background: url("../img/top/worry_arrow.svg") no-repeat top center;
}
.worry .arrow span {
  background: #005BAC;
  padding: 0.3rem 1rem;
  color: #FFF;
  font-size: 1.8em;
}
.worry .answer {
  text-align: center;
  font-size: 2.2em;
  font-weight: 600;
  margin-bottom: 1.5rem;
}
.worry .answer strong {
  color: rgba(204,12,66,1);
  text-emphasis: filled;
  font-weight: 600;
}

@media screen and (max-width: 960px) {
  .worry .list li .person img {
    width: 100px;
  }
}

@media screen and (max-width: 599px) {
  .worry .worry_title {
    margin-bottom: 2rem;
    font-size: 6.2vw;
  }
  .worry .list {
    display: block;
    width: 90%;
    margin: 0 auto;
  }
    .worry .list li {
      width: 100%;
      margin-bottom: 2rem;
    }
      .worry .list li .txt {
        line-height: 1.5;
        font-size: 1.2em;
        padding-top: 1rem;
      }
      .worry .list li .txt strong {
        color: #005BAC;
      }
      .worry .list li .person {
        padding-top: 0;
      }
        .worry .list li .person img {
          width: 120px;
        }
    .worry .list li.no1 {
      background: url("../img/top/worry_bg1.svg") no-repeat top left;
    }
    .worry .list li.no2 {
      background: url("../img/top/worry_bg2.svg") no-repeat top left;
    }
    .worry .list li.no3 {
      background: url("../img/top/worry_bg3.svg") no-repeat top left;
    }
  .worry .arrow {
    text-align: center;
    padding-top: 3rem;
    height: 150px;
    background: url("../img/top/worry_arrow.svg") no-repeat top center;
  }
  .worry .arrow span {
    background: #005BAC;
    padding: 0.3rem 1rem;
    color: #FFF;
    font-size: 1.8em;
  }
  .worry .answer {
    text-align: center;
    font-size: 2.2em;
    font-weight: 600;
    margin-bottom: 1.5rem;
  }
  .worry .answer strong {
    color: rgba(204,12,66,1);
    text-emphasis: filled;
    font-weight: 600;
  }
}

/* 家族を「真ん中」
-------------------------------------------------------------------------------- */
.family-orientated {
  padding: 3rem 0;
}
.family-orientated .info {
  display: flex;
  gap: 0 3rem;
  margin-bottom: 3rem;
}
.family-orientated .info .photo {
  width: 340px;
  border-radius: 15px;
}
.family-orientated .info .family-orientated_title {
  font-family: 'Noto Serif JP', serif;
  font-size: 2.2em;
  color: #000;
  font-weight: 400;
  line-height: 1.5;
  margin-bottom: 1rem;
  text-decoration: underline;
  text-underline-offset: -0.1em;
  text-decoration-thickness: 0.4em;
  text-decoration-color: rgba(225, 196, 218, 1);
  text-decoration-skip-ink: none;
}
.family-orientated .info .txt {
  line-height: 1.5;
}
.family-orientated .list {
  display: flex;
  justify-content: space-between;
  line-height: 1.5;
}
.family-orientated .list li {
  border-radius: 15px;
  background: #FFF;
  padding: 2rem;
  width: 30%;
  box-shadow: 0 6px 0 rgba(225, 196, 218, 1);
}
.family-orientated .list .icon {
  text-align: center;
}
.family-orientated .list .icon img {
  margin-bottom: 1rem;
}
.family-orientated .list h3 {
  text-align: center;
  font-size: 1.4em;
  font-weight: 600;
  line-height: 1.5;
  margin-bottom: 1rem;
}

@media screen and (max-width: 960px) {
  .family-orientated .info .family-orientated_title br {
    display: none;
  }
  .family-orientated .list li {
    width: 31%;
  }
}

@media screen and (max-width: 599px) {
  .family-orientated {
    padding: 2rem 0 1rem;
  }
  .family-orientated .info {
    display: block;
    margin-bottom: 1.5rem;
  }
  .family-orientated .info .photo {
    width: 100%;
    margin-bottom: 1rem;
  }
  .family-orientated .info .family-orientated_title {
    font-size: 6vw;
    margin-bottom: 1rem;
  }
  .family-orientated .info .family-orientated_title br {
    display: block;
  }
  .family-orientated .list {
    display: block;
  }
  .family-orientated .list li {
    padding: 1.5rem;
    width: 100%;
    margin-bottom: 1.5rem;
  }
  .family-orientated .list .icon {
    display: flex;
    justify-content: center;
  }
  .family-orientated .list .icon img {
    padding-right: 1.5rem;
  }
  .family-orientated .list h3 {
    text-align: left;
  }
}

/* 施行例に含まれるもの
-------------------------------------------------------------------------------- */
.plan-item {
  padding: 3rem 0;
}
.plan-item .info {
  display: flex;
  gap: 0 1rem;
}
  .plan-item .info .staff {
    width: 160px;
    margin-left: 1rem;
  }
  .plan-item .info .plan-item_title {
    font-size: 2em;
    font-weight: 600;
    margin-top: 2rem;
  }
  .plan-item .info .plan-item_title strong {
    color: rgba(204,12,66,1);
    font-weight: 600;
  }
  .plan-item .info .plan-item_title .dot {
    text-emphasis: filled;
  }
.plan-item .itemBox {
  border-radius: 15px;
  border: 2px solid rgba(126,21,26,1);
  background-color: #FFF;
}
.plan-item .itemBox .title {
  background-color: rgba(126,21,26,1);
  color: #FFF;
  text-align: center;
  font-size: 1.6em;
  border-radius: 12px 12px 0 0;
  padding: 0.5rem 0 0.6em;
}
.plan-item .itemBox .att {
  background-color: rgba(126,21,26,1);
  color: #FFF;
  text-align: center;
  font-size: 1em;
  border-radius: 0 0 12px 12px;
  padding: 0.7rem 0;
}
.plan-item .itemBox .inner {
  padding: 2rem;
}
.plan-item .itemBox .inner .list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 2rem;
}
.plan-item .itemBox .inner .list li {
  width: 19%;
  text-align: center;
  font-size: 0.8em;
  margin-bottom: 1rem;
}
.plan-item .itemBox .inner .list li img {
  width: 100%;
  height: auto;
  border-radius: 5px;
  margin-bottom: 0.5rem;
}
.plan-item .itemBox .inner .itemTable {
  display: flex;
  gap: 0 2rem;
  margin-bottom: 2rem;
}
.plan-item .itemBox .inner .itemTable table {
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid #CCC;
  border-left: 1px solid #CCC;
  font-size: 0.9em;
  font-weight: 400;
}
.plan-item .itemBox .inner .itemTable table th,
.plan-item .itemBox .inner .itemTable table td {
  padding: 0.6rem 0.6rem;
  border-right: 1px solid #CCC;
  border-bottom: 1px solid #CCC;
}
.plan-item .itemBox .inner .itemTable table th {
  width: 70%;
  background: #F3F3F3;
}
.plan-item .itemBox .inner .itemTable table td {
  text-align: center;
}
.plan-item .itemBox .inner .box_plan-additional {
  border: 1px solid #CCC;
  border-radius: 10px;
  overflow: hidden;
}
.plan-item .itemBox .inner .box_plan-additional .box_plan-additional_q {
  text-align: center;
  font-size: 1.2em;
  margin: 0;
}

@media screen and (max-width: 599px) {
  .plan-item {
    padding: 2rem 0;
  }
  .plan-item .info {
    gap: 0 1rem;
  }
    .plan-item .info .staff {
      width:80px;
      margin-left: 0.5rem;
      padding-top: 0.8rem;
    }
    .plan-item .info .staff img {
      width: 100%;
      height: auto;
    }
    .plan-item .info .plan-item_title {
      font-size: 4.5vw;
      margin-top: 0;
    }
    .plan-item .info .plan-item_title br {
      display: none;
    }
  .plan-item .itemBox .title {
    font-size: 4vw;
  }
  .plan-item .itemBox .att {
    font-size: 2.7vw;
  }
  .plan-item .itemBox .inner {
    padding: 1rem;
  }
  .plan-item .itemBox .inner .list {
    margin-bottom: 1rem;
  }
  .plan-item .itemBox .inner .list li {
    width: 30%;
    margin-bottom: 1rem;
  }
  .plan-item .itemBox .inner .list li br {
    display: none;
  }
  .plan-item .itemBox .inner .itemTable {
    display: block;
    margin-bottom: 1rem;
  }
  .plan-item .itemBox .inner .itemTable .borderNone {
    border-top: none !important;
  }
  .plan-item .itemBox .inner .box_plan-additional {
    font-size: 3.5vw;
  }
  .plan-item .itemBox .inner .box_plan-additional .box_plan-additional_q {
    text-align: center;
    font-size: 1.2em;
    margin: 0;
  }
}

/* ニチリョクのお葬式
-------------------------------------------------------------------------------- */
.product {
  padding: 3rem 0;
  background: url("../img/top/product_bg.jpg") no-repeat top center;
  background-size: cover;
}
.product .logo {
  text-align: center;
  margin-bottom: 1rem;
}
  .product .logo img {
    width: 80px;
  }
.product .product_title {
  text-align: center;
  margin-bottom: 1rem;
  font-family: 'Noto Serif JP', serif;
  font-size: 2.5em;
  font-weight: 200;
}
.product .product_title span {
  font-size: 70%;
}
.product .sub_title {
  text-align: center;
  margin-bottom: 2rem;
}
.product .list li {
  margin-bottom: 2rem;
}
.product .list li figure {
  display: flex;
  align-items: center;
}
.product .list li figure .bg {
  flex: 1;
  padding: 30px 20px;
  background-size: auto 100% !important;
}
  .product .list li figure .bg img {
    width: 90%;
  }
.product .list li figure .txt {
  flex: 1;
  line-height: 2;
}
  .product .list li figure .txt h3 {
    margin-bottom: 1rem;
    font-family: 'Noto Serif JP', serif;
    font-size: 2em;
    font-weight: 200;
  }
.product .list li.green .bg {
  background: url("../img/top/product_ph_bg1.svg") no-repeat center left;
}
.product .list li.green h3 {
  color: rgba(51,155,95,1);
}
.product .list li.blue figure {
  flex-direction: row-reverse;
}
.product .list li.blue .bg {
  background: url("../img/top/product_ph_bg2.svg") no-repeat center left;
}
.product .list li.blue h3 {
  color: #005BAC;
}

@media screen and (max-width: 599px) {
  .product {
    padding: 2rem 0 1rem;
  }
  .product .logo {
    text-align: center;
    margin-bottom: 1rem;
  }
    .product .logo img {
      width: 80px;
    }
  .product .product_title {
    font-size: 2.5em;
  }
  .product .product_title span {
    font-size: 70%;
  }
  .product .sub_title {
    text-align: center;
    margin-bottom: 2rem;
  }
  .product .list li {
    margin-bottom: 2rem;
  }
  .product .list li figure {
    display: block;
  }
  .product .list li figure .bg {
    background-size: auto 93% !important;
  }
    .product .list li figure .bg img {
      width: 100%;
    }
    .product .list li figure .txt h3 {
      margin-bottom: 0.5rem;
      font-weight: 400;
    }
    .product .list li figure .txt p {
      font-size: 1.1em;
    }
    .product .list li figure .txt p br {
      display: none;
    }
}

/* お客様の声
-------------------------------------------------------------------------------- */
.voice {
  padding: 3rem 0 1rem;
}
.voice .voice_title {
  margin-bottom: 4rem;
  font-family: 'Noto Serif JP', serif;
  font-size: 2em;
  font-weight: 400;
  text-align: center;
}
.voice .voice_title strong {
  font-weight: 400;
  font-size: 120%;
  text-decoration: underline;
  text-underline-offset: -0.1em;
  text-decoration-thickness: 0.4em;
  text-decoration-color: rgba(225, 196, 218, 1);
  text-decoration-skip-ink: none;
}
.voice .list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.voice .list li {
  width: 48%;
  border-radius: 15px;
  margin-bottom: 3rem;
  padding: 2rem 140px 2rem 2rem;
  position: relative;
  background-size: 150px auto !important;
}
.voice .list li h3 {
  position: absolute;
  top: -1.1rem;
  left: 2rem;
  background-color: rgba(126,21,26,1);
  color: #FFF;
  font-size: 1.2em;
  padding: 0.5rem 1rem;
  transform: skewX(-7deg);
}
.voice .list li p {
  line-height: 1.5;
}
.voice .list li.no1 {
  background: #FFF url("../img/top/voice_person1.png") no-repeat bottom right;
}
.voice .list li.no2 {
  background: #FFF url("../img/top/voice_person2.png") no-repeat bottom right;
}
.voice .list li.no3 {
  background: #FFF url("../img/top/voice_person3.png") no-repeat bottom right;
}
.voice .list li.no4 {
  background: #FFF url("../img/top/voice_person4.png") no-repeat bottom right;
}

@media screen and (max-width: 960px) {
  .voice .list li {
    padding: 2rem 120px 2rem 2rem;
    background-size: 130px auto !important;
  }
}

@media screen and (max-width: 599px) {
  .voice {
    padding: 1.5rem 0 0.5rem;
  }
  .voice .voice_title {
    margin-bottom: 2rem;
    font-size: 5.7vw;
    line-height: 1.5;
  }
  .voice .list {
    display: block;
  }
  .voice .list li {
    width: 100%;
    padding: 2rem 100px 2rem 1.5rem;
    background-size: 100px auto !important;
  }
}


/* メディア
-------------------------------------------------------------------------------- */
.media {
  padding: 3rem 0;
  background: url("../img/top/media_bg.jpg") no-repeat top center;
  background-size: cover;
}
.media .wrap900 {
  text-align: center;
}
.media .media_title {
  color: #FFF;
  font-size: 1.5em;
  border: 1px solid #FFF;
  text-align: center;
  display: inline-block;
  padding: 1.5rem 5rem;
  margin-bottom: 2rem;
  background-color: rgba(0,0,0,0.5);
}
.media .media_title strong {
  font-size: 140%;
}
.media .list {
  display: flex;
  justify-content: space-between;
}
.media .list li {
  width: 30%;
  background-color: #FFF;
  box-shadow: 0 0 6px rgba(0,0,0,0.5);
  text-align: left;
}
.media .list li img {
  width: 100%;
}
.media .list li figcaption {
  padding: 1.5rem;
  line-height: 1.5;
}
.media .list li figcaption .data {
  color: rgba(51,155,95,1);
  margin-bottom: 0.5rem;
}

@media screen and (max-width: 599px) {
  .media {
    padding: 2rem 0 1rem;
    background: url("../img/top/media_bg.jpg") no-repeat top left -150px;
    background-size: cover;
  }
  .media .media_title {
    font-size: 4vw;
    padding: 1rem 1.5rem;
    line-height: 1.5;
  }
  .media .list {
    display: block;
  }
  .media .list li {
    width: 70%;
    margin: 0 auto 2rem;
  }
  .media .list li img {
    width: 100%;
  }
}

/* 3つの理由
-------------------------------------------------------------------------------- */
.reason {
  padding: 3rem 0;
  background: #FFF url("../img/top/reason_bg.svg") no-repeat center center;
  background-size: 100% auto;
}
.reason .reason_title {
  text-align: center;
  line-height: 1.8;
  margin-bottom: 1.5rem;
}
.reason .reason_title .sub {
  font-size: 1.8em;
}
.reason .reason_title .sub strong {
  color: rgba(204,12,66,1);
  text-emphasis: filled;
}
.reason .reason_title .main {
  font-size: 2.5em;
  position: relative;
  padding: 2.5rem 2rem 1rem 2rem;
}
.reason .reason_title .main strong {
  color: rgba(204,12,66,1);
  font-size: 2em;
  font-weight: 400;
}
.reason .reason_title .main::before,
.reason .reason_title .main::after {
  content: '';
  width: 40px;
  height: 40px;
  position: absolute;
}
.reason .reason_title .main::before {
  border-left: solid 1px #000000;
  border-top: solid 1px #000000;
  top: 0;
  left: 0;
}
.reason .reason_title .main::after {
  border-right: solid 1px #000000;
  border-bottom: solid 1px #000000;
  bottom: 0;
  right: 0;
}
.reason .list .item .info {
  display: flex;
  align-items: center;
  gap: 0 2rem;
  margin-bottom: 2rem;
}
.reason .list .item .info img {
  width: 360px;
}
.reason .list .item .info figcaption h3 {
  color: #FFF;
  background-color: rgba(204,12,66,1);
  border-radius: 20px;
  display: inline-block;
  padding: 0.5rem 2rem;
  margin-bottom: 1rem;
}
.reason .list .item .info figcaption h4 {
  font-family: 'Noto Serif JP', serif;
  font-size: 2em;
  font-weight: 400;
  margin-bottom: 1rem;
}
.reason .list .item .info figcaption p {
  line-height: 1.5;
}
.reason .list .item:nth-child(odd) .info {
  flex-direction: row-reverse;
}
.reason .list .item .popup {
  display: flex;
  justify-content: space-between;
}
.reason .list .item .popup li {
  width: 32%;
}
.reason .list .item .popup li a {
  display: block;
  color: #FFF;
  background-color: rgba(204,12,66,1);
  box-shadow: 0 6px 0 rgba(120,0,27,1);
  background-repeat: no-repeat;
  background-position: left 25px center;
  border-radius: 50px;
  padding: 1rem 0 1rem 80px;
  text-decoration: none;
  position: relative;
}
  .reason .list .item .popup li a::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 0.6em;
    height: 0.6em;
    border-top: 3px solid #FFF;
    border-right: 3px solid #FFF;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .reason .list .item .popup .btn1_1 a {
    background-image: url("../img/top/reason_ico1_1.svg");
    background-position: left 15px center;
  }
  .reason .list .item .popup .btn1_2 a {
    background-image: url("../img/top/reason_ico1_2.svg");
    background-position: left 23px center;
  }
  .reason .list .item .popup .btn1_3 a {
    background-image: url("../img/top/reason_ico1_3.svg");
    background-position: left 30px center;
    padding: 1.5rem 0 1.5rem 80px;
  }
  .reason .list .item .popup .btn2_1 a {
    background-image: url("../img/top/reason_ico2_1.svg");
  }
  .reason .list .item .popup .btn2_2 a {
    background-image: url("../img/top/reason_ico2_2.svg");
  }
  .reason .list .item .popup .btn2_3 a {
    background-image: url("../img/top/reason_ico2_3.svg");
    background-position: left 25px center;
  }
  .reason .list .item .popup .btn3_1 a {
    background-image: url("../img/top/reason_ico3_1.svg");
  }
  .reason .list .item .popup .btn3_2 a {
    background-image: url("../img/top/reason_ico3_2.svg");
  }
  .reason .list .item .popup .btn3_3 a {
    background-image: url("../img/top/reason_ico3_3.svg");
  }
  .reason .list .item .speed_popup .btn4_1 a {
    background-image: url("../img/top/reason_ico4_1.svg");
    background-position: left 15px center;
  }
  .reason .list .item .speed_popup .btn4_2 a {
    background-image: url("../img/top/reason_ico4_2.svg");
    background-position: left 15px center;
  }

.reason .list .item:nth-child(even) .info figcaption h3 {
  background-color: rgba(126,21,26,1);
}
.reason .list .item:nth-child(even) .popup li a {
  background-color: rgba(126,21,26,1);
  box-shadow: 0 6px 0 rgba(82,0,4,1);
}

.reason .list .item .speed {
  background-color: #005BAC;
  border-radius: 15px;
  display: flex;
  overflow: hidden;
}
.reason .list .item .speed .speed_title {
  background-color: #F4D650;
  padding: 1rem 1rem 0 1.5rem;
  position: relative;
}
  .reason .list .item .speed .speed_title::after {
    position: absolute;
    top: 0;
    right: -16px;
    content: "";
    width:0;
    height:0;
    border-style:solid;
    border-width: 50px 0 50px 16px;
    border-color: transparent transparent transparent #F4D650;
  }
  .reason .list .item .speed .speed_title h4 {
    line-height: 1.8;
  }
  .reason .list .item .speed .speed_title h4 .balloon {
    background-color: #005BAC;
    color: #FFF;
    border-radius: 20px;
    display: inline-block;
    padding: 0.5rem 1rem;
    line-height: 1;
  }
  .reason .list .item .speed .speed_title h4 strong {
    font-size: 1.2em;
  }
.reason .list .item .speed .speed_popup {
  display: flex;
  gap: 0 1rem;
  padding: 1rem 1rem 1rem 2.2rem;
}
.reason .list .item .speed li a {
  background-color: #fff;
  box-shadow: 0 6px 0 #003d73;
  display: block;
  color: #005BAC;
  background-repeat: no-repeat;
  background-position: left 30px center;
  border-radius: 50px;
  padding: 1rem 2rem 1rem 80px;
  text-decoration: none;
  position: relative;
}
  .reason .list .item .speed li a::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 15px;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 0.6em;
    height: 0.6em;
    border-top: 3px solid #005BAC;
    border-right: 3px solid #005BAC;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }

@media screen and (max-width: 960px) {
  .reason .list .item .info img {
    width: 320px;
  }
  .reason .list .item .popup li a {
    padding: 1rem 0 1rem 65px;
    background-position: left 22px center;
    background-size: auto 32px;
  }
  .reason .list .item .popup .btn1_1 a {
    background-position: left 15px center;
  }
  .reason .list .item .popup .btn1_3 a {
    background-position: left 25px center;
  }
  .reason .list .item .popup .btn2_3 a {
    background-position: left 25px center;
  }
  .reason .list .item .speed_popup .btn4_1 a {
    background-position: left 15px center;
  }
  .reason .list .item .speed_popup .btn4_2 a {
    background-position: left 15px center;
  }
  .reason .list .item .speed .speed_title {
    padding: 1rem 0.5rem 0 1rem;
  }
  .reason .list .item .speed .speed_popup {
    gap: 0 0.5rem;
    padding: 1rem 1rem 1rem 1.5rem;
  }
  .reason .list .item .speed li a {
    background-position: left 30px center;
    padding: 1rem 1rem 1rem 70px;
    background-size: auto 38px;
  }
}

@media screen and (max-width: 599px) {
  .reason {
    padding: 1rem 0;
    background-size: 600% 100% !important;
  }
  .reason .reason_title .main strong {
    color: rgba(204,12,66,1);
    font-size: 2em;
    font-weight: 400;
  }
  .reason .list .item .info {
    display: block;
    margin-bottom: 2rem;
  }
  .reason .list .item .info img {
    width: 100%;
    margin-bottom: 1rem;
  }
  .reason .list .item .info figcaption h3 {
    font-size: 1.4em;
  }
  .reason .list .item .info figcaption h4 {
    font-family: 'Noto Serif JP', serif;
    font-size: 2em;
    font-weight: 400;
    line-height: 1.5;
    margin-bottom: 1rem;
  }
  .reason .list .item .info figcaption p {
    font-size: 1.2em;
  }
  .reason .list .item .popup {
    display: block;
    width: 88%;
    margin: 0 auto;
  }
  .reason .list .item .popup li {
    width: 100%;
    margin-bottom: 1rem;
  }
  .reason .list .item .popup li a {
    padding-left: 70px !important;
    font-size: 1.3em;
    border-radius: 100px !important;
  }
  .reason .list .item .speed {
    display: block;
  }
  .reason .list .item .speed .speed_title {
    background-color: #F4D650;
    padding: 0.5rem 0;
    position: relative;
  }
    .reason .list .item .speed .speed_title::after {
      position: absolute;
      top: 0;
      right: -16px;
      content: "";
      width:0;
      height:0;
      border-style:solid;
      border-width: 50px 0 50px 16px;
      border-color: transparent transparent transparent #F4D650;
    }
    .reason .list .item .speed .speed_title h4 {
      line-height: 1.8;
      text-align: center;
    }
    .reason .list .item .speed .speed_title h4 strong {
      font-size: 1.5em;
    }
  .reason .list .item .speed .speed_popup {
    display: block;
    width: 100%;
    margin: 0 auto;
  }
    .reason .list .item .speed .speed_popup a {
      font-size: 1.2em;
    }
  .reason .list .item .speed li:first-child {
    margin-bottom: 1rem;
  }
}

/* モーダルウィンドウの中身 */
.modal_reason_inner .title {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
}
  .modal_reason_inner .title dt {
    background-color: rgba(204,12,66,1);
    width: 70px;
    height: 70px;
    border-radius: 50%;
    margin-right: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .modal_reason_inner .title h3 {
    font-size: 1.6em;
    list-style: 1.5;
    color: rgba(204,12,66,1);
    font-weight: 600;
  }
    .modal_reason_inner .title.blue dt {
      background-color: #005BAC;
      filter: brightness(1) invert(0);
    }
      .modal_reason_inner .title.blue dt img {
        filter: brightness(0) invert(1);
      }
    .modal_reason_inner .title.blue h3 {
      color: #005BAC;
    }
  .modal_reason_inner .photo {
    margin-bottom: 1rem;
    text-align: center;
  }
    .modal_reason_inner .photo img {
      width: 70%;
    }

@media screen and (max-width: 599px) {
  .modaal-container {
    width: 100% !important;
  }
    .modal_reason_inner .title h3 {
      font-size: 5vw;
    }
      .modal_reason_inner .photo img {
        width: 100%;
      }
}

/* CV
-------------------------------------------------------------------------------- */
.topCV {
  padding: 3rem 0;
  background-color: rgba(126,21,26,1);
}
.topCV .topCV_title {
  margin-bottom: 1.5rem;
  font-size: 2.8em;
  font-family: 'Noto Serif JP', serif;
  color: #FFF;
  text-align: center;
  font-weight: 400;
}
.topCV .topCV_title span {
  font-size: 70%;
}
.topCV .plan {
  margin: 0 auto 2rem;
}
.topCV .plan .plan_title {
  color: #FFF;
  font-size: 1.2em;
  background-color: rgba(82,0,4,1);
  border-radius: 20px;
  padding: 0.5rem 0;
  margin-bottom: 1rem;
  text-align: center;
}
.topCV .plan .list {
  display: flex;
  justify-content: space-between;
  margin-bottom: 1rem;
}
.topCV .plan .list > li {
  width: 30%;
  background-color: #FFF;
  box-shadow: 0 6px 0 rgba(82,0,4,1);
  border-radius: 15px;
  overflow: hidden;
}
  .topCV .plan .list > li a {
    display: block;
    text-decoration: none;
  }
  .topCV .plan .list > li a:hover {
    opacity: 0.8;
  }
.topCV .plan .list li img {
  width: 100%;
}
.topCV .plan .list li figcaption {
  padding: 1rem;
}
.topCV .plan .list li figcaption .title {
  font-family: 'Noto Serif JP', serif;
  text-align: center;
  font-size: 2.5em;
  margin-bottom: 0.6rem;
}
.topCV .plan .list li figcaption .txt {
  line-height: 1.2;
  margin-bottom: 0.6rem;
}
.topCV .plan .list li figcaption .item {
  display: flex;
  justify-content: space-between;
}
.topCV .plan .list li figcaption .item li {
  width: 30%;
  background-color: #CCC;
  text-align: center;
  color: #FFF;
  font-size: 0.8em;
  padding: 0.3rem 0;
}
.topCV .plan .list li figcaption .kakaku {
  text-align: center;
  font-size: 1.7em;
}
.topCV .plan .list li figcaption .kakaku strong {
  font-size: 2.2em;
}

.topCV .plan .list li.kaso .title,
.topCV .plan .list li.kaso .kakaku {
  color: #D78F02;
}
.topCV .plan .list li.oneday .title,
.topCV .plan .list li.oneday .kakaku {
  color: rgba(51,155,95,1);
}
.topCV .plan .list li.twoday .title,
.topCV .plan .list li.twoday .kakaku {
  color: rgba(204,12,66,1);
}
.topCV .plan .list li .kakaku rt {
  color: #222;
}

.topCV .plan .list li.kaso figcaption .item li.on {
  background-color: #D78F02;
}
.topCV .plan .list li.oneday figcaption .item li.on {
  background-color: rgba(51,155,95,1);
}
.topCV .plan .list li.twoday figcaption .item li.on {
  background-color: rgba(204,12,66,1);
}

.topCV .plan .card {
  color: #FFF;
  background-color: rgba(82,0,4,1);
  border-radius: 30px;
  padding: 0.5rem 0.8rem;
  margin: 0 auto;
  margin-bottom: 1rem;
  width: 80%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 1rem;
}
.topCV .plan .card dd img {
  width: 200px;
}

.topCV .feature {
  display: flex;
  gap: 0 2rem;
  align-items: center;
  margin-bottom: 2rem;
}
.topCV .feature img {
  width: 200px;
}
.topCV .feature .check_list {
  background-color: #FFF;
  border-radius: 15px;
  padding: 1.5rem;
  position: relative;
}
.topCV .feature .check_list::after {
  border: solid transparent;
  content:'';
  height:0;
  width:0;
  pointer-events:none;
  position:absolute;
  border-color: rgba(0, 153, 255, 0);
  border-top-width:10px;
  border-bottom-width:10px;
  border-left-width:18px;
  border-right-width:18px;
  margin-top: -10px;
  border-right-color:#FFF;
  right:100%;
  top:50%;
}
.topCV .feature .check_list li {
  font-size: 1.1em;
  line-height: 1.5;
  padding-left: 2.5rem;
  background-image: url("../img/top/topCV_checkbox.svg");
  background-size: 30px auto;
  background-position: left top;
  background-repeat: no-repeat;
}
.topCV .feature .check_list li:last-child {
  padding-bottom: 0.5rem;
}

.topCV .contact .contact_title {
  color: #FFF;
  font-size: 1.2em;
  background-color: rgba(82,0,4,1);
  border-radius: 20px;
  padding: 0.5rem 0;
  margin-bottom: 1rem;
  text-align: center;
}

@media screen and (max-width: 960px) {
  .topCV .plan {
    width: 100%;
  }
}

@media screen and (max-width: 599px) {
  .topCV {
    padding: 1.5rem 0;
  }
  .topCV .topCV_title {
    margin-bottom: 1rem;
    font-size: 9vw;
  }
  .topCV .plan {
    width: 100%;
    margin: 0 auto 2rem;
  }
  .topCV .plan .list {
    display: block;
    margin-bottom: 2rem;
  }
  .topCV .plan .list > li {
    width: 100%;
    margin-bottom: 1.5em;
  }
  .topCV .plan .list li figure {
    display: flex;
  }
  .topCV .plan .list > li figure img {
    width: 120px;
    height: auto;
  }
  .topCV .plan .list li figcaption {
    width: calc(100% - 120px);
  }
  .topCV .plan .list li figcaption .title {
    font-size: 2.6em;
    text-align: left;
  }
  .topCV .plan .list li figcaption .kakaku {
    text-align: left;
    font-size: 6vw;
  }
  .topCV .plan .list li figcaption .kakaku strong {
    font-size: 10vw;
  }

  .topCV .plan .card {
    border-radius: 15px;
    padding: 0.7rem 0;
    margin-bottom: 1rem;
    width: 100%;
    display: block;
    text-align: center;
  }
  .topCV .plan .card dd img {
    width: 80%;
    padding-top: 0.5rem;
  }

  .topCV .feature {
    display: block;
  }
  .topCV .feature figure {
    display: flex;
    justify-content: space-between;
  }
  .topCV .feature figure figcaption h4 {
    font-size: 5vw;
    color: #FFF;
    line-height: 1.6;
    padding-top: 0.6rem;
  }
  .topCV .feature figure img {
    width: 100px;
  }
  .topCV .feature .check_list::after {
    display: none;
  }
  .topCV .contact .contact_title {
    font-size: 1.4em;
  }
}

/* CVボタン
-------------------------------------------------------------------------------- */
.btn_box {
  background-color: #FFF;
  border-radius: 15px;
  padding: 1rem;
  display: flex;
  justify-content: space-between;
}
.btn_box {
  background-color: #FFF;
  border-radius: 15px;
  padding: 1rem;
  display: flex;
  justify-content: space-between;
}
.btn_box li {
  width: 49%;
}

.btn_box a {
  display: block;
  border-radius: 15px;
  text-decoration: none;
  padding: 8px 15px;
  height: 135px;
  text-align: center;
}
.btn_box a:hover {
  opacity: 0.8;
}
.btn_box a .yellow {
  color: #F9FF55;
  font-size: 1.2em;
  margin-bottom: 6px;
}
.btn_box a .yellow strong {
  font-size: 150%;
}
.btn_box a .whiteBg {
  border-radius: 15px;
  background-color: #FFF;
  text-align: center;
  font-size: 0.85em;
  font-weight: 600;
  padding: 5px 0;
  margin-bottom: 2px;
  box-shadow: inset 0 1px 4px rgba(0,0,0,.2);
}

.btn_box .telBtn a {
  background-color: rgba(204,12,66,1);
  box-shadow: 0 6px 0 rgba(120,0,27,1);
}
.btn_box .telBtn a dl {
  display: flex;
  align-items: center;
  justify-content: center;
}
  .btn_box .telBtn a dt img {
    width: 46px;
    filter: brightness(10);
  }
  .btn_box .telBtn a dd {
    font-family: 'Roboto', sans-serif;
    font-size: 3em;
    font-weight: 600;
    color: #FFF;
    padding-left: 10px;
  }

.btn_box .mailBtn a {
  background-color: rgba(51,155,95,1);
  box-shadow: 0 6px 0 rgba(11,69,35,1);
}
.btn_box .mailBtn a dl {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 0.4rem;
}
  .btn_box .mailBtn a dt img {
    width: 42px;
  }
  .btn_box .mailBtn a dd {
    font-size: 2.2em;
    font-weight: 600;
    color: #FFF;
    padding-left: 10px;
  }

@media screen and (max-width: 960px) {
  .btn_box a {
    height: 115px;
  }
  .btn_box a .yellow {
    font-size: 1em;
  }
  .btn_box a .whiteBg {
    font-size: 0.8em;
  }
  .btn_box .telBtn a dd {
    font-size: 2.7em;
  }
  .btn_box .mailBtn a dd {
    font-size: 2em;
  }
}

@media screen and (max-width: 599px) {
  .btn_box {
    display: block;
  }
  .btn_box li {
    width: 100%;
  }

  .btn_box a {
    height: auto;
  }
  .btn_box a .yellow {
    font-size: 3.5vw;
  }
  .btn_box a .yellow strong {
    font-size: 150%;
  }
  .btn_box a .whiteBg {
    font-size: 3vw;
  }

  .btn_box .telBtn {
    margin-bottom: 1.2rem;
  }
    .btn_box .telBtn a dt img {
      width: 36px;
    }
    .btn_box .telBtn a dd {
      font-size: 9vw;
    }
    .btn_box .mailBtn a dt img {
      width: 32px;
    }
    .btn_box .mailBtn a dd {
      font-size: 6.5vw;
    }
}

/* 式場
-------------------------------------------------------------------------------- */
.top-hall {
  padding: 3rem 0;
}

/* top-hall_owned_header */
.wrap_top-hall_owned_header {
  display: flex;
  margin-bottom: 3rem;
}
.wrap_top-hall_owned_header .box_top-hall_owned_header1 {
  width: 50%;
  padding: 2rem;
  background: rgba(255,255,255,1);
}
.wrap_top-hall_owned_header .box_top-hall_owned_header2 {
  width: 50%;
  padding: 2rem;
  background: rgba(255,255,255,0.4);
}
.box_top-hall_owned_header1 h3 {
  margin: 0 0 1.6rem;
  font-family: 'Noto Serif JP', serif;
  font-size: 2em;
  font-weight: 400;
  line-height: 1.4em;
  color: rgba(174,158,112,1);
}
.box_top-hall_owned_header1 p.lead1 {
  font-family: 'Noto Serif JP', serif;
  font-size: 1.1em;
  font-weight: 400;
  line-height: 2em;
}
.box_top-hall_owned_header2 p.lead2 {
  font-size: 0.9em;
  font-weight: 400;
  line-height: 2.2em;
}

/* top-hall_owned_feature */
.top-hall .wrap_top-hall_owned_feature {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 720px;
  margin: 0 auto 4rem;
}
.wrap_top-hall_owned_feature .box_top-hall_owned_feature {
  width: 30%;
}
.box_top-hall_owned_feature p.hd {
  display: inline-block;
  width: 100%;
  margin: 1rem auto 0.4rem;
  padding: 0 0 0.4rem;
  font-size: 1em;
  line-height: 1em;
  text-align: center;
  border-bottom: 2px solid rgba(174,158,112,1);
}
.box_top-hall_owned_feature p.desc {
  font-size: 0.9em;
  line-height: 1.2em;
}
.box_top-hall_owned_feature p.desc span {
  color: rgba(228,128,134,1);
}
.box_top-hall_owned_feature .pic_circle {
  width: 192px;
  height: 192px;
  margin: 0 auto;
  padding: 1rem;
  border-radius: 50%;
  border: 6px solid #FFF;
}
.box_top-hall_owned_feature .pic_circle-img1 {
  background: url("../img/fig_facility.jpg") 50% 50% no-repeat;
  background-size: cover;
}
.box_top-hall_owned_feature .pic_circle-img2 {
  background: url("../img/fig_hall_kazoku.jpg") 50% 50% no-repeat;
  background-size: cover;
}
.box_top-hall_owned_feature .pic_circle-img3 {
  background: url("../img/fig_menkai.jpg") 50% 50% no-repeat;
  background-size: cover;
}

/* top-hall_owned_lineup */
.wrap_top-hall_owned_lineup {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4rem;
}
.wrap_top-hall_owned_lineup .box_top-hall_owned_lineup {
  width: 31%;
  background: #FFF;
}
  .wrap_top-hall_owned_lineup .box_top-hall_owned_lineup a {
    display: block;
    height: 100%;
    text-decoration: none;
  }
  .wrap_top-hall_owned_lineup .box_top-hall_owned_lineup a:hover {
    color: rgba(51,51,51,1);
    outline: 2px solid rgba(174,158,112,1);
  }

.box_top-hall_owned_lineup h4 {
  margin: 0 0 1rem;
  padding: 1.6rem 0 0;
  font-family: 'Noto Serif JP', serif;
  font-size: 1.8em;
  font-weight: 300;
  text-align: center;
}
.box_top-hall_owned_lineup h4 span {
  display: block;
  margin: 0.6rem 0 0;
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 0.45em;
  letter-spacing: 0.05em;
}
.box_top-hall_owned_lineup img.fig_hall_exterior {
  margin: 1.6rem 0 0;
  width: 100%;
  height: 220px;
  object-fit: cover;
  object-position: 100% 95%;
}
.box_top-hall_owned_lineup p.lead {
  margin: 0 0 1.6rem;
  font-size: 0.9em;
  font-weight: 400;
  line-height: 1.6em;
  text-align: center;
}
.box_top-hall_owned_lineup .btn_more {
  display: block;
  width: 60%;
  margin: 0 auto;
  padding: 0.6rem 0;
  background: rgba(174,158,112,1);
  border-radius: 48px;
  font-size: 0.9em;
  color: #FFF;
  text-align: center;
  filter: drop-shadow(1px 1px 2px rgba(0,0,0,0.2)) drop-shadow(-1px -1px 2px rgba(0,0,0,0.2));
}
.box_top-hall_owned_lineup .btn_more:hover {
  filter: none;
}
.box_top-hall_owned_lineup .btn_more_none {
  height: 36px;
}


/* その他の斎場 */
.top-hall-other_title {
  text-align: center;
  font-size: 1.8em;
  padding: 0 0 1rem;
  line-height: 1em;
  text-align: center;
  border-bottom: 2px solid rgba(174,158,112,1);
  margin-bottom: 2rem;
}
.top-hall-other {
  display: flex;
  justify-content: space-between;
}
.top-hall-other .slide-top-hall {
  width: 23%;
  padding: 0;
}
.top-hall-other .slide-top-hall a {
  display: inline-block;
  height: 100%;
  text-decoration: none;
  background: #FFF;
  border-radius: 15px;
  box-shadow: 0 5px 0 rgba(130,136,90,0.5);
  overflow: hidden;
}
.top-hall-other .slide-top-hall a:hover {
  opacity: 0.8;
  filter: brightness(110%);
}
.slide-top-hall .box_fig {
  width: 100%;
  height: 110px;
  margin-bottom: 1rem;
}
  .slide-top-hall .box_fig img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
.slide-top-hall h3 {
  width: 90%;
  margin: 0 auto 1rem;
  font-size: 1.2em;
  line-height: 1.2em;
}
.slide-top-hall p.location {
  width: 90%;
  margin: 0 auto 0.6rem;
  font-size: 0.85em;
  line-height: 1em;
}
  .slide-top-hall p.location::before {
    display: inline-block;
    content: '';
    width: 16px;
    height: 16px;
    margin: -0.2rem 0 0 0.2rem;
    background: url("../img/common/ico/ico_location.svg") no-repeat;
    background-size: contain;
    vertical-align: middle;
  }
.slide-top-hall p.access {
  width: 90%;
  margin: 0 auto 0.6rem;
  font-size: 0.85em;
  line-height: 1em;
}
  .slide-top-hall p.access::before {
    display: inline-block;
    content: '';
    width: 16px;
    height: 16px;
    margin: -0.2rem 0 0 0.2rem;
    background: url("../img/common/ico/ico_train.svg") no-repeat;
    background-size: contain;
    vertical-align: middle;
  }
.slide-top-hall .box-feature {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  width: 90%;
  margin: 1rem auto 1rem;
}
.box-feature .ico {
  width: 32%;
  padding: 0.4rem 0.2rem;
  background: rgba(242,234,216,1);
  border: 1px solid #999;
  font-size: 8px;
  text-align: center;
  letter-spacing: 0;
}
.box-feature .ico-off {
  background: #DDD!important;
  border: 1px solid #DDD;
  color: #FFF!important;
}

.box-feature .ico:nth-child(1),
.box-feature .ico:nth-child(3),
.box-feature .ico:nth-child(4),
.box-feature .ico:nth-child(6) {
  width: 35%;
}
.box-feature .ico:nth-child(2),
.box-feature .ico:nth-child(5) {
  width: 27%;
}

.box-feature .ico:nth-child(1),
.box-feature .ico:nth-child(2),
.box-feature .ico:nth-child(3) {
  margin: 0 0 0.2rem;
}

.slide-top-hall .btn {
  display: block;
  width: 80%;
  margin: 0 auto 1rem;
  padding: 0.4rem 0;
  background: rgba(174,158,112,1);
  border: 1px solid rgba(174,158,112,1);
  border-radius: 48px;
  font-size: 0.9em;
  color: #FFF;
  text-align: center;
}
.slide-top-hall .btn:hover {
  background: #FFF;
  border: 1px solid rgba(174,158,112,1);
  color: rgba(174,158,112,1);
}

@media screen and (max-width: 599px) {
  .top-hall {
    padding: 2rem 0 1rem;
  }

  /* top-hall_owned_header */
  .wrap_top-hall_owned_header {
    display: block;
    margin-bottom: 2rem;
  }
  .wrap_top-hall_owned_header .box_top-hall_owned_header1 {
    width: 100%;
    padding: 1.5rem;
  }
  .wrap_top-hall_owned_header .box_top-hall_owned_header2 {
    width: 100%;
    padding: 1.5rem;
  }
  .box_top-hall_owned_header1 h3 {
    margin: 0 0 1rem;
  }
  .box_top-hall_owned_header1 p.lead1 {
    line-height: 1.8em;
    font-size: 1.1em;
  }
  .box_top-hall_owned_header2 p.lead2 {
    font-size: 1.1em;
    line-height: 1.8em;
  }

  /* top-hall_owned_feature */
  .top-hall .wrap_top-hall_owned_feature {
    display: block;
    width: 100%;
    margin: 0 auto 3rem;
  }
  .wrap_top-hall_owned_feature .box_top-hall_owned_feature {
    width: 260px;
    margin: 0 auto 2rem;
  }
  .box_top-hall_owned_feature p.hd {
    width: 100%;
    font-size: 1.5em;
  }
  .box_top-hall_owned_feature p.desc {
    font-size: 1.2em;
  }
  .box_top-hall_owned_feature .pic_circle {
    width: 180px !important;
    height: 180px !important;
  }

  /* top-hall_owned_lineup */
  .wrap_top-hall_owned_lineup {
    display: block;
    margin-bottom: 4rem;
  }
  .wrap_top-hall_owned_lineup .box_top-hall_owned_lineup {
    width: 100%;
    margin-bottom: 2rem;
    font-size: 1.2em;
  }
  .box_top-hall_owned_lineup .btn_more_none {
    display: none;
  }

  /* その他の斎場 */
  .top-hall-other_title {
    line-height: 1.3;
    margin-bottom: 1.5rem;
  }
  .top-hall-other {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .top-hall-other .slide-top-hall {
    width: 47%;
    margin-bottom: 1.5rem;
  }
  .slide-top-hall .box_fig {
    height: 100px;
    margin-bottom: 0.5rem;
  }
  .slide-top-hall h3 {
    width: 86%;
    margin: 0 auto 0.5rem;
  }
  .slide-top-hall p.location {
    width: 86%;
    margin: 0 auto 0.5rem;
  }
  .slide-top-hall p.access {
    width: 86%;
    margin: 0 auto 0.5rem;
    font-size: 0.85em;
    line-height: 1em;
  }
    .slide-top-hall p.access::before {
      display: inline-block;
      content: '';
      width: 16px;
      height: 16px;
      margin: -0.2rem 0 0 0.2rem;
      background: url("../img/common/ico/ico_train.svg") no-repeat;
      background-size: contain;
      vertical-align: middle;
    }
  .slide-top-hall .box-feature {
    width: 86%;
    margin: 0.5rem auto 0.3rem;
  }
  .box-feature .ico {
    width: 48%;
    margin-bottom: 0.2rem !important;
    font-size: 2.8vw;
  }
  .box-feature .ico-off {
    background: #DDD!important;
    border: 1px solid #DDD;
    color: #FFF!important;
  }

  .box-feature .ico:nth-child(4) {
    font-size: 2.4vw;
  }

  .box-feature .ico:nth-child(1),
  .box-feature .ico:nth-child(3),
  .box-feature .ico:nth-child(4),
  .box-feature .ico:nth-child(6) {
    width: 48%;
  }
  .box-feature .ico:nth-child(2),
  .box-feature .ico:nth-child(5) {
    width: 48%;
  }

  .slide-top-hall .btn {
    margin: 0 auto 0.5rem;
  }
}

/* オプション
-------------------------------------------------------------------------------- */
.option {
  padding: 3rem 0;
}
.option .option_sub_title {
  font-size: 1.2em;
  text-align: center;
  margin-bottom: 1rem;
}
.option .option_title {
  font-size: 2.5em;
  font-family: 'Noto Serif JP', serif;
  text-align: center;
  margin-bottom: 4rem;
}
.option .list li figure {
  position: relative;
}
.option .list li figure img {
  width: 400px;
  position: absolute;
}
.option .list li figcaption {
  padding: 2rem;
  line-height: 1.5;
  background-color: #FFF;
  border-radius: 15px;
}
.option .list li figcaption h3 {
  font-size: 2em;
  font-family: 'Noto Serif JP', serif;
  margin-bottom: 1rem;
  color: rgba(204,12,66,1);
}
.option .list li figcaption .olList {
  list-style-type: decimal;
  margin-left: 1rem;
}

.option .list .item1 figure img {
  right: 0;
  top: -20px;
}
.option .list .item1 figcaption {
  margin-right: 30%;
  padding-right: 18%;
}

.option .list .item2 figure img {
  left: 0;
  top: 25px;
}
.option .list .item2 figcaption {
  margin-left: 30%;
  padding-left: 18%;
}

@media screen and (max-width: 960px) {
  .option .list li figure img {
    width: 320px;
  }
}

@media screen and (max-width: 599px) {
  .option {
    padding: 2rem 0;
  }
  .option .option_sub_title {
    margin-bottom: 0.5rem;
  }
  .option .option_title {
    font-size: 8vw;
    margin-bottom: 2rem;
  }
  .option .list li figure {
    position: relative;
  }
  .option .list li figure img {
    width: 100%;
    position: static;
    margin: 0 auto 1rem;
  }
  .option .list li figcaption {
    padding: 1.5rem;
    width: 100%;
  }
  .option .list .item1 figcaption {
    margin-right: 0;
    padding-right: 1.5rem;
  }
  
  .option .list .item2 figcaption {
    margin-left: 0;
    padding-left: 1.5rem;
  }
}

/* アフターサポート
-------------------------------------------------------------------------------- */
.after .customer {
  padding: 3rem 0 1rem;
  background: rgb(190,218,244);
  background: linear-gradient(0deg, rgba(190,218,244,1) 0%, rgba(245,251,255,1) 100%);
}
.after .staff {
  padding-bottom: 4rem;
  background: rgb(255,255,255);
  background: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(224,247,216,1) 72%, rgba(199,241,184,1) 100%);
}
.after .support {
  background-color: rgba(126,21,26,1);
  padding: 0.5rem 0 2rem;
}

.after .wrap900 {
  text-align: center;
}

.after .title {
  text-align: center;
  font-size: 1.5em;
  color: #FFF;
  padding: 0.5rem 2rem;
  display: inline-block;
  border-radius: 30px;
  position: relative;
}
.after .title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  border-style: solid;
  border-width: 14px 10px 0 10px;
  translate: -50% 100%;
}

.after .customer_title {
  background-color: #005BAC;
}
.after .customer_title::after {
  border-color: #005BAC transparent transparent;
}

.after .staff_title {
  background-color: rgba(51,155,95,1);
}
.after .staff_title::after {
  border-color: rgba(51,155,95,1) transparent transparent;
}

.after .support_title {
  background-color: rgba(82,0,4,1);
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.after .support_title::after {
  border-color: rgba(82,0,4,1) transparent transparent;
}

.after .box {
  display: flex;
  background-color: #FFF;
  margin-top: -1.8rem;
}
.after .box dt {
  padding: 0.5rem 2rem 0 2rem;
}
  .after .customer .box dt img {
    width: 120px;
  }
  .after .staff .box dt img {
    width: 150px;
    padding-top: 30px;
  }

.after .customer .box dd ul {
  margin-top: 3.5rem;
}
.after .customer .box dd ul li {
  position: relative;
  padding-left: 1em;
  text-align: left;
  font-size: 1.2em;
  margin-bottom: 1rem;
}
.after .customer .box dd ul li:before {
  border-radius: 50%; /*丸くする*/
  width: 12px; /*点の幅*/
  height: 12px; /*点の高さ*/
  display: block;
  position: absolute; /*絶対配置*/
  left: 0; /*点の位置*/
  top: 0.4em; /*点の位置*/
  content: "";
  background: #005BAC;
}

.after .staff .box dd {
  margin-top: 2.7rem;
  text-align: left;
  font-size: 1.2em;
  padding-right: 2rem;
}
.after .staff .box dd strong {
  color: rgba(204,12,66,1);
  font-weight: 600;
  text-emphasis: filled;
}

.after .triangle {
  margin-bottom: 2rem;
}
.after .triangle img {
  width: 100%;
}

@media screen and (max-width: 599px) {
  .after .customer {
    padding: 2rem 0 1rem;
  }
  .after .staff {
    padding-bottom: 2rem;
  }
  .after .staff {
    padding-bottom: 2rem;
  }
  .after .support {
    padding-top: 1rem;
  }
  .after .title {
    font-size: 5vw;
    padding: 0.8rem 2rem;
  }
  .after .support_title {
    margin-top: 0;
    margin-bottom: 1.5rem;
  }
  .after .box {
    margin-top: -1.8rem;
    padding: 3rem 1rem 0 1rem;
    align-items: flex-end;
  }
    .after .customer .box {
      flex-direction: row-reverse;
    }
  .after .box dt {
    padding: 0;
  }
    .after .customer .box dt img {
      width: 80px;
    }
    .after .staff .box dt img {
      width: 110px;
      padding-right: 10px;
    }
  
  .after .customer .box dd ul {
    margin-top: 0.5rem;
  }
  .after .customer .box dd ul li {
    position: relative;
    padding-left: 1em;
    text-align: left;
    font-size: 1.2em;
    margin-bottom: 1rem;
  }
  .after .customer .box dd ul li:before {
    border-radius: 50%; /*丸くする*/
    width: 12px; /*点の幅*/
    height: 12px; /*点の高さ*/
    display: block;
    position: absolute; /*絶対配置*/
    left: 0; /*点の位置*/
    top: 0.4em; /*点の位置*/
    content: "";
    background: #005BAC;
  }
  
  .after .staff .box dd {
    margin-top: 0.5rem;
    padding-right: 0;
    padding-bottom: 1rem;
  }

  .after .triangle {
    margin-bottom: 1rem;
  }
}

/* 流れ
-------------------------------------------------------------------------------- */
.flow {
  padding: 3rem 0;
  background: #FFF;
}
.flow .flow_title {
  text-align: center;
  font-size: 1.7em;
  margin-bottom: 2.5rem;
}
.flow .flow_title strong {
  font-size: 140%;
}
.flow .flow_title .red {
  color: rgba(126,21,26,1);
}

.flow .flow_list {
  background-image: url("../img/top/flow_line.svg");
  background-repeat: no-repeat;
  background-position: left 45px top 0;
  background-size: auto 1000px;
}
.flow .flow_list li {
  margin-bottom: 2rem;
}
.flow .flow_list li dl {
  display: flex;
  justify-content: space-between;
}
.flow .flow_list li dl dt {
  background-color: rgba(126,21,26,1);
  border-radius: 50%;
  width: 90px;
  height: 90px;
  text-align: center;
  color: #FFF;
  font-weight: 400;
  line-height: 1;
  padding-top: 12px;
}
  .flow .flow_list li dl dt strong {
    font-size: 2.5em;
    font-weight: 400;
  }
.flow .flow_list li dl dd {
  background-color: #F3F3F3;
  border-radius: 15px;
  width: calc(100% - 130px);
  padding: 2rem 2rem 2rem 7.5rem;
  position: relative;
  background-repeat: no-repeat;
}
  .flow .flow_list li dl dd::after {
    content: "";
    position: absolute;
    top: 45px;
    left: 0;
    border-style: solid;
    border-width: 10px 20px 10px 0;
    border-color: transparent #F3F3F3 transparent transparent;
    translate: -100% -50%;
  }
.flow .flow_list li dl dd h3 {
  font-size: 1.2rem;
  margin-bottom: 0.8rem;
  font-weight: 600;
}

.flow .flow_list li.step01 dl dd {
  background-image: url("../img/top/flow_ico1.svg");
  background-position: top 2rem left 2rem;
}
.flow .flow_list li.step02 dl dd {
  background-image: url("../img/top/flow_ico2.svg");
  background-position: top 2rem left 1.5rem;
}
.flow .flow_list li.step03 dl dd {
  background-image: url("../img/top/flow_ico3.svg");
  background-position: top 2rem left 1.5rem;
}
.flow .flow_list li.step04 dl dd {
  background-image: url("../img/top/flow_ico4.svg");
  background-position: top 2rem left 1.5rem;
}
.flow .flow_list li.step05 dl dd {
  background-image: url("../img/top/flow_ico5.svg");
  background-position: top 2rem left 1.5rem;
}
.flow .flow_list li.step06 dl dd {
  background-image: url("../img/top/flow_ico6.svg");
  background-position: top 2rem left 2.1rem;
}

@media screen and (max-width: 960px) {
  .flow .flow_list {
    background-size: auto 900px;
  }
  .flow .flow_list li dl dt {
    width: 80px;
    height: 80px;
  }
}

@media screen and (max-width: 599px) {
  .flow {
    padding: 2rem 0 1rem;
  }
  .flow .flow_title {
    margin-bottom: 1.5rem;
  }
  .flow .flow_list_sp {
    background-image: url("../img/top/flow_line.svg");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: auto 90%;
  }
  .flow .flow_list_sp li {
    margin-bottom: 2rem;
    background-color: #F3F3F3;
    border-radius: 15px;
    padding: 1.2rem;
  }
  .flow .flow_list_sp li dl dt {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.8rem;
    position: relative;
  }
    .flow .flow_list_sp li dl dt::after {
      content: '';
      position: absolute;
      right: -20px;
      top: 0;
      background-repeat: no-repeat;
      width: 80px;
      height: 80px;
      z-index: 0;
      opacity: 0.3;
    }
  .flow .flow_list_sp li dl dt .circle {
    background-color: rgba(126,21,26,1);
    border-radius: 50%;
    width: 60px;
    height: 60px;
    text-align: center;
    color: #FFF;
    font-weight: 400;
    line-height: 1.1;
    padding-top: 9px;
  }
    .flow .flow_list_sp li dl dt .circle strong {
      font-size: 1.8em;
      font-weight: 400;
    }
  .flow .flow_list_sp li dl dt h3 {
    font-size: 1.2rem;
    font-weight: 600;
    width: calc(100% - 80px);
    z-index: 1;
  }
  .flow .flow_list_sp li dl dd {
    line-height: 1.5;
  }
  .flow .flow_list_sp li.step01 dt::after {
    background-image: url("../img/top/flow_ico1.svg");
  }
  .flow .flow_list_sp li.step02 dt::after {
    background-image: url("../img/top/flow_ico2.svg");
  }
  .flow .flow_list_sp li.step03 dt::after {
    background-image: url("../img/top/flow_ico3.svg");
    right: -10px;
  }
  .flow .flow_list_sp li.step04 dt::after {
    background-image: url("../img/top/flow_ico4.svg");
    right: -15px;
  }
  .flow .flow_list_sp li.step05 dt::after {
    background-image: url("../img/top/flow_ico5.svg");
    right: -10px;
  }
  .flow .flow_list_sp li.step06 dt::after {
    background-image: url("../img/top/flow_ico6.svg");
  }
}

/* よくいただくご質問
-------------------------------------------------------------------------------- */
.faq {
  padding: 3rem 0;
}
.faq .faq_sub_title {
  text-align: center;
  font-family: 'Roboto', sans-serif;
  font-size: 1.5em;
  font-weight: 400;
  margin-bottom: 0.8rem;
}
.faq .faq_title {
  font-family: 'Noto Serif JP', serif;
  font-size: 2.5em;
  font-weight: 400;
  text-align: center;
  margin-bottom: 2rem;
}
.faq .box_faq {
  background-color: #FFF;
  border-radius: 20px;
  box-shadow: 0 5px 0 rgb(192, 175, 164, 0.8);
  margin-bottom: 2rem;
}
.faq .box_faq .box_faq_q {
  background: none;
  font-size: 1.2em;
  padding: 1rem 1rem 1rem 3.5rem;
  background-image: url("../img/top/faq_q.svg");
  background-position: center left;
  background-repeat: no-repeat;
  background-size: 40px auto;
}
.faq .box_faq .box_faq_q:after {
  border-top: solid 3px rgba(204,12,66,1);
  border-right: solid 3px rgba(204,12,66,1);
}
.faq .box_faq .box_faq_a {
  font-size: 1.2em;
  border-top: 2px dashed #CCC;
  padding: 1rem 1rem 1rem 3.5rem;
  margin-right: 1rem;
  background-image: url("../img/top/faq_a.svg");
  background-position: center left;
  background-repeat: no-repeat;
  background-size: 40px auto;
}

@media screen and (max-width: 599px) {
  .faq {
    padding: 2rem 0;
  }
  .faq .faq_title {
    font-size: 8vw;
  }
  .faq .box_faq {
    margin-bottom: 1.5rem;
  }
  .faq .box_faq .box_faq_q {
    padding: 1rem 2.2rem 1rem 3.4rem;
    line-height: 1.5;
  }
  .faq .box_faq .box_faq_q p {
    line-height: 1.5;
  }
    .faq .box_faq .box_faq_q::after {
      right: 20px;
    }
  .faq .box_faq .box_faq_a p {
    line-height: 1.5;
  }
}

/* お手伝いします
-------------------------------------------------------------------------------- */
.teamPhoto {
  background: rgba(51,155,95,1);
  color: #FFF;
}
.teamPhoto .ph {
  width: 100%;
  height: 400px;
  background-image: url("../img/top/teamPhoto.jpg");
  background-position: center center;
  background-size: cover;
}
.teamPhoto .wrap900 {
  padding: 2rem 0;
}
.teamPhoto .wrap900 .teamPhoto_title {
  text-align: center;
  font-size: 2em;
  font-family: 'Noto Serif JP', serif;
  margin-bottom: 1.5rem;
}
.teamPhoto .wrap900 p {
  font-size: 0.9em;
  font-weight: 400;
  line-height: 1.5;
}

@media screen and (max-width: 960px) {
  .teamPhoto .ph {
    height: 250px;
  }
}

@media screen and (max-width: 599px) {
  .teamPhoto .ph {
    height: 150px;
  }
  .teamPhoto .wrap900 .teamPhoto_title {
    font-size: 6.2vw;
  }
}