@charset "utf-8";

/* common
----------------------------------------------------------*/
#contents { padding:20px 0 30px; }

/* button */
.ct-btn, .submit-btn { position:relative; display:inline-block; padding:1.5em 1.5em 1.5em 1.8em;
  line-height:1.2; color:#fff; text-align:center; text-decoration:none; font-size:1.125rem; font-weight:800;
  -webkit-transition-timing-function:ease-out; transition-timing-function:ease-out;
  background: no-repeat center / 100%; }
.ct-btn:after, .submit-btn:after, .submit-btn.type-back:before { content:""; display:inline-block;
   width:1em; height:1em; margin-left:.5em; vertical-align:middle;
  background: url(../img/common/icon-arrow.svg) no-repeat center / 100%; }
  .ct-btn:hover, .submit-btn:hover { -webkit-transform:scale(1.05); transform: scale(1.05); }

.bnr-hv-anime { display:inline-block; -webkit-transition-timing-function:ease-out; transition-timing-function:ease-out; }
.bnr-hv-anime:hover { -webkit-transform:scale(1.04); transform: scale(1.04); }

.ct-btn.type-blue { background-image:url(../img/common/bg-btn-blue.png); }
.ct-btn.type-pink, .submit-btn.type-pink { padding:1.6em 1.2em 1.6em 1.3em; background-image:url(../img/common/bg-btn-pink.png); }

.ct-btn.size-big, .submit-btn.size-big { font-size:1.375em; }

.submit-btn { -webkit-transition:all .5s; transition:all .5s; border-radius:0; -webkit-appearance:none; }

/* pagetitle */
  .page-ttl { padding:1em 0 2.8em; text-align:center; font-size:1.875rem; }
  .page-ttl .en { display:block; color:#fff;
    font-size:.9em; letter-spacing: normal;
    -webkit-text-stroke:.3em #f44bca;
    font-family:'Fredoka One', cursive; }
  .page-ttl .en:before { text-shadow:-.1em -.1em 0 #f44bca, .1em .1em 0 #f44bca }

  .page-ttl .ja { position:relative; color:#07ace2; font-weight:800;
   -webkit-text-stroke:.3em #fff; }
  .page-ttl .ja:before { text-shadow:-.1em -.1em 0 #fff, .1em .1em 0 #fff }

  .page-ttl .en:before,
  .page-ttl .ja:before { content:attr(data-text); position:absolute;
    -webkit-text-stroke:0; white-space:nowrap; }

/* title */
.secttl { margin-bottom:1em; font-size:1.75rem; text-align:center; line-height:1.5; }
  .secttl .ja { display:inline-block; padding:0 .7em .2em; font-weight:800; letter-spacing: .05em; background:linear-gradient(transparent 50%, #f8e766 0%); }
  .secttl .en { position:relative; display:inline-block; margin-bottom:.3em; color:#fff;
    -webkit-text-stroke:.36em #00b7ee; font-size:.857em;
    font-family:'Fredoka One', cursive; }
  .secttl .en:before { content:attr(data-text); position:absolute;
    -webkit-text-stroke:0; white-space:nowrap;
    text-shadow:-.1em -.1em 0 #00b7ee, .1em .1em 0 #00b7ee }

/* table */
.ct-tbl { border-collapse:separate; }
.ct-tbl tr > * { padding:1.15em 1.6em; font-size:1.4rem; font-weight:800; border-top:4px solid #00b7ee; border-left:4px solid #00b7ee; }
  .ct-tbl th { width:180px; text-align:center; vertical-align:top; background:#c5e8f5; }
  .ct-tbl tr td:last-child { border-right:4px solid #00b7ee; }
  .ct-tbl tr:last-child > * { border-bottom:4px solid #00b7ee; }
  .ct-tbl tr:first-child th { border-radius:20px 0 0 0; }
  .ct-tbl tr:first-child td:last-child { border-radius:0 20px 0 0; }
  .ct-tbl tr:last-child th { border-radius:0 0 0 20px; }
  .ct-tbl tr:last-child td:last-child { border-radius:0 0 20px 0; }
  .ct-tbl .desc-txt { font-size:1rem; font-weight:bold; }

/* box */
.ct-box { margin-bottom:50px; }

/* list */
.list-dots > li { position:relative; padding-left:1em; line-height:1.7; }
.list-dots > li:before { content:"●"; position:absolute; top:0; left:0; color:#aa4b7c;
  -webkit-transform: scale(0.3); transform: scale(0.3); }

/* dl */
.ct-dl .row { padding:1.25em 0 1.15em; border-bottom:2px solid #aa4b7c; }
  .ct-dl .row > dt { width:276px; padding:0 2.143em 0 7.571em; }
  .ct-dl .row > dd { -webkit-box-flex:1; -ms-flex:1; flex:1; }

/* 959px 以下 (タブレット縦以下) */
@media screen and (max-width: 959px) {

  /* dl */
  .ct-dl .row > dt { width:200px; padding:0 2.143em 0 3em; }

  /* button */
  .ct-btn, .submit-btn,
  .ct-btn.size-small { font-size:16px; }
}

/* 599px 以下 (スマホ)  */
@media screen and (max-width: 599px) {
  #contents { padding:0 0 30px; }

  /* title */
  .page-hero { height:100px; }
  .page-ttl { padding:1em 0 3.2em; font-size:1.429rem; }

  .secttl { font-size:1.4rem; }

  /* button */
  .ct-btn, .ct-btn.size-small { font-size:1rem; }
  .submit-btn { font-size:1.3rem; }

  /* table */
  .ct-tbl tr > * { display:block; width:100%; font-size:1.1rem;
  border-right:4px solid #00b7ee; }
  .ct-tbl tr:first-child th { border-radius:15px 15px 0 0; }
  .ct-tbl tr:first-child td:last-child { border-radius:0; }
  .ct-tbl tr:last-child th { border-bottom:none; border-radius:0; }
  .ct-tbl tr:last-child td:last-child { border-radius:0 0 15px 15px; }
  .ct-dl .row > dt { width:7.5em; padding:0 1em 0 .5em; }

}


/* top
----------------------------------------------------------*/
/* hero */
.top-hero { position:relative; height:495px; }
.top-hero-ttl { position:relative; z-index:3; padding:20px 13px 0 0; text-align:right; }
.top-main-slider { position:absolute; top:-154px; left:-110px; width:662px; }
.top-main-slider:before { content:""; position:absolute; top:0; left:-3%; right:-6.1%; bottom:0; z-index:2; background: url(../img/top/slide-illust.png) no-repeat center / 100%; }

/* about */
.top-about { padding-top:16px;
  background:url(../img/top/illust-about-left.png) no-repeat left 10px top 75px,
  url(../img/top/illust-about-right.png) no-repeat right 10px top 73px; }
  .top-about-ttl { font-size:1.75rem; }

  .top-bnr-experience { margin-top:30px; text-align:center; }

.top-news { padding-top:30px; background: url(../img/top/bg-news-cloud.png) no-repeat center top 140px; }
.top-news-box { position:relative; overflow:hidden; width:586px; max-width:100%; margin:0 auto; padding:20px;
  box-shadow:0 0 10px rgba(0,0,0,.5); border-radius:5px;
   background: #6cb8aa url(../img/common/bg-dots-wht.svg) repeat left 0 top -2px; }
  .top-news-box-inner { padding:2.25rem 1.875rem 1.1rem; box-shadow:0 0 3px rgba(0,0,0,.2); background:#f7f6f0 url(../img/top/illust-news.png) no-repeat right 7.5% top 6.5% / 19.5% auto; }
  .top-news-box:before, .top-news-box:after,
  .top-news-box-inner:before, .top-news-box-inner:after {
    content:""; position:absolute; width:0; height:0; border-style:solid; border-width:32px 36px 0 0;
    border-color:#5ba9aa transparent transparent transparent;
  }
  .top-news-box-inner:before, .top-news-box-inner:after {
    border-width:32px 0 0 36px; border-color:transparent transparent transparent #5ba9aa;
  }

  .top-news-box:before { top:0; left:0; }
  .top-news-box:after { top:0; right:0; -webkit-transform:scale(-1, 1); transform:scale(-1, 1); }
  .top-news-box-inner:before { bottom:0; left:0; }
  .top-news-box-inner:after { bottom:0; right:0; -webkit-transform:scale(-1, 1); transform:scale(-1, 1); }

  .top-news-ttl:before { content:""; position:absolute; top:0; left:0; right:0; padding-top:45px;
   background:url(../img/top/bg-news-top.svg) no-repeat top center; }

.top-news-ttl { margin-bottom:1.2em; font-size:1.5rem; }
.top-news-ttl, .top-about-ttl .en { font-size:1.5rem; }
  .news-item { margin-bottom:.85em; }
    .news-item a , .news-item.link-none ,.news-item-kubun-1{ display:-webkit-box; display:flex; color:#000;font-size:14px; text-decoration:none; }
    .news-item a:hover { opacity:.6; }
      .news-item .date { width:6em; margin-right:1em; color:#f44bca; font-size:1.286em; font-weight:800; }
      .news-item .ttl { padding-top:.2em; -webkit-box-flex:1; -ms-flex:1; flex:1; }

.top-btn-news { margin-top:1rem; }

.top-calendar { max-width:730px; margin:0 auto; padding:25px 0; }
.top-calendar-ttl > * { font-size:1.5rem; }

.calendar-box { position:relative; }
.calendar-box-label { position:absolute; top:8px; right:0; width:177px; display:-webkit-box; display:flex;
 -webkit-box-pack:justify; justify-content:space-between; }
  .calendar-box-label li { width:48%; padding:.1em; text-align:center; font-weight:800; letter-spacing:.1em; }
  .calendar-box-label .open-day { background:#f8e766; }
  .calendar-box-label .close-day { background:#a6e0f2; }

.calendar-box-tbl { width:100%; border-collapse:separate; table-layout:fixed; }
  .calendar-box-tbl caption { margin-bottom:.4em; color:#f44bca; font-size:2.5em; font-weight:800; line-height:1; }
  .calendar-box-tbl thead th { color:#00b7ee; font-size:1.563em; font-weight:normal; font-family:'Fredoka One', cursive; }
  .calendar-box-tbl thead .holiday { color:#f44bca; }

    .calendar-box-tbl tbody td { height:106px; padding:.35em 0; text-align:center; vertical-align:top; font-size:1.438em; font-weight:800;
      border-top:4px solid #bfbfbf; border-left:4px solid #bfbfbf; background:#a6e0f2;  }
    .calendar-box-tbl tbody td span { display:block; padding:0 .45em; text-align:left; line-height:1; }
    .calendar-box-tbl tbody tr td:last-child { border-right:4px solid #bfbfbf; }
    .calendar-box-tbl tbody tr:last-child td { border-bottom:4px solid #bfbfbf; }
    .calendar-box-tbl tbody tr:first-child td:first-child { border-radius:20px 0 0 0; }
    .calendar-box-tbl tbody tr:first-child td:last-child { border-radius:0 20px 0 0; }
    .calendar-box-tbl tbody tr:last-child td:first-child { border-radius:0 0 0 20px; }
    .calendar-box-tbl tbody tr:last-child td:last-child { border-radius:0 0 20px 0; }

    .calendar-box-tbl tbody .other-month { color:#bfbfbf; background:none; }
    .calendar-box-tbl tbody .open-day { background:#f8e766 url(../img/top/calendar-icon.png) no-repeat center bottom .35em; }


/* 959px 以下 (タブレット縦以下) */
@media screen and (max-width: 959px) {
  .top-hero { height:65vw; }
  .top-hero-ttl { padding:10% 0 0; }
    .top-hero-ttl img { width:60%; }
  .top-main-slider { top:-50px; left:-13%; width:80%; }

  .top-about { background-size:12%; background-position:left 0 top 25%, right 0 top 25%; }

  .top-calendar { padding:20px 30px 0; }

}

/* 599px 以下 (スマホ)  */
@media screen and (max-width: 599px) {
  .top-hero { height:68vw; }
  .top-main-slider {  top:-30px; width:80%; }

  .top-about { background-position:left top, right top; }
  .top-about-ttl, .top-about-ttl .en { font-size:1.4rem; }
  .top-bnr-experience { margin-top:15px; }

  .top-news-box { padding:15px; }
  .top-news-box-inner { padding:2.4rem 1.3rem 1.1rem; background-position:right 7.5% top 10%; }
  .top-news-ttl { font-size:1.4rem; }
  .news-item a, .news-item.link-none,.news-item-kubun-1 { display:block; }

  .top-news-box:before, .top-news-box:after { border-width:28px 32px 0 0; }
  .top-news-box-inner:before, .top-news-box-inner:after { border-width:28px 0 0 32px;}

  .top-calendar { padding:20px 20px 0; }
  .calendar-box-label { top:3em; left:0; margin:0 auto; }
  .calendar-box-tbl caption { margin-bottom:2em; font-size:2em; }
  .calendar-box-tbl thead th { font-size:1rem; }
  .calendar-box-tbl tbody td { height:60px; font-size:1rem; }
  .calendar-box-tbl tbody .open-day { background-size:90%; }

}

/* 374 px 以下 (スマホ)  */
@media screen and (max-width: 374px) {
  .top-about-ttl, .top-about-ttl .en { font-size:1.15rem; }
  .top-about-txt { font-size:.95rem; }

}

/* about
----------------------------------------------------------*/
.about-intro-txt { padding:35px 0 0 46px; line-height:2; }

.about-flow { margin-bottom:30px; }
.about-flow-ttl { margin-bottom:1.4em; }
.about-flow-list { max-width:930px; }
  .about-flow-list li { width:46%; margin-bottom:5%;
    display:-webkit-box; display: flex;
    -webkit-box-orient:vertical; -webkit-box-direction:normal; flex-direction:column;
    -webkit-box-pack:justify; justify-content: space-between; }
  .about-flow-list .ttl { position:relative; padding:.25em 0 .15em 2.308em; font-size:1.625rem; font-weight:800; line-height:1.3; }
  .about-flow-list .ttl .num { position:absolute; top:.18em; left:.4em; display:inline-block; color:#fff; line-height:1;
    -webkit-text-stroke:.3em #00b7ee; font-size:1.346em; font-weight:normal;
    font-family:'Fredoka One', cursive; }
  .about-flow-list .txt { margin:.8em 0 1.4em; padding-left:3.9em; }
  .about-flow-list .ttl .num:before { content:attr(data-text); position:absolute;
    -webkit-text-stroke:0; white-space:nowrap;
    text-shadow:-.1em -.1em 0 #00b7ee, .1em .1em 0 #00b7ee }
  .about-flow-list .img { overflow:hidden; border-radius:20px; border:4px solid #00b7ee; }

.about-baby-bnr { margin-top:30px; }

/* 959px 以下 (タブレット縦以下) */
@media screen and (max-width: 959px) {
  .about-intro-txt { width:100%; padding:0; text-align:center; }
  .about-intro-img { width:100%; margin-top:1rem; text-align: center; }

  .about-flow-list .ttl { font-size:1.4rem; }
  .about-flow-list .txt { padding-left:3.3em; }
}
/* 599px 以下 (スマホ)  */
@media screen and (max-width: 599px) {
  .about-flow-list li { width:100%; margin-bottom:10%; }
}

/* outline
----------------------------------------------------------*/
.outline-time { padding-top:20px; }
.outline-fees-txt { font-size:1.5rem; text-align:center; }
.outline-fees-att { margin:1.4em 1em; padding-left:1em; text-indent:-1em; }
.outline-fees-illust { margin-top:70px; text-align:center; }

/* 600px 以上 */
@media screen and (min-width: 600px) {
  .outline-fees-tbl th { width:365px; }
}

/* access
----------------------------------------------------------*/
.access-map { margin-top:35px; }
.access-btn-map { margin:1.3rem 0 3rem; }
.access-btn-map a { font-size:1.563em; font-weight:normal; letter-spacing:.05em; background:url(../img/common/bg-btn-pink.png) no-repeat center / 100%; }
.access-btn-map a:after { width:.833em; height:.833em; }



/* 959px 以下 (タブレット縦以下) */
@media screen and (max-width: 959px) {
  .access-btn-map a { font-size:1.2rem; }
}


/* sitemap
----------------------------------------------------------*/
.sitemap-box { max-width:800px; margin:0 auto; }

.sitemap-list { width:43%; }
  .sitemap-list > li { margin-bottom:1.7em; padding-left:2em; font-size:18px; }
  .sitemap-list > li > a { color:#aa4b7c; font-weight:bold; text-decoration:none; }
  .sitemap-list > li > a:hover { opacity:.6; }

/* 599px 以下 (スマホ)  */
@media screen and (max-width: 599px) {
  .sitemap-list { width:100%; }
  .sitemap-list > li { font-size:1.2em; }
}

/* policy
----------------------------------------------------------*/
.policy-box > p { margin-bottom:0; }
.policy-ttl { margin:1.5em 0 .8em; font-size:18px; font-weight:bold; }
.policy-dots-list { padding-left:1em; }

.att-list > li { position:relative; padding-left:1em; }
.att-list > li:before { content:"*"; position:absolute; top:0; left:0; }

.policy-contact_btn { margin-top:60px; }

/* 960px 以上 (PC・タブレット横) */
@media screen and (min-width: 960px) {
  .policy-contact_btn .ct-btn { font-size:19px; }
}

/* contact
----------------------------------------------------------*/
.contact-telnum { font-size:1.875em; }
.contact-tel-att { margin:.5em 0 1.5em; }
.form-policy_btn a { text-decoration:none; }
.form-policy_btn a:hover { opacity:.7; }

.contact-btn_top { margin-top:50px; }
.contact-btn_top .ct-btn { width:270px; }

/* form  */
.form-tbl { margin:45px 0 40px; }
  .form-tbl tr > th { font-size:1.375rem; text-align:left; }
  .form-tbl .required {  margin-left:.5em; font-size:1rem; color:#f44bca; }
  .form-tbl .form-att { font-size:.75rem; }

.form-policy_btn { margin-top:20px; }

.submit-btn.type-back:before { margin:0 .5em 0 0; -webkit-transform: scale(-1, 1);transform: scale(-1, 1); }
.submit-btn.type-back:after { display:none; }
.submit-btn:focus, .form-btn:focus { outline:none; }

.submit-btn.type-back, .submit-btn.type-send { width:243px; }
.submit-btn.type-back { padding-left:1em; background-image:url(../img/contact/bg-btn-back.png); }
.submit-btn.type-send { padding-right:1em; background-image:url(../img/contact/bg-btn-send.png); }

input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="date"], .select-custom select, textarea {
  margin:4px 0; padding:.2em .8em; color:#222; border-radius:0; font-weight:500;
  border-radius:5px; border:2px solid #d2d2d2; background:#fff;
  font-family:
  "游ゴシック", "Yu Gothic", YuGothic,
  "メイリオ", "Meiryo","ヒラギノ角ゴ Pro W3",
  "Hiragino Kaku Gothic Pro", Osaka, sans-serif;
 }
 textarea { display:block; }

input::placeholder, textarea::placeholder { color:#999; }

input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus, input[type="number"]:focus, input[type="date"]:focus, .select-custom select:focus, textarea:focus { border-color:#aaa; outline:none; }

.select-custom { position:relative; display:inline-block; margin-right:2px; }
.select-custom:before { content:""; position:absolute; top:0; bottom:0; right:10px; width:0; height:0; margin:auto 0; border-width:6px 5px 0 5px; border-style:solid; border-color:#aa4b7b transparent transparent transparent; pointer-events:none; }
.select-custom select { -webkit-appearance:none; -moz-appearance:none; appearance:none;
  padding-right:1.8em; background:#fff; }
.select-custom  select::-ms-expand { display:none; }

.size-t { width:15%; }
.size-s { width:30%; }
.size-m { width:70%; }
.size-l { width:100%; }

.submit-box .submit-btn.type-back { margin-right:1em; }

/* 960px 以上 (PC・タブレット横) */
@media screen and (min-width: 960px) {
  .type-input .form-tbl tr > * { padding:.75em 1em; }
  .type-input .form-tbl tr > td { padding-top:.65em; padding-bottom:.65em; font-size:1.125rem; }
  .type-confirm .form-tbl tr > td { font-size:1.375rem; }

}

/* 600px 以上 (PC・タブレット横) */
@media screen and (min-width: 600px) {
  .type-input .form-tbl tr > th { width:270px; padding-right:.5em; }
  .type-confirm .form-tbl tr > th { width:260px; }
}

/* 959px 以下 (タブレット縦以下) */
@media screen and (max-width: 959px) {
  input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="date"], .select-custom select, textarea {
    font-size:16px;
  }

}

/* 599px 以下 (スマホ)  */
@media screen and (max-width: 599px) {
  .type-input .form-tbl tr > * { padding:1em; }

  .type-confirm .submit-box { display:-webkit-flex; display:flex;
  -webkit-justify-content:space-between; justify-content:space-between; }
  .type-confirm .submit-box .submit-btn.type-send { padding-left:2em; }
  .submit-box .submit-btn.type-back { margin-right:0; padding-right:1.5em;}
  .submit-btn.type-back, .submit-btn.type-send { width:auto; font-size:1.3rem; }

  .contact-form .form-tbl tr > * { font-size:1.1rem; }

  .size-t { width:30%; }
  .size-s { width:50%; }
  .size-m { width:100%; }
}

/* 374px 以下 (スマホ)  */
@media screen and (max-width: 374px) {
  .form-policy_btn { font-size:.84rem; }
}

/* IE11 */
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .g-nav-list .nav-ja,
  .g-footer-nav span,
  .page-ttl .ja {
    text-shadow:
    #fff .2em 0px,  #fff -.2em 0px,
    #fff 0px -.2em, #fff 0px .2em,
    #fff .2em .2em , #fff -.2em .2em,
    #fff .2em -.2em, #fff -.2em -.2em,
    #fff .1em .2em,  #fff -.1em .2em,
    #fff .1em -.2em, #fff -.1em -.2em,
    #fff .2em .1em,  #fff -.2em .1em,
    #fff .2em -.1em, #fff -.2em -.1em;
  }
  .g-nav-list .nav-en,
  .page-ttl .en,
  .txt-border_letter.type-pink {
    text-shadow:
    #f44bca .2em 0px,  #f44bca -.2em 0px,
    #f44bca 0px -.2em, #f44bca 0px .2em,
    #f44bca .2em .2em , #f44bca -.2em .2em,
    #f44bca .2em -.2em, #f44bca -.2em -.2em,
    #f44bca .1em .2em,  #f44bca -.1em .2em,
    #f44bca .1em -.2em, #f44bca -.1em -.2em,
    #f44bca .2em .1em,  #f44bca -.2em .1em,
    #f44bca .2em -.1em, #f44bca -.2em -.1em;
  }
  .secttl .en:before,
  .about-flow-list .ttl .num {
    text-shadow:
    #00b7ee .2em 0px,  #00b7ee -.2em 0px,
    #00b7ee 0px -.2em, #00b7ee 0px .2em,
    #00b7ee .2em .2em , #00b7ee -.2em .2em,
    #00b7ee .2em -.2em, #00b7ee -.2em -.2em,
    #00b7ee .1em .2em,  #00b7ee -.1em .2em,
    #00b7ee .1em -.2em, #00b7ee -.1em -.2em,
    #00b7ee .2em .1em,  #00b7ee -.2em .1em,
    #00b7ee .2em -.1em, #00b7ee -.2em -.1em;
  }
  .g-nav-list .nav-ja:before, .g-nav-list .nav-en:before,
  .g-footer-nav span:before,
  .page-ttl .ja:before, .page-ttl .en:before,
  .about-flow-list .ttl .num:before,
  .txt-border_letter.type-pink:before { display:none; }
}

/*追加*/
.news-list .inner{max-width: 600px;}

#news .contact-tel { margin-bottom: 40px;}
#news .news_box {border-bottom: 1px dashed #888; border-top:1px dashed #888; padding: 20px 0; }

/* 599px 以下 (スマホ)  */
@media screen and (max-width: 599px) {
#news h2.secttl { text-align: left;}
}

.news-pdf{padding-top: 5px;}
.news-pdf a{text-decoration: none;}
