@charset "UTF-8";
/*
data-sc-sp
data-sc-pc
data-sc-onlyPc
data-sc-tab
data-sc-pcMin
*/
/*
	@include hover() {
		opacity: 0.6;
	}
*/
/*
	$line:イラレの行の値
	$size:イラレの文字の値

	@include lh(38, 15);
*/
/*
	$size:object-fitの値

	@include objectfit();
	@include objectfit('contain');
*/
/*
	@include taJ();
*/
/*
	@extend %rightarr;
*/
/*
	$weight:フォントの太さ
	@include f_min();
	@include f_min(400);Reguler
	@include f_min(600);SemiBold
*/
/*
* "はんなり明朝" licensed under the IPA Font License Agreement v1.0
* https://typingart.net/?p=44（配布元のURL）
* http://ipafont.ipa.go.jp/（IPAフォントのURL）
* http://ipafont.ipa.go.jp/ipa_font_license_v1.html（IPAフォントライセンスv1.0のURL）
*/
@font-face {
  font-family: "hannari";
  src: url("/common/font/hannari.woff2") format("woff2"), url("/common/font/hannari.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
/*
	$weight:フォントの太さ

	@include f_min();
	@include f_min(500);
	@include f_min(600);
*/
/*
	$color:色指定
	$stripe:線サイズ
	$spacing:線の空きサイズ
	$height:太さ

	@include dotted(#e6e1d2, 4,4,2);
*/
/*
example
@include dotted-y(#COLOR, WidthPX,SpaceingPX,LengthPX,); 横破線
@include dotted-y(#e6e1d2, 4,4,2,10);
*/
/* -----------------------------------------------------------------------------

common local

----------------------------------------------------------------------------- */
.mainVisual .contTit::before {
  background-image: url(../img/flow/mv_title_bg.svg);
}
.mainVisual .contTit::after {
  background-image: url(../img/flow/mv_title_deco.svg);
}

/* -----------------------------------------------------------------------------

content（rem値修正）

----------------------------------------------------------------------------- */
.sec_flow > .in {
  padding: 1.1rem 0 1.6rem;
}
@media screen and (max-width: 640px) {
  .sec_flow > .in {
    padding: 0.8rem 0;
  }
}
.sec_flow .deco {
  position: absolute;
  z-index: 1;
  display: block;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none;
}
.sec_flow .deco.deco01 {
  top: -0.53rem;
  right: calc(50% - 4.5rem);
  width: 1.22rem;
  height: 1.14rem;
  background-image: url("../img/flow/flow_deco01.png");
}
@media screen and (max-width: 640px) {
  .sec_flow .deco.deco01 {
    top: -0.43rem;
    right: 0;
    width: 0.79rem;
    height: 0.74rem;
  }
}
.sec_flow .deco.deco02 {
  top: 0.74rem;
  left: calc(50% - 2.89rem);
  width: 1.19rem;
  height: 0.97rem;
  background-image: url("../img/flow/flow_deco02.png");
}
@media screen and (max-width: 640px) {
  .sec_flow .deco.deco02 {
    top: -0.16rem;
    left: auto;
    right: 0;
    width: 0.74rem;
    height: 0.6rem;
  }
}
.sec_flow .deco.deco03 {
  top: -0.5rem;
  right: calc(50% - 4.08rem);
  width: 1.19rem;
  height: 1.3rem;
  background-image: url("../img/flow/flow_deco03.png");
}
@media screen and (max-width: 640px) {
  .sec_flow .deco.deco03 {
    top: -0.21rem;
    right: 0;
    width: 0.61rem;
    height: 0.66rem;
  }
}
.sec_flow .deco.deco04 {
  bottom: -0.3rem;
  right: calc(50% - 4.09rem);
  width: 1.04rem;
  height: 0.86rem;
  background-image: url("../img/flow/flow_deco04.png");
}
@media screen and (max-width: 640px) {
  .sec_flow .deco.deco04 {
    top: -0.39rem;
    bottom: auto;
    right: 0.05rem;
    width: 0.61rem;
    height: 0.52rem;
  }
}
.sec_flow .intro {
  margin-top: 0.33rem;
}
@media screen and (max-width: 640px) {
  .sec_flow .intro {
    margin-top: 0.24rem;
  }
}
.sec_flow .intro .txt {
  font-family: source-han-serif-japanese, serif;
  font-style: normal;
  font-weight: 400;
  text-align: center;
  font-size: 0.16rem;
}
@media screen and (max-width: 640px) {
  .sec_flow .intro .txt {
    font-feature-settings: "palt";
  }
}
@media screen and (max-width: 640px) {
  .sec_flow .intro .txt {
    font-size: 0.16rem;
  }
}
.sec_flow .flowBox {
  margin: 0 auto;
  padding: 0.62rem 0.85rem 0.1rem 0.84rem;
  width: 100%;
  max-width: 10rem;
  background-color: #E9EDEF;
  border-radius: 0.18rem;
  box-sizing: border-box;
}
@media screen and (max-width: 640px) {
  .sec_flow .flowBox {
    margin: 0 auto;
    padding: 0.25rem 0.25rem 0;
    width: calc(100% - 0.6rem);
    max-width: 100%;
  }
}
.sec_flow .flowBox > .title {
  text-align: center;
  font-family: "hannari";
  font-weight: 400;
  font-size: 0.3rem;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 640px) {
  .sec_flow .flowBox > .title {
    font-size: 0.25rem;
  }
}
.sec_flow .flowBox > .title span {
  position: relative;
  display: inline-block;
}
.sec_flow .flowBox > .title span::before {
  content: "";
  position: absolute;
  top: calc(50% + 0.35rem);
  display: block;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 0.27rem;
  height: 0.06rem;
  background-image: url(../img/flow/flow_title_deco_dot.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
@media screen and (max-width: 640px) {
  .sec_flow .flowBox > .title span::before {
    top: calc(50% + 0.29rem);
    width: 0.17rem;
    height: 0.04rem;
  }
}
.sec_flow .flowBox + .flowBox {
  margin-top: 0.55rem;
}
@media screen and (max-width: 640px) {
  .sec_flow .flowBox + .flowBox {
    margin-top: 0.28rem;
  }
}
@media screen and (max-width: 640px) {
  .sec_flow .flowBox:last-of-type {
    padding-bottom: 0.25rem;
  }
}
.sec_flow .flowBox.flow01 {
  margin-top: 0.4rem;
}
@media screen and (max-width: 640px) {
  .sec_flow .flowBox.flow01 {
    margin-top: 0.4rem;
  }
}
.sec_flow .flowBox .flowItem {
  margin-top: 0.15rem;
}
@media screen and (max-width: 640px) {
  .sec_flow .flowBox .flowItem {
    margin-top: 0.15rem;
  }
}
.sec_flow .flowBox .contact {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0 auto;
  padding-bottom: 0.48rem;
  width: 5.33rem;
  height: 1.96rem;
  background-image: url(../img/flow/flow_contact_bg.svg);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: contain;
}
@media screen and (max-width: 640px) {
  .sec_flow .flowBox .contact {
    margin-top: -0.26rem;
    margin-left: 0.12rem;
    padding-bottom: 0.2rem;
    height: 35.76vw;
    width: calc(100% - 0.36rem);
    background-image: url(../img/flow/flow_contact_bg_sp.svg);
  }
}
.sec_flow .flowBox .contact .catch {
  margin-top: 0.05rem;
  text-align: center;
  font-weight: 600;
  font-size: 0.2rem;
  letter-spacing: 0.11em;
}
@media screen and (max-width: 640px) {
  .sec_flow .flowBox .contact .catch {
    margin-top: 0.05rem;
    font-size: 0.14rem;
    letter-spacing: 0;
  }
}
.sec_flow .flowBox .contact .link {
  margin-top: 0.21rem;
}
@media screen and (max-width: 640px) {
  .sec_flow .flowBox .contact .link {
    margin-top: 0.08rem;
  }
}
.sec_flow .flowBox .contact .btn01 {
  width: 3.4rem;
  height: 0.5rem;
  font-size: 0.22rem;
}
@media screen and (max-width: 640px) {
  .sec_flow .flowBox .contact .btn01 {
    font-size: 0.18rem;
    width: calc(100% + 0.39rem);
    margin-left: -0.15rem;
  }
}
.sec_flow .flowBox .contact .btn01::after {
  position: absolute;
  content: "";
  display: block;
  top: 0.1rem;
  left: calc(50% - 1.3rem);
  width: 0.27rem;
  height: 0.28rem;
  background-image: url(../img/flow/contact_icon.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (max-width: 640px) {
  .sec_flow .flowBox .contact .btn01::after {
    top: 0.07rem;
    left: calc(50% - 1.11rem);
    width: 0.27rem;
    height: 0.28rem;
  }
}
.sec_flow .flowBox .itemWrap {
  position: relative;
  display: block;
  padding: 0.5rem 0;
}
@media print, screen and (min-width: 641px) {
  .sec_flow .flowBox .itemWrap {
    display: flex;
  }
}
@media screen and (max-width: 640px) {
  .sec_flow .flowBox .itemWrap {
    padding: 0.3rem 0 0.32rem;
  }
}
.sec_flow .flowBox .itemWrap::before {
  position: absolute;
  content: "";
  top: -0.1rem;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 0.36rem;
  height: 0.2rem;
  background-image: url(../img/flow/flow_deco_arrow.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (max-width: 640px) {
  .sec_flow .flowBox .itemWrap::before {
    top: -0.1rem;
    width: 0.27rem;
    height: 0.15rem;
  }
}
.sec_flow .flowBox .itemWrap .dt_ttl {
  padding-left: 0.45rem;
  width: 2.18rem;
  font-family: source-han-serif-japanese, serif;
  font-style: normal;
  font-weight: 600;
  font-size: 0.22rem;
  letter-spacing: 0.11em;
  box-sizing: border-box;
}
@media screen and (max-width: 640px) {
  .sec_flow .flowBox .itemWrap .dt_ttl {
    font-feature-settings: "palt";
  }
}
@media screen and (max-width: 640px) {
  .sec_flow .flowBox .itemWrap .dt_ttl {
    padding-left: 0.34rem;
    width: 100%;
    font-size: 0.17rem;
    letter-spacing: 0.05em;
  }
}
.sec_flow .flowBox .itemWrap .dt_ttl > span {
  position: relative;
}
.sec_flow .flowBox .itemWrap .dt_ttl > span::before {
  position: absolute;
  content: "";
  top: 0.01rem;
  left: -0.45rem;
  width: 0.35rem;
  height: 0.3rem;
  background-image: url(../img/flow/flow_title_deco_bg.svg);
  background-repeat: no-repeat;
  opacity: 0.5;
}
@media screen and (max-width: 640px) {
  .sec_flow .flowBox .itemWrap .dt_ttl > span::before {
    top: 1px;
    left: -0.33rem;
    width: 0.28rem;
    height: 0.25rem;
  }
}
.sec_flow .flowBox .itemWrap .dt_ttl > span::after {
  position: absolute;
  top: -0.02rem;
  left: -0.34rem;
}
@media screen and (max-width: 640px) {
  .sec_flow .flowBox .itemWrap .dt_ttl > span::after {
    top: 0;
    left: -0.24rem;
  }
}
.sec_flow .flowBox .itemWrap .txt {
  padding-left: 0.9rem;
  width: 5.3rem;
  font-size: 0.15rem;
}
@media screen and (max-width: 640px) {
  .sec_flow .flowBox .itemWrap .txt {
    margin-top: 0.15rem;
    padding-left: 0;
    width: 100%;
    font-size: 0.14rem;
  }
}
.sec_flow .flowBox .itemWrap .txt .txtLink {
  display: block;
  text-decoration: underline;
}
.sec_flow .flowBox .itemWrap._01::before {
  position: static;
  content: unset;
}
.sec_flow .flowBox .itemWrap._01 .dt_ttl > span::after {
  content: "1";
}
.sec_flow .flowBox .itemWrap._02 .dt_ttl > span::after {
  content: "2";
}
.sec_flow .flowBox .itemWrap._03 .dt_ttl > span::after {
  content: "3";
}
.sec_flow .flowBox .itemWrap._04::before {
  position: static;
  content: unset;
}
.sec_flow .flowBox .itemWrap._04 .dt_ttl > span::after {
  content: "4";
}
.sec_flow .flowBox .itemWrap._05 .dt_ttl > span::after {
  content: "5";
}
.sec_flow .flowBox .itemWrap._06 .dt_ttl > span::after {
  content: "6";
}
.sec_flow .flowBox .itemWrap._07::before {
  position: static;
  content: unset;
}
.sec_flow .flowBox .itemWrap._07 .dt_ttl > span::after {
  content: "7";
}
.sec_flow .flowBox .itemWrap._08 .dt_ttl > span::after {
  content: "8";
}
.sec_flow .flowBox .itemWrap._09 .dt_ttl > span::after {
  content: "9";
}
.sec_flow .flowBox .itemWrap._10 .dt_ttl > span::after {
  content: "10";
  left: -0.4rem;
}
@media screen and (max-width: 640px) {
  .sec_flow .flowBox .itemWrap._10 .dt_ttl > span::after {
    left: -0.29rem;
  }
}
.sec_flow .flowBox > .link {
  padding-bottom: 0.6rem;
}
@media screen and (max-width: 640px) {
  .sec_flow .flowBox > .link {
    padding-bottom: 0.05rem;
    margin-top: -0.12rem;
  }
}
.sec_flow .flowBox .btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin: 0 auto;
  width: 2.9rem;
  font-weight: 500;
  font-size: 0.17rem;
  color: #03888e;
}
@media screen and (max-width: 640px) {
  .sec_flow .flowBox .btn {
    width: 100%;
    font-size: 0.14rem;
    letter-spacing: 0.04em;
    margin-left: -0.08rem;
  }
}
.sec_flow .flowBox .btn::before {
  content: "";
  position: absolute;
  top: calc(50% - 0.09rem);
  right: -0.12rem;
  display: block;
  width: 0.16rem;
  height: 0.16rem;
  background-image: url(../img/flow/btn_arrow_green_bottom.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 640px) {
  .sec_flow .flowBox .btn::before {
    right: 0;
  }
}/*# sourceMappingURL=flow.css.map */