@charset "UTF-8";
html, body {
  font-size: 0.52vw;
  line-height: 1.4;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
}

@media only screen and (max-width: 780px) {
  html, body {
    font-size: 1.3vw;
  }
}
body {
  margin: 0;
}

* {
  color: #333333;
  box-sizing: border-box;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  margin: 0;
}

pre {
  margin: 0;
}

ul, ol {
  padding-left: 0;
  margin: 0;
}

li {
  list-style: none;
}

a {
  display: block;
  color: #333333;
  text-decoration: none;
}

figure {
  margin: 0;
}

img {
  width: 100%;
  display: block;
  vertical-align: bottom;
}

p, dl, dd {
  margin: 0;
}

button {
  border: none;
  box-shadow: none;
  font-family: ryo-display-plusn, serif;
}

button:hover {
  cursor: pointer;
}

input:active, input:focus, input:hover,
textarea:active, textarea:focus, textarea:hover,
select:active, select:focus, select:hover,
button:active, button:focus, button:hover {
  outline: none;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

::-ms-expand {
  display: none;
}

i {
  font-style: normal;
}

.pc {
  display: block;
}
@media only screen and (max-width: 780px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media only screen and (max-width: 780px) {
  .sp {
    display: block;
  }
}

.blank {
  width: 100%;
  display: block;
}
@media only screen and (max-width: 780px) {
  .blank {
    display: none;
  }
}

.spblank {
  display: none;
}
@media only screen and (max-width: 780px) {
  .spblank {
    width: 100%;
    display: block;
  }
}

footer .footer_cta ul .btn_mail, footer .footer_cta ul .btn_line, footer .footer_cta ul .btn_tel, header .header_cta ul .btn_mail, header .header_cta ul .btn_line, header .header_cta ul .btn_tel {
  min-width: 30rem;
  height: 8rem;
  border-radius: 0.6rem;
  font-size: 2.2rem;
  padding: 0 2rem 0 8rem;
}

.btn_mail, .btn_line {
  display: flex;
  align-items: center;
}

.btn_mail, .btn_line, .btn_tel {
  min-width: 40rem;
  height: 14rem;
  background-size: contain;
  background-repeat: no-repeat;
  border-radius: 0.6rem;
  color: #FFFFFF;
  font-size: 3rem;
  padding: 0 2rem 0 14rem;
}
@media only screen and (max-width: 780px) {
  .btn_mail, .btn_line, .btn_tel {
    min-width: 0;
    height: 12.4rem;
    font-size: 2.6rem;
  }
}

.btn_tel span {
  display: block;
  font-size: 1.6rem;
  text-align: right;
}
.btn_tel b {
  font-family: "Roboto Condensed", sans-serif;
}
.btn_line {
  background-color: #06c055;
  background-image: url(../images/icon/line.svg);
}
.btn_mail {
  background-color: #00329b;
  background-image: url(../images/icon/mail.svg);
}

header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 3.1%;
}
header h1 {
  font-family: "Zen Antique", serif;
  font-size: 3.2rem;
}
@media only screen and (max-width: 780px) {
  header h1 {
    width: 100%;
    text-align: center;
    padding: 2rem 0;
  }
}
header .header_cta {
  padding: 3rem 0 2rem;
}
@media only screen and (max-width: 780px) {
  header .header_cta {
    display: none;
  }
}
header .header_cta p {
  font-size: 2.2rem;
  text-align: right;
  margin: 0 0 1rem;
}
header .header_cta ul {
  display: flex;
  align-items: center;
  gap: 2rem;
}
header .header_cta ul .btn_tel {
  width: 40.4rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: #e61c24;
  background-image: url(../images/icon/free.svg);
  background-size: 5rem auto;
  background-position: bottom 1.5rem left 4rem;
  background-repeat: no-repeat;
  padding: 0.2rem 5rem 0 10.8rem;
}
header .header_cta ul .btn_tel span {
  display: block;
  color: #FFFFFF;
  font-size: 1.6rem;
  text-align: right;
}
header .header_cta ul .btn_tel b {
  color: #FFFFFF;
  font-size: 4.2rem;
  margin: -0.6rem 0 -0.6rem;
}
.cta {
  background-color: rgba(237, 227, 188, 0.2);
  padding: 7rem 6.25% 5rem;
}
@media only screen and (max-width: 780px) {
  .cta {
    padding: 4rem 4%;
  }
}
.cta ul {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 780px) {
  .cta ul {
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 780px) {
  .cta ul li:nth-of-type(1) {
    width: 100%;
  }
}
@media only screen and (max-width: 780px) {
  .cta ul li:nth-of-type(2), .cta ul li:nth-of-type(3) {
    width: calc(50% - 0.5rem);
  }
}
@media only screen and (max-width: 780px) {
  .cta ul li:nth-of-type(2) a, .cta ul li:nth-of-type(3) a {
    width: 100%;
  }
}
.cta ul .btn_tel {
  height: 14rem;
  display: flex;
  border: solid 0.4rem #e61c24;
  background-color: #FFFFFF;
  padding: 0;
}
@media only screen and (max-width: 780px) {
  .cta ul .btn_tel {
    width: 100%;
    margin: 0 0 1rem;
  }
}
.cta ul .btn_tel span {
  display: flex;
  align-items: center;
  background-color: #e61c24;
  color: #FFFFFF;
  font-size: 2.8rem;
  line-height: 1.2;
  text-align: left;
  padding: 0 3.6rem;
}
@media only screen and (max-width: 780px) {
  .cta ul .btn_tel span {
    font-size: 2.3rem;
  }
}
.cta ul .btn_tel b {
  display: flex;
  align-items: center;
  background-image: url(../images/icon/free_red.svg);
  background-repeat: no-repeat;
  background-position: left 5.6rem center;
  background-size: 9.6rem auto;
  color: #e61c24;
  font-size: 7.2rem;
  padding: 0 5.8rem 0 18rem;
}
@media only screen and (max-width: 780px) {
  .cta ul .btn_tel b {
    background-size: 8.2rem auto;
    background-position: left center;
    font-size: 6.1rem;
    padding: 0 5rem 0 9.2rem;
    margin: 0 0 0 auto;
  }
}
.cta ul .btn_line {
  height: 14rem;
}
@media only screen and (max-width: 780px) {
  .cta ul .btn_line {
    height: 12.4rem;
  }
}
.cta ul .btn_mail {
  height: 14rem;
}
@media only screen and (max-width: 780px) {
  .cta ul .btn_mail {
    height: 12.4rem;
  }
}
.cta p {
  color: #2a2b2b;
  font-size: 3.2rem;
  text-align: right;
  padding: 2rem 0 0;
}
@media only screen and (max-width: 780px) {
  .cta p {
    font-size: 2.8rem;
  }
}

main {
  padding: 0 0 17rem;
}
@media only screen and (max-width: 780px) {
  main {
    padding: 0 0 30rem;
  }
}

#mainvisual .mv_list_item {
  aspect-ratio: 1920/1040;
  position: relative;
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center;
  padding: 15rem 0 0 11.3rem;
}
@media only screen and (max-width: 780px) {
  #mainvisual .mv_list_item {
    aspect-ratio: 750/1075;
    padding: 6.4rem 4rem 0;
  }
}
#mainvisual .mv_txt1 {
  display: inline-block;
  font-size: 3.5rem;
  background-image: url(../images/mv/border.svg);
  background-position: center bottom;
  background-size: contain;
  background-repeat: no-repeat;
  padding: 0 0 3.6rem;
}
@media only screen and (max-width: 780px) {
  #mainvisual .mv_txt1 {
    width: 100%;
    background-image: url(../images/mv/border_sp.svg);
    background-size: auto 2.4rem;
    font-size: 2.4rem;
    text-align: center;
    padding: 0 0 4rem;
  }
}
#mainvisual .mv_title {
  margin: 0 0 5.6rem;
}
@media only screen and (max-width: 780px) {
  #mainvisual .mv_title {
    text-align: center;
    margin: 0 0 3rem;
  }
  #mainvisual .mv_title::after {
    position: relative;
  }
}
#mainvisual .mv_title span {
  display: inline-block;
  background-image: url(../images/title_bar.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
  color: #e61c24;
  font-size: 9.6rem;
}
@media only screen and (max-width: 780px) {
  #mainvisual .mv_title span {
    display: inline;
    font-size: 7rem;
  }
}
#mainvisual .mv_title i {
  font-size: 8rem;
  margin: 0 0 0 1rem;
}
@media only screen and (max-width: 780px) {
  #mainvisual .mv_title i {
    font-size: 3.8rem;
    background-image: url(../images/mv/arrow.svg);
    background-size: 8.6rem auto;
    background-repeat: no-repeat;
    background-repeat: no-repeat;
    background-position: bottom center;
    padding: 0 0 1.4rem;
    margin: 0;
  }
  #mainvisual .mv_title i.spblank {
    padding: 0;
  }
}
#mainvisual .mv_txt2 {
  display: flex;
  font-size: 8rem;
  gap: 1rem;
}
@media only screen and (max-width: 780px) {
  #mainvisual .mv_txt2 {
    flex-wrap: wrap;
    justify-content: center;
    font-size: 4.2rem;
    margin: -1rem 0 0;
  }
}
#mainvisual .mv_txt2 span {
  font-size: 4rem;
  line-height: 1.075;
}
@media only screen and (max-width: 780px) {
  #mainvisual .mv_txt2 span {
    width: 100%;
    font-size: 4rem;
    text-align: center;
  }
}
#mainvisual .mv_txt2 b {
  color: #2f486f;
  font-size: 9rem;
  line-height: 1;
}
@media only screen and (max-width: 780px) {
  #mainvisual .mv_txt2 b {
    font-size: 5.4rem;
  }
}
#mainvisual .mv_txt3 {
  font-size: 8rem;
  margin: 0 0 14.3rem;
}
@media only screen and (max-width: 780px) {
  #mainvisual .mv_txt3 {
    width: 100%;
    font-size: 4.2rem;
    text-align: center;
  }
}
#mainvisual .mv_txt4 {
  width: 96rem;
  text-align: center;
  margin: 11rem 0 2.6rem;
}
@media only screen and (max-width: 780px) {
  #mainvisual .mv_txt4 {
    width: 41.8rem;
  }
}
#mainvisual .mv_txt4 span {
  display: inline-block;
  position: relative;
}
#mainvisual .mv_txt4 span i {
  color: #44ab86;
  font-size: 4.4rem;
}
@media only screen and (max-width: 780px) {
  #mainvisual .mv_txt4 span i {
    font-size: 2.6rem;
    line-height: 1.7;
    border-bottom: 0.5rem dotted #4d9583;
    padding: 0 0 0.2rem;
  }
}
#mainvisual .mv_txt4 span::before {
  content: "";
  width: 4.8rem;
  height: 100%;
  display: block;
  background-image: url(../images/mv/cercle.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center bottom 1rem;
  position: absolute;
  left: -12rem;
  bottom: 0;
  pointer-events: none;
}
@media only screen and (max-width: 780px) {
  #mainvisual .mv_txt4 span::before {
    display: none;
  }
}
#mainvisual .mv_txt4 span::after {
  content: "";
  width: 4.8rem;
  height: 100%;
  display: block;
  background-image: url(../images/mv/cercle.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center bottom 1rem;
  transform: scale(-1, 1);
  position: absolute;
  right: -12rem;
  bottom: 0;
  pointer-events: none;
}
@media only screen and (max-width: 780px) {
  #mainvisual .mv_txt4 span::after {
    display: none;
  }
}
#mainvisual .mv_point_list {
  display: flex;
  gap: 2rem;
}
@media only screen and (max-width: 780px) {
  #mainvisual .mv_point_list {
    width: 41.8rem;
    flex-wrap: wrap;
    gap: 1rem;
  }
}
#mainvisual .mv_point_list li {
  width: 22.4rem;
  height: 22.4rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  background-color: #e8de60;
  border-radius: 50%;
  position: relative;
}
@media only screen and (max-width: 780px) {
  #mainvisual .mv_point_list li {
    width: 16rem;
    height: 16rem;
  }
}
#mainvisual .mv_point_list li:nth-of-type(1), #mainvisual .mv_point_list li:nth-of-type(2) {
  font-size: 4rem;
  text-align: center;
  padding: 3rem 0 0;
}
@media only screen and (max-width: 780px) {
  #mainvisual .mv_point_list li:nth-of-type(1), #mainvisual .mv_point_list li:nth-of-type(2) {
    font-size: 2.8rem;
  }
}
#mainvisual .mv_point_list li:nth-of-type(1) span, #mainvisual .mv_point_list li:nth-of-type(2) span {
  width: 100%;
  margin: 0 0 -3rem;
}
#mainvisual .mv_point_list li:nth-of-type(1) b, #mainvisual .mv_point_list li:nth-of-type(2) b {
  display: inline-block;
  font-family: "Barlow", sans-serif;
  font-size: 10rem;
  margin: -3.6rem 0 0;
}
@media only screen and (max-width: 780px) {
  #mainvisual .mv_point_list li:nth-of-type(1) b, #mainvisual .mv_point_list li:nth-of-type(2) b {
    font-size: 7.8rem;
    margin: -1rem 0 0;
  }
}
#mainvisual .mv_point_list li:nth-of-type(1) i, #mainvisual .mv_point_list li:nth-of-type(2) i {
  font-size: 3rem;
  margin: 0 0 0 0.6rem;
}
@media only screen and (max-width: 780px) {
  #mainvisual .mv_point_list li:nth-of-type(1) i, #mainvisual .mv_point_list li:nth-of-type(2) i {
    font-size: 2.2rem;
  }
}
#mainvisual .mv_point_list li:nth-of-type(3) {
  text-align: center;
  flex-direction: column;
}
@media only screen and (max-width: 780px) {
  #mainvisual .mv_point_list li:nth-of-type(3) {
    margin: -2.6rem 0 0 8rem;
  }
}
#mainvisual .mv_point_list li:nth-of-type(3) span {
  width: 100%;
  font-size: 4rem;
  line-height: 1.4;
  margin: -1rem 0 0;
}
@media only screen and (max-width: 780px) {
  #mainvisual .mv_point_list li:nth-of-type(3) span {
    font-size: 2.8rem;
    margin: 0;
  }
}
#mainvisual .mv_point_list li:nth-of-type(3) b {
  width: 100%;
  font-size: 5.1rem;
  line-height: 1;
}
@media only screen and (max-width: 780px) {
  #mainvisual .mv_point_list li:nth-of-type(3) b {
    font-size: 3rem;
  }
}
#mainvisual .mv_point_list li:nth-of-type(4) {
  font-size: 5.1rem;
  line-height: 1.2;
}
@media only screen and (max-width: 780px) {
  #mainvisual .mv_point_list li:nth-of-type(4) {
    font-size: 3.8rem;
    margin: -2.6rem 0 0 0;
  }
}
#mainvisual .mv_point_list li::after {
  content: "";
  width: 20.4rem;
  height: 20.4rem;
  display: block;
  border: solid 0.3rem #FFFFFF;
  border-radius: 50%;
  position: absolute;
  top: 0.8rem;
  left: 0.8rem;
  pointer-events: none;
}
@media only screen and (max-width: 780px) {
  #mainvisual .mv_point_list li::after {
    width: 14rem;
    height: 14rem;
    top: 0.8rem;
    left: 0.8rem;
  }
}
#mainvisual .mv_line {
  position: absolute;
  right: 0;
  bottom: 5rem;
}
@media only screen and (max-width: 780px) {
  #mainvisual .mv_line {
    display: flex;
    align-items: center;
    bottom: 4rem;
  }
}
#mainvisual .mv_line_fukidashi {
  width: 33rem;
  background-image: url(../images/mv/fukidashi.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top center;
  font-size: 2.2rem;
  line-height: 1.2;
  text-align: center;
  transform: translateZ(2px);
  padding: 3rem 0 5.5rem;
  margin: 0 1rem -3rem auto;
  pointer-events: none;
}
@media only screen and (max-width: 780px) {
  #mainvisual .mv_line_fukidashi {
    width: auto;
    height: 10rem;
    display: inline-flex;
    align-items: center;
    background: none;
    background-color: #FFFFFF;
    border-radius: 5rem;
    padding: 0 5.3rem;
    margin: 0 -2rem 0 0;
  }
}
#mainvisual .mv_line button {
  width: 46rem;
  background-color: transparent;
  padding: 0;
}
@media only screen and (max-width: 780px) {
  #mainvisual .mv_line button {
    width: 36rem;
    z-index: 2;
  }
}
#mainvisual .mv_line button a {
  height: 12rem;
  display: flex;
  align-items: center;
  background-color: #06c055;
  border-radius: 6rem 0 0 6rem;
  background-image: url(../images/icon/line.svg);
  background-repeat: no-repeat;
  background-position: left 1rem center;
  background-size: 10rem auto;
  color: #FFFFFF;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.6rem;
  font-weight: 700;
  text-align: left;
  padding: 0 0 0 12rem;
}
@media only screen and (max-width: 780px) {
  #mainvisual .mv_line button a {
    height: 10rem;
    font-size: 2.2rem;
    line-height: 1.2;
  }
}
#mainvisual .mv_line_time {
  font-size: 1.4rem;
  text-align: right;
  padding: 1.6rem 6.2rem 0;
}
@media only screen and (max-width: 780px) {
  #mainvisual .mv_line_time {
    display: none;
  }
}
#mainvisual .mv_1 {
  background-image: url(../images/mv/mv1.jpg);
}
@media only screen and (max-width: 780px) {
  #mainvisual .mv_1 {
    background-image: url(../images/mv/mv1_sp.jpg);
  }
}
#mainvisual .mv_2 {
  background-image: url(../images/mv/mv2.jpg);
}
@media only screen and (max-width: 780px) {
  #mainvisual .mv_2 {
    background-image: url(../images/mv/mv2_sp.jpg);
  }
}
#mainvisual .mv_3 {
  background-image: url(../images/mv/mv3.jpg);
}
@media only screen and (max-width: 780px) {
  #mainvisual .mv_3 {
    background-image: url(../images/mv/mv3_sp.jpg);
  }
}
#mainvisual .mv_4 {
  background-image: url(../images/mv/mv4.jpg);
}
@media only screen and (max-width: 780px) {
  #mainvisual .mv_4 {
    background-image: url(../images/mv/mv4_sp.jpg);
  }
}
@media only screen and (max-width: 780px) {
  #mainvisual .slider-nav {
    display: none;
  }
}
#mainvisual .slider-nav li {
  width: 20rem !important;
}
#mainvisual .slider-nav li img {
  max-width: 100%;
  display: block;
  height: auto;
}
#mainvisual .slider-nav li:not(.slick-current) {
  position: relative;
}
#mainvisual .slider-nav li:not(.slick-current)::after {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background-color: rgba(51, 51, 51, 0.3);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
#mainvisual .slider-nav li:hover {
  cursor: pointer;
}
#mainvisual .slider-nav .slick-track {
  width: 80rem;
  display: flex;
  justify-content: center;
  transform: unset !important;
}
#mainvisual .slider-nav .slick-track .slick-slide {
  display: block !important;
  float: none !important;
}

#point {
  padding: 13rem 6.25% 7.6rem;
}
#point h3 {
  text-align: center;
  margin: 0 0 9.3rem;
}
#point h3 span {
  width: auto;
  color: #000000;
  font-size: 7rem;
  text-align: center;
  background: linear-gradient(transparent 60%, #ede3bc 40%);
  padding: 0 2rem 0.4rem;
  margin: 0 0 10rem;
}
@media only screen and (max-width: 780px) {
  #point h3 span {
    font-size: 5.4rem;
  }
}
#point h3 span span {
  font-size: 6rem;
  padding: 0;
}
@media only screen and (max-width: 780px) {
  #point h3 span span {
    font-size: 4.6rem;
  }
}
#point h3 span b {
  color: #4d9583;
  font-size: 11rem;
}
@media only screen and (max-width: 780px) {
  #point h3 span b {
    font-size: 8.3rem;
    line-height: 0.7;
  }
}
#point .point_list {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 780px) {
  #point .point_list {
    flex-direction: column;
    gap: 5.3rem;
  }
}
#point .point_list li {
  width: 29.7%;
}
@media only screen and (max-width: 780px) {
  #point .point_list li {
    width: 66%;
    margin: 0 17%;
  }
}
#point .point_list li img {
  width: 80%;
  margin: 0 auto 1rem;
}
#point .point_list li dl dt {
  min-height: 16.3rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
#point .point_list li dl dt span {
  color: #4d9583;
  font-size: 3.4rem;
  text-align: center;
  padding: 2rem 0;
}
#point .point_list li dl dt span b {
  color: #4d9583;
  font-size: 4.2rem;
}
#point .point_list li dl dd {
  font-size: 2.8rem;
  font-weight: 500;
  text-align: justify;
  text-justify: inter-ideograph; /* IE用 */
}
#point .point_list li:nth-of-type(1) dl dt b {
  font-size: 6rem;
}

#flow {
  background-color: rgba(237, 227, 188, 0.2);
  padding: 17rem 0 12.6rem;
}
@media only screen and (max-width: 780px) {
  #flow {
    padding: 8rem 0;
  }
}
#flow h3 {
  text-align: center;
  margin: 0 0 6rem;
}
#flow h3 span {
  width: auto;
  color: #333333;
  font-size: 7rem;
  text-align: center;
  background: linear-gradient(transparent 60%, #ede3bc 40%);
  padding: 0 2rem 0.4rem;
  margin: 0 0 10rem;
}
@media only screen and (max-width: 780px) {
  #flow h3 span {
    font-size: 5.4rem;
  }
}
#flow h3 span span {
  font-size: 6rem;
  padding: 0;
}
@media only screen and (max-width: 780px) {
  #flow h3 span span {
    font-size: 4.7rem;
  }
}
#flow .flow_list {
  width: 83.4%;
  margin: 0 auto;
}
@media only screen and (max-width: 780px) {
  #flow .flow_list {
    width: 96%;
  }
}
#flow .flow_list li {
  display: flex;
  align-items: flex-start;
  gap: 3.4rem;
  background-color: #FFFFFF;
  border: solid 0.3rem #ede3bc;
  border-radius: 0.6rem;
  padding: 2rem;
  margin: 0 0 4rem;
}
@media only screen and (max-width: 780px) {
  #flow .flow_list li {
    gap: 1rem;
    margin: 0 0 2rem;
  }
}
#flow .flow_list li figure {
  width: 26%;
  border-radius: 0.6rem;
  overflow: hidden;
}
@media only screen and (max-width: 780px) {
  #flow .flow_list li figure {
    width: 36%;
  }
}
#flow .flow_list li div {
  width: calc(74% - 3.4rem);
}
@media only screen and (max-width: 780px) {
  #flow .flow_list li div {
    width: calc(64% - 1rem);
  }
}
#flow .flow_list li div p {
  color: #4d9583;
  font-size: 5rem;
  font-family: "Barlow", sans-serif;
}
@media only screen and (max-width: 780px) {
  #flow .flow_list li div p {
    font-size: 3rem;
    margin: 0 0 1rem;
  }
}
#flow .flow_list li div p b {
  color: #4d9583;
  font-size: 8rem;
  margin: 0 0 0 1rem;
}
@media only screen and (max-width: 780px) {
  #flow .flow_list li div p b {
    font-size: 5rem;
    line-height: 0.7;
  }
}
#flow .flow_list li div dl dt {
  font-size: 4.2rem;
  margin: 0 0 2.5rem;
}
@media only screen and (max-width: 780px) {
  #flow .flow_list li div dl dt {
    font-size: 2.8rem;
    margin: 0 0 1.8rem;
  }
}
#flow .flow_list li div dl dd {
  font-size: 3.2rem;
}
@media only screen and (max-width: 780px) {
  #flow .flow_list li div dl dd {
    font-size: 1.8rem;
  }
}
#flow .flow_list li:nth-last-of-type(1) {
  margin: 0;
}

#question {
  background-color: #333333;
  padding: 3rem 3rem 0;
}
@media only screen and (max-width: 780px) {
  #question {
    padding: 3rem 2% 0;
  }
}
#question .question_wrap {
  background-image: url(../images/question/back.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
  border-radius: 4rem 4rem 0 0;
  padding: 14rem 0 0;
}
@media only screen and (max-width: 780px) {
  #question .question_wrap {
    border-radius: 2rem 2rem 0 0;
    padding: 8rem 0 0;
  }
}
#question .question_wrap p {
  font-size: 4.8rem;
  text-align: center;
  margin: 0 0 2rem;
}
@media only screen and (max-width: 780px) {
  #question .question_wrap p {
    font-size: 2.6rem;
  }
}
#question .question_wrap p span {
  border-bottom: solid 0.2rem #e61c24;
}
#question .question_wrap h3 {
  text-align: center;
}
#question .question_wrap h3 span {
  min-height: 9.5rem;
  display: inline-block;
  background-image: url(../images/question/icon.svg);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
  font-size: 5.8rem;
  padding: 0 0 0 9rem;
}
@media only screen and (max-width: 780px) {
  #question .question_wrap h3 span {
    min-height: 6.2rem;
    font-size: 3rem;
    padding: 0 0 0 6.2rem;
  }
}
#question .question_wrap h3 span b {
  background-image: url(../images/title_bar.svg);
  background-repeat: repeat-x;
  background-position: bottom center;
  color: #e61c24;
  font-size: 7.2rem;
  padding: 0 1rem;
}
@media only screen and (max-width: 780px) {
  #question .question_wrap h3 span b {
    font-size: 4.6rem;
    padding: 0 0.6rem;
  }
}
#question .question_list {
  width: calc(100% + 3rem);
  display: flex;
  flex-direction: column;
  gap: 2rem;
  background-image: url(../images/question/figure.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: right -3rem bottom;
  padding: 9.4rem 0 6rem 5.9%;
  transform: translateZ(10px);
}
@media only screen and (max-width: 780px) {
  #question .question_list {
    width: 102%;
    gap: 1rem;
    background-image: url(../images/question/figure_sp.png);
    background-position: right -2% bottom;
    background-size: 70% auto;
    padding: 5.2rem 0 30rem 2.7%;
  }
}
#question .question_list li span {
  display: inline-block;
  background-color: #FFFFFF;
  border-radius: 0.6rem;
  font-size: 2.7rem;
  padding: 3rem 4rem;
}
@media only screen and (max-width: 780px) {
  #question .question_list li span {
    font-size: 2.2rem;
    padding: 2.5rem 0 3rem 4rem;
  }
}
#question .question_list li span b {
  color: #4d9583;
  font-size: 4.2rem;
}
@media only screen and (max-width: 780px) {
  #question .question_list li span b {
    font-size: 3.2rem;
  }
}

#caution {
  padding: 10rem 0;
}
#caution p {
  color: #4d9583;
  font-size: 4.2rem;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  #caution p {
    font-size: 3.6rem;
  }
}
#caution p span {
  color: #4d9583;
  border-bottom: solid 0.2rem #e61c24;
}

#support {
  border-right: solid 4rem #ede3bc;
  border-left: solid 4rem #ede3bc;
  background-image: url(../images/support/support_staff.png);
  background-size: 69rem auto;
  background-position: left bottom;
  background-repeat: no-repeat;
  padding: 21rem 12% 0;
  position: relative;
}
@media only screen and (max-width: 780px) {
  #support {
    border-right: solid 1.5rem #ede3bc;
    border-left: solid 1.5rem #ede3bc;
    background-image: url(../images/support/support_staff_sp.png);
    background-size: 32.3rem auto;
    padding: 14rem 0 36rem;
  }
}
#support::before {
  content: "";
  display: block;
  border-top: solid 6rem #FFFFFF;
  border-right: solid 9.05rem transparent;
  border-left: solid 9.05rem transparent;
  transform: translateX(-50%);
  position: absolute;
  top: 0;
  left: 50%;
}
#support::after {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background-color: rgba(237, 227, 188, 0.2);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
}
#support h3 {
  font-size: 7.2rem;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  #support h3 {
    font-size: 5.8rem;
    margin: 0 0 7rem;
  }
}
#support h3 b {
  color: #e61c24;
  background-image: url(../images/title_bar.svg);
  background-repeat: no-repeat;
  background-size: auto contain;
  background-position: center bottom;
}
#support h3 span {
  font-size: 5.8rem;
}
@media only screen and (max-width: 780px) {
  #support h3 span {
    font-size: 4.6rem;
  }
}
#support h4 {
  color: #4d9583;
  font-size: 4.6rem;
  text-align: center;
  margin: 0 0 4rem;
}
@media only screen and (max-width: 780px) {
  #support h4 {
    font-size: 3.2rem;
  }
}
#support h4 + p {
  font-size: 3.2rem;
  line-height: 1.7;
  text-align: center;
  margin: 0 0 10rem;
}
@media only screen and (max-width: 780px) {
  #support h4 + p {
    font-size: 2.6rem;
    margin: 0;
  }
}
#support .cta {
  background-color: transparent;
  padding: 30rem 0 9.8rem;
}
@media only screen and (max-width: 780px) {
  #support .cta {
    padding: 6rem 0 1rem;
  }
}
#support .cta ul {
  width: 62.5%;
  flex-wrap: wrap;
  margin: 0 0 0 auto;
}
@media only screen and (max-width: 780px) {
  #support .cta ul {
    width: calc(100% - 4rem);
    margin: 0 auto;
  }
}
#support .cta ul li {
  width: calc(50% - 1.9rem);
}
@media only screen and (max-width: 780px) {
  #support .cta ul li {
    width: calc(50% - 0.5rem);
  }
}
#support .cta ul li:nth-of-type(1) {
  width: 100%;
  margin: 0 0 3.8rem;
}
@media only screen and (max-width: 780px) {
  #support .cta ul li:nth-of-type(1) {
    margin: 0;
  }
}
#support .cta .btn_tel {
  width: 100%;
}
#support .cta .btn_tel span {
  color: #FFFFFF;
}
#support .cta p {
  font-size: 3.2rem;
}
@media only screen and (max-width: 780px) {
  #support .cta p {
    font-size: 2.6rem;
    padding: 0 2rem 0 0;
  }
}
#support .support_fukidashi {
  width: 90rem;
  background-image: url(../images/support/fukidashi.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top center;
  font-size: 4.2rem;
  text-align: center;
  padding: 4rem 0 9rem;
  position: absolute;
  z-index: -1;
}
@media only screen and (max-width: 780px) {
  #support .support_fukidashi {
    width: 51rem;
    font-size: 2.6rem;
    padding: 3rem 0 5.6rem;
    right: 4rem;
    bottom: 16rem;
  }
}

#qa {
  padding: 12rem 6.9% 10rem;
  position: relative;
}
@media only screen and (max-width: 780px) {
  #qa {
    padding: 8rem 2%;
  }
}
#qa::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #dbeae6;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
}
#qa h3 {
  font-size: 7.2rem;
  text-align: center;
  margin: 0 0 6.2rem;
}
@media only screen and (max-width: 780px) {
  #qa h3 {
    font-size: 5.7rem;
  }
}
#qa h3 span {
  background: linear-gradient(transparent 60%, rgba(77, 149, 131, 0.3) 40%);
  padding: 0 2rem 0.4rem;
}
#qa .qa_list {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  margin: 0 0 8rem;
}
@media only screen and (max-width: 780px) {
  #qa .qa_list {
    gap: 2rem;
  }
}
#qa .qa_list dl {
  background-color: #FFFFFF;
  border-radius: 2rem;
}
#qa .qa_list dl dt {
  display: flex;
  align-items: center;
  border-bottom: solid 0.2rem #dbeae6;
  font-size: 4.6rem;
  padding: 4rem 5rem;
}
@media only screen and (max-width: 780px) {
  #qa .qa_list dl dt {
    flex-wrap: wrap;
    font-size: 3rem;
    padding: 3rem 3rem 3rem 10rem;
    position: relative;
  }
}
#qa .qa_list dl dt::before {
  content: "Q";
  width: 8rem;
  height: 8rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: #4d9583;
  border-radius: 50%;
  color: #FFFFFF;
  font-size: 4.2rem;
  font-family: "Roboto Condensed", sans-serif;
  margin: 0 2.6rem 0 0;
}
@media only screen and (max-width: 780px) {
  #qa .qa_list dl dt::before {
    width: 6rem;
    height: 6rem;
    font-size: 3rem;
    position: absolute;
    top: 3rem;
    left: 2rem;
  }
}
#qa .qa_list dl dd {
  display: flex;
  font-size: 3.2rem;
  font-weight: 400;
  line-height: 1.7;
  text-align: justify;
  text-justify: inter-ideograph; /* IE用 */
  padding: 3.4rem 5rem 6rem 15.6rem;
  position: relative;
}
@media only screen and (max-width: 780px) {
  #qa .qa_list dl dd {
    font-size: 2.4rem;
    padding: 2rem 2rem 4rem 9.5rem;
  }
}
#qa .qa_list dl dd::before {
  content: "A";
  width: 8rem;
  height: 8rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: #e61c24;
  border-radius: 50%;
  color: #FFFFFF;
  font-size: 4.2rem;
  font-family: "Roboto Condensed", sans-serif;
  margin: 0.6rem 2.6rem 0 0;
  position: absolute;
  top: 3.8rem;
  left: 5rem;
}
@media only screen and (max-width: 780px) {
  #qa .qa_list dl dd::before {
    width: 6rem;
    height: 6rem;
    font-size: 3rem;
    top: 2.2rem;
    left: 2rem;
  }
}
#qa p {
  font-size: 3.2rem;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  #qa p {
    font-size: 3rem;
  }
}

#staff {
  padding: 12rem 6.9% 28rem;
}
@media only screen and (max-width: 780px) {
  #staff {
    padding: 8rem 2%;
  }
}
#staff h3 {
  width: 100%;
  text-align: center;
  margin: 0 0 8rem;
}
@media only screen and (max-width: 780px) {
  #staff h3 {
    margin: 0 0 4rem;
  }
}
#staff h3 span {
  font-size: 7.2rem;
  background: linear-gradient(transparent 60%, rgba(77, 149, 131, 0.3) 40%);
  padding: 0 2rem 0.4rem;
}
@media only screen and (max-width: 780px) {
  #staff h3 span {
    font-size: 5.7rem;
  }
}
#staff .staff_wrap {
  display: flex;
  gap: 6rem;
}
@media only screen and (max-width: 780px) {
  #staff .staff_wrap {
    flex-direction: column;
  }
}
#staff .staff_wrap figure {
  width: 67rem;
  height: 100%;
  border-radius: 1rem;
  overflow: hidden;
}
@media only screen and (max-width: 780px) {
  #staff .staff_wrap figure {
    width: 100%;
    height: auto;
  }
}
#staff .staff_wrap div {
  width: 83.6rem;
}
@media only screen and (max-width: 780px) {
  #staff .staff_wrap div {
    width: 100%;
  }
}
#staff .staff_wrap div p {
  display: inline;
  font-size: 3.2rem;
  background-color: #fff;
  background-image: linear-gradient(0deg, #dbeae6 0.1rem, transparent 1px);
  background-size: 1rem 100%;
  padding-bottom: 1.8rem;
  line-height: 2.4;
  text-align: justify;
  text-justify: inter-ideograph; /* IE用 */
}
@media only screen and (max-width: 780px) {
  #staff .staff_wrap div p {
    font-size: 2.8rem;
  }
}
#staff .staff_wrap div img {
  width: 45%;
  height: auto;
  margin: 4rem 10% 0 auto;
}
@media only screen and (max-width: 780px) {
  #staff .staff_wrap div img {
    width: 52.7%;
    margin: 4rem 0 0 auto;
  }
}

#company {
  padding: 0 0 8rem;
}
#company .company_wrap {
  background-color: #4d9583;
  padding: 10.2rem 6.9% 12rem;
}
@media only screen and (max-width: 780px) {
  #company .company_wrap {
    padding: 10.2rem 2% 12rem;
  }
}
#company .company_wrap h4 {
  color: #FFFFFF;
  font-size: 4.6rem;
  margin: 0 0 9.5rem;
}
#company .company_wrap dl {
  display: flex;
  flex-wrap: wrap;
}
#company .company_wrap dl dt {
  width: 15.7%;
  color: #FFFFFF;
  font-size: 3.2rem;
  margin: 0 0 4rem;
}
@media only screen and (max-width: 780px) {
  #company .company_wrap dl dt {
    width: 34.4%;
  }
}
#company .company_wrap dl dd {
  width: 84.3%;
  color: #FFFFFF;
  font-size: 3.2rem;
  font-weight: 500;
  margin: 0 0 4rem;
}
@media only screen and (max-width: 780px) {
  #company .company_wrap dl dd {
    width: 65.6%;
  }
}
#company .company_map {
  width: 86.2%;
  aspect-ratio: 1660/600;
  border-radius: 2rem;
  overflow: hidden;
  margin: -8rem auto 0;
}
@media only screen and (max-width: 780px) {
  #company .company_map {
    width: 96%;
    height: 60rem;
    aspect-ratio: 720/600;
  }
}
#company .company_map iframe {
  width: 100%;
  height: 100%;
  border: none;
}

footer {
  width: 100%;
  background-color: #FFFFFF;
  border-top: 1rem solid rgba(237, 227, 188, 0.3);
  transform: translateZ(20px);
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 100;
}
footer .footer_cta {
  max-width: 104rem;
  padding: 2rem 0;
  margin: 0 auto;
}
@media only screen and (max-width: 780px) {
  footer .footer_cta {
    display: flex;
    flex-direction: column;
    flex-direction: column-reverse;
    padding: 2rem 2%;
  }
}
footer .footer_cta p {
  width: 100%;
  font-size: 2.2rem;
  text-align: right;
  margin: 0 0 1rem;
}
@media only screen and (max-width: 780px) {
  footer .footer_cta p {
    font-size: 1.8rem;
    margin: 1rem 0 0;
  }
}
footer .footer_cta ul {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media only screen and (max-width: 780px) {
  footer .footer_cta ul {
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 780px) {
  footer .footer_cta ul li:nth-of-type(1) {
    width: 100%;
    margin: 0 0 1rem;
  }
}
@media only screen and (max-width: 780px) {
  footer .footer_cta ul li:nth-of-type(2), footer .footer_cta ul li:nth-of-type(3) {
    width: calc(50% - 0.5rem);
  }
}
footer .footer_cta ul .btn_tel {
  width: 40.4rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: #e61c24;
  background-image: url(../images/icon/free.svg);
  background-size: 5rem auto;
  background-position: bottom 1.5rem left 4rem;
  background-repeat: no-repeat;
  padding: 0.2rem 5rem 0 10.8rem;
}
@media only screen and (max-width: 780px) {
  footer .footer_cta ul .btn_tel {
    width: 100%;
    height: auto;
    flex-direction: row;
    justify-content: flex-start;
    background-image: url(../images/icon/free_red.svg);
    background-size: 8.2rem auto;
    background-position: left 19rem center;
    border: solid 0.4rem #e61c24;
    background-color: #FFFFFF;
    padding: 0;
  }
}
footer .footer_cta ul .btn_tel span {
  display: block;
  color: #FFFFFF;
  font-size: 1.6rem;
  text-align: right;
}
@media only screen and (max-width: 780px) {
  footer .footer_cta ul .btn_tel span {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center;
    flex-direction: column;
    background-color: #e61c24;
    font-size: 2.3rem;
    text-align: left;
    padding: 0 2.8rem;
  }
}
footer .footer_cta ul .btn_tel b {
  color: #FFFFFF;
  font-size: 4.2rem;
  margin: -0.6rem 0 -0.6rem;
}
@media only screen and (max-width: 780px) {
  footer .footer_cta ul .btn_tel b {
    color: #e61c24;
    font-size: 5rem;
    padding: 2.4rem 0 2rem 15.1rem;
  }
}
@media only screen and (max-width: 780px) {
  footer .footer_cta ul .btn_line {
    min-height: 10rem;
    font-size: 2.2rem;
    padding: 0 2rem 0 10rem;
  }
}
@media only screen and (max-width: 780px) {
  footer .footer_cta ul .btn_mail {
    min-height: 10rem;
    font-size: 2.2rem;
    padding: 0 2rem 0 10rem;
  }
}/*# sourceMappingURL=style.css.map */