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;
}
a{
text-decoration: none;
word-break: break-all;
}
i{
margin-right: 8px;
}
/*＝＝＝＝＝　見出し　＝＝＝＝＝*/
h1{ 
font-size: 180%;
font-weight: bold;
text-align: center;  
position: relative;
line-height: 60px;
height: 60px;
margin: 2em 50px 1em;
padding: 0 2rem;
color: #ffffff;
background: #EF2D5B;
}
h1:before,h1:after {
position: absolute;
top: 0;
display: block;
content: '';
border: 30px solid #EF2D5B;
}
h1:before {
left: -40px;
border-left-width: 15px;
border-left-color: transparent;
}
h1:after {
right: -40px;
border-right-width: 15px;
border-right-color: transparent;
}
h1 span {
}
h2{
font-size: 140%;
font-weight: bold;
color: #ffffff;
background: #F4C665;
position: relative;
display: inline-block;
padding: 7px 0px 7px 20px;
border-radius: 0 100vh 100vh 0;
-webkit-box-shadow: 3px 3px 5px rgba(0, 0, 0, .2);
box-shadow: 3px 3px 5px rgba(0, 0, 0, .2);
width: 95%;
}
h2:before {
position: absolute;
bottom: -10px;
left: 0;
width: 0;
height: 0;
content: '';
border-top: 10px solid #EBAF32;
border-left: 10px solid transparent;
}
.news_title{
width: 80%;
margin: 0 auto;
transform: translateY(10px)translateX(-10px);
}
h2 img{
width: 50px;
margin-right:10px;  /*画像右の余白*/
vertical-align: middle;
}
.h22{
font-weight: bold;
color: #50AF03;
font-size: 110%;  
}
.h22 img{
width: 50px;
margin-right:10px;  /*画像右の余白*/
vertical-align: middle;
}
h3{
color: #525252;
background:#ffffff;
font-size: 120%;
font-weight: bold;
line-height: 2;
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:5px 20px;/*タイトルの余白*/
box-shadow: 3px 3px 0px 0px rgba(0, 0, 0, 0.1);
}
h4{
font-weight: bold;
color: #50AF03;
font-size: 110%;
}
h4:before{
content: url("../img/icon_pin02.png");
margin-right:5px;  /*画像右の余白*/
}
h5 {
color: #525252;
background: repeating-linear-gradient(-45deg, #FFEBED, #FFEBED 5px, #fff 0, #fff 10px);
font-size: 120%;
font-weight: bold;
line-height: 2;
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:5px 20px;/*タイトルの余白*/
box-shadow: 3px 3px 0px 0px rgba(0, 0, 0, 0.1);
}
h6 {
background-color: #fff;
padding: 0.5em 1em;
position: relative;
font-size: 130%;
font-weight: bold;
background: #FFDFE4;
color: #DD2256;
}
h6::before {
content: '';
width: 100%;
height: 30%;
background-image: radial-gradient(#DD2256 8%, transparent 16%), radial-gradient(#DD2256 8%, transparent 16%);
background-position: 0 0, 7px 7px;
background-size: 12px 12px;
position: absolute;
bottom: -10px;left: 0px;
}
.midashi01{
font-size: 110%;
font-weight: bold;
color: #c63c5d;
}
.senmon01{
position: relative;
padding: 0 .5em .5em 1.7em;
text-align: left;
font-size: 16px;
}
.senmon01::after {
position: absolute;
top: .4em;
left: .4em;
content: '';
width: 12px;
height: 12px;
background-color: #F6D239;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
/*＝＝＝＝＝　header　＝＝＝＝＝*/

header{
position: absolute;
top: 10px;
font-size: 110%;
right: 10px;
animation: zoomIn 5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
text-align: right;
}
header.header_sp{
display: none;
}
.top_cont{
position: relative;
padding: 30px 0;
overflow: hidden;
}
.effect01{
position: absolute;  
top:0;
left: 0;
width: 50%;
animation: effectin 3s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
.effect02{
position: absolute;  
top:0;
right: 0;
width: 50%;
animation: effectout 3s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
.effect01 img,.effect02 img,.top_book_btn img{
width: 100%;
}
.top_book_btn{
position: absolute;
top: 20px;
left: 0;
-webkit-animation:fuwafuwa 3s infinite linear alternate;
animation:fuwafuwa 3s infinite linear alternate;
text-align: right;
width: 25%;
}
.top_info{
width: 85%;
display: flex;
justify-content: center;
align-items: center;
margin: 0px auto;
padding: 30px 0 0;
}
.top_info_box{
width: 95%;
border-radius: 20px;
background-image: repeating-linear-gradient(-45deg,#F6EEEC 0, #F6EEEC 3px,#fafafa 3px,#fafafa 6px);/*ストライプ*/
background-color: #F6EEEC;/*ボックス背景色*/
padding:1em;/*ボックス内側余白*/
position:relative;/*配置(ここを基準に)*/
box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.5), inset 0px -3px 6px -2px rgba(0, 0, 0, 0.3);
margin: 30px auto 40px;
}
.top_info_box02{
width: 100%;
}
.schedule_img{
position: absolute;
width: 20%;
left: -50px;
bottom: -35px;   
}
.schedule_img img{
width: 100%;
}
.box-title {
background: rgba(255,255,255,0.54);
border-left: 2px dotted rgba(0,0,0,.1);/* テープのギザギザ左*/
border-right: 2px dotted rgba(0,0,0,.1);/* テープのギザギザ右*/
transform: rotate(-2deg);/*テープの傾き*/
padding: 10px 20px;/*タイトルの余白*/
line-height: 1;/*タイトルの行の高さ*/
position:absolute;	/*配置(ここを動かす)*/
top: -15px; /*上から（-10px）移動*/
left: 20px; /*左から(20px)移動*/
font-size: 110%;
font-weight: bold;
color: #c63c5d;
}
.top_img img{
width: 100%;
}
.cal_admin{
width: 50%;
margin: 10px;
background: #DEEFE5;
padding: 15px 10px;
border-radius: 10px;
position: relative;
margin-bottom: 50px;
}
.top_img{
width: 38%;
}
.top_logo{
margin: 0 auto;
animation: zoomIn 1.2s cubic-bezier(0.25, 1, 0.5, 1) forwards;
text-align: center;
}
.top_logo img{
width: 100%;
}
.book_img{
-webkit-animation:fuwafuwa 3s infinite linear alternate;
animation:fuwafuwa 3s infinite linear alternate;
width: 20%;
margin: 0 auto;
} 
.top_logo_img{
width: 50%;
margin: 0 auto;
}
    
/* ＝＝＝＝＝＝　news　＝＝＝＝＝＝ */
.news_cont{
width: 100%;
margin: 20px auto;
padding-bottom: 30px;
}
.news_box{
width: 80%;
margin: 0 auto;
padding: 20px 0;
background-image: linear-gradient(0deg, transparent 9px, #E8E8E8 10px),linear-gradient(90deg,  transparent 9px, #E8E8E8 10px);
background-size: 10px 10px;
box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.3);
border: 2px solid #EBAF32;
border-radius: 10px;
}
.news_box::-webkit-scrollbar {
width: 16px;
}
.news_box::-webkit-scrollbar-track {
background-color: #e4e4e4;
border-radius: 100px;
}
.news_box::-webkit-scrollbar-thumb {
background-image: linear-gradient( 135deg, #FCBDD6 10%, #E4615D 100%);
box-shadow: inset 2px 2px 5px 0 rgba(#fff, 0.5);
border-radius: 100px;
}
/* ＝＝＝＝＝＝　診療予定表　＝＝＝＝＝＝ */
/* -- SVG CSS -- */
.clinic_guide_whole{
padding: 40px 0;
position: relative;
background-image: linear-gradient(90deg, #FDF2F5 50%, transparent 50%), linear-gradient(#FDF2F5 50%, transparent 50%);/* チェック色 */
background-size: 15px 15px;	/* チェックのサイズ */
}
.clinic_guide{
width: 85%;
margin: 0 auto;
}
.clinic_guide section{
width: 95%;
padding: 0 0 30px 0;
margin: 0 auto;
}
.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;
}
.web_btn01{
padding: 10px 15px;
border-radius: 5px;
font-size: 95%;
color: #009245; 
border: 1px solid #009245;
margin: 5px;
display:  inline-block;
background: #DEEFE5;
cursor: pointer;
}
.web_btn01:hover{
background: #F1BF2C;
}
/*当院案内*/
.access_cont_whole{
margin: 0px auto;
max-width: 1500px;
width: 100%;
background: #ffffff;
padding: 60px 0;
}
.access_cont{
width: 90%;
margin: 0 auto;  
border-radius: 30px;
}
.clinic_info{
width: 90%;
margin: 0 auto;
padding: 15px;    
}
.clinic_info p{
width: 90%;
margin: 5px auto 30px;
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, #fcf7de 25%, transparent 25%), linear-gradient(225deg, #fcf7de 25%, transparent 25%);
background-position: 0 0;
}
.yoyaku_cont{
margin: 0 auto;
width: 90%;
max-width: 1500px;
}
.yoyaku_cont section{
margin: 20px auto;
width: 95%;
}
.link_btn{
width: 70%;
vertical-align: middle;
text-decoration: none;
margin: 10px 0;
padding: 1rem 2rem;
font-weight: bold;
color: #c63c5d;
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:0px auto 60px;
}
.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: 40px 10px 10px;
}
.qrbox img{
width: 100%;
}
.qrbox p{
font-size: 85%;
padding-top: 5px;
text-align: left;
}
/*＝＝＝＝＝　common ＝＝＝＝＝*/
.common_title{
width: 65%;
text-align: center;
-webkit-animation:zoomIn 1.5s forwards;
animation:zoomIn 1.5s forwards;
}
.common_top_info{
width: 70%;
margin: 0px auto;
padding: 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;
}
.footer_info{
display: flex;
flex-direction: row;
align-items:center;
justify-content: space-around;
padding: 10px 0;
width: 95%;
margin: 30px auto;
}
.footer_btn{
margin: 20px auto;
text-align: center;
}
.footer_btn a:hover{
background: #ffffff;
color:#c63c5d;
}
.footer_btn a{
color:#ffffff;
padding: 10px 30px;
font-size: 110%;
background: #c63c5d;
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_img{
width: 30%;
margin: 10px auto;
}
.footer_img img{
width: 100%;
}
.footerbox{
width: 90%;
margin: 10px auto;
font-weight: bold;
}
/*＝＝＝＝＝ footerマップ ＝＝＝＝＝*/
.sitemap{
width: 95%;
padding:0 20px; 
}
.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:#c63c5d;
font-weight: bold;
font-size: 90%;
border: 1px solid #c63c5d;
transition: all 0.2s ease 0s;
background: #ffffff;
}
.sitemap nav ul li a:hover {
color: #ffffff;
background: #c63c5d;
}
.sitemap nav ul li a dd i{
padding-left: 10px;
}
.copy{
font-size: 80%;
}
@media screen and (max-width: 1500px){
.effect01{
top:0;
left: 0;
width: 50%;
animation: effectin_m 3s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
.effect02{
animation: effectout_m 3s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
}
@media screen and (max-width: 960px){
/*アクセス*/
.qrbox section{
padding: 15px;
width: 30%;
margin: 5px;
}
.top_img{
width: 45%;
}
.top_img img{
width: 100%;
}
}

@media screen and (max-width: 834px){
.top_info{
width: 95%;
}
}
@media screen and (max-width: 768px){
h1{
font-size: 110%;
}
h2{
font-size: 125%;
padding: 5px 0px 5px 10px;
width: 95%;
}
h3 {
border-top: 2px dotted #FFADCC;
border-bottom: 2px dotted #FFADCC;
font-size: 110%;
line-height: 2;
margin-bottom: 10px;
margin-top: 25px;
}
h4{
font-size: 120%;
}
h6{
font-size: 110%;
padding: 0 20px;
}
/*＝＝＝＝＝　header　＝＝＝＝＝*/
 header{
display: none;
}
header.header_sp{
display: block;
position: inherit;
font-size: 85%;
top: 0;
right: 0;
animation: zoomIn 5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
text-align: left;
padding-left: 10px;
} 
.top_info_box{
width: 95%;
border-radius: 20px;
padding:20px 5px 5px;/*ボックス内側余白*/
margin: 20px auto 10px;
}
.box-title {
top: -5px; /*上から（-10px）移動*/
left: 2px; /*左から(20px)移動*/
}
.schedule_img{
position: absolute;
width: 20%;
left: -10px;
bottom: -40px;   
}
.book_img{
width: 50%;
}
.top_logo_img{
width: 97%;
}
.top_cont{
padding: 30px 0 0;
}
.top_info{
width: 98%;
position: inherit;
bottom: 0;
left:0;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column-reverse;
margin: 0 auto;
padding: 10px 0 0;
}
.top_book_btn{
position: absolute;
top: 20px;
left: 0;
width: 30%;
}
.cal_admin{
width: 97%;
margin-bottom: 5px;
}
.top_img{
display: none;
    /*width: 80%;*/
}
.news_title{
width: 95%;
margin: 0 auto;
transform: translateY(10px)translateX(-10px);
}
.web_btn01{
padding: 10px 20px;
font-size: 100%;
margin: 10px 5px;
}
/* ＝＝＝＝＝＝　news　＝＝＝＝＝＝ */
.news_cont{
width: 100%;
}
.news_box{
width: 95%;
border-radius: 0px;
background: #ffffff;
padding-bottom: 20px;
border: none;
box-shadow: none;
}
.clinic_guide_whole{
padding: 20px 0;
}
/* ＝＝＝＝＝＝　診療予定表　＝＝＝＝＝＝ */
.web_btn01{
padding: 5px 10px;
font-size: 105%;
}
.clinic_guide{
width: 96%;
margin: 0 auto;
}
/*当院案内*/
.access_cont_whole{
margin: 20px 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%;
}
.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;
display: none;
}
footer p{
font-size: 90%;
}
.footerbox{
width: 95%;
margin: 0 auto;
}
/* サイトマップ*/
.sitemap{
margin: 0;
text-align: center;
width: 95%;
padding: 0;
}
.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;
}
.footer_img{
width: 50%;
margin: 10px auto;
}
}
@media only screen and (max-width:520px){

.top_img{
width: 98%;
}
.effect01{
width: 70%;
animation: effectin_s 3s cubic-bezier(0.25, 1, 0.5, 1) forwards;
margin: 0;
}
.effect02{
width: 70%;
animation: effectout_s 3s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
    /*qr*/
.qr_cont{
display: none;
}
.pagetopbtn img{
width: 15%;
opacity: 0.8;
} 
}
@media only screen and (max-width:400px){
header.header_sp{
padding-left: 5px;
}
}
