@charset "UTF-8";
html {
  scroll-padding-top: 10vw; /* 固定ヘッダの高さ分 */
}
body{
  width: 100%;
  font-family: "Noto Sans", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #231815;
  line-height: 1.8;
}
img{
  width: 100%;
}
main{
  width: 100%;
  background-color: #E7EBC2;
}
.main_about{
    background-color: #fff;
    padding-top: 0em;
    padding-right: 0;
    padding-left: 0;
    padding-bottom: 3em;
}
.main_recruit{
    background-color: #FDE9Db;
}
.sp,.sp_in{
  display: none;
}
a{
  text-decoration: none;
  color: inherit;
}
a:hover{
  opacity: 0.5;
  transition: 0.3s;
}
a:visited{
  color: inherit;
}

/* スクロールアニメーション
===================================== */
/* 下から */
.fadeUp {
  -webkit-animation-name: fadeUpAnime;
          animation-name: fadeUpAnime;
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

/*header*/
header {
  width: 100%;
  box-sizing: border-box;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  align-items: center;
  z-index: 999;
}
.header {
  background: #fff;
  padding: 2em 0 0;
  z-index: 999;
  position: relative;
}
.nami{
  margin-top: -5vw;
  margin-left: -7vw;
  margin-right: -7vw;
}
.header_logo{
	text-align: center;
	float: none;
	max-width: 100%;
}
.header_logo a img{
  width: 30vw;
  max-width: 400px;
}
.hamburger{
  position: absolute;
  top: 3vw;
  right: 2vw;
  width: min(8vw, 89px);
  height: min(11vw, 94px);
  padding: 0;
}
.hamburger-menu {
    border: none;
    background: transparent;
    appearance: none;
    padding: 0;
    position: fixed;
    top: min(3vw, 30px);
    right: min(3vw, 30px);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: min(14vw, 50px);
    height: min(14vw, 50px);
    background-color: #EBAC82;
    transition: transform 250ms ease;
    cursor: pointer;
    z-index: 200;
}
.hamburger-menu__bar {
  background: #fff;
  position: relative;
  display: block;
  width: 68%;
  height: 0.4em;
  background-color: #fff;
  float: right;
  transform-origin: center center;
  transition: transform 250ms ease;
  z-index: 200;
}
.hamburger-menu__bar:first-child {
  top:-0.5em
}
.hamburger-menu__bar:nth-child(2) {
  top: 0;
}
.hamburger-menu__bar:last-child {
  top: 0.5em;
}
.hamburger-menu--open .hamburger-menu__bar {
  top: 0;
}
.hamburger-menu--open .hamburger-menu__bar:first-child {
  transform: translateY(2px) rotate(45deg);
}
.hamburger-menu--open .hamburger-menu__bar:last-child {
  transform:translateY(-2px) rotate(-45deg);
}
.hamburger-menu--open .hamburger-menu__bar:nth-child(2) {
  display: none;
}
.navigation {
  display: none;
  background: #E7EBC2;
  position: absolute;
  top: 4em;
  width: min(50vw, 400px);
  z-index: 9999;
  right: 0;
}
.navigation__list {
  text-align: center;
  list-style: none;
  padding: 0;
  margin: 0;
}
.navigation__list-item {
  border-bottom: solid 1px #f6ab00;
}
li.navigation__list-item{
  margin-left: 0;
}
.navigation__list-item:first-child {
  border-top: solid 1px #f6ab00;
}
.navigation__list-item02 a{
  font-size: 0.8em;
}
.navigation__link {
  font-weight: normal;
  text-decoration: none;
  display: block;
  padding: 0.4em 0;
  transition: .5s;
  font-size: min(4vw, 24px);
}
.navigation__link:hover {
  background: #f6ab00;
  color: #fff;
}
.header_btn{
  margin-top: 0.15rem;
}
.header_btn a{
  font-size: clamp(0.75rem, 0.457rem + 1.25vw, 1.5rem);
}
.btn a{
  background-color: #3B5998;
  border-radius: 100vh;
  box-shadow: 0px 0.25rem 0.25rem 0px rgba(0, 0, 0, 0.25);
  color: #fff;
  padding: 0.6rem 0.8rem;
  font-weight: 600;
  display: block;
}

/*fv*/
#fv,#fv_about{
    background-color: #E7EBC2;
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: min(17vw,210px) 0 min(2vw,30px);
    margin-top: -1vw;
}
.fv_in{
  display: flex;
  width: min(90%,1000px);
  margin: 0 auto;
  justify-content: space-between;
  align-items: center;
}
.fv_img,.fv_right{
  width: 46%;
}
.main_fv_btn{
  width: min(35%, 150px);
  position: relative;
  bottom: min(14vw, 159px);
  margin-bottom: max(-14vw, -159px);
}
.fv_right{
  width: 50%;
}
.information_table{
    border: 1px solid EBAC82;
    width: 100%;
    border-collapse: collapse;
    background: #fff;
}
.information_table tr,.information_table td{
  border: none;
}
.information_table th{
    background-color: #EBAC82;
    color: #fff;
    font-weight: bold;
    line-height: 2;
}
.information_table td{
  background-color: #fff;
  padding: 0 1em;
  line-height: 1.6;
}
.information_table .td_br{
  padding: 0.5em;
}
.information_table .td_border{
  border-left: 1px solid #7d7d7d;
  padding-top: 0;
  padding-bottom: 0;
  border-bottom: none;
}
.info_a{
	position: relative;
	display: inline-block;
	padding: 0 0 0 16px;
	color: #000;
	vertical-align: middle;
	text-decoration: none;
  font-size: 1em;
}
.info_a::before,
.info_a::after{
	position: absolute;
	top: 0;
	bottom: 0;
  right: 8px;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.info_a::before{
	width: 12px;
	height: 12px;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	background: #264a64;
}
.info_a::after{
	right: 9px;
	box-sizing: border-box;
	width: 3px;
	height: 3px;
	border: 3px solid transparent;
	border-left: 3px solid #fff;
}
.recruit01 {
    display: inline-block;
    text-align: center;
    /* [disabled]vertical-align: middle; */
    text-decoration: none;
    padding-top: 0.2rem;
    padding-right: 0.5rem;
    padding-left: 0.5rem;
    padding-bottom: 0.3rem;
    font-weight: normal;
    background: #EBAC82;
    color: #fff;
    border-radius: 3em;
    transition: 0.5s;
    font-size: small;
    width: auto;
    margin-right: 0.3rem;
    height: 1.5em;
    white-space: nowrap;
  }
.readmore{
  text-align: right;
  width: 100%;
}
.readmore td{
    padding-bottom: 0.5em;
    margin-right: 0.5px;
}
.readmore td a{
  padding-right: 1.6em;
}
.time_fv{
  width: auto;
  margin: 1.5em 0;
}
.info_about a{
    background-color: #EBAC82;
    color: #fff;
    padding: 0.2em 0.8em 0.2em 0.6em;
    font-weight: 400;
    margin-left: 1em;
}

/*intro*/
#intro{
  padding: 3em;
  background-color: #fff;
}
.splide__slide img {
  height: auto;
  width: 100%;
}

/*共通*/
.content_in{
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
}
.h2_midashi{
  text-align: center;
}
h2{
    display: inline-block;
    text-align: center;
    padding: 2em 0 1em;
    margin: 0 auto;
    color: #6eba44;
    font-size: 2em;
    letter-spacing : 4px;
    text-shadow: 2px  2px 1px #ffffff,
        -2px  2px 1px #ffffff,
        2px -2px 1px #ffffff,
        -2px -2px 1px #ffffff,
        2px  0px 1px #ffffff,
        0px  2px 1px #ffffff,
        -2px  0px 1px #ffffff,
        0px -2px 1px #ffffff;
}

/*details*/
.details_ul{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.details_ul li{
    width: 13%;
}
.details_ul li a{
  display: block;
}

/*guidance*/
.guidance_in{
  background-color: #fff;
  padding: 1em;
  margin-bottom: 2em;
}
.guidance_table {
  width: 100%;
}
.guidance_table th {
    padding: 0 2em;
    font-size: 1.5em;
    text-align: center;
    color: #EBAC82;
    font-weight: bold;
    width: 30%;
}
.guidance_table th img{
  width: 3.5em;
  margin: 1em auto 0;
  display: block;
}
.guidance_table td{
  border-left: #f6ab00 solid 1px;
  padding: 0 2em;
  line-height: 1.8;
  font-size: 1em;
}
.guidance_span01{
  line-height: 2;
  font-size: 1.1em;
}
.guidance_span02{
  line-height: 2;
  font-size: 1em;
}
.guidance_span03{
  padding-left: 7em;
  font-size: 0.9em;
  line-height: 1;
}
.guidance_table td p{
  padding-top: 1em;
}
.table_kome {
  padding-left: 3em;
  font-size: 0.9em;
}

/*gallery*/
.gallery{
  background-color: #fff;
  padding: 3em 0;
}
.gallery_in{
  display: flex;
  justify-content: space-between;
}
.gallery_in img{
  width: 48%;
}
.gallery02{
  background-color: #E7EBC2;
  padding-bottom: 1em;
}

/*recruit*/
#recruit{
    padding: 3em 0;
    color: #8BA865;
}
.recruit_in{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.recruit_in img{
  width: 40%;
}
.recruit_text{
  width: 55%;
}
.recruit_text p{
  font-size: 1.5em;
  font-weight: bold;
  line-height: 1.8;
}
.recruit_text a{
  padding-left: 6em;
  font-size: 1.2em;
  text-align: right;
  line-height: 1.8;
}

/*reserve*/
#reserve{
  background-color: #fff;
  padding: 3em;
}
.reserve_in img{
  width: 93%;
  margin: 0 auto;
  display: block;
}

/*map*/
.map_in{
  width: 100%;
  height: 30em;
}
#map h3{
    /* [disabled]color: #fff; */
    font-size: 1.1em;
    text-align: center;
    font-weight: normal;
    line-height: 1.8;
    padding-top: 1em;
    padding-bottom: 2em;
}

/*other*/
#other{
    padding: 2em 0;
    background-color: #FDE9DB;
    height: auto;
    display: flex;
}
.other_in{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-top: 0px;
}
.other_img{
  width: 48%;
}
.other_text{
  width: 48%;
  font-size: 1.1em;
}
.other_text .h2_midashi{
  text-align: left;
  padding-top: 1em;
}
.other_text .h2_midashi h2{
    padding: 0;
    line-height: 120%;
    letter-spacing: 0.1em;
}
.other_in02{
  align-items: end;
  width: auto;
  margin-top: -10em;
  padding-left: 1em;
}
.other_in02 .other_text{
  padding-left: 1.3em;
  padding-bottom: 1em;
}

/*about*/
#about,.about_about{
  color:#003e6a;
  text-align: center;
  background-color: #fff;
  padding: 3em 0;
}
.about_logo{
  width: 28em;
  margin: 0 auto 1em;
}

/*footer-link*/
footer{
  background-color: #E7EBC2;
}
.footer-link{
    display: flex;
    color: #8BA865;
    width: 90%;
    margin: 0 auto;
    justify-content: space-between;
    max-width: 900px;
    padding: 2em 0;
    font-size: 1em;
}
.footer-link ul{
  list-style: disc;
  width: 25%;
  line-height: 3;
}
.sns{
  width: 12%;
  text-align: center;
  padding-top: 1em;
}
.sns img{
  width: 45%;
  margin: 0 auto;
  display: block;
}
.footer-link ul.about_ul{
  list-style: none;
  width: 40%;
  font-size: 0.8em;
  padding-left: 1em;
  padding-top: 0.5em;
}
.footer_ul_in{
  width: 30%;
  display: flex;
}

@media screen and (max-width:767px) {
  html {
    scroll-padding-top: 15vw; /* 固定ヘッダの高さ分 */
  }

  .pc{
    display: none;
  }
  .sp{
    display: block;
  }
  .sp_in{
    display: inline-block;
  }
  .header {
    padding: 1em 0 0;
  }
  .header_logo a img {
    width: 60vw;
    margin-left: -5vw;
  }
  .navigation__link {
    padding: 1em 0;
  }
  #fv, #fv_about {
    background-size: inherit;
    padding-top:25vw;
  }
  .fv_in{
    display: block;
  }
  .fv_img,.fv_right{
    width: 100%;
  }
  .main_fv_btn {
    bottom: 31vw;
    margin-bottom: -31vw;
  }
  .fv_right{
    padding-top: 1em;
  }
  .information_table td {
    line-height: 1.6;
    font-size: 0.8em;
  }
  h2 {
    padding: 1em 0 0.5em;
  }
  #intro {
    padding: 1em 0;
    font-size: 1.5em;
  }
  .details_ul {
    flex-wrap: wrap;
  }
  .details_ul li {
    width: 31%;
  }
  .guidance_table tr{
    display: block;
  }
  .guidance_table th{
    padding: 0 0 0.5em;
    width: 100%;
    display: block;
  }
  .guidance_table th img{
    width: 3em;
    margin: 0 auto;
  }
  .about_logo {
    width: 90%;
  }
  .sns {
    width: 31%;
    margin: 0 auto;
  }
  .guidance_table td {
    border-left:none;
    border-top: #f6ab00 solid 1px;
    padding: 0.5em 0.5em 0;
    display: block;
    text-align: center;
  }
  .guidance_table td p {
    margin: 0 auto;
    display: block;
  }
  .guidance_span01 {
    line-height: 2;
    margin: 0 auto;
    display: block;
  }
  .guidance_span03 {
    padding-left: 6em;
  }
  .table_kome {
    padding-left: 0.5em;
  }
  .recruit_in{
    display: block;
  }
  .recruit_in img{
    width: 80%;
    display: block;
    margin: 0 auto;
  }
  .recruit_text{
    width: 100%;
  }
  .recruit_text p {
    font-size: 1.2em;
    padding-top: 0.5em;
    text-align: center;
  }
  .recruit_text a {
    width: auto;
    display: block;
    font-size: 1.1em;
    padding-left: 0;
    text-align: center;
  }
  #reserve {
    padding: 2em 0;
  }
  .reserve_in img{
    width: 100%;
  }
  .map_in {
    height: 17em;
  }
  .other_in{
    flex-wrap: wrap;
  }
  .other_img{
    order: 2;
    width: 80%;
    margin: 0.5em auto;
  }
  .other_text{
    order: 1;
    width: 100%;
  }
  .other_text .h2_midashi{
    padding-top: 0;
    text-align: center;
  }
  .other_in02 .other_text{
    padding: 0;
  }
  .other_in02{
    margin-top: 0.5em;
    padding: 0;
  }
  .other_text{
    font-size: 1em;
  }
  .footer_btn{
    background:rgba(255, 255, 255, 0.5);
    color: #fff;
    font-weight: bold;
    position: fixed;
    bottom: 0;
    width: 100%;
    padding: 0.5em 0;
    text-align: center;
  }
  .footer_btn ul{
    display: flex;
    justify-content: space-between;
    width: 90%;
    margin: 0 auto;
  }
  .footer_btn img{
    width: 5vw;
    display: block;
    margin: 0 auto;
  }
  .footer_btn_tel{
    background-color: #EBAC82;
    border-radius: 1em;
    width: 48%;
    padding: 0.5em 0;
  }
  .footer_btn_web{
    background-color: #6eba44;
    border-radius: 1em;
    width: 48%;
    padding: 0.5em 0;
  }
  .footer-link {
    padding-bottom: 8em;
  }
}



/*about.html*/
#about_details{
    background-color: #FDE9DB;
    padding-bottom: 3em;
}
#about_details h3{
    color: #EBAC82;
    font-size: 1.5em;
}
.about_details_flex{
  display: flex;
  justify-content: space-between;
  padding-top: 3em;
}
#details01 {
  margin-top: -3em;
}
.about_details_img{
  width: 36%;
}
.about_details_text{
  width: 58%;
}
.about_details_text p{
  font-size: 1em;
}

/*docter*/
#doctor{
  background-color: #fff;
  padding: 3em 0;
}
#doctor h2 {
  position: relative;
  padding: 1rem;
  font-weight: bold;
}
#doctor h2:before,
#doctor h2:after {
  position: absolute;
  top: 48%;
  width: min(32vw,350px);
  border-top: 2px dashed;
  content: '';
}
#doctor h2:before {
  left: -24rem;
}
#doctor h2:after {
  right: -24rem;
}
.doctor_in{
    display: flex;
    justify-content: space-between;
    width: 80%;
    margin: 1em auto;
}
.doctor_img,.doctor_text{
  width: 48%;
}
.doctor_text h4 {
    color: #EBAC82;
    font-size: 1.5em;
    width: 7em;
    margin-top: 5em;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 8em;
}
.doctor_text02 h4{
    margin-top: 5em;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 8em;
}
.doctor_text h4 span{
  font-size: 1.4em;
}
.doctor_text img{
  position: relative;
  bottom: 0;
}
#about_about h5{
    color: #EBAC82;
    font-size: 1.48em;
    text-align: center;
    padding: 3em 0 2em;
}

@media screen and (max-width: 767px)  {
  .about_details_flex{
    flex-wrap: wrap;
    flex-direction: column;
  }
  .about_details_img,.about_details_text{
    width: 100%;
  }
  .about_details_img{
    order: 2;
  }
  .about_details_text{
    order: 1;
  }
  #doctor h2{
    padding: 0;
  }
  #doctor h2:before,
  #doctor h2:after {
    width: 14vw;
  }
  #doctor h2:before {
    left: -4rem;
  }
  #doctor h2:after {
    right: -4rem;
  }
  .doctor_text h4 {
    font-size: 1em;
    margin-top: 5em;
    margin-right: 0;
    margin-left: 0;
    margin-bottom: 0;
  }
  .doctor_text02 h4 {
    margin-top: 5em;
    margin-right: 0;
    margin-left: 0;
    margin-bottom: 0;
  }
}


/*recruit.html*/
.recruit_about_flex{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.recruit_about_img{
  width: 45%;
}
.recruit_about_text{
  width: 50%;
}
.recruit_about_text p{
  font-size: 1.7em;
  color: #6eba44;
  font-weight: bold;
}
#recruit_about h3{
  text-align: center;
  font-size: 2.2em;
  padding: 1em 0 0;
  font-weight: normal;
}
#recruit_about h4{
  color: #6eba44;
  font-size: 1.5em;
  padding-top: 1em;
}
.recruit_table{
    border-collapse: collapse;
    border: 1px solid #6eba44;
    background-color: #fff;
    width: 100%;
    margin-bottom: 1em;
}
.recruit_table th,.recruit_table td{
    border-collapse: collapse;
    border: 1px solid #6eba44;
    font-size: 1.1em;
    padding: 0.2em 1em;
    vertical-align: middle;
}
.recruit_table th{
  width: 30%;
  font-weight: bold;
}
.company_table {
    border: 1px solid #6eba44;
}
.company_table th{
    border-right-color: #6eba44;
    border-right-style: solid;
    /* [disabled]border-right-width: medium; */
    /* [disabled]border-top-width: medium; */
    /* [disabled]border-bottom-width: medium; */
    /* [disabled]border-left-width: medium; */
}
.company_table td span{
  font-size: 0.7em;
}
.map_table {
  width: 100%;
  height: 20em;
  margin: 0.5em 0;
}
.about_about02 {
    background-color: #FFFFFF;
}


@media screen and (max-width: 767px)  {
  .recruit_about_flex{
    display: block;
  }
  .recruit_about_img{
    width: 80%;
    margin: 0 auto;
  }
  .recruit_about_text{
    width: 100%;
  }
  .recruit_about_text p {
    font-size: 1.23em;
    text-align: center;
  }
  #recruit_about h3 {
    font-size: 2em;
  }
  .recruit_table{
    border: none;
  }
  .recruit_table th,.recruit_table td{
    display: block;
    width: 95%;
    border: 1px solid #6eba44;
    font-size: 1em;
    padding: 0.2em 0.5em;
  }
  .recruit_table th{
    border-top: none;
    border-bottom: none;
  }
  .recruit_table tr:first-child th{
    border-top: 0.1em solid #6eba44;
  }
}


/*infomation.html*/
.news_table{
  width: 80%;
  margin: 0 auto 2em;
}
.news_table td{
    background-color: #fff;
    padding: 0.5em 1em;
    border-radius: 0 0.3em 0.3em 0;
    font-size: 1.1em;
}
.news_table th{
    background-color: #6eba44;
    color: #fff;
    width: 26%;
    padding: 0.5em 1em;
    vertical-align: middle;
    border-radius: 0.3em 0 0 0.3em;
    font-size: 1.5em;
}


@media screen and (max-width: 767px)  {
  .news_table {
    width: 100%;
    margin: 0 auto 2em;
  }
  .news_table tr{
    display: block;
  }
  .news_table td{
    border-radius: 0 0 0.3em 0.3em;
    font-size: 1.1em;
    display: block;
  }
  .news_table th{
    width: auto;
    border-radius: 0.3em 0.3em 0 0;
    font-size: 1.5em;
    display: block;
  }
}
