﻿@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@500&display=swap');

/*毎回いる*/
#page_title {background-position: center !important;}
/* color ---------------------------------------------------------------------------------------------*/
body,.txt_color_nomal,.hvr_txt_color_nomal:hover{color: #343e53;}
.txt_color1{color: #143459} /* メインカラー */
.txt_color2,.hvr_txt_color2:hover{color: #ffdde2} /* サブカラー */
.txt_color3,.hvr_txt_color3:hover{color: #f67d8f} /* アクセントカラー1 */
.txt_color4,.hvr_txt_color4:hover{color: #ffdde1} /* アクセントカラー2 */
.hvr_txt_color1:hover{color: #143459} /* メインカラー */
/* background-color */
.bg_black,.hvr_bg_black:hover{background-color: #343e53} /* 黒背景 */
.bg_color1,.hvr_bg_color1:hover{background-color: #ffb1bd} /* メインカラー */
.bg_color2,.hvr_bg_color2:hover{background-color: #ffdde2} /* サブカラー */
.bg_color3,.hvr_bg_color3:hover{background-color: #ffb9c3} /* アクセントカラー1 */
.bg_color4,.hvr_bg_color4:hover{background-color: #ffdde2} /* アクセントカラー2 */
/* border-color ※!important */
.border_color1,.hvr_border_color1:hover{border-color: #ffb1bd}
.border_color2,.hvr_border_color2:hover{border-color: #ffdde2}
.border_color3,.hvr_border_color3:hover{border-color: #ffb9c3}
.border_color4,.hvr_border_color4:hover{border-color: #ffdde2}
/* color ---------------------------------------------------------------------------------------------*/

/*linkStyle*/
a.linkStyle {
    color: #f67d8f;
    transition: 0.5s;
    border-bottom:solid 1px #f67d8f;}
a.linkStyle:hover {
    color: #f67d8f;
    opacity: 0.8;}

/*その他*/
/*path { color: #ffffff;}*/
/*.svg_box.txt_white path{color:#ffffff !important;}*/
/* color ---------------------------------------------------------------------------------------------*/

/* font---------------------------------------------------------------------------------------------*/


.more a {
    padding-bottom: 8px;
    padding-top: 5px;}
    
@font-face {
font-family: "hono";
  src: url("dup/css/hono.ttf") format("ttf"),url("dup/css/hono.woff") format("woff"),url("dup/css/hono.woff2") format("woff2");
}
body{font-family:'Zen Kaku Gothic New',"游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif !important;
    font-size:15px;
    font-weight: 500;
}
h2, h3, h4, h5, h6, div#intro_txt h2, section.top_cms_box h2, #header_menu li a,p.info_title span {
    font-family: 'hono',"游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";
    font-weight: 600;
    font-size: -webkit-calc(1rem + 8px);
    font-size: calc(1rem + 8px);}

#header_menu li a span {
    font-size: -webkit-calc(1rem + 0px);
    font-size: calc(1rem + 0px);}
section#contents h3 {
    font-size: -webkit-calc(1rem + 7px);
    font-size: calc(1rem + 7px);}
section#contents p {line-height: 2;}
/* font---------------------------------------------------------------------------------------------*/


/*border-radius-------------------------*/
figure img,.box_img1,#tel_contact {border-radius: 15px;}
p.info_title span,header #header #header_menu li:last-child a span,.more a,#page_title h2 span,#tel_contact a,.border_rad50{border-radius: 50px;}
.pager li a {border-radius: 5px;}
/*border-radius-------------------------*/

/*all-----------------------------------------------------------------------------------------------------------------*/
header {background: rgba(255,255,255,0.9) !important;}
.bg-mask{position:relative;}

.bg-mask::before {
    background-image: url(dup/img/yuru2.png);
    content: '';
    position: absolute;
    width: 100%;
    height: 80%;
    z-index: -1;
    background-size: 100%;
    background-repeat: no-repeat;
    bottom: 80%;
}
footer {
    z-index: 3;
    position: relative;
}

section#bottom_menu {padding: 50px 0 0px;}

.svg_box2.txt_color1{display:none;}
div#logo2 {
    width: 300px;
}

h1.logo {
    width: 250px;
}

.footer_cms {
    color: #4575ad;
    padding: 20px 0 5px;}
/*all-----------------------------------------------------------------------------------------------------------------*/


/*top-----------------------------------------------------------------------------------------------------------------*/

.fadein{
     opacity: 0;
     transform: translateY(20px);
     transition: 1.5s;
     transition-property: opacity,transform
}
.fadein.fadetrans{
     opacity: 1;
     transform: none
}


section#main_img::after {
    background-color: rgba(142,74,74,0.15);
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    z-index: 1;}


img.intro {
    width: 200px;
    position: absolute;
    left: 50%;
    top: -50%;
    transform: translate(-50%, -50%);}

.intro_txt {
    text-align: center;
    line-height: 2.5;
    font-size: 16px;
    padding-bottom: 10px;

}

div#intro_txt h2 {color: #38587c;}

.main_img02 {
    left: -10%;
    max-width: 500px;
    top: -9%;
    z-index: 2;
}


.main_img01 {
    right: -9%;
    max-width: 500px;
    bottom: 2%;
    transform: rotate( 295deg);
    z-index: 6;
}

.catch {
    max-width: 200px;
    height: auto;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;}

.con_bg{color:#fffaf9;
    margin-bottom:-10px;}

.con_bg2 {
    color: #fffaf9;
    transform: rotate(180deg);
    margin-top: -7px;}

#contents{background:#fffaf9;}
#main_img::before {
    background-image: url(dup/img/yuru.png);
    content: '';
    position: absolute;
    width: 100%;
    height: 37%;
    z-index: 2;
    background-size: 100%;
    background-repeat: no-repeat;
    bottom: -24%;}

section#contents .box_wrap {padding: 50px 0 80px;}


.cms_title{text-align:center;}
.cms_title h2{
    display: inline-block;
    background-image: url(dup/img/line.png);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 40px auto;
    padding-bottom: 13px;
    padding-left: 2px;
    padding-right: 2px;
    box-sizing: border-box;
    border: solid 0px;
}

/*当院について-------------------------------------------------------------------*/
.con_about{    width: 400px !important;
    padding-top:80px;}


.con1,.con2,.con3{position: relative;
    z-index: 2;
}

.con1::before {
    content: '';
    background: url(dup/img/maru.png);
    position: absolute;
    width: 200px;
    height: 200px;
    right: 15%;
    bottom: 0%;
    max-width: 500px;
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0.95;
    z-index: -1;
}
.con1::after {
    content: '';
    background: url(dup/img/maru02.png);
    position: absolute;
    width: 350px;
    height: 350px;
    right: -50px;
    bottom: 12px;
    max-width: 350px;
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0.9;
    z-index: -1;
}


.con2::before {
    content: '';
    background: url(dup/img/maru03.png);
    position: absolute;
    width: 200px;
    height: 200px;
    left: 15%;
    bottom: 35%;
    max-width: 400px;
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0.9;
    z-index: -1;
}


.con2::after {
    content: '';
    background: url(dup/img/maru.png);
    position: absolute;
    width: 300px;
    height: 300px;
    left: 0px;
    bottom: 20px;
    max-width: 300px;
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0.95;
    z-index: -1;
}

.con3::before {
    content: '';
    background: url(dup/img/maru03.png);
    position: absolute;
    width: 400px;
    height: 400px;
    right: -2%;
    bottom: 3%;
    max-width: 500px;
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0.95;
    z-index: -1;
}
.con3::after {
    content: '';
    background: url(dup/img/maru02.png);
    position: absolute;
    width: 300px;
    height: 300px;
    right: 220px;
    bottom: 120px;
    max-width: 280px;
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0.9;
    z-index: -1;
}
/*当院について-------------------------------------------------------------------*/


/*top_cms-------------------------------------------------------------------*/
article#top_cms {position: relative;
                padding-top: 50px;}

.fuwa1 {
    position: absolute;
    top: 2%;
    right: -15%;
    width:400px;
    height: 400px;
    background:#fffaf9;
    z-index: -1;
    animation: fuwafuwa 50s infinite linear;
}
.fuwa2 {
    position: absolute;
    top: 36%;
    left: -15%;
    width: 400px;
    height: 400px;
    background: #fffaf9;
    z-index: -1;
    animation: fuwafuwa 50s infinite linear;
}
.fuwa3 {
    position: absolute;
    bottom: 0%;
    right: -15%;
    width: 400px;
    height: 400px;
    background:#fffaf9;
    z-index: -1;
    animation: fuwafuwa 50s infinite linear;
}

@keyframes fuwafuwa {  
	  
0%, 100% {
    border-radius: 63% 37% 54% 46%/55% 48% 52% 45%;}
14% {
    border-radius: 40% 60% 54% 46%/49% 60% 40% 51%;}
28% {
    border-radius: 54% 46% 38% 62%/49% 70% 30% 51%;}
42% {
    border-radius: 61% 39% 55% 45%/61% 38% 62% 39%;}
56% {
    border-radius: 61% 39% 67% 33%/70% 50% 50% 30%;}
70% {
    border-radius: 50% 50% 34% 66%/56% 68% 32% 44%;}
84% {
    border-radius: 46% 54% 50% 50%/35% 61% 39% 65%;}
	  
}

section.top_cms_box h2 {
    text-align: center;
    font-size: 25px;}
.cms_title {margin-bottom: 50px;}
.top_cms_box .more { margin: 50px auto 30px;}
#top_cms .top_cms_box { margin-bottom: 200px;}

/*top_cms-------------------------------------------------------------------*/

.info_svg svg {
    margin-top: -3px;
    position: absolute;
    transform: scale(-1, -1);}
    
.info_svg2 svg {
    margin-top: -13px;
    position: absolute;}



.info_box {
    padding: 50px 0;}
p.info_title span {
    background: #ff9cac;
    font-size: 18px;}


.svg_box{position:relative;}
/*top-----------------------------------------------------------------------------------------------------------------*/


/*cms-----------------------------------------------------------------------------------------------------------------*/


.cate_list li a {
    display: block;
    padding: 10px 10px 5px;
    border-bottom: dotted 2px #f67d8f;
}

.line {
    display: inline-block;
    background-image: url(dup/img/line.png);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 40px auto;
    padding-bottom: 8px;
    padding-left: 2px;
    padding-right: 2px;
    box-sizing: border-box;
    border: solid 0px;}



/*丸み・やさしさ*/
section#cms_3-b .cate_title {
    border-color: #ffb1bd !important;
    border-radius: 15px;}
    
section#cms_3-b .cate_box {
    border:solid 1px ;
    border-radius: 15px;}

/*【背景色のみ】*/
section#cms_3-b .cate_box {
    background: #fffaf9;
    border-radius: 15px;
    border: solid 0;
}


#cms_6-a .cate_box:last-of-type, .cms_6-a .cate_box:last-of-type {
    border-bottom: none;
}




/*【デザイン変更】*/
/*丸み・やさしさ*/
#cms_6-a .cate_title {
    border-color: #ffb1bd !important;
    border-radius: 15px;}

#cms_6-a .box_wrap{
    border-radius: 15px;
    background: #fffaf9;
    border: solid 0;}

#cms_6-a .cate_box {border-bottom: dotted 3px #ffb1bd;}
#cms_6-a .box_txt1.txt_color1{
    color:#f67d8f;
    font-weight: 500;
}

.contact_box{background:#fffaf9;
            border:solid 0px;
}

section#page7 h3{    font-size: -webkit-calc(1rem + 3px);
    font-size: calc(1rem + 3px);}
section#page7 .font_18 {font-weight: 500;}


.cms_3-b .cate_box {
    background: #fffaf9;
    border-radius: 15px;
    border: solid 1px #ffdde2;}
    
.cms_3-b h3.box_title1{
    border-bottom: solid 1px #ffb1bd;
    padding: 5px 0;
}

.cms_3-b .box_title2{  padding: 5px 0;}

/*contact【調整用】----------------------------------------------------------------------*/
@media screen and (max-width: 1400px){
p#contact_tel a, p#contact_mail a {
    font-size: -webkit-calc(1rem + 5px) !important;
    font-size: calc(1rem + 5px) !important;
    padding: 25px 10px;}}
@media screen and (max-width: 1200px){
p#contact_tel a, p#contact_mail a {
    font-size: -webkit-calc(1rem + 4px) !important;
    font-size: calc(1rem + 4px) !important;
    padding: 25px 5px;
    letter-spacing: 2px;}}

/*【タブレット】*/
@media screen and (max-width: 768px){
    p#contact_tel a, p#contact_mail a {
    font-size: -webkit-calc(1rem + 0px) !important;
    font-size: calc(1rem + 0px) !important;
    padding: 25px 5px;
    letter-spacing: 2px;
}}

/*【スマホ】*/
@media screen and (max-width: 667px){
p#contact_tel a, p#contact_mail a {
    letter-spacing: 2px;
    font-size: -webkit-calc(1rem + 1px) !important;
    font-size: calc(1rem + 1px) !important;
    padding: 20px 5px;
    letter-spacing: 2px;}
}


@media screen and (max-width: 320px){
p#contact_tel a, p#contact_mail a {
    letter-spacing: 2px;
    font-size: -webkit-calc(1rem + 0px) !important;
    font-size: calc(1rem + 0px) !important;
    padding: 20px 5px;
    letter-spacing: 1px;}
}
/*contact【調整用】----------------------------------------------------------------------*/

#page_title {background-position: bottom 20% center !important;}

/*#fakeloader{*/
/*    background-color: #ffffff !important;*/
/*}*/

#fakeloader .fl{
	position: absolute!important;
	top: 50%!important;
	left: 50%!important;
	transform: translate(-50%,-50%)!important;
	width: 50%!important;
	max-width: 300px!important;
}




/*タブレット*/
@media screen and (max-width: 768px){
#page_title {background-position: bottom 42% center !important;}

#header_menu li a span {
    font-size: -webkit-calc(1rem + -3px);
    font-size: calc(1rem + -3px);}
    .slider .box_img{hegiht:50vh;}
section#main_img {margin-top: 170px;}

.catch {
    max-width: 135px;
    top: 47%;}

.main_img02,.main_img01 { max-width: 270px;}    
div#intro_txt {padding: 100px 30px;}    
.intro_txt {
    text-align: left;
    line-height: 2;
    font-size: 16px;
    padding-bottom: 0px;}
div#intro_txt {padding: 100px 50px;}
.con_about {
    width: 300px !important;
    padding-top: 70px;}
section#contents .box_wrap {padding: 40px 0 50px;}

.con1::before{ 
    
    right: 30%;
    bottom: 5%;
    
}

.con1::after{
width: 250px;
    height: 250px;
    right: 48px;
    bottom: 26px;
}

.con2::before{
        width: 200px;
    height: 200px;
    left: 25%;
    bottom: 33%;
}

.con2::after {
    width: 280px;
    height: 280px;
    left: 14px;
    bottom: -1px;
}

.con3::after {
    width: 250px;
    height: 250px;
    right: 180px;}

.con3::before {
    width: 350px;
    height: 350px;
    right: 0%;
    bottom: -1%;}


.fuwa1 {
    top: 5%;
    right:0;
    width: 250px;
    height: 250px;}
    
.fuwa2 {
    left:0;
    width: 250px;
    height: 250px;}
    
.fuwa3 {
    right:0;
    width: 250px;
    height: 250px;}
    
.info_svg2 svg {margin-top: -3px;}   

.bg-mask::before {
    height: 70%;
    bottom: 70%;}
    
section#page7 h3 {
    font-size: -webkit-calc(1rem + 1px);
    font-size: calc(1rem + 1px);
}
#top_cms .top_cms_box {margin-bottom: 130px;}
article#top_cms {
    position: relative;
    padding-top: 65px;}

.line {
    margin: 0 10px;}

}
/*スマホ*/
@media screen and (max-width: 667px){
#page_title {background-position: bottom 95% center !important;}    
    
h1.logo {
    width: 200px;}
.footer_cms {
    color: #4575ad;
    padding: 9px 15px 0px;}

.footer_cms p {
    font-size: 11px;
    letter-spacing: 0.5px;
}

section#main_img::after { background-color: rgba(142,74,74,0.25);}
.bg-mask::before {
    height: 43%;
    bottom: 72%;}
div#logo2 {width: 250px;}
div#logo {padding-top: 13px;}
button.drawer-toggle.drawer-hamburger {
    padding-bottom: 10px;
    padding-top: 14px;}
section#page7 h3 {
    font-size: -webkit-calc(1rem + 0px);
    font-size: calc(1rem + 0px);}
section#main_img {margin-top: 67px;}
.catch {
    max-width: 77px;
    top: 47%;}
.main_img02, .main_img01 {max-width: 130px;}
div#intro_txt {padding: 100px 20px;}
div#intro_txt h2 {font-size: 17px;}
img.intro {
    width: 159px;
    top: -58%;}
.intro_txt {
    text-align: left;
    line-height: 2;
    font-size: 14px;
    letter-spacing: 0.5px;
    padding-bottom: 0px;}
.con_about {
    width: 250px !important;
    padding-top: 60px;}
section#contents .box_wrap {padding: 0px 0 0px;}
section#contents h3 {
    font-size: -webkit-calc(1rem + 4px);
    font-size: calc(1rem + 4px);
    text-align: center;}
.con1::before {
    right: 34%;
    bottom: 45%;
    width: 200px;
    height: 200px;
}

.con1::after {
    width: 280px;
    height: 280px;
    right: -10px;
    bottom: 125px;
}

.con2::after {
    width: 280px;
    height: 280px;
    left: -8px;
    bottom: 50px;
}

.con2::before {
    width: 200px;
    height: 200px;
    left: 39%;
    bottom: 39%;
}

.con3::before {
    width: 280px;
    height: 280px;
    right: -11%;
    bottom: 26%;
}

.con3::after {
    width: 200px;
    height: 200px;
    right: 150px;
    bottom: 257px;
}
    
.fuwa1,.fuwa2,.fuwa3{
    width:200px;
    height:200px;}

#top_cms .top_cms_box {margin-bottom: 100px;}
}


/*IE*/
@media all and (-ms-high-contrast: none){
    h2, h3, h4, h5, h6, div#intro_txt h2, section.top_cms_box h2, #header_menu li a,p.info_title span {transform:rotate(0.5deg) !important;}
    
    header #header #header_menu li:last-child a span {
            padding-top: 10px !important;
            padding-bottom: 2px !important;}

    .more a {
            padding-bottom: 10px !important;
            padding-top: 5px !important;}
    .cms_3-b .cate_box{
            padding-top: 17px !important;
            padding-bottom: 2px !important;}
            
    .info_svg svg {margin-top: 9px !important;}
    .info_svg,.info_svg2{width: auto !important;}
    
    #page_title h2 span {
            padding-top: 20px !important;
            padding-bottom: 10px !important;}

    .pager li a span {
            padding-top: 0px !important;
            padding-bottom: 2px !important;}
.line { padding-bottom: 5px !important;}

#cms_6-a .cate .cate_title {padding-top: 21px !important;}

#page8 #tel_contact p a {padding: 20px 20px 22px !important;}

#page9 .box_wrap .box p a {padding: 6px 10px 6px !important;}

}




/*2022/0405*/
div#fakeloader{background:#ffeff2;}



/*20220418*/
.tel {display: none;}

/*20220422*/
/*【スマホ】*/
@media screen and (max-width: 667px){
.head_banner {
    top: 10px;
    right: 59px;}    

h1.logo {width: 170px;}    
section#main_img {margin-top: 48px;}

.drawer-hamburger-icon::after, .drawer-hamburger-icon::before {background-color: #ffb1bd !important;}

}



/*20220428*/
/*【スマホ】*/
@media screen and (max-width: 667px){
header .fa-line:before {
    content: "\f3c0";
    color: #00B900;
    /*background: #ffff;*/
}
.res_sp {
    background: #fff;
    border: solid 1px #f67d8f;
    color: #f67d8f;
}
}