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;
background: #fffff0 ;
}
a{
text-decoration: none;
word-break: break-all;
}
a:hover{
font-weight: bold;
}
i{
margin-right: 8px;
}
strong{
font-weight: bold;
}



/*＝＝＝＝＝　header　＝＝＝＝＝*/
header{
position: relative;
}
header p.top_add{
padding: 5px 10px;
color: #4e342e;
text-align: right;
}
.top_logo_img{
width: 16%;
position: absolute;
left: 3%;
top: 10px;
-webkit-animation:fuwafuwa 0.5s  linear alternate;
animation:fuwafuwa 0.5s  linear alternate;
}
.top_logo_img img{
width: 100%;
}
.top_cont{
width: 100%;
margin: 0 auto;
}


/*＝＝＝＝＝　見出し　＝＝＝＝＝*/

h1{
font-size:300%;
font-weight: 900;
background: #00dcb2 ;
background-clip: text;
-webkit-background-clip: text;
text-align: center;
animation: fadeIn 1.5s cubic-bezier(0.33, 1, 0.68, 1) forwards;
font-style: normal;
color: #00dcb2 ;
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-family: "Noto Sans JP", sans-serif;
}


h2{
font-size: 200%;
font-weight: 900;
color: #3B3E3F;
position: relative;
text-align: center;
margin: 80px auto 50px;
background: #e0ffff;
}
h2 img{
position: absolute;
top: -150px;
right: 0;
bottom: 0;
left: 0;
margin: auto;
}
h2 p{
font-size: 90%;
}

h3{
color: #3B3E3F;
background:#ffffff;
font-size: 130%;
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);
	widows: 90%;
}
.h3_yello {
background: repeating-linear-gradient(-45deg, #E5F5F8, #E5F5F8 5px, #fff 0, #fff 10px);
line-height: 2;
margin-bottom: 10px;
box-shadow: 3px 3px 0px 0px rgba(0, 0, 0, 0.1);	
}
.h3_check {
 background-image: linear-gradient(45deg, #F8F1D5 25%, transparent 25%, transparent 50%, #F8F1D5 50%, #F8F1D5 75%, transparent 75%, transparent), linear-gradient(-45deg, #F8F1D5 25%, transparent 25%, transparent 50%, #F8F1D5 50%, #F8F1D5 75%, transparent 75%, transparent);
 background-color: #ffffff;
 background-size: 20px 20px;
 color: #3B3E3F;
}
h4{
position: relative;
padding: 10px 15px;
background-color: #F2F2CE;
font-size: 115%;
font-weight: bold;
color: #00dcb2;
}
h4::before,
h4::after {
display: inline-block;
position: absolute;
width: 10px;
height: 100%;
border: 3px solid #dcdc77;
box-sizing: border-box;
content: '';
}
h4::before {
top: 0;
left: 0;
border-right: none;
}

h4::after {
bottom: 0;
right: 0;
border-left: none;
}
h5{
position: relative;
padding: .3em 0 .2em 1em;
border-bottom: 3px dashed #00dcb2;
color: #00dcb2;
font-weight: bold;
font-size: 120%;
}
h5::before {
position: absolute;
top: 0;
left: .3em;
transform: rotate(55deg);
height: 11px;
width: 12px;
background: #00dcb2;
content: '';
}
h5::after{
position: absolute;
transform: rotate(15deg);
top: .6em;
left: 0;
height: 8px;
width: 8px;
background: #00dcb2;
content: '';
}
h6 {
background-color: #fff;
padding: 0.5em;
position: relative;
font-size: 120%;
font-weight: bold;
background: #dcdc77;
color: #4e342e;
margin-bottom: 20px;
}
h6::before {
content: '';
width: 100%;
height: 30%;
background-image: radial-gradient(#dcdc77 8%, transparent 16%), radial-gradient(#dcdc77 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: #ea4a1f;
}
.list01{
position: relative;
padding: 5px 0 5px 25px;
text-align: left;
font-size: 105%;
font-weight: bold;
}
.list01::after { 
position: absolute;
top: 2px;
left: 5px;
color: #00dcb2;
content: "※";
font-size: 110%;
}
.list02{
position: relative;
padding: 5px 0 5px 25px;
text-align: left;
font-size: 105%;
font-weight: bold;
}
.list02::after { 
position: absolute;
top: 12px;
left: 5px;
content: '';
width: 12px;
height: 12px;
background-color: #00dcb2;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.list03{
position: relative;
padding: 5px 0 5px 25px;
text-align: left;
width: 95%;
margin: 0 auto 5px;	
line-height: 1.3;
}
.list03::after { 
position: absolute;
top: 2px;
left: 5px;
color: #00dcb2;
content: "・";
font-size: 110%;
}

/* ホワイトボード風　タイトル　6 */
h3.h3_cal{
color: #0172C3;
background:#ffffff;
font-size: 110%;
font-weight: bold;
line-height: 1.3;
margin:0px auto;
border-left: 0px solid rgba(0,0,0,.1);/* テープのギザギザ左*/
border-right: 0px solid rgba(0,0,0,.1);/* テープのギザギザ右*/
padding:5px 0px;/*タイトルの余白*/
text-align: center;
box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
}
.info_board {
 position: relative;
 margin: 10px auto 10px;
 padding: 5px 5px 10px;
 width: 95%; /* ボックス幅 */
 background-color: #fffff9; /* ボックス背景色 */
 color: #000; /* 文章色 */
 border: 5px solid #4480C6; /* 枠線 */
 border-radius: 3px; /* 角の丸み */
 box-shadow: 0 0 3px #3C83E3, 0 0 2px #3C83E3 inset;
}
.info_board::before,
.info_board::after {
 position: absolute;
 content: '';
 width: 10px; 
 bottom: 3px;
 border-radius: 2px;
 box-shadow: 1px 1px 3px #666;
} 
.info_board::before {
 right: 20px;
 border: solid 3px #333333; /*飾ペン黒 */
}
.info_board::after {
 right: 1px;
 border: solid 3px #0172C3; /*飾ペンピンク */
 transform: rotate(8deg); /*飾ペン角度 */
}

.update_time{
font-size: 75%;
line-height: 1;
text-align: center;
}
/* ＝＝＝＝＝＝　news　＝＝＝＝＝＝ */

.news_box{
width: 95%;
margin: 0 auto;
border-radius: 20px;
background: #ffffff;
padding: 30px 0;
box-shadow: none;
max-width: 1500px;
font-size: 120%;
text-align: center;
}

/* ＝＝＝＝＝＝　診療予定表　＝＝＝＝＝＝ */
.bg001{
background-image:url("../img/bg001.png");
background-size: contain;
background-repeat: no-repeat;
}
.sep3 {
transform: translateY(10%) translateY(2px) scale(1,1);
transform-origin: top;
}
/* ＝＝＝＝＝＝　予約について　＝＝＝＝＝＝ */

/* ＝＝＝＝＝＝　アクセス　＝＝＝＝＝＝ */
.common_cont{
margin: 0px auto;
width: 100%;
padding: 50px 0 60px;
}
.common_box{
width: 85%;
margin: 0 auto;  
max-width: 1500px;
position: relative;
}

.info_flex{
padding: 10px;
width: 40%;
border-radius: 0px;
border: solid 4px #DCDC77;
box-shadow: 2px 2px 4px gray;
margin: 10px 10px;
background: #FFFFFF;
}
.info_flex p{
margin: 0 auto;
text-align: left;
font: 110%;
padding: 15px 0 25px;	
width: 95%;
}

.info_flex02{
padding: 15px;
width: 40%;
border-radius: 10px;
box-shadow: 2px 2px 4px gray;
margin: 10px 10px;
background: #FFFFFF;
background-color: #FFFBF4;
outline: 1.5px dashed #A7A297; 
outline-offset: -10px; 
max-width: 800px;
}
.info_flex02 p{
margin: 0 auto;
text-align: left;
padding: 15px 0 25px;	
width: 95%;
font: 110%;
}

/* ボックス内の段落 */
.cstm-box-stitch-brown p {
margin: 0;
}
a.jump_btn {
display: block;
text-align: center;
vertical-align: middle;
text-decoration: none;
position: relative;
width: 95%;
margin: auto;
padding: 6px 0 14px;
font-weight: bold;
color: #00dcb2;
background: #F1EAD3;
transition: 0.3s ease-in-out;
}
a.jump_btn::before {
content: '';
position: absolute;
top: -5px;
left: -5px;
width: calc(100% - 4px);
height: calc(100% - 4px);
border: 1px solid #00dcb2;
transition: 0.2s;
}
a.jump_btn:hover {
background: #00dcb2;
color: #fff;
border-radius: 5px;
padding: 10px 0;
}
a.jump_btn:hover::before {
top: 0;
left: 0;
border-radius: 5px;
}
a.jump_btn02{
background-image: linear-gradient( #F4FDFF 0%, #BAE3ED 100%);
padding: 10px 0;
 color: #3272B7;
font-size: 90%;
}
a.jump_btn:hover{
opacity: 0.6;
}



/*＝＝＝＝＝　common ＝＝＝＝＝*/
.common_title{
width: 65%;
text-align: center;
-webkit-animation:zoomIn 1.5s forwards;
animation:zoomIn 1.5s forwards;
}



/*＝＝＝＝＝ footer ＝＝＝＝＝*/
footer{
font-weight: bold;
text-align: center;
padding-top: 50px;
margin: 0 auto;

}

.footer_btn{
margin: 20px auto;
text-align: center;
}
.footer_btn a{
display: flex;
width: 90%;
padding: 10px 30px;
margin: 0 auto;
font-size: 130%;
font-weight: bold;
border-radius: 20px;
background: #E6CAFF;
color: #BF76FF;
text-align: center;
box-shadow: 0px 2px 2px 0px rgba(247,11,218,0.30), inset 0px -3px 6px -2px rgba(0, 0, 0, 0.1);
justify-content: center;
}
.footer_btn a:hover{
opacity: 0.7;
}
.footer_info02{
display: flex;
justify-content: center;
width: 80%;
margin: 0 auto;
max-width: 1600px;
}
.footer_info02 a{
width: 45%;
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_img{
width: 17%;
margin: 10px auto;
}
.footer_img img{
width: 100%;
}
.footerbox{
width: 90%;
margin: 10px auto;
font-weight: bold;
}
/*＝＝＝＝＝ footerマップ ＝＝＝＝＝*/
.sitemap{
width: 95%;
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: 3px;
font-size: 100%;
font-weight: 500;
border: 1px solid #B8B82F;
margin: 5px;
background: #FFFFFF;
cursor: pointer;
position: relative;
transition: 0.5s;
box-shadow: 1px 1px 0 #DCDC77, 0 0 2px 2px #DCDC77, inset -2px -2px 0 #B8B82F;
}
.sitemap nav ul li a{
color: #3B3E3F; 
padding: 12px 50px 12px 20px;
display: inline-block;
}
.sitemap nav ul li a::before {
border-right: 3px solid #6F5731;
border-top: 3px solid #3B3E3F;
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 a:hover{
color: #ffffff;
}
.sitemap nav ul li:hover{
opacity: 0.9;
background: #D3D356;
}
.sitemap nav ul li a:hover::before {
right: 10px;
border-right: 3px solid #ffffff;
border-top: 3px solid #ffffff;
}
.copy{
font-size: 80%;
}
@media screen and (max-width: 960px){
h1{
font-size:220%;
}
}
@media screen and (max-width: 789px){


header p.top_add{
padding: 5px;
text-align: left;
font-size: 80%;
}
.top_logo_img{
position: inherit;
width: 45%;
left: inherit;
top: inherit;
margin: 10px auto;
}
h3.h3_cal{
font-size: 110%;
}

h1{
font-size:180%;
}
h2{
font-size: 160%;
margin: 60px auto 30px;
}
h2 img{
top: -125px;
}
h2 p{
font-size: 80%;
}
h3 {
font-size: 115%;
line-height: 2;
margin-bottom: 10px;
margin-top: 25px;
}
h4{
font-size: 115%;
}
h6{
font-size: 110%;
padding: 8px 20px;
}
/*＝＝＝＝＝　header　＝＝＝＝＝*/
header{
}
header p{
padding: 5px;
color: #00dcb2;
text-align: right;
}
.news_title{
width: 99%;
margin: 0 auto;
transform: translateY(10px)translateX(0px);
}
/* ＝＝＝＝＝＝　news　＝＝＝＝＝＝ */
.news_box{
border-radius: 10px;
padding: 20px 0;
width: 98%;
}
.list01{
font-size: 100%;
padding: 5px 0 5px 15px;
}
.list01::after { 
font-size: 100%;
top: 5px;
left: 0px;
}
.common_cont{
margin: 0px auto;
width: 100%;
padding: 40px 0 50px;
}
.common_box{
width: 95%;
margin: 0 auto;  
max-width: 1500px;
position: relative;
}

.list03{
padding: 5px 0 5px 15px;
font-size: 97%;
}
.list03::after { 
top: 2px;
left: 0px;
font-size: 110%;
}
/* ＝＝＝＝＝＝　診療予定表　＝＝＝＝＝＝ */

.info_flex{
padding: 10px;
width: 70%;
margin: 10px auto;
}
.info_flex02{
width: 70%;
margin: 10px auto;
}
a.jump_btn02{
font-size: 95%;
}
/*フッター*/
footer{
border-bottom: 60px solid #dcdc77;
}
footer p{
font-size: 90%;
}
.footerbox{
width: 95%;
margin: 0 auto;
}
/*＝＝＝＝＝ footerマップ ＝＝＝＝＝*/
.sitemap{
width: 95%;
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: 3px;
font-size: 100%;
font-weight: 500;
border: 1px solid #B8B82F;
margin: 5px;
background: #FFFFFF;
cursor: pointer;
position: relative;
transition: 0.5s;
box-shadow: 1px 1px 0 #DCDC77, 0 0 2px 2px #DCDC77, inset -2px -2px 0 #B8B82F;
}
.sitemap nav ul li a{
color: #3B3E3F; 
padding: 12px 50px 12px 20px;
display: inline-block;
}
.sitemap nav ul li a::before {
border-right: 3px solid #6F5731;
border-top: 3px solid #3B3E3F;
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 a:hover{
color: #ffffff;
}
.sitemap nav ul li:hover{
opacity: 0.9;
background: #D3D356;
}
.sitemap nav ul li a:hover::before {
right: 10px;
border-right: 3px solid #ffffff;
border-top: 3px solid #ffffff;
}
.copy{
font-size: 80%;
}
.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;
}
.footer_img{
width: 60%;
margin: 10px auto;
}
}
@media only screen and (max-width:520px){
.top_logo_img{
left: 1%;
top: 10%;
}
.info_flex{
padding: 10px;
width: 90%;
margin: 10px auto;
}
.info_flex02{
width: 93%;
margin: 10px auto;
border-radius: 5px;
box-shadow: 1px 1px 2px gray;
outline: 1px dashed #A7A297; 
outline-offset: -5px; 
padding: 15px 5px;
}
}
@media only screen and (max-width:400px){
h1{
font-size:180%;
}
h5{
padding: .3em 0 .2em 0.9em;

font-size: 110%;
}
h5::before {
height: 10px;
width: 10px;
}
h5::after{
height: 5px;
width: 5px;
}
}
