@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700;800&display=swap");
.clearfix:before,
.clearfix:after,
.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after {
  content: " ";
  display: table;
}

.clearfix:after,
.container:after,
.container-fluid:after,
.row:after {
  clear: both;
}

/*　////////////////////////////////
ブレイクポイント
//////////////////////////////////　*/
/*　////////////////////////////////
ベースフォント
//////////////////////////////////　*/
/*　////////////////////////////////
カラー
//////////////////////////////////　*/
/*　////////////////////////////////
clearfix[@extend .clearfix];
//////////////////////////////////　*/
.clearfix {
  zoom: 1;
}
.clearfix:after {
  display: block;
  content: "";
  clear: both;
}

/*　////////////////////////////////////////////////////////////////////////////////////////////////
flex include
//////////////////////////////////////////////////////////////////////////////////////////////////　*/
/*　////////////////////////////////////////////////////////////////////////////////////////////////
初期値top:50%; left:50%;
[@include set-top();] [@include set-left();]
//////////////////////////////////////////////////////////////////////////////////////////////////　*/
/*縦中央*/
/*横中央*/
/* -----上下左右中央、%指定で調整可能----- */
/*　////////////////////////////////
flex 設定
//////////////////////////////////　*/
/*　////////////////////////////////
三角形
//////////////////////////////////　*/
/*　////////////////////////////////
矢印
//////////////////////////////////　*/
/*　////////////////////////////////////////////////////////////////////////////////////////////////
font-size
//////////////////////////////////////////////////////////////////////////////////////////////////　*/
/*　////////////////////////////////
汎用style
//////////////////////////////////　*/
/*　////////////////////////////////
TOPメイン画像
//////////////////////////////////　*/
.webp .main-visual .main-slider .slider01 {
  background-image: url("/img/webp/mainimg.webp");
}
.webp .main-visual .main-slider .slider02 {
  background-image: url("/img/webp/mainimg.webp");
}
.webp .main-visual .main-slider .slider03 {
  background-image: url("/img/webp/mainimg.webp");
}

.no-webp .main-visual .main-slider .slider01 {
  background-image: url("/img/mainimg.jpg");
}
.no-webp .main-visual .main-slider .slider02 {
  background-image: url("/img/mainimg.jpg");
}
.no-webp .main-visual .main-slider .slider03 {
  background-image: url("/img/mainimg.jpg");
}

.all-wrapper {
  /*　////////////////////////////////////////////////////////////////////////////////////////////////
  top
  //////////////////////////////////////////////////////////////////////////////////////////////////　*/
}
.all-wrapper #top {
  /*----- .main-visual ------------------------------------*/
}
.all-wrapper #top .main-visual {
  max-width: 1200px;
  position: relative;
  margin: 0 auto 50px;
}
.all-wrapper #top .main-visual .slider {
  width: 100%;
  height: 50vh;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.all-wrapper #top .main-visual .txt-area {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.all-wrapper #top .main-visual .txt-area .main-visual-txt {
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 15px 5vw;
  color: #fff;
  font-size: clamp(2rem, 2.2vw, 2.4rem);
  font-weight: bold;
  text-align: center;
}
.all-wrapper #top .main-visual .txt-area .main-visual-txt span {
  font-size: 1.6rem;
  display: block;
}
@media (min-width: 768px) {
  .all-wrapper #top .main-visual {
    margin-bottom: 100px;
  }
  .all-wrapper #top .main-visual .slider {
    height: 600px;
  }
}
.all-wrapper #top .title-s {
  font-size: clamp(1.8rem, 1.9vw, 2rem);
  font-weight: bold;
  margin-bottom: 15px;
  text-align: center;
}
@media (min-width: 768px) {
  .all-wrapper #top .title-s {
    text-align: left;
  }
}
@media (min-width: 768px) {
  .all-wrapper #top .f-wrap-02 .left-box {
    width: 38%;
  }
  .all-wrapper #top .f-wrap-02 .right-box {
    width: 58%;
    margin-bottom: 0px;
  }
}
.all-wrapper #top {
  /*----- .section01 ------------------------------------*/
}
.all-wrapper #top .section01 {
  max-width: 800px;
  margin: 0 auto;
}
.all-wrapper #top .section01 .title-s {
  text-align: center;
}
.all-wrapper #top {
  /*----- .section02 ------------------------------------*/
}
.all-wrapper #top .section02 .f-wrap-02 {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 40px;
}
.all-wrapper #top .section02 .f-wrap-02 .right-box {
  margin-bottom: 20px;
}
.all-wrapper #top .section02 .f-wrap-02 .right-box img {
  display: block;
  margin: 0 auto;
  max-width: 380px;
}
.all-wrapper #top {
  /*----- .section03 ------------------------------------*/
}
.all-wrapper #top section.mb {
  margin-bottom: 0px;
}
.all-wrapper #top .section03 {
  width: 100%;
  background-image: url("/img/hakodate.jpg");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100% auto;
  padding-bottom: 160px;
}
@media (min-width: 768px) {
  .all-wrapper #top .section03 {
    padding-bottom: 260px;
  }
}
.all-wrapper #top .section03 .container {
  position: relative;
  z-index: 3;
}
.all-wrapper #top .section03 .company {
  max-width: 800px;
  margin: 0 auto;
}
.all-wrapper #top .section03 .table-style {
  margin-bottom: 50px;
}
.all-wrapper #top .section03 .bg-image {
  width: 100%;
  margin-top: auto;
}
.all-wrapper #top .section03 .bg-image img {
  display: block;
  width: 100%;
  height: auto;
  z-index: -1;
}
@media (min-width: 768px) {
  .all-wrapper #top .section03 .table-style {
    margin-bottom: 100px;
  }
}
.all-wrapper #top {
  /*----- .info-area ------------------------------------*/
}
.all-wrapper #top .info-area .info-title {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: center;
  font-size: clamp(2.2rem, 3.1vw, 4rem);
  font-weight: 100;
  line-height: 1.4;
  margin-bottom: 40px;
}
.all-wrapper #top .info-area .info_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.all-wrapper #top .info-area .info_list li {
  width: 100%;
  margin: 0 0 25px;
}
.all-wrapper #top .info-area .info_list li .thumb {
  display: block;
  height: 200px;
  width: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.all-wrapper #top .info-area .info_list li .txt-area {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 7px 10px;
}
.all-wrapper #top .info-area .info_list li .day {
  font-size: 1.5rem;
  font-weight: 600;
  display: block;
  margin-top: 5px;
}
.all-wrapper #top .info-area .info_list li .title {
  font-weight: 500;
  font-size: 1.5rem;
}
@media (min-width: 480px) {
  .all-wrapper #top .info-area .info_list {
    gap: 4%;
  }
  .all-wrapper #top .info-area .info_list li {
    width: 48%;
  }
}
@media (min-width: 768px) {
  .all-wrapper #top .info-area .info-title {
    margin-bottom: 60px;
  }
  .all-wrapper #top .info-area .info_list {
    gap: 5%;
  }
  .all-wrapper #top .info-area .info_list li {
    width: 30%;
  }
}
.all-wrapper {
  /* ---------- top --------------- */
}