@charset "UTF-8";
.activebtn{
  position: fixed;/*ボタン内側の基点となるためrelativeを指定*/
	z-index:1000;
	top:25px;
	right:25px;
  cursor: pointer;
    width: 50px;
    height:50px;
  border-radius: 5px;
    background-color: #d90000;
    transition: all .2s;
}
.activebtn-active{
	top:25px !important;
}
#nav_circle{
    transition: all .4s;
	position:absolute;
	right:15px;
	top:17px;
	width:0;
	height:0;
	border-radius:50%;
	background-color:#fff;
}
#nav_circle.open{
	position:absolute;
	right:0;
	top:0;
	width:50px;
	height:50px;
	background-color:#fff;
}
#dental_nav{
	width:10px;
	position:absolute; 
	right:13px;
	top:15px;
}

.activebtn span{
    display: inline-block;
    transition: all .4s;/*アニメーションの設定*/
    position: absolute;
    left: 5%;
    height: 3px;
    border-radius: 2px;
  background: #fff;
  }


.activebtn span:nth-of-type(1) {
  top:15px; 
    width: 90%;
}

.activebtn span:nth-of-type(2) {
  top:23px;
    width: 65%;
}

.activebtn span:nth-of-type(3) {
  top:31px;
    width: 40%;
}

.activebtn:hover span:nth-of-type(1) {
  top:15px; 
    width: 90%;
}

.activebtn:hover span:nth-of-type(2) {
  top:23px;
    width: 90%;
}

.activebtn:hover span:nth-of-type(3) {
  top:31px;
    width: 90%;
}
/*activeクラスが付与されると線が回転して×になる*/

.activebtn.open span:nth-of-type(1) {
    top: 18px;
    left: 0px;
    transform: translateY(6px) rotate(-135deg);
    width: 100%;
  background: #fff;
}

.activebtn.open span:nth-of-type(2) {
  opacity: 0;
    width: 100%;
  background: #fff;
}

.activebtn.open span:nth-of-type(3){
    top: 30px;
    left: 0px;
    transform: translateY(-6px) rotate(135deg);
    width: 100%;
  background: #fff;
}



@media screen and (max-width:11149px){
.open #gNav{
    display:block;
    width: 70%;
    max-width:1000px;
    position: fixed;
}
#gNav.panelactive{
    position:fixed;
    z-index: 999;
  top: 0;
  width:100%;
    height: 100vh;
}

/*丸の拡大*/
.extension-bg{
    opacity:1;
    position: fixed;
    z-index:5;
    width: 100%;
    height: 0px;
    background-color: #49a4dd;
    right:0px;
    top:0px;
    transition: all .6s;
}
.extension-bg.extension-active{
    height: 100vh;
}

.gnav__list{
    width:350px;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}
#gNav.panelactive #g-nav-list{
     display: block;
}
.gnav__inner{
	width:100%;
	height:100%;
    position: absolute;
	z-index:-1;
	display:flex;
	flex-wrap:wrap;
	align-items: center;
	justify-content: center;
	
	}
/*ナビゲーション*/
#gNav .gnav__list,#gNav #gnav_prof_list {
    display:none;
}
#gnav_prof_list{
	width:370px;
	padding:15px 0;
}
#gnav_prof_list p{
	margin:0 auto;
	color:#fff;
	font-size:0.8rem;
}
.gnav__item{
    width:100%;
	overflow: hidden;
}

.gnav__item-flow,.gnav__link-btn2{
    width:100%;
	height:100%;
    display:flex;
    flex-wrap:wrap;
    align-items: center;
    transition: all .6s;
	text-decoration: none !important;
}
.gnav__item-flow img{
	margin-left:30px;
}
.gnav__item details li a{
	width: calc(100% - 20px);
    padding-left: 20px;
}
.gnav__item-flow-f:hover,.gnav__item-flow:hover,.gnav__link-btn2:hover{
    background-color:hsla(0, 0%, 0%, 0.5);
	mix-blend-mode: darken;
}
.gnav__item p{
    margin:10px 0 10px 10px;
    color:#fff;
    font-weight: 500;
    text-align: center;
    line-height: 24px;
	text-decoration: none;
}

#gNav.panelactive ul {
    display:flex;
	flex-wrap: wrap;
	align-items: center;
	/*justify-content:center;*/
	padding-right:10px;
}
	#gNav.panelactive #gnav_prof_list{
		display:flex;
		align-items: center;
		justify-content: center;
        transition: all .6s;
        animation-name: gnaviAnime;
        animation-duration: 1s;
        animation-delay: .2s;
        opacity: 0;
        animation-fill-mode: forwards;
	}
	
#gNav.panelactive .gnav__list li{
animation-name:gnaviAnime;
animation-duration:1s;
animation-delay:.2s;
animation-fill-mode:forwards;
opacity:0;
}

.gnav__item summary {
	/* display: list-item;以外を指定してデフォルトの三角形アイコンを消します */
	width:100%;
	display: flex;
	cursor:pointer;
  }
.gnav__item summary::-webkit-details-marker {
	/* Safariで表示されるデフォルトの三角形アイコンを消します */
	display: none;
  }
  .gnav__item summary:after {
	content: "+";
	color:#fff;
	display: flex;
	align-items: center;
	margin-left: auto;
    margin-right: 10px;
}
.gnav__item details[open] summary:after,
.gnav__item  summary details[open] summary:after {
	content: "−";
}
}
@keyframes gnaviAnime{
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}

@media screen and (max-width:768px){
.mordal_btn, .mordal_btn2 {
	writing-mode:inherit !important;
	padding:20px !important;
	border-radius: 0!important;
	border:none!important;
}
.mordal_btn::before, .mordal_btn2::before {
	display: none;
}
.activebtn{
  top: 65px;
  right: 20px;
  width: 40px;
  height: 40px;
}
.activebtn span:nth-of-type(1) {
  top:10px; 
    width: 90%;
}

.activebtn span:nth-of-type(2) {
  top:18px;
    width: 65%;
}

.activebtn span:nth-of-type(3) {
  top:26px;
    width: 40%;
}

.activebtn:hover span:nth-of-type(1) {
  top:10px; 
}

.activebtn:hover span:nth-of-type(2) {
  top:18px;
}

.activebtn:hover span:nth-of-type(3) {
  top:26px;
}
.activebtn.open span:nth-of-type(1) {
    top: 13px;
    left: 0px;
}
.activebtn.open span:nth-of-type(3){
    top: 25px;
    left: 0px;
}
#mordal_btn_box{
	top:0px!important;
	right:auto!important;
	left:0!important;
}
.mordal_btn img, .mordal_btn2 img {
    margin-bottom: 0px !important;
    margin-right: 10px !important;
}
}
@media screen and (max-width:718px){
#gnav_prof_list p{
	font-size:0.6rem;
}
}
/*2階層目以降は横並びにしない*/
/*.gnav__list ul{
	display: block;
}
.gnav__item{
	position: relative;
}

.gnav__item li{
	padding:18px;
	font-size:12px;
}*/


/*==矢印の設定*/

/*
.gnav__arrow::before{
	content:'';
	position: absolute;
	left:50%;
	top:40px;
	width:6px;
	height:6px;
	border-top: 2px solid #999;
    border-right:2px solid #999;
    transform: translate(-50%, 0) rotate(135deg);
}

.gnav__item ul{
	position: absolute;
	left:0;
	top:60px;
	z-index: 4;
	background:#009ADD;
	width:100%;
	visibility: hidden;
	opacity: 0;
	transition: all .3s;
}

.gnav__item:hover > ul,
.gnav__item ul li:hover > ul,
.gnav__item:active > ul,
.gnav__item ul li:active > ul{
  visibility: visible;
  opacity: 1;
}


.gnav__item ul li{
	color: #fff;
	border-bottom:solid 1px rgba(255,255,255,0.6);
}

.gnav__item ul li:last-child > a{
 border-bottom:none;
 }

.gnav__item ul li:hover,
.gnav__item ul li:active{
	background:#00B2FF;
}*/
@media screen and (max-width:11149px){
	#gNav{
		padding: 0;
	}
	.gnav__item{
		display: block;
	border-bottom:1px solid #fff;
	}
	.gnav__item:last-child{
	border-bottom:none;
	}
	.gnav__item ul{
	flex-wrap:wrap;
}
	.gnav__item ul a{
		width:100%;
}
	.gnav__item ul li{
		width:100%;
		border-bottom:none;
		text-align:center;
}
	#gNav li ul,
	#gNav li ul ul{
  	position: relative;
	top:0;
	width:100%;
	visibility:visible;
	opacity:1;
	display: none;
	transition:none;
}
/*矢印の位置と向き*/
.gnav__arrow::before{
	top:50px;
	border-top: 2px solid #fff;
    border-right:2px solid #fff;
}
#mordal_btn_box{
	position:fixed;
	z-index:4;
	top:40%;
	right:0px;
	mix-blend-mode: exclusion;
}
.mordal_btn, .mordal_btn2{
	-ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-orientation: upright;
	display:flex;
	align-items: center;
	border:solid 1px #fff;
	padding:10px 5px;
	font-size:0.8rem;
	color:#fff;
	cursor: pointer;
	position:relative;
}
	.mordal_btn img, .mordal_btn2 img{
		margin-bottom:10px;
	}
.mordal_btn::before, .mordal_btn2::before{
	content: "";
	position:absolute;
	right:0;
	bottom:0;
  border: 5px solid;
  border-color: #fff #fff transparent transparent;
  transform: rotate(90deg);
    transition: all 0.2s ease 0s;
}
.mordal_btn:hover::before, .mordal_btn2:hover::before{
  border: 10px solid;
  border-color: #fff #fff transparent transparent;
}
.mordal_btn{
	border-radius: 5px 0 0 5px;
	/*margin-bottom:10px;
	background-color:#315A60;*/
}
.mordal_btn2{
	border-radius: 0 0 0 5px;
	/*background-color:#31603E;*/
}
}


.mordal_window{
	display: none;
}
.mordal_window2{
	display: none;
}
.mordal_window.open{
	display: block !important;
	font-family: "Noto Sans JP",'Arial', sans-serif, 'メイリオ';
	width:80%;
	height:90%;
	position:fixed;
	z-index:1011;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	background-color:#233C48;
	padding:70px 70px;
	color:#fff;
	overflow-y: scroll;
  animation: mordal 0.3s ease-out;
	pointer-events:inherit;
}
.mordal_window2.open{
	display: block !important;
	font-family: "Noto Sans JP",'Arial', sans-serif, 'メイリオ';
	width:80%;
	height:90%;
	position:fixed;
	z-index:1011;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	background-color:#233C48;
	padding:70px;
	color:#fff;
	overflow-y: scroll;
  animation: mordal 0.3s ease-out;
	pointer-events:inherit;
}

@keyframes mordal{
  0%{
	width:0%;
    opacity: 0;
	filter: blur(15px);
  }
  100%{
	width:80%;
    opacity: 1;
	filter: blur(0px);
  }
}
.mordal_window iframe{
	height:500px;
}
.mordal_window .display_cont,.mordal_window2 .display_cont{
	margin-bottom:60px;
}
.mordal_window .beside_50p_cont,.mordal_window2 .beside_50p_cont{
	margin-top:30px;
}
.mordal_txt{
	font-size: 0.8rem;
}
.mordal_icon{
	position:absolute;
	top:0;
	left:70px;
	background-color:#f7f6f3;
}
.mordal_icon img{
	width:50px;
	height:50px;
	margin:10px;
}
.mordal_title{
	font-size:2rem;
	font-weight:300;
	margin:0 auto 30px auto;
}
@media screen and (max-width:768px){
.mordal_window.open{
	width:90%;
	height:90%;
	padding:70px 3% 3% 3%;
}
.mordal_window2.open{
	width:90%;
	height:90%;
}
.mordal_window iframe{
	height:auto;
	aspect-ratio: 1 / 1;
}
.mordal_icon{
	left:3%;
}
.mordal_title{
	font-size:1.2rem;
}
}
.sec-sns .m-contact-btn-lists .m-contact-btn {
    -webkit-box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.03);
    box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.03);
    text-align: center;
    overflow: hidden;
}

.sec-sns .beside_50p_cont img{
	margin-bottom: 0px;
	width:80%;
}
.m-contact-btn a {
    height:60px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 60px 10px 15px;
    background: #F9F9F6;
    transition: all 0.2s ease 0s;
    position: relative;
	margin:15px auto;
}
.m-contact-btn a:hover{
    background: #d8d8d4;
}
.m-contact-btn a:first-child{
	margin-top:0;
}
.m-contact-btn a span{
	margin: 0px;
    padding: 0px;
    backface-visibility: hidden;
    box-sizing: border-box;
	color:#315A60;
}
.m-contact-btn a:after {
    content: "↗";
    display: block;
    position: absolute;
    z-index: 1;
    top: calc(50% - 5px);
    right: 30px;
    transform: translateY(-50%);
    width: 10px;
    height: 10px;
    background-size: contain;
    background-repeat: no-repeat;
    transition: all 0.2s ease 0s;
	color:#315A60;
}
.scroll_bar{
   overflow-y: scroll;
}
.scroll_bar::-webkit-scrollbar{
   width: 10px;
}
.scroll_bar::-webkit-scrollbar-track{
   background-color: #f0f0f0;
	border-radius:10px;
}
.scroll_bar::-webkit-scrollbar-thumb{
   background-color: #646464;
	border-radius:10px;
}
@media screen and (max-width:480px){
.scroll_bar::-webkit-scrollbar{
   width: 5px;
}
.scroll_bar::-webkit-scrollbar-track{
   background-color: #f0f0f0;
	border-radius:5px;
}
.scroll_bar::-webkit-scrollbar-thumb{
   background-color: #646464;
	border-radius:5px;
}
}

.scroll_bar-x{
   overflow-x: scroll;
}
.scroll_bar-x::-webkit-scrollbar{
   height: 10px;
}
.scroll_bar-x::-webkit-scrollbar-track{
   background-color: #f0f0f0;
	border-radius:10px;
}
.scroll_bar-x::-webkit-scrollbar-thumb{
   background-color: #646464;
	border-radius:10px;
}
@media screen and (max-width:480px){
.scroll_bar-x::-webkit-scrollbar{
   height: 5px;
}
.scroll_bar-x::-webkit-scrollbar-track{
   background-color: #f0f0f0;
	border-radius:5px;
}
.scroll_bar-x::-webkit-scrollbar-thumb{
   background-color: #646464;
	border-radius:5px;
}
}
.cal_wrapper {
max-width: 960px;
min-width: 300px;
margin: 0 auto;
background-color:#fff;
padding:2%;
}

.googlecal {
position: relative;
padding-bottom: 100%;
height: 0;
}

.googlecal iframe {
position: absolute;
top: 0;
left: 0;
width: 100% !important;
height: 100% !important;
}

@media only screen and (min-width: 768px) {
.googlecal { padding-bottom: 75%; }
}

.mordal_window_clearbox{
	position:fixed;
	z-index:1012;
    top: 5%;
    right: calc(10% + 20px);
}
.mordal_window_clear{
	display:none;
}
.mordal_window_clear.open{
	display:block!important;
	width:30px;
	height:30px;
	position:relative;
	cursor: pointer;
	animation: mordal_window_clear 0.3s ease-out;
}
@keyframes mordal_window_clear{
  0%{
    opacity: 0;
  }
  90%{
    opacity: 0;
  }
  100%{
    opacity: 1;
  }
}
.mordal_window_clear span{
    display: inline-block;
    transition: all .4s;/*アニメーションの設定*/
    position: absolute;
    left: 0px;
    height: 3px;
    border-radius: 2px;
  background: #fff;
  }

.mordal_window_clear span:nth-of-type(1) {
    top: 18px;
    left: 0px;
    transform: translateY(6px) rotate(-135deg);
    width: 100%;
  background: #fff;
}

.mordal_window_clear span:nth-of-type(2) {
  opacity: 0;
    width: 100%;
  background: #fff;
}

.mordal_window_clear span:nth-of-type(3){
    top: 30px;
    left: 0px;
    transform: translateY(-6px) rotate(135deg);
    width: 100%;
  background: #fff;
}
@media only screen and (max-width: 768px) {
.mordal_window_clearbox{
    top: 60px;
    top: calc(5% + 5px);
    right: calc(5% + 15px);
}
}

.mordal_important span{
	font-size: 1rem;
	text-align: center;
}
.mordal_important{
	font-size: 0.8rem;
	border:1px solid #fff;
	padding:10px;
	margin-top:30px;
	margin-right:30px;
}
@media only screen and (max-width: 1149px) {
.mordal_important{
	margin-right:0px;
}
}

/*calendar*/
.calendar{
	color:#233C48;
}
.calendar h2{
	font-family: "Noto Sans JP",'Arial', sans-serif, 'メイリオ';
	font-weight:300;
}
.fc .fc-scrollgrid-sync-table{
	width:100% !important;
}
.fc .fc-daygrid-body{
	width:100% !important;
}
.fc .fc-col-header{
	width:100% !important;
}
.fc .fc-h-event {
    background-color: #776158;
    border: 1px solid #776158;
    display: block;
}
.fc .fc-scrollgrid {
	border-width: 0 0 0 0; /* 外側の枠線消す */
	font-size: 0.9rem;
	font-weight: normal;
  }
  .fc-theme-standard td, .fc-theme-standard th {
	height: 30px;/* 枠の高さ指定 */
	border: none;/* 枠のボーダー消す */
	padding: 0 5px 5px;
}
  /*　今日の背景 */
  .fc .fc-daygrid-day.fc-day-today {
	background: none;
  }
  .fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-frame {
	background: rgba(49,159,141,0.1);
  }
  /* 日付を枠の高さいっぱいに */
  .fc .fc-daygrid-day-frame {
	height: 100%;
  }
  .fc-daygrid-block-event .fc-event-time, .fc-daygrid-block-event .fc-event-title {
    padding: 3px;
}

.gnav__minilist{
	height:200px;
}
