* { max-width: 100%; box-sizing: border-box; margin: 0; padding: 0; }

html,body {
height: 100%;
margin: 0 auto;
padding: 0;
font-size: 62.5%;/* 16px x 0.625 = 10px(=1rem) */
}

, :before, *:after{
box-sizing: inherit;
}


img {
max-width: 100%;
height: auto;
display: block;
border: none;
}

body {
font-family: 'Helvetica Neue','Helvetica','Roboto','Arial',sans-serif, 'YuGothic','Yu Gothic','Hiragino Sans','ヒラギノ角ゴシック','メイリオ', Meiryo,'ＭＳ Ｐゴシック','MS PGothic'; 
font-feature-settings: 'palt' 1; 
}

p, li, address, dl {
line-height: 2.4rem;
font-size: 1.6rem;
}

li { list-style: none; }

a { color: #000; text-decoration: none; }

address { font-style: normal; }

.introduction p.song, .main-contents h3, h1.title, .footer-name, .profile-block h2, .profile-block h3 {
font-family: "Yu Mincho", "YuMincho";
font-weight: normal;
}

header {
height: 340px;
background: url(../images/home/homeimage.jpg) no-repeat center center;
background-size: 100%;
}

#header-profile {
height: 200px;
background: url(../images/profile/profileimage.jpg) no-repeat center center;
background-size: 100%;
}

.header-inner {
height: 200px;
display: flex;
align-items: center;
justify-content: space-between;
}

p.yomonosato-image img {
height: 107px;
}

.name {
height: 100%;
display: flex;
justify-content: center;
flex-flow: column;
}

.name h1, .name h2, .profile-name h1, .profile-name h2 {
width: 430px;
}

.name h2, .profile-name h2 {
line-height: 3.6rem;
margin: 20px 0 0;
font-size: 1.6rem;
font-weight: normal;
text-align: center;
color: #ffffff;
border-top: solid 1px;
border-bottom: solid 1px;
}

.name, .menu nav ul, .contents, .character, .footer-inner, .header-inner {
width: 992px;
margin: 0 auto;
}

.menu {
height: 60px;
margin: 0 0 60px;
background: #F9CFD9;
}

.menu nav ul {
height: 60px;
display: flex;
border-left: solid 1px #ffffff;
}

.menu nav ul li {
line-height: 60px;
width: 33.3333333%;
border-right: solid 1px #ffffff;
font-feature-settings: 'pkna' 1; 
}

.menu nav ul li a {
display: flex;
justify-content: center;
}

h1.title {
margin: 0 0 60px;
font-size: 3.4rem;
text-align: center;
}

.introduction {
margin: 0 0 60px;
display: flex;
justify-content: space-between;
}

.introduction p {
width: 47%;
}

.songsouter {
width: 47%;
display: flex;
align-items: center;
border: solid 1px #F9CFD9;
}

.introduction p.song {
line-height: 5rem;
width: 100%;
font-size: 2.8rem;
text-align: center;
color: #E0277F;
}

.main-contents {
margin: 0 0 60px;
font-feature-settings: 'pkna' 1; 
}

.main-contents h3 {
font-size: 2.4rem;
text-align: center;
}

.flex, .activity {
display: flex;
justify-content: space-between;
}

.facility-name {
height: 80px;
width: 31%;
display: flex;
align-items: center;
flex-direction: column;
justify-content: center;
background: #F9DCE4;
border-radius: 12px;
}

.facility-name h4 {
font-size: 1.8rem;
color: #E0277F;
}

.map iframe {
height: 400px;
width: 100%;
}

footer {
width: 100%;
text-align: center;
padding: 30px 0;
background: #F9EBD2;
}

.footer-name {
font-size: 2rem;
}

p.small {
font-size: 1.4rem;
}

.profile-block {
margin: 0 0 50px;
}

.profile-block h2 {
margin: 0 0 20px;
padding: 0 0 0 20px;
font-size: 2.4rem;
color: #E0277F;
border: solid 2px #F9CFD9;
border-radius: 12px;
}

.profile-block h3 {
font-size: 2.4rem;
}

.profile-block ul {
margin: 0 0 20px;
}

.profile-block ul li {
margin: 0 0 5px;
}

.facility-block {
margin: 0 0 30px;
}


p.description {
margin: 0 0 10px;
}

.overview {
background: #F9CFD9;
border-bottom: 1px solid #C4C4C4;
}

.overview dt {
width: 110px;
padding: 10px;
text-align: center;
border-top: 1px solid #C4C4C4;
float: left;
}

.overview dd {
margin: 0 0 0 110px;
padding: 10px 10px 10px 20px;
border-top: 1px solid #C4C4C4;
background: #fff;
}

.pdf {
margin: 10px 0 0;
}

.pdf a, .open ul li a  {
color: #458700;
text-decoration: underline;
}

.open {
display: flex;
}

.open ul li {
margin: 0 50px 5px 0;
font-feature-settings: 'pkna' 1; 
}

.activity { margin: 0 0 50px; }

.activity p { width: 19%; }



.hbtn {
      position: relative;
      box-sizing: border-box;
      display: inline-block;
      overflow: hidden;
      white-space: nowrap;
      z-index: 0;
} 
 
.hbtn.hb-fill-top-bg::before {
      position: absolute;
      content: "";
      background: #f79bc7 none repeat scroll 0% 0%;
      transition-duration: 0.3s;
      z-index: -1;
      top: auto;
      right: auto;
      bottom: 0px;
      left: 0px;
      width: 100%;
      height: 0px;
      opacity: 1;
}

.hb-fill-top-bg:hover::before {
      width: 100%;
      height: 100%;
      opacity: 1;
} 
 
.hb-fill-top-bg:hover {
      color: #ffffff;
      transition: all 0.3s ease 0s;
} 















