@charset "UTF-8";
/*
Theme Name: Genova Template
File: top.css
Theme Author: Genova Design
Author URI: https://genova.co.jp/
Description: Description: This file is reserved for the top-page css
Version: 1.0
*/
/*--------------------------------------
	mainimage
--------------------------------------*/
#mainimage {
  position: relative; }

.mainimage-img img {
  width: 100%; }

#mainimage h1 {
  display: none; }

.mainimage-catch {
  position: absolute; }

@media screen and (min-width: 768px) {
  .mainimage-img {
    height: 680px;
    background: url("../img/key.jpg") no-repeat center/cover; }

  .mainimage-catch {
    width: 694px;
    bottom: 15px;
    left: 50%;
    margin-left: -651px; } }
@media screen and (min-width: 768px) and (max-width: 1350px) {
  .mainimage-catch {
    width: 51.4%;
    bottom: 15px;
    left: 0;
    margin-left: 0; } }
@media screen and (min-width: 768px) and (max-width: 980px) {
  .mainimage-img {
    height: 415px; } }
@media screen and (max-width: 767px) {
  .mainimage-catch {
    left: 0;
    bottom: 2.72%;
    width: 100%; } }
.ttl {
  color: #777 !important;
  font-family: dnp-shuei-mgothic-std, sans-serif;
  font-weight: 600;
  font-size: 33px;
  line-height: 1.42;
  text-align: center;
  letter-spacing: 0.25em; }

.ttl i {
  display: block;
  margin: 0 auto 8px; }

@media screen and (max-width: 767px) {
  .ttl {
    font-size: 22px;
    line-height: 1.36; } }
/*--------------------------------------
	news
--------------------------------------*/
.top-news {
  margin: 90px 0; }

.top-news .post-box {
  margin-top: 0; }

.top-news .ttl {
  margin-bottom: 53px; }

@media screen and (max-width: 767px) {
  .top-news {
    margin: 50px 0; }

  .top-news .ttl {
    margin-bottom: 52px; }

  .top-news .ttl i {
    width: 37px; } }
/*--------------------------------------
	sec1
-------------------------------------*/
.page-id-43 #sec1 {
  background: #fff3f3; }
  .page-id-43 #sec1 .ttl {
    line-height: 1.6; }
  .page-id-43 #sec1 p {
    margin-bottom: 0; }
  .page-id-43 #sec1 .sec1_txt {
    font-family: dnp-shuei-mgothic-std, sans-serif;
    font-weight: 600;
    position: relative;
    z-index: 1; }
    .page-id-43 #sec1 .sec1_txt p, .page-id-43 #sec1 .sec1_txt p a {
      background: url("../img/sec1_line.png") repeat-x bottom left;
      font-size: 30px;
      line-height: 2;
      padding-bottom: 4px;
      margin-bottom: 0;
      display: table;
      letter-spacing: 0.15em;
      color: #F26E7C; }
    .page-id-43 #sec1 .sec1_txt span {
      display: inline-block;
      color: #777;
      font-size: 22px;
      line-height: 1.63;
      margin-top: 16px;
      letter-spacing: 0.15em; }
  .page-id-43 #sec1 .sec1_1 {
    position: relative; }
  .page-id-43 #sec1 .sec1_img {
    margin-bottom: 0; }
  .page-id-43 #sec1 .sec1_4 .sec1_txt1 {
    color: #fff;
    box-sizing: border-box;
    font-family: dnp-shuei-mgothic-std, sans-serif;
    font-weight: 600;
    line-height: 1.688;
    font-size: 32px;
    letter-spacing: 0.08em; }
  .page-id-43 #sec1 .sec1_5 .sec1_txt2, .page-id-43 #sec1 .sec1_5 .sec1_txt2 a {
    color: #F26E7C;
    box-sizing: border-box;
    font-family: dnp-shuei-mgothic-std, sans-serif;
    font-weight: 600;
    line-height: 1.688;
    font-size: 32px;
    letter-spacing: 0.08em; }
  @media screen and (min-width: 768px) {
    .page-id-43 #sec1 {
      padding: 90px 0 86px; }
      .page-id-43 #sec1 .sec1_flower {
        position: absolute;
        top: -27px;
        right: -18.52%;
        width: 23.79%; }
      .page-id-43 #sec1 .sec1_1 {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        padding-top: 28px; }
        .page-id-43 #sec1 .sec1_1 .sec1_img {
          width: 50.92%;
          margin-left: -8.89%; }
        .page-id-43 #sec1 .sec1_1 .sec1_txt {
          position: relative;
          z-index: 1;
          margin: 104px 0 0 3.33%; }
      .page-id-43 #sec1 .sec1_deco3 {
        position: absolute;
        top: -40px;
        left: -15px;
        width: 11.2%; }
      .page-id-43 #sec1 .sec1_deco2 {
        position: absolute;
        top: 10px;
        right: 182px;
        width: 11.11%; }
      .page-id-43 #sec1 .sec1_deco1 {
        position: absolute;
        bottom: 0;
        right: -1.8%;
        width: 28%; }
      .page-id-43 #sec1 .sec1_deco4 {
        position: absolute;
        bottom: -27px;
        left: 40.37%;
        width: 24.1%; }
      .page-id-43 #sec1 .sec1_2 {
        position: relative;
        padding: 36px 0 91px; }
        .page-id-43 #sec1 .sec1_2 .sec1_img {
          position: absolute;
          width: 48.89%;
          top: -3px;
          right: -10.28%; }
        .page-id-43 #sec1 .sec1_2 .sec1_txt {
          position: relative;
          z-index: 1;
          margin-left: 23.43%; }
        .page-id-43 #sec1 .sec1_2 .sec1_deco5 {
          position: absolute;
          bottom: 57px;
          left: -1.76%;
          width: 28.25%; }
      .page-id-43 #sec1 .sec1_3 {
        position: relative;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        align-items: center; }
        .page-id-43 #sec1 .sec1_3 .sec1_deco7 {
          width: 13.775%;
          position: absolute;
          top: -107px;
          left: 50.19%;
          margin-bottom: 0; }
        .page-id-43 #sec1 .sec1_3 .sec1_deco6 {
          width: 15.22%;
          position: absolute;
          top: -58px;
          left: -11%; }
        .page-id-43 #sec1 .sec1_3 .sec1_img {
          width: 57.96%;
          margin-left: -8.8%;
          margin-right: 3.89%; }
        .page-id-43 #sec1 .sec1_3 .sec1_txt {
          margin-top: -18px; }
      .page-id-43 #sec1 .sec1_4 {
        position: relative;
        padding-top: 47px; }
        .page-id-43 #sec1 .sec1_4 .sec1_txt1 {
          background: url("../img/sec1_txt1.png") no-repeat center/100% auto;
          width: 60%;
          height: 424px;
          margin-left: -6.2%;
          padding-left: 6%;
          padding-top: 110px; }
      .page-id-43 #sec1 .sec1_deco8 {
        width: 32.12%;
        position: absolute;
        top: -52px;
        right: 18.61%; }
      .page-id-43 #sec1 .sec1_deco9 {
        width: 21.58%;
        position: absolute;
        top: 35px;
        right: -8.7%;
        margin-bottom: 0; }
      .page-id-43 #sec1 .sec1_5 {
        position: relative;
        margin-top: -216px; }
        .page-id-43 #sec1 .sec1_5 .sec1_txt2 {
          background: url("../img/sec1_txt2.png") no-repeat center/100% auto;
          width: 52.4%;
          height: 452px;
          margin-left: auto;
          margin-right: -6.39%;
          padding-left: 4.2%;
          padding-top: 101px; }
      .page-id-43 #sec1 .sec1_deco10 {
        width: 32.4%;
        position: absolute;
        top: 62px;
        left: -22.5%; }
      .page-id-43 #sec1 .sec1_deco11 {
        width: 22.68%;
        position: absolute;
        top: 192px;
        left: 9.5%; } }
  @media screen and (max-width: 1100px) and (min-width: 768px) {
    .page-id-43 #sec1 #sec1 {
      padding-bottom: 80px; }
    .page-id-43 #sec1 .sec1_txt p {
      font-size: 2.72vw; }
    .page-id-43 #sec1 .sec1_txt span {
      font-size: 2vw; }
    .page-id-43 #sec1 .sec1_1 .sec1_txt {
      margin-top: 9vw; }
    .page-id-43 #sec1 .sec1_deco4 {
      bottom: -2vw; }
    .page-id-43 #sec1 .sec1_4 .sec1_txt1 {
      height: 36vw;
      font-size: 2.7vw;
      padding-top: 8vw; }
    .page-id-43 #sec1 .sec1_2 {
      padding: 22px 0 52px; }
      .page-id-43 #sec1 .sec1_2 .sec1_deco5 {
        bottom: 31px; }
    .page-id-43 #sec1 .sec1_3 .sec1_deco7 {
      top: -67px; }
    .page-id-43 #sec1 .sec1_3 .sec1_deco6 {
      top: -38px; }
    .page-id-43 #sec1 .sec1_5 {
      margin-top: -200px; }
      .page-id-43 #sec1 .sec1_5 .sec1_txt2 {
        font-size: 2.7vw;
        height: 38vw;
        padding-top: 9vw; }
    .page-id-43 #sec1 .sec1_deco10 {
      top: 96px; }
    .page-id-43 #sec1 .sec1_deco11 {
      top: 168px; } }
  @media screen and (max-width: 767px) {
    .page-id-43 #sec1 {
      padding: 50px 0 73px; }
      .page-id-43 #sec1 .ttl {
        margin-bottom: 30px; }
      .page-id-43 #sec1 .sec1_txt p {
        font-size: 5.1vw;
        background: url("../img/sec1_line_sp.png") repeat-x bottom left;
        padding-bottom: 4px; }
      .page-id-43 #sec1 .sec1_txt span {
        font-size: 4.27vw;
        margin-top: 7px; }
      .page-id-43 #sec1 .sec1_flower {
        position: absolute;
        width: 121px;
        top: 0;
        left: 60%;
        margin-left: 83px; }
      .page-id-43 #sec1 .sec1_1 {
        padding: 0 20px; }
        .page-id-43 #sec1 .sec1_1 .sec1_img {
          margin-bottom: 12px; }
      .page-id-43 #sec1 .sec1_deco1 {
        width: 183px;
        margin: 0 -35px 0 auto; }
      .page-id-43 #sec1 .sec1_deco4 {
        width: 149px;
        margin: -43px 0 0 -10px; }
      .page-id-43 #sec1 .sec1_2 {
        position: relative;
        z-index: 2;
        padding: 0 20px;
        margin-top: -37px; }
      .page-id-43 #sec1 .sec1_3 {
        position: relative;
        padding: 0 20px; }
        .page-id-43 #sec1 .sec1_3 .sec1_img {
          margin-top: -99px;
          margin-bottom: 10px; }
      .page-id-43 #sec1 .sec1_deco7 {
        width: 40.36%;
        margin-left: -6px; }
      .page-id-43 #sec1 .sec1_deco8 {
        width: 54.69%;
        margin-top: 20px; }
      .page-id-43 #sec1 .sec1_4 {
        position: relative;
        margin-bottom: 4vw; }
        .page-id-43 #sec1 .sec1_4 .sec1_txt1 {
          background: url("../img/sec1_txt1_sp.png") no-repeat top center/100% auto;
          box-sizing: border-box;
          font-size: 5.1vw;
          padding-top: 10vw;
          padding-left: 21%;
          height: 58vw; }
      .page-id-43 #sec1 .sec1_deco9 {
        width: 33.56%;
        position: absolute;
        right: 0;
        top: 20vw; }
      .page-id-43 #sec1 .sec1_5 {
        position: relative; }
        .page-id-43 #sec1 .sec1_5 .sec1_txt2 {
          background: url("../img/sec1_txt2_sp.png") no-repeat top center/100% auto;
          box-sizing: border-box;
          font-size: 5.1vw;
          padding-top: 10vw;
          padding-left: 12%;
          height: 68vw;
          margin-right: -7px; } 
	  .page-id-43 #sec1 .sec1_5 .sec1_txt2 a{
		  font-size: 5.1vw;}

}

/*--------------------------------------
	sec2
-------------------------------------*/
.page-id-43 #sec2 {
  background: url("../img/sec2_bg.jpg"); }
  .page-id-43 #sec2 .sec2_txt {
    font-family: "ヒラギノ角ゴ 簡体中文 W3","Hiragino Sans GB W3";
    line-height: 1.78; }
  .page-id-43 #sec2 .sec2_name {
    text-align: right;
    font-family: dnp-shuei-mgothic-std, sans-serif;
    font-weight: 600;
    color: #777;
    line-height: 2.1; }
    .page-id-43 #sec2 .sec2_name span {
      display: inline-block;
      line-height: 1.42; }
  .page-id-43 #sec2 .btn_link a {
    text-align: center; }
  @media screen and (min-width: 768px) {
    .page-id-43 #sec2 {
      padding: 110px 0 148px; }
      .page-id-43 #sec2 .ttl {
        position: relative;
        z-index: 1;
        font-size: 30px;
        margin-bottom: 3px; }
      .page-id-43 #sec2 .sec2_deco {
        width: 67.64%;
        position: absolute;
        z-index: 0;
        top: -21px;
        right: -3.66%; }
      .page-id-43 #sec2 .dis_flex {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        position: relative;
        z-index: 1; }
      .page-id-43 #sec2 .sec2_img {
        width: 40.15%;
        margin-left: 2.59%; }
      .page-id-43 #sec2 .sec2_info {
        width: 49.26%;
        margin: 44px 0 0 4.6%; }
      .page-id-43 #sec2 .sec2_txt {
        font-size: 18px;
        margin-bottom: 7px; }
      .page-id-43 #sec2 .sec2_name {
        font-size: 18px;
        margin-right: 2%;
        margin-bottom: 31px; }
        .page-id-43 #sec2 .sec2_name span {
          font-size: 26px;
          margin-left: 17px; }
      .page-id-43 #sec2 .btn_link {
        margin: 0 8px 0 auto; }
      .page-id-43 #sec2 .sec2_deco2 {
        width: 10.18%;
        bottom: -64px;
        left: -6.1%;
        position: absolute;
        margin-bottom: 0; } }
  @media screen and (max-width: 767px) {
    .page-id-43 #sec2 {
      padding: 50px 0 22px; }
      .page-id-43 #sec2 .ttl {
        margin-bottom: 22px; }
        .page-id-43 #sec2 .ttl i {
          margin: auto;
          width: 37px; }
      .page-id-43 #sec2 .sec2_info {
        background: url("../img/sec2_bg2_sp.png") no-repeat top center/100% 100%;
        margin: -18vw -20px 0 -20px;
        padding: 17vw 20px 24vw 20px; }
      .page-id-43 #sec2 .sec2_name {
        text-align: left;
        font-size: 4vw; }
        .page-id-43 #sec2 .sec2_name span {
          font-size: 5.33vw;
          margin-left: 13px; }
      .page-id-43 #sec2 .sec2_txt {
        margin-bottom: 30px; }
      .page-id-43 #sec2 .btn_link {
        margin: auto; } }

/*--------------------------------------
	sec3
-------------------------------------*/
.page-id-43 #sec3 {
  background: #fff3f3; }
  .page-id-43 #sec3 .dis_flex {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
    color: #F26E7C;
    font-family: dnp-shuei-mgothic-std, sans-serif;
    font-weight: 600;
    line-height: 1.36;
    text-align: center; }
    .page-id-43 #sec3 .dis_flex i {
      display: block;
      margin: 0 auto 5px; }
    .page-id-43 #sec3 .dis_flex p:nth-child(1) i {
      width: 23.63%; }
    .page-id-43 #sec3 .dis_flex p:nth-child(2) i {
      width: 25.05%; }
    .page-id-43 #sec3 .dis_flex p:nth-child(3) i {
      width: 29.22%; }
    .page-id-43 #sec3 .dis_flex p:nth-child(4) i {
      width: 17.34%; }
    .page-id-43 #sec3 .dis_flex p:nth-child(5) i {
      width: 23.58%; }
    .page-id-43 #sec3 .dis_flex span {
      display: flex;
      height: 2.72em;
      align-items: center;
      justify-content: center; }
  .page-id-43 #sec3 .btn_link {
    margin: auto; }
  @media screen and (min-width: 768px) {
    .page-id-43 #sec3 {
      padding: 94px 0 90px; }
      .page-id-43 #sec3 .ttl {
        font-size: 30px;
        margin-bottom: 55px; }
        .page-id-43 #sec3 .ttl i {
          width: 47px; }
          .page-id-43 #sec3 .ttl i img {
            width: 100% !important; }
      .page-id-43 #sec3 .elementor-container {
        max-width: 1366px; }
        .page-id-43 #sec3 .elementor-container .container {
          max-width: 1366px;
          box-sizing: border-box;
          padding: 0 52px; }
      .page-id-43 #sec3 .dis_flex {
        margin-bottom: 40px; }
        .page-id-43 #sec3 .dis_flex p {
          width: 18.15%;
          font-size: 22px;
          margin-bottom: 0;
          padding: 47px 0 25px; }
          .page-id-43 #sec3 .dis_flex p:not(:first-child) {
            margin-left: 2.29%; }
          .page-id-43 #sec3 .dis_flex p:nth-child(2n+1) {
            background: url("../img/sec3_bg1.png") no-repeat center/100% 100%; }
          .page-id-43 #sec3 .dis_flex p:nth-child(2n) {
            background: url("../img/sec3_bg2.png") no-repeat center/100% 100%; } }
  @media screen and (max-width: 1360px) and (min-width: 768px) {
    .page-id-43 #sec3 .elementor-container .container {
      padding: 0 30px; }
    .page-id-43 #sec3 .dis_flex p {
      font-size: 1.61vw;
      padding: 4vw 0 3vw; }
    .page-id-43 #sec3 .dis_flex i {
      margin-bottom: 0.3vw; } }
  @media screen and (max-width: 980px) and (min-width: 768px) {
    .page-id-43 #sec3 .dis_flex i {
      height: 41px !important; } }
  @media screen and (max-width: 850px) and (min-width: 768px) {
    .page-id-43 #sec3 .dis_flex i {
      height: 35px !important; } }
  @media screen and (max-width: 767px) {
    .page-id-43 #sec3 {
      padding: 52px 0 50px; }
      .page-id-43 #sec3 .ttl {
        margin-bottom: 22px; }
        .page-id-43 #sec3 .ttl i img {
          width: 38px !important; }
      .page-id-43 #sec3 .dis_flex {
        justify-content: space-between;
        padding-bottom: 24px; }
        .page-id-43 #sec3 .dis_flex p {
          margin-bottom: 16px;
          width: 46.9%;
          padding: 10vw 0 7vw;
          font-size: 18px; }
          .page-id-43 #sec3 .dis_flex p:nth-child(1), .page-id-43 #sec3 .dis_flex p:nth-child(4), .page-id-43 #sec3 .dis_flex p:nth-child(5) {
            background: url("../img/sec3_bg1.png") no-repeat center/100% 100%; }
          .page-id-43 #sec3 .dis_flex p:nth-child(2), .page-id-43 #sec3 .dis_flex p:nth-child(3) {
            background: url("../img/sec3_bg2.png") no-repeat center/100% 100%; }
          .page-id-43 #sec3 .dis_flex p i {
            margin-bottom: 0; }
          .page-id-43 #sec3 .dis_flex p span {
            height: auto; }
          .page-id-43 #sec3 .dis_flex p:last-child {
            font-size: 15px;
            padding: 8vw 0 5.5vw; } }

/*--------------------------------------
	access
-------------------------------------*/
.timetable thead th, .timetable tbody tr:last-child td, .timetable tbody tr:last-child th {
  border-bottom: none; }

.timetable thead tr, .timetable tbody tr:last-child {
  background: url("../img/line.png") repeat-x bottom left; }

.timetable thead th {
  padding-top: 0; }

.timetable thead th:first-child, .info_location dt {
  color: #6E706E !important;
  font-family: dnp-shuei-mgothic-std, sans-serif;
  font-weight: 600; }

.timetable thead tr:first-child {
  background: url("../img/line.png") repeat-x bottom left; }

.timetable thead th:first-child {
  width: 32%;
  padding-left: 0; }

.timetable thead th {
  padding-bottom: 30px; }

.timetable tbody tr th {
  padding-left: 0; }

.timetable tbody tr:first-child td, .timetable tbody tr:first-child th {
  padding-top: 25px; }

.timetable th, .timetable td {
  padding-top: 16px; }

.access-item .sub {
  margin-top: 20px;
  background: url("../img/line.png") repeat-x bottom left;
  padding-bottom: 10px;
  line-height: 2.1; }

.info_location dl {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  line-height: 2; }

.info_location dt {
  font-size: 16px; }

.w45 {
  width: 45px; }

@media screen and (min-width: 768px) {
  #access {
    padding: 85px 0 50px; }

  #access .ttl {
    margin-bottom: 24px;
    font-size: 30px; }
    #access .ttl i {
      width: 36px; }
      #access .ttl i img {
        width: 100% !important; }

  .access-content {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex; }

  .access-item {
    width: 47.22%; }

  .access-item:nth-child(2) {
    margin-left: 5.56%; }

  .info_location dl + dl {
    margin-top: 10px; }

  .info_location dt {
    width: 96px; }

  .info_location dd {
    width: calc(100% - 96px); }

  .map {
    padding-top: 400px; } }
@media screen and (min-width: 768px) and (max-width: 990px) {
  .timetable thead th:first-child {
    font-size: 17px;
    width: 35%; }

  .timetable th, .timetable td {
    font-size: 14px; }

  .w45 {
    width: 40px; } }
@media screen and (max-width: 767px) {
  .map {
    padding-top: 340px; }

  #access {
    padding: 50px 0; }

  #access .ttl {
    margin-bottom: 20px; }
    #access .ttl i {
      width: 32px; }
      #access .ttl i img {
        width: 100% !important; }

  .access-item + .access-item {
    margin-top: 37px; }

  .timetable th, .timetable td {
    font-size: 14px;
    padding-top: 13px; }

  .timetable thead th {
    padding-bottom: 16px; }

  .timetable tbody tr th, .timetable tbody tr td {
    padding-top: 5px;
    padding-bottom: 11px; }

  .timetable tbody tr:first-child td, .timetable tbody tr:first-child th {
    padding-top: 16px; }

  .timetable tbody tr:last-child td, .timetable tbody tr:last-child th {
    padding-bottom: 17px; }

  .w45 {
    width: 31px; }

  .timetable thead th:first-child {
    font-size: 14px; }

  .access-item .sub {
    line-height: 2;
    margin-top: 11px;
    letter-spacing: 0.5px; }

  .info_location dl {
    font-size: 14px;
    letter-spacing: 0.5px; }

  .info_location dl + dl {
    margin-top: 15px; }

  .info_location dt {
    font-size: 14px;
    width: 91px; }

  .info_location dd {
    width: calc(100% - 91px); }

  .page-id-43 .slider_scroll img {
    height: 155px !important;
    width: auto !important; } }
.slick-slide > div {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex; }
