@charset "UTF-8";

@import url('//fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;600;700;900&display=swap');
@import url('//fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;500;600;700;900&display=swap');
@import url('//fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500;700;900&display=swap');
@import url('//fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;500;700;900&display=swap');
@import url('//fonts.googleapis.com/css2?family=Zen+Old+Mincho:wght@400;500;600;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,300..900;1,300..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Kosugi+Maru&display=swap');
/* Google font Icon */
@import url("https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200");


/*========================
スマホ表示用ナビゲーション
========================*/
/*固定マージン調整*/
@media screen and (max-width: 640px) {
footer {
  margin-bottom: 64px;
  }
}

.footnav {
  display: none;
}
@media screen and (max-width: 640px) {
.footnav {
  width: 100%;
  height: 64px;
  position: fixed;
  bottom: 0;
  left: 0;
  margin: auto;
  padding:0;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  justify-content: center;
  align-items:center;
  z-index: 10000;
  box-shadow: 0px -3px 6px -3px rgba(0,0,0,0.3);
  }
.footnav li {
  height: 100%;
  margin: 0 auto;
  padding:0;
  box-sizing: border-box;
  }
.footnav1{
  width: 75%;
}
.footnav2{
  width: 25%;
}
.footnav li a{
  height: 100%;
  width: 100%;
  padding: 0;
  display: block;
  text-decoration: none;
  box-sizing: border-box;
  cursor: pointer;
  position: relative;
  }
}

/*グレー背景ボタン*/
.footnav1 {
  height: 100%;
  background: rgb(238,238,236);
  background: linear-gradient(0deg, rgba(238,238,236,1) 0%, rgba(249,249,249,1) 100%);
  text-align: center;
  padding: 0;
}
.footnav1:hover {
  background: #F0F0EE;
}
/*TELボタン*/
.footnav1 span{
  display: block;
  font-size: 0.8em;
  line-height: 1;
  letter-spacing: 0.03em;
  font-weight: 500;
  color: #2D5986;
  padding: 1em 0 0.5em;
}
.footnavtel{
  position:relative;
  display: inline-block;
  font-size: 1.7em;
  line-height: 1;
  padding: 0 0 0 0.8em;
  color: #2D5986;
  font-family: "Figtree", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 600;
  white-space: nowrap;
  text-align: center;
  text-decoration: none;
  margin: 0 auto;
  letter-spacing: 0.05em;
}
.footnavtel:before{
	position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  content:"";
  display:inline-block;
  width:0.8em;
  height:0.8em;
  background:url(../img/common/tel_blue.png) no-repeat;
  background-size:contain;
}

/*ハンバーガーメニュー*/
.drawer_hidden {
  display: none;
}
.drawer_open {
  height: 64px;
  width: 100%;
  position: relative;
  z-index: 10001;
  cursor: pointer;
  background: #2D5986;
  display: flex;
  justify-content: flex-end;
  align-items:center;
  flex-direction: column;
  white-space: nowrap;
}
.footnav label p{
  font-family: "Figtree", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: normal;
  font-size: 0.9em;
  line-height: 1;
  color: #FFF;
  letter-spacing: 0.25em;
  position: absolute;
  bottom: 0.6em;
}
.drawer_open span{
  position: absolute;
  top: 1.4em;
}
.drawer_open span,
.drawer_open span:before,
.drawer_open span:after {
  content: '';
  display: block;
  height: 2px;
  width: 2.1em;
  background: #FFF;
  transition: 0.5s;
  position: absolute;
}
.drawer_open span:before {
  bottom: 0.6em;
}
.drawer_open span:after {
  top: 0.6em;
}
#drawer_input:checked ~ .drawer_open span {
  background: rgba(255, 255, 255, 0);
}
#drawer_input:checked ~ .drawer_open span::before {
  bottom: 0;
  transform: rotate(45deg);
}
#drawer_input:checked ~ .drawer_open span::after {
  top: 0;
  transform: rotate(-45deg);
}

/*-------------------------
ハンバーガーメニュー中身
--------------------------*/
.footnavwrap {
  width: 100%;
  height: 100%;
  position: fixed;
  bottom: 64px;
  left: 100%; 
  z-index: 10000;
  background-color:rgba(45, 89, 135, 0.95);
  transition: .5s;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: auto;
}
#drawer_input:checked ~ .footnavwrap {
  left: 0;
}

.footnavinner{
  width: 100%;
  height: auto;
  padding: 24px;
  text-align: center;
  margin: 3em auto 0;
}

/* ロゴ*/
.footnavlogo {
  margin: 24px auto 24px;
}
.footnavlogo img{
  width: 100%;
  max-width: 124px;
}

/* コンテンツリンク*/
.footnavmenu{
  width:100%;
  margin: auto;
  padding:0;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  justify-content: center;
  align-items:center;
  flex-wrap: wrap;
}
.footnavmenu li{
  width: 33.33%;
  max-width:33.33%;
  width: calc(100% / 3);
  padding: 0 12px 12px;
  text-align: center;
  white-space: nowrap;
  position: relative;
  transition: 0.3s;
}
.footnavmenu li:hover{
  transform: translateY(-3px);
  transition-duration: 0.3s;
}
.footnavmenu li a{
  color: #FFF;
  font-weight: normal;
  line-height: 1;
  font-size: 1em;
  font-family: "Kosugi Maru", sans-serif;
  letter-spacing: 0.06em;
  padding: 34px 0 0;
}
.footnavmenu li span{
  display: block;
  font-family: "Figtree", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: normal;
  font-size: 0.8em;
  line-height: 2.1;
  letter-spacing: 0.1em;
  color: #A6A8AE;
}

.footnavmenu li:before{
	position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  content:"";
  display:inline-block;
  width:38px;
  height:38px;
}
.footnavmenu li:nth-child(1):before{
  background:url(../img/common/icon_hataji.png) no-repeat;
  background-size:contain;
}
.footnavmenu li:nth-child(2):before{
  background:url(../img/common/icon_aboutus.png) no-repeat;
  background-size:contain;
}
.footnavmenu li:nth-child(3):before{
  background:url(../img/common/icon_guide.png) no-repeat;
  background-size:contain;
}
.footnavmenu li:nth-child(4):before{
  background:url(../img/common/icon_doctor.png) no-repeat;
  background-size:contain;
}
.footnavmenu li:nth-child(5):before{
  background:url(../img/common/icon_general.png) no-repeat;
  background-size:contain;
}
.footnavmenu li:nth-child(6):before{
  background:url(../img/common/icon_kodomo.png) no-repeat;
  background-size:contain;
}
.footnavmenu li:nth-child(7):before{
  background:url(../img/common/icon_ortho.png) no-repeat;
  background-size:contain;
}
.footnavmenu li:nth-child(8):before{
  background:url(../img/common/icon_beauty.png) no-repeat;
  background-size:contain;
}
.footnavmenu li:nth-child(9):before{
  background:url(../img/common/icon_implant.png) no-repeat;
  background-size:contain;
}

/* 診療時間*/
.footnavinner .hour{
  font-weight: 400;
  color: #FFF;
  font-size: 0.95em;
  margin: 12px auto 0;
}
.footnavinner .hour span{
  display: block;
  font-family: "Figtree", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
  color: #FFF;
  font-size: 1.4em;
  letter-spacing: 0.07em;
  line-height: 1;
  margin: 6px auto 0;
}

/* 所在地*/
.footnavinner address{
  font-style: normal;
  font-weight: 400;
  color: #FFF;
  font-size: 0.85em;
  margin: 6px auto 0;
}

/*GoogleMapボタン*/
.footnavinner .mapbtn{
  position:relative;
  width: auto;
  display: inline-block;
  font-size: 0.9em;
  line-height: 1;
  padding: 0.5em 0.6em 0.5em 2em;
  color: #FFF;
  white-space: nowrap;
  text-align: center;
  text-decoration: none;
  font-weight: 400;
  margin: 24px auto 0;
  border: 1px solid #FFF;
  border-radius: 9999px;
  -webkit-border-radius: 9999px;
  -moz-border-radius: 9999px;
}
.footnavinner .mapbtn:before{
	position: absolute;
  top: 50%;
  left: 0.3em;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  font-size: 1.3em;
  line-height: 0;
  font-family:"Material Symbols Rounded";
	content: "\e538"; /*マップピン*/
  font-variation-settings:
  'FILL' 1,
  'wght' 500
}
