@charset "UTF-8";

/* =============================================================

mv

===============================================================*/
.mv {
  width     : 100%;
  margin    : 0 auto;
  position  : relative;
  min-height: 900px;
}

.swiper-container {
  width: 100%;
}

.swiper-slide {
  line-height: 0;
  overflow   : hidden;
}

.slide-img {
  width     : 100%;
  min-height: 900px;
  display   : block;
  height    : auto;
  position  : relative;
  object-fit: cover;
}

.mv_logo {
  width    : 220px;
  position : absolute;
  top      : 40%;
  left     : 50%;
  transform: translate(-50%, -40%);
}

 .mv .slide-media img {
    -webkit-transition: 7s 1s ease-out;
    transition: 7s 1s ease-out;
  }

  .mv .swiper-slide[class*=-active] .slide-media img {
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }

.mv_img_red {
  width     : 12%;
  max-width : 123px;
  position  : absolute;
  top       : 43%;
  left      : 0;
  transform : translate(0, -50%);
  z-index   : 100;
  animation : float_red 3s infinite ease-in-out .8s alternate;
  display   : inline-block;
  transition: 1.5s ease-in-out;
}

@keyframes float_red {

  0% {
    transform: translate(0, -50%);
  }

  50% {
    transform: translate(0, -56%);
  }

  100% {
    transform: translate(0, -52%);
  }
}


/* --------------------------------------------------------------

レスポンシブ  mv

----------------------------------------------------------------*/
@media screen and (max-width: 1024px) {
  .mv {
    margin-top: 100px;
    min-height: 700px;
  }

  .slide-img {
    min-height: 700px;
  }

  .mv_logo {
    width: 200px;
  }

  .mv_img_red {
    display: none;
  }
}

@media screen and (max-width: 650px) {
  .mv {
    min-height: auto;
  }

  .mv_logo {
    width: 130px;

  }

  .slide-img {
    min-height: 400px;
  }
}



/* =============================================================

top_about

===============================================================*/
.top_about {
  padding: 50px 0 0;
}

.top_about_item {
  position: relative;
}

.top_about_txt {
  font-size : clamp(1.4rem, 1.5vw, 1.8rem);
  color     : #86C02E;
  text-align: center;
  position  : absolute;
  bottom    : 12%;
  left      : 0;
  right     : 0;
}

/* --------------------------------------------------------------

レスポンシブ  top_about

----------------------------------------------------------------*/
@media screen and (max-width: 1024px) {
  .top_about_item {
    width : 90%;
    margin: 0 auto;
  }

  .top_about_txt {
    display: none;
  }
}

@media screen and (max-width: 650px) {
  .top_about {
    padding: 30px 0 0;
  }

  .top_about_item {
    width: 100%;
  }
}


/* =============================================================

top_concept

===============================================================*/
.top_concept {
  padding            : 100px 0 15%;
  background         : url(../img/top-concept-bg.png) no-repeat;
  background-size    : 100%;
  background-position: bottom;
}

.top_concept .top_container {
  position: relative;
}

.top_concept_ttl {
  width    : 30%;
  max-width: 220px;
  margin   : 0 auto;
}

.top_concept_txt {
  text-align: center;
  padding   : 60px 0 20%;
  position  : relative;
}

.top_concept_item_01 {
  width    : 25%;
  max-width: 324px;
  position : absolute;
  top      : 0;
  left     : 10%;
}

.top_concept_item_01_photo {
  width    : 100%;
  max-width: 286px;
}

.top_concept_item_01_img {
  width    : 35%;
  max-width: 100px;
  position : absolute;
  left     : -13%;
  bottom   : -10%;
}

.top_concept_item_02 {
  width    : 25%;
  max-width: 304px;
  position : absolute;
  top      : 5%;
  right    : 5%;
}

.top_concept_item_02_photo {
  width    : 100%;
  max-width: 304px;
}

.top_concept_item_02_img {
  width    : 35%;
  max-width: 107px;
  position : absolute;
  right    : 30%;
  bottom   : -10%;
}

.top_concept_item_03 {
  width    : 25%;
  max-width: 180px;
  position : absolute;
  top      : 45%;
  left     : 2%;
  z-index  : -1;
}

.top_concept_item_03_photo {
  width    : 100%;
  max-width: 180px;
}

.top_concept_item_03_img {
  width    : 60%;
  max-width: 100px;
  position : absolute;
  right    : 0;
  bottom   : -40%;
}

.top_concept_item_04 {
  width    : 15%;
  max-width: 168px;
  position : absolute;
  right    : 6%;
  bottom   : 28%;
  z-index  : -1;
}

.top_concept_item_04_img {
  width: 100%;
}

/* --------------------------------------------------------------

レスポンシブ  top_concept

----------------------------------------------------------------*/
@media screen and (max-width: 1024px) {
  .top_concept_txt {
    padding: 60px 0 15%;
  }

  .top_concept_item_01,
  .top_concept_item_04 {
    display: none;
  }

  .top_concept_item_02 {
    top  : 5%;
    right: unset;
    left : 3%;
  }

  .top_concept_item_03 {
    width    : 25%;
    max-width: 230px;
    top      : 5%;
    left     : unset;
    right    : 5%;
    z-index  : -1;
  }

  .top_concept_item_03_photo {
    width    : 100%;
    max-width: 230px;
  }

  .top_concept_item_03_img {
    width : 50%;
    right : -10%;
    bottom: -10%;
  }
}

@media screen and (max-width: 650px) {
  .top_concept {
    padding: 40px 0 15%;
  }

  .top_concept_txt {
    padding: 30px 0 15%;
  }

  .top_concept_item_02 {
    top: 0;
  }

  .top_concept_item_03 {
    top: 0;
  }

  .sp_brnone{display:none;}
  .sp_left{
    text-align:left;
  }

}





/* =============================================================

top_information

===============================================================*/
.top_information {
  background     : url(../img/top-information-bg.jpg) no-repeat;
  background-size: cover;
  padding        : 65px 0 180px;
}

.information_ttl {
  /* font-size: 3.6rem; */
  font-size     : clamp(3.0rem, 4vw, 3.6rem);
  font-weight   : 500;
  letter-spacing: 0.1em;
  color         : #019D76;
  text-align    : center;
  position      : relative;
  margin-bottom : 35px;
}

.information_ttl::before {
  content        : "";
  display        : inline-block;
  width          : 13%;
  max-width      : 125px;
  min-width      : 70px;
  height         : 20vw;
  max-height     : 79px;
  background     : url(../img/top-information-img-01.svg) no-repeat;
  background-size: 100%;
  position       : absolute;
  top            : -5%;
  right          : 20%;
  animation      : float_03 5s infinite ease-in-out .8s alternate;
  display        : inline-block;
  transition     : 1.5s ease-in-out;
}

.top_information_item_txt{
  font-size: clamp(1.4rem, 1.4vw, 1.6rem);
  margin   : 6% auto;
  max-width:80%;
}

.top_information_item_txt>li{
  margin-bottom:1em
}

@keyframes float_03 {

  0% {
    transform: translate(0, 0);
  }

  50% {
    transform: translate(3px, 15px);
  }

  100% {
    transform: translate(-3px, -10px);
  }
}

.information_ttl::after {
  content        : "";
  display        : inline-block;
  width          : 8%;
  max-width      : 93px;
  min-width      : 45px;
  height         : 15vw;
  max-height     : 57px;
  background     : url(../img/top-information-img-02.svg) no-repeat;
  background-size: 100%;
  position       : absolute;
  top            : 30%;
  right          : 7%;
  animation      : float_04 4s infinite ease-in-out .8s alternate;
  display        : inline-block;
  transition     : 1.5s ease-in-out;
}

@keyframes float_04 {

  0% {
    transform: translate(0, 0);
  }

  50% {
    transform: translate(-2px, 15px);
  }

  100% {
    transform: translate(2px, -10px);
  }
}

.information_ttl span {
  font-size  : clamp(1.5rem, 2.6vw, 1.8rem);
  font-weight: 400;
  color      : #5B5443;
  display    : block;
  margin-top : 10px;
}

.information_posts {
  display        : flex;
  flex-wrap      : wrap;
  justify-content: space-between;
}

.information_post {
  width     : 22%;
  background: #fff;
  padding   : 1.3% 2%;
  overflow  : hidden;
  box-shadow: 2px 2px 2px 0px rgb(0 0 0 / 20%);
}

.information_post .time {
  font-size    : 1.3rem;
  color        : #fff;
  background   : #50BBBB;
  padding      : 7px 5%;
  text-align   : center;
  margin       : 10px auto;
  border-radius: 30px;
  width        : 80%;
}

.information_post .contents {
  font-size         : 1.2rem;
  color             : #757373;
  line-height       : 1.4;
  display           : -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow          : hidden;
}

.information_post .contents_link {
  font-size  : 1.2rem;
  color      : #757373;
  line-height: 1.4;
  display    : inline-block;
  margin-top : 5px;
}


.btn_01{
    display:block;
    background:#FFF;
    text-align:center;
    border-radius:20px;
    padding:5px 10px;
    margin:30px auto;
    max-width:146px;
}
.btn_01 a{
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    font-size: 16px;
    font-weight: 500;
}
.btn_01 a img{width:22px;}

/* --------------------------------------------------------------

レスポンシブ  top_information

----------------------------------------------------------------*/
@media screen and (max-width: 1024px) {
  .information_post {
    width: 23%;
  }
}

@media screen and (max-width: 768px) {
  .top_information {
    padding: 45px 0;
  }

  .top_information_item_txt{
    max-width:100%;
 }


  .information_ttl::before {
    right: unset;
    left : 15%;
  }

  .information_ttl::after {
    right: 10%;
  }

  .information_post {
    width        : 47%;
    margin-bottom: 20px;
  }
}

@media screen and (max-width: 650px) {
  .information_ttl::before {
    left: -2%;
  }

  .information_ttl::after {
    top  : -10%;
    right: 2%;
  }

  .information_post {
    padding: 10px 12px;
  }

  .information_post .time {
    font-size: 1.1rem;
    padding  : 2% 5%;
  }

  .information_post .contents {
    font-size: 1.0rem;
  }

  .information_post .contents_link {
    font-size : 1.0rem;
    margin-top: 5px;
  }
}



/* =============================================================

top_facility

===============================================================*/
.top_facility {
  margin-top    : -100px;
  padding-bottom: 40px;
  position      : relative;
}

.top_facility::before {
  content        : "";
  display        : block;
  width          : 100%;
  height         : 150px;
  background     : url(../img/bg-shape.png) no-repeat;
  background-size: 100%;
}

.top_facility::after {
  content        : "";
  display        : block;
  width          : 35%;
  max-width      : 360px;
  height         : 25vw;
  max-height     : 366px;
  background     : url(../img/top_facility-circle-03.png) no-repeat;
  background-size: 100%;
  border-radius  : 50%;
  position       : absolute;
  top            : 8%;
  right          : -5%;
  filter         : brightness(90%);
  z-index        : 1;
  animation      : float_01 5s infinite ease-in-out .8s alternate;
  display        : inline-block;
  transition     : 1.5s ease-in-out;
}

.top_facility_ttl {
  position: relative;
}

.top_facility_ttl::before {
  content        : "";
  display        : inline-block;
  width          : 15%;
  max-width      : 170px;
  height         : 16vw;
  max-height     : 160px;
  background     : url(../img/top_facility-circle-01.png) no-repeat;
  background-size: 100%;
  position       : absolute;
  left           : 0;
  top            : -110%;
  z-index        : 20;
  animation      : float_03 5s infinite ease-in-out .8s alternate;
  display        : inline-block;
  transition     : 1.5s ease-in-out;
}

.top_facility_ttl::after {
  content        : "";
  display        : inline-block;
  width          : 8%;
  max-width      : 85px;
  height         : 8vw;
  max-height     : 80px;
  background     : url(../img/top_facility-circle-02.png) no-repeat;
  background-size: 100%;
  position       : absolute;
  top            : 10%;
  left           : 20%;
  z-index        : 20;
  animation      : float_04 4s infinite ease-in-out .8s alternate;
  display        : inline-block;
  transition     : 1.5s ease-in-out;
}

.top_facility_items {
  display        : flex;
  flex-wrap      : wrap;
  justify-content: space-between;
  margin-top     : 5%;
}

.top_facility_item {
  width        : 32%;
  position     : relative;
  margin-bottom: 7%;
  z-index      : 10;
}

.top_facility_item img {
  border-radius: 30px;
}

.top_facility_item p {
  font-size     : clamp(1.4rem, 1.8vw, 2.2rem);
  color         : #fff;
  letter-spacing: 0.22em;
  padding       : 4.5%;
  width         : 80%;
  text-align    : center;
  margin        : 0 auto;
  position      : absolute;
  bottom        : -12%;
  left          : 0;
  right         : 0;
  z-index       : 10;
}

.top_facility_item p::before {
  content        : "";
  display        : block;
  width          : 100%;
  padding-top    : 30%;
  background     : url(../img/top-facilities-item-ttl-bg.png) no-repeat;
  background-size: 100%;
  position       : absolute;
  top            : 0;
  left           : 0;
  right          : 0;
  z-index        : -1;
}

.top_facility_guide {
  background           : url(../img/top-facility-guide-bg.png) no-repeat;
  background-size      : 100%;
  background-position-y: 20%;
  padding              : 4% 0;
  position             : relative;
}

.top_facility_guide h3 {
  font-size     : clamp(2.0rem, 2.4vw, 3.0rem);
  letter-spacing: 0.2em;
  text-align    : center;
  margin-bottom : 1.7%;
}

.top_facility_guide dl {
  font-size      : clamp(1.3rem, 1.8vw, 2.2rem);
  letter-spacing : 0.2em;
  display        : flex;
  flex-wrap      : wrap;
  justify-content: space-between;
  width          : 78%;
  margin         : 0 auto;
}

.top_facility_guide dl dt {
  font-weight    : 400;
  color          : #fff;
  background     : #86C02E;
  width          : 42%;
  height         : 3.5vw;
  max-height     : 43px;
  margin-bottom  : 20px;
  display        : flex;
  align-items    : center;
  justify-content: center;
  border-radius  : 10px;
}

.top_facility_guide dl dd {
  color        : #86C02E;
  width        : 54%;
  margin-bottom: 20px;
  padding-top  : 11px;
  line-height  : 1.3;
}

/* --------------------------------------------------------------

レスポンシブ  top_facility

----------------------------------------------------------------*/
@media screen and (max-width: 768px) {
  .top_facility {
    margin-top: 0;
    padding   : 10% 0;
  }

  .top_facility::before {
    display: none;
  }

  .top_facility::after {
    height: 40vw;
    top   : 2%;
  }

  .top_facility_items {
    margin-top: 8%;
  }

  .top_facility_item {
    width        : 48%;
    margin-bottom: 10%;
  }

  .top_facility_item p {
    font-size: clamp(1.2rem, 1.8vw, 1.8rem);
  }

  .top_facility_guide {
    background   : #fff;
    padding      : 4% 0;
    border-radius: 15px;
    width        : 90%;
    margin       : 3% auto 0;
  }

  .top_facility_guide h3 {
    margin-bottom: 18px;
  }

  .top_facility_guide dl {
    width     : 100%;
    text-align: center;
  }

  .top_facility_guide dl dt {
    width    : 50%;
    min-width: 230px;
    margin   : 0 auto;
    height   : 100%;
    padding  : 10px;
  }

  .top_facility_guide dl dd {
    width: 100%;
  }
}

@media screen and (max-width: 650px) {
  .top_facility_ttl::before {
    left: -2%;
    top : -10%;
  }

  .top_facility_ttl::after {
    top : 50%;
    left: 18%;
  }
}


/* =============================================================

top_support

===============================================================*/
.top_support {
  background    : #fff;
  margin-top    : 10%;
  position      : relative;
  padding-bottom: 15%;
}

.top_support::before {
  content        : "";
  display        : block;
  width          : 100%;
  height         : 180px;
  background     : url(../img/top-support-shape.png) no-repeat;
  background-size: 100%;
  position       : absolute;
  top            : -10%;
  z-index        : -1;
}

.top_support_ttl {
  position: relative;
  z-index : 10;
}

.top_support_items {
  position: relative;
}

.top_support_items::before {
  content        : "";
  display        : block;
  width          : 75%;
  max-width      : 890px;
  height         : 100vw;
  max-height     : 900px;
  background     : url(../img/top-support-txt-bg-01.png) no-repeat;
  background-size: 100%;
  position       : absolute;
  top            : -16%;
  left           : -18%;
  animation      : float_03 5s infinite ease-in-out .8s alternate;
  display        : inline-block;
  transition     : 1.5s ease-in-out;
}

.top_support_items::after {
  content        : "";
  display        : block;
  width          : 60%;
  max-width      : 650px;
  height         : 52vw;
  max-height     : 610px;
  min-height     : 450px;
  background     : url(../img/top-support-txt-bg-02.png) no-repeat;
  background-size: 100%;
  position       : absolute;
  bottom         : -5%;
  right          : 0;
  animation      : float_05 5s infinite ease-in-out .8s alternate;
  display        : inline-block;
  transition     : 1.5s ease-in-out;
}

@keyframes float_05 {

  0% {
    transform: translate(0, 0);
  }

  50% {
    transform: translate(-2px, 15px);
  }

  100% {
    transform: translate(2px, -10px);
  }
}

.top_support_item {
  display        : flex;
  justify-content: space-between;
  margin         : 100px 0 300px;
}

.top_support_item_left {
  width   : 48%;
  position: relative;
  z-index : 2;
}

.top_support_item_ttl {
  font-size     : clamp(1.8rem, 2.8vw, 3.6rem);
  letter-spacing: 0.2em;
}

.top_support_item_txt {
  font-size: clamp(1.4rem, 1.4vw, 1.6rem);
  margin   : 6% 0;
}

.top_support_item_left img {
  width      : 90%;
  margin-left: -5%;
}

.top_support_item_right {
  width   : 48%;
  position: relative;
}

.top_support_item_right::before {
  content        : "";
  display        : inline-block;
  width          : 30%;
  max-width      : 170px;
  height         : 28vw;
  max-height     : 160px;
  background     : url(../img/top-support-circle-01.png) no-repeat;
  background-size: 100%;
  position       : absolute;
  top            : -20%;
  right          : 8%;
  opacity        : .9;
  z-index        : 10;
  animation      : float_01 5s infinite ease-in-out .8s alternate;
  transition     : 1.5s ease-in-out;
}

.reverse {
  flex-direction: row-reverse;
  margin-bottom : 100px;
}

.reverse::before {
  display: none;
}

.reverse .top_support_item_left {
  position: relative;
  z-index : 10;
}

.reverse .top_support_item_ttl {
  font-size     : clamp(1.6rem, 2.6vw, 3.0rem);
  letter-spacing: 0.1em;
}

.reverse .top_support_item_right {
  position: relative;
  z-index : 10;
}

.reverse .top_support_item_right::before {
  content        : "";
  display        : inline-block;
  width          : 20%;
  max-width      : 110px;
  height         : 30vw;
  max-height     : 103px;
  background     : url(../img/top-support-circle-02.png) no-repeat;
  background-size: 100%;
  opacity        : .7;
  animation      : float_01 5s infinite ease-in-out .8s alternate;
  transition     : 1.5s ease-in-out;
  position       : absolute;
  bottom         : -10%;
  top            : unset;
  left           : 20%;
}

/* --------------------------------------------------------------

レスポンシブ  top_support

----------------------------------------------------------------*/
@media screen and (max-width: 1024px) {
  .top_support {
    margin-top: 15%;
    /* padding: 15% 0; */
  }

  .top_support::before {
    top: -4%;
  }

  .top_support_items::before {
    width    : 100%;
    top      : 8%;
    left     : 50%;
    transform: translate(-50%, 0);
  }

  .top_support_items::after {
    height   : 80vw;
    bottom   : -2%;
    right    : 17%;
    width    : 620px;
    right    : 50%;
    transform: translate(50%, 0);
  }

  @keyframes float_05 {

    0% {
      transform: translate(50%, 0);
    }
  
    50% {
      transform: translate(51%, 15px);
    }
  
    100% {
      transform: translate(49%, -10px);
    }
  }

  .top_support_item {
    flex-direction: column-reverse;
    align-items   : center;
    gap           : 50px;
    margin        : 70px 0 300px;
  }

  .top_support_item_left {
    width     : 65%;
    text-align: center;
  }

  .top_support_item_left img {
    margin: 0 auto;
  }

  .top_support_item_right {
    width: 55%;
  }

  .top_support_item_right::before {
    top  : -10%;
    right: -8%;
  }

  .top_support_item.reverse {
    margin: 70px 0 100px;
  }

  .reverse .top_support_item_right::before {
    top  : 8%;
    right: -6%;
    left : unset;
  }
}

@media screen and (max-width: 768px) {
  .top_support {
    margin-top: 0;
    padding   : 50px 0;
  }

  .top_support::before {
    display: none;
    padding: 50px 0;
  }

  .top_support_items::after {
    width    : 70%;
    min-width: 465px;
    bottom   : -9%;
  }
}

@media screen and (max-width: 650px) {
  .top_support {
    padding: 50px 0 20px;
  }

  .top_support_items::before {
    width : 135%;
    height: 100%;
  }

  .top_support_items::after {
    display: none;
  }

  .top_support_item {
    margin: 50px 0 43%;
    gap   : 30px;
  }

  .top_support_item_left {
    width: 100%;
  }

  .top_support_item_right {
    width: 85%;
  }

  .top_support_item_txt {
    font-size: 1.2rem;
    margin   : 20px 0;
    padding: 0 25px;
  }

  .top_support_item.reverse {
    background           : url(../img/top-support-txt-bg-02.png) no-repeat;
    background-size      : 85%;
    background-position-y: 50vw;
    background-position-x: center;
    padding-bottom       : 20%;
    margin               : 70px 0 0;
  }
}

@media screen and (max-width: 500px) {
  .top_support_item.reverse {
    background-size: 100%;
  }
}


/* =============================================================

top_guide

===============================================================*/
.top_guide {
  /* padding-bottom: 5%; */
  padding: 5% 0;
  position      : relative;
}

.top_guide::before {
  content        : "";
  display        : block;
  width          : 100%;
  height         : 180px;
  background     : url(../img/bg-shape.png) no-repeat;
  background-size: 100%;
  position       : absolute;
  /* top            : -180px; */
  top            : -100px;
}

.top_guide_ttl {
  font-size: clamp(2.6rem, 4vw, 5.3rem);
  position : relative;
}

.top_guide_ttl::before {
  content        : "";
  display        : inline-block;
  width          : 15%;
  max-width      : 167px;
  min-width      : 85px;
  height         : 20vw;
  max-height     : 170px;
  min-height     : 85px;
  background     : url(../img/top-concept-img-04.svg) no-repeat;
  background-size: 100%;
  position       : absolute;
  left           : 7%;
  top            : -100%;
}

.guide_list {
  margin       : 130px 0 100px;
  padding      : 65px 25px 55px;
  background   : #fff;
  border-radius: 12px;
  position     : relative;
}

.guide_list_ttl {
  width         : 65%;
  margin        : 0 auto;
  font-size     : clamp(1.2rem, 2.6vw, 2.6rem);
  color         : #fff;
  background    : #ECA100;
  padding       : 12px;
  border-radius : 30px;
  letter-spacing: 0.14em;
  text-align    : center;
  position      : absolute;
  top           : -2%;
  left          : 0;
  right         : 0;
}

.guide_list_item {
  display         : flex;
  background      : #EFEDE4;
  padding         : 45px 25px;
  /* margin-bottom: 50px; */
  border-radius   : 20px;
  position        : relative;
}

.guide_list_item:nth-of-type(2) {
  /* align-items: flex-end; */
  align-items: center;
}

.guide_list_item:last-of-type {
  margin-bottom: 0;
}

.guide_list_item_contents {
  width: calc(100% - 68px);
}

.guide_list_item_num {
  width         : 5%;
  width         : 68px;
  margin-right  : 3%;
  display       : flex;
  flex-direction: column;
  align-items   : center;
}

.guide_list_item_num span {
  display      : block;
  font-size    : clamp(1.0rem, 2.5vw, 2.2rem);
  font-weight  : 500;
  margin-bottom: 3px;
}

.guide_list_item_num P {
  font-size      : clamp(1.3rem, 3vw, 2.8rem);
  color          : #fff;
  width          : 46px;
  height         : 46px;
  border-radius  : 50%;
  background     : #F9C153;
  display        : flex;
  align-items    : center;
  justify-content: center;
}

.guide_list_item_ttl {
  font-size  : clamp(1.5rem, 3vw, 3.3rem);
  font-weight: 500;
  color      : #ECA100;
  display    : block;
}

.guide_list_item_txt {
  line-height: 1.5;
  margin-top : 12px;
  font-size  : clamp(1.2rem, 1.9vw, 1.6rem);
}

.guide_arrow {
  height         : 5vw;
  max-height     : 50px;
  width          : 25%;
  max-width      : 220px;
  background     : url(../img/guide-arrow.png) no-repeat;
  background-size: 100%;
  margin         : 10px auto 0;
}

.guide_list.note {
  padding: 65px 25px 45px;
}

.note .guide_list_ttl {
  background: #8DC32E;
  top       : -10%;
}

.note .guide_list_item_contents {
  margin: 0 auto;
}

/* --------------------------------------------------------------

レスポンシブ  top_guide

----------------------------------------------------------------*/
@media screen and (max-width: 768px) {
  .top_guide {
    padding: 80px 0 0;
  }

  .top_guide::before {
    display: none;
  }

  .guide_list {
    padding: 65px 20px 45px;
    margin : 80px 0 100px;
  }
}

@media screen and (max-width: 650px) {
  .top_guide {
    padding: 60px 0 0;
  }

  .top_guide_ttl::before {
    left   : 0;
    z-index: -1;
  }

  .guide_list {
    padding: 50px 15px 35px;
    margin: 60px 0;
  }

  .guide_list_item {
    padding: 20px 12px;
  }

  .guide_list_ttl {
    width: 75%;
  }

  .guide_list_item_num {
    width: 40px;
  }

  .guide_list_item_num P {
    width : 30px;
    height: 30px;
  }

  .guide_arrow {
    margin: 6px auto 0;
  }

  .guide_list.note {
    padding: 45px 15px 30px;
  }

  .note .guide_list_item_contents {
    width: 100%;
  }
}

/* =============================================================

top_contact

===============================================================*/
.top_contact_inner {
  background     : url(../img/top-contact-bg.png) no-repeat;
  background-size: cover;
  padding        : 7% 0;
}

.top_contact_items {
  width          : 85%;
  margin         : 0 auto;
  display        : flex;
  justify-content: center;
  padding        : 0 15px;
}

.top_contact_items .btn {
  width          : 48%;
  max-width      : 537px;
  min-width      : 320px;
  height         : 10vw;
  max-height     : 120px;
  min-height     : 83px;
  background     : #fff;
  border-radius  : 5px;
  display        : flex;
  align-items    : center;
  justify-content: center;
}

.top_contact_btn {
  font-size     : clamp(1.8rem, 2.8vw, 2.7rem);
  font-weight   : 500;
  letter-spacing: 1.2;
  margin-right  : 53px;
}

.top_contact_btn::before {
  content        : "";
  display        : inline-block;
  width          : 15%;
  max-width      : 65px;
  height         : 7vw;
  max-height     : 65px;
  background     : url(../img/contact-mail.svg) no-repeat;
  background-size: 100%;
  margin-right   : 22px;
}

.top_contact_tel {
  font-size     : clamp(3.0rem, 3.5vw, 4.4rem);
  font-weight   : 600;
  letter-spacing: 0;
}

.top_contact_tel::before {
  content        : "";
  display        : inline-block;
  width          : 12%;
  max-width      : 55px;
  height         : 5vw;
  max-height     : 55px;
  background     : url(../img/contact-tel.svg) no-repeat;
  background-size: 100%;
  margin-right   : 22px;
}

.map {
  height    : 40vw;
  max-height: 355px;
  min-height: 250px;
}

/* --------------------------------------------------------------

レスポンシブ  top_contact

----------------------------------------------------------------*/
@media screen and (max-width: 768px) {
  .top_contact_items {
    width         : 100%;
    flex-direction: column;
    align-items   : center;
  }

  .top_contact_items .btn {
    width: 100%;
  }

  .top_contact_btn {
    width        : 70%;
    margin-right : 0;
    margin-bottom: 20px;
  }

  .top_contact_btn::before {
    width : 45px;
    height: 45px;
  }

  .top_contact_tel::before {
    width : 40px;
    height: 40px;
  }
}