@charset "UTF-8";
/*　////////////////////////////////
ブレイクポイント
//////////////////////////////////　*/
/*　////////////////////////////////
ベースフォント
//////////////////////////////////　*/
/*　////////////////////////////////
カラー
//////////////////////////////////　*/
/*　////////////////////////////////
clearfix[@extend .clearfix];
//////////////////////////////////　*/
/*　////////////////////////////////////////////////////////////////////////////////////////////////
flex include
//////////////////////////////////////////////////////////////////////////////////////////////////　*/
/*　////////////////////////////////////////////////////////////////////////////////////////////////
初期値top:50%; left:50%;
[@include set-top();] [@include set-left();]
//////////////////////////////////////////////////////////////////////////////////////////////////　*/
/*縦中央*/
/*横中央*/
/* -----上下左右中央、%指定で調整可能----- */
/*　////////////////////////////////
flex 設定
//////////////////////////////////　*/
/*　////////////////////////////////////////////////////////////////////////////////////////////////
font-size
//////////////////////////////////////////////////////////////////////////////////////////////////　*/
/*　////////////////////////////////
汎用style
//////////////////////////////////　*/
/*　////////////////////////////////
TOPメイン画像
//////////////////////////////////　*/
.all-wrapper {
  /*　////////////////////////////////////////////////////////////////////////////////////////////////
  top
  //////////////////////////////////////////////////////////////////////////////////////////////////　*/
}
.all-wrapper #top {
  /*----- .top-first ------------------------------------*/
}
.all-wrapper #top .top-first {
  margin-top: clamp(40px, 21.8181818182px + 4.8484848485vw, 80px);
}
.all-wrapper #top .top-first .top-first-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: clamp(35px, 23.6363636364px + 3.0303030303vw, 60px);
}
.all-wrapper #top .top-first .top-first-title .top-first-logo {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  width: clamp(50px, 36.3636363636px + 3.6363636364vw, 80px);
  margin-bottom: clamp(25px, 13.6363636364px + 3.0303030303vw, 50px);
}
.all-wrapper #top .top-first .top-first-title .title-inner {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  font-size: clamp(3rem, 8.0487804878px + 5.8536585366vw, 9rem);
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
  line-height: 1.3;
}
.all-wrapper #top .top-first .top-first-subtitle {
  font-size: clamp(2.1rem, 14.7804878049px + 1.6585365854vw, 3.8rem);
  text-align: center;
  margin-bottom: clamp(30px, 20.9090909091px + 2.4242424242vw, 50px);
  line-height: 1.5;
}
.all-wrapper #top .top-first .top-first-subtitle span {
  color: #e50012;
}
.all-wrapper #top .top-first .top-first-txt {
  text-align: center;
  font-size: clamp(1.7rem, 14.4390243902px + 0.6829268293vw, 2.4rem);
}
.all-wrapper #top .top-first .first-img {
  margin-top: clamp(60px, 23.6363636364px + 9.696969697vw, 140px);
}
.all-wrapper #top {
  /*----- .top-policy ------------------------------------*/
}
.all-wrapper #top .top-policy {
  padding-bottom: clamp(100px, -90.9090909091px + 50.9090909091vw, 520px);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
}
.all-wrapper #top .top-policy .policy-main-title {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: clamp(35px, 19.0909090909px + 4.2424242424vw, 70px) clamp(15px, 8.1818181818px + 1.8181818182vw, 30px);
  background: #e50012;
  text-align: center;
  position: relative;
  margin-bottom: clamp(50px, 27.2727272727px + 6.0606060606vw, 100px);
}
.all-wrapper #top .top-policy .policy-main-title::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 25%;
  background: #FFFFFF;
  background: -webkit-gradient(linear, left top, left bottom, from(#550108), to(transparent));
  background: linear-gradient(to bottom, #550108, transparent);
  opacity: 0.55;
}
.all-wrapper #top .top-policy .policy-main-title span {
  position: relative;
  z-index: 2;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
  font-size: clamp(2.7rem, 18.2195121951px + 2.3414634146vw, 5.1rem);
  line-height: 1;
  letter-spacing: 0.2em;
  text-shadow: 0px 0px 5px rgba(35, 24, 21, 0.8);
}
.all-wrapper #top .top-policy .policy-box {
  margin-bottom: clamp(40px, 21.8181818182px + 4.8484848485vw, 80px);
  /*&:not(:last-child){
  	margin-bottom: size(40, 80);
  	padding-bottom: size(40, 80);
  	border-bottom: 1px solid #002300;
  }*/
}
.all-wrapper #top .top-policy .policy-box .policy-icon {
  width: clamp(120px, 74.5454545455px + 12.1212121212vw, 220px);
  height: auto;
  display: block;
  margin: 0 auto clamp(20px, 15.4545454545px + 1.2121212121vw, 30px);
}
.all-wrapper #top .top-policy .policy-box .policy-title {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
  font-size: clamp(2.1rem, 6px + 4vw, 6.2rem);
  line-height: 1.3;
  margin-bottom: clamp(20px, 15.4545454545px + 1.2121212121vw, 30px);
  text-align: center;
}
.all-wrapper #top .top-policy .policy-box .policy-txt {
  max-width: 870px;
  margin: 0 auto;
}
.all-wrapper #top .top-policy .policy-box .wrench-border {
  margin-top: clamp(40px, 21.8181818182px + 4.8484848485vw, 80px);
}
.all-wrapper #top .top-policy .works-bnr {
  max-width: 1150px;
  margin: clamp(60px, 32.7272727273px + 7.2727272727vw, 120px) auto 0;
  display: block;
}
.all-wrapper #top .top-policy .hakodate-bg {
  position: absolute;
  z-index: -1;
  width: 100%;
  bottom: 0;
  left: 0;
}
.all-wrapper {
  /* ---------- top --------------- */
}