body{
font-family: "M PLUS 1", sans-serif;
overflow-x: hidden; 
-webkit-font-smoothing: antialiased;
line-height: 1.5; 
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;
}
.fo_com120{
font-size: 120%;
}
.main_content{
max-width: 1650px;
margin: 0 auto;
}
a{
text-decoration: none;
word-break: break-all;
}
i{
margin-right: 8px;
}
strong{
font-weight: bold;
}
/*＝＝＝＝＝　見出し　＝＝＝＝＝*/
.common_h1{
width: 30%;
position: absolute;
left: 55%;
top:10%;
}
h1{
background: #CE3A77;
display: inline-block;
box-shadow: 10px 10px 2px 0px hsla(322,76%,82%,0.30), inset 3px -3px 6px -2px rgba(0, 0, 0, 0.1);
padding: 20px 0;
border-radius: 50px;
}
.txt {
display: flex;
overflow: hidden;
justify-content: center;
}
.txt p {
font-size: 300%;
font-weight: 900;
background-clip: text;
-webkit-background-clip: text;
color: #ffffff;
letter-spacing: .06em;
transform: translateY(2em);
animation: textanimation 1s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}
/* 1文字目 */
.txt p:nth-child(1) {animation-delay: 0.2s}
/* 2文字目 */
.txt p:nth-child(2) {animation-delay: 0.4s}
/* 3文字目 */
.txt p:nth-child(3) {animation-delay: 0.6s}
/* 4文字目 */
.txt p:nth-child(4) {animation-delay: 0.8s}
/* 5文字目 */
.txt p:nth-child(5) {animation-delay: 1s}
/* 6文字目 */
.txt p:nth-child(6) {animation-delay: 1.2s}
/* 7文字目 */
.txt p:nth-child(7) {animation-delay: 1.4s}
/* 8文字目 */
.txt p:nth-child(8) {animation-delay: 1.6s}
/* 9文字目 */
.txt p:nth-child(9) {animation-delay: 1.8s}
/* 10文字目 */
.txt p:nth-child(10) {animation-delay: 2s}
/* 11文字目 */
.txt p:nth-child(11) {animation-delay: 2.2s}
/* 12文字目 */
.txt p:nth-child(12) {animation-delay: 2.4s}
@keyframes textanimation {
0% {
transform: translateY(2em);
}
100% {
transform: translateY(0);
}
}
h2{
border-bottom: dotted 4px #00ADC9;
font-size: 130%;
text-align: center;
font-weight: bold;
color: #033D7A;
} 
h2::before {
content: '';/*何も入れない*/
display: inline-block;/*忘れずに！*/
width: 50px;/*画像の幅*/
height: 50px;/*画像の高さ*/
background-image: url("../img/h1img_01.png");
background-size: contain;
vertical-align: middle;	
}

h2::after {
content: '';/*何も入れない*/
display: inline-block;/*忘れずに！*/
width: 50px;/*画像の幅*/
height: 50px;/*画像の高さ*/
background-image: url("../img/h1img_02.png");
background-size: contain;
vertical-align: middle;	
}
.h22{
 background: #ffffff;
}
.h222{
background: #DDF1F0;
color: #0085B5;
}
.h222:before {
border-top: 10px solid #C4E7E5;
}
h2 span{
font-size: 100%; 
}
h3{
color: #525252;
background:#ffffff;
font-size: 155%;
font-weight: bold;
line-height: 2;
margin-bottom: 10px;
margin-top: 5px;
border-top: 0.5px solid rgba(0,0,0,.1);
border-left: 2px dotted rgba(0,0,0,.1);/* テープのギザギザ左*/
border-right: 2px dotted rgba(0,0,0,.1);/* テープのギザギザ右*/
padding:5px 20px;/*タイトルの余白*/
box-shadow: 3px 3px 0px 0px rgba(0, 0, 0, 0.1);
text-align: center;
}
h3.h333{
background:#F99E33;	
color: #ffffff;
}
h4 {
padding: 0.5em;
position: relative;
font-size: 120%;
font-weight: bold;
color: #0085B5;
margin-bottom: 20px;
}
h4::before {
content: '';
width: 100%;
height: 30%;
background-image: radial-gradient(#ABDCD8 8%, transparent 16%), radial-gradient(#ABDCD8 8%, transparent 16%);
background-position: 0 0, 7px 7px;
background-size: 12px 12px;
position: absolute;
bottom: -10px;left: 0px;
}
h5{
font-size: 105%;
font-weight: bold;
color: #00A743;
background: #F7F4D2;
position: relative;
display: inline-block;
padding: 8px 70px 5px 18px;
border-radius: 0 100vh 100vh 0;
-webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, .1);
box-shadow: 2px 2px 2px rgba(0, 0, 0, .1);
left: -25px;
margin-top: 10px;
}
h5:before {
position: absolute;
bottom: -10px;
left: 0;
width: 0;
height: 0;
content: '';
border-top: 10px solid #F0C66F;
border-left: 10px solid transparent;
}
h5 span{
font-size: 80%;
margin-left: 5px;
}
.news_title{
width: 80%;
margin: 0 auto;
transform: translateY(10px)translateX(-10px);
}
h4 img{
width: 50px;
margin:5px 10px 5px 0;  /*画像右の余白*/
vertical-align: middle;
}
h6{
font-size: 115%;
font-weight: 700;
color: #CE3A77;
}
.h6line{
position: relative;
padding: 0 0 0 20px;
text-align: left;
}
.h6line::after {
position: absolute;
top: 0;
left: -6px;
content: '■';
font-size: 95%;
}
.h6line11::after {
position: absolute;
top: .4em;
left: .4em;
content: '●';
width: 12px;
height: 12px;
background-color: #CE3A77;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
h6.h66{
padding: 20px;
font-size: 150%;
text-align: center;
color: #0AC154;
}
.h6_tape {
color: #0085B5;
background: repeating-linear-gradient(-45deg, #E9F9FF, #E9F9FF 5px, #fff 0, #fff 10px);
font-weight: bold;
margin-bottom: 10px;
margin-top: 5px;
border-left: 2px dotted rgba(0,0,0,.1);/* テープのギザギザ左*/
border-right: 2px dotted rgba(0,0,0,.1);/* テープのギザギザ右*/
padding:20px 5px;
box-shadow: 3px 3px 0px 0px rgba(0, 0, 0, 0.1);
text-align: center;
line-height: 1.2;
}
.h6_tape02 {
color: #0085B5;
text-align: left;
font-size: 150%;
padding:20px 15px;
}
.midashi01{
font-size: 110%;
font-weight: bold;
color: #c63c5d;
}
.list01{
position: relative;
padding: 0 .5em .5em 1.7em;
text-align: left;
}
.list01::after {
position: absolute;
top: .4em;
left: .4em;
content: '';
width: 12px;
height: 12px;
background-color: #F6D239;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.list02{
position: relative;
padding: 0 .1em .5em 1.4em;
text-align: left;
line-height: 1.4;
}
.list02::after {
position: absolute;
top: 0em;
left: 0em;
content: '◉';
width: 12px;
height: 12px;
color: #CE3A77;
}
.common_cont .list01{
font-size: 100%;
}
/*＝＝＝＝＝　header　＝＝＝＝＝*/
.top_header{
text-align: right;
font-size: 110%;
padding: 5px;
font-family: "Open Sans", Helvetica, Arial, sans-serif;
color: #0085B5;
font-weight: bold;
}
header{
display: flex;
justify-content: space-between;
align-items: center;
}
.top_logo{
width: 35%;
padding: 0 0 0 10px;
}
.top_logo img{
width: 100%;
}
.header_btn{
}
.header_btn_box{
display: flex;
justify-content: flex-end;
padding-right: 10px;
}
.header_btn_box a{
padding: 12px 20px 10px;
margin: 0 5px;
font-size: 160%;
font-weight: bold;
text-align: center;
line-height: 1.1;
border-radius: 5px;
border: 2px solid #F99E33;
box-shadow:3px 3px 3px -3px #EE9733 inset;
width: auto;
}
.header_btn_box a:hover{
opacity: 0.7;
background: #FDFBBC;
}
.header_btn_box a span{
font-size: 70%;
}
.header_btn_box a.yoyaku_btn{
background: #FEF0E6;
color: #F99E33;
text-align: center;
}
 a.yoyaku_btn{
background: #CE3A77;
color: #ffffff;
text-align: center;
}
.header_btn_box a.tel_btn{
background: #FEF0E6;
color: #F99E33;
text-align: center;
}
.top_cont{
width: 100%;
height: 350px;
margin: 0 auto;
background-image: url("../img/top_common.jpg");
background-size: cover;
background-position: center;
background-repeat: no-repeat;
position: relative;
}

/*＝＝＝＝＝　common_cont ＝＝＝＝＝*/
.common_cont{
padding: 30px 0 50px;
font-size: 120%;
}
.box_inner{
max-width: 1400px;
width: 90%;
margin: 30px auto;
}
.shiro_box{
padding: 10px 15px;
background: #ffffff;
border-radius: 10px;
box-shadow: 0 1px 1px rgba(0,0,0,0.2);
}
.shiro_box p{
width: 95%;
margin: 20px auto;
}
.info_flex{
padding: 10px;
width: 25%;
border-radius: 10px;
border: solid 4px rgba(156,224,243,0.85);
box-shadow: 2px 2px 4px gray;
margin: 10px 20px;
background: #FFFFFF;
}

.info_flex p{
margin: 0 auto;
padding: 10px;
text-align: left;
font-size: 90%;
}
a.jump_btn{
display: inline-block;
text-align: center;
width: 100%;
max-width: 700px;
background-image: linear-gradient( #ddeef2 0%, #a8d6e0 100%);
border-radius: 5px;
padding: 10px 0;
color: #0386DA;
text-decoration: none;
font-weight: bold;
font-size: 115%;
margin: 10px auto;
}
a.jump_btn:hover{
opacity: 0.6;
}
/*＝＝＝＝＝　診療案内 ＝＝＝＝＝*/
.consult_cont{
background: #F9F9E6;
padding: 30px 0 50px;
}
/*＝＝＝＝＝　アクセス ＝＝＝＝＝*/
.access_cont{
padding: 30px 0 50px;
}



/*＝＝＝＝＝　QRコード ＝＝＝＝＝*/
.qr_cont{
margin:0px auto 60px;
background: #ffffff;
padding: 50px 0;
}
.qr{
max-width: 1400px;
width: 90%;
margin: 5px auto;
}
.qrbox{
display: flex;
flex-direction: row;
justify-content: center;
align-items: flex-start;
flex-wrap: wrap;
}	
.qrbox section{
padding: 15px 30px;
width: 24%;
margin: 40px 10px 10px;
}
.qrbox img{
width: 100%;
}
.qrbox p{
font-size: 85%;
padding-top: 5px;
text-align: left;
}
/*トップページ*/
#pagetop{
position:fixed;
right: -550px;
cursor:pointer;
}


/*＝＝＝＝＝ footer ＝＝＝＝＝*/
footer{
background: #F9EDE4;
position: relative;
font-weight: bold;
text-align: center;
border-bottom: 30px solid #FF9E55;
padding: 50px 0 0;
}
.footer_img{
width: 30%;
margin: 10px auto;
}
.footer_img img{
width: 100%;
}
.footer_info02{
display: flex;
justify-content: center;
width: 80%;
margin: 30px auto;
max-width: 1600px;
}
.footer_info02 a{
width: 30%;
padding: 10px 30px;
margin: 0 5px;
font-size: 110%;
font-weight: bold;
border-radius: 20px;
text-align: center;
}
.footer_info02 a:hover{
opacity: 0.7;
}
.footer_info02 a.yoyaku_btn{
background: #FEF0E6;
color: #F99E33;
text-align: center;
}
.footer_info02 a.yoyaku_btn{
background: #CE3A77;
color: #ffffff;
text-align: center;
}
.footerbox{
width: 95%;
margin: 0 auto;
}

/*＝＝＝＝＝ footerマップ ＝＝＝＝＝*/
.sitemap{
width: 90%;
margin: 20px auto;
max-width: 1600px;
}
.sitemap nav ul {
display: flex;
flex-flow: row;
justify-content: center;  
padding: 6px 0;
align-items: stretch;
flex-wrap: wrap;
white-space: wrap;
}
.sitemap nav ul li{
border-radius: 5px;
font-size: 100%;
font-weight: bold;
border: 1px solid #F99E33;
margin: 5px;
background: #FFFFFF;
cursor: pointer;
position: relative;
transition: 0.5s;
box-shadow: 0px 2px 2px 0px rgba(247,143,11,0.30), inset 0px -3px 6px -2px rgba(0, 0, 0, 0.1);
}
.sitemap nav ul li a{
color: #F99E33; 
padding: 12px 50px 12px 20px;
display: inline-block;
}
.sitemap nav ul li a::before {
border-right: 3px solid #F99E33;
border-top: 3px solid #F99E33;
bottom: 0;
content: "";
height: 10px;
margin: auto;
position: absolute;
right: 20px;
top: 0;
transform: rotate(45deg);
transition: right .5s; 
width: 10px;
}
.sitemap nav ul li:hover{
opacity: 0.9;
background: #FDFBBC;
}
.sitemap nav ul li a:hover::before {
right: 10px;
border-right: 3px solid #F99E33;
border-top: 3px solid #F99E33;
}
@media screen and (max-width: 1350px){
.flex_box_sch{
flex-direction: column;
justify-content: center;
margin: 0px auto 20px;
}
.flex_50_news{
width: 95%;
}
.flex_50_sch{
width: 95%;
}
}
@media screen and (max-width: 960px){
.common_h1{
width: 50%;
left: 30%;
}
}
@media screen and (max-width: 789px){
.common_cont{
padding: 18px 0 28px;
font-size: 100%;
}
/*＝＝＝＝＝　header　＝＝＝＝＝*/
.top_header{
font-size: 80%;
padding: 5px;
font-weight: 400;
text-align: left;
}
header{
display: flex;
justify-content: space-between;
align-items: center;
flex-direction: column;
}
.top_logo{
width: 60%;
padding:10px 0;
}
.header_btn_box{
display: flex;
justify-content:center;
padding: 10px 0;
}
.header_btn_box a{
padding: 12px 20px 10px;
font-size: 120%;
width: auto;
}
.header_btn_box a:hover{
opacity: 0.7;
background: #FDFBBC;
}
.header_btn_box a span{
font-size: 70%;
}

.top_cont{
width: 100%;
height: 180px;
margin: 0 auto;
background-image: url("../img/top_common_sp.jpg");
}
.schedule_box{
width: 98%;
margin: 30px auto;
padding: 10px 0 20px;
}
.box_inner{
max-width: 1400px;
width: 95%;
margin: 20px auto;
}
.flex_50_news{
width: 98%;
}
.flex_50_sch{
width: 98%;
}
.common_h1{
width: 88%;
top:10%;
left: 0%;
padding: 0 20px;
}
h1{
padding: 10px 20px;
}
.txt p {
font-size: 180%;
text-shadow: 0px 2px 2px 0px rgba(53,247,12,0.30);
}
h2{
border-bottom: dotted 3px #00ADC9;
font-size: 110%;
} 
h2::before {
width: 35px;/*画像の幅*/
height: 35px;/*画像の高さ*/
}
h2::after {
width: 35px;/*画像の幅*/
height:35px;/*画像の高さ*/
}
h2 span{
font-size: 80%; 
}
h3{
font-size: 120%;
}
h4{
font-size: 110%;
}
h4::before {
height: 30%;
background-size: 12px 12px;
bottom: -5px;
left: 0px;
}
h5{
font-size: 98%;
padding: 7px 35px 7px 7px;
left: -8px;
}
h5:before {
bottom: -5px;
border-top: 5px solid #F0C66F;
border-left: 5px solid transparent;
}
.h6_tape02 {
color: #0085B5;
text-align: left;
font-size: 115%;
padding:10px;
}
.h6line{
font-size: 105%;
}
.list02{
padding: 0 .1em .5em 1.3em;
line-height: 1.4;
}

.info_flex{
padding: 10px;
width: 88%;
border-radius: 10px;
border: solid 3px rgba(156,224,243,0.85);
box-shadow: 2px 2px 4px gray;
margin: 10px auto;
background: #FFFFFF;
}
.info_flex p{
margin: 0 auto;
padding: 20px 5px 10px 5px;
text-align: left;
font-size: 97%;
}
.footer_img{
width: 70%;
}
.footer_info02{
flex-direction: column;
align-items:center;
justify-content: center;
flex-wrap: wrap;
width: 98%;
margin: 10px auto;
}
.footer_info02 a{
width: 90%;
padding: 10px 0px;
margin: 10px auto;
font-size: 90%;
border-radius: 10px;
}
.footerbox{
width: 95%;
margin: 0 auto;
font-size: 70%;
}
/* サイトマップ*/
.sitemap{
width: 98%;
margin: 5px auto;
}
.sitemap nav ul {
justify-content: center;  
align-items: stretch;
flex-wrap: wrap;
white-space: wrap;
}
.sitemap nav ul li{
font-size: 90%;
font-weight: 600;
width: 46%;
}
.sitemap nav ul li a{
padding: 10px 30px 10px 15px;
display: inherit;
}
.sitemap nav ul li a::before {

height: 5px;
right: 20px;
width: 5px;
}
.sitemap nav ul li:hover{
opacity: 0.9;
}
.sitemap nav ul li a:hover::before {
right: 10px;
}
.qr_cont{
display: none;
}
}
@media only screen and (max-width:520px){
.list01{
padding: 0 .5em .5em 1.5em;
}
.list01::after {
top: .4em;
left: .4em;
content: '';
width: 9px;
height: 9px;
}

}
@media only screen and (max-width:400px){

}
