@charset "UTF-8";
/* function が使える */
.web_font01, .ttl_style span, #Prof_area h4, #Schedule_area ul dl dt, #Other_area .wrap > li dl dt {
  font-family: 'Lexend Giga', sans-serif;
  letter-spacing: 0.05em;
  font-weight: 100 !important; }

.ttl_style {
  text-align: center;
  line-height: 1;
  font-weight: bold;
  margin-bottom: 50px; }
  .ttl_style span {
    font-size: 3.8rem;
    display: block;
    margin-bottom: 24px;
    font-weight: 100; }

@media screen and (max-width: 736px) {
  .ttl_style {
    margin-bottom: 25px;
    font-size: 1.2rem; }
    .ttl_style span {
      font-size: 2.3rem;
      margin-bottom: 10px; } }
#fix_btn {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 100; }
  #fix_btn .btn {
    width: 444px; }
    #fix_btn .btn img {
      width: 100%;
      height: auto; }

@media screen and (max-width: 736px) {
  #fix_btn {
    bottom: 15px;
    right: 7vw; }
    #fix_btn .btn {
      width: 86vw; } }
/*------------------------------------------------------------
#Mv_area
------------------------------------------------------------*/
#Mv_area {
  margin-bottom: 40px; }
  #Mv_area p img {
    width: 100%;
    height: auto; }

@media screen and (max-width: 736px) {
  #Mv_area {
    margin-bottom: 20px; } }
/*------------------------------------------------------------
#Top_txt_area
------------------------------------------------------------*/
#Top_txt_area {
  margin-bottom: 145px; }
  #Top_txt_area .icon {
    position: absolute;
    top: -110px;
    right: 77px; }
  #Top_txt_area h3 {
    font-size: 3.8rem;
    margin-bottom: 30px; }
  #Top_txt_area .txt {
    margin-bottom: 75px; }
  #Top_txt_area ul {
    display: flex;
    align-items: center;
    color: #73635b; }
    #Top_txt_area ul li:first-child {
      margin-right: 45px; }
    #Top_txt_area ul li.time dl dt:before {
      width: 30px;
      height: 30px;
      background: url("../images/icon_time.png") left top no-repeat;
      background-size: 30px 30px;
      margin-top: -15px; }
    #Top_txt_area ul li.area dl dt:before {
      width: 30px;
      height: 34px;
      background: url("../images/icon_map.png") left top no-repeat;
      background-size: 30px 34px;
      margin-top: -17px; }
    #Top_txt_area ul li dl {
      display: flex;
      align-items: center; }
      #Top_txt_area ul li dl dt {
        position: relative;
        padding-left: 52px; }
        #Top_txt_area ul li dl dt:before {
          display: block;
          content: '';
          width: 30px;
          height: 30px;
          background: url("../images/icon_time.png") left top no-repeat;
          background-size: 30px 30px;
          position: absolute;
          top: 50%;
          left: 0;
          margin-top: -15px; }

@media screen and (max-width: 736px) {
  #Top_txt_area {
    margin-bottom: 55px; }
    #Top_txt_area .icon {
      top: -66px;
      right: 10px; }
      #Top_txt_area .icon img {
        width: 85px;
        height: auto; }
    #Top_txt_area h3 {
      font-size: 1.9rem;
      margin-bottom: 15px; }
    #Top_txt_area .txt {
      margin-bottom: 15px;
      font-size: 1.4rem;
      line-height: 1.64; }
    #Top_txt_area ul {
      display: block; }
      #Top_txt_area ul li:first-child {
        margin-right: 0; }
      #Top_txt_area ul li.time dl dt:before {
        width: 15px;
        height: 15px;
        background: url("../images/icon_time.png") left top no-repeat;
        background-size: 15px 15px;
        margin-top: -7px; }
      #Top_txt_area ul li.area dl dt:before {
        width: 15px;
        height: 17px;
        background: url("../images/icon_map.png") left top no-repeat;
        background-size: 15px 17px;
        margin-top: -8px; }
      #Top_txt_area ul li dl dt {
        padding-left: 26px; } }
/*------------------------------------------------------------
#Prof_area
------------------------------------------------------------*/
#Prof_area {
  margin-bottom: 140px; }
  #Prof_area h4 {
    margin-bottom: 50px;
    font-size: 3.8rem;
    text-align: center; }
  #Prof_area .wrap {
    display: flex;
    justify-content: space-between; }
  #Prof_area .txt_wrap {
    width: 350px;
    padding-right: 100px; }
    #Prof_area .txt_wrap li {
      margin-bottom: 30px; }
      #Prof_area .txt_wrap li:last-child {
        margin-bottom: 0; }
    #Prof_area .txt_wrap dt {
      margin-bottom: 5px; }
    #Prof_area .txt_wrap dd {
      font-size: 2.4rem;
      font-weight: bold; }

@media screen and (max-width: 736px) {
  #Prof_area {
    margin-bottom: 70px; }
    #Prof_area .inner {
      padding: 0; }
    #Prof_area h4 {
      margin-bottom: 20px;
      font-size: 2.0rem;
      text-align: center;
      line-height: 1; }
      #Prof_area h4 span {
        font-size: 1.8rem;
        display: block;
        margin-bottom: 8px; }
    #Prof_area .wrap {
      display: block; }
    #Prof_area .img_wrap {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 20px;
      padding: 0 3.1vw; }
      #Prof_area .img_wrap .img {
        width: 56.2vw; }
        #Prof_area .img_wrap .img img {
          width: 100%;
          height: auto; }
      #Prof_area .img_wrap ul {
        width: 32.8vw; }
      #Prof_area .img_wrap .sec01 {
        margin-bottom: 15px; }
        #Prof_area .img_wrap .sec01 dt {
          margin-bottom: 5px; }
        #Prof_area .img_wrap .sec01 dd {
          font-size: 2.2rem;
          font-weight: bold;
          line-height: 1; }
      #Prof_area .img_wrap .sec02 dt {
        margin-bottom: 2px; }
      #Prof_area .img_wrap .sec02 dd {
        font-size: 1.3rem;
        font-weight: bold; }
    #Prof_area .txt_wrap {
      width: 100%;
      padding: 0 8.4vw;
      box-sizing: border-box;
      font-size: 1.2rem; }
      #Prof_area .txt_wrap li {
        margin-bottom: 0; } }
/*------------------------------------------------------------
#movie_area
------------------------------------------------------------*/
#movie_area {
  margin-bottom: 170px; }
  #movie_area .wrap {
    position: relative; }
    #movie_area .wrap a {
      display: block;
      position: absolute;
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      z-index: 10; }
      #movie_area .wrap a:hover:after {
        opacity: .1; }
      #movie_area .wrap a:before {
        display: block;
        content: '';
        width: 100px;
        height: 100px;
        background: url("../images/icon_movie.png") left top no-repeat;
        background-size: 100px 100px;
        position: absolute;
        top: 50%;
        left: 50%;
        margin-left: -50px;
        margin-top: -50px;
        z-index: 20; }
      #movie_area .wrap a:after {
        display: block;
        content: '';
        width: 100%;
        height: 100%;
        background: #000000;
        position: absolute;
        top: 0;
        left: 0;
        opacity: 0;
        z-index: 10;
        transition: all .4s 0s ease-in-out; }
    #movie_area .wrap img {
      width: 100%;
      height: auto; }

@media screen and (max-width: 736px) {
  #movie_area {
    margin-bottom: 70px; }
    #movie_area .wrap a:before {
      width: 50px;
      height: 50px;
      background: url("../images/icon_movie.png") left top no-repeat;
      background-size: 50px 50px;
      margin-left: -25px;
      margin-top: -25px; } }
/*------------------------------------------------------------
#Schedule_area
------------------------------------------------------------*/
#Schedule_area {
  margin-bottom: 110px; }
  #Schedule_area .ttl_style {
    margin-bottom: 90px; }
  #Schedule_area .wrap {
    position: relative;
    padding-bottom: 40px; }
    #Schedule_area .wrap:before {
      display: block;
      content: '';
      width: calc(100% - 200px );
      height: 1px;
      background: #000;
      position: absolute;
      top: auto;
      bottom: 0;
      left: 100px; }
    #Schedule_area .wrap:after {
      display: block;
      content: '';
      width: calc(100% - 200px );
      height: 1px;
      background: #000;
      position: absolute;
      top: auto;
      bottom: -9px;
      left: 100px; }
  #Schedule_area ul {
    position: relative; }
    #Schedule_area ul:before {
      display: block;
      content: '';
      width: 1px;
      height: 100%;
      background: #21cdcf left top no-repeat;
      position: absolute;
      top: 0;
      right: 160px;
      z-index: -1; }
    #Schedule_area ul > li {
      margin-bottom: 90px;
      position: relative;
      z-index: 5; }
      #Schedule_area ul > li:nth-last-child(2) {
        margin-bottom: 160px; }
      #Schedule_area ul > li:last-child {
        margin-bottom: 0; }
        #Schedule_area ul > li:last-child dl {
          margin-bottom: 0; }
    #Schedule_area ul dl {
      display: flex;
      align-items: center;
      padding: 0 100px;
      margin-bottom: 50px;
      justify-content: space-between;
      line-height: 1; }
      #Schedule_area ul dl dt {
        font-size: 3.8rem;
        color: #21cdcf;
        font-weight: lighter !important; }
      #Schedule_area ul dl dd {
        color: #1fada8;
        font-size: 2.4rem;
        font-weight: bold;
        width: 120px;
        height: 40px;
        border: 1px solid #21cdcf;
        border-radius: 100px;
        text-align: center;
        background: #FFF;
        display: flex;
        align-items: center;
        justify-content: center; }
    #Schedule_area ul .img {
      margin-bottom: 45px; }
      #Schedule_area ul .img img {
        width: 100%;
        height: auto; }
    #Schedule_area ul .txt {
      padding: 0 260px 0 100px; }
      #Schedule_area ul .txt h5 {
        font-size: 2.4rem;
        font-weight: bold;
        margin-bottom: 25px; }

@media screen and (max-width: 736px) {
  #Schedule_area {
    margin-bottom: 45px; }
    #Schedule_area .inner {
      padding: 0; }
    #Schedule_area .ttl_style {
      margin-bottom: 40px; }
    #Schedule_area .wrap {
      padding-bottom: 20px; }
      #Schedule_area .wrap:before {
        width: calc(100% - 16.8vw);
        left: 8.4vw; }
      #Schedule_area .wrap:after {
        width: calc(100% - 16.8vw);
        bottom: -5px;
        left: 8.4vw; }
    #Schedule_area ul:before {
      right: 16.7vw;
      right: 55px; }
    #Schedule_area ul > li {
      margin-bottom: 45px; }
      #Schedule_area ul > li:nth-last-child(2) {
        margin-bottom: 45px; }
      #Schedule_area ul > li:last-child {
        margin-bottom: 0; }
        #Schedule_area ul > li:last-child dl {
          margin-bottom: 0; }
    #Schedule_area ul dl {
      padding: 0 5.15vw 0 8.4vw;
      margin-bottom: 20px; }
      #Schedule_area ul dl dt {
        font-size: 1.9rem; }
      #Schedule_area ul dl dd {
        font-size: 1.2rem;
        width: 75px;
        height: 20px; }
    #Schedule_area ul .img {
      margin-bottom: 20px; }
    #Schedule_area ul .txt {
      padding: 0 21.8vw 0 8.4vw; }
      #Schedule_area ul .txt h5 {
        font-size: 1.9rem;
        margin-bottom: 15px;
        line-height: 1.5; } }
/*------------------------------------------------------------
#Info_area
------------------------------------------------------------*/
#Info_area {
  margin-bottom: 160px; }
  #Info_area .wrap > li {
    margin-bottom: 70px; }
    #Info_area .wrap > li:last-child {
      margin-bottom: 0; }
    #Info_area .wrap > li.time dl dt span:before {
      height: 30px;
      background: url("../images/icon_time.png") left top no-repeat;
      background-size: 30px 30px;
      margin-top: -15px; }
    #Info_area .wrap > li.price dl dt span:before {
      height: 30px;
      background: url("../images/icon_money.png") left top no-repeat;
      background-size: 30px 30px;
      margin-top: -15px; }
    #Info_area .wrap > li.bag dl dt span:before {
      height: 27px;
      background: url("../images/icon_bag.png") left top no-repeat;
      background-size: 30px 27px;
      margin-top: -16px; }
    #Info_area .wrap > li.option dl dt span:before {
      height: 30px;
      background: url("../images/icon_plus.png") left top no-repeat;
      background-size: 30px 30px;
      margin-top: -15px; }
    #Info_area .wrap > li dl dt {
      border-bottom: 1px solid #23c3a0;
      padding-bottom: 14px;
      margin-bottom: 20px;
      color: #73635b;
      font-size: 2.4rem;
      font-weight: bold;
      line-height: 1; }
      #Info_area .wrap > li dl dt span {
        position: relative;
        padding-left: 47px; }
        #Info_area .wrap > li dl dt span:before {
          display: block;
          content: '';
          width: 30px;
          position: absolute;
          top: 50%;
          left: 0; }

@media screen and (max-width: 736px) {
  #Info_area {
    margin-bottom: 70px; }
    #Info_area .wrap > li {
      margin-bottom: 40px; }
      #Info_area .wrap > li:last-child {
        margin-bottom: 0; }
      #Info_area .wrap > li.time dl dt span:before {
        height: 15px;
        background: url("../images/icon_time.png") left top no-repeat;
        background-size: 15px 15px;
        margin-top: -7px; }
      #Info_area .wrap > li.price dl dt span:before {
        height: 15px;
        background: url("../images/icon_money.png") left top no-repeat;
        background-size: 15px 15px;
        margin-top: -7px; }
      #Info_area .wrap > li.bag dl dt span:before {
        height: 14px;
        background: url("../images/icon_bag.png") left top no-repeat;
        background-size: 15px 14px;
        margin-top: -7px; }
      #Info_area .wrap > li.option dl dt span:before {
        height: 15px;
        background: url("../images/icon_plus.png") left top no-repeat;
        background-size: 15px 15px;
        margin-top: -7px; }
      #Info_area .wrap > li dl dt {
        padding-bottom: 5px;
        margin-bottom: 15px;
        font-size: 1.5rem; }
        #Info_area .wrap > li dl dt span {
          padding-left: 30px; }
          #Info_area .wrap > li dl dt span:before {
            width: 15px; }
      #Info_area .wrap > li dl dd {
        font-size: 1.2rem;
        padding-left: 30px; } }
/*------------------------------------------------------------
#Other_area
------------------------------------------------------------*/
#Other_area {
  margin-bottom: 140px; }
  #Other_area h4 {
    font-weight: bold;
    font-size: 2.4rem;
    margin-bottom: 40px;
    text-align: center; }
  #Other_area .top_txt {
    text-align: center;
    margin-bottom: 50px; }
    #Other_area .top_txt .small {
      font-size: 1.6rem;
      margin-top: 30px; }
  #Other_area .wrap > li {
    margin-bottom: 85px; }
    #Other_area .wrap > li:last-child {
      margin-bottom: 0; }
    #Other_area .wrap > li:nth-of-type(1) dl dt {
      color: #166791; }
    #Other_area .wrap > li:nth-of-type(2) dl dt {
      color: #c08a17; }
    #Other_area .wrap > li:nth-of-type(3) dl dt {
      color: #3c624f; }
    #Other_area .wrap > li:nth-of-type(4) dl dt {
      color: #a74510; }
    #Other_area .wrap > li dl {
      text-align: center; }
      #Other_area .wrap > li dl dt {
        margin-bottom: 20px;
        font-size: 2.4rem; }
      #Other_area .wrap > li dl dd .img {
        margin-bottom: 20px; }
        #Other_area .wrap > li dl dd .img img {
          width: 100%;
          height: auto; }
      #Other_area .wrap > li dl dd h5 {
        font-weight: bold;
        font-size: 2.4rem; }

@media screen and (max-width: 736px) {
  #Other_area {
    margin-bottom: 70px; }
    #Other_area .inner2 {
      padding: 0; }
    #Other_area h4 {
      font-size: 2.0rem;
      margin-bottom: 15px;
      letter-spacing: -0.05em; }
    #Other_area .top_txt {
      text-align: left;
      margin-bottom: 25px;
      font-size: 1.2rem;
      padding: 0 8.4vw; }
      #Other_area .top_txt .small {
        font-size: 1.2rem;
        margin-top: 0; }
    #Other_area .wrap > li {
      margin-bottom: 55px; }
      #Other_area .wrap > li:last-child {
        margin-bottom: 0; }
      #Other_area .wrap > li dl dt {
        margin-bottom: 15px;
        font-size: 1.9rem; }
      #Other_area .wrap > li dl dd .img {
        margin-bottom: 10px; }
      #Other_area .wrap > li dl dd h5 {
        font-size: 1.9rem; } }
