@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@100;300;400;500;700;800;900&display=swap');
/*------------------------------------------------------------
	map section
------------------------------------------------------------*/
html {
  height: 100%;
}

body {
  position: relative;
  height: 100%;
  font-family: 'M PLUS Rounded 1c', sans-serif;
}
#wrapper {
  background: #e4f5fd;
  position: relative;
}
#wrapper main {
  background: url(../img/common/mv_img.jpg) calc(-428 / var(--fs) * 1vw) calc(-844 / var(--fs) * 1vw ) / calc(3285 / var(--fs) * 1vw) calc(2354 / var(--fs) * 1vw) no-repeat,
              url(../img/common/bg_img.png) center calc(-46 / var(--fs) * 1vw) / 100% repeat;
}
.inner_wrap {
  max-width: 990px;
  width: 100%;
  margin: 0 auto;
}

.bouyahouse_wrap {
  padding-top: calc(347 / 1366 * 100vw);
}
@media screen and (min-width: 768px) {
  .inner_wrap {
    margin-bottom: calc(80 / var(--fs) * 1rem);
  }
}
@media screen and (max-width: 767px) {
  #wrapper {
    background-color: #fff7df;
    position: relative;
  }
  #wrapper main {
    background: url(../img/bouyahouse/sp/bg_img.jpg) center top no-repeat;
    background-size:  100%;
  }
  .inner_wrap {
    width: 100%;
    margin: 0 auto calc(30 / var(--fs) * 1rem);
  }
  .bouyahouse_wrap {
    padding-top: calc(500 / 750 * 100%);
  }
}
/* bouyahouse_contents_section */
@media all and (min-width: 768px) {
  /* ルビ */
  rt {
    font-size: calc(10 / var(--fs) * 1rem);
    transform: scale(0.9) translateX(calc(-1 / var(--fs) * 1rem));
    letter-spacing: -0.1em;
  }
  ::-webkit-full-page-media, :future, :root rt {
    transform: scale(0.9) translateY(0.4rem);
  }
  @-moz-document url-prefix() {
    rt {
      margin-bottom: -0.4rem;
    }
  }
  /* /ルビ */
  .bouyahouse_contents_section {
    position: relative;
    width: 100%;
    max-width: calc(988 / var(--fs) * 1rem);
    height: 100%;
    border-style: solid;
    border-width: 14px;
    border-color: #fff;
    border-radius: 10px;
    background-color: #fff7df;
    margin-bottom: calc(45 / var(--fs) * 1rem);
  }
  .bouyahouse_contents_inner {
    max-width: 700px;
    width: auto;
    margin: 30px auto 75px;
  }
  .bouyahouse_head {
    width: calc(700 / var(--fs) * 1rem);
    margin: 0 auto calc(40 / var(--fs) * 1rem);
    padding-right: calc(18 / var(--fs) * 1rem);
  }
  h1 {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: calc(28 / var(--fs) * 1rem);
    margin-bottom: calc(40 / var(--fs) * 1rem);
  }
  h1 img {
    width: calc(378 / var(--fs) * 1rem);
  }
  .bouyahouse_head_txt {
    text-align: center;
    font-size: calc(24 / var(--fs) * 1rem);
    font-weight: bold;
    margin-bottom: calc(50 / var(--fs) * 1rem);
  }
  .slide-contnets {
    position: relative;
    width: 700px;
    background: #fff;
    border-radius: 20px;
    padding: calc(50 / var(--fs) * 1rem) 0 calc(40 / var(--fs) * 1rem);
  }
  .slide-img {
    margin: 0 auto;
    width: calc(286 / var(--fs) * 1rem);
  }
  .slick-list .slick-slider {
    /* width: 100%; */
    width: 700px;
    /* display: flex; */
  }
  .slick-list .slick-slider li{
    width: calc(210 / var(--fs) * 1rem)!important;
    margin-right: calc(20 / var(--fs) * 1rem);
  }
  .slick-list .slick-slider li img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .bottom_img {
    margin: 0 auto;
    width: calc(513 / var(--fs) * 1rem);
  }
}
@media all and (max-width: 767px) {
  /* ルビ */
  rt {
    font-size: calc(12 / var(--fs) * 1rem);
    letter-spacing: -0.1em;
  }
  ::-webkit-full-page-media, :future, :root rt {
    transform: translateY(0.5rem);
  }
  @-moz-document url-prefix() {
    rt {
      margin-bottom: -0.5rem;
    }
  }
  /* /ルビ */
  .bouyahouse_contents_section {
    position: relative;
    width: 100%;
    height: 100%;
    background-color: #fff7df;
    border-top: calc(15 / var(--fs) * 1rem) solid #fff;
  }
  .bouyahouse_contents_inner {
    width: 100%;
    padding-bottom: calc(80 / var(--fs) * 1rem);
  }
  .bouyahouse_head {
    max-width: calc(713 / 750 * 100%);
    margin: 0 calc(15 / var(--fs) * 1rem) calc(60 / var(--fs) * 1rem) calc(22 / var(--fs) * 1rem);
    padding: calc(90 / var(--fs) * 1rem) 0 0;
  }
  .bouyahouse_head_txt {
    text-align: center;
    font-size: calc(30 / var(--fs) * 1rem);
    font-weight: bold;
  }
}

/*------------------------------------------------------------
	Btn
------------------------------------------------------------*/

@media screen and (min-width: 768px) {
  .btn {
    width: calc(278 / var(--fs) * 1rem);
    height: 100%;
    position: relative;
    display: block;
    /* padding: 28px 18px 20px; */
    padding: calc(24 / var(--fs) * 1rem) 18px calc(24 / var(--fs) * 1rem);
    background: #FFF;
    line-height: 1;
    color: #fff;
    border-radius: 39px;
    font-size: calc(18 / var(--fs) * 1rem);
    font-weight: bold;
    z-index: 10;
    text-align: center;
    cursor: pointer;
    filter: drop-shadow(calc(6 / var(--fs) * 1rem) calc(7 / var(--fs) * 1rem) 0px rgba(77, 33, 12, 0.25));
    letter-spacing: 0.1em;
    transform: rotate(0.03deg);
    transition: transform .3s ease;
  }
  .btn_link_small .btn {
    padding: calc(28 / var(--fs) * 1rem) calc(14 / var(--fs) * 1rem) calc(20 / var(--fs) * 1rem);
  }
  @-moz-document url-prefix() {
    .btn {
      padding: calc(16 / var(--fs) * 1rem) 18px calc(16 / var(--fs) * 1rem);
    }
    .btn_link_small .btn {
      padding: calc(16 / var(--fs) * 1rem) 18px calc(16 / var(--fs) * 1rem);
    }
    .btn.-no-ruby {
      padding: calc(24 / var(--fs) * 1rem) 18px calc(24 / var(--fs) * 1rem);
    }
  }
  ::-webkit-full-page-media, :future, :root .btn {
    transform: rotate(0.03deg) translateZ(0);
    padding: 0;
  }
  ::-webkit-full-page-media, :future, :root .btn_label {
    padding: calc(25 / var(--fs) * 1rem) 0 calc(23 / var(--fs) * 1rem);
    display: inline-block;
  }
  .btn a{
    color: #fff;
  }
  .btn:hover {
    transform: scale(1.03);
  }
  ::-webkit-full-page-media, :future, :root .btn:hover {
    transform: scale(1.03) translateZ(0);
  }
  .btn::before {
    content: "";
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    position: absolute;
    top: 50%;
    left: 50%;
    border: 2px #07a6da solid;
    border-radius: 39px;
    box-sizing: border-box;
    transform: translate(-50%, -50%);
    background: #07a6da;
    z-index: -1;
  }
  .top_btn {
    width: calc(545 / var(--fs) * 1rem);
    padding-bottom: calc(155 / var(--fs) * 1rem);
    margin: 0 auto;
  }
  @-moz-document url-prefix() {
    .top_btn {
      padding-bottom: calc(65 / var(--fs) * 1rem);
    }
  }
  .top_btn a {
    margin-left: calc(7 / var(--fs) * 1rem);
  }
  .top_btn a:hover img {
    transform: scale(1.03);
  }
  .top_btn a img {
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease;
    transition-timing-function: ease;
    -webkit-transition-property: all;
    transition-property: all;
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
  }
  .bouyahouse_bottom_btn {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  a.btn_link {
    width: calc(278 / var(--fs) * 1rem);
    color: #fff;
    display: block;
    margin: calc(30 / var(--fs) * 1rem) auto 0;
    transform: rotateZ(0.03deg);
  }
}
@media screen and (max-width: 767px) {
  .btn {
    width: calc(440 / var(--fs) * 1rem);
    height: 100%;
    position: relative;
    display: block;
    padding: calc(39 / var(--fs) * 1rem) 8px calc(27 / var(--fs) * 1rem);
    background: #FFF;
    line-height: 1;
    border-right: solid 1px #c7bdbf;
    color: #fff;
    border-radius: 47px;
    margin: 0 auto;
    font-size: calc(30 / var(--fs) * 1rem);
    font-weight: bold;
    z-index: 10;
    text-align: center;
    cursor: pointer;
    letter-spacing: 0.1em;
    filter: drop-shadow(calc(6 / var(--fs) * 1rem) calc(7 / var(--fs) * 1rem) 0px rgba(77, 33, 12, 0.25));
    transform: rotate(0.03deg) translateZ(0);
  }
  @-moz-document url-prefix() {
    .btn {
      padding: calc(20 / var(--fs) * 1rem) calc(8 / var(--fs) * 1rem) calc(20 / var(--fs) * 1rem);
    }
  }
  ::-webkit-full-page-media, :future, :root .btn {
    padding: 0;
  }
  ::-webkit-full-page-media, :future, :root .btn_label {
    padding: calc(34 / var(--fs) * 1rem) 0 calc(28 / var(--fs) * 1rem);
    display: inline-block;
  }
  .btn a{
    color: #fff;
  }
  .btn::before {
    content: "";
    width: calc(100% - calc(12 / var(--fs) * 1rem));
    height: calc(100% - calc(13 / var(--fs) * 1rem));
    position: absolute;
    top: 50%;
    left: 50%;
    border: 2px #07a6da solid;
    border-radius: 50px;
    box-sizing: border-box;
    transform: translate(-50%, -50%);
    background: #07a6da;
    z-index: -1;
  }
  .top_btn {
    background-color: #e4f4fd;
    padding-top: calc(55 / var(--fs) * 1rem);
    border-top: calc(14 / var(--fs) * 1rem) solid #fff;
  }
  .top_btn_inner {
    width: 100%;
    max-width: calc((522 / 750) * 100%);
    margin: 0 auto;
    padding-bottom: calc(215 / var(--fs) * 1rem);
  }
}
/*------------------------------------------------------------
	bouyahouse 坊やハウス
------------------------------------------------------------*/
@media screen and (min-width: 768px) {
  .bouyahouse_contents {
   max-width: calc(540 / var(--fs) * 1rem);
   margin: calc(55 / var(--fs) * 1rem) auto 0;
   position: relative;
   display: flex;
   flex-wrap: wrap;
  }
  .bouyahouse_contents_block {
    position: relative;
    max-width: calc(252 / var(--fs) * 1rem);
    width: 100%;
  }
  .bouyahouse_contents_img {
    overflow: hidden;
    border: 2px #07a6da solid;
    border-radius: calc(20 / var(--fs) * 1rem);
    position: relative;
  }
  .bouyahouse_contents_img.-new::after {
    content: "";
    position: absolute;
    background: url(../img/bouyahouse/icon_new.png);
    top: calc(8 / var(--fs) * 1rem);
    left: calc(8 / var(--fs) * 1rem);
    width: calc(50 / var(--fs) * 1rem);
    height: calc(50 / var(--fs) * 1rem);
  }
  .bouyahouse_contents_img img {
    object-fit: cover;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease;
    transition-timing-function: ease;
    -webkit-transition-property: all;
    transition-property: all;
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
  }
  .bouyahouse_contents_block a:hover img {
    transform: scale(1.1);
  }
  .bouyahouse_contents_block:nth-child(odd) {
    margin-right: calc(35 / var(--fs) * 1rem);
  }
  .bouyahouse_contents_block:nth-child(n + 3) {
    margin-top: calc(30 / var(--fs) * 1rem);
  }
  .bouyahouse_contents_block .part {
    background-color: #07a6da;
    color: #fff;
    display: block;
    border-radius: calc(8 / var(--fs) * 1rem);
    font-size: calc(18 / var(--fs) * 1rem);
    font-weight: bold;
    text-align: center;
    width: calc(84 / var(--fs) * 1rem);
    margin: calc(16 / var(--fs) * 1rem) auto;
    height: calc(42 / var(--fs) * 1rem);
    display: flex;
    justify-content: center;
    align-items: center;
  }
  ::-webkit-full-page-media, :future, :root .bouyahouse_contents_block .part {
    align-items: normal;
  }
  @-moz-document url-prefix() {
    .bouyahouse_contents_block .part {
      padding: calc(8 / var(--fs) * 1rem) 0;
    }
  }
  .bouyahouse_contents_block .bottom_title {
    font-size: calc(22 / var(--fs) * 1rem);
    color: #000;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.075em;
    line-height: 1.636;
  }
}
@media screen and (max-width: 767px) {
  .bouyahouse_contents {
   width: 100%;
   max-width: calc((680 / 750) * 100%);
   margin: calc(75 / var(--fs) * 1rem) auto 0;
   position: relative;
   display: flex;
   flex-wrap: wrap;
  }
    .bouyahouse_contents_block {
    position: relative;
    max-width: calc((320 / 680) * 100%);
    width: 100%;
  }
  .bouyahouse_contents_img {
    overflow: hidden;
    border: 2px #07a6da solid;
    border-radius: calc(12.5 / var(--fs) * 1rem);
    position: relative;
  }
  .bouyahouse_contents_img.-new::after {
    content: "";
    position: absolute;
    background: url(../img/bouyahouse/icon_new.png) no-repeat;
    background-size: cover;
    top: calc(8 / var(--fs) * 1rem);
    left: calc(8 / var(--fs) * 1rem);
    width: calc(60 / var(--fs) * 1rem);
    height: calc(60 / var(--fs) * 1rem);
  }
  .bouyahouse_contents_img img {
    object-fit: cover;
  }
  .bouyahouse_contents_block:nth-child(odd) {
    margin-right: calc((40 / 680) * 100%);
  }
  .bouyahouse_contents_block:nth-child(n + 3) {
    margin-top: calc(30 / var(--fs) * 1rem);
  }
  .bouyahouse_contents_block .part {
    background-color: #07a6da;
    color: #fff;
    display: block;
    border-radius: calc(10 / var(--fs) * 1rem);
    font-size: calc(28 / var(--fs) * 1rem);
    font-weight: bold;
    text-align: center;
    max-width: calc((125 / 750) * 100vw);
    margin: calc(20 / var(--fs) * 1rem) auto calc(30 / var(--fs) * 1rem);
    height: calc(60 / var(--fs) * 1rem);
    display: flex;
    justify-content: center;
    align-items: center;
  }
  ::-webkit-full-page-media, :future, :root .bouyahouse_contents_block .part {
    align-items: normal;
  }
  @-moz-document url-prefix() {
    .bouyahouse_contents_block .part {
      padding: calc(10 / var(--fs) * 1rem) 0;
    }
  }
  .bouyahouse_contents_block .bottom_title {
    font-size: calc(30 / var(--fs) * 1rem);
    color: #000;
    font-weight: bold;
    text-align: center;
    line-height: 1.866;
  }
}
/*------------------------------------------------------------
	hazimarimonogatari はじまりの物語 下層
------------------------------------------------------------*/
@media screen and (min-width: 768px) {
  .hazimarimonogatari_contents_inner {
    max-width: 820px;
    width: auto;
  }
  .hazimarimonogatari_txt {
    font-size: calc(26 / var(--fs) * 1rem);
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.1em;
    transform: rotate(0.03deg);
  }
  .hazimarimonogatari_txt span {
    font-size: calc(18 / var(--fs) * 1rem);
  }
  .hazimarimonogatari_txt + .hazimarimonogatari_txt {
    margin-top: 1rem;
  }
  .hazimarimonogatari_contents {
   /* width: calc(716 / var(--fs) * 1rem); */
   width: calc(820 / var(--fs) * 1rem);
   margin: calc(50 / var(--fs) * 1rem) auto 0;
   position: relative;
   display: flex;
   flex-wrap: wrap;
  }
  .hazimarimonogatari_contents_block {
    position: relative;
    width: calc(400 / var(--fs) * 1rem);
  }
  .hazimarimonogatari_contents_block:nth-child(odd) {
    margin-right: calc(20 / var(--fs) * 1rem);
  }
  .hazimarimonogatari_contents_block:nth-child(n + 3) {
    margin-top: calc(20 / var(--fs) * 1rem);
  }
  .hazimarimonogatari_contents_block p.number {
    position: absolute;
    width: calc(40 / var(--fs) * 1rem);
    height: calc(40 / var(--fs) * 1rem);
    background-color: #07a6da;
    border-radius: 50%;
    color: #fff;
    font-weight: bold;
    font-size: calc(19 / var(--fs) * 1rem);
    left: calc(-11 / var(--fs) * 1rem);
    top: calc(-10 / var(--fs) * 1rem);
    display: flex;
    justify-content: center;
    align-items: center;
  }
  /* 他のお話を読む */
  .bouyahouse-block_bk {
    position: relative;
    margin: calc(90 / var(--fs) * 1rem) auto 0;
  }
  .bouyahouse_bk_img {
    position: relative;
    max-width: calc(292 / var(--fs) * 1rem);
    width: 100%;
    margin: 0 auto calc(35 / var(--fs) * 1rem);
  }
  .bouyahouse_bk_contents ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
  .bouyahouse_bk_contents li {
    width: calc(252 / var(--fs) * 1rem);
  }
  .bouyahouse_bk_contents li:nth-child(4n) {
    margin-left: 0;
  }
  .bouyahouse_bk_contents li:nth-child(n + 4) {
    margin-top: calc(70 / var(--fs) * 1rem);
  }
  .bouyahouse_bk_contents li + li {
    margin-left: calc(35 / var(--fs) * 1rem);
  }
  .bouyahouse_bk_contents li .bouyahouse_bk_list_img {
    overflow: hidden;
    border: 2px #07a6da solid;
    border-radius: calc(20 / var(--fs) * 1rem);
  }
  .bouyahouse_bk_contents li img {
    object-fit: cover;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease;
    transition-timing-function: ease;
    -webkit-transition-property: all;
    transition-property: all;
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
  }
  .bouyahouse_bk_contents li a:hover img {
    transform: scale(1.1);
  }
  .bouyahouse_bk_contents li p.part {
    background-color: #07a6da;
    color: #fff;
    display: block;
    border-radius: calc(8 / var(--fs) * 1rem);
    font-size: calc(18 / var(--fs) * 1rem);
    font-weight: bold;
    text-align: center;
    width: calc(84 / var(--fs) * 1rem);
    margin: calc(16 / var(--fs) * 1rem) auto;
    height: calc(42 / var(--fs) * 1rem);
    display: flex;
    justify-content: center;
    align-items: center;
  }
  ::-webkit-full-page-media, :future, :root .bouyahouse_bk_contents li p.part {
    align-items: normal;
  }
  @-moz-document url-prefix() {
    .bouyahouse_bk_contents li p.part {
      padding: calc(8 / var(--fs) * 1rem) 0;
    }
  }
  .bouyahouse_bk_contents li p.bk_title {
    color: #000;
    font-size: calc(22 / var(--fs) * 1rem);
    font-weight: bold;
    text-align: center;
    line-height: 1.636;
    transform: rotate(0.03deg);
  }
}
@media screen and (max-width: 767px) {
  .hazimarimonogatari_contents_inner {
    width: 100%;
  }
  .hazimarimonogatari_txt {
    font-size: calc(30 / var(--fs) * 1rem);
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.1em;
    transform: rotate(0.03deg);
  }
  .hazimarimonogatari_txt span {
    font-size: calc(22 / var(--fs) * 1rem);
  }
  .hazimarimonogatari_txt + .hazimarimonogatari_txt {
    margin-top: 1rem;
  }
  .hazimarimonogatari_contents {
   width: 100%;
   max-width: calc((680 / 750) * 100%);
   margin: calc(75 / var(--fs) * 1rem) auto 0;
   position: relative;
   display: flex;
   flex-wrap: wrap;
   flex-direction: column;
  }
  .hazimarimonogatari_contents_block {
    position: relative;
    width: 100%;
  }
  .hazimarimonogatari_contents_block:nth-child(n + 2) {
    margin-top: calc(19 / var(--fs) * 1rem);
  }
  .hazimarimonogatari_contents_block p.number {
    position: absolute;
    width: calc((66 / 600) * 100%);
    height: calc((66 / 600) * 100%);
    background-color: #07a6da;
    border-radius: 50%;
    color: #fff;
    font-size: calc(34 / var(--fs) * 1rem);
    font-weight: bold;
    left: calc(-14 / var(--fs) * 1rem);
    top: calc(-11 / var(--fs) * 1rem);
    display: flex;
    justify-content: center;
    align-items: center;
    transform: rotate(0.03deg);
  }
  /* 他のお話を読む */
  .bouyahouse-block_bk {
    position: relative;
    margin: calc(90 / var(--fs) * 1rem) auto 0;
  }
  .bouyahouse_bk_img {
    position: relative;
    max-width: calc(361 / var(--fs) * 1rem);
    width: 100%;
    margin: 0 auto calc(45 / var(--fs) * 1rem);
  }
  .bouyahouse_bk_contents {
    margin-bottom: calc(70 / var(--fs) * 1rem);
  }
  .bouyahouse_bk_contents ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
  .bouyahouse_bk_contents li {
    width: calc(320 / var(--fs) * 1rem);
  }
  .bouyahouse_bk_contents li:nth-child(4n) {
    margin-left: 0;
  }
  .bouyahouse_bk_contents li:nth-child(n + 4) {
    margin-top: calc(40 / var(--fs) * 1rem);
  }
  .bouyahouse_bk_contents li + li {
    margin-left: calc(40 / var(--fs) * 1rem);
  }
  .bouyahouse_bk_contents li .bouyahouse_bk_list_img {
    overflow: hidden;
    border: 2px #07a6da solid;
    border-radius: calc(20 / var(--fs) * 1rem);
  }
  .bouyahouse_bk_contents li img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .bouyahouse_bk_contents li p.part {
    background-color: #07a6da;
    color: #fff;
    display: block;
    border-radius: calc(10 / var(--fs) * 1rem);
    font-size: calc(28 / var(--fs) * 1rem);
    font-weight: bold;
    text-align: center;
    max-width: calc((125 / 750) * 100vw);
    margin: calc(20 / var(--fs) * 1rem) auto calc(30 / var(--fs) * 1rem);
    height: calc(60 / var(--fs) * 1rem);
    letter-spacing: 0.075em;
    transform: rotate(0.03deg);
  }
  ::-webkit-full-page-media, :future, :root .bouyahouse_bk_contents li p.part {
    align-items: normal;
  }
  @-moz-document url-prefix() {
    .bouyahouse_bk_contents li p.part {
      padding: calc(10 / var(--fs) * 1rem) 0;
    }
  }
  .bouyahouse_bk_contents li p.bk_title {
    color: #000;
    font-size: calc(30 / var(--fs) * 1rem);
    font-weight: bold;
    text-align: center;
    line-height: 1.866;
    transform: rotate(0.03deg);    
  }
}