@charset 'utf-8';

/* common */
body {
  font-family: 'Zen Kaku Gothic New', sans-serif;
  line-height: 1.5;
  font-weight: 400;
  color: #333;
  background-color: f2f2f2;
}

section {
  padding: 104px 0;
}

section:nth-of-type(even) {
  background-color: #F2F7FB;
}

.wrapper {
  max-width: 1200px;
  margin: 0 auto;
}

h1,
h2,
h3,
h4 {
  font-family: 'Zen Maru Gothic', sans-serif;
  margin-top: 0;
  line-height: 1.2;
  letter-spacing: 0.2em;
  text-align: center;
}

h1 {
  font-size: 48px;
}

h2 {
  font-size: 32px;
}

h3 {
  font-size: 56px;
  color: #37A1DB;
  margin-bottom: 24px;
}

h4 {
  font-size: 24px;
  margin-left: 16px;
}

p {
  margin-top: 0;
  margin-bottom: 24px;
  letter-spacing: 0.1em;
  text-align: justify;
}

img {
  display: block;
  width: 100%;
  height: auto;
}

a {
  display: block;
  letter-spacing: 0.1em;
  color: #333;
  cursor: pointer;
  text-decoration: none;
}

a:hover {
  color: #37A1DB;
}

ul {
  list-style: none;
  padding: 0;
}

.btn {
  background-color: #37A1DB;
  width: 168px;
  margin: 0 auto;
  padding: 8px;
  color: #FFFDF8;
  cursor: pointer;
  border-radius: 20px;
  text-align: center;
}

.btn:hover,
.detail_btn:hover {
  color: #333880;
}

.btn::after,
.detail_btn::after {
  content: '→';
  color: #f2f2f2;
  padding-left: 4px;
}

.btn:hover:after,
.detail_btn:hover:after {
  color: #333880;
}

@media screen and (max-width: 768px) {
  section {
    padding: 64px 0;
  }

  h1 {
    font-size: 32px;
  }

  h2 {
    font-size: 24px;
  }
}

/* header start*/
.header {
  position: fixed;
  z-index: 1000;
  width: 100vw;
}

.header.change-color {
  background-color: rgba(255, 255, 255, 0.6);
  transition: 0.3s;
}

.header-logomenu {
  display: flex;
  justify-content: space-between;
  width: 100%;

}

.logo{
  width: 50%;
}

.logo-img {
  width: 20%;
}

.nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.nav li {
  margin-left: 24px;
  font-weight: bold;
}

.sp-only {
  display: none;
}

@media screen and (max-width: 768px) {
  .header {
    height: 80px;
    padding-top: 24px;
  }

  .pc-only {
    display: none;
  }

  .sp-only {
    display: block;
  }

  .gnav-item {
    font-weight: bold;
  }

  /*ハンバーガーメニュー*/
  .gnav-toggle {
    position: relative;
  }


  /*チェックボックス等は非表示*/
  .gnav-hidden {
    display: none;
  }

  /*アイコンのスペース*/
  #gnav-open {
    display: inline-block;
    width: 40px;
    height: 22px;
    vertical-align: middle;
  }

  /*ハンバーガーの形*/
  #gnav-open span,
  #gnav-open span::before,
  #gnav-open span::after {
    content: '';
    position: absolute;
    height: 3px;
    /*線の太さ*/
    width: 25px;
    /*長さ*/
    border-radius: 3px;
    background: #2c2c2c;
    display: block;
    cursor: pointer;
  }

  #gnav-open span::before {
    bottom: -8px;
  }

  #gnav-open span::after {
    bottom: -16px;
  }

  /*閉じる用の薄白箇所*/
  #gnav-close {
    display: none;
    position: fixed;
    z-index: 90;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #FFFDF8;
    opacity: 0;
    transition: 0.3s ease-in-out;
  }

  /*チェックがついたら表示させる*/
  #gnav-input:checked~#gnav-close {
    display: block;
    opacity: 0.5;
  }

  #gnav-input:checked~#gnav-content {
    transform: translateX(0%);
    box-shadow: 6px 0 25px rgba(0, 0, 0, 0.15);
  }

  /*メニューの中身*/
  #gnav-content {
    overflow: auto;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 300;
    width: 70%;
    max-width: 300px;
    height: 100%;
    background-color: #37A1DB;
    transition: 0.3s ease-in-out;
    transform: translateX(-105%);
  }

  .gnav-menu {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 50px;
  }


  .gnav-item {
    margin: 10px;
    padding-bottom: 20px;
  }

  .gnav-item a {
    color: #f2f2f2;
    font-size: 24px;
    font-weight: normal;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 200px;
    text-align: center;
  }

  .logo-img {
    width: 30%;
  }
}

/* main start */
.main {
  position: relative;
}

.main-text {
  position: absolute;
  top: 50%;
  left: 5%;
  text-shadow: 0px 0px 6px #fff;
  font-family: 'Shippori Mincho', serif;
}

.fv-medical {
  position: absolute;
  top: 60%;
  left: 5%;
  width: 35%;
  box-shadow: 0px 0px 40px 16px rgba(102, 102, 102, 0.1);
}

.my-slick img {
  height: 100vh;
  margin: auto;
  max-height: 100%;
  max-width: 100%;
  object-fit: cover;
  object-position: 0% 5%;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .my-slick img {
    object-position: 70% 0%;
  }

  .fv-medical {
    position: initial;
    width: 90%;
    margin: 0 auto;
  }

  .main-text {
    writing-mode: vertical-rl;
    padding-left: 16px;
    top: 20%;
    left: 0;
  }

}

/* news start */
.container {
  text-align: center;
}

.news-contents {
  display: inline-block;
}

.news-list {
  text-align: left;
}

.news_link {
  display: flex;
  text-align: center;
}

.news_title {
  margin-left: 32px;
}

@media screen and (max-width: 768px) {
  .news_link {
    flex-direction: column;
    align-items: center;
  }

  .time {
    margin-bottom: 0;
  }

  .news_title {
    margin-left: 0;
  }
}

/* info start */
.info {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
}

.info-container {
  width: 45%;
}

.info-contents {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  padding: 0;
}

.info_list {
  border: solid 1px #333;
  font-size: 24px;
  margin: 36px;
  padding: 16px;
  background-color: #fff;
}

.info_img {
  width: 50%;
  object-fit: cover;
  border-radius: 8px;
}

@media screen and (max-width: 768px) {
  .info {
    flex-direction: column-reverse;
    align-items: center;
  }

  .info-container {
    width: 100%;
  }

  .info_list {
    margin: 8px;
    padding: 8px;
  }

  .info_img {
    width: 90%;
  }
}

/* about start */
.about-contents {
  display: flex;
}

.about-list {
  width: 50%;
  margin: 24px;

}

.about_text {
  display: flex;
  justify-content: center;
  align-items: flex-end;
}

.about_title {
  text-align: left;
}

.about_img {
  width: 90%;
  margin: 0 auto;
  border-radius: 8px;
  margin-bottom: 56px;
}

@media screen and (max-width: 768px) {
  .about-contents {
    flex-direction: column;
  }

  .about-list {
    width: 90%;
    margin: 0 auto;
  }

  .about_text {
    align-items: center;
  }

  .about_text h3 {
    font-size: 32px;
  }

  .about_title {
    font-size: 16px;
  }

  .about_img {
    margin-bottom: 32px;
  }
}

/* access start */
.access-area {
  display: flex;
  width: 100%;
}

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

.medical-img {
  width: 50%;
  object-fit: contain;
}

@media screen and (max-width: 768px) {
  .access-area {
    flex-direction: column;
  }

  .access-area iframe,
  .medical-img {
    width: 90%;
    margin: 0 auto;
  }
}

/* footer start */
.footer {
  background-color: #256B91;
}

.footer-menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.footer_info{
  width: 40%;
}

.white-img{
  width: 60%;
}

.address {
  font-style: normal;
  color: #fff;
}

.footer_nav {
  display: flex;
}

.footer_nav li {
  margin-left: 24px;
  font-weight: bold;
}

.footer_nav a {
  color: #f2f2f2;
}

.footer_nav a:hover {
  color: #55a9d7;
}

.small {
  text-align: right;
  color: #f2f2f2;
  margin: 0;
  padding-bottom: 8px;
  background-color: #256B91;
}

@media screen and (max-width: 768px) {
  .footer-menu {
    display: block;
  }

  .footer_info{
    width: 100%;
  }

  .white-img {
    width: 80%;
    margin: 0 auto;
  }

  .address{
    text-align: center;
    padding-bottom: 8px;
  }

  .footer_nav {
    display: none;
  }
}

/* lower main start */
.lower-main {
  position: relative;
}

.lower-fv {
  height: 60vh;
  margin: auto;
  max-height: 100%;
  max-width: 100%;
  object-fit: cover;
  object-position: 40% 40%;
  width: 100%;
}

.lower-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
}

@media screen and (max-width: 768px) {
  .lower-fv {
    object-position: 30%;
  }

  .detail-news {
    padding: 72px 16px;
  }

  .lower-text {
    top: 50%;
    left: 40%;
    transform: translateY(-50%) translateX(-20%);
    -webkit-transform: translateY(-50%) translateX(-20%);
  }
}

/* newspage start */
.news-title {
  display: flex;
  justify-content: center;
}

.news_time {
  font-size: 24px;
  font-weight: bold;
}

.mar32 {
  margin-left: 32px;
}

.news-container {
  text-align: center;

}

.news-text {
  display: inline-block;
  text-align: left;
  margin-bottom: 72px;
}

@media screen and (max-width: 768px) {
  .news-title {
    flex-direction: column;
  }

  .news_time {
    text-align: center;
  }

  .sp_time {
    margin-bottom: 0;
  }

  .mar32 {
    margin-left: 0;
  }
}

/* infopage start */
.info_title {
  border: solid 1px #333;
  margin: 0 auto;
  padding: 16px;
  width: fit-content;
  background-color: #fff;
}

.info_text,
.message_text,
.sub_text {
  width: 40%;
}

.detail-info,
.sub-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin: 48px 0 80px;
}

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

  .detail-info,
  .sub-container {
    flex-direction: column;
  }

  .sp-info {
    flex-direction: column-reverse;
  }

  .info_text,
  .sub_text {
    width: 80%;
    margin: 24px 0 0;
  }
}


/* about messagepage start */
.message-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin: 48px 0 0;
}

.private {
  display: flex;
}

.private-list {
  display: flex;
  align-items: baseline;
  margin-right: 64px;
}

.private-list p {
  margin-right: 16px;
}

.work-list {
  padding-bottom: 4px;
}

.message_img,
.sub_img {
  width: 50%;
  object-fit: cover;
  border-radius: 8px;
}

@media screen and (max-width: 768px) {
  .message-container {
    flex-direction: column;
  }

  .message_text {
    width: 80%;
  }

  .message_img,
  .sub_img {
    width: 90%;
  }

  .private {
    justify-content: center;
  }

  .private-list {
    flex-direction: column;
    margin-right: 0;
  }
}

/* about page start */
.sub-title {
  display: flex;
  justify-content: center;
  align-items: baseline;
}

.about_number {
  font-size: 32px;
}

.sp-others {
  display: none;
}

.others p {
  text-align: center;
}

.others-container {
  display: flex;
  justify-content: space-around;
}

.others-contents {
  width: 30%;
}

.others_img {
  width: 100%;
  border-radius: 8px;
}

@media screen and (max-width: 768px) {
  .lower-about {
    top: 50%;
    left: 30%;
    transform: translate(-20%, -20%);
    -webkit-transform: translate(-20%, -20%);
  }

  .message-container {
    margin-bottom: 16px;
  }

  .private {
    flex-direction: column;
    margin-left: 40px;
  }

  .private-list {
    flex-direction: row;
  }

  .work {
    display: inline-block;
  }

  .work-list {
    text-align: left;
  }

  .detail-about h2{
    margin-bottom: 48px;
  }

  .sub-title {
    flex-direction: column;
    align-items: center;
  }

  .sub-title h4 {
    font-size: 16px;
    margin-left: 0;
  }

  .about_number {
    margin-bottom: 8px;
  }

  .sub-container {
    margin: 0 0 64px;
  }

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

  .pc-others {
    display: none;
  }

  .sp-others {
    display: block;
  }

  .others-container {
    flex-direction: column;
  }

  .others-contents {
    width: 90%;
    margin: 16px auto;
  }

  .others_title {
    margin: 8px 0;
  }
}

/* accesspage start */
/* accesspage btn start */
.btn-container {
  display: flex;
  justify-content: space-around;
}

.detail_btn {
  background-color: #37A1DB;
  width: 168px;
  margin: 0 56px;
  padding: 8px;
  color: #FFFDF8;
  border-radius: 20px;
  text-align: center;
}

/* accesspage medical zone start */
.medical {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
}

.medical-contents {
  width: 45%;
}

.medical_text {
  margin-bottom: 56px;
}

.medical_phone {
  font-size: x-large;
  text-align: center;
}

.tel {
  font-size: xx-large;
  text-align: center;
}

a[href^="tel:"] {
  pointer-events: none;
}

/* accesspage access zone start */
.map {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.access-text {
  width: 55%;
  margin-left: 24px;
}

@media screen and (max-width: 768px) {
  .lower-access {
    top: 50%;
    left: 10%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-5%, 0%);
  }

  .btn-container {
    flex-direction: column;
    align-items: center;
  }

  .sp_btn {
    margin-bottom: 24px;
  }

  .medical {
    flex-direction: column-reverse;
  }

  .medical-contents {
    width: 90%;
    margin: 8px auto;
  }

  .medical_phone {
    font-size: large;
  }

  a[href^="tel:"] {
    pointer-events: auto;
  }

  .map {
    flex-direction: column;
  }

  .access-text {
    width: 90%;
    margin: 16px 0 0;
  }
}