body{
font-family: "Lucida Sans Unicode", "Lucida Grande", "sans-serif";
overflow-x: hidden; 
-webkit-font-smoothing: antialiased;
line-height: 1.6;
background: url("../img/bg.png");
}
a{
text-decoration: none;
word-break: break-all;
}
i{
margin-right: 8px;
}
i{
padding-right: 5px;
}
/*＝＝＝＝＝　見出し　＝＝＝＝＝*/
h1{ 
text-shadow: #fff 2px 0, #fff -2px 0, #fff 0 -2px, #fff 0 2px, #fff 2px 2px, #fff -2px 2px, #fff 2px -2px, #fff -2px -2px, #fff 1px 2px, #fff -1px 2px, #fff 1px -2px, #fff -1px -2px, #fff 2px 1px, #fff -2px 1px, #fff 2px -1px, #fff -2px -1px, rgba(0, 0, 0, .5) 3px 3px 3px;
font-size: 40px;
color: #743A12;
font-weight: bold;
text-align: center;  
position: relative;
margin-bottom: 20px;
animation: blurAnime 1.2s cubic-bezier(0.25, 1, 0.5, 1) forwards;    
}

h1:before{
content: '';
position: absolute;
left: 50%;
bottom: -3px;/*線の上下位置*/
display: inline-block;
width: 50px;/*線の長さ*/
height: 5px;/*線の太さ*/
-webkit-transform: translateX(-50%);
transform: translateX(-50%);/*位置調整*/
background-color: #FF8AA1;/*線の色*/
border-radius: 2px;/*線の丸み*/
}
h2{
font-size: 120%;
padding: 5px 20px;
font-weight: bold;
box-shadow: rgba(0, 0, 0, 0.1) 0px 2px 4px, rgba(0, 0, 0, 0.1) 0px 7px 13px -3px, rgba(0, 0, 0, 0.1) 0px -3px 0px inset;
color: #ffffff;
background: #FF8D8D;
border-radius: 20px;
width: 90%;
}
h2 img{
width: 50px;
margin-right:10px;  /*画像右の余白*/
vertical-align: middle;
}
h3 {
color: #604208;
border-top: 5px dotted #FFADCC;
border-bottom: 5px dotted #FFADCC;
font-size: 130%;
font-weight: bold;
line-height: 2;
margin-bottom: 10px;
margin-top: 5px;
}
h4{
font-weight: bold;
color: #FF8D8D;
font-size: 110%;
}
h4:before{
content: url("../img/icon_pin.png");
margin-right:5px;  /*画像右の余白*/
}
h5 {
position: relative;
padding: 20px 0 5px;
font-size: 135%;
font-weight: bold;
color:#FF8AA1;
margin-bottom: 30px;
}

h5:after {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 5px;
content: '';
background-image: -webkit-repeating-linear-gradient(135deg, #FF8AA1, #FF8AA1 1px, transparent 2px, transparent 5px);
background-image: repeating-linear-gradient(-45deg, #FF8AA1, #FF8AA1 1px, transparent 2px, transparent 5px);
background-size: 7px 7px;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
h6{
font-weight: bold;
font-size: 120%;
color:#FF8AA1;
padding: 0 10px;
}

h6.dr_kitamura:before{
content: url("../img/icon/info_icon.png");
margin-right:5px;  /*画像右の余白*/
}
h6.dr_yuri:before{
content: url("../img/icon/info_icon.png");
margin-right:5px;  /*画像右の余白*/
width: 40px;
}
h6.dr_orimo:before{
content: url("../img/icon/info_icon.png");
margin-right:5px;  /*画像右の余白*/
}
/*＝＝＝＝＝　header　＝＝＝＝＝*/
header{
position: relative;
}
.top_cont{
position: relative;
height: 45vh;
}
.top_cont_common{
height: 20vh;
}
.top_info{
width: 70%;
position: absolute;
bottom: 20px;
left:20%;
display: flex;
justify-content: space-between;
align-items: flex-end;
}
.top_img{
width: 45%;
}
.top_img img{
width: 100%;
}
.cal_admin{
width: 45%;
}
.header_btn_flex{
display: flex;
align-items: flex-start;
justify-content:flex-end;
flex-direction: row;
}
a.tel_kitamura{
width: 17%;
}
a.yoyaku{
width: 20%;
}
a.monshin{
width: 8%;
}
.header_btn_flex a img{
width: 100%; 
}
.top_left{
position: absolute;
left: 0;
top: 0;
width: 35%;
}
.top_left img{
width: 100%;
}
.top_left_common{
position: absolute;
left: 0;
top: 0;
width: 20%;
}
.top_left_common img{
width: 100%;
}
.top_logo{
width: 20%;
margin: 0 auto;
animation: zoomIn 1.2s cubic-bezier(0.25, 1, 0.5, 1) forwards;
position: absolute;
left: 10%;
top:20px;
}
.top_logo img{
width: 100%;
}

@keyframes zoomIn {
0% {
transform: translateY(40px) scale(0.8);
opacity: 0;
}
100% {
transform: translateY(0) scale(1.0);
}
80%, 100% {
opacity: 1;
}
}
@keyframes blurAnime{
from {
filter: blur(10px);
transform: scale(1.02);
opacity: 0;
}
to {
filter: blur(0);
transform: scale(1);
opacity: 1;
}
}
@keyframes poyopoyo {
0%, 40%, 60%, 80% {
transform: scale(1.0);
}
50%, 70% {
transform: scale(0.95);
}
}
.wave {
position: absolute;
height: 83px;
width: 100%;
bottom: 0;
}
.wave::before, .wave::after {
content: "";
display: block;
position: absolute;
border-radius: 50% 100% 0% 30%;
}
.wave::before {
width: 55%;
height: 109%;
background-color: #fedde2;
right: -1.5%;
top: 20%;
}
.wave::after {
width: 80%;
height: 100%;
background-color: #fedde2;
top: 40%;
}
/* ＝＝＝＝＝＝　news　＝＝＝＝＝＝ */

.news_cont{
width: 100%;
margin: 20px auto 0;
background-color: #fedde2;
padding-bottom: 30px;
}
.news_box{
width: 85%;
border-radius: 30px;
background: #ffffff;
margin: 0 auto;
padding-bottom: 20px;
}
.news_inner{
width: 85%;
border-bottom: 5px dotted #C1EDCE;
padding: 1em;
margin: 1em auto;
}
.news_sent{
width: 95%;
margin: 10px auto;
}
/* ＝＝＝＝＝＝　診療予定表　＝＝＝＝＝＝ */
/* -- SVG CSS -- */
.clinic_guide_whole{
padding: 50px 0;
position: relative;
}
.bg001{
background-image:url("../img/bg001.png");
background-size: contain;
background-repeat: no-repeat;
}
.bg002{
background-image:url("../img/bg002.png");
background-size: contain;
background-repeat: no-repeat;
}
.sep3 {
transform: translateY(10%) translateY(2px) scale(1,1);
transform-origin: top;
}

.clinic_guide{
margin: auto;
max-width: 1500px;
width: 90%;
}
ul.btn_box{
padding: 20px 0;
}
ul.btn_box li{
display:  inline;
}
.web_btn01{
padding: 5px 15px;
border-radius: 5px;
font-size: 90%;
color: #009245; 
border: 1px solid #DEEFE5;
margin: 5px;
display:  inline-block;
background: #FFF0F2;
cursor: pointer;
}
.web_btn01:hover{
background: #DEEFE5;
}

/*当院案内*/
.access_cont_whole{
margin: 50px auto;
max-width: 1500px;
width: 100%;
}
.access_cont{
width: 90%;
margin: 0 auto;     
}
.clinic_info{
width: 90%;
margin: 0 auto;
padding: 15px;    
}
.clinic_info p{
width: 90%;
margin: 5px auto 10px;
font-size: 95%;
}
.yoyaku_cont_whole{
margin: 0 auto;
width: 100%;
background: #fcf7de; 
padding: 50px 0;
position: relative;
}
.yoyaku_cont_whole::after {
content: '';
position: absolute;
right: 0;
left: -0%;
top: 100%;
z-index: 10;
display: block;
height: 25px;
background-size: 25px 100%;
background-image: linear-gradient(135deg, #FFF4BA 25%, transparent 25%), linear-gradient(225deg, #FFF4BA 25%, transparent 25%);
background-position: 0 0;
}
.yoyaku_cont{
margin: 0 auto;
width: 90%;
max-width: 1500px;
}
.link_btn{
width: 70%;
vertical-align: middle;
text-decoration: none;
margin: 10px 0;
padding: 1rem 2rem;
font-weight: bold;
color: #FF8AA1;
box-shadow: 0 2px 7px rgba(0, 0, 0, .1);
-webkit-box-shadow: 0 2px 7px rgba(0, 0, 0, .1);
transition: 0.5s;
background: #ffffff;
}
.link_btn:hover {
transform: translateX(3px);
background: #FFE1DA;
}

/*＝＝＝＝＝　QRコード ＝＝＝＝＝*/
.qr_cont{
max-width: 1400px;
margin:50px auto;
}
.qr{
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: 50px 10px;
}
.qrbox img{
width: 100%;
}
.qrbox p{
font-size: 85%;
padding-top: 5px;
text-align: left;
}
/*＝＝＝＝＝　common ＝＝＝＝＝*/

.common_cont{
width: 90%;
max-width: 1400px;
margin:50px auto;
}
.common_yoyaku{
margin: 0px auto 60px;
width: 100%;
background: #F9E6E8; 
padding: 50px 0;
position: relative;
max-width: 1200px;
}
.common_yoyaku::before {
content: '';
position: absolute;
right: 0;
left: -0%;
top: -25px;
z-index: 10;
display: block;
height: 25px;
background-size: 25px 100%;
background-image: linear-gradient(45deg, #F9E6E8 25%, transparent 25%), linear-gradient(-45deg, #F9E6E8 25%, transparent 25%);
background-position: 0 0;
}
.flow_cont{
margin: 30px auto 60px;
width: 80%;
background: #ffffff; 
position: relative;
padding: 20px;
}
.flow_cont::after {
content: '';
position: absolute;
right: 0;
left: -0%;
top: 100%;
z-index: 10;
display: block;
height: 25px;
background-size: 25px 100%;
background-image: linear-gradient(135deg, #ffffff 25%, transparent 25%), linear-gradient(225deg, #ffffff 25%, transparent 25%);
background-position: 0 0;
}
.flow_cont::before {
content: '';
position: absolute;
right: 0;
left: -0%;
top: -25px;
z-index: 10;
display: block;
height: 25px;
background-size: 25px 100%;
background-image: linear-gradient(45deg, #ffffff 25%, transparent 25%), linear-gradient(-45deg, #ffffff 25%, transparent 25%);
background-position: 0 0;
}
/*トップページ*/

#pagetop{
position:fixed;
right: -500px;
bottom:-60px;
cursor:pointer;
}
.pagetopbtn img{
width: 20%;
opacity: 0.8;
}

/*＝＝＝＝＝ footer ＝＝＝＝＝*/
footer{
padding: 30px;
position: relative;
font-weight: bold;
text-align: center;
}
.footerbox{
width: 90%;
margin: 10px auto;
font-weight: bold;
}
.footer_btn{
margin: 20px auto;
text-align: center;
}
.footer_btn a:hover{
background: #ffffff;
color:#FF8AA1;
}
.footer_btn a{
color:#ffffff;
padding: 10px 30px;
font-size: 110%;
background: #FF8AA1;
border-radius: 30px;
font-weight: bold;
text-decoration: none;
transition: all 0.2s ease 0s;
text-align: center;
display: inline-block;
    margin-top: 10px;
}
.footer_info{
display: flex;
flex-direction: row;
align-items:center;
justify-content: space-between;
padding: 10px 0;
flex-wrap: wrap;
width: 90%;
margin:  0 auto;
}
/*＝＝＝＝＝ footerマップ ＝＝＝＝＝*/
.sitemap{
margin:20px auto;
width: 65%;
}
.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{
padding: 0 10px;
margin: 5px 0; 
}
.sitemap nav ul li a {
display: inline-block;
align-items: center;
text-decoration: none;
padding: 5px 0 5px 10px;
color:#FF8AA1;
font-weight: bold;
font-size: 90%;
border: 1px solid #FF8AA1;
transition: all 0.2s ease 0s;
background: #ffffff;
}
.sitemap nav ul li a:hover {
color: #ffffff;
background: #FF8AA1;
}
.sitemap nav ul li a dd i{
padding-left: 10px;
}

.copy{
font-size: 80%;
}

@media screen and (max-width: 960px){
/*アクセス*/
.qrbox section{
padding: 15px;
width: 30%;
margin: 5px;
}
.top_info{
position: absolute;
bottom: 20px;
left:20%;
display: flex;
justify-content: space-between;
align-items: flex-end;
}
.top_img{
width: 45%;
}
.top_img img{
width: 100%;
}
.cal_admin{
width: 45%;
}
}
h1{
font-size: 180%;
}
@media screen and (max-width: 768px){
h1{
font-size: 150%;
}
h1:before{
bottom: -8px;/*線の上下位置*/
}
h2{
font-size: 110%;
padding: 5px 0px 5px 10px;
border-radius: 15px;
width: 95%;
}
h3 {
border-top: 4px dotted #FFADCC;
border-bottom: 4px dotted #FFADCC;
font-size: 110%;
line-height: 2;
margin-bottom: 10px;
margin-top: 25px;
}
h4{
font-size: 110%;
}
h6{
font-weight: bold;
font-size: 100%;
padding: 0 20px
}
h6::before {
font-size: 90%;
}
/*＝＝＝＝＝　header　＝＝＝＝＝*/
 header{
height: 200px;
}
.top_left{
width: 70%;
}
.top_logo{
width: 50%;
left: 5%;
top:100px;
}
.top_cont{
position: relative;
height: inherit;
}
.top_cont_common{
height: 10vh;
}
.header_btn_flex{
align-items: flex-start;
justify-content:center;
position: absolute;
top:0;
}
.common_cont{
width: 96%;
}
a.tel_kitamura{
width: 30%;
}
a.yoyaku{
width: 40%;
}
a.monshin{
width: 20%;
}
.top_info{
width: 95%;
position: inherit;
bottom: 0;
left:0;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
margin: 0 auto;
}
.top_img{
width: 90%;
}
.cal_admin{
width: 90%;
}
.wave::before, .wave::after {
content: "";
display: block;
position: absolute;
border-radius: 50% 50% 0% 0%;
}
.wave::before {
display: none;
}
.wave::after {
width: 100%;
height: 100%;
background-color: #fedde2;
top: 40%;
}
/* ＝＝＝＝＝＝　news　＝＝＝＝＝＝ */
.news_cont{
width: 100%;
}
.news_inner{
width: 95%;
padding: 0px;
margin: 10px auto;
}
.news_sent{
width: 95%;
margin: 10px auto;
font-size: 90%;
}
.news_box{
width: 95%;
border-radius: 10px;
background: #ffffff;
padding-bottom: 20px;
}
/* ＝＝＝＝＝＝　診療予定表　＝＝＝＝＝＝ */
/* -- SVG CSS -- */
.clinic_guide_whole{
padding: 20px 0;
}
.clinic_guide{
width: 95%;
}

ul.btn_box{
padding: 10px 0;
}
ul.btn_box li{
display:  inline;
}
.web_btn01{
padding: 5px 10px;
}


/*当院案内*/
.access_cont_whole{
margin: 50px auto;
width: 100%;
}
.access_cont{
width: 98%;
}
.clinic_info{
width: 98%;
margin: 0 auto;
padding: 5px;    
}
.clinic_info p{
width: 90%;
margin: 5px auto 10px;
font-size: 95%;
}
.yoyaku_cont_whole{
padding: 30px 0;
}
.yoyaku_cont{
width: 95%;
}
.flow_cont{
margin: 30px auto 0px;
width: 90%;
background: #ffffff; 
padding: 10px;
}
.flow_cont.inner_box{
width: 99%;
padding: 10px;
margin: 10px auto;
}
.common_yoyaku{
padding: 30px 0;
}
.common_yoyaku{
width: 95%;
}
.link_btn{
width: 85%;
margin: 10px auto;
padding: 10px 20px;
}
/*＝＝＝＝＝　QRコード ＝＝＝＝＝*/
.qr{
width: 95%;
}
.qrbox{
display: flex;
flex-direction: column;
justify-content: center;
align-items:center;
flex-wrap: wrap;
}	
.qrbox section{
padding: 15px;
width: 80%;
margin: 10px;
}
.qrbox p{
font-size: 95%;
}
/*フッター*/
footer{
padding: 30px 0;

}
footer p{
font-size: 90%;
margin-bottom: 30px;
}
.footerbox{
width: 95%;
margin: 0 auto;
}
/* サイトマップ*/
.sitemap{
margin: 0 auto;
text-align: center;
width: 100%;
}
.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{
padding: 0 2px;
}
.sitemap nav ul li a dd {
font-weight: bold;
font-size: 90%;
}
.sitemap nav ul li a {
padding: 5px 10px;
}
.copy{
font-size: 60%;
}
.footer_info{
display: flex;
flex-direction: column;
align-items:center;
justify-content: center;
padding: 10px 0;
flex-wrap: wrap;
width: 98%;
margin: 0 auto;
}
}
@media only screen and (max-width:520px){
 header{
height: 150px;
}
.top_logo{
width: 50%;
left: 5%;
top:80px;
}
.top_img{
width: 98%;
}
.cal_admin{
width: 90%;
}
    /*qr*/
.qr_cont{
display: none;
}
.yoyaku_cont_whole{
background: rgba(255,244,186,0.35); 
}
.pagetopbtn img{
width: 15%;
opacity: 0.8;
}
}
