@charset "utf-8";

html{
font-size:62.5%;
font-family:'Noto Sans JP', sans-serif;
}

body{
width:100%;
color:#333;
font-size:1.6rem;
line-height:1.7;
margin:0;
background:#ffffff;
}

img, img[class*="wp-image-"], img[class*="attachment-"] {
height:auto;
max-width:100%;
vertical-align:bottom;
image-rendering:crisp-edges;
backface-visibility:hidden;
}

img.scaled-image {
border:0;
margin:0;
}


ul{list-style:none;padding:0;}

.inv-a{
display:table;
}

.inv-b{
display:none;
}

.font{
font-family: "M PLUS Rounded 1c", sans-serif;
font-weight:500;
}
.min-size{
font-size:2.2rem;
}

p{
width:100%;
margin:0;
}

p a{
color:#ed7faf;
border-bottom:1px solid #ed7faf;
}

p span{
font-size:2rem;
font-weight:500;
}

#p-center{
text-align:center;
}

a{
color:#333;
text-decoration:none;
transition:1s;
}

a:hover{
color:#333;
text-decoration:none;
opacity:0.8;
transition:1s;
}

#wrapper{
margin:0 auto;
width:100%;
overflow: hidden;
}

#content{
width:100%;
}

h1{
width:100%;
color:#ed7faf;
font-size:4rem;
line-height:1;
text-align:center;
margin:0 0 60px 0;
display:table;
}

h2{
width:100%;
color:#ed7faf;
font-size:4rem;
line-height:1;
text-align:center;
margin:0 0 100px 0;
display:table;
}
h2 img{
margin:auto 10px auto 0;
}

h3{
width:100%;
color:#ed7faf;
font-size:3rem;
font-weight:700 !important;
line-height:1;
text-align:center;
margin:0 0 60px 0;
display:table;
}

h4{
width:100%;
color:#18188b;
font-size:3rem;
line-height:1;
text-align:left;
margin:0 0 40px 0;
display:table;
}

h5{
width:100%;
color:#ed7faf;
font-size:2.4rem;
font-weight:390;
line-height:1.8;
text-align:left;
margin:0 0 60px 0;
display:table;
}




#home-image-box{
width:100%;
height:85vh;
margin-top:10px;
position:relative;
overflow:hidden;
}
#home-image-box img{
width:110%;
min-width:max-content;
position:absolute;
z-index:0;
top:50%;
left:50%;
transform:translate(-50%,-50%);
}
#home-image-box span{
color:#181878;
font-size:4.6rem;
font-weight:500;
text-shadow:0px 0px 10px rgba(255,255,255,1);
display:table;
position:absolute;
left:10%;
bottom:20%;
z-index:1;
}


#home-sec{
width:90%;
max-width:1200px;
height:auto;
padding:80px 0;
margin:0 auto;
}

#common-sec{
width:90%;
max-width:1100px;
height:auto;
padding:80px 0;
margin:0 auto;
}
#post-sec{
width:900px;
height:auto;
padding:80px 0;
margin:0 auto;
}

#home-mark{
margin:0 auto 40px auto;
display:table;
}

#home-lnk-box{
width:100%;
max-width:1100px;
margin:40px auto;
display:flex;
flex-flow:wrap;
justify-content:space-between;
}

#home-lnk-box a{
width:180px;
height:180px;
color:#18188b;
font-size:1.8rem;
font-weight:500;
line-height:1.5;
text-align:center;
margin:20px auto;
background:#fceaf2;
border-radius:50%;
position:relative;
}
#home-lnk-box div{
width:100%;
position:absolute;
top:50%;
transform:translatey(-50%);
}
#home-lnk-box a img{
max-width:100%;
margin:0 auto 10px auto;
display:table;
}

#home-box{
width:100%;
height:600px;
background:#ed7faf;
position:relative;
}

#home-box dl{
width:1000px;
margin:0;
display:flex;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
}

.home-box-dl01{
flex-flow:wrap;
}
.home-box-dl02{
flex-flow:row-reverse;
}


#home-box dl dt{
width:560px;
padding:0;
margin:auto 0;
display:table;
position:relative;
z-index:1;
}
#home-box dl dt div{
width:auto;
margin-bottom:20px;
display:flex;
}
#home-box dl dt div img{
width:75px;
margin:auto 10px auto 75px;
display:table;
}
#home-box dl dt div span{
width:auto;
color:#fff;
font-size:3.2rem;
font-weight:500;
margin:auto 0;
display:table;
}

#home-box dl dd{
width:calc(100% - 560px);
height:300px;
padding:0;
margin:auto 0;
position:relative;
z-index:0;
}
#home-box dl dd img{
width:720px;
max-width:inherit;
position:absolute;
top:45%;
transform:translate(-50%,-50%);
}

.home-box-right-img{
left:70%;
}
.home-box-left-img{
left:30%;
}


#home-service-box{
width:100%;
display:flex;
flex-flow:wrap;
justify-content:space-between;
}
#home-service-box div{
width:30%;
font-size:1.5rem;
line-height:1.5;
max-width:340px;
}
#home-service-box div img{
margin:auto;
}
#home-service-box div span{
width:100%;
color:#18188b;
font-size:2rem;
font-weight:400;
text-align:center;
line-height:1;
margin:20px 0 10px 0;
display:table;
}

#common-lnk{
color:#fff;
font-size:1.4rem;
line-height:3;
padding:0 60px;
margin:60px auto;
background:#ed7faf;
border-radius:20px;
display:table;
}


#home-bar{
width:100%;
padding:10px 0;
background:#ed7faf;
display:flex;
justify-content:center;
position:relative;
}
#home-bar img{
width:auto;
margin:auto 5px auto 0;
display:table;
}
#home-bar span{
color:#fff;
font-size:3rem;
line-height:1;
margin:auto 0;
display:table;
}
#home-bar div{
width:720px;
height:720px;
background:#fdf2f7;
display:table;
border-radius:50%;
position:absolute;
top:190px;
left:75%;
transform:translate(-50%,-50%);
z-index:-1;
}

#footer-box{
width:1100px;
padding:40px 0;
margin:0px auto;
display:flex;
flex-flow:wrap;
justify-content:flex-start;
}
#footer-box dt{
width:300px;
color:#fff;
font-size:1rem;
line-height:1.5;
text-align:center;
padding:0;
margin:auto 0;
display:table;
}
#footer-box dt img{
margin:0 auto 40px auto;
display:table;
}

#footer-box dd{
width:calc(100% - 300px);
padding:0;
margin:0;
display:table;
}

#footer-box dd table{
width:95%;
margin:5px 0 5px 5%;
border-collapse:collapse;
border-bottom:1px solid #fff;
}
#footer-box dd table th{
width:40%;
color:#fff;
font-size:1.2rem;
font-weight:360;
text-align:left;
}
#footer-box dd table th span{
width:100%;
font-size:2.4rem;
display:table;
}
#footer-box dd table td{
width:60%;
color:#fff;
font-size:1.4rem;
line-height:1.5;
}
#footer-box dd table td span{
font-size:1.8rem;
}

#header-navi-box{
width:90%;
padding:10px 5%;
display:flex;
justify-content:space-between;
background:#fff;
position:fixed;
z-index:10;
}
#header-logo{
width:200px;
margin:auto 0;
display:table;
}
 
#navi-menu{
width:410px;
margin:auto 0;
display:flex;
justify-content:space-between;
}
#navi-menu a{
color:#18188b;
font-size:1.4rem;
line-height:1;
padding:0 0 0 20px;
display:table;
border-left:1px solid #18188b;
}


#common-header{
width:100%;
height:36vh;
display:table;
background-repeat:no-repeat;
background-position:center;
background-size:cover;
position:relative;
}
#common-header span{
color:#fff;
font-size:3.5rem;
text-shadow:0px 0px 10px rgba(255,255,255,1);
position:absolute;
top:50%;
left:6%;
transform:translatey(-50%);
}

#anchor-box{
width:800px;
margin:0 auto 60px auto;
display:flex;
flex-flow:wrap;
justify-content:center;
}
#anchor-box a{
color:#fff;
font-size:1.4rem;
line-height:2.4;
padding:0 40px;
margin:10px 20px;
background:#ed7faf;
border:1px solid #ed7faf;
border-radius:20px;
}
#anchor-box div{
color:#ed7faf;
font-size:1.4rem;
line-height:2.4;
padding:0 40px;
margin:10px 20px;
background:#fff;
border:1px solid #ed7faf;
border-radius:20px;
}


#border{
width:100%;
margin:100px 0;
border-bottom:1px solid #f5f5f5;
}

#guide-box{
width:100%;
margin:0;
display:flex;
flex-flow:wrap;
justify-content:flex-start;
}
#guide-box dt{
width:240px;
padding:0 40px 0 0;
margin:auto 0;
display:table;
}
#guide-box dd{
width:calc(100% - 280px);
font-size:2rem;
padding:0;
margin:auto 0;
display:table;
}
#guide-box dd div{
margin:20px 0 0 auto;
display:table;
}
#guide-box dd div span{
font-size:3rem;
margin-left:10px;
}

#guide-table{
width:100%;
border-collapse:collapse;
}
#guide-table th{
width:30%;
font-size:1.7rem;
font-weight:390;
line-height:1.8;
vertical-align:top;
padding:10px 0;
margin:0;
}
#guide-table td{
width:70%;
font-size:1.7rem;
font-weight:390;
line-heigh:1.8;
padding:10px 0;
margin:0;
}

#guide-map{
width:100%;
height:450px;
margin-top:80px;
border:0;
}

#common-image-box{
width:100%;
margin:60px auto;
display:flex;
flex-flow:wrap;
justify-content:space-between;
}
#common-image-box div{
width:48%;
max-width:500px;
font-size:1.4rem;
line-height:1;
display:table;
}
#common-image-box div img{
width:100%;
max-width:inherit;
margin-bottom:6px;
display:table;
}

#post-box{
width:100%;
margin:0;
display:flex;
flex-flow:wrap;
justify-content:flex-start;
}
#news-box{
width:30%;
max-width:400px;
font-size:1.2rem;
line-height:1.5;
margin:20px 1.5%;
}
#news-box div{
width:100%;
height:200px;
position:relative;
overflow:hidden;
border-radius:10px;
}
#news-box img{
width:110%;
max-width:inherit;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
}
#news-box span{
width:100%;
font-size:1.4rem;
line-height:3;
display:table;
}


.pager{
width:100%;
text-align:center;
margin:20px auto 0 auto;
display:table;
}
.pager a{
color:#ed7faf;
text-decoration:underline;
}

a.page-numbers,
a.post-page-numbers,
.pager .current{
font-size:1.5rem;
font-weight:390;
line-height:1.6;
padding:0 10px;
margin:0 6px;
}
.pager .current{
color:#000;
display:inline-block;
}


#tel-box{
width:100%;
font-size:2rem;
line-height:1.5;
text-align:center;
}
#tel-box a{
font-size:5.2rem;
font-weight:500;
margin-left:10px;
}

#navi{
display:none;
}


#contact-box{
width:800px;
margin:60px auto;
display:table;
}

select{
width:auto;
height:auto;
color:#fff;
font-size:1.5rem;
padding:20px 40px;
margin:40px auto 0 auto;
background:#ed7faf;
border:1px solid #ed7faf;
border-radius:4px;
}

input[type="text"], input[type="email"] {
width:90%;
height:auto;
font-size:1.5rem;
padding:20px 10px;
margin:40px auto 0 auto;
border:1px solid #ed7faf;
border-radius:4px;
}

textarea{
width:90%;
height:auto;
font-size:1.5rem;
padding:20px 10px;
margin:40px auto 0 auto;
border:1px solid #ed7faf;
border-radius:10px;
}

input[type="submit"]{
width:200px;
height:auto;
color:#fff;
font-size:1.5rem;
line-height:3;
text-align:center;
padding:0 20px;
margin:60px auto 0 auto;
background:#ed7faf;
border:0px;
border-radius:0px;
display:table;
}

.wpcf7-not-valid-tip{
color:#ff8ca3;
font-size:1.4rem;
font-weight:normal;
display:block;
}
