@charset "UTF-8";
.main_image {
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto;
  overflow: hidden;
  top: -20px;
}
.main_image .mv_bg {
  width: 89.3%;
  margin: 0 auto;
  height: auto;
  display: block;
}
.main_image .inner {
  width: 1025px;
  max-width: 100%;
  padding: 0 80px 0 135px;
  margin: 0 0 auto;
  box-sizing: border-box;
  position: static;
}
.main_image .text {
  position: absolute;
  z-index: 5;
  top: 170px;
  left: 90px;
  width: 582px;
}
.main_image .sub_text {
  font-size: 32px;
  font-weight: bold;
  position: absolute;
  top: 520px;
  left: 100px;
  font-family: serif;
}
.main_image .text img {
  width: 100%;
  height: auto;
}
.main_image .bottom_box {
  position: absolute;
  bottom: 170px;
  right: 220px;
  width: 1077px;
}
.main_image .bottom_box .gridbox {
  grid-template-columns: repeat(4, 1fr);
}
.main_image .bottom_box .gridbox .box {
  position: relative;
  width: 273px;
  filter: drop-shadow(10px 4px 14px rgba(0, 0, 0, 0.25));
}
.main_image .bottom_box .gridbox .c_g {
  width: 100%;
}
.main_image .bottom_box .gridbox .c_p {
  width: 96%;
}
.main_image .bottom_box .gridbox .c_o {
  width: 96%;
}
.main_image .bottom_box .gridbox .c_b {
  width: 96%;
}
.main_image .bottom_box .gridbox .box img {
  width: 100%;
}
.main_image .sp_mv {
  display: none;
}
@media screen and (min-width: 1440px) {
  .main_image {
    position: relative;
    width: 100%;
    height: auto;
    margin: 0 auto 0;
    overflow: hidden;
    top: -2vw;
  }
  .main_image .mv_bg {
    width: 89.3%;
    height: auto;
    display: block;
  }
  .main_image .inner {
    width: 1025px;
    max-width: 100%;
    padding: 0 80px 0 135px;
    margin: 0 0 auto;
    box-sizing: border-box;
    position: static;
  }
  .main_image .text {
    position: absolute;
    z-index: 5;
    top: 12.5vw;
    left: 7vw;
    width: 40.4vw;
    max-width: 51vw;
  }
  .main_image .sub_text {
    font-size: 2.2vw;
    font-weight: bold;
    position: absolute;
    top: 36vw;
    left: 8vw;
    font-family: serif;
  }
  .main_image .text img {
    width: 100%;
    height: auto;
  }
  .main_image .bottom_box {
    position: absolute;
    bottom: 11vw;
    right: 50%;
    transform: translateX(50%);
    width: 77.3vw;
  }
  .main_image .bottom_box .gridbox {
    grid-template-columns: repeat(4, 1fr);
  }
  .main_image .bottom_box .gridbox .box {
    position: relative;
  }
  .main_image .bottom_box .gridbox .box .circle_text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .main_image .bottom_box .gridbox .box .c_g {
    width: 95%;
  }
  .main_image .bottom_box .gridbox .box .c_p {
    width: 76%;
  }
  .main_image .bottom_box .gridbox .box .c_o {
    width: 80%;
  }
  .main_image .bottom_box .gridbox .box .c_b {
    width: 90%;
  }
  .main_image .bottom_box .gridbox .box img {
    width: 100%;
  }
  .main_image .sp_mv {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .main_image {
    position: relative;
    width: initial;
    height: 213vw;
    box-sizing: border-box;
    overflow: visible;
    margin-bottom: 25vw;
  }
  .main_image .inner {
    padding: 0 2.7vw;
  }
  .main_image .mv_bg {
    width: 100%;
    height: auto;
    display: block;
  }
  .main_image .pc_mv {
    display: none;
  }
  .main_image .text {
    position: absolute;
    z-index: 5;
    top: 63vw;
    left: 13vw;
    width: 74.4vw;
    max-width: 80vw;
  }
  .main_image .sub_text {
    font-size: 4.8vw;
    text-align: center;
    font-weight: bold;
    position: absolute;
    top: 110vw;
    right: 14vw;
    line-height: 1.5;
    font-family: serif;
    left: auto;
  }
  .main_image .bottom_box {
    position: static;
    bottom: 0;
    right: 0;
    width: initial;
  }
  .main_image .bottom_box .box {
    position: absolute;
    width: 50%;
  }
  .main_image .bottom_box .c_g {
    bottom: 7vw;
    left: 3vw;
    z-index: 1;
    width: 51%;
  }
  .main_image .bottom_box .c_p {
    bottom: 7vw;
    right: 3vw;
    z-index: 1;
    width: 51%;
  }
  .main_image .bottom_box .c_o {
    bottom: -33vw;
    left: 3vw;
    width: 51%;
  }
  .main_image .bottom_box .c_b {
    bottom: -33vw;
    right: 1vw;
    width: 56%;
  }
}

.anchor {
  display: block;
  position: relative;
  top: -120px; /* ヘッダー高さ */
}

.sec01 {
  margin-bottom: 245px;
}
.sec01 .check_box {
  width: 1300px;
  height: 933px;
  margin: 0 auto;
  background: url(/dh/images/dh/sec01_bg_2.webp) center/contain no-repeat;
}
.sec01 .check_box .sec_title {
  padding: 45px 0 40px;
}
.sec01 .check_box .gridbox {
  grid-template-columns: repeat(2, 1fr);
  margin: 0 auto;
  padding: 0 45px 0 50px;
  row-gap: 30px;
}
.sec01 .check_box .gridbox .box {
  display: flex;
  -moz-column-gap: 20px;
       column-gap: 20px;
  align-items: center;
}
.sec01 .check_box .gridbox .box .check_text {
  font-size: 30px;
  color: #fff;
  font-weight: bold;
  line-height: 1.5;
}
.sec01 .check_box .gridbox .box .check_icon {
  filter: drop-shadow(0px 4px 12px #D16270);
}
.sec01 .check_box .bottom_yajirushi {
  margin: 70px auto 20px;
  text-align: center;
}
.sec01 .check_box .textbox {
  font-size: 42px;
  font-weight: bold;
  text-align: center;
  font-family: serif;
  color: #2B4D65;
}
.sec01 .check_box .textbox .red {
  color: #D16270;
  font-weight: bold;
}
.sec01 .bottom_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 80px;
  justify-items: center;
  -moz-column-gap: 40px;
       column-gap: 40px;
}
.sec01 .bottom_grid .box {
  width: 400px;
}
.sec01 .bottom_grid .box .bottom_title {
  height: 80px;
  font-size: 25px;
  font-weight: bold;
  font-family: serif;
  text-align: center;
  line-height: 1.5;
  margin-bottom: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
  white-space: normal;
}
.sec01 .bottom_grid .box .bottom_title .title_block {
  display: inline-block;
  font-weight: bold;
}
.sec01 .bottom_grid .box .bottom_title .red {
  color: #E58F8D;
  font-weight: bold;
}
.sec01 .bottom_grid .box .bottom_cont {
  background-color: #F2F9F9;
  text-align: center;
  padding: 5px 0 20px;
}
.sec01 .bottom_grid .box .bottom_cont .small {
  line-height: 1.5;
  display: inline-block;
  font-size: 20px;
  font-weight: bold;
  position: relative;
}
.sec01 .bottom_grid .box .bottom_cont .small::before {
  content: "";
  position: absolute;
  width: 14px;
  height: 41px;
  left: -40px;
  bottom: 0;
  background: url(/dh/images/dh/line_l.webp) center/contain no-repeat;
}
.sec01 .bottom_grid .box .bottom_cont .small::after {
  content: "";
  position: absolute;
  width: 14px;
  height: 41px;
  right: -40px;
  bottom: 0;
  background: url(/dh/images/dh/line_r.webp) center/contain no-repeat;
}
.sec01 .bottom_grid .box .bottom_cont .cont_text {
  line-height: 1.5;
  font-size: 21px;
  font-weight: bold;
}
.sec01 .bottom_grid .box .bottom_cont .cont_text .cont_big {
  font-weight: bold;
  font-size: 24px;
}
@media screen and (max-width: 768px) {
  .sec01 {
    margin-bottom: 13.8vw;
  }
  .sec01 .inner {
    padding: 0;
  }
  .sec01 .check_box {
    width: 100%;
    height: 151vw;
    margin: 0 auto;
    background: url(/dh/images/dh/sec01_bg_sp_2.webp) center/contain no-repeat;
  }
  .sec01 .check_box .sec_header {
    margin-bottom: 0;
    padding: 5.5vw 0 0;
  }
  .sec01 .check_box .sec_title {
    padding: 5vw 0 3vw;
    width: 90%;
    margin: 0 auto;
  }
  .sec01 .check_box .gridbox {
    grid-template-columns: repeat(1, 1fr);
    margin: 0 auto;
    padding: 0 7vw;
    row-gap: 2.3vw;
  }
  .sec01 .check_box .gridbox .box {
    display: flex;
    -moz-column-gap: 2vw;
         column-gap: 2vw;
    align-items: center;
  }
  .sec01 .check_box .gridbox .box .check_text {
    font-size: 4.8vw;
    color: #fff;
    font-weight: bold;
    line-height: 1.3;
    width: 90%;
  }
  .sec01 .check_box .gridbox .box .check_icon {
    width: 8vw;
    filter: drop-shadow(0px 4px 12px #D16270);
  }
  .sec01 .check_box .bottom_yajirushi {
    margin: 3vw auto 5vw;
    width: 20%;
    text-align: center;
  }
  .sec01 .check_box .textbox {
    font-size: 7vw;
    font-weight: bold;
    text-align: center;
    font-family: serif;
    color: #2B4D65;
    line-height: 1.5;
  }
  .sec01 .check_box .textbox .red {
    color: #D16270;
    font-weight: bold;
  }
  .sec01 .bottom_grid {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    margin-top: 40vw;
    justify-items: center;
    -moz-column-gap: 0;
         column-gap: 0;
    row-gap: 10vw;
    padding: 0 5vw;
  }
  .sec01 .bottom_grid .box {
    width: 100%;
  }
  .sec01 .bottom_grid .box .bottom_title {
    height: auto;
    font-size: 5.7vw;
    font-weight: bold;
    font-family: serif;
    text-align: center;
    line-height: 1.5;
    margin-bottom: 3vw;
    display: flex;
    justify-content: center;
    align-items: center;
    white-space: normal;
  }
  .sec01 .bottom_grid .box .bottom_title .title_block {
    display: inline-block;
    font-weight: bold;
  }
  .sec01 .bottom_grid .box .bottom_title .red {
    color: #E58F8D;
    font-weight: bold;
  }
  .sec01 .bottom_grid .box .bottom_cont {
    background-color: #F2F9F9;
    text-align: center;
    padding: 5px 0 20px;
  }
  .sec01 .bottom_grid .box .bottom_cont .small {
    line-height: 1.5;
    display: inline-block;
    font-size: 5.3vw;
    font-weight: bold;
    position: relative;
  }
  .sec01 .bottom_grid .box .bottom_cont .small::before {
    content: "";
    position: absolute;
    width: 4vw;
    height: 10vw;
    left: -8vw;
    bottom: 0;
    background: url(/dh/images/dh/line_l.webp) center/contain no-repeat;
  }
  .sec01 .bottom_grid .box .bottom_cont .small::after {
    content: "";
    position: absolute;
    width: 4vw;
    height: 10vw;
    right: -8vw;
    bottom: 0;
    background: url(/dh/images/dh/line_r.webp) center/contain no-repeat;
  }
  .sec01 .bottom_grid .box .bottom_cont .cont_text {
    line-height: 1.5;
    font-size: 5.7vw;
    font-weight: bold;
  }
  .sec01 .bottom_grid .box .bottom_cont .cont_text .cont_big {
    font-weight: bold;
    font-size: 6.5vw;
  }
}

.sec02 {
  position: relative;
  color: #fff;
  clip-path: inset(0);
  padding: 100px 0;
}
.sec02 .parallax_bg_fixed,
.sec02 .deco_photo {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
  will-change: transform;
}
.sec02 .parallax_bg_fixed {
  width: 100%;
  max-width: 1440px;
  height: 100vh;
  background-image: url("/dh/images/dh/sec02_bg_pc_2.webp");
  background-size: 1440px 978px;
  background-position: center top;
  background-repeat: no-repeat;
}
@media screen and (max-width: 1439px) and (min-width: 786px) {
  .sec02 .parallax_bg_fixed {
    height: 978px;
  }
}
.sec02 .inner {
  max-width: 1040px;
  margin: 0 auto;
  position: relative;
  padding: 95px 20px;
}
.sec02 .sec_header {
  text-align: center;
  margin-bottom: 65px;
}
.sec02 .sec_header .sec_subtitle {
  font-size: 24px;
  letter-spacing: 0.15em;
  margin-bottom: 10px;
  display: block;
  font-weight: bold;
}
.sec02 .sec_header .sec_title {
  font-size: 42px;
  font-weight: normal;
  letter-spacing: 0.05em;
  color: #2B4D65;
  font-weight: bold;
  font-family: serif;
  line-height: 2;
}
.sec02 .sec_header .sec_title .small {
  font-size: 38px;
  font-weight: bold;
  font-family: serif;
}
.sec02 .sec_header .sec_title .ten {
  position: relative;
  display: inline-block;
  font-weight: bold;
}
.sec02 .sec_header .sec_title .ten::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 13px;
  height: 12px;
  transform: translateX(-50%);
  background: url(/dh/images/dh/ten.webp) center/contain no-repeat;
}
.sec02 .scroll_box {
  text-align: center;
}
.sec02 .scroll_box .box {
  background: transparent;
  margin-bottom: 86px;
}
.sec02 .scroll_box .box .box_text {
  font-size: 21px;
  margin-bottom: 1.6em;
  font-family: serif;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .sec02 {
    position: relative;
    color: #fff;
    clip-path: inset(0);
    padding: 20vw 0;
    position: relative;
    text-shadow: 0 0 1px rgba(0, 0, 0, 0.01);
  }
  .sec02::before {
    content: "";
    position: absolute;
    top: 0;
    width: 100%;
    height: 70svh;
    background: url(/dh/images/dh/para_top.webp) center top/cover no-repeat;
    transform: translateY(-20%);
    display: none;
  }
  .sec02 .parallax_bg_fixed,
  .sec02 .deco_photo {
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
    will-change: transform;
    position: relative;
  }
  .sec02 .parallax_bg_fixed::before,
  .sec02 .deco_photo::before {
    content: "";
    position: absolute;
    top: 0;
    width: 100%;
    height: 70svh;
    background: url(/dh/images/dh/para_top.webp) center top/cover no-repeat;
    transform: translateY(-30%);
  }
  .sec02 .parallax_bg_fixed {
    width: 100%;
    height: 77vh;
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    top: auto;
    background-image: url(/dh/images/dh/para_bottom_2.webp);
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: cover;
  }
  .sec02 .deco_photo {
    position: fixed;
    top: 0;
    bottom: auto;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
    width: 100%;
    height: 70svh;
    background-image: url(/dh/images/dh/para_top.webp);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
    transform: translate(-50%, -20%);
    display: none;
  }
  .sec02 .grd_box {
    position: fixed;
    display: block;
    background: linear-gradient(to bottom, rgba(229, 151, 152, 0) 0%, rgb(229, 151, 152) 100%);
    background-size: 100% auto;
    width: 100%;
    height: 35vw;
    bottom: 0;
    left: 0;
    z-index: -3;
  }
  .sec02 .inner {
    max-width: 100%;
    margin: 0 auto;
    position: relative;
    padding: 0 5vw;
  }
  .sec02 .sec_header {
    text-align: center;
    margin-bottom: 5vw;
  }
  .sec02 .sec_header .sec_subtitle {
    font-size: 4.8vw;
    letter-spacing: 0.15em;
    margin-bottom: 3vw;
    display: block;
    font-weight: bold;
  }
  .sec02 .sec_header .sec_title {
    font-size: 7.5vw;
    font-weight: normal;
    letter-spacing: 0.05em;
    color: #2B4D65;
    font-weight: bold;
    font-family: serif;
    line-height: 2;
  }
  .sec02 .sec_header .sec_title .small {
    font-size: 7.5vw;
    font-weight: bold;
    font-family: serif;
  }
  .sec02 .sec_header .sec_title .ten {
    position: relative;
    display: inline-block;
    font-weight: bold;
  }
  .sec02 .sec_header .sec_title .ten::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 3vw;
    height: 3vw;
    transform: translateX(-50%);
    background: url(/dh/images/dh/ten.webp) center/contain no-repeat;
  }
  .sec02 .scroll_box {
    text-align: center;
  }
  .sec02 .scroll_box .box {
    background: transparent;
    margin-bottom: 10vw;
  }
  .sec02 .scroll_box .box .box_text {
    font-size: 4.8vw;
    margin-bottom: 0;
    line-height: 3.5;
    font-family: serif;
    font-weight: bold;
  }
}
@media screen and (max-width: 375px) {
  .sec02 .parallax_bg_fixed {
    background-size: 100% auto;
    background-position: center top;
  }
}
@media screen and (min-width: 376px) and (max-width: 768px) {
  .sec02 .parallax_bg_fixed {
    background-size: cover;
    height: 100vh;
  }
}

.sec03 {
  margin-bottom: 70px;
}
.sec03 .inner {
  padding: 0 70px;
}
.sec03 .sec_header {
  margin-bottom: 100px;
}
.sec03 .flexbox {
  -moz-column-gap: 75px;
       column-gap: 75px;
  align-items: flex-start;
}
.sec03 .flexbox .textbox {
  width: 86%;
}
.sec03 .flexbox .box_title {
  margin-bottom: 40px;
}
.sec03 .flexbox .box_title .number {
  font-size: 90px;
  font-weight: 500;
  font-family: serif;
  line-height: 1;
  margin-bottom: 10px;
}
.sec03 .flexbox .box_title .p_title {
  font-size: 30px;
  font-weight: bold;
  color: #2B4D65;
  font-family: serif;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.sec03 .flexbox .box_title .p_title .green {
  color: #54BAC1;
  font-weight: bold;
}
.sec03 .flexbox .box_title .p_title .red {
  color: #D16270;
  font-weight: bold;
}
.sec03 .flexbox .box_title .p_title .orange {
  font-weight: bold;
  color: #F39D57;
}
.sec03 .flexbox .box_title .p_title .purple {
  color: #AA84B5;
  font-weight: bold;
}
.sec03 .flexbox .imagebox {
  width: 100%;
}
.sec03 .bottom_box {
  position: relative;
  padding: 0 40px;
}
.sec03 .bottom_box .flexbox {
  -moz-column-gap: 65px;
       column-gap: 65px;
}
.sec03 .bottom_box .flexbox .textbox {
  width: 100%;
}
.sec03 .bottom_box .flexbox .textbox .bottom_title {
  font-weight: bold;
  font-size: 32px;
  font-family: serif;
  margin-bottom: 15px;
  position: relative;
}
.sec03 .bottom_box .bottom_img {
  width: 33.3%;
}
.sec03 .point01 {
  margin-bottom: 185px;
}
.sec03 .point01 .flexbox {
  margin-bottom: 75px;
}
.sec03 .point01 .flexbox .number {
  color: #54BAC1;
}
.sec03 .point01 .flexbox .imagebox {
  position: relative;
}
.sec03 .point01 .flexbox .imagebox::before {
  position: absolute;
  content: "";
  width: 94px;
  height: 106px;
  right: 140px;
  bottom: 20px;
  z-index: 3;
  background: url(/dh/images/dh/kazari01.webp) center/contain no-repeat;
}
.sec03 .point01 .flexbox .imagebox .float_text {
  background-color: #97CCD0;
  padding: 20px 100px 20px 40px;
  color: #fff;
  display: inline-block;
  position: absolute;
  bottom: 20px;
  left: 0;
  font-size: 25px;
  font-weight: bold;
}
.sec03 .point01 .gridbox {
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 70px;
       column-gap: 70px;
  row-gap: 90px;
  margin: 0 auto 200px;
  width: 1146px;
}
.sec03 .point01 .gridbox .box {
  position: relative;
  width: 535px;
  height: 331px;
}
.sec03 .point01 .gridbox .box::before {
  content: "";
  position: absolute;
  width: 535px;
  height: 311px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -45%);
  z-index: -1;
  background: url(/dh/images/dh/sec03_grid.webp) center/contain no-repeat;
}
.sec03 .point01 .gridbox .box .box_header {
  display: flex;
  align-items: flex-end;
  margin-bottom: 20px;
  justify-content: center;
  -moz-column-gap: 15px;
       column-gap: 15px;
  height: 98px;
}
.sec03 .point01 .gridbox .box .box_header .grid_title {
  font-size: 24px;
  width: 326px;
  text-align: center;
  font-family: serif;
  font-weight: bold;
  border-bottom: 4px dashed #849CB5;
  padding-bottom: 5px;
}
.sec03 .point01 .gridbox .box .grid_text {
  padding: 0 55px;
}
.sec03 .point01 .gridbox .box .grid_text .bold {
  font-weight: bold;
}
.sec03 .point01 .bottom_box::before {
  position: absolute;
  content: "";
  width: 1296px;
  height: 121px;
  bottom: -70px;
  right: 50%;
  transform: translateX(50%);
  background: url(/dh/images/dh/sec03_5.webp) center/contain no-repeat;
  z-index: -1;
}
.sec03 .point01 .bottom_box .bottom_title::before {
  content: "";
  position: absolute;
  width: 266px;
  height: 54px;
  bottom: 80px;
  left: 0;
  background: url(/dh/images/dh/sec03_1_2.webp) center/contain no-repeat;
}
.sec03 .point02 {
  margin-bottom: 200px;
}
.sec03 .point02 .flexbox {
  margin-bottom: 145px;
}
.sec03 .point02 .flexbox .number {
  color: #E58F8D;
}
.sec03 .point02 .gridbox {
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 80px;
       column-gap: 80px;
  width: 1183px;
  margin: 0 auto 65px;
}
.sec03 .point02 .gridbox .box {
  width: 551px;
}
.sec03 .point02 .gridbox .box .grid_title {
  background-color: rgba(229, 151, 152, 0.2);
  font-size: 24px;
  font-family: serif;
  font-weight: bold;
  padding: 30px 40px;
  line-height: 1.5;
  position: relative;
  margin-bottom: 25px;
}
.sec03 .point02 .gridbox .box .grid01::before {
  position: absolute;
  content: "";
  width: 242px;
  height: 201px;
  right: -20px;
  bottom: 0;
  background: url(/dh/images/dh/sec03_7_2.webp) center/contain no-repeat;
}
.sec03 .point02 .gridbox .box .grid02::before {
  position: absolute;
  content: "";
  width: 186px;
  height: 189px;
  right: -70px;
  bottom: -10px;
  background: url(/dh/images/dh/sec03_8.webp) center/contain no-repeat;
}
.sec03 .point02 .gridbox .box .grid_text .bold {
  font-weight: bold;
}
.sec03 .point02 .bottom_box::before {
  position: absolute;
  content: "";
  width: 1296px;
  height: 121px;
  bottom: -70px;
  right: 50%;
  transform: translateX(50%);
  background: url(/dh/images/dh/sec03_5.webp) center/contain no-repeat;
  z-index: -1;
}
.sec03 .point02 .bottom_box .bottom_title::before {
  content: "";
  position: absolute;
  width: 266px;
  height: 54px;
  bottom: 80px;
  left: 0;
  background: url(/dh/images/dh/sec03_9.webp) center/contain no-repeat;
}
.sec03 .point02 .bottom_box .flexbox {
  -moz-column-gap: 35px;
       column-gap: 35px;
  align-items: flex-end;
}
.sec03 .point02 .bottom_box .flexbox .imagebox {
  width: 41.4%;
}
.sec03 .point02 .bottom_box .flexbox .textbox .bottom_title {
  font-size: 30px;
}
.sec03 .point03 {
  margin-bottom: 180px;
}
.sec03 .point03 .flexbox {
  margin-bottom: 145px;
}
.sec03 .point03 .flexbox .number {
  color: #F39D57;
}
.sec03 .point03 .bottom_box::before {
  position: absolute;
  content: "";
  width: 1296px;
  height: 361px;
  bottom: -70px;
  right: 50%;
  transform: translateX(50%);
  background: url(/dh/images/dh/sec03_17.webp) center/contain no-repeat;
  z-index: -1;
}
.sec03 .point03 .bottom_box .bottom_title::before {
  content: "";
  position: absolute;
  width: 228px;
  height: 91px;
  bottom: 100px;
  left: -20px;
  background: url(/dh/images/dh/sec03_13.webp) center/contain no-repeat;
}
.sec03 .point03 .bottom_box .flexbox {
  -moz-column-gap: 60px;
       column-gap: 60px;
  align-items: flex-end;
}
.sec03 .point03 .bottom_box .flexbox .imagebox {
  width: 61.2%;
  position: relative;
}
.sec03 .point03 .bottom_box .flexbox .imagebox::before {
  position: absolute;
  content: "";
  width: 214px;
  height: 159px;
  bottom: 10px;
  right: 220px;
  background: url(/dh/images/dh/sec03_15.webp) center/contain no-repeat;
}
.sec03 .point03 .bottom_box .flexbox .imagebox::after {
  position: absolute;
  content: "";
  width: 187px;
  height: 141px;
  bottom: 20px;
  right: 20px;
  background: url(/dh/images/dh/sec03_16.webp) center/contain no-repeat;
}
.sec03 .point03 .bottom_box .flexbox .textbox .bottom_title {
  font-size: 24px;
}
.sec03 .point04 {
  position: relative;
}
.sec03 .point04 .flexbox {
  margin-bottom: 370px;
}
.sec03 .point04 .flexbox .number {
  color: #AA84B5;
}
.sec03 .point04 .gridbox {
  grid-template-columns: repeat(4, 1fr);
  width: 961px;
  margin: 0 auto;
  position: absolute;
  top: 400px;
  right: 150px;
}
.sec03 .point04 .gridbox .box {
  width: 240px;
  height: 236px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-align: center;
}
.sec03 .point04 .gridbox .box .grid_title {
  color: #fff;
  font-size: 27px;
  font-weight: bold;
  line-height: 1.3;
  position: relative;
}
.sec03 .point04 .gridbox .box .grid_title .small01 {
  font-weight: bold;
  font-size: 26px;
}
.sec03 .point04 .gridbox .box .grid_title .small02 {
  font-weight: bold;
  font-size: 17px;
}
.sec03 .point04 .gridbox .box .grid_title .small03 {
  font-weight: bold;
  font-size: 20px;
}
.sec03 .point04 .gridbox .box .title01 {
  margin-bottom: 15px;
}
.sec03 .point04 .gridbox .box .title01::before {
  position: absolute;
  content: "";
  width: 105px;
  height: 50px;
  top: -40px;
  right: 50%;
  transform: translateX(55%);
  background: url(/dh/images/dh/kazari07.webp) center/contain no-repeat;
}
.sec03 .point04 .gridbox .box .title02 {
  margin-bottom: 15px;
}
.sec03 .point04 .gridbox .box .title02::before {
  position: absolute;
  content: "";
  width: 41px;
  height: 46px;
  top: -40px;
  left: -40px;
  background: url(/dh/images/dh/kazari08.webp) center/contain no-repeat;
}
.sec03 .point04 .gridbox .box .title02::after {
  position: absolute;
  content: "";
  width: 29px;
  height: 32px;
  bottom: -15px;
  right: -40px;
  background: url(/dh/images/dh/kazari09.webp) center/contain no-repeat;
}
.sec03 .point04 .gridbox .box .title03 {
  margin-bottom: 15px;
}
.sec03 .point04 .gridbox .box .title03::before {
  position: absolute;
  content: "";
  width: 52px;
  height: 60px;
  bottom: -5px;
  right: -55px;
  background: url(/dh/images/dh/kazari10.webp) center/contain no-repeat;
}
.sec03 .point04 .gridbox .box .title04 {
  margin-bottom: 10px;
}
.sec03 .point04 .gridbox .box .title04::before {
  position: absolute;
  content: "";
  width: 77px;
  height: 74px;
  top: -45px;
  right: -55px;
  background: url(/dh/images/dh/kazari11.webp) center/contain no-repeat;
}
.sec03 .point04 .gridbox .box .grid_text {
  height: 52px;
}
.sec03 .point04 .gridbox .box .text01 {
  color: #542B65;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.3;
}
.sec03 .point04 .gridbox .box .text02 {
  color: #6C2324;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.3;
}
.sec03 .point04 .gridbox .box_purple {
  background: url(/dh/images/dh/sec03_19.webp) center/contain no-repeat;
}
.sec03 .point04 .gridbox .box_pink {
  background: url(/dh/images/dh/sec03_20.webp) center/contain no-repeat;
}
.sec03 .point04 .flex_bottom {
  display: flex;
  -moz-column-gap: 45px;
       column-gap: 45px;
  margin-bottom: 100px;
}
.sec03 .point04 .flex_bottom .imagebox {
  width: 51%;
  position: relative;
}
.sec03 .point04 .flex_bottom .imagebox::before {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 0;
  width: 154px;
  height: 90px;
  z-index: 1;
  background: url(/dh/images/dh/kazari12.webp) center/contain no-repeat;
}
.sec03 .point04 .flex_bottom .imagebox .float_circle {
  position: absolute;
  bottom: 10px;
  left: -20px;
  width: 212px;
  height: 212px;
  border-radius: 50vh;
  background-color: rgba(240, 240, 240, 0.8);
  color: #AA84B5;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  flex-direction: column;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
}
.sec03 .point04 .flex_bottom .imagebox .float_circle .big {
  font-weight: bold;
  font-size: 24px;
}
.sec03 .point04 .flex_bottom .textbox {
  width: 100%;
}
.sec03 .point04 .flex_bottom .textbox .box_title {
  font-size: 24px;
  font-weight: bold;
  font-family: serif;
  margin-bottom: 20px;
}
.sec03 .point04 .sp {
  display: none;
}
.sec03 .point04 .bottom_box::before {
  position: absolute;
  content: "";
  width: 1296px;
  height: 361px;
  bottom: -40px;
  right: 50%;
  transform: translateX(50%);
  background: url(/dh/images/dh/sec03_23.webp) center/contain no-repeat;
  z-index: -2;
}
.sec03 .point04 .bottom_box .flexbox {
  -moz-column-gap: 60px;
       column-gap: 60px;
  align-items: flex-start;
  margin-bottom: 0;
}
.sec03 .point04 .bottom_box .flexbox .imagebox {
  width: 61.2%;
  position: relative;
}
.sec03 .point04 .bottom_box .flexbox .imagebox::before {
  position: absolute;
  content: "";
  width: 150px;
  height: 150px;
  top: -40px;
  left: -70px;
  z-index: -1;
  background: url(/dh/images/dh/kazari13.webp) center/contain no-repeat;
}
.sec03 .point04 .bottom_box .flexbox .imagebox::after {
  position: absolute;
  content: "";
  width: 197px;
  height: 199px;
  top: -110px;
  right: -20px;
  z-index: -1;
  background: url(/dh/images/dh/kazari14.webp) center/contain no-repeat;
}
.sec03 .point04 .bottom_box .flexbox .imagebox .bottom_check {
  margin-top: 25px;
}
.sec03 .point04 .bottom_box .flexbox .imagebox .bottom_check .check_flex {
  display: flex;
  -moz-column-gap: 15px;
       column-gap: 15px;
  align-items: center;
}
.sec03 .point04 .bottom_box .flexbox .imagebox .bottom_check .check_flex .check_text {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.3;
}
.sec03 .point04 .bottom_box .flexbox .imagebox .bottom_check .check_flex .check_text .small {
  font-size: 16px;
  font-weight: bold;
}
.sec03 .point04 .bottom_box .flexbox .imagebox .bottom_check .check_flex:first-of-type {
  margin-bottom: 10px;
}
.sec03 .point04 .bottom_box .flexbox .textbox .bottom_title {
  font-size: 24px;
  line-height: 1.5;
  margin-bottom: 25px;
}
.sec03 .banner {
  text-align: center;
  margin: 130px 0 0;
}
@media screen and (max-width: 768px) {
  .sec03 {
    margin-bottom: 13.8vw;
  }
  .sec03 .inner {
    padding: 0;
  }
  .sec03 .sec_header {
    padding: 15vw 10vw;
    margin-bottom: 10vw;
    position: relative;
  }
  .sec03 .sec_header::before {
    content: "";
    position: absolute;
    width: 100vw;
    height: 100vw;
    left: -7vw;
    top: -10vw;
    background: url(/dh/images/dh/Ellipse.webp) center/contain no-repeat;
  }
  .sec03 .flexbox {
    -moz-column-gap: 0;
         column-gap: 0;
    align-items: flex-start;
    flex-direction: column;
    padding: 0 3vw;
  }
  .sec03 .flexbox .textbox {
    width: 100%;
  }
  .sec03 .flexbox .box_title {
    margin-bottom: 3vw;
    display: flex;
    -moz-column-gap: 3vw;
         column-gap: 3vw;
    align-items: center;
  }
  .sec03 .flexbox .box_title .number {
    font-size: 10.7vw;
    font-weight: 500;
    font-family: serif;
    line-height: 1;
  }
  .sec03 .flexbox .box_title .p_title {
    font-size: 5.6vw;
    font-weight: bold;
    color: #2B4D65;
    font-family: serif;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }
  .sec03 .flexbox .box_title .p_title .green {
    color: #54BAC1;
    font-weight: bold;
  }
  .sec03 .flexbox .box_title .p_title .red {
    color: #D16270;
    font-weight: bold;
  }
  .sec03 .flexbox .box_title .p_title .orange {
    font-weight: bold;
    color: #F39D57;
  }
  .sec03 .flexbox .box_title .p_title .purple {
    color: #AA84B5;
    font-weight: bold;
  }
  .sec03 .flexbox .imagebox {
    width: 100%;
  }
  .sec03 .bottom_box {
    position: relative;
    padding: 0 3vw;
  }
  .sec03 .bottom_box .flexbox {
    -moz-column-gap: 2vw;
         column-gap: 2vw;
    flex-direction: row;
  }
  .sec03 .bottom_box .flexbox .textbox {
    width: 100%;
  }
  .sec03 .bottom_box .flexbox .textbox .bottom_title {
    font-weight: bold;
    font-size: 5vw;
    font-family: serif;
    margin-bottom: 0;
    position: relative;
  }
  .sec03 .bottom_box .bottom_img {
    width: 66.6%;
  }
  .sec03 .point01 {
    margin-bottom: 23.8vw;
  }
  .sec03 .point01 .flexbox {
    margin-bottom: 10vw;
  }
  .sec03 .point01 .flexbox .number {
    color: #54BAC1;
  }
  .sec03 .point01 .flexbox .imagebox {
    position: relative;
  }
  .sec03 .point01 .flexbox .imagebox::before {
    position: absolute;
    content: "";
    width: 16vw;
    height: 18vw;
    right: initial;
    left: 0;
    bottom: 3vw;
    z-index: 3;
    background: url(/dh/images/dh/kazari01.webp) center/contain no-repeat;
  }
  .sec03 .point01 .flexbox .imagebox .float_text {
    background-color: #97CCD0;
    padding: 3vw 2vw 3vw 18vw;
    color: #fff;
    display: inline-block;
    position: absolute;
    bottom: 3vw;
    left: 0;
    font-size: 4.8vw;
    font-weight: bold;
    line-height: 1.3;
  }
  .sec03 .point01 .gridbox {
    grid-template-columns: repeat(1, 1fr);
    -moz-column-gap: 0;
         column-gap: 0;
    row-gap: 0;
    margin: 0 auto 30vw;
    width: 100%;
  }
  .sec03 .point01 .gridbox .box {
    position: relative;
    width: 100%;
    height: auto;
    margin-bottom: 15vw;
  }
  .sec03 .point01 .gridbox .box::before {
    content: "";
    position: absolute;
    width: 93vw;
    height: 98vw;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -45%);
    z-index: -1;
    background: url(/dh/images/dh/sec03_grid_sp2.webp) center/contain no-repeat;
  }
  .sec03 .point01 .gridbox .box .box_header {
    display: flex;
    align-items: flex-end;
    margin-bottom: 5vw;
    justify-content: center;
    -moz-column-gap: 3vw;
         column-gap: 3vw;
    height: 23vw;
  }
  .sec03 .point01 .gridbox .box .box_header .imagebox {
    width: 15%;
    margin-bottom: 0;
  }
  .sec03 .point01 .gridbox .box .box_header .image01 {
    width: 20%;
  }
  .sec03 .point01 .gridbox .box .box_header .grid_title {
    font-size: 5.6vw;
    width: 65%;
    text-align: center;
    font-family: serif;
    font-weight: bold;
    border-bottom: 4px dashed #849CB5;
    padding-bottom: 0;
  }
  .sec03 .point01 .gridbox .box .grid_text {
    padding: 0 10vw;
  }
  .sec03 .point01 .gridbox .box .grid_text .bold {
    font-weight: bold;
  }
  .sec03 .point01 .gridbox .box01::before {
    background: url(/dh/images/dh/sec03_grid_sp1.webp) center/no-repeat;
    background-size: 93vw 80vw;
    height: 80vw;
    top: 55%;
  }
  .sec03 .point01 .gridbox .box02::before {
    transform: translate(-50%, -42%);
    background-size: 93vw 87vw;
  }
  .sec03 .point01 .gridbox .box03::before {
    transform: translate(-50%, -42%);
    background-size: 93vw 94vw;
  }
  .sec03 .point01 .gridbox .box04::before {
    transform: translate(-50%, -42%);
    background-size: 93vw 96vw;
  }
  .sec03 .point01 .bottom_box::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 59vw;
    bottom: -10vw;
    right: 50%;
    transform: translateX(50%);
    background: url(/dh/images/dh/sec03_5_sp.webp) center/contain no-repeat;
    z-index: -1;
  }
  .sec03 .point01 .bottom_box .bottom_title::before {
    content: "";
    position: absolute;
    width: 57vw;
    height: 12vw;
    bottom: 22vw;
    left: 15vw;
    background: url(/dh/images/dh/sec03_1_2.webp) center/contain no-repeat;
  }
  .sec03 .point01 .bottom_box .flexbox {
    margin-bottom: 2vw;
    padding: 0;
  }
  .sec03 .point02 {
    margin-bottom: 23.8vw;
  }
  .sec03 .point02 .flexbox {
    margin-bottom: 10vw;
  }
  .sec03 .point02 .flexbox .number {
    color: #E58F8D;
  }
  .sec03 .point02 .gridbox {
    grid-template-columns: repeat(1, 1fr);
    -moz-column-gap: 0;
         column-gap: 0;
    row-gap: 10vw;
    width: 100%;
    margin: 0 auto 25vw;
  }
  .sec03 .point02 .gridbox .box {
    width: initial;
    padding: 0 5vw;
  }
  .sec03 .point02 .gridbox .box .grid_title {
    background-color: rgba(229, 151, 152, 0.2);
    font-size: 4.8vw;
    font-family: serif;
    font-weight: bold;
    padding: 5vw 0vw 5vw 3vw;
    line-height: 2;
    position: relative;
    margin-bottom: 3vw;
  }
  .sec03 .point02 .gridbox .box .grid01::before {
    position: absolute;
    content: "";
    width: 31vw;
    height: 39vw;
    right: -2vw;
    bottom: 0;
    background: url(/dh/images/dh/sec03_7_sp.webp) center/contain no-repeat;
  }
  .sec03 .point02 .gridbox .box .grid02::before {
    position: absolute;
    content: "";
    width: 35vw;
    height: 35vw;
    right: -3vw;
    bottom: 19vw;
    background: url(/dh/images/dh/sec03_8_sp.webp) center/contain no-repeat;
  }
  .sec03 .point02 .gridbox .box .grid_text .bold {
    font-weight: bold;
  }
  .sec03 .point02 .bottom_box {
    padding: 0 3vw;
  }
  .sec03 .point02 .bottom_box::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 59vw;
    bottom: -10vw;
    right: 50%;
    transform: translateX(50%);
    background: url(/dh/images/dh/sec03_5_sp.webp) center/contain no-repeat;
    z-index: -1;
  }
  .sec03 .point02 .bottom_box .bottom_title::before {
    content: "";
    position: absolute;
    width: 57vw;
    height: 12vw;
    bottom: 32vw;
    left: 15vw;
    background: url(/dh/images/dh/sec03_9.webp) center/contain no-repeat;
  }
  .sec03 .point02 .bottom_box .flexbox {
    -moz-column-gap: 2vw;
         column-gap: 2vw;
    align-items: flex-end;
    padding: 0;
    margin-bottom: 3vw;
  }
  .sec03 .point02 .bottom_box .flexbox .imagebox {
    width: 54.2%;
  }
  .sec03 .point02 .bottom_box .flexbox .textbox .bottom_title {
    font-size: 4.6vw;
  }
  .sec03 .point03 {
    margin-bottom: 23.8vw;
  }
  .sec03 .point03 .flexbox {
    margin-bottom: 30vw;
  }
  .sec03 .point03 .flexbox .number {
    color: #F39D57;
  }
  .sec03 .point03 .bottom_box {
    padding: 0 5vw;
  }
  .sec03 .point03 .bottom_box::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 188vw;
    bottom: -10vw;
    right: 50%;
    transform: translateX(50%);
    background: url(/dh/images/dh/sec03_17_sp.webp) center/contain no-repeat;
    z-index: -1;
  }
  .sec03 .point03 .bottom_box .bottom_title::before {
    content: "";
    position: absolute;
    width: 60.8vw;
    height: 24vw;
    bottom: initial;
    top: -21vw;
    left: 19vw;
    background: url(/dh/images/dh/sec03_13.webp) center/contain no-repeat;
  }
  .sec03 .point03 .bottom_box .bottom_title {
    font-size: 5.6vw;
    font-weight: bold;
    font-family: serif;
    text-align: center;
    line-height: 1.5;
    margin-bottom: 5vw;
  }
  .sec03 .point03 .bottom_box .flexbox {
    -moz-column-gap: 0;
         column-gap: 0;
    align-items: center;
    flex-direction: column;
  }
  .sec03 .point03 .bottom_box .flexbox .imagebox {
    width: 100%;
    position: relative;
  }
  .sec03 .point03 .bottom_box .flexbox .imagebox::before {
    position: absolute;
    content: "";
    width: 40vw;
    height: 25vw;
    bottom: 4vw;
    right: 3vw;
    background: url(/dh/images/dh/sec03_15_sp.webp) center/contain no-repeat;
  }
  .sec03 .point03 .bottom_box .flexbox .imagebox::after {
    position: absolute;
    content: "";
    width: 37vw;
    height: 27vw;
    bottom: 4vw;
    right: 43vw;
    background: url(/dh/images/dh/sec03_16_sp.webp) center/contain no-repeat;
  }
  .sec03 .point04 {
    position: relative;
  }
  .sec03 .point04 .flexbox {
    margin-bottom: 10vw;
  }
  .sec03 .point04 .flexbox .number {
    color: #AA84B5;
  }
  .sec03 .point04 .flexbox .imagebox {
    margin-bottom: 75vw;
  }
  .sec03 .point04 .gridbox {
    grid-template-columns: repeat(2, 1fr);
    width: 95%;
    margin: 0 auto;
    position: absolute;
    top: 65vw;
    right: 2vw;
  }
  .sec03 .point04 .gridbox .box {
    width: 46vw;
    height: 46vw;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align: center;
  }
  .sec03 .point04 .gridbox .box .grid_title {
    color: #fff;
    font-size: 5.6vw;
    font-weight: bold;
    line-height: 1.3;
    position: relative;
  }
  .sec03 .point04 .gridbox .box .grid_title .small01 {
    font-weight: bold;
    font-size: 5vw;
  }
  .sec03 .point04 .gridbox .box .grid_title .small02 {
    font-weight: bold;
    font-size: 4.3vw;
  }
  .sec03 .point04 .gridbox .box .grid_title .small03 {
    font-weight: bold;
    font-size: 4.6vw;
  }
  .sec03 .point04 .gridbox .box .title01 {
    margin-bottom: 3vw;
  }
  .sec03 .point04 .gridbox .box .title01::before {
    position: absolute;
    content: "";
    width: 24vw;
    height: 12vw;
    top: -8vw;
    right: 50%;
    transform: translateX(52%);
    background: url(/dh/images/dh/kazari07.webp) center/contain no-repeat;
  }
  .sec03 .point04 .gridbox .box .title02 {
    margin-bottom: 3vw;
  }
  .sec03 .point04 .gridbox .box .title02::before {
    position: absolute;
    content: "";
    width: 12vw;
    height: 12vw;
    top: -1vw;
    left: -12vw;
    background: url(/dh/images/dh/kazari08.webp) center/contain no-repeat;
  }
  .sec03 .point04 .gridbox .box .title02::after {
    position: absolute;
    content: "";
    width: 9vw;
    height: 10vw;
    bottom: -18vw;
    right: -4vw;
    background: url(/dh/images/dh/kazari09.webp) center/contain no-repeat;
  }
  .sec03 .point04 .gridbox .box .title03 {
    margin-bottom: 3vw;
  }
  .sec03 .point04 .gridbox .box .title03::before {
    position: absolute;
    content: "";
    width: 10vw;
    height: 12vw;
    bottom: -3vw;
    right: -10vw;
    background: url(/dh/images/dh/kazari10.webp) center/contain no-repeat;
  }
  .sec03 .point04 .gridbox .box .title04 {
    margin-bottom: 1vw;
  }
  .sec03 .point04 .gridbox .box .title04::before {
    position: absolute;
    content: "";
    width: 13vw;
    height: 12vw;
    top: -3vw;
    right: -11vw;
    background: url(/dh/images/dh/kazari11.webp) center/contain no-repeat;
  }
  .sec03 .point04 .gridbox .box .grid_text {
    height: 13vw;
  }
  .sec03 .point04 .gridbox .box .text01 {
    color: #542B65;
    font-size: 4.6vw;
    font-weight: bold;
    line-height: 1.3;
  }
  .sec03 .point04 .gridbox .box .text02 {
    color: #6C2324;
    font-size: 4.6vw;
    font-weight: bold;
    line-height: 1.3;
  }
  .sec03 .point04 .gridbox .box_purple {
    background: url(/dh/images/dh/sec03_19.webp) center/contain no-repeat;
  }
  .sec03 .point04 .gridbox .box_pink {
    background: url(/dh/images/dh/sec03_20.webp) center/contain no-repeat;
  }
  .sec03 .point04 .flex_bottom {
    display: flex;
    -moz-column-gap: 0;
         column-gap: 0;
    margin-bottom: 10vw;
    flex-direction: column;
    padding: 0 3vw;
  }
  .sec03 .point04 .flex_bottom .box_title {
    font-size: 5.6vw;
    font-weight: bold;
    font-family: serif;
    margin-bottom: 3vw;
  }
  .sec03 .point04 .flex_bottom .imagebox {
    width: 100%;
    position: relative;
  }
  .sec03 .point04 .flex_bottom .imagebox::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 6vw;
    width: 30vw;
    height: 18vw;
    z-index: 1;
    background: url(/dh/images/dh/kazari12.webp) center/contain no-repeat;
  }
  .sec03 .point04 .flex_bottom .imagebox .float_circle {
    position: absolute;
    bottom: -2vw;
    left: -2vw;
    width: 50vw;
    height: 40vw;
    padding-bottom: 10vw;
    border-radius: 50vh;
    background-color: rgba(240, 240, 240, 0.8);
    color: #AA84B5;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    flex-direction: column;
    font-size: 4.3vw;
    font-weight: bold;
    line-height: 1.5;
  }
  .sec03 .point04 .flex_bottom .imagebox .float_circle .big {
    font-weight: bold;
    font-size: 6vw;
  }
  .sec03 .point04 .flex_bottom .textbox {
    width: 100%;
  }
  .sec03 .point04 .pc {
    display: none;
  }
  .sec03 .point04 .sp {
    display: block;
  }
  .sec03 .point04 .box_title {
    display: flex;
  }
  .sec03 .point04 .bottom_box {
    padding: 0 5vw;
  }
  .sec03 .point04 .bottom_box::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 184vw;
    bottom: -10vw;
    right: 50%;
    transform: translateX(50%);
    background: url(/dh/images/dh/sec03_23_sp.webp) center/contain no-repeat;
    z-index: -2;
  }
  .sec03 .point04 .bottom_box .bottom_title {
    font-size: 5.6vw;
    line-height: 1.5;
    margin-bottom: 30vw;
    font-family: serif;
    font-weight: bold;
  }
  .sec03 .point04 .bottom_box .flexbox {
    -moz-column-gap: 60px;
         column-gap: 60px;
    align-items: flex-start;
    margin-bottom: 0;
    flex-direction: column-reverse;
    padding: 0;
  }
  .sec03 .point04 .bottom_box .flexbox .imagebox {
    width: 100%;
    position: relative;
    margin-bottom: 5vw;
  }
  .sec03 .point04 .bottom_box .flexbox .imagebox::before {
    position: absolute;
    content: "";
    width: 40vw;
    height: 40vw;
    top: -26vw;
    left: -4vw;
    z-index: -1;
    background: url(/dh/images/dh/kazari13.webp) center/contain no-repeat;
  }
  .sec03 .point04 .bottom_box .flexbox .imagebox::after {
    position: absolute;
    content: "";
    width: 50vw;
    height: 50vw;
    top: -23vw;
    right: -3vw;
    z-index: -1;
    background: url(/dh/images/dh/kazari14_sp.webp) center/contain no-repeat;
  }
  .sec03 .point04 .bottom_box .flexbox .imagebox .bottom_check {
    margin-top: 3vw;
  }
  .sec03 .point04 .bottom_box .flexbox .imagebox .bottom_check .check_flex {
    display: flex;
    -moz-column-gap: 5vw;
         column-gap: 5vw;
    align-items: center;
  }
  .sec03 .point04 .bottom_box .flexbox .imagebox .bottom_check .check_flex .check {
    width: 7vw;
  }
  .sec03 .point04 .bottom_box .flexbox .imagebox .bottom_check .check_flex .check_text {
    font-size: 4.8vw;
    font-weight: bold;
    line-height: 1.3;
  }
  .sec03 .point04 .bottom_box .flexbox .imagebox .bottom_check .check_flex .check_text .small {
    font-size: 4vw;
    font-weight: bold;
  }
  .sec03 .point04 .bottom_box .flexbox .imagebox .bottom_check .check_flex:first-of-type {
    margin-bottom: 10px;
  }
  .sec03 .banner_box {
    margin: 30vw 3vw 10vw;
    position: relative;
  }
  .sec03 .banner_box .banner_bg {
    position: absolute;
    width: 93.3vw;
    height: 171.4vw;
    right: 50%;
    top: 0;
    transform: translateX(50%);
    background: url(/dh/images/dh/banner_grd.webp) center/contain no-repeat;
    z-index: -1;
  }
  .sec03 .banner_box .banner_title {
    width: 80%;
    margin: 0 auto 8vw;
    padding-top: 8vw;
  }
  .sec03 .banner_box .banner_img {
    padding: 0 5vw;
    position: relative;
    margin-bottom: 5vw;
  }
  .sec03 .banner_box .b_circle {
    font-size: 5.6vw;
    font-weight: bold;
    text-align: center;
    border-radius: 50vh;
    background-color: rgba(236, 205, 167, 0.9);
    width: 28vw;
    height: 28vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    line-height: 1.5;
    position: absolute;
  }
  .sec03 .banner_box .c01 {
    bottom: -2vw;
    left: 0;
  }
  .sec03 .banner_box .c02 {
    bottom: -2vw;
    right: 40vw;
  }
  .sec03 .banner_box .box_text {
    padding: 0 5vw;
    margin-bottom: 5vw;
  }
  .sec03 .banner_box .bottom_box {
    text-align: right;
  }
  .sec03 .banner_box .bottom_text {
    position: relative;
    font-family: serif;
    font-size: 5.6vw;
    font-weight: bold;
    padding-right: 12vw;
  }
  .sec03 .banner_box .bottom_text::before {
    content: "";
    position: absolute;
    width: 5vw;
    height: 5vw;
    right: 5vw;
    bottom: 50%;
    transform: translateY(50%);
    background: url(/dh/images/dh/polygon_6.webp) center/contain no-repeat;
  }
}

.sec04 {
  margin-bottom: 445px;
  padding-top: 100px;
  overflow: hidden;
  padding-bottom: 75px;
}
.sec04 .inner {
  position: relative;
}
.sec04 .inner::before {
  position: absolute;
  content: "";
  width: 1155px;
  height: 1447px;
  right: 0;
  top: 70px;
  z-index: -2;
  background-color: rgba(43, 77, 101, 0.03);
}
.sec04 .sec_header {
  margin-bottom: 50px;
}
.sec04 .sec_header .sec_title {
  font-size: 90px;
  color: rgba(43, 77, 101, 0.3);
  text-align: right;
  font-family: serif;
  font-weight: 500;
  position: relative;
}
.sec04 .sec_header .sec_title::before {
  position: absolute;
  content: "";
  width: 275px;
  height: 269px;
  right: -100px;
  bottom: -30px;
  overflow: hidden;
  z-index: -1;
  background: url(/dh/images/dh/kazari15.webp) center/contain no-repeat;
}
.sec04 .flexbox {
  margin-bottom: 50px;
  -moz-column-gap: 50px;
       column-gap: 50px;
}
.sec04 .flexbox .imagebox {
  width: 69%;
  position: relative;
}
.sec04 .flexbox .imagebox::before {
  position: absolute;
  content: "";
  width: 549px;
  height: 524px;
  left: -220px;
  bottom: -350px;
  z-index: -1;
  background: url(/dh/images/dh/kazari16.webp) center/contain no-repeat;
}
.sec04 .flexbox .textbox {
  width: 100%;
}
.sec04 .flexbox .textbox .box_title {
  font-weight: bold;
  font-size: 36px;
  font-family: serif;
  line-height: 1.8;
  margin-bottom: 45px;
}
.sec04 .flexbox .textbox .doctor_box {
  display: flex;
  justify-content: flex-end;
}
.sec04 .flexbox .textbox .doctor_box .doctor_name {
  font-size: 24px;
  font-family: serif;
  font-weight: bold;
  line-height: 1.5;
  text-align: left;
}
.sec04 .flexbox .textbox .doctor_box .doctor_name .small {
  font-weight: bold;
  font-size: 18px;
}
.sec04 .flexbox .textbox .doctor_box .doctor_name .big {
  font-weight: bold;
  font-size: 30px;
}
.sec04 .flexbox .textbox .doctor_box .doctor_name .bottom {
  font-family: initial;
}
.sec04 .middle_box {
  margin-bottom: 45px;
  font-size: 18px;
}
.sec04 .bottom_flex {
  display: flex;
  -moz-column-gap: 85px;
       column-gap: 85px;
}
.sec04 .bottom_flex .imagebox {
  width: 72%;
  position: relative;
}
.sec04 .bottom_flex .imagebox::before {
  position: absolute;
  content: "";
  width: 549px;
  height: 524px;
  right: -160px;
  bottom: -80px;
  z-index: -1;
  background: url(/dh/images/dh/kazari17.webp) center/contain no-repeat;
}
.sec04 .bottom_flex .textbox {
  width: 100%;
  font-size: 18px;
}
.sec04 .bottom_flex .textbox .bold {
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .sec04 {
    margin-bottom: 70.8vw;
    padding-top: 10vw;
    overflow: hidden;
    padding-bottom: 10vw;
  }
  .sec04 .inner {
    padding: 5vw;
    position: relative;
  }
  .sec04 .inner::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 616vw;
    right: 0;
    top: 19vw;
    z-index: -2;
    background-color: rgba(43, 77, 101, 0.03);
  }
  .sec04 .sec_header {
    margin-bottom: 0;
  }
  .sec04 .sec_header .sec_title {
    font-size: 10.5vw;
    color: rgba(43, 77, 101, 0.3);
    text-align: right;
    font-family: serif;
    font-weight: 500;
    position: relative;
  }
  .sec04 .sec_header .sec_title::before {
    position: absolute;
    content: "";
    width: 40vw;
    height: 40vw;
    right: -15vw;
    bottom: -7vw;
    overflow: hidden;
    z-index: -1;
    opacity: 0.8;
    background: url(/dh/images/dh/kazari15.webp) center/contain no-repeat;
  }
  .sec04 .box_title {
    font-weight: bold;
    font-size: 6.5vw;
    font-family: serif;
    line-height: 1.8;
    margin-bottom: 5vw;
  }
  .sec04 .flexbox {
    margin-bottom: 5vw;
    -moz-column-gap: 0;
         column-gap: 0;
    flex-direction: column;
  }
  .sec04 .flexbox .imagebox {
    width: 100%;
    position: relative;
  }
  .sec04 .flexbox .imagebox::before {
    position: absolute;
    content: "";
    width: 100vw;
    height: 100vw;
    left: 20vw;
    bottom: -70vw;
    opacity: 0.8;
    z-index: -1;
    background: url(/dh/images/dh/kazari16.webp) center/contain no-repeat;
  }
  .sec04 .flexbox .textbox {
    width: 100%;
  }
  .sec04 .flexbox .textbox .doctor_box {
    display: flex;
    justify-content: flex-start;
  }
  .sec04 .flexbox .textbox .doctor_box .doctor_name {
    font-size: 4.6vw;
    font-family: serif;
    font-weight: bold;
    line-height: 1.5;
    text-align: left;
  }
  .sec04 .flexbox .textbox .doctor_box .doctor_name .small {
    font-weight: bold;
    font-size: 4.6vw;
  }
  .sec04 .flexbox .textbox .doctor_box .doctor_name .big {
    font-weight: bold;
    font-size: 6.5vw;
  }
  .sec04 .middle_box {
    margin-bottom: 5vw;
    font-size: 4vw;
  }
  .sec04 .bottom_flex {
    display: flex;
    -moz-column-gap: 0;
         column-gap: 0;
    flex-direction: column-reverse;
  }
  .sec04 .bottom_flex .imagebox {
    width: 100%;
    position: relative;
  }
  .sec04 .bottom_flex .imagebox::before {
    display: none;
    position: absolute;
    content: "";
    width: 549px;
    height: 524px;
    right: -160px;
    bottom: -80px;
    z-index: -1;
    background: url(/dh/images/dh/kazari17.webp) center/contain no-repeat;
  }
  .sec04 .bottom_flex .textbox {
    width: 100%;
    font-size: 18px;
  }
  .sec04 .bottom_flex .textbox .bold {
    font-weight: bold;
  }
}

.sec05 {
  margin-bottom: 355px;
}
.sec05 .inner {
  padding: 0 45px;
}
.sec05 .sec_header {
  margin-bottom: 70px;
  position: relative;
}
.sec05 .sec_header::before {
  content: "";
  position: absolute;
  width: 295px;
  height: 210px;
  bottom: 190px;
  left: 410px;
  background: url(/dh/images/dh/sec05_1_2.webp) center/contain no-repeat;
}
.sec05 .sec_header .sec_title {
  font-size: 90px;
  font-weight: 500;
  color: rgba(43, 77, 101, 0.3);
  font-family: serif;
  line-height: 1;
  position: relative;
}
.sec05 .sec_header .sec_title::before {
  content: "";
  position: absolute;
  width: 369px;
  height: 264px;
  bottom: -80px;
  left: -45px;
  background: url(/dh/images/dh/sec05_2_2.webp) center/contain no-repeat;
}
.sec05 .sec_header .sec_title::after {
  content: "";
  position: absolute;
  width: 380px;
  height: 253px;
  bottom: 0px;
  right: -45px;
  background: url(/dh/images/dh/sec05_3_2.webp) center/contain no-repeat;
}
.sec05 .sec_header .sec_subtitle {
  font-size: 21px;
  font-weight: bold;
  text-align: center;
}
.sec05 .title_bottom {
  font-size: 40px;
  font-weight: bold;
  text-align: center;
  font-family: serif;
  color: #2B4D65;
  letter-spacing: 0.1em;
  margin-bottom: 80px;
  position: relative;
}
.sec05 .title_bottom::before {
  position: absolute;
  content: "";
  bottom: -40px;
  right: 50%;
  width: 719px;
  height: 29px;
  transform: translateX(50%);
  background: url(/dh/images/dh/sec05_bottom.webp) center/contain no-repeat;
}
.sec05 .voice_box {
  padding: 75px 60px 110px;
  position: relative;
  margin-bottom: 60px;
}
.sec05 .voice_box::before {
  content: "";
  position: absolute;
  width: 1350px;
  height: 80px;
  top: 0;
  right: 50%;
  transform: translateX(50%);
  background: url(/dh/images/dh/top_white.webp) center/contain no-repeat;
}
.sec05 .voice_box .top_flex {
  margin-bottom: 55px;
}
.sec05 .voice_box .top_flex .flexbox {
  -moz-column-gap: 80px;
       column-gap: 80px;
}
.sec05 .voice_box .top_flex .flexbox .textbox {
  width: 100%;
}
.sec05 .voice_box .top_flex .flexbox .textbox .box_title {
  font-size: 30px;
  font-weight: bold;
  font-family: serif;
  line-height: 1.8;
  margin-bottom: 45px;
}
.sec05 .voice_box .top_flex .flexbox .textbox .box_text {
  font-size: 21px;
  font-weight: bold;
  font-family: serif;
  text-align: right;
}
.sec05 .voice_box .top_flex .flexbox .imagebox {
  width: 62%;
}
.sec05 .voice_box .gridbox {
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 40px;
       column-gap: 40px;
  margin-bottom: 70px;
}
.sec05 .voice_box .gridbox .box .box_header {
  padding-bottom: 5px;
  margin-bottom: 15px;
  border-bottom: 4px dashed #D16270;
}
.sec05 .voice_box .gridbox .box .box_header .box_num {
  font-size: 21px;
  color: #D16270;
  line-height: 1.3;
}
.sec05 .voice_box .gridbox .box .box_header .box_num .num {
  font-size: 30px;
  font-family: serif;
  margin-right: 10px;
}
.sec05 .voice_box .gridbox .box .box_header .box_title {
  font-size: 22px;
  font-weight: bold;
  font-family: serif;
  color: #D16270;
}
.sec05 .voice_box .gridbox .box .box_text .line {
  font-weight: bold;
  border-bottom: 4px solid #D16270;
}
.sec05 .voice_box .bottom_flex {
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 40px;
       column-gap: 40px;
  margin-bottom: 70px;
}
.sec05 .voice_box .bottom_flex .flexbox {
  -moz-column-gap: 75px;
       column-gap: 75px;
}
.sec05 .voice_box .bottom_flex .flexbox .textbox {
  width: 100%;
}
.sec05 .voice_box .bottom_flex .flexbox .textbox .box_header {
  padding-bottom: 5px;
  margin-bottom: 15px;
  border-bottom: 4px dashed #D16270;
  position: relative;
}
.sec05 .voice_box .bottom_flex .flexbox .textbox .box_header::before {
  content: "";
  position: absolute;
  width: 140px;
  height: 63px;
  right: 0;
  bottom: 10px;
  background: url(/dh/images/dh/kazari18.webp) center/contain no-repeat;
}
.sec05 .voice_box .bottom_flex .flexbox .textbox .box_header .box_num {
  font-size: 21px;
  color: #D16270;
  line-height: 1.3;
}
.sec05 .voice_box .bottom_flex .flexbox .textbox .box_header .box_num .num {
  font-size: 30px;
  font-family: serif;
  margin-right: 10px;
}
.sec05 .voice_box .bottom_flex .flexbox .textbox .box_header .box_title {
  font-size: 22px;
  font-weight: bold;
  font-family: serif;
  color: #D16270;
}
.sec05 .voice_box .bottom_flex .flexbox .textbox .box_text .line {
  font-weight: bold;
  border-bottom: 4px solid #D16270;
}
.sec05 .voice_box .bottom_flex .flexbox .imagebox {
  width: 64%;
}
.sec05 .voice01 {
  background-color: rgba(245, 184, 181, 0.1);
}
.sec05 .voice02 {
  background-color: rgba(151, 204, 201, 0.13);
}
.sec05 .voice02 .gridbox .box .box_header {
  border-bottom: 4px dashed #3BB0B9;
}
.sec05 .voice02 .gridbox .box .box_header .box_num {
  color: #3BB0B9;
}
.sec05 .voice02 .gridbox .box .box_header .box_title {
  color: #3BB0B9;
}
.sec05 .voice02 .gridbox .box .box_text .line {
  border-bottom: 4px solid #3BB0B9;
}
.sec05 .voice02 .bottom_flex .flexbox .textbox .box_header {
  border-bottom: 4px dashed #3BB0B9;
}
.sec05 .voice02 .bottom_flex .flexbox .textbox .box_header::before {
  background: url(/dh/images/dh/kazari19.webp) center/contain no-repeat;
}
.sec05 .voice02 .bottom_flex .flexbox .textbox .box_header .box_num {
  color: #3BB0B9;
}
.sec05 .voice02 .bottom_flex .flexbox .textbox .box_header .box_title {
  color: #3BB0B9;
}
.sec05 .voice02 .bottom_flex .flexbox .textbox .box_text .line {
  border-bottom: 4px solid #3BB0B9;
}
.sec05 .voice03 {
  background-color: rgba(243, 157, 87, 0.1);
}
.sec05 .voice03 .gridbox .box .box_header {
  border-bottom: 4px dashed #D07221;
}
.sec05 .voice03 .gridbox .box .box_header .box_num {
  color: #D07221;
}
.sec05 .voice03 .gridbox .box .box_header .box_title {
  color: #D07221;
}
.sec05 .voice03 .gridbox .box .box_text .line {
  border-bottom: 4px solid #D07221;
}
.sec05 .voice03 .bottom_flex .flexbox .textbox .box_header {
  border-bottom: 4px dashed #D07221;
}
.sec05 .voice03 .bottom_flex .flexbox .textbox .box_header::before {
  background: url(/dh/images/dh/kazari20.webp) center/contain no-repeat;
}
.sec05 .voice03 .bottom_flex .flexbox .textbox .box_header .box_num {
  color: #D07221;
}
.sec05 .voice03 .bottom_flex .flexbox .textbox .box_header .box_title {
  color: #D07221;
}
.sec05 .voice03 .bottom_flex .flexbox .textbox .box_text .line {
  border-bottom: 4px solid #D07221;
}
@media screen and (max-width: 768px) {
  .sec05 {
    margin-bottom: 23.8vw;
  }
  .sec05 .inner {
    padding: 0;
  }
  .sec05 .sec_header {
    margin-bottom: 0;
    position: relative;
    padding: 5.5vw 0 2vw;
  }
  .sec05 .sec_header::before {
    content: "";
    position: absolute;
    width: 41.3vw;
    height: 30vw;
    bottom: 60vw;
    left: 30vw;
    background: url(/dh/images/dh/sec05_1.webp) center/contain no-repeat;
  }
  .sec05 .sec_header .sec_title {
    font-size: 10vw;
    font-weight: 500;
    color: rgba(43, 77, 101, 0.3);
    font-family: serif;
    line-height: 1;
    position: relative;
    z-index: -1;
  }
  .sec05 .sec_header .sec_title::before {
    content: "";
    position: absolute;
    width: 39vw;
    height: 26vw;
    bottom: 14vw;
    left: 0;
    background: url(/dh/images/dh/sec05_2.webp) center/contain no-repeat;
  }
  .sec05 .sec_header .sec_title::after {
    content: "";
    position: absolute;
    width: 67vw;
    height: 45vw;
    bottom: 14vw;
    right: 0;
    z-index: -2;
    background: url(/dh/images/dh/sec05_3.webp) center/contain no-repeat;
  }
  .sec05 .sec_header .sec_subtitle {
    font-size: 4vw;
    font-weight: bold;
    text-align: center;
  }
  .sec05 .title_bottom {
    font-size: 5.5vw;
    font-weight: bold;
    text-align: center;
    font-family: serif;
    color: #2B4D65;
    letter-spacing: 0.1em;
    margin-bottom: 20vw;
    position: relative;
  }
  .sec05 .title_bottom::before {
    position: absolute;
    content: "";
    bottom: -5vw;
    right: 50%;
    width: 90vw;
    height: 4vw;
    transform: translateX(50%);
    background: url(/dh/images/dh/sec05_bottom.webp) center/contain no-repeat;
  }
  .sec05 .voice_box {
    padding: 5vw 3vw;
    position: relative;
    margin-bottom: 10vw;
  }
  .sec05 .voice_box::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 6vw;
    top: -1vw;
    right: 50%;
    transform: translateX(50%);
    background: url(/dh/images/dh/top_white.webp) center/contain no-repeat;
  }
  .sec05 .voice_box .top_flex {
    margin-bottom: 5vw;
  }
  .sec05 .voice_box .top_flex .flexbox {
    flex-direction: column;
    -moz-column-gap: 0;
         column-gap: 0;
  }
  .sec05 .voice_box .top_flex .flexbox .textbox {
    width: 100%;
  }
  .sec05 .voice_box .top_flex .flexbox .textbox .box_title {
    font-size: 5.6vw;
    font-weight: bold;
    font-family: serif;
    line-height: 1.8;
    margin-bottom: 3vw;
  }
  .sec05 .voice_box .top_flex .flexbox .textbox .box_text {
    font-size: 4.8vw;
    font-weight: bold;
    font-family: serif;
    text-align: right;
    margin-bottom: 3vw;
  }
  .sec05 .voice_box .top_flex .flexbox .imagebox {
    width: 100%;
  }
  .sec05 .voice_box .gridbox {
    grid-template-columns: repeat(1, 1fr);
    -moz-column-gap: 0;
         column-gap: 0;
    margin-bottom: 0;
  }
  .sec05 .voice_box .gridbox .box {
    margin-bottom: 10vw;
  }
  .sec05 .voice_box .gridbox .box .box_header {
    padding-bottom: 3vw;
    margin-bottom: 5vw;
    border-bottom: 4px dashed #D16270;
    padding: 0 1vw 3vw;
  }
  .sec05 .voice_box .gridbox .box .box_header .box_num {
    font-size: 4.8vw;
    color: #D16270;
    line-height: 1.3;
  }
  .sec05 .voice_box .gridbox .box .box_header .box_num .num {
    font-size: 6.6vw;
    font-family: serif;
    margin-right: 3vw;
  }
  .sec05 .voice_box .gridbox .box .box_header .box_title {
    font-size: 4.8vw;
    line-height: 1.8;
    font-weight: bold;
    font-family: serif;
    color: #D16270;
    font-feature-settings: "palt";
  }
  .sec05 .voice_box .gridbox .box .box_text .line {
    font-weight: bold;
    border-bottom: 1vw solid #D16270;
  }
  .sec05 .voice_box .bottom_flex {
    grid-template-columns: repeat(1, 1fr);
    -moz-column-gap: 0;
         column-gap: 0;
    margin-bottom: 10vw;
  }
  .sec05 .voice_box .bottom_flex .flexbox {
    -moz-column-gap: 0;
         column-gap: 0;
    flex-direction: column;
  }
  .sec05 .voice_box .bottom_flex .flexbox .textbox {
    width: 100%;
  }
  .sec05 .voice_box .bottom_flex .flexbox .textbox .box_header {
    margin-bottom: 5vw;
    padding: 0 1vw 3vw;
    border-bottom: 1vw dashed #D16270;
    position: relative;
  }
  .sec05 .voice_box .bottom_flex .flexbox .textbox .box_header::before {
    content: "";
    position: absolute;
    width: 30vw;
    height: 14vw;
    right: 5vw;
    bottom: 10vw;
    background: url(/dh/images/dh/kazari18.webp) center/contain no-repeat;
  }
  .sec05 .voice_box .bottom_flex .flexbox .textbox .box_header .box_num {
    font-size: 4.8vw;
    color: #D16270;
    line-height: 1.3;
  }
  .sec05 .voice_box .bottom_flex .flexbox .textbox .box_header .box_num .num {
    font-size: 6.6vw;
    font-family: serif;
    margin-right: 3vw;
  }
  .sec05 .voice_box .bottom_flex .flexbox .textbox .box_header .box_title {
    font-size: 4.8vw;
    font-weight: bold;
    font-family: serif;
    color: #D16270;
  }
  .sec05 .voice_box .bottom_flex .flexbox .textbox .box_text .line {
    font-weight: bold;
    border-bottom: 4px solid #D16270;
  }
  .sec05 .voice_box .bottom_flex .flexbox .imagebox {
    width: 64%;
  }
  .sec05 .voice01 {
    background-color: rgba(245, 184, 181, 0.1);
  }
  .sec05 .voice02 {
    background-color: rgba(151, 204, 201, 0.13);
  }
  .sec05 .voice02 .gridbox .box .box_header {
    border-bottom: 1vw dashed #3BB0B9;
  }
  .sec05 .voice02 .gridbox .box .box_header .box_num {
    color: #3BB0B9;
  }
  .sec05 .voice02 .gridbox .box .box_header .box_title {
    color: #3BB0B9;
  }
  .sec05 .voice02 .gridbox .box .box_text .line {
    border-bottom: 1vw solid #3BB0B9;
  }
  .sec05 .voice02 .bottom_flex .flexbox .textbox .box_header {
    border-bottom: 1vw dashed #3BB0B9;
  }
  .sec05 .voice02 .bottom_flex .flexbox .textbox .box_header::before {
    background: url(/dh/images/dh/kazari19.webp) center/contain no-repeat;
  }
  .sec05 .voice02 .bottom_flex .flexbox .textbox .box_header .box_num {
    color: #3BB0B9;
  }
  .sec05 .voice02 .bottom_flex .flexbox .textbox .box_header .box_title {
    color: #3BB0B9;
  }
  .sec05 .voice02 .bottom_flex .flexbox .textbox .box_text .line {
    border-bottom: 1vw solid #3BB0B9;
  }
  .sec05 .voice03 {
    background-color: rgba(243, 157, 87, 0.1);
  }
  .sec05 .voice03 .gridbox .box .box_header {
    border-bottom: 4px dashed #D07221;
  }
  .sec05 .voice03 .gridbox .box .box_header .box_num {
    color: #D07221;
  }
  .sec05 .voice03 .gridbox .box .box_header .box_title {
    color: #D07221;
  }
  .sec05 .voice03 .gridbox .box .box_text .line {
    border-bottom: 4px solid #D07221;
  }
  .sec05 .voice03 .bottom_flex .flexbox .textbox .box_header {
    border-bottom: 4px dashed #D07221;
  }
  .sec05 .voice03 .bottom_flex .flexbox .textbox .box_header::before {
    background: url(/dh/images/dh/kazari20.webp) center/contain no-repeat;
  }
  .sec05 .voice03 .bottom_flex .flexbox .textbox .box_header .box_num {
    color: #D07221;
  }
  .sec05 .voice03 .bottom_flex .flexbox .textbox .box_header .box_title {
    color: #D07221;
  }
  .sec05 .voice03 .bottom_flex .flexbox .textbox .box_text .line {
    border-bottom: 4px solid #D07221;
  }
}

.sec06 {
  margin-bottom: 170px;
}
.sec06 .sec_header {
  text-align: center;
  margin-bottom: 100px;
  position: relative;
}
.sec06 .sec_header::before {
  position: absolute;
  content: "";
  width: 518px;
  height: 484px;
  bottom: 50%;
  transform: translateY(50%);
  left: -80px;
  z-index: -1;
  background: url(/dh/images/dh/sec06_1_2.webp) center/contain no-repeat;
}
.sec06 .sec_header::after {
  position: absolute;
  content: "";
  width: 518px;
  height: 480px;
  bottom: 50%;
  transform: translateY(50%);
  right: -80px;
  z-index: -1;
  background: url(/dh/images/dh/sec06_2_2.webp) center/contain no-repeat;
}
.sec06 .sec_header .sec_title {
  font-size: 38px;
  font-weight: bold;
  color: #2B4D65;
  font-family: serif;
  position: relative;
}
.sec06 .sec_header .sec_title::before {
  position: absolute;
  content: "";
  width: 91px;
  height: 78px;
  bottom: 100px;
  right: 50%;
  transform: translateX(50%);
  background: url(/dh/images/dh/kazari21.webp) center/contain no-repeat;
}
.sec06 .sec_header .sec_subtitle {
  font-size: 24px;
  font-weight: 500;
}
.sec06 .step_box {
  margin-bottom: 155px;
}
.sec06 .step_box .flexbox {
  align-items: flex-start;
}
.sec06 .step_box .flexbox .year {
  width: 100px;
  height: 97px;
  background-color: #E59798;
  color: #fff;
  font-size: 21px;
  font-weight: bold;
  border-radius: 50vh;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 25px;
  position: relative;
}
.sec06 .step_box .flexbox .year::before {
  content: "";
  position: absolute;
  border-left: 1px solid #849CB5;
  width: 1px;
  height: 305px;
  left: 50%;
  top: 80px;
  transform: translateX(50%);
  z-index: -1;
}
.sec06 .step_box .flexbox .year .big {
  font-size: 28px;
  font-weight: bold;
}
.sec06 .step_box .flexbox .year02 {
  background-color: #F39D57;
}
.sec06 .step_box .flexbox .green_bg {
  background-color: #7CC2C7;
  flex-direction: column;
  line-height: 1.3;
}
.sec06 .step_box .flexbox .orange_bg {
  background-color: #2B4D65;
  align-items: center;
}
.sec06 .step_box .flexbox .orange_bg::before {
  display: none;
}
.sec06 .step_box .flexbox .textbox {
  width: 620px;
  margin-right: 100px;
  padding-top: 25px;
}
.sec06 .step_box .flexbox .textbox .month {
  font-size: 24px;
  font-weight: bold;
  font-family: serif;
  margin-bottom: 40px;
}
.sec06 .step_box .flexbox .textbox .cont_flex {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 100px;
       column-gap: 100px;
}
.sec06 .step_box .flexbox .textbox .cont_flex .cont {
  font-weight: bold;
  font-size: 18px;
}
.sec06 .step_box .flexbox .textbox .cont {
  font-weight: bold;
  font-size: 18px;
}
.sec06 .step_box .flexbox .textbox .blue {
  color: #E59798;
  font-weight: bold;
}
.sec06 .step_box .flexbox .textbox .green {
  color: #3BB0B9;
}
.sec06 .step_box .flexbox .textbox .orange {
  color: #2B4D65;
}
.sec06 .step_box .flexbox:not(:last-of-type) {
  margin-bottom: 80px;
}
.sec06 .step_bottom .step_imagebox {
  position: relative;
}
.sec06 .step_bottom .step_imagebox .step_titleup {
  text-align: center;
}
.sec06 .step_bottom .step_imagebox .step_title {
  font-size: 46px;
  color: #fff;
  font-weight: bold;
  font-family: serif;
  text-align: center;
  line-height: 1.8;
  position: relative;
}
.sec06 .step_bottom .step_imagebox .step_title::before {
  content: "";
  position: absolute;
  left: 250px;
  bottom: 10px;
  width: 72px;
  height: 65px;
  background: url(/dh/images/dh/kazari22.webp) center/contain no-repeat;
}
.sec06 .step_bottom .step_imagebox .step_title::after {
  content: "";
  position: absolute;
  right: 250px;
  bottom: 10px;
  width: 72px;
  height: 65px;
  background: url(/dh/images/dh/kazari23.webp) center/contain no-repeat;
}
.sec06 .step_bottom .step_imagebox .imagebox {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1200px;
  z-index: -1;
}
.sec06 .step_bottom .bottom_flex {
  width: 1200px;
  height: 370px;
  background-color: #3BB0B9;
  margin: 70px auto;
}
.sec06 .step_bottom .bottom_flex .flexbox {
  align-items: flex-start;
  padding: 0 60px;
  margin-bottom: 20px;
}
.sec06 .step_bottom .bottom_flex .flexbox .gridbox {
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: 25px;
       column-gap: 25px;
  row-gap: 15px;
  padding-top: 80px;
}
.sec06 .step_bottom .bottom_flex .flexbox .gridbox .grid_text {
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  font-feature-settings: "palt";
  letter-spacing: 0.15em;
}
.sec06 .step_bottom .bottom_flex .flexbox .imagebox {
  position: relative;
  z-index: 2;
  padding-top: 30px;
}
.sec06 .step_bottom .bottom_flex .flexbox .imagebox .circle01 {
  position: absolute;
  width: 166px;
  height: 166px;
  border-radius: 50vh;
  background-color: #D7EFF1;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #2B4D65;
  font-weight: bold;
  top: -70px;
  left: -50px;
  z-index: -1;
  line-height: 1.5;
}
.sec06 .step_bottom .bottom_flex .flexbox .imagebox .circle02 {
  position: absolute;
  width: 166px;
  height: 166px;
  border-radius: 50vh;
  background-color: #D7EFF1;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #2B4D65;
  font-weight: bold;
  top: -100px;
  right: 0px;
  z-index: -1;
  line-height: 1.5;
}
.sec06 .step_bottom .bottom_flex .bottom_text {
  color: #fff;
  font-size: 21px;
  font-weight: 500;
  padding: 0 70px;
}
@media screen and (max-width: 768px) {
  .sec06 {
    margin-bottom: 13.8vw;
  }
  .sec06 .inner {
    padding: 0;
  }
  .sec06 .sec_header {
    text-align: center;
    margin-bottom: 10vw;
    position: relative;
  }
  .sec06 .sec_header::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 47vw;
    bottom: 8vw;
    transform: translateX(50%);
    left: -50%;
    z-index: -1;
    background: url(/dh/images/dh/sec06_1_sp.webp) center/contain no-repeat;
  }
  .sec06 .sec_header::after {
    position: absolute;
    content: "";
    display: none;
  }
  .sec06 .sec_header .sec_title {
    font-size: 6.6vw;
    font-weight: bold;
    color: #2B4D65;
    font-family: serif;
    position: relative;
    padding-top: 5vw;
  }
  .sec06 .sec_header .sec_title::before {
    position: absolute;
    content: "";
    width: 21vw;
    height: 18vw;
    bottom: 33vw;
    right: 50%;
    transform: translateX(50%);
    background: url(/dh/images/dh/kazari21.webp) center/contain no-repeat;
  }
  .sec06 .sec_header .sec_subtitle {
    font-size: 4vw;
    font-weight: 600;
  }
  .sec06 .step_box {
    margin-bottom: 30vw;
    padding: 0 3vw;
  }
  .sec06 .step_box .flexbox {
    align-items: flex-start;
    -moz-column-gap: 5vw;
         column-gap: 5vw;
  }
  .sec06 .step_box .flexbox .year {
    width: 18vw;
    height: 18vw;
    color: #fff;
    font-size: 4vw;
    font-weight: bold;
    border-radius: 50vh;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 0;
    position: relative;
  }
  .sec06 .step_box .flexbox .year::before {
    content: "";
    position: absolute;
    border-left: 1px solid #849CB5;
    width: 1px;
    height: 120vw;
    left: 50%;
    top: 15vw;
    transform: translateX(50%);
    z-index: -1;
  }
  .sec06 .step_box .flexbox .year .big {
    font-size: 5.5vw;
    font-weight: bold;
  }
  .sec06 .step_box .flexbox .year02::before {
    height: 87vw;
  }
  .sec06 .step_box .flexbox .green_bg {
    flex-direction: column;
    line-height: 1.3;
  }
  .sec06 .step_box .flexbox .green_bg::before {
    height: 68vw;
  }
  .sec06 .step_box .flexbox .orange_bg {
    align-items: center;
  }
  .sec06 .step_box .flexbox .orange_bg::before {
    display: none;
  }
  .sec06 .step_box .flexbox .textbox {
    width: 70%;
    margin-right: 0;
    padding-top: 3vw;
  }
  .sec06 .step_box .flexbox .textbox .month {
    font-size: 5.6vw;
    font-weight: bold;
    font-family: serif;
    margin-bottom: 5vw;
  }
  .sec06 .step_box .flexbox .textbox .cont_flex {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    -moz-column-gap: 0;
         column-gap: 0;
    row-gap: 1vw;
  }
  .sec06 .step_box .flexbox .textbox .cont_flex .cont {
    font-weight: bold;
    font-size: 4vw;
  }
  .sec06 .step_box .flexbox .textbox .cont {
    font-weight: bold;
    font-size: 4vw;
  }
  .sec06 .step_box .flexbox:not(:last-of-type) {
    margin-bottom: 5vw;
  }
  .sec06 .step_bottom .step_imagebox {
    position: relative;
  }
  .sec06 .step_bottom .step_imagebox .step_titleup {
    text-align: center;
    width: 90%;
    margin: 0 auto;
    position: relative;
    bottom: -7vw;
  }
  .sec06 .step_bottom .step_imagebox .step_title {
    font-size: 5.6vw;
    color: #fff;
    font-weight: bold;
    font-family: serif;
    text-align: center;
    line-height: 1.8;
    position: relative;
    bottom: -6vw;
  }
  .sec06 .step_bottom .step_imagebox .step_title::before {
    content: "";
    position: absolute;
    left: 3vw;
    bottom: -2vw;
    width: 11vw;
    height: 10vw;
    background: url(/dh/images/dh/kazari22.webp) center/contain no-repeat;
  }
  .sec06 .step_bottom .step_imagebox .step_title::after {
    content: "";
    position: absolute;
    right: 3vw;
    bottom: -2vw;
    width: 11vw;
    height: 10vw;
    background: url(/dh/images/dh/kazari23.webp) center/contain no-repeat;
  }
  .sec06 .step_bottom .step_imagebox .imagebox {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    margin-bottom: 0;
    z-index: -1;
  }
  .sec06 .step_bottom .bottom_flex {
    width: 100%;
    height: 156vw;
    background-color: #3BB0B9;
    margin: 11vw auto;
  }
  .sec06 .step_bottom .bottom_flex .flexbox {
    align-items: flex-start;
    padding: 0 5vw;
    margin-bottom: 0;
    flex-direction: column;
  }
  .sec06 .step_bottom .bottom_flex .flexbox .gridbox {
    grid-template-columns: repeat(1, 1fr);
    -moz-column-gap: 0;
         column-gap: 0;
    row-gap: 3vw;
    padding-top: 5vw;
    padding-left: 5vw;
  }
  .sec06 .step_bottom .bottom_flex .flexbox .gridbox .grid_text {
    color: #fff;
    font-size: 4vw;
    font-weight: bold;
    font-feature-settings: "palt";
    letter-spacing: 0.15em;
  }
  .sec06 .step_bottom .bottom_flex .flexbox .imagebox {
    position: relative;
    z-index: 2;
    width: 38.4vw;
    padding-top: 25vw;
    margin: 0 0 0 auto;
  }
  .sec06 .step_bottom .bottom_flex .flexbox .imagebox .circle01 {
    position: absolute;
    width: 35vw;
    height: 35vw;
    border-radius: 50vh;
    background-color: #D7EFF1;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #2B4D65;
    font-weight: bold;
    top: 2vw;
    left: -55vw;
    z-index: -1;
    line-height: 1.5;
  }
  .sec06 .step_bottom .bottom_flex .flexbox .imagebox .circle02 {
    position: absolute;
    width: 35vw;
    height: 35vw;
    border-radius: 50vh;
    background-color: #D7EFF1;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #2B4D65;
    font-weight: bold;
    top: 3vw;
    right: 26vw;
    z-index: -1;
    line-height: 1.5;
  }
  .sec06 .step_bottom .bottom_flex .bottom_text {
    color: #fff;
    font-size: 4vw;
    font-weight: 500;
    padding: 0 3vw;
  }
}

.sec07 {
  margin-bottom: 90px;
}
.sec07 .inner {
  padding: 0;
}
.sec07 .sec_header {
  padding-left: 30px;
}
.sec07 .sec_header .sec_title {
  font-size: 90px;
  color: rgba(43, 77, 101, 0.3);
  font-family: serif;
  text-align: left;
  font-weight: 500;
}
.sec07 .flexbox {
  padding-left: 145px;
  justify-content: flex-start;
  position: relative;
  margin-bottom: 120px;
}
.sec07 .flexbox .textbox {
  padding-top: 150px;
  width: 55%;
  position: relative;
}
.sec07 .flexbox .textbox::before {
  position: absolute;
  content: "";
  width: 765px;
  height: 242px;
  top: -20px;
  right: 50%;
  transform: translateX(80%);
  background: url(/dh/images/dh/sec07_2.webp) center/contain no-repeat;
}
.sec07 .flexbox .textbox::after {
  position: absolute;
  content: "";
  width: 472px;
  height: 530px;
  top: 0px;
  left: -210px;
  z-index: -1;
  background: url(/dh/images/dh/sec07_3.webp) center/contain no-repeat;
}
.sec07 .flexbox .textbox .box_title {
  margin-bottom: 50px;
}
.sec07 .flexbox .textbox .box_text {
  font-size: 18px;
}
.sec07 .flexbox .imagebox {
  position: absolute;
  right: 0;
  bottom: 50%;
  transform: translateY(60%);
  z-index: -1;
}
.sec07 .yellow_box {
  background-color: rgba(240, 216, 135, 0.43);
  width: 1100px;
  height: 371px;
  border-radius: 20px;
  margin: 50px auto;
  position: relative;
}
.sec07 .yellow_box .gridbox2 {
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: 50px;
       column-gap: 50px;
  display: grid;
  width: 875px;
  position: absolute;
  top: -80px;
  right: 50%;
  transform: translateX(50%);
}
.sec07 .yellow_box .yellow_title {
  font-size: 28px;
  text-align: center;
  font-family: serif;
  font-weight: bold;
  padding-top: 45px;
  position: relative;
  margin-bottom: 65px;
}
.sec07 .yellow_box .yellow_title::before {
  content: "";
  position: absolute;
  width: 109px;
  height: 3px;
  bottom: -10px;
  right: 50%;
  transform: translateX(50%);
  background: url(/dh/images/dh/line.webp) center/contain no-repeat;
}
.sec07 .yellow_box .gridbox {
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 80px;
       column-gap: 80px;
  padding: 0 40px;
}
.sec07 .yellow_box .gridbox .box {
  position: relative;
}
.sec07 .yellow_box .gridbox .box .flexbox {
  padding: 0;
  -moz-column-gap: 10px;
       column-gap: 10px;
  margin-bottom: 20px;
}
.sec07 .yellow_box .gridbox .box .flexbox .step {
  background-color: #2B4D65;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  padding: 0 10px;
}
.sec07 .yellow_box .gridbox .box .flexbox .box_title {
  font-size: 21px;
  font-weight: bold;
}
.sec07 .yellow_box .gridbox .yajirushi::before {
  position: absolute;
  content: "";
  right: -50px;
  bottom: 50%;
  transform: translateY(80%);
  width: 38px;
  height: 30px;
  background: url(/dh/images/dh/sec07_yajirushi.webp) center/contain no-repeat;
}
@media screen and (max-width: 768px) {
  .sec07 {
    margin-bottom: 13.8vw;
  }
  .sec07 .inner {
    padding: 0;
  }
  .sec07 .sec_header {
    padding-left: 0;
  }
  .sec07 .sec_header .sec_title {
    font-size: 11vw;
    color: rgba(43, 77, 101, 0.3);
    font-family: serif;
    text-align: center;
    font-weight: 500;
  }
  .sec07 .flexbox {
    padding-left: 0;
    justify-content: flex-start;
    position: relative;
    margin-bottom: 120px;
    display: block;
    padding: 0 5vw;
  }
  .sec07 .flexbox .textbox {
    padding-top: 30vw;
    width: 100%;
    position: relative;
  }
  .sec07 .flexbox .textbox::before {
    position: absolute;
    content: "";
    width: 99.6vw;
    height: 49.2vw;
    top: -15vw;
    right: 50%;
    transform: translateX(50%);
    background: url(/dh/images/dh/sec07_2_sp.webp) center/contain no-repeat;
  }
  .sec07 .flexbox .textbox::after {
    position: absolute;
    content: "";
    width: 82.2vw;
    height: 101vw;
    top: 3vw;
    left: -7vw;
    z-index: -1;
    background: url(/dh/images/dh/sec07_3_sp.webp) center/contain no-repeat;
  }
  .sec07 .flexbox .textbox .box_title {
    margin-bottom: 7vw;
  }
  .sec07 .flexbox .textbox .box_text {
    font-size: 4vw;
  }
  .sec07 .flexbox .imagebox {
    position: absolute;
    right: 50%;
    bottom: -50vw;
    transform: translateX(50%);
    z-index: -1;
  }
  .sec07 .yellow_box {
    background-color: rgba(240, 216, 135, 0.43);
    width: 90%;
    height: 183vw;
    border-radius: 20px;
    margin: 50px auto;
    position: relative;
  }
  .sec07 .yellow_box .gridbox2 {
    display: none;
  }
  .sec07 .yellow_box .yellow_title {
    font-size: 5.6vw;
    text-align: center;
    font-family: serif;
    font-weight: bold;
    padding-top: 40vw;
    position: relative;
    margin-bottom: 12vw;
  }
  .sec07 .yellow_box .yellow_title::before {
    content: "";
    position: absolute;
    width: 109px;
    height: 3px;
    bottom: -10px;
    right: 50%;
    transform: translateX(50%);
    background: url(/dh/images/dh/line.webp) center/contain no-repeat;
  }
  .sec07 .yellow_box .yellow_title::after {
    content: "";
    position: absolute;
    width: 94.4vw;
    height: 45vw;
    bottom: 20vw;
    right: 50%;
    transform: translateX(50%);
    background: url(/dh/images/dh/yellow_sp.webp) center/contain no-repeat;
  }
  .sec07 .yellow_box .gridbox {
    grid-template-columns: repeat(1, 1fr);
    -moz-column-gap: 0;
         column-gap: 0;
    padding: 0 5vw;
  }
  .sec07 .yellow_box .gridbox .box {
    position: relative;
    margin-bottom: 10vw;
  }
  .sec07 .yellow_box .gridbox .box .flexbox {
    padding: 0;
    -moz-column-gap: 10px;
         column-gap: 10px;
    margin-bottom: 3vw;
    display: flex;
  }
  .sec07 .yellow_box .gridbox .box .flexbox .step {
    background-color: #2B4D65;
    color: #fff;
    font-size: 4vw;
    font-weight: bold;
    padding: 0 2vw;
  }
  .sec07 .yellow_box .gridbox .box .flexbox .box_title {
    font-size: 4.8vw;
    font-weight: bold;
  }
  .sec07 .yellow_box .gridbox .yajirushi::before {
    position: absolute;
    content: "";
    display: none;
  }
}

.sec08 {
  background-color: #F9EEED;
}
.sec08 .inner {
  padding: 0 117px 260px;
}
.sec08 .sec_header {
  padding: 150px 0 85px;
}
.sec08 .sec_header .sec_title {
  font-size: 40px;
  font-weight: bold;
  font-family: serif;
  color: #2B4D65;
}
.sec08 .recruit_box {
  background-color: #fff;
}
.sec08 .recruit_box .flexbox {
  justify-content: flex-start;
  border-bottom: 1px solid #849CB5;
  padding: 40px 0;
}
.sec08 .recruit_box .flexbox .left_box {
  width: 300px;
  text-align: center;
  font-size: 21px;
  color: #2B4D65;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.sec08 .recruit_box .flexbox .right_box {
  letter-spacing: 0.1em;
  color: #2B4D65;
  font-size: 18px;
  font-weight: 500;
}
.sec08 .recruit_box .flexbox:last-of-type {
  border-bottom: none;
}
@media screen and (max-width: 768px) {
  .sec08 .inner {
    padding: 0 5vw 10vw;
  }
  .sec08 .sec_header {
    padding: 13vw 0 0;
  }
  .sec08 .sec_header .sec_title {
    font-size: 6.8vw;
    font-weight: bold;
    font-family: serif;
    color: #2B4D65;
  }
  .sec08 .recruit_box {
    background-color: #fff;
  }
  .sec08 .recruit_box .flexbox {
    justify-content: flex-start;
    flex-direction: column;
    border-bottom: 0px solid #849CB5;
    padding: 0;
  }
  .sec08 .recruit_box .flexbox .left_box {
    width: 100%;
    background-color: #E2E0E0;
    text-align: center;
    font-size: 4.8vw;
    color: #2B4D65;
    font-weight: 500;
    padding: 2vw 0;
    letter-spacing: 0.1em;
  }
  .sec08 .recruit_box .flexbox .right_box {
    width: 95%;
    letter-spacing: 0.1em;
    color: #2B4D65;
    font-size: 4vw;
    font-weight: 500;
    text-align: left;
    padding: 10vw 2vw;
    line-height: 1.8;
  }
  .sec08 .recruit_box .flexbox:last-of-type {
    border-bottom: none;
  }
}

.sec09 {
  background-color: #F9EEED;
  margin-bottom: 180px;
}
.sec09 .inner {
  padding: 0 215px 260px;
}
.sec09 .sec_header {
  padding: 0 0 85px;
  position: relative;
}
.sec09 .sec_header::before {
  content: "";
  position: absolute;
  width: 242px;
  height: 117px;
  left: 50px;
  top: 30px;
  background: url(/dh/images/dh/sec09_1.webp) center/contain no-repeat;
}
.sec09 .sec_header::after {
  content: "";
  position: absolute;
  width: 228px;
  height: 131px;
  right: 60px;
  top: -30px;
  background: url(/dh/images/dh/sec09_2.webp) center/contain no-repeat;
}
.sec09 .sec_header .sec_title {
  font-size: 70px;
  font-weight: bold;
  font-family: serif;
  color: #F5B8B5;
  line-height: 1.3;
}
.sec09 .sec_header .sec_subtitle {
  text-align: center;
  font-weight: bold;
  font-size: 30px;
  font-family: serif;
  line-height: 1.3;
}
.sec09 .form_wrap .table .row {
  border-bottom: 3px dashed #F5B8B5;
}
.sec09 .form_wrap .table .row .t_title {
  width: 280px;
  font-size: 24px;
  color: #2B4D65;
  padding: 40px 0 40px 35px;
  text-align: left;
  vertical-align: middle;
}
.sec09 .form_wrap .table .row .t_data {
  width: 70%;
  vertical-align: middle;
  padding: 40px 0 40px 50px;
}
.sec09 .form_wrap .table .row .radiolist {
  display: flex;
  -moz-column-gap: 40px;
       column-gap: 40px;
  font-size: 21px;
  color: #2B4D65;
  font-weight: 500;
}
.sec09 .form_wrap .table .row .radioitem {
  line-height: 1;
}
.sec09 .form_wrap .table .row input {
  width: 26px;
  height: 26px;
  accent-color: #2B4D65;
  vertical-align: top;
  margin: 0 10px 0 0;
}
.sec09 .form_wrap .table .radio {
  background-color: #2B4D65;
}
.sec09 .form_wrap .table .t_data input.i_text {
  width: 575px;
  height: 46px;
  padding: 10px 20px 10px 5px;
  box-sizing: border-box;
  font-size: 18px;
}
.sec09 .form_wrap .table .t_data textarea {
  height: 232px;
  width: 575px;
  padding: 10px 20px 10px 5px;
  box-sizing: border-box;
  font-size: 18px;
}
.sec09 .form_wrap .agree_btn {
  margin-top: 35px;
  text-align: center;
  font-size: 18px;
  margin-bottom: 10px;
}
.sec09 .form_wrap .g-center {
  text-align: center;
  margin: 0 auto;
}
.sec09 .form_wrap .g-recaptcha {
  margin: 0 auto 30px;
  display: table;
}
.sec09 .form_wrap .warning {
  text-align: center;
  font-size: 18px;
  margin-bottom: 90px;
}
.sec09 .form_wrap .submit_text {
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  color: #D16270;
  font-family: serif;
  margin-bottom: 20px;
  position: relative;
}
.sec09 .form_wrap .submit_text::before {
  content: "";
  position: absolute;
  width: 53px;
  height: 45px;
  left: 230px;
  bottom: 0;
  background: url(/dh/images/dh/kazari22.webp) center/contain no-repeat;
}
.sec09 .form_wrap .submit_text::after {
  content: "";
  position: absolute;
  width: 53px;
  height: 45px;
  right: 230px;
  bottom: 0;
  background: url(/dh/images/dh/kazari23.webp) center/contain no-repeat;
}
.sec09 .form_wrap .submit_btn {
  background-color: #E59798;
  width: 367px;
  height: 63px;
  text-align: center;
  margin: 0 auto 50px;
  border-radius: 20px;
}
.sec09 .form_wrap .submit_btn input {
  width: 100%;
  height: 100%;
  color: #fff;
  font-size: 21px;
  letter-spacing: 0.1em;
  font-weight: bold;
}
.sec09 .form_wrap .privacy {
  padding: 50px 0 0;
  width: 57%;
  margin: 0 auto;
  text-align: left;
}
.sec09 .form_wrap .privacy .p_title {
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .sec09 {
    margin-bottom: 13.8vw;
  }
  .sec09 .inner {
    padding: 10vw 5vw;
  }
  .sec09 .sec_header {
    padding: 20vw 0 5vw;
    position: relative;
    margin-bottom: 0;
  }
  .sec09 .sec_header::before {
    content: "";
    position: absolute;
    width: 37.2vw;
    height: 16.4vw;
    left: -4vw;
    top: 5vw;
    pointer-events: none;
    background: url(/dh/images/dh/sec09_1_sp.webp) center/contain no-repeat;
  }
  .sec09 .sec_header::after {
    content: "";
    position: absolute;
    width: 35.7vw;
    height: 18.4vw;
    right: 0;
    top: -1vw;
    pointer-events: none;
    background: url(/dh/images/dh/sec09_2_sp.webp) center/contain no-repeat;
  }
  .sec09 .sec_header .sec_title {
    font-size: 11vw;
    font-weight: bold;
    font-family: serif;
    color: #F5B8B5;
    line-height: 1.3;
  }
  .sec09 .sec_header .sec_subtitle {
    text-align: center;
    font-weight: bold;
    font-size: 6.6vw;
    font-family: serif;
    line-height: 1.3;
  }
  .sec09 .form_wrap .table {
    width: 100%;
  }
  .sec09 .form_wrap .table .row {
    border-bottom: 3px dashed #F5B8B5;
    display: flex;
    padding: 0 3vw;
    flex-direction: column;
  }
  .sec09 .form_wrap .table .row .t_title {
    width: 100%;
    font-size: 4.8vw;
    font-weight: bold;
    color: #2B4D65;
    padding: 5vw 0;
    text-align: center;
    vertical-align: middle;
  }
  .sec09 .form_wrap .table .row .t_data {
    width: 100%;
    vertical-align: middle;
    padding: 3vw 0 8vw;
  }
  .sec09 .form_wrap .table .row .radiolist {
    display: flex;
    flex-direction: column;
    -moz-column-gap: 0;
         column-gap: 0;
    row-gap: 3vw;
    font-size: 4.8vw;
    color: #2B4D65;
    font-weight: 500;
  }
  .sec09 .form_wrap .table .row .radioitem {
    line-height: 1;
    display: flex;
    align-items: center;
    -moz-column-gap: 3vw;
         column-gap: 3vw;
  }
  .sec09 .form_wrap .table .row input {
    width: 5vw;
    height: 5vw;
    accent-color: #2B4D65;
    vertical-align: top;
    margin: 0;
  }
  .sec09 .form_wrap .table .radio {
    background-color: #2B4D65;
  }
  .sec09 .form_wrap .table .t_data input.i_text {
    width: 100%;
    height: initial;
    padding: 3vw 2vw;
    box-sizing: border-box;
    font-size: 4.8vw;
  }
  .sec09 .form_wrap .table .t_data textarea {
    height: 40vw;
    width: 100%;
    padding: 3vw 2vw;
    box-sizing: border-box;
    font-size: 4.8vw;
    -webkit-overflow-scrolling: touch;
  }
  .sec09 .form_wrap .agree_btn {
    margin-top: 35px;
    text-align: center;
    line-height: 1.5;
    font-size: 4.8vw;
    margin-bottom: 10px;
  }
  .sec09 .form_wrap .g-center {
    text-align: center;
    margin: 0 auto;
  }
  .sec09 .form_wrap .g-recaptcha {
    margin: 5vw auto 5vw;
    display: table;
  }
  .sec09 .form_wrap .warning {
    text-align: center;
    font-size: 4.8vw;
    margin-bottom: 10vw;
    line-height: 1.5;
  }
  .sec09 .form_wrap .submit_text {
    text-align: center;
    font-size: 5.6vw;
    font-weight: bold;
    color: #D16270;
    font-family: serif;
    margin-bottom: 10vw;
    position: relative;
    line-height: 1.5;
  }
  .sec09 .form_wrap .submit_text::before {
    content: "";
    position: absolute;
    width: 14vw;
    height: 13vw;
    left: 3vw;
    bottom: 0;
    background: url(/dh/images/dh/kazari22.webp) center/contain no-repeat;
  }
  .sec09 .form_wrap .submit_text::after {
    content: "";
    position: absolute;
    width: 14vw;
    height: 13vw;
    right: 3vw;
    bottom: 0;
    background: url(/dh/images/dh/kazari23.webp) center/contain no-repeat;
  }
  .sec09 .form_wrap .submit_btn {
    background-color: #E59798;
    width: 90%;
    height: 83px;
    text-align: center;
    margin: 0 auto 50px;
    border-radius: 20px;
  }
  .sec09 .form_wrap .submit_btn input {
    width: 100%;
    height: 100%;
    color: #fff;
    font-size: 21px;
    letter-spacing: 0.1em;
    font-weight: bold;
  }
  .sec09 .form_wrap .privacy {
    padding: 5vw 2vw 0;
    text-align: left;
    width: 93%;
  }
  .sec09 .form_wrap .privacy .p_title {
    margin-bottom: 10px;
  }
}

.sec10 .open_box {
  text-align: center;
}
.sec10 .open_box .open_text {
  color: #2B4D65;
  font-weight: bold;
  font-size: 34px;
  margin-bottom: 20px;
  position: relative;
  letter-spacing: 0.1em;
}
.sec10 .open_box .open_text span {
  font-size: 24px;
  font-weight: bold;
}
.sec10 .open_box .open_text .line-yellow {
  position: absolute;
  bottom: -72px;
  right: 10px;
  width: 20%;
  height: 3px;
  transform: rotate(-54deg);
  transform-origin: left center;
  background-image: repeating-linear-gradient(to right, #DCC57C 0px, #DCC57C 10px, transparent 10px, transparent 22px);
}
.sec10 .open_box .open_text .line-teal {
  position: absolute;
  bottom: -85px;
  right: 110px;
  width: 10%;
  height: 3px;
  transform: rotate(-30deg);
  transform-origin: left center;
  background-image: repeating-linear-gradient(to right, #97CCD0 0px, #97CCD0 7px, transparent 7px, transparent 16px);
}
.sec10 .open_box .open_text .line-yellow2 {
  position: absolute;
  bottom: -72px;
  left: 10px;
  width: 20%;
  height: 3px;
  transform: rotate(54deg);
  transform-origin: right center;
  background-image: repeating-linear-gradient(to right, #DCC57C 0px, #DCC57C 10px, transparent 10px, transparent 22px);
}
.sec10 .open_box .open_text .line-teal2 {
  position: absolute;
  bottom: -85px;
  left: 110px;
  width: 10%;
  height: 3px;
  transform: rotate(30deg);
  transform-origin: right center;
  background-image: repeating-linear-gradient(to right, #97CCD0 0px, #97CCD0 7px, transparent 7px, transparent 16px);
}
@media (max-width: 768px) {
  .sec10 {
    margin-bottom: 13.8vw;
  }
  .sec10 .open_box .open_text {
    font-size: 5.33vw;
    margin-bottom: 5.33vw;
    letter-spacing: 0.1em;
  }
  .sec10 .open_box .open_text span {
    font-size: 3.73vw;
  }
  .sec10 .open_box .open_text .line-yellow {
    bottom: 0;
    right: -8vw;
    width: 29%;
    height: 0.53vw;
  }
  .sec10 .open_box .open_text .line-teal {
    bottom: -4vw;
    right: 4vw;
    width: 15%;
    height: 0.53vw;
  }
  .sec10 .open_box .open_text .line-yellow2 {
    bottom: 0;
    left: -8vw;
    width: 29%;
    height: 0.53vw;
  }
  .sec10 .open_box .open_text .line-teal2 {
    bottom: -4vw;
    left: 4vw;
    width: 15%;
    height: 0.53vw;
  }
}

.slideshow-wrapper {
  width: 100%;
  overflow: hidden;
  padding: 40px 0;
  margin-bottom: 150px;
}

.slideshow-track {
  display: flex;
  align-items: center;
  gap: 24px;
  will-change: transform;
}

.slide {
  flex-shrink: 0;
  width: 340px;
  height: 227px;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.15), 0 2px 6px rgba(0, 0, 0, 0.08);
  transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}
.slide:nth-child(odd) {
  transform: translateY(-20px);
}
.slide:nth-child(even) {
  transform: translateY(20px);
}
.slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}/*# sourceMappingURL=dh02.css.map */