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

a.btn{
  display: block;
  border-radius: 5px;
  color:#fff !important;
  font-size: 18px;
  text-align: center;
  text-decoration: none;
  padding: 10px;
  font-weight: 500;
}
a.btn_blue{
  background-color: #1795ff;
}
a.btn_orange1{
  background-color: #df440b;
}
a.btn_orange2{
  background-color: #d96919;
}
a.btn_orange3{
  background-color: #ff9f19;
}

.img_asolute01,
.img_asolute02,
.img_asolute03,
.img_asolute04,
.img_asolute05,
.img_asolute06,
.img_asolute07,
.img_asolute08,
.img_asolute09{
  position: absolute;
  z-index: 1;
}
.img_asolute01{
  width: 223px;
  height: 190px;
  top:30px;
  left:-50px;
}
.img_asolute02{
  width: 321px;
  height: 183px;
  top:-20px;
  right:-150px;
}
.img_asolute03{
  width: 185px;
  height: 67px;
  bottom:130px;
  left:30px;
}
.img_asolute04{
  width: 90px;
  height: 72px;
  bottom:270px;
  right:20px;
}
.img_asolute05{
  width: 97px;
  height: 77px;
  top:50px;
  left:50px;
}
.img_asolute06{
  width: 123px;
  height: 117px;
  top:120px;
  left:0;
}
.img_asolute07{
  width: 97px;
  height: 82px;
  top:60px;
  right:60px;
}
.img_asolute08{
  width: 106px;
  height: 110px;
  top:25px;
  left:60px;
}
.img_asolute09{
  width: 115px;
  height: 107px;
  top:80px;
  right:20px;
}

#maincontents section {
  font-size: 16px;
  font-family: 'Noto Sans JP', sans-serif;
}
#maincontents h2{
  position: relative;
  display: inline-block;
  text-align: center;
  font-size:40px;
  font-weight: 700;
  font-family: 'Zen Maru Gothic', sans-serif;
  color:#da6919;
  padding-bottom: 15px;
}
#maincontents h2.h2m{
  font-size:30px;
}
#maincontents h2 span{
  font-size:60px;
}
#maincontents h2:before{
  position: absolute;
  content:"";
  top:-5px;
  right:-25px;
  width:28px;
  height: 28px;
  background: url("../images/tokachi/h2_before.svg") no-repeat left center/cover;
}
#maincontents h2:after{
  position: absolute;
  content:"";
  bottom:0;
  left:50%;
  transform: translateX(-50%);
  width:300px;
  height: 10px;
  background: url("../images/tokachi/h2_after.svg") no-repeat left center/contain;
}

#maincontents h3.caption{
  font-size:25px;
  color:#555;
  margin: 20px;
  font-weight: 700;
}
#maincontents{
  text-align: center;
}
#maincontents .main_view{
  width: 100%;
  background: url("../images/tokachi/mv_bg.jpg") no-repeat bottom center/cover;
  text-align: center;
}
#maincontents .main_view .container{
  padding-top: 50px;
  height: 628px;
}
#maincontents .main_view img.main_img{
  width: 400px;
}
  
#maincontents .container{
  position: relative;
  max-width: 1040px;
  margin: 0 auto;
  padding: 0 20px;

}

#maincontents .centent01{
  position: relative;
  background: #e3f5f2 url("../images/tokachi/content01_bg.png") no-repeat bottom center/contain;
  padding-bottom: 220px;
}
#maincontents .centent01 .container{
  position: relative;
  top:-60px;
  padding: 30px 20px 20px;
  background: -moz-linear-gradient(top, rgba(226, 244, 241, 1) 50%, rgba(226, 244, 241, 0) 50%);
  background: -webkit-linear-gradient(top, rgba(226, 244, 241, 1) 50%, rgba(226, 244, 241, 0) 50%);
  background: linear-gradient(to bottom, rgba(226, 244, 241, 1) 50%, rgba(226, 244, 241, 0) 50%);
}
#maincontents .centent01 .container h2:before{
  top:0;
  right:-20px;
}
  
#maincontents .centent02{
  position: relative;
  background: #ecebda url("../images/tokachi/content02_bg.png") no-repeat bottom center/contain;
  padding-bottom: 180px;
}
#maincontents .centent02 .container{
  position: relative;
  padding: 60px 20px 20px;
  background: -moz-linear-gradient(top, rgba(236, 235, 218, 1) 50%, rgba(236, 235, 218, 0) 50%);
  background: -webkit-linear-gradient(top, rgba(236, 235, 218, 1) 50%, rgba(236, 235, 218, 0) 50%);
  background: linear-gradient(to bottom, rgba(236, 235, 218, 1) 50%, rgba(236, 235, 218, 0) 50%);
}
#maincontents .centent02 .container h2 small{
  font-size:60%;
}
#maincontents .centent02 .container h2.h2m{
  margin-top: 40px;
  line-height: 2.0;
}
#maincontents .centent02 .container h4{
  color:#003777;
  font-size:18px;
  font-weight: 500;
}
#maincontents .centent02 .container h4 strong{
  font-size:20px;
  font-weight: 700;
}
#maincontents .centent02 .container iframe{
  margin-top: 30px;
}
#maincontents .centent02 .container .txt01 strong{
  color:#003777;
  font-size:20px;
  font-weight: 600;
}


#maincontents .centent03{
  position: relative;
  background: #e3f5f2 url("../images/tokachi/content03_bg.png") no-repeat bottom center/contain;
  padding-bottom: 140px;
}
#maincontents .centent03 .container{
  padding: 60px 20px 20px;
}
#maincontents .centent03 h3.caption{
  color:#d96919;
  font-size:26px;
  text-align: center;
  margin-top: 50px;
}
#maincontents .centent03 h3.blue{
  color:#003777;
  text-align: center;
  margin-top: 130px;
}


#maincontents .centent04{
  background: #fff;
}
#maincontents .centent04 .container{
  padding: 60px 20px;
}


.plan_list,
.ticket_list{
  display: flex;
  justify-content: space-between;
  gap:40px;
  margin-top: 60px;
  align-items: flex-start;
}
.plan_list_box,
.ticket_list_box{
  width: 50%;
  background-color: #fff;
  border-radius: 5px;
}
.ticket_list_box{
  background: none;
}
.plan_list_box img,
.plan_list_box iframe{
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}
.plan_list_box .plan_list_txt,
.ticket_list_box .ticket_list_txt{
  padding: 20px 20px 50px;
}
.plan_list_box .plan_list_txt h4{
  color:#d96919;
  font-size:22px;
  font-weight: 700;
}
.plan_list_box .plan_list_txt .txt01,
.ticket_list_box .ticket_list_txt .txt01{
  margin-top: 30px;
  text-align: left;
  font-size:15px;
  line-height: 2.0;
}
.ticket_list_box .ticket_list_txt .txt02{
  position: relative;
  color:#003777;
  font-weight: 500;
  text-align: left;
  line-height: 2.0;
}
.ticket_list_box .ticket_list_txt .txt02 li{
  position: relative;
  padding-left: 20px;
  line-height: 1.6;
  margin-top: 10px;
}
.ticket_list_box .ticket_list_txt .txt02 li::before{
  position: absolute;
  left:0;
}
.ticket_list_box .ticket_list_txt .txt02 li:nth-child(1)::before{
  content:"①";
}
.ticket_list_box .ticket_list_txt .txt02 li:nth-child(2)::before{
  content:"②";
}
.ticket_list_box .ticket_list_txt .txt02 li:nth-child(3)::before{
  content:"③";
}
.ticket_list_box .ticket_list_txt .txt02 li:nth-child(4)::before{
  content:"④";
}
.ticket_list_box .ticket_list_txt .txt01{
  margin-top: 10px;
}
.ticket_list_box .ticket_list_txt .txt01 a,
.ticket_list_box .ticket_list_txt .txt01 a:hover{
  text-decoration: underline !important;
  color: #0376ff !important;
  cursor: pointer;
}
.plan_list_box .plan_list_txt .plan_info{
  margin-top: 30px;
}
.plan_list_box .plan_list_txt dl{
  padding: 15px 0;
  border-top:1px solid #80bcd9;
  text-align: left;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap:10px;
  font-size:15px;
  line-height: 2.0;
}
.plan_list_box .plan_list_txt dl dt{
  width: 30%;
  color: #003777;
  font-weight: 500;
}
.plan_list_box .plan_list_txt dl dd{
  width: 70%;
}
.plan_list_box .plan_list_txt dl dd strong{
  font-size:18px;
  color:#d96919;
  font-weight: 600;
  padding-left: 5px;
}
.plan_list_box .plan_list_txt a.btn_blue{
  margin-top: 30px;
}


.eticket{
  display: block;
  max-width: 420px;
  margin: 30px auto;
}


.ticket_list_box_inner{
  background-color: #fff;
  border-radius: 5px;
  margin-top: 30px;
}
.ticket_list_box_inner img{
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}  
  
  
.facility{
  background-color: #fff;
  border-radius: 5px;
  padding-bottom: 40px;
  margin-top: 60px;
}
.facility.first{
  margin-top: 20px;
}
.facility_box{
  display: flex;
  padding: 40px 20px 20px;
}
.facility_box .facility_img,
.facility_box .point_box{
  width: 50%;
  text-align: center;
}
.facility_box .point_box{
  padding: 0 40px 0 60px;
}
.facility_box .point_box .point_osusume,
.facility_box .point_box .point_title{
  font-size:18px;
  color:#d96919;
  font-weight: 600;
}
.facility_box .point_box .point_osusume{
  position: relative;
  display: inline-block;
}
.facility_box .point_box .point_osusume::before,
.facility_box .point_box .point_osusume::after{
  position: absolute;
  content:"";
  width: 2px;
  height: 22px;
  bottom: 0;
  left:-20px;
  background-color: #d96919;
  transform: rotate(-30deg);
}
.facility_box .point_box .point_osusume::after{
  left:auto;
  right: -20px;
  transform: rotate(30deg);
}
.facility_box .point_box .point_title{
  margin-top: 10px;
}
.facility_box .point_box .txt01{
  font-size: 14px;
  margin-top: 5px;
  text-align: left;
  line-height: 1.7;
}
.facility_box .point_box img,
.facility_box .point_box iframe{
  margin-top: 17px;
}
.facility h4{
  background-color: #d96919;
  font-size:24px;
  font-weight: 700;
  color:#fff;
  text-align: center;
  padding: 15px;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}
.facility dl{
  text-align: left;
  display: flex;
  padding: 0 20px;
  margin-top: 20px;
}
.facility dl dt{
  color: #003777;
  font-weight: 600;
  font-size:18px;
  padding-right: 30px;
}
.btn_box{
  display: flex;
  justify-content: center;
  gap:25px;
  padding: 20px;
  margin-top: 30px;
}
.btn_box a{
  width:32%;
}

.banner img{
  margin-top: 20px;
}



.mt30{
  margin-top: 30px !important;
} 

.pc{
  display: block;
}
.sp{
  display: none;
}


@media screen and (max-width:768px) {
  
  .img_asolute01,
  .img_asolute02,
  .img_asolute05,
  .img_asolute06,
  .img_asolute07,
  .img_asolute08,
  .img_asolute09{
    display: none;
  }
  .img_asolute03{
    bottom:150px;
  }
  .img_asolute04{
    bottom:100px;
  }

  .plan_list_box .plan_list_txt h4{
    font-size:18px;
  }
  .facility h4 {
    font-size: 18px;
  }
  .plan_list,
  .ticket_list,
  .plan_list_box .plan_list_txt dl,
  .facility dl,
  .facility_box,
  .facility dl,
  .btn_box{
    flex-flow: column;
  }
  .plan_list_box,
  .ticket_list_box,
  .facility_box .facility_img,
  .facility_box .point_box,
  .plan_list_box .plan_list_txt dl dt,
  .plan_list_box .plan_list_txt dl dd{
    width: 100%;
  }
  .plan_list_box .plan_list_txt dl dt{
    text-align: center;
  }
  .btn_box {
    gap: 15px;
  }
  .btn_box a{
    width:100%;
  }
  
  .facility {
    padding-bottom: 20px;
    margin-top: 40px;
  }
  .facility_box .point_box{
    padding: 20px;
  }
  
  #maincontents h2 {
    font-size: 30px;
  }
  #maincontents h2.h2m{
    font-size:25px;
  }
  #maincontents h2 span{
    font-size:40px;
  }
  #maincontents .centent01 {
    padding-bottom: 60px;
  }
  #maincontents .centent02 {
    padding-bottom: 100px;
  }
  #maincontents .centent03 h3.caption {
    font-size: 22px;
  }
  #maincontents h3.caption {
    font-size: 20px;
  }
  #maincontents h2:before{
    top:-8px;
    right:-30px;
    width:28px;
    height: 28px;
  }
  
  .ticket_list_box .ticket_list_txt .txt02{
    font-size:15px;
  }
  
  .sp{
    display: block;
  }
  .pc{
    display: none;
  }
}
