@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
//////////////////////////////////　*/
.all-wrapper {
  /*パンくず*/
  /*　////////////////////////////////
  lower_header
  //////////////////////////////////　*/
}
.all-wrapper .breadcrumb-wrap {
  margin: 0 0 30px;
  padding: 10px 0;
}
@media (min-width: 768px) {
  .all-wrapper .breadcrumb-wrap {
    margin: 0 0 45px;
  }
}
.all-wrapper .breadcrumb-wrap .breadcrumb li {
  display: inline;
  list-style: none;
  font-size: 1.4rem;
  line-height: 1;
  color: #0c081c;
}
.all-wrapper .breadcrumb-wrap .breadcrumb li a {
  text-decoration: none;
  color: #0c081c;
}
.all-wrapper .breadcrumb-wrap .breadcrumb li a:hover {
  text-decoration: underline;
}
.all-wrapper .breadcrumb-wrap .breadcrumb li:after {
  content: "＞";
  padding: 0 3px;
}
.all-wrapper .breadcrumb-wrap .breadcrumb li:last-child:after {
  content: "";
}
.all-wrapper .lower_header .lower_title_wrap {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 100%;
  height: 270px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.all-wrapper .lower_header .lower_title_wrap .title_inner {
  background: rgba(23, 85, 160, 0.9);
  color: #fff;
  border-radius: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 15px 10px;
  width: clamp(290px, 70vw, 690px);
}
.all-wrapper .lower_header .lower_title_wrap .lower_title {
  text-align: center;
}
.all-wrapper .lower_header .lower_title_wrap .lower_title .jp {
  display: inline-block;
  line-height: 1;
  margin-bottom: 15px;
  padding-bottom: 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: clamp(3rem, 4.88vw, 4.4rem);
  font-weight: 500;
  position: relative;
  box-sizing: border-box;
}
.all-wrapper .lower_header .lower_title_wrap .lower_title .jp::after {
  content: "";
  position: absolute;
  height: 2px;
  width: clamp(120px, 30vw, 150px);
  background: #fff;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: 0;
}
.all-wrapper .lower_header .lower_title_wrap .lower_title .en {
  display: block;
  line-height: 1;
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: clamp(2.4rem, 3.54vw, 3rem);
  font-weight: normal;
}
@media (min-width: 768px) {
  .all-wrapper .lower_header .lower_title_wrap {
    height: 360px;
  }
  .all-wrapper .lower_header .lower_title_wrap .title_inner {
    padding: 32px 10px;
  }
}
@media (min-width: 987px) {
  .all-wrapper .lower_header .lower_title_wrap {
    height: 460px;
  }
}

/* all-wrapper */
/*　////////////////////////////////
メイン画像
//////////////////////////////////　*/
.webp .lower_title_wrap {
  background-image: url("/img/webp/lower_main_guide.webp");
}

.no-webp .lower_title_wrap {
  background-image: url("/img/lower_main_guide.jpg");
}

/*　////////////////////////////
flow_wrap
//////////////////////////////////////////////////////////　*/
.flow_box {
  position: relative;
  width: calc(100% - 20px);
  padding-left: 20px;
  padding-top: 30px;
}
.flow_box:not(:last-child) {
  padding-bottom: 60px;
  margin-bottom: 20px;
}
.flow_box:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: 0;
  width: 60px;
  height: 32px;
  background: #1755a0;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.flow_box .step {
  position: absolute;
  top: 0px;
  left: 0px;
}
.flow_box .step .step_inner {
  display: block;
  border: 2px solid #1755a0;
  color: #1755a0;
  background: #fff;
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: clamp(3rem, 4.46vw, 3.8rem);
  line-height: 1;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 5px;
  text-align: center;
  width: clamp(150px, 40vw, 190px);
  position: relative;
}
.flow_box .step .step_inner::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: #1755a0;
  right: -7px;
  bottom: -7px;
  z-index: -1;
}
.flow_box .flow_inner {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 2px solid #1755a0;
  padding: 30px 15px 25px;
  -webkit-box-shadow: 3px 3px 10px -5px #bababa;
          box-shadow: 3px 3px 10px -5px #bababa;
}

@media (min-width: 768px) {
  .flow_box .flow_inner {
    padding: 45px 25px 25px;
  }
}