@charset "utf-8";

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

    1.index
    2.group
    3.contact

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

body, .banner_box {
    max-width: 100vw;
    overflow-x: hidden;
}

.banner_box {
  z-index: 100;
} 

.header_text{
  line-height: 1.5;
}

.top_view {
  position: relative;
}

.top_image_sp {
    display: none;
}

.top_image2 {
  position: absolute;
  bottom: 1vw;
  right: 12vw;
  z-index: 10;
  display: block;
  width: 46vw;
  min-width: 400px;
}

.sec5_box {
  max-width: 1200px;
}

.sec5_point_redbox, .sec5_point_orangebox  {
  max-width: 780px;
  margin-left: auto;
}


.sec5_point_greenbox {
  max-width: 780px;
}

/*------------------------------------------*/
/*	section3
/*------------------------------------------*/

.starting_sec3_bk {
  background: #fcabbe;
}

.sec1_text_title {
  color: #fff;
  font-size: 20px;
  text-shadow: 1px 1px 0 #808080, -1px -1px 0 #808080,
              -1px 1px 0 #808080, 1px -1px 0 #808080,
              0px 1px 0 #808080,  0-1px 0 #808080,
              -1px 0 0 #808080, 1px 0 0 #808080;
} 

.sec5_title2 img {
  max-width: 520px;
  padding: 0 20px;
}


.starting_sec3_bk .sec1_text_box {
  background: #fff;
  padding: 2rem 3rem;
  margin-bottom: 2em;
}

.sec1_box {
 padding-bottom: 0;
 align-items: end;
}

.sec1_checkbox {
  margin-right: 16px;
}

.sec1_text {
  font-size: 1.2rem;
  line-height: 2.4;
  margin-bottom: 0;
  font-weight: bold;
  }

 .sec2_title_box.starting_sec3_title {
   background: #8b354a;
 }


.starting_sec4_bk {
  background: #faedf0;
}

.sec2_box {
  flex-direction: column;
  align-content: center;
}

.starting_sec4_box1 {
  display: flex;
  gap: 4rem;
  margin: 0 auto 4rem;
  padding: 20px 4%;
  background: #fff;
  border: 2px solid #8b354a;
  font-size: 1.2em;
  line-height: 2.4;
  max-width: 900px;
  width: 100%;
  justify-content: space-around;
  position: relative;
  flex-wrap: wrap;
}

.starting_sec4_box1:before {
  content: "";
  position: absolute;
  bottom: -83px;
  left: 50%;
  margin-left: -62px;
  border: 60px solid transparent;
  border-top: 25px solid #FFF;
  z-index: 2;
} 

.starting_sec4_box1:after {
  content: "";
  position: absolute;
  bottom: -85px;
  left: 50%;
  margin-left: -62px;
  border: 60px solid transparent;
  border-top: 25px solid #8b354a;
  z-index: 1;
}

.starting_sec4_box1 ul {
  width: 18rem;
}

.starting_sec4_bottom {
  text-align: center;
}

.starting_sec4_bottom b {
   font-size: 2rem;
   color: #8b354a;
}

.starting_sec4_fee {
  background: #8b354a;
  color: #fff;
  padding: .6em;
  max-width: 600px;
  margin: 20px auto;
  font-size: 1.6rem;
}

.starting_sec4_small {
  text-align: left;
  margin: 0 auto;
  max-width: 600px;
}


/*------------------------------------------*/
/*	section5
/*------------------------------------------*/

.starting_sec5_main {
  background: #fcefde;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 50px 100px;
}

.starting_sec5_title {
  color: #936324;
}


.starting_sec5_box {
  border: 2px solid #936324;
}

.starting_sec5_txt_title {
  background: #936324;
  color: #fff;
}


/*------------------------------------------*/
/*	アクセス / ACCESS
/*------------------------------------------*/
.outline_frame {
    margin: 0 auto;
    background: #b7b1a9;
  }

  .outline_wrap {
    width: 1240px;
    box-sizing: border-box;
    margin: 0 auto;
    padding: 50px 100px;
    text-align: left;
  }

  .outline_frame h2 {
    padding: 20px 30px;
    font-size: x-large;
    font-weight: bold;
    text-align: center;
    box-sizing: border-box;
    line-height: 100%;
    color: #fff;
  }

  .outline_box {
    margin: 0 auto;
    padding: 10px 20px;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    background: #fff;
  }

  table.outline_table {
    text-align: left;
    box-sizing: border-box;
    padding: 10px;
  }

  table.outline_table th {
    width: 150px;
    padding: 10px 10px;
    font-weight: normal;
    vertical-align: top;
    text-align: left;
    box-sizing: border-box;
  }

  table.outline_table td {
    width: 350px;
    padding: 10px 10px;
    vertical-align: top;
    box-sizing: border-box;
  }

  table.outline_table ul {
    list-style-type: disc;
    padding: 10px 25px;
  }

  .outline_title_box {
    float: right;
  }

/*------------------------------------------*/
/*	アクセス / ACCESS
/*------------------------------------------*/

.access_frame {
    margin: 0 auto;
  }

  .access_wrap {
    width: 1240px;
    box-sizing: border-box;
    margin: 0 auto;
    padding: 50px 20px 50px;
    text-align: left;
  }

  .access_frame h2 {
    padding: 20px 0;
    font-weight: bold;
    font-size: 2rem;
    text-align: center;
    box-sizing: border-box;
    line-height: 100%;
    color: #83796c;
  }

  .access_contact {
    background: #f2eee9;
    padding: 1em 4vw;
    margin-bottom: 3rem;
  }

  .access_frame h3 {
    font-size: x-large;
    text-align: center;
    color: #fff;
    padding: .4em 0;
  }

 .access_contact h3 {
    text-align: left;
    color: initial;
    font-size: large;
  }
  
  .access_office {
    background:#caaa7f;
  }

  .access_kourien {
    background: #f4ac4d;
  }

  .access_box {
    margin: 0 auto;
    padding: 10px;
    box-sizing: border-box;
  }

  .access_textbox {
    padding: 20px;
    min-height: 17em;
    box-sizing: border-box;
  }

  .access_mapbox {
    padding: 0px 0;
    width: calc(50% - 2vw);
  }

  .access_map {
    height: 400px;
    width: 100%;
    border: 0;
  }

  .access_box  {
    display: flex;
    flex-wrap:wrap;
    gap: 4vw;
    width: 1180px;
    padding: 0px 0;
  }

.contact_form {
  padding: 4rem;
}

.contact_privacy_policy {
  max-width: 900px;
  margin: 1em auto;
}

.contact_privacy_policy div {
  max-height: 26vh;
  overflow-y: scroll;
  padding: 2rem;
  background: #fff;
}

.contact_privacy_policy ol {
  padding-left: 1.5em;
  list-style: decimal;
}


.contact_privacy_policy ol ul {
  list-style: disc;
  padding-left: 1.5em;
}

.contact_main_box {
  padding-bottom: 20px;
}


@media (max-width: 520px){
.sp_br {
  display: none;
}

.header_logo {
  margin-bottom: 1em;
}

.top_image {
    display: none;
}

.top_image_sp {
    display: block;
}
.top_image2 {
    position: unset;
    min-width: unset;
    width: 100%;
  } 

.top_view_sp {
    display: block;
}

.starting_sec5_main{
  padding: 50px 0;
}
  .outline_wrap,.access_wrap,.access_box  {
    width: 100%;
    padding: 1em;
  }
  .access_box {
    flex-direction: column;
    padding: 0;
  } 
  .access_mapbox  {
    width: 100%;
  }

  .access_textbox {
    padding: 1em 0;
    min-height: unset;
  }

  .window_box {
    width: unset;
    margin: 10px 10px 0;
  }

  .contact_form {
    padding: 2em;
  } 

  .sec1_image_box img {
    max-height: 20rem;
    width: auto;
  }

.starting_sec4_box1{
  gap: 0;
}



}