@charset "utf-8";
/* CSS Document */

/* --------------------------------------------------
  reset
-------------------------------------------------- */
*, *::before, *::after {
  box-sizing: border-box;
  transition: all .2s;
}
html, body, header, footer, main, aside, nav, article, section, figure, figcaption, h1, h2, h3, h4, h5, h6, ul, ol, li, dl, dt, dd, table, tr, th, td, iframe, a, img, p, div, span {
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
  outline: none;
}
html, body {
  width: 100%;
  height: 100%;
  line-height: 1.4;
  color: #fff;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 62.5%;
  font-weight: 500;
  background: #6dcfe3;
}
h1, h2, h3, h4, h5, h6 {
  font-size: 10px;
  font-size: 1rem;
  font-weight: normal;
  font-weight: 500;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
img {
  height: auto;
  max-width: 100%;
  vertical-align: baseline;
}
b, em, strong {
  font-weight: bold;
  font-weight: 700;
  background: linear-gradient(transparent 70%, rgba(236,150,170,.3) 70%);
}
i {
  font-style: italic;
}
small {
  font-size: 75%;
}
sub, sup {
  vertical-align: baseline;
  font-size: 75%;
  line-height: 0;
  position: relative;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
a { 
  text-decoration: none; 
}
a:hover { 
  text-decoration: none; 
}
a:link { 
  color: #ffffff; 
}
a:visited { 
  color: #ffffff; 
}
a:hover { 
  color: #ffffff; 
}
a:active { 
  color: #ffffff; 
}
/* --------------------------------------------------
  common
-------------------------------------------------- */
.page-container {
  background: url(../img/bg_ft.png) center bottom no-repeat;
  background-size: 100% auto;
  position: relative;
}
.page-container::after {
  content: '';
  display: block;
  padding: 0 0 89.16% 0;
}
.inner {
  margin: 0 auto;
  width: 83.3%;
  max-width: 900px;
}
.dl-list {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.dl-list-item {
  margin: 0 4% 0 0;
}
.dl-list-item:last-child {
  margin: 0;
}
.dl-btn,
.btn {
  display: block;
}
/* --------------------------------------------------
  header
-------------------------------------------------- */
header {
  background: url(../img/bg_hd.png) center top no-repeat,
              linear-gradient(to top, #6dcfe3, #8de5f1);
  background-size: 100% auto;
  position: relative;
  z-index: 1;
}
header::before {
  content: '';
  display: block;
  padding: 66.6% 0 0 0;
}
header .inner {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
}
.ttl-container {
  padding: 7.3% 0 0 0;
}
.ttl {
  display: block;
}
.hd-dl-area {
  padding: 7% 0 16% 16.6%;
}
.hd-dl-msg {
  padding: 0 0 2% 0;
  text-align: center;
  font-size: 3.3vw;
  font-weight: bold;
  font-weight: 900;
}
/* --------------------------------------------------
  .body
-------------------------------------------------- */
.body {
  background: url(../img/bg_bd.png) center top no-repeat;
  background-size: 100% auto;
}
.body-top {
  margin: -33.8% 0 0 0;
  position: relative;
  z-index: 2;
}
.body-ttl {
  padding: 16% 0 0 0;
  text-align: center;
  line-height: 1.6;
  font-size: 5.5vw;
  font-weight: bold;
  font-weight: 900;
}
.body-ttl-s {
  display: block;
  font-size: 3.8vw;
}
.toc-list {
  list-style: none;
  padding: 6% 0 0 0;
}
.toc-list-item {
  margin: 0 0 4% 0;
  background: url(../img/bg_nv_sakura.png) left center no-repeat, #fff;
  background-size: auto 100%;
  border-radius: 8px;
  box-shadow: 0 2px 4px 0 rgba(0,0,0,.2);
}
.toc-list-item:last-child {
  margin: 0;
}
.cnts-link {
  display: block;
  padding: 3.6% 0 4.3% 16%;
  font-size: 4.4vw;
  font-weight: bold;
  font-weight: 900;
  background: url(../img/ar_check.png) 95.6% 48% no-repeat;
  background-size: 9.3% auto;
}
.cnts-link:link,
.cnts-link:visited,
.cnts-link:hover,
.cnts-link:active {
  color: #46c3d8;
  text-decoration: none;
}
.cnts-link-no-image {
  display: block;
  padding: 3.6% 0 4.3% 16%;
  font-size: 4.4vw;
  font-weight: bold;
  font-weight: 900;
  background-size: 9.3% auto;
}
.cnts-link-no-image:link,
.cnts-link-no-image:visited,
.cnts-link-no-image:hover,
.cnts-link-no-image:active {
  color: #46c3d8;
  text-decoration: none;
}
.cnts-list {
  list-style: none;
  padding: 20% 0 0 0;
}
.cnts-card {
  margin: 0 0 8% 0;
  padding: 8% 4%;
  color: #46c3d8;
  background: #fff;
  box-shadow: 0 2px 4px 0 rgba(0,0,0,.2);
}
.cnts-card:last-child {
  margin: 0;
}
.cnts-ttl {
  padding: 13% 0 8.7% 0;
  text-align: center;
  font-size: 5.5vw;
  font-weight: bold;
  font-weight: 900;
}
.ic-serach {
  background: url(../img/ic_search.png) center top no-repeat;
  background-size: 10.87% auto;
}
.ic-pref {
  background: url(../img/ic_pref.png) center top no-repeat;
  background-size: 10.87% auto;
}
.ic-info {
  background: url(../img/ic_info.png) center top no-repeat;
  background-size: 10.87% auto;
}
.cnts-txt {
  line-height: 1.8;
  font-size: 3.8vw;
}
.cnts-txt-small {
  line-height: 1.4;
  font-size: 1.4vw;
}
.cnts-card-small {
  margin: 0 0 8% 0;
  padding: 4% 4%;
  color: #46c3d8;
  background: #fff;
  box-shadow: 0 2px 4px 0 rgba(0,0,0,.2);
}
.comingsoon-area {
  padding: 20% 0 0 0;
}
.comingsoon {
  display: block;
}
.bd-dl-msg {
  padding: 10.6% 0 2% 0;
  text-align: center;
  font-size: 3.8vw;
  font-weight: bold;
  font-weight: 700;
}
.bd-dl-list {
  padding: 0 8.6%;
}

/* --------------------------------------------------
  footer
-------------------------------------------------- */
.copy {
  padding: 10% 0 0 0;
  text-align: center;
}
.copy small {
  font-size: 2.7vw;
}
/* --------------------------------------------------
  max-font-size
-------------------------------------------------- */
@media ( min-width: 1001px ) {
  .hd-dl-msg {
    font-size: 33px;
  }
  .body-ttl {
    font-size: 55px;
  }
  .body-ttl-s {
    font-size: 38px;
  }
  .cnts-link {
    font-size: 44px;
  }
  .cnts-ttl {
    font-size: 55px;
  }
  .cnts-txt {
    font-size: 38px;
  }
  .bd-dl-msg {
    font-size: 38px;
  }
  .copy small {
    font-size: 27px;
  }
}
