@charset "UTF-8";
.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
  //////////////////////////////////////////////////////////////////////////////////////////////////　*/
  /* ---------- top --------------- */
}
.all-wrapper #top {
  /*----- .main-visual ------------------------------------*/
  /*----- .section01 ------------------------------------*/
  /*----- .bg-area ------------------------------------*/
  /*----- .section02 ------------------------------------*/
  /*----- .section03 ------------------------------------*/
  /*----- .info-area ------------------------------------*/
}
.all-wrapper #top .main-visual {
  position: relative;
  margin-bottom: 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;
  background: rgba(50, 50, 50, 0.63);
  color: #fff;
  font-size: clamp(2rem, 2.2vw, 2.4rem);
  font-weight: bold;
  text-align: center;
}
@media (min-width: 768px) {
  .all-wrapper #top .main-visual {
    margin-bottom: 100px;
  }
  .all-wrapper #top .main-visual .slider {
    height: 600px;
  }
}
.all-wrapper #top .section01 .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;
}
.all-wrapper #top .section01 .f-wrap-02 .right-box {
  margin-bottom: 20px;
}
.all-wrapper #top .section01 .f-wrap-02 .title-s {
  font-size: clamp(1.8rem, 1.9vw, 2rem);
  font-weight: bold;
  margin-bottom: 15px;
}
@media (min-width: 768px) {
  .all-wrapper #top .section01 .f-wrap-02 .left-box {
    width: 38%;
  }
  .all-wrapper #top .section01 .f-wrap-02 .right-box {
    width: 58%;
    margin-bottom: 0px;
  }
}
.all-wrapper #top .bg-area {
  background: #FFFBF7;
  padding: 50px 0;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  position: relative;
  margin-bottom: 60px;
}
.all-wrapper #top .bg-area::after {
  content: "";
  position: absolute;
  background-image: url("/img/bg_illust.svg");
  background-position: left;
  background-repeat: repeat-x;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 70px;
}
@media (min-width: 768px) {
  .all-wrapper #top .bg-area {
    padding: 100px 0;
    margin-bottom: 120px;
  }
}
.all-wrapper #top .section02 .main-txt {
  margin-bottom: 50px;
}
.all-wrapper #top .section02 .business-box {
  margin-bottom: 40px;
}
.all-wrapper #top .section02 .business-box .business-title {
  font-size: clamp(2rem, 2.2vw, 2.4rem);
  margin-bottom: 20px;
  text-align: center;
}
.all-wrapper #top .section02 .business-box .title-s {
  margin: 15px 0;
  text-align: center;
}
@media (min-width: 768px) {
  .all-wrapper #top .section02 .main-txt {
    margin-bottom: 100px;
  }
  .all-wrapper #top .section02 .business-box {
    margin-bottom: 80px;
  }
  .all-wrapper #top .section02 .business-box .business-title {
    margin-bottom: 30px;
  }
}
.all-wrapper #top .section03 .table-style {
  margin-bottom: 50px;
}
.all-wrapper #top .section03 .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;
  max-width: 1200px;
  margin: 0 auto;
}
.all-wrapper #top .section03 .f-wrap-02 .right-box {
  margin-bottom: 20px;
}
.all-wrapper #top .section03 .f-wrap-02 .right-box img {
  display: block;
  margin: 0 auto;
  max-width: 380px;
}
.all-wrapper #top .section03 .president {
  text-align: right;
}
@media (min-width: 768px) {
  .all-wrapper #top .section03 .table-style {
    margin-bottom: 100px;
  }
  .all-wrapper #top .section03 .f-wrap-02 .left-box {
    width: 66%;
  }
  .all-wrapper #top .section03 .f-wrap-02 .right-box {
    width: 30%;
    margin-bottom: 0px;
  }
}
.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%;
  }
}