@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url('https://fonts.googleapis.com/css2?family=Spinnaker&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Allison&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Smooch&display=swap');
/* ================================================================
   HTML5 Boilerplate styles - h5bp.com (generated via initializr.com)
   Customized to include a flexible grid system, flexible image
   ================================================================ */
/*html,
button,
input,
select,
textarea {
    color: #222;
}

body {
    font-size: 1em;
    line-height: 1.4;
}

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

img {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

.chromeframe {
  margin: 20px;
  background: #ffae00;
  border: 4px solid #ffe98e;
  color: #000;
  padding: 20px;
}

.chromeframe a {
  color: #ff0000;
  background: #ffe98e;
  padding: 3px;
}

.chromeframe a:hover {
  color:#ff0000;
  text-decoration: underline;
}*/
/* ================================================================
   Author's custom styles
   ================================================================ */
/* テスト用の色指定 
body { background: #efefef; }
p {
  background: #fff;
  margin: 0 0 1em;
  padding: 1em 0;
 }
.row { background: #000; }
.cols { background: #ddd; }*/
/* ボックスモデルの指定 */
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
/*余白調整----------------------------------*/
.mtop {
  padding-top: 50px;
}
.mbottom2 {
  margin-bottom: 50px;
}
@media screen and (max-width:49.25em) {
  /* 788px以下向けのモバイル版グリッド・スタイル */
  .mtop {
    padding-top: 10px;
  }
  .mbottom {
    padding-bottom: 20px;
  }
}
.mbottom {
  padding-bottom: 50px;
}
.center {
  text-align: center;
}
.s-size {
  font-size: 1.3em;
  color: #ef857f;
}
.bottom-s01 {
  margin-bottom: 0.8em;
}
h2.pro {
  font-size: 2rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  display: inline-block;
  color: #fff;
  padding: 8px 38px;
  background: #d6bda3;
  /*background: #a7925d;*/
  text-align: center;
  border-radius: 40px;
  box-shadow: 0px 0px 0px 5px #d6bda3;
  border: dashed 1px #a7925d;
}
.prologue {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 1.2em;
  text-align: center;
  /*color: #b6a778;*/
  color: #9b8874;
  padding: 70px 0;
}
@media screen and (max-width:49.25em) {
  /* 788px以下向けのモバイル版グリッド・スタイル */
  h2.pro {
    padding: 8px 20px;
    border-radius: 30px;
  }
  .prologue {
    padding: 35px 0;
    font-size: 1.2em;
  }
}
#kitten {
  /*background: rgb(214 189 163 / 0.3);*/
  background-image: url("../img2025/banner-bg3.jpg"); /*
	background: #ebd1cf;*/
}
#kitten img {
  border-radius: 30px 0 0 0;
}
.banner {
  position: relative; /*親要素にrelative*/
}
.banner h3.catch {
  font-family: "Allison", cursive;
  font-weight: 400;
  font-style: normal;
  text-align: left;
  position: absolute;
  font-size: 4em;
  top: 0.3%; /*左上に配置*/
  left: 5%; /*左上に配置*/
  color: #cb5750;
  text-shadow:
    0 1px 0 #cb5750, 0 4px 5px #4d2f1e;
}
.banner p.copy-b {
  position: absolute; /*重ねたい子要素にabsolute*/
  top: 30%;
  left: 20%;
  -ms-transform: translate(-30%, -20%); /*ベンダープレフィックス*/
  -webkit-transform: translate(-30%, -20%); /*ベンダープレフィックス*/
  transform: translate(-30%, -20%); /*センター寄せの修正*/
  color: #fff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 1.3em;
  margin: 0 !important; /*文字がずれている場合や*/
  padding: 0 !important; /*文字が折り返される場合*/
  text-shadow: 0 0 0.3em rgb(129 121 119 / 0.9);
  line-height: 1.5em;
}
p.more {
  position: absolute; /*重ねたい子要素にabsolute*/
  top: 74%;
  left: 8%;
  background: #ef857f;
  border-radius: 20px;
  padding: 0.3em 1.5em;
  font-family: "Spinnaker", sans-serif;
}
p.more2 {
  position: absolute; /*重ねたい子要素にabsolute*/
  top: 70%;
  left: 8%;
  background: #b9aba0;
  border-radius: 20px;
  padding: 0.3em 1.5em;
  font-family: "Spinnaker", sans-serif;
}
.button01 {
  font-size: 1.5rem;
  display: inline-block;
  background: #f09e99; /* 背景色 */
  color: #fff; /* 文字色 */
  padding: 8px 25px; /* 上下の余白、左右の余白 */
  text-decoration: none; /* デフォルトで入るリンクの下線を消す */
  border-radius: 25px; /* 角を丸くする */
}
.button01:hover {
  background: #df5b53; /* 背景色 */
  color: #fff; /* 文字色 */
}
.button01::before {
  display: inline-block;
  width: 3rem;
  height: 1px;
  margin: -2px 1.6rem 0 0;
  content: "";
  vertical-align: middle;
  background-color: currentColor;
}
h3.heading {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 1.4em;
  text-align: center;
  color: #b47551;
  padding: 40px 0 10px 0;
}
.body-copy {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.2em;
  text-align: center;
  /*color: #b6a778;*/
  color: #9b8874;
  padding: 5px 0 30px 0;
}
/*What's Newのスタイル-----------------------------------------------------*/
#news {
  background: #d6bda3;
  margin-top: 8rem;
}
h2.pro2 {
  font-size: 2rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  display: inline-block;
  color: #ef857f;
  padding: 8px 38px;
  /*background: #d6bda3;*/
  background: rgb(255 255 255 / 0.3);
  /*background: #a7925d;*/
  text-align: center;
  border-radius: 40px;
  box-shadow: 0px 0px 0px 5px rgb(255 255 255 / 0.3);
  border: dashed 1px #fff;
}
.newbox1 {
  position: relative;
  max-height: 400px;
  overflow: auto;
  /*margin-bottom: 1.5rem;*/
  padding-top: 2rem;
}
.newbox1 ul {
  margin: 0;
  padding: 10px 80px;
}
@media screen and (max-width:49.25em) {
  /* 788px以下向けのモバイル版グリッド・スタイル */
  .newbox1 ul {
    margin: 0;
    padding: 10px 30px;
  }
}
.newbox1 li {
  color: #fff;
  text-decoration: none;
  line-height: 4rem;
  border-bottom: dotted 1px #fff;
  font-size: 1.2em;
}
@media screen and (max-width:49.25em) {
  /* 788px以下向けのモバイル版グリッド・スタイル */
  .newbox1 li {
    font-size: 1.1em;
  }
}
.newbox1 li a {
  color: #fff;
  text-decoration: none;
}
.newbox1 li a:hover {
  color: #ef857f;
}
.section::-webkit-scrollbar {
  width: 16px;
}
.section::-webkit-scrollbar-track {
  background-color: #AF9F8E;
  border-radius: 100px;
}
.section::-webkit-scrollbar-thumb {
  background-color: #4a5f6f;
  border-radius: 100px;
}
.section {
  scrollbar-color: #ef857f #fff;
}
h2.old-t {
  font-family: 'Noto Sans Japanese', sans-serif;
  padding-bottom: .5em;
  border-bottom: 2px solid #d28a8c;
  font-weight: normal;
  font-size: 1.8em;
  margin-bottom: 1em;
}
h2.old-t span {
  font-family: 'Noto Sans Japanese', sans-serif;
  display: block;
  margin-bottom: .2em;
  color: #aaa;
  font-size: .6em;
}
/*SNSマーク-------------------------*/
.r-center2 {
  text-align: center;
}
.sns {
  width: 70px;
  margin: 1em;
}
a img.sns:hover {
  cursor: pointer;
  filter: alpha(opacity=60); /* ie lt 8 */
  -ms-filter: "alpha(opacity=60)"; /* ie 8 */
  -moz-opacity: 0.6; /* FF lt 1.5, Netscape */
  -khtml-opacity: 0.6; /* Safari 1.x */
  opacity: 0.6;
  zoom: 1;
}
@media screen and (max-width:30em) {
  .sns {
    width: 65px;
    margin: .5em;
  }
}
.sns2 {
  width: 65px;
  margin: .5em;
}
a img.sns2:hover {
  cursor: pointer;
  filter: alpha(opacity=60); /* ie lt 8 */
  -ms-filter: "alpha(opacity=60)"; /* ie 8 */
  -moz-opacity: 0.6; /* FF lt 1.5, Netscape */
  -khtml-opacity: 0.6; /* Safari 1.x */
  opacity: 0.6;
  zoom: 1;
}
/*Read Moreスタイル(TOPPAGE)-------------------------*/
.rm {
  /*margin : 0 auto;*/
  margin-top: 0;
  width: 120px;
  font-size: 0.8em;
  padding: .5em;
  font-family: 'Montserrat', sans-serif;
  background: #B3B2B2;
  overflow: hidden;
  text-align: center;
  transition: .2s;
  cursor: pointer;
  border-radius: 5px;
}
.rm a:link {
  color: #fff;
  text-decoration: none;
}
.rm hover {
  background: #f09e99;
}
@media screen and (max-width:50em) {
  .rm {
    margin-bottom: 1.5em;
  }
}
/*マスメディアその他スタイル(TOPPAGE)-------------------------*/
.etc ul li {
  /*font-family: 'Noto Sans Japanese', sans-serif;*/
  margin-bottom: 1em;
  border-bottom: #B3B2B2 1px dotted;
  line-height: 1.6em;
  margin-top: .8em;
  list-style: disc;
  margin-left: 1.5em;
}
.etc p {
  font-family: 'Noto Sans Japanese', sans-serif;
  color: #fff;
  background: #d28a8c;
  padding: 0.6em;
  margin-top: 0;
}
.oldstyle p {
  font-weight: 500;
  line-height: 1.8em;
  /*font-family: 'Noto Sans Japanese', sans-serif;*/
}
.oldstyle ul {
  border-bottom: 1px dotted #7F7E7E;
  border-top: 1px dotted #7F7E7E;
  margin: 15px 0;
}
.oldstyle li {
  font-weight: 500;
  line-height: 2em;
  /*font-family: 'Noto Sans Japanese', sans-serif;*/
  margin-left: 10px;
}
#photos {
  /*background: #69D9E3;*/
  background: url("../img2025/ps-bg.jpg") center; /*
	 background-size: cover;*/
}
#photos img {
  width: 70%;
}
#photos p {
  color: #fff;
  font-weight: 500;
  line-height: 1.8em;
  text-shadow: 0 0 5px #000;
}
@media screen and (max-width:49.25em) {
  /* 788px以下向けのモバイル版グリッド・スタイル */
  #photos p {
    font-size: 1.1em;
  }
  #photos img {
    width: 100%;
  }
}
.button02 {
  font-size: 1.5rem;
  display: inline-block;
  background: #03a1be; /* 背景色 */
  color: #fff; /* 文字色 */
  padding: 8px 25px; /* 上下の余白、左右の余白 */
  text-decoration: none; /* デフォルトで入るリンクの下線を消す */
  border-radius: 25px; /* 角を丸くする */
  margin-top: 10px;
}
.button02:hover {
  background: #7aa9b1; /* 背景色 */
  color: #fff; /* 文字色 */
}
.button02::before {
  display: inline-block;
  width: 3rem;
  height: 1px;
  margin: -2px 1.6rem 0 0;
  content: "";
  vertical-align: middle;
  background-color: currentColor;
}
.kage01 {
  box-shadow: 0 0 8px gray;
}
.box01 {
  padding: 20px;
  margin: 30px;
  text-align: center;
  background: url("../img2025/banner-bg2.jpg");
}
.box01 img {
  width: 50%;
  margin: 20px;
}
/*区切りスタイル(ネコピアノマーク用)-------------------------*/
.sentence2 {
  text-align: center;
}
.sentence {
  width: 200px;
}
/*TOPへ戻るメニュー-----------------------------------------------*/
#page-top {
  display: block;
  position: fixed;
  z-index: 9999;
  bottom: 0.5em;
  right: 0.5em;
  width: 50px;
  height: 50px;
  line-height: 3.5em;
  background: rgba(242, 156, 159, .6);
  color: #fff;
  text-align: center;
  text-decoration: none;
  border-radius: 50%;
  font-size: 0.9em;
}
#page-top:hover {
  background: rgba(242, 156, 159, .9);
}
/*音楽教室--------------------------------------------*/
.button03 {
  margin: 3rem;
  font-size: 1.8rem;
  display: inline-block;
  background: #93a584; /* 背景色 */
  color: #fff; /* 文字色 */
  padding: 13px 45px; /* 上下の余白、左右の余白 */
  text-decoration: none; /* デフォルトで入るリンクの下線を消す */
  border-radius: 35px; /* 角を丸くする */
}
.button03:hover {
  background: #b3c8a1; /* 背景色 */
  color: #fff; /* 文字色 */
}
.button2 {
  margin: 0 auto;
  margin-top: 10px;
  width: 300px;
  height: 55px;
  background: #f29c9f;
  overflow: hidden;
  text-align: center;
  transition: .2s;
  cursor: pointer;
  border-radius: 50px;
  font-family: 'Noto Sans Japanese', sans-serif;
  line-height: 50px;
}
.button2 a:link {
  color: #fff;
  text-decoration: none;
}
.hoveur {
  background: linear-gradient(rgba(255, 255, 255, 255), rgba(204, 204, 204, 204));
  width: 200px;
  height: 50px;
  margin-top: -50px;
  transform: rotate(40deg);
  margin-left: -180px;
  opacity: 0.3;
  transition: .5s;
}
.button2:hover .hoveur {
  margin-left: 180px;
}
/*フッダ-----------------------------------------------------------*/
#fbar {
  margin-top: 2em;
  border-top: solid 3px #f29c9f;
  background: url(../img/light_grey.png);
}
.f-neko {
  text-align: center;
  padding: 2em;
  color: #999999;
}
/* ----------
   フレキシブル・メディア
   ---------- */
img {
  width: 100%;
  max-width: 100%;
}
video {
  max-width: 100%;
  height: auto;
}
/* YouTubeやVimeoなどのiFrameを使った埋め込み動画用スタイル */
.video-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}
.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/* ================================================================
   Flexible Grid Sytem
   - Based on Foundation "The Grid" http://foundation.zurb.com/
   ================================================================ */
.row {
  width: 1140px;
  max-width: 100%;
  min-width: 768px;
  margin: 0 auto;
  overflow: hidden;
}
.row .row {
  width: auto;
  max-width: none;
  min-width: 0;
  margin: 0 -10px;
}
.cols {
  float: left;
  min-height: 1px;
  padding: 0 10px;
  position: relative;
}
/* カラムのpaddingをなくすcollapseクラス */
.row.collapse .cols, .row.collapse .cols {
  padding: 0;
}
.row .row.collapse {
  margin: 0;
}
[class*="cols"] + [class*="cols"]:last-child {
  float: right;
}
[class*="cols"] + [class*="cols"].end {
  float: left;
}
.row .one {
  width: 8.33%;
}
.row .two {
  width: 16.66%;
}
.row .three {
  width: 25%;
}
.row .four {
  width: 33.33%;
}
.row .five {
  width: 41.66%;
}
.row .six {
  width: 50%;
}
.row .seven {
  width: 58.33%;
}
.row .eight {
  width: 66.66%;
}
.row .nine {
  width: 75%;
}
.row .ten {
  width: 83.33%;
}
.row .eleven {
  width: 91.66%;
}
.row .twelve {
  width: 100%;
}
/* PUSH & PULL */
.push-two {
  left: 16.66%;
}
.pull-two {
  right: 16.66%;
}
.push-three {
  left: 25%;
}
.pull-three {
  right: 25%;
}
.push-four {
  left: 33.33%;
}
.pull-four {
  right: 33.33%;
}
.push-five {
  left: 41.66%;
}
.pull-five {
  right: 41.66%;
}
.push-six {
  left: 50%;
}
.pull-six {
  right: 50%;
}
.push-seven {
  left: 58.33%;
}
.pull-seven {
  right: 58.33%;
}
.push-eight {
  left: 66.66%;
}
.pull-eight {
  right: 66.66%;
}
.push-nine {
  left: 75%;
}
.pull-nine {
  right: 75%;
}
.push-ten {
  left: 83.33%;
}
.pull-ten {
  right: 83.33%;
}
@media screen and (max-width:49.25em) {
  /* 788px以下向けのモバイル版グリッド・スタイル */
  .cols {
    float: none;
    width: auto !important;
    height: 100%;
  }
  .row {
    width: auto;
    min-width: 0;
    margin-left: 0;
    margin-right: 0;
  }
  [class*="cols"] + [class*="cols"]:last-child {
    float: none;
  }
  [class*="cols"] + [class*="cols"].end {
    float: none;
  }
  /* PUSH & PULLの調整*/
  .push-two, .push-three, .push-four, .push-five, .push-six, .push-seven, .push-eight, .push-nine, .push-ten {
    left: auto;
  }
  .pull-two, .pull-three, .pull-four, .pull-five, .pull-six, .pull-seven, .pull-eight, .pull-nine, .pull-ten {
    right: auto;
  }
  /* モバイル版4カラムグリッド */
  .row .mobile-one {
    width: 25% !important;
    float: left;
    padding: 0 10px;
  }
  .row .mobile-one:last-child {
    float: right;
  }
  .row .mobile-one.end {
    float: left;
  }
  .row.collapse .mobile-one {
    padding: 0;
  }
  .row .mobile-two {
    width: 50% !important;
    float: left;
    padding: 0 10px;
  }
  .row .mobile-two:last-child {
    float: right;
  }
  .row .mobile-two.end {
    float: left;
  }
  .row.collapse .mobile-two {
    padding: 0;
  }
  .row .mobile-three {
    width: 75% !important;
    float: left;
    padding: 0 10px;
  }
  .row .mobile-three:last-child {
    float: right;
  }
  .row .mobile-three.end {
    float: left;
  }
  .row.collapse .mobile-three {
    padding: 0;
  }
  .row .mobile-four {
    width: 100% !important;
    float: left;
    padding: 0 10px;
  }
  .row .mobile-four:last-child {
    float: right;
  }
  .row .mobile-four.end {
    float: left;
  }
  .row.collapse .mobile-four {
    padding: 0;
  }
  /* モバイル用 PUSH & PULL */
  .mobile-push-one {
    left: 25%;
  }
  .mobile-pull-one {
    right: 25%;
  }
  .mobile-push-two {
    left: 50%;
  }
  .mobile-pull-two {
    right: 50%;
  }
  .mobile-push-three {
    left: 75%;
  }
  .mobile-pull-three {
    right: 75%;
  }
  /* モバイル用collapseクラス */
  .row.mobile-collapse .cols, .row.mobile-collapse .cols {
    padding: 0;
  }
  .row .row.mobile-collapse {
    margin: 0;
  }
  .row.mobile-collapse .mobile-one {
    padding: 0;
  }
  .row.mobile-collapse .mobile-two {
    padding: 0;
  }
  .row.mobile-collapse .mobile-three {
    padding: 0;
  }
  .row.mobile-collapse .mobile-four {
    padding: 0;
  }
}
/* ================================================================
   Media Queries
   ================================================================ */
@media only screen and (min-width: 35em) {}
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi) {}
/* ================================================================
   Helper classes
   ================================================================ */
.ir {
  background-color: transparent;
  border: 0;
  overflow: hidden;
  *text-indent: -9999px;
}
.ir:before {
  content: "";
  display: block;
  width: 0;
  height: 100%;
}
.hidden {
  display: none !important;
  visibility: hidden;
}
.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
}
.invisible {
  visibility: hidden;
}
.clearfix:before, .clearfix:after {
  content: " ";
  display: table;
}
.clearfix:after {
  clear: both;
}
.clearfix {
  *zoom: 1;
}
/* ================================================================
   Print styles
   ================================================================ */
@media print {
  * {
    background: transparent !important;
    color: #000 !important; /* Black prints faster: h5bp.com/s */
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a, a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " ("attr(href) ")";
  }
  abbr[title]:after {
    content: " ("attr(title) ")";
  }
  /*
     * Don't show links for images, or javascript/internal links
     */
  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after {
    content: "";
  }
  pre, blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group; /* h5bp.com/t */
  }
  tr, img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 0.5cm;
  }
  p, h2, h3 {
    orphans: 3;
    widows: 3;
  }
  h2, h3 {
    page-break-after: avoid;
  }
}