@charset "UTF-8";
.font12 {
  font-size: 12px;
}
@media screen and (max-width: 1024px) {
  .font12 {
    font-size: clamp(11px, 1vw, 12px);
  }
}
@media screen and (max-width: 768px) {
  .font12 {
    font-size: clamp(10px, 1.432vw, 11px);
  }
}
@media screen and (max-width: 480px) {
  .font12 {
    font-size: clamp(9px, 2.083vw, 10px);
  }
}

/* ===================================================================
BASIC
=====================================================================*/
html:focus-within {
  scroll-behavior: auto;
}

/* -------------------------------------------------------------- */
/* 確認 */
@media screen and (max-width: 768px) {
  #pageTitle {
    line-height: 2;
  }
}
#pageTitle:after {
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

/* @media screen and (max-width: 768px) {

    #pageTitle {
    font-size: min(5.625vw, 35px);
  }

    #pageTitle p {
      font-size: 0.6em;
    }
} */
/* -------------------------------------------------------------- */
.section_basic {
  padding: 100px 0;
}
@media screen and (max-width: 768px) {
  .section_basic {
    padding: 8vw 0;
  }
}

/* -------------------------------------------------------------- */
.link_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 90%;
  max-width: 1000px;
  margin: 0 auto min(75px, 5vw);
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .link_flex {
    display: block;
    width: 100%;
  }
}

/* -------------------------------------------------------------- */
.link_img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 45%;
  max-width: 404px;
  opacity: 1;
}
@media screen and (max-width: 768px) {
  .link_img {
    display: block;
    width: 90%;
    margin: 0 auto 3rem;
    max-width: initial;
  }
}
.link_img:hover {
  opacity: 0.5;
  -webkit-transition: 0.2s all;
  transition: 0.2s all;
}
.link_img img {
  border-radius: 1em 1em 0 0;
}

/* -------------------------------------------------------------- */
.link_green {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background: #78C153;
  padding: 1em;
  border-radius: 0 0 1em 1em;
  text-align: left;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: auto;
  height: auto;
}
@media screen and (max-width: 768px) {
  .link_green {
    padding: 1em 2em;
  }
}
.link_green img {
  width: 1em;
  height: 1.4em;
}

.link_green p,
.link_green p .line_break {
  color: #fff;
  font-size: min(2vw, 23px);
  font-family: "Cochin", "NotoSerif", serif !important;
}
@media screen and (max-width: 768px) {
  .link_green p,
  .link_green p .line_break {
    font-size: min(4.68vw, 20px);
  }
}

/* -------------------------------------------------------------- */
.discount {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .discount {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 8vw;
    width: 100%;
  }
}

/* -------------------------------------------------------------- */
.d_01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 27.5%;
  height: auto;
  aspect-ratio: 1/1;
  -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  background: #fff;
  border-radius: 1em;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .d_01 {
    width: 31%;
  }
}
@media screen and (max-width: 768px) {
  .d_01 {
    width: calc(50% - 4vw);
    padding: 7% 0;
  }
}

/* -------------------------------------------------------------- */
.one_period p.d_kind {
  position: relative;
  font-size: min(3.9vw, 40px) !important;
  margin-bottom: 0.3em;
  padding-bottom: 0.3em;
  line-height: 1.3;
  font-family: "Cochin", "NotoSerif", serif !important;
}
@media screen and (max-width: 768px) {
  .one_period p.d_kind {
    font-size: min(5.62vw, 30px) !important;
  }
}
.one_period p.d_kind:before {
  position: absolute;
  content: "";
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 0%);
          transform: translate(-50%, 0%);
  width: 1.2em;
  height: 1px;
  background: #78C153;
}
.one_period p.p_nunber {
  font-size: clamp(80px, 9.1vw, 100px) !important;
  color: #78C153;
  line-height: 1;
  padding-right: 5px;
  font-family: "Cochin", "NotoSerif", serif !important;
}
@media screen and (max-width: 768px) {
  .one_period p.p_nunber {
    font-size: min(12.5vw, 90px) !important;
  }
}
.one_period p.p_nunber.p_special {
  font-size: 80px !important;
  color: #78C153;
  line-height: 1;
  padding-right: 1.5%;
  font-family: "NotoSerif", serif !important;
  font-weight: 500;
}
@media screen and (min-width: 1025px) and (max-width: 1919px) {
  .one_period p.p_nunber.p_special {
    font-size: clamp(70px, 4.168vw, 80px) !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .one_period p.p_nunber.p_special {
    font-size: clamp(60px, 5.838vw, 70px) !important;
  }
}
@media screen and (max-width: 768px) {
  .one_period p.p_nunber.p_special {
    font-size: clamp(60px, 9.114vw, 70px) !important;
  }
}
@media screen and (max-width: 480px) {
  .one_period p.p_nunber.p_special {
    font-size: min(10.41vw, 50px) !important;
  }
}
.one_period p.percent {
  font-size: min(3.25vw, 39px) !important;
  color: #78C153;
  line-height: 1;
  margin-bottom: 0;
  text-align: left;
  margin-bottom: 0.2em;
  font-family: "Cochin", "NotoSerif", serif !important;
}
@media screen and (max-width: 768px) {
  .one_period p.percent {
    font-size: min(4.68vw, 30px) !important;
  }
}
.one_period p.d_text {
  font-size: min(2.6vw, 29px) !important;
  line-height: 1;
  font-family: "NotoSerif", serif !important;
}
@media screen and (max-width: 768px) {
  .one_period p.d_text {
    font-size: min(3.75vw, 22px) !important;
  }
}

/* -------------------------------------------------------------- */
.d_num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

/* -------------------------------------------------------------- */
.d_p {
  margin-bottom: 0.5vw;
}

/* -------------------------------------------------------------- */
/* -------------------------------------------------------------- */
/* 背景 */
.bg_blue {
  background-color: #F9FAFC;
}

/* ===================================================================
ご紹介
=====================================================================*/
.top_border {
  border-top: solid 1px #ADADAD;
}

/* -------------------------------------------------------------- */
.one_period p.green_text {
  color: #78C153;
  /*
  font-size: min(2.73vw,28px);
  */
  font-size: 28px;
  margin-bottom: 1em;
  line-height: 1.3;
  text-align: center;
  font-family: "Cochin", "NotoSerif", serif !important;
  /*
  @include msp {
    font-size: 3.333vw;
  }
  */
}
@media screen and (min-width: 769px) {
  .one_period p.green_text {
    font-size: clamp(24px, 1.459vw, 28px);
  }
}
@media screen and (max-width: 1024px) {
  .one_period p.green_text {
    font-size: clamp(20px, 2.343vw, 24px);
  }
}
@media screen and (max-width: 768px) {
  .one_period p.green_text {
    font-size: clamp(20px, 3.125vw, 24px);
  }
}
@media screen and (max-width: 480px) {
  .one_period p.green_text {
    font-size: clamp(17px, 4.166vw, 20px);
  }
}
@media screen and (max-width: 768px) {
  .one_period p.green_text {
    /*font-size: clamp(18px, 2.343vw, 20px);*/
    margin-bottom: 1em;
  }
}
.one_period p.intr_text {
  text-align: center;
  margin-bottom: 0;
  font-size: 18px;
  /*
  @include sp {
    font-size: clamp(14px, 2.083vw, 16px);
  }
  @include msp {
    font-size: 2.916vw;
  }
  */
  /*
        .line_break,
        .line_break00 {
           @include sp {
            font-size: clamp(14px, 2.083vw, 16px);
          }
          @include msp {
            font-size: 2.916vw;
          }
        }
      */
}
@media screen and (min-width: 769px) {
  .one_period p.intr_text {
    font-size: clamp(16px, 0.937vw, 18px);
  }
}
@media screen and (max-width: 1024px) {
  .one_period p.intr_text {
    font-size: clamp(15px, 1.562vw, 16px);
  }
}
@media screen and (max-width: 768px) {
  .one_period p.intr_text {
    font-size: clamp(15px, 2.083vw, 16px);
  }
}
@media screen and (max-width: 480px) {
  .one_period p.intr_text {
    font-size: clamp(13px, 2.916vw, 15px);
  }
}
.one_period p.intr_text00 {
  width: 85%;
  margin: 0 auto 4em;
  font-size: 18px;
  /*
  @include msp {
    font-size: 2.916vw;
  }
  */
}
@media screen and (min-width: 769px) {
  .one_period p.intr_text00 {
    font-size: clamp(16px, 0.937vw, 18px);
  }
}
@media screen and (max-width: 1024px) {
  .one_period p.intr_text00 {
    font-size: clamp(15px, 1.562vw, 16px);
  }
}
@media screen and (max-width: 768px) {
  .one_period p.intr_text00 {
    font-size: clamp(15px, 2.083vw, 16px);
  }
}
@media screen and (max-width: 480px) {
  .one_period p.intr_text00 {
    font-size: clamp(13px, 2.916vw, 15px);
  }
}
@media screen and (max-width: 768px) {
  .one_period p.intr_text00 {
    width: 100%;
    /*
    font-size: clamp(14px, 2.083vw, 16px);
    */
  }
}

/* -------------------------------------------------------------- */
.content_img_01 {
  width: 80%;
  margin: 0 auto 2em;
}
@media screen and (max-width: 768px) {
  .content_img_01 {
    width: 100%;
  }
}

/* -------------------------------------------------------------- */
@media screen and (max-width: 768px) {
  .section_title {
    font-size: clamp(24px, 3.645vw, 28px);
  }
}
@media screen and (max-width: 480px) {
  .section_title {
    font-size: 5vw;
  }
}
.section_title span.line_break {
  color: #000;
  font-size: clamp(24px, 3.645vw, 28px);
  display: inline-block;
  margin-bottom: initial !important;
}
@media screen and (max-width: 480px) {
  .section_title span.line_break {
    font-size: 5vw;
  }
}

/* -------------------------------------------------------------- */
/* 改行 */
.line_break {
  display: inline-block;
}

/* @media screen and (max-width: 768px) {
    .one_period p.intr_text .line_break00 {
      display: initial;
    }

} */
/* ===================================================================
ポイント
=====================================================================*/
.cont_pic {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-radius: 20px;
  -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  margin-bottom: 45px;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .cont_pic {
    display: block;
    margin-bottom: 10%;
    border-radius: 10px;
  }
}
.cont_pic:last-child {
  margin-bottom: 0;
}

/* -------------------------------------------------------------- */
.cont_img {
  width: 40%;
  max-width: 438px;
  aspect-ratio: 3/1.82;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 20px 0 0 20px;
}
@media screen and (max-width: 768px) {
  .cont_img {
    width: 100%;
    border-radius: 10px 10px 0 0;
    max-width: inherit;
  }
}

/* -------------------------------------------------------------- */
.cont_img00 {
  -o-object-position: bottom;
     object-position: bottom;
}

/* -------------------------------------------------------------- */
.cont_text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 5% 5% 5% 3%;
  width: 65%;
  font-family: "Cochin", "NotoSerif", serif !important;
}
@media screen and (max-width: 768px) {
  .cont_text {
    display: block;
    width: 100%;
    padding: 6vw;
  }
}

/* -------------------------------------------------------------- */
.flow_number {
  position: relative;
  color: #78C153;
  margin-right: min(5em, 95px);
  text-align: center;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .flow_number {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-right: inherit;
    margin-bottom: 3vw;
  }
}
.flow_number:before {
  position: absolute;
  content: "";
  top: 50%;
  right: -50%;
  -webkit-transform: translate(100%, -50%);
          transform: translate(100%, -50%);
  width: 3vw;
  max-width: 30px;
  height: auto;
  aspect-ratio: 1/2;
  background: url(../images/common/contents_arrow.png) no-repeat center/contain;
}
@media screen and (max-width: 768px) {
  .flow_number:before {
    display: none;
  }
}

/* -------------------------------------------------------------- */
.one_period p.flow_text {
  font-size: clamp(18px, 1.823vw, 20px);
  font-family: "Cochin", "NotoSerif", serif !important;
  margin-bottom: 0;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .one_period p.flow_text {
    -ms-flex-line-pack: center;
        align-content: center;
    margin-right: 0.5em;
  }
}
.one_period p.number {
  line-height: 1;
  font-size: clamp(40px, 5.2vw, 50px);
  font-family: "Cochin", "NotoSerif", serif !important;
}
@media screen and (max-width: 768px) {
  .one_period p.number {
    position: relative;
    font-size: min(6.25vw, 35px);
  }
  .one_period p.number:before {
    position: absolute;
    content: "";
    top: 50%;
    right: -50%;
    -webkit-transform: translate(50%, -50%);
            transform: translate(50%, -50%);
    width: 2vw;
    max-width: 30px;
    height: auto;
    aspect-ratio: 1/2;
    background: url(../images/common/contents_arrow.png) no-repeat center/contain;
  }
}
.one_period p.content_green, .one_period p.content_green .line_break {
  color: #78C153;
  font-size: 24px;
  /*font-size: min(2.34vw,24px);*/
  margin-bottom: 0.2rem;
  line-height: 1.5;
  font-family: "Cochin", "NotoSerif", serif !important;
  /*
  @include sp{
    font-size: clamp(18px, 2.343vw, 20px);
    margin-bottom: .5rem;
  }

  @include msp {
    font-size: 3.333vw;
  }
  */
}
@media screen and (min-width: 769px) {
  .one_period p.content_green, .one_period p.content_green .line_break {
    font-size: clamp(20px, 1.0422vw, 24px);
  }
}
@media screen and (max-width: 1024px) {
  .one_period p.content_green, .one_period p.content_green .line_break {
    font-size: clamp(18px, 1.757vw, 20px);
  }
}
@media screen and (max-width: 768px) {
  .one_period p.content_green, .one_period p.content_green .line_break {
    font-size: clamp(18px, 2.343vw, 20px);
  }
}
@media screen and (max-width: 480px) {
  .one_period p.content_green, .one_period p.content_green .line_break {
    font-size: clamp(15px, 3.33vw, 16px);
  }
}
.one_period p.cont_p {
  font-size: 18px;
  /*
  @include sp {
    font-size: clamp(11px, 1.562vw, 13px);
  }
  @include msp {
    font-size: 2.291vw;
  }
  */
}
@media screen and (min-width: 769px) {
  .one_period p.cont_p {
    font-size: clamp(16px, 0.937vw, 18px);
  }
}
@media screen and (max-width: 1024px) {
  .one_period p.cont_p {
    font-size: clamp(15px, 1.562vw, 16px);
  }
}
@media screen and (max-width: 768px) {
  .one_period p.cont_p {
    font-size: clamp(15px, 2.083vw, 16px);
  }
}
@media screen and (max-width: 480px) {
  .one_period p.cont_p {
    font-size: clamp(13px, 2.916vw, 15px);
  }
}

/* ===================================================================
タイプ
=====================================================================*/
.type {
  margin-bottom: 3em;
}
@media screen and (max-width: 768px) {
  .type {
    margin-bottom: 5em;
  }
}
.type:last-child {
  margin-bottom: 0;
}

/* -------------------------------------------------------------- */
.one_period p.type_green {
  color: #78C153;
  font-size: 28px;
  /*
  font-size: min(2.73vw,28px);
  */
  font-family: "Cochin", "NotoSerif", serif !important;
  padding-bottom: 0.3em;
  border-bottom: solid 2px;
  margin-bottom: 1.5em;
  /*
  @include sp {
    font-size: clamp(18px, 2.343vw, 20px);
  }
  @include msp {
    font-size: 3.333vw;
  }
  */
}
@media screen and (min-width: 769px) {
  .one_period p.type_green {
    font-size: clamp(24px, 1.459vw, 28px);
  }
}
@media screen and (max-width: 1024px) {
  .one_period p.type_green {
    font-size: clamp(20px, 2.343vw, 24px);
  }
}
@media screen and (max-width: 768px) {
  .one_period p.type_green {
    font-size: clamp(20px, 3.125vw, 24px);
  }
}
@media screen and (max-width: 480px) {
  .one_period p.type_green {
    font-size: clamp(17px, 4.166vw, 20px);
  }
}

/* -------------------------------------------------------------- */
.type_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .type_flex {
    display: block;
  }
}

/* -------------------------------------------------------------- */
.flex_cont {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 2rem;
  background: #fff;
  width: 47%;
  -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  border-radius: 1em;
}
@media screen and (max-width: 768px) {
  .flex_cont {
    width: 100%;
    margin-bottom: 2.5em;
    padding: 2em;
  }
}
@media screen and (max-width: 480px) {
  .flex_cont {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

/* -------------------------------------------------------------- */
.type_img {
  width: 40%;
  height: auto;
  margin-right: 1em;
  -ms-flex-line-pack: center;
      align-content: center;
}
@media screen and (max-width: 768px) {
  .type_img {
    margin-right: 2em;
  }
}
@media screen and (max-width: 480px) {
  .type_img {
    width: 80%;
    margin: 0 auto;
  }
}
.type_img img {
  border: solid 1px #DEDEDE;
  border-radius: 1em;
}

/* -------------------------------------------------------------- */
.type_text {
  width: 60%;
  text-align: justify;
}
@media screen and (max-width: 480px) {
  .type_text {
    width: 100%;
    margin-bottom: 1em;
  }
}
.type_text .type_title {
  margin-bottom: 0.5rem;
}

/* -------------------------------------------------------------- */
.one_period p.type_title {
  line-height: 1;
  font-size: 20px;
  /*font-size: 20px;*/
  margin-bottom: 0.5em;
  font-family: "Cochin", "NotoSerif", serif !important;
  /*
  @include sp {
    font-size: clamp(14px, 2.083vw, 16px);
  }
  @include msp {
    font-size: 2.916vw;
  }
  */
}
@media screen and (min-width: 769px) {
  .one_period p.type_title {
    font-size: clamp(18px, 1.0422vw, 20px);
  }
}
@media screen and (max-width: 1024px) {
  .one_period p.type_title {
    font-size: clamp(16px, 1.757vw, 18px);
  }
}
@media screen and (max-width: 768px) {
  .one_period p.type_title {
    font-size: clamp(15px, 2.083vw, 16px);
  }
}
@media screen and (max-width: 480px) {
  .one_period p.type_title {
    font-size: clamp(14px, 3.125vw, 15px);
  }
}
.one_period.type_cont {
  font-size: min(1.56vw, 16px);
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .one_period.type_cont {
    font-size: clamp(11px, 1.562vw, 13px);
  }
}
@media screen and (max-width: 480px) {
  .one_period.type_cont {
    font-size: 2.291vw;
  }
}

/* ===================================================================
地図とお急ぎ
=====================================================================*/
ul#bottom_bannerList li p.bnr_listcap {
  font-size: min(3vw, 20px);
  margin-top: 1rem;
  font-family: "NotoSerif", serif !important;
}

/* -------------------------------------------------------------- */
.map {
  width: 100%;
  margin: 5em 0 2em;
}

/* -------------------------------------------------------------- */
.map_add {
  width: 90%;
  margin: 0 auto;
  text-align: center;
  margin-bottom: 3em;
}
@media screen and (max-width: 768px) {
  .map_add {
    margin-bottom: 2em;
  }
}

/* -------------------------------------------------------------- */
.map_title {
  font-size: 25px;
  font-family: "Cochin", "NotoSerif", serif !important;
}
@media screen and (max-width: 768px) {
  .map_title {
    font-size: clamp(14px, 2.083vw, 16px);
    margin-bottom: 1em;
  }
}

/* -------------------------------------------------------------- */
iframe {
  width: 100%;
  aspect-ratio: 3/1;
  height: auto;
}
@media screen and (max-width: 768px) {
  iframe {
    aspect-ratio: 2/1.5;
  }
}

/* -------------------------------------------------------------- */
@media screen and (max-width: 768px) {
  .map_address {
    font-size: clamp(11px, 1.562vw, 13px);
  }
}