@charset "UTF-8";

/* vari */

:root {
  --mincho: "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  --key-color: #F6EBE2;
  --base-color: #49302A;
}

/* common */

.pc-only{display: block;}
.sp-only{display: none;}

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

.sr-only{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.cm_youtube_box{
  display: flex;
  justify-content: center;
  gap: 40px;

  @media screen and (max-width: 640px) {
    flex-direction: column;
    gap: 20px;
  }
}

p{
  color: var(--base-color);
}

main.renewWrap{padding: 0;}

.bettei_wrapper{
  color: var(--base-color);

  & figure{margin: 0;}

  & img{width: 100%;}
}

.youtube_wrap {
  width: 100%;
  aspect-ratio: 16 / 9;
}

.youtube_wrap iframe {
  width: 100%;
  height: 100%;
  display: block;
}

.head_title {
  color: var(--base-color);
  font-size: 34px;
  line-height: 1.2;
  font-weight: 600;
  margin-bottom: 28px;
  font-family: var(--mincho);
  text-align: center;
  position: relative;
  z-index: 0;

  & b{
    font-family: sans-serif;
    color: var(--key-color);
  }
}

/* section */

.sec_wrapper{
  background: #fdfdfd;
}

.sec_box{
  max-width: 1000px;
  margin: 0 auto;
}

.head2-title{
  font-family: var(--mincho);
  font-size: 26px;
  position: relative;
  font-weight: 600;
  text-align: center;
  margin-bottom: 20px;

  & .entitle{
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -36px;
    background: #F4ECE1;
    border-bottom: 1px solid var(--base-color);
    border-radius: 16px 16px 0 0;
    color: var(--base-color);
    font-size: 10px;
    font-family: sans-serif;
    text-transform: uppercase;
    padding: 4px 14px;

    &.white{
      background: #fff;
    }
  }

  & .jptitle{
    letter-spacing: 2px;
  }

  &.left{
    text-align: left;
    font-size: 16px;

    & .entitle{
      left: 0%;
      transform: none;
    }
  }

  @media screen and (max-width: 640px) {

    & .entitle{
      font-size: 13px;
      font-weight: 600;
    }

    &.left{
      text-align: center;
      font-size: 21px;

      & .entitle{
        left: 50%;
        top: -50px;
        transform: translateX(-50%);
      }
    }

  }

}

.area_fv{
  background: #F6EBE2;
  background: linear-gradient(135deg, rgba(246, 235, 226, 1) 0%, rgba(255, 255, 255, 1) 55%, rgba(255, 255, 255, 1) 100%);
  padding-top: 30px;

  @media screen and (max-width: 640px) {
    padding-top: 130px;
  }

  & img{width: 100%;}

  & .fv_wrapper{
    max-width: 960px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;

    @media screen and (max-width: 640px) {
      flex-direction: column;
    }

    & .fv_title{
      flex: 1;
      font-family: var(--mincho);
      color: var(--base-color);
      margin-top: -30px;
      line-height: 1.4;

      @media screen and (max-width: 640px) {
        flex-direction: column;
      }

      & figure{
        width: 320px;
        margin: 0 0 30px 0;

        @media screen and (max-width: 640px) {
          margin:0 auto 30px;
        }
      }

      & .main_text{
        font-size: 30px;
        letter-spacing: 6px;
        font-weight: normal;
        margin-bottom: 10px;

        @media screen and (max-width: 640px) {
          letter-spacing: 2px;
        }
      }

      & .sub_text{
        font-size: 16px;
        line-height: 1.8;
        font-weight: 600;
        letter-spacing: 1px;

        @media screen and (max-width: 640px) {
          text-align: center;
        }
      }
    }

    & .fv_ph{
      flex: 1.2;
      overflow: hidden;
      border-radius: 40px 0 0 0;

      @media screen and (max-width: 640px) {
        border-radius: 0;
      }
    }
  }
}


.area_intro {
  padding: 100px 0;

  & .sec_box{
    max-width: 860px;
  }

  @media screen and (max-width: 640px) {
    padding: 100px 0 60px;
    
    & .sec_box{
      padding: 0 20px;
    }
  }
}

.area_concept{
  display: flex;
  align-items: center;
  margin-bottom: 80px;
  gap: 80px;

  @media screen and (max-width: 640px) {
    flex-direction: column-reverse;
    gap: 30px;
  }

  & .concept_ph{
    flex: 1;

    & figure{
      margin-bottom: 20px;
      aspect-ratio: 3 / 2;

      & img{
        border-radius: 10px;
      }

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

  & .concept_text{
    flex: 2;

    & .head2-title{
      margin-bottom: 10px;
    }

    & p{
      line-height: 2;
      font-size: 14px;
      font-family: var(--mincho);
      font-weight: 600;

      @media screen and (max-width: 640px) {
        text-align: center;
        font-size: 16px;
        line-height: 2.2;
      }
    }
  }
}



.area_features{
  max-width: 750px;
  margin: 0 auto;
}

.features_box{
  display: flex;
  align-items: center;
  margin-bottom: 20px;
  gap: 16px;
  background: #F3F2F0;
  padding: 20px;
  border-radius: 20px;

  @media screen and (max-width: 640px) {
    flex-direction: column;
  }

  &:last-child{
    margin-bottom: 0;
  }

  & figure{
    width: 40px;
    text-align: right;
    line-height: 0;

    & img{
      width: 24px;

      @media screen and (max-width: 640px) {
        width: 34px;
      }
    }
  }

  @media screen and (max-width: 640px) {
    &:nth-of-type(2) figure img{width: 40px;}

    &:last-child figure img{width: 30px;}
    
  }

  & div{
    flex: 1;
    border-left: 1px solid var(--base-color);
    padding-left: 16px;

    @media screen and (max-width: 640px) {
      border-left: none;
      position: relative;
      padding: 26px 0 0 0;

      &::before{
        content: "";
        display: block;
        position: absolute;
        top: 0;
        width: 100%;
        height: 2px;
        background: repeating-linear-gradient(
          to right,
          #aaa 0,
          #aaa 6px,
          transparent 6px,
          transparent 12px
        );

      }
    }

    & h3{
      font-size: 16px;
      font-weight: 600;
      font-family: var(--mincho);
      margin-bottom: 6px;

      @media screen and (max-width: 640px) {
        font-size: 17px;
      }
    }

    & p{
      line-height: 1.8;
      font-size: 13px;
      text-align: justify;

      @media screen and (max-width: 640px) {
        font-size: 15px;
        font-weight: 500;
      }
    }
  }
}

.area_recommend{
  background: #F4F4F2;
  padding: 150px 0 100px;

  & .sec_box{
    max-width: 960px;

    & .head2-title{
      margin-bottom: 30px;
    }
  }

  @media screen and (max-width: 640px) {
    padding: 90px 0 60px;

    & .sec_box{
      padding: 0 20px;
    }
  }
}

.recommend_box{
  border: 2px solid #fff;
  padding: 30px 20px 20px 20px;
  position: relative;
  border-radius: 20px;

  @media screen and (max-width: 640px) {
    border: none;
    padding: 0;
  }
  

  & .recommend_title{
    background: #F4F4F2;
    padding: 0 30px 0 20px;
    font-size: 18px;
    font-weight: 600;
    font-family: var(--mincho);
    margin-bottom: 20px;
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;

    @media screen and (max-width: 640px) {
      position: static;
      transform: none;
      white-space: normal;
      background: none;
      padding: 0;
      text-align: center;
    }
  }

  & .recommend_list{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;

    & li{
      background: #fff;
      padding: 20px 10px;
      border-radius: 10px;
      font-size: 14px;
      font-weight: bold;
      text-align: center;
    }

    @media screen and (max-width: 640px) {
      grid-template-columns: repeat(1, 1fr);
    }
  }

}

.area_plan{
  background: #F6EBE2;
  background: linear-gradient(160deg, #F6EBE2 0%, #FDF8F2 50%, #F6EBE2 100%);
  padding: 110px 0 80px;

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

  & .sec_box{
    max-width: 800px;

    @media screen and (max-width: 640px) {
      padding: 0 20px;
    }
  }

  & .head2-title{
    margin-bottom: 30px;

    & .entitle{
      padding: 4px 20px;
    }
  }
}

.plan_price{
  font-family: var(--mincho);
  font-size: 24px;
  text-align: center;
  font-weight: 600;
  letter-spacing: 2px;
  margin-bottom: 10px;

  & .price_name{
    font-size: 26px;
    letter-spacing: 0;

    @media screen and (max-width: 640px) {
      display: block;
    }
  }

  & .price_num{
    font-size: 50px;
    margin-left: 12px;
    font-weight: 500;

    & span{
      font-size: 26px;
    }

    @media screen and (max-width: 640px) {
      margin-left:0
    }
  }

  & .price_in{
    font-size: 18px;
    letter-spacing: 0;

    @media screen and (max-width: 420px) {
      display: block;
    }
  }
}

.plan_list_title{
  border: 1px solid var(--base-color);
  padding: 10px 14px;
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  font-family: var(--mincho);
  margin-bottom: 20px;
  border-radius: 10px;
}

.plan_list{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-bottom: 30px;

  @media screen and (max-width: 640px) {
    grid-template-columns: repeat(1, 1fr);

    & .include-acc-panel{
      flex-direction: column;
      gap: 10px;
    }
  }

  & .item{
    background: #fff;
    overflow: hidden;
    border-radius: 10px;
    display: flex;
    align-items: center;

    & figure{
      flex: 1;
      aspect-ratio: 4 / 3;
      overflow: hidden;

      @media screen and (max-width: 640px) {
        max-width: 90px;
      }

      & img{
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
      }
    }

    & span{
      flex: 2;
      font-size: 14px;
      margin-left: 20px;
    }
  }

  & .more-type2{
    background: #fff;
    padding: 16px;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    position: relative;
    line-height: 1;

    &::after{
      width: 26px;
      position: absolute;
      display: block;
      content: url(../image/icon_plus.svg);
      top: 50%;
      transform: translateY(-50%);
      right: 10px;
    }

    &.active::after {
      content: url(../image/icon_minus.svg);
    }

  }
}

.caution_text{
  font-size: 12px;

  @media screen and (max-width: 640px) {
    font-size: 14px;
    font-weight: 600;
  }
}

.area_flow{
  padding: 130px 0 100px;
  background-image: url('../image/backimg.png');

  @media screen and (max-width: 640px) {
    padding: 110px 0 60px;
  }

  & .sec_box{
    max-width: 800px;
    @media screen and (max-width: 640px) {
      padding: 0 20px;
    }
  }

  & .head2-title{
    margin-bottom: 30px;
  }
}

.flow_box {
  display: grid;
  grid-template-columns: 1fr 10fr 3fr;
  height: 132px;
  margin-bottom: 20px;

  @media screen and (max-width: 640px) {
    grid-template-columns: 32px 1fr;
    height: auto;
    gap: 20px;
  }

  .flow_day {
    background: #F5F4F2;
    position: relative;
    display: grid;
    place-items: center;
    font-family: var(--mincho);

    @media screen and (max-width: 640px) {
      grid-column: 1;
      grid-row: 1 / span 2;
      writing-mode: vertical-lr;
    }

    &::before,
    &::after {
      content: "";
      position: absolute;
      bottom: 0;
      width: 50%;
      height: 25px;
      background: #fff;
    }

    &::before {
      left: 0;
      clip-path: polygon(0 0, 0 100%, 100% 100%);
    }

    &::after {
      right: 0;
      clip-path: polygon(100% 0, 0 100%, 100% 100%);
    }

    & span {
      position: relative;
      z-index: 1;
      top: -10px;
      font-size: 14px;

      @media screen and (max-width: 640px) {
        letter-spacing: 2px;
        font-size: 16px;
        font-weight: 600;
      }
    }
  }

  & .flow_content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-bottom: 1px solid #ccc;
    margin: 0 0 0 24px;
    padding: 0 24px 0 0;

    @media screen and (max-width: 640px) {
      grid-column: 2;
      grid-row: 1;
      border:none;
      padding: 0;
    }

    & h3 {
      margin-bottom: 10px;
      font-weight: 500;
      font-family: var(--mincho);
      font-size: 16px;

      @media screen and (max-width: 640px) {
        font-size: 20px;
      }
    }

    & p {
      font-size: 14px;
    }


  }

  & .flow_ph {
    display: grid;
    align-items: center;
    border-bottom: 1px solid #ccc;
    padding-bottom: 18px;

    @media screen and (max-width: 640px) {
      grid-column: 2;
      grid-row: 2;
    }

    & figure {
      margin: 0;
      overflow: hidden;
      border-radius: 20px;
      width: 100%;
      aspect-ratio: 3 / 2;

      @media screen and (max-width: 640px) {
        position: relative;
        aspect-ratio: 16 / 7;

        & img{
          /* aspect-ratio: 236 / 157; */
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);

          &[src="image/flow_ph01.png"]{
            top: 35%;
          }

          &[src="image/flow_ph02.png"]{
            top: 70%;
          }

          &[src="image/flow_ph05.png"]{
            top: 40%;
          }

          &[src="image/flow_ph06.png"]{
            top: 40%;
          }
        }
      }

      @media screen and (max-width: 430px) {
        aspect-ratio: 15 / 7;
      }

    }
  }

  &.fb2{
    & .flow_day {
      background: #F6EBE2;
    }
  }

  &.noarrow{
    & .flow_day {
      &::before,
      &::after {
        content: none;
      }

      & span {
        top: 0px;
        font-size: 14px;
      }
    }

    & .flow_content {
      border: none;
    }

    & .flow_ph {
      border: none;
    }

  }
}

.area_facilites{
  background: #F4F4F2;
  background: linear-gradient(160deg, #F4F4F2 0%, #F8F8F8 50%, #F4F4F2 100%);
  padding: 130px 0 100px;

  @media screen and (max-width: 640px) {
    padding: 110px 0 60px;
  }

  & .sec_box{
    max-width: 800px;
    margin: 0 auto;

    @media screen and (max-width: 640px) {
      padding: 0 20px;
    }
  }
}

.slide_area{
  margin-bottom: 20px;

  & .slide_main{
    margin-bottom: 20px;

    & .slide_main_item{
      & img{
        display: block;
        width: 100%;
        border-radius: 30px;
      }
    }
  }

  & .slide_thumb{
    max-width: 650px;
    margin: 0 auto;

    @media screen and (max-width: 640px) {
      padding: 0 40px;
    }

    & .slick-list{
      margin: 0 -8px;
    }

    & .slick-slide{
      margin: 0 8px;
      opacity: .4;
      transition: opacity .3s;
      cursor: pointer;
    }

    & .slick-current{
      opacity: 1;
    }

    & .slide_thumb_item{
      & img{
        display: block;
        width: 100%;
        border-radius: 15px;
      }
    }
  }
}


.facilites_infobox{
  max-width: 650px;
  margin: 0 auto 40px;
}

.facilites_title{
  display: flex;
  align-items: center;
  margin-bottom: 20px;
  font-weight: normal;

  & .add_area{
    border: 1px solid var(--base-color);
    padding: 8px 10px;
    border-radius: 4px;
    font-size: 14px;
    margin-right: 10px;
    white-space: nowrap;

    @media screen and (max-width: 640px) {
      white-space: normal;
      background: var(--key-color);
      border:none;
      font-weight: bold;
    }
  }

  & .facilites_name{
    font-size: 26px;
    font-weight: 500;
    font-family: var(--mincho);
    white-space: nowrap;

    @media screen and (max-width: 640px) {
      white-space: normal;
      font-weight: 600;
    }
  }
}

.facilites_detail{
  display: flex;
  font-size: 14px;
  margin-bottom: 8px;

  & dt{
    width: 4em;
    margin-right: 1em;
    position: relative;
    text-align: justify;
    text-align-last: justify;

    &::after{
      content: "：";
      position: absolute;
      left: 100%;
      width: 1em;
      text-align: center;
    }
  }

  & dd{
    flex: 1;
  }
}

.google_map{
  width: 100%;
  aspect-ratio: 16 / 8;

  @media screen and (max-width: 640px) {
    aspect-ratio: 16 / 11;
    padding: 0 20px;
    box-sizing: border-box;
  }

  & iframe{
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
  }
}


.area_achievements{
  padding: 130px 0 0px;

  @media screen and (max-width: 640px) {
    padding: 100px 0 0px;
  }

  & .sec_box{
    max-width: 700px;
    margin: 0 auto;
    padding: 0 20px;

    & .head2-title{
      margin-bottom: 6px;
    }
  }
}

.achievements_wrapper{
  & h3{
    font-size: 14px;
    font-family: var(--mincho);
    text-align: center;
    margin-bottom: 40px;
    font-weight: 500;

    @media screen and (max-width: 640px) {
      font-size: 16px;
      margin-bottom: 30px;
    }
  }
}

.achievements_box {
  display: grid;
  grid-template-columns: 34px 10fr 4fr;
  margin-bottom: 20px;
  border-radius: 10px;
  overflow: hidden;
  background: #F7F2EC;

  @media screen and (max-width: 640px) {
    grid-template-columns: 1fr;
  }

  & .achievements_num {
    grid-row: 1 / span 2;
    background: #F5ECE2;
    position: relative;
    display: grid;
    place-items: center;
    font-family: var(--mincho);

    & span {
      position: relative;
      z-index: 1;
      font-size: 14px;
    }

    @media screen and (max-width: 640px) {
      grid-column: auto;
      grid-row: auto;
      padding: 10px 0;

      & span {
        font-size: 20px;
      }
    }
  }

  & .achievements_content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 20px;

    & h4 {
      margin-bottom: 8px;
      font-weight: 500;
      font-family: var(--mincho);
      font-size: 17px;
      letter-spacing: 2px;
    }

    & p {
      line-height: 1.8;
      font-size: 12px;
    }

    @media screen and (max-width: 640px) {
      & h4{
        font-size: 20px;
        font-weight: 600;
        text-align: center;
      }
      & p{
        font-size: 16px;
        line-height: 2;
      }
    }
  }

  & .achievements_ph {
    padding: 10px;
    display: grid;
    align-items: center;
    align-self: start;

    & figure {
      margin: 0;

      & img{border-radius: 4px;}
    }

    @media screen and (max-width: 640px) {
      padding: 0 20px 20px;
    }
  }

  & .achievements_note {
    grid-column: 2 / -1;
    padding: 0 20px 20px;
    font-size: 12px;
    line-height: 1.8;

    @media screen and (max-width: 640px) {
      grid-column: auto;
      grid-row: auto;
      padding: 0 20px 20px;
    }
  }
}

.area_faq{
  padding: 110px 0 100px;

  & .sec_box{
    max-width: 550px;
    margin: 0 auto;

    & .head2-title{
      margin-bottom: 5px;

      & .entitle{
        padding: 4px 30px;
      }
    }
  }

  @media screen and (max-width: 640px) {
    padding: 110px 0 60px;

    & .sec_box{
      padding: 0 20px;
    }
  }
}

.faq_box{
  border-bottom: 1px solid #ccc;


  & h3{
    display: flex;
    font-family: var(--mincho);
    font-size: 17px;
    padding: 20px 0;
    position: relative;
    cursor: pointer;

    & span{
      width: 24px;
      display: grid;

      & i{
        background: var(--key-color);
        width: 24px;
        height: 24px;
        font-style: normal;
        display: block;
        font-size: 12px;
        line-height: 24px;
        text-align: center;
        border-radius: 2px;
      }
    }

    & b{
      padding: 0 20px 0 10px;
      font-weight: 600;
    }

    &::after{
      width: 14px;
      position: absolute;
      display: block;
      content: url('../image/icon_plus.svg');
      top: 50%;
      transform: translateY(-50%);
      right: 0;
    }

    &.is-open::after{
      content: url('../image/icon_minus.svg');
    }
  }

  & p{
    background: #F8F7F7;
    padding: 14px;
    font-size: 12px;
    line-height: 1.8;

    @media screen and (max-width: 640px) {
      font-size: 16px;
    }
  }
}


.area_infomation{
  padding: 130px 0 100px;
  background: #F5F4F2;
  background: linear-gradient(160deg, #F5F4F2 0%, #FCFCFC 50%, #F5F4F2 100%);

  & .sec_box{
    max-width: 800px;
    margin: 0 auto;

    & .head2-title{
      margin-bottom: 40px;

      @media screen and (max-width: 640px) {
        margin-bottom: 20px;
      }
    }
  }

  @media screen and (max-width: 640px) {
    padding: 110px 0 60px;

    & .sec_box{
      padding: 0 20px;
    }
  }
}

.infomation_box{
  display: grid;
  grid-template-columns: 1fr 0.9fr;
  grid-template-rows: 1fr auto;
  grid-template-areas:
  "content photo"
  "link    photo";
  background: #fff;
  border-radius: 10px;
  overflow: hidden;

  @media screen and (max-width: 640px) {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    grid-template-areas:
    "content"
    "photo"
    "link";
    gap: 20px;
    padding: 20px;
  }

  & .info_content{
    grid-area: content;
    padding: 30px 30px 0;
    font-size: 13px;
    line-height: 1.8;

    & p{
      margin-bottom: 35px;
    }

    @media screen and (max-width: 640px) {
      padding: 0;
      font-size: 14px;

      & p{margin-bottom: 0;}
    }
  }

  & .infomation_ph{
    grid-area: photo;

    & img{
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    @media screen and (max-width: 640px) {
      border-radius: 10px;
      overflow: hidden;
    }
  }

  & .arrow_link{
    grid-area: link;
    margin-right: 30px;
    margin-bottom: 30px;
    margin-left: 30px;

    @media screen and (max-width: 640px) {
      margin: 0px;
    }
  }
}

.arrow_link{
  display: block;
  background: var(--key-color);
  border-radius: 10px;
  overflow: hidden;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;

  & .link_text{
    font-weight: 600;
    padding-left: 20px;
    font-size: 13px;
  }

  & .arrow_icon{
    width: 18px;
    padding: 14px;
    display: block;
    content: url('../image/icon_arrow.svg');
    background: #49302A;

    & img{
      display: block;
    }
  }
}


.area_more{
  padding: 130px 0 100px;
  background: #F6EBE2;
  background: linear-gradient(160deg, #F6EBE2 0%, #FDF8F2 50%, #F6EBE2 100%);

  & .sec_box{
    max-width: 800px;
    margin: 0 auto;

    & .head2-title{
      & .entitle{
        padding: 4px 20px;
      }
    }
  }

  @media screen and (max-width: 640px) {
    padding: 110px 0 60px;

    & .sec_box{
      padding: 0 20px;
    }
  }
}

.more_title{
  font-family: var(--mincho);
  margin-bottom: 30px;

  & h3{
    position: relative;
    font-size: 24px;
    text-align: center;
    padding: 0 120px;
    font-weight: 600;

    &::before,
    &::after{
      position: absolute;
      content: "";
      display: block;
      width: 120px;
      height: 2px;
      background: var(--base-color);
      top: 50%;
      left: 0;
      transform: translateY(-50%);
    }

    &::after{
      left: auto;
      right: 0;
    }

    @media screen and (max-width: 640px) {
      padding: 0;
      margin-bottom: 30px;

      &::before,
      &::after{
        content: none;
      }
    }
  }

  & p{
    text-align: center;
    font-size: 14px;
    font-family: sans-serif;

    @media screen and (max-width: 640px) {
      font-size: 16px;
      font-weight: 600;
    }
  }
}

.contact_area{
  display: flex;
  align-items: center;
  gap: 20px;

  @media screen and (max-width: 640px) {
    flex-direction: column;
  }

  & li{
    flex: 1;

    @media screen and (max-width: 640px) {
      width: 100%;
    }

    & a{
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: var(--mincho);
      height: 68px;
      border-radius: 10px;

      & span{
        display: block;
      }
    }
  }
}

.tel_btn a{
  background: #285F3A;
  color: #fff;
  font-size: 40px;
  gap: 10px;

  & .icon{
    width: 40px;
  }

  @media screen and (max-width: 640px) {
    font-size: 45px;

    & .icon img{
      transform: translateY(-4px);
    }
  }
}

.contact_btn a{
  background: #582A2A;
  color: #fff;
  font-size: 25px;
  justify-content: space-between;
  gap: 0px;


  & .link_text{
    width: calc(100% - 20px);
    text-align: center;
  }

  & .icon{
    width: 20px;
    border-left: 2px solid #fff;
    padding: 14px;
  }
}
